From: Dae Kim Date: Mon, 28 Jan 2019 11:11:09 +0000 (+0000) Subject: Added missing writes to gl_Position in vertex shaders X-Git-Tag: upstream/1.3.5~2185^2~23 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=30a3335775b189e11279bd7bf3442e03be4e101b;p=platform%2Fupstream%2FVK-GL-CTS.git Added missing writes to gl_Position in vertex shaders Some vertex shaders are not writing a value to gl_Position, which can cause unintended run-time behavior (including termination or system instability). Components: Vulkan VK-GL-CTS issue: 1579 Affects: dEQP-VK.binding_model.descriptorset_random.* dEQP-VK.memory_model.message_passing.* Change-Id: I3f2f21f23508bda3062a4480e9fac78748bab32b --- diff --git a/external/vulkancts/modules/vulkan/binding_model/vktBindingDescriptorSetRandomTests.cpp b/external/vulkancts/modules/vulkan/binding_model/vktBindingDescriptorSetRandomTests.cpp index 15e93db..0689313 100644 --- a/external/vulkancts/modules/vulkan/binding_model/vktBindingDescriptorSetRandomTests.cpp +++ b/external/vulkancts/modules/vulkan/binding_model/vktBindingDescriptorSetRandomTests.cpp @@ -700,6 +700,7 @@ void DescriptorSetRandomTestCase::initPrograms (SourceCollections& programCollec " uvec4 color = (accum != 0) ? uvec4(0,0,0,0) : uvec4(1,0,0,1);\n" " imageStore(image0_0, ivec2(gl_VertexIndex % " << DIM << ", gl_VertexIndex / " << DIM << "), color);\n" " gl_PointSize = 1.0f;\n" + " gl_Position = vec4(0.0f, 0.0f, 0.0f, 1.0f);\n" "}\n"; programCollection.glslSources.add("test") << glu::VertexSource(vss.str()); diff --git a/external/vulkancts/modules/vulkan/memory_model/vktMemoryModelMessagePassing.cpp b/external/vulkancts/modules/vulkan/memory_model/vktMemoryModelMessagePassing.cpp index c48728b..6208947 100644 --- a/external/vulkancts/modules/vulkan/memory_model/vktMemoryModelMessagePassing.cpp +++ b/external/vulkancts/modules/vulkan/memory_model/vktMemoryModelMessagePassing.cpp @@ -406,8 +406,9 @@ void MemoryModelTestCase::initPrograms (SourceCollections& programCollection) co " uint bufferCoord = gl_VertexIndex;\n" " uint partnerBufferCoord = subgroupShuffleXor(gl_VertexIndex, gl_SubgroupSize-1);\n" " ivec2 imageCoord = ivec2(gl_VertexIndex % (DIM*NUM_WORKGROUP_EACH_DIM), gl_VertexIndex / (DIM*NUM_WORKGROUP_EACH_DIM));\n" - " ivec2 partnerImageCoord = subgroupShuffleXor(imageCoord, gl_SubgroupSize-1);\n\n" - " gl_PointSize = 1.0f;\n\n"; + " ivec2 partnerImageCoord = subgroupShuffleXor(imageCoord, gl_SubgroupSize-1);\n" + " gl_PointSize = 1.0f;\n" + " gl_Position = vec4(0.0f, 0.0f, 0.0f, 1.0f);\n\n"; break; case STAGE_FRAGMENT: css << @@ -456,8 +457,9 @@ void MemoryModelTestCase::initPrograms (SourceCollections& programCollection) co " uint bufferCoord = globalId.y * DIM*NUM_WORKGROUP_EACH_DIM + globalId.x;\n" " uint partnerBufferCoord = partnerGlobalId.y * DIM*NUM_WORKGROUP_EACH_DIM + partnerGlobalId.x;\n" " ivec2 imageCoord = globalId;\n" - " ivec2 partnerImageCoord = partnerGlobalId;\n\n" - " gl_PointSize = 1.0f;\n\n"; + " ivec2 partnerImageCoord = partnerGlobalId;\n" + " gl_PointSize = 1.0f;\n" + " gl_Position = vec4(0.0f, 0.0f, 0.0f, 1.0f);\n\n"; break; case STAGE_FRAGMENT: css <<