Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Change-Id: I3a118287f4387c798fb2beb82113029308f0762b
diff --git a/external/vulkancts/modules/vulkan/image/vktImageCompressionTranscodingSupport.cpp b/external/vulkancts/modules/vulkan/image/vktImageCompressionTranscodingSupport.cpp
index 1bf5afa..fe84f7d 100644
--- a/external/vulkancts/modules/vulkan/image/vktImageCompressionTranscodingSupport.cpp
+++ b/external/vulkancts/modules/vulkan/image/vktImageCompressionTranscodingSupport.cpp
@@ -2615,7 +2615,7 @@
<< "layout (binding = 1, "<<formatQualifierStr<<") writeonly uniform "<<imageTypeStr<<" u_image1;\n\n"
<< "void main (void)\n"
<< "{\n"
- << " const vec2 pixels_resolution = vec2(gl_NumWorkGroups.x - 1, gl_NumWorkGroups.y - 1);\n"
+ << " const vec2 pixels_resolution = vec2(gl_NumWorkGroups.x, gl_NumWorkGroups.y);\n"
<< coordDefinitions[imageTypeIndex]
<< " imageStore(u_image1, pos, texture(u_image0, coord));\n"
<< "}\n";
@@ -2742,16 +2742,16 @@
{
// IMAGE_TYPE_1D
" const highp int out_pos = int(gl_FragCoord.x);\n"
- " const highp int pixels_resolution = textureSize(u_imageIn, 0) - 1;\n"
- " const highp float in_pos = float(out_pos) / pixels_resolution;\n",
+ " const highp float pixels_resolution = textureSize(u_imageIn, 0);\n"
+ " const highp float in_pos = gl_FragCoord.x / pixels_resolution;\n",
// IMAGE_TYPE_2D
" const ivec2 out_pos = ivec2(gl_FragCoord.xy);\n"
- " const ivec2 pixels_resolution = ivec2(textureSize(u_imageIn, 0)) - ivec2(1,1);\n"
- " const vec2 in_pos = vec2(out_pos) / vec2(pixels_resolution);\n",
+ " const vec2 pixels_resolution = vec2(textureSize(u_imageIn, 0));\n"
+ " const vec2 in_pos = vec2(gl_FragCoord.xy) / vec2(pixels_resolution);\n",
// IMAGE_TYPE_3D
" const ivec3 out_pos = ivec3(gl_FragCoord.xy, 0);\n"
- " const ivec3 pixels_resolution = ivec3(textureSize(u_imageIn, 0)) - ivec3(1,1,1);\n"
- " const vec3 in_pos = vec3(out_pos) / vec3(pixels_resolution.xy, 1.0);\n",
+ " const vec3 pixels_resolution = vec3(textureSize(u_imageIn, 0));\n"
+ " const vec3 in_pos = vec3(gl_FragCoord.xy, 0) / vec3(pixels_resolution.xy, 1.0);\n",
};
src << glu::getGLSLVersionDeclaration(glu::GLSL_VERSION_450) << "\n\n"
@@ -2786,28 +2786,28 @@
{
// IMAGE_TYPE_1D
" const highp int out_pos = int(gl_FragCoord.x);\n"
- " const highp int pixels_resolution0 = textureSize(u_imageIn0, 0) - 1;\n"
- " const highp float in_pos0 = float(out_pos) / pixels_resolution0;\n",
+ " const highp float pixels_resolution0 = textureSize(u_imageIn0, 0);\n"
+ " const highp float in_pos0 = gl_FragCoord.x / pixels_resolution0;\n",
// IMAGE_TYPE_2D
" const ivec2 out_pos = ivec2(gl_FragCoord.xy);\n"
- " const ivec2 pixels_resolution0 = ivec2(textureSize(u_imageIn0, 0)) - ivec2(1,1);\n"
- " const vec2 in_pos0 = vec2(out_pos) / vec2(pixels_resolution0);\n",
+ " const vec2 pixels_resolution0 = vec2(textureSize(u_imageIn0, 0));\n"
+ " const vec2 in_pos0 = vec2(gl_FragCoord.xy) / vec2(pixels_resolution0);\n",
// IMAGE_TYPE_3D
" const ivec3 out_pos = ivec3(ivec2(gl_FragCoord.xy), 0);\n"
- " const ivec3 pixels_resolution0 = ivec3(textureSize(u_imageIn0, 0)) - ivec3(1,1,1);\n"
- " const vec3 in_pos0 = vec3(out_pos) / vec3(pixels_resolution0);\n",
+ " const vec3 pixels_resolution0 = vec3(textureSize(u_imageIn0, 0));\n"
+ " const vec3 in_pos0 = vec3(gl_FragCoord.xy, 0) / vec3(pixels_resolution0.xy, 1.0);\n",
};
const char* pos1Definitions[3] =
{
// IMAGE_TYPE_1D
- " const highp int pixels_resolution1 = textureSize(u_imageIn1, 0) - 1;\n"
- " const highp float in_pos1 = float(out_pos) / pixels_resolution1;\n",
+ " const highp float pixels_resolution1 = textureSize(u_imageIn1, 0);\n"
+ " const highp float in_pos1 = gl_FragCoord.x / pixels_resolution1;\n",
// IMAGE_TYPE_2D
- " const ivec2 pixels_resolution1 = ivec2(textureSize(u_imageIn1, 0)) - ivec2(1,1);\n"
- " const vec2 in_pos1 = vec2(out_pos) / vec2(pixels_resolution1);\n",
+ " const vec2 pixels_resolution1 = vec2(textureSize(u_imageIn1, 0));\n"
+ " const vec2 in_pos1 = vec2(gl_FragCoord.xy) / vec2(pixels_resolution1);\n",
// IMAGE_TYPE_3D
- " const ivec3 pixels_resolution1 = ivec3(textureSize(u_imageIn1, 0)) - ivec3(1,1,1);\n"
- " const vec3 in_pos1 = vec3(out_pos) / vec3(pixels_resolution1);\n",
+ " const vec3 pixels_resolution1 = vec3(textureSize(u_imageIn1, 0));\n"
+ " const vec3 in_pos1 = vec3(gl_FragCoord.xy, 0) / vec3(pixels_resolution1.xy, 1.0);\n",
};
src << glu::getGLSLVersionDeclaration(glu::GLSL_VERSION_450) << "\n\n"
diff --git a/external/vulkancts/modules/vulkan/image/vktImageTranscodingSupportTests.cpp b/external/vulkancts/modules/vulkan/image/vktImageTranscodingSupportTests.cpp
index 43650a8..1ff0905 100644
--- a/external/vulkancts/modules/vulkan/image/vktImageTranscodingSupportTests.cpp
+++ b/external/vulkancts/modules/vulkan/image/vktImageTranscodingSupportTests.cpp
@@ -793,8 +793,8 @@
<< "void main (void)\n"
<< "{\n"
<< " const ivec2 out_pos = ivec2(gl_FragCoord.xy);\n"
- << " const ivec2 pixels_resolution = ivec2(textureSize(u_imageIn, 0)) - ivec2(1,1);\n"
- << " const vec2 in_pos = vec2(out_pos) / vec2(pixels_resolution);\n"
+ << " const vec2 pixels_resolution = vec2(textureSize(u_imageIn, 0));\n"
+ << " const vec2 in_pos = vec2(gl_FragCoord.xy) / vec2(pixels_resolution);\n"
<< " imageStore(u_imageOut, out_pos, texture(u_imageIn, in_pos));\n"
<< "}\n";
diff --git a/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmInstructionTests.cpp b/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmInstructionTests.cpp
index 623f4c1..44901f0 100644
--- a/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmInstructionTests.cpp
+++ b/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmInstructionTests.cpp
@@ -9920,12 +9920,14 @@
const string spvCapabilities = string("OpCapability StorageUniformBufferBlock16\n") + (nanSupported ? "OpCapability SignedZeroInfNanPreserve\n" : "");
const string spvExtensions = string("OpExtension \"SPV_KHR_16bit_storage\"\n") + (nanSupported ? "OpExtension \"SPV_KHR_float_controls\"\n" : "");
const string spvExecutionMode = nanSupported ? "OpExecutionMode %BP_main SignedZeroInfNanPreserve 16\n" : "";
- const deUint32 numDataPoints = 16;
- const vector<deFloat16> float16Data = getFloat16s(rnd, numDataPoints);
- const vector<deFloat16> float16Data1 = squarize(float16Data, 0);
- const vector<deFloat16> float16Data2 = squarize(float16Data, 1);
- const vector<deFloat16> float16DataVec1 = squarizeVector(float16Data, 0);
- const vector<deFloat16> float16DataVec2 = squarizeVector(float16Data, 1);
+ const deUint32 numDataPointsScalar = 16;
+ const deUint32 numDataPointsVector = 14;
+ const vector<deFloat16> float16DataScalar = getFloat16s(rnd, numDataPointsScalar);
+ const vector<deFloat16> float16DataVector = getFloat16s(rnd, numDataPointsVector);
+ const vector<deFloat16> float16Data1 = squarize(float16DataScalar, 0); // Total Size: square(sizeof(float16DataScalar))
+ const vector<deFloat16> float16Data2 = squarize(float16DataScalar, 1);
+ const vector<deFloat16> float16DataVec1 = squarizeVector(float16DataVector, 0); // Total Size: 2 * (square(square(sizeof(float16DataVector))))
+ const vector<deFloat16> float16DataVec2 = squarizeVector(float16DataVector, 1);
const vector<deFloat16> float16OutDummy (float16Data1.size(), 0);
const vector<deFloat16> float16OutVecDummy (float16DataVec1.size(), 0);