Added tests to check that all the layout-qualifier-ids in more than
one layout-qualifier in a single non-variable buffer declaration are
taken into account.

The tests check that this works for non-value layout-qualifier-ids. So
far, there is no value layout-qualifier-ids with which to check.

From the ARB_shading_language_420pack spec:

    "More than one layout qualifier may appear in a single declaration."

Signed-off-by: Andres Gomez <ago...@igalia.com>
---
 ...e-layout-qualifier-in-single-declaration-1.vert | 31 ++++++++++++++++++++++
 ...e-layout-qualifier-in-single-declaration-2.vert | 31 ++++++++++++++++++++++
 2 files changed, 62 insertions(+)
 create mode 100644 
tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-buffer-non-value-layout-qualifier-in-single-declaration-1.vert
 create mode 100644 
tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-buffer-non-value-layout-qualifier-in-single-declaration-2.vert

diff --git 
a/tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-buffer-non-value-layout-qualifier-in-single-declaration-1.vert
 
b/tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-buffer-non-value-layout-qualifier-in-single-declaration-1.vert
new file mode 100644
index 0000000..65e6ac6
--- /dev/null
+++ 
b/tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-buffer-non-value-layout-qualifier-in-single-declaration-1.vert
@@ -0,0 +1,31 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40
+// require_extensions: GL_ARB_shading_language_420pack GL_ARB_enhanced_layouts 
GL_ARB_shader_storage_buffer_object
+// [end config]
+//
+// From the ARB_shading_language_420pack spec:
+//
+//    "More than one layout qualifier may appear in a single declaration."
+//
+// ARB_enhanced_layouts spec says:
+//
+//    "The *align* qualifier can only be used on blocks or block
+//     members, and only for blocks declared with *std140* or *std430*
+//     layouts."
+
+#version 140
+#extension GL_ARB_shading_language_420pack: enable
+#extension GL_ARB_enhanced_layouts : enable
+#extension GL_ARB_shader_storage_buffer_object : enable
+
+layout(std140) layout(row_major) buffer;
+
+layout(align = 32) buffer b {
+       vec4 var1;
+       vec4 var2;
+};
+
+void main()
+{
+}
diff --git 
a/tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-buffer-non-value-layout-qualifier-in-single-declaration-2.vert
 
b/tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-buffer-non-value-layout-qualifier-in-single-declaration-2.vert
new file mode 100644
index 0000000..65e6ac6
--- /dev/null
+++ 
b/tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-buffer-non-value-layout-qualifier-in-single-declaration-2.vert
@@ -0,0 +1,31 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40
+// require_extensions: GL_ARB_shading_language_420pack GL_ARB_enhanced_layouts 
GL_ARB_shader_storage_buffer_object
+// [end config]
+//
+// From the ARB_shading_language_420pack spec:
+//
+//    "More than one layout qualifier may appear in a single declaration."
+//
+// ARB_enhanced_layouts spec says:
+//
+//    "The *align* qualifier can only be used on blocks or block
+//     members, and only for blocks declared with *std140* or *std430*
+//     layouts."
+
+#version 140
+#extension GL_ARB_shading_language_420pack: enable
+#extension GL_ARB_enhanced_layouts : enable
+#extension GL_ARB_shader_storage_buffer_object : enable
+
+layout(std140) layout(row_major) buffer;
+
+layout(align = 32) buffer b {
+       vec4 var1;
+       vec4 var2;
+};
+
+void main()
+{
+}
-- 
2.9.3

_______________________________________________
Piglit mailing list
Piglit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/piglit

Reply via email to