Don't use layout qualifiers on function parameters
authorAntia Puentes <apuentes@igalia.com>
Mon, 3 Jul 2017 11:43:34 +0000 (13:43 +0200)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Sun, 16 Jul 2017 12:54:03 +0000 (08:54 -0400)
- From the GLSL 4.5 specification, revision 7:
"Layout qualifiers cannot be used on formal function parameters,
and layout qualification is not included in parameter matching."

Affects:

KHR-GL45.shader_image_load_store.basic-glsl-misc

Components: OpenGL

VK-GL-CTS issue: 551

Change-Id: I4b67ad40ee48e150068ad1c2f0292c739bf657fd

external/openglcts/modules/gl/gl4cShaderImageLoadStoreTests.cpp

index c211739..e11b9e2 100644 (file)
@@ -4710,12 +4710,11 @@ class BasicGLSLMisc : public ShaderImageLoadStoreBase
                        "#version 420 core" NL "layout(location = 0) out vec4 o_color;" NL
                        "layout(rgba32f) coherent volatile restrict uniform image2D g_image_layer0;" NL
                        "layout(rgba32f) volatile uniform image2D g_image_layer1;" NL
-                       "vec4 Load(layout(rgba32f) volatile image2D image, ivec2 coord) {" NL "  return imageLoad(image, coord);" NL
-                       "}" NL "void main() {" NL "  ivec2 coord = ivec2(gl_FragCoord.xy);" NL
+                       "void main() {" NL "  ivec2 coord = ivec2(gl_FragCoord.xy);" NL
                        "  imageStore(g_image_layer0, coord, vec4(1.0));" NL "  memoryBarrier();" NL
                        "  imageStore(g_image_layer0, coord, vec4(2.0));" NL "  memoryBarrier();" NL
                        "  imageStore(g_image_layer0, coord, vec4(0.0, 1.0, 0.0, 1.0));" NL "  memoryBarrier();" NL
-                       "  o_color = imageLoad(g_image_layer0, coord) + Load(g_image_layer1, coord);" NL "}";
+                       "  o_color = imageLoad(g_image_layer0, coord) + imageLoad(g_image_layer1, coord);" NL "}";
                m_program = BuildProgram(src_vs, NULL, NULL, NULL, src_fs);
 
                CreateFullViewportQuad(&m_vao, &m_vbo, NULL);