aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndres Gomez <agomez@igalia.com>2016-10-25 17:46:37 +0300
committerAndres Gomez <agomez@igalia.com>2016-11-26 02:39:55 +0200
commitd8d611d2f071619a31274410e5b5ec789fd046c3 (patch)
treece1424f1930e9acb39d1ed2670e3b3103fa01cd1
parent86e56903fdb19e6940cd7f9b8bd8df587f870bc2 (diff)
downloadpiglit-d8d611d2f071619a31274410e5b5ec789fd046c3.tar.gz
arb_shading_language_420pack: Add multiple layout qualifiers in a single uniform declaration tests
This adds tests to check that all layout-qualifier-ids are taken into account when spread across multiple layout-qualifiers for a single global uniform declaration. 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." Reviewed-by: Timothy Arceri <timothy.arceri@collabora.com> Signed-off-by: Andres Gomez <agomez@igalia.com>
-rw-r--r--tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-uniform-non-value-layout-qualifier-in-single-declaration-1.vert30
-rw-r--r--tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-uniform-non-value-layout-qualifier-in-single-declaration-2.vert30
2 files changed, 60 insertions, 0 deletions
diff --git a/tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-uniform-non-value-layout-qualifier-in-single-declaration-1.vert b/tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-uniform-non-value-layout-qualifier-in-single-declaration-1.vert
new file mode 100644
index 000000000..947444fa2
--- /dev/null
+++ b/tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-uniform-non-value-layout-qualifier-in-single-declaration-1.vert
@@ -0,0 +1,30 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40
+// require_extensions: GL_ARB_shading_language_420pack GL_ARB_enhanced_layouts
+// [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
+
+layout(std140) layout(row_major) uniform;
+
+layout(align = 32) uniform block {
+ vec4 var1;
+ vec4 var2;
+};
+
+void main()
+{
+}
diff --git a/tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-uniform-non-value-layout-qualifier-in-single-declaration-2.vert b/tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-uniform-non-value-layout-qualifier-in-single-declaration-2.vert
new file mode 100644
index 000000000..c82547adc
--- /dev/null
+++ b/tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-uniform-non-value-layout-qualifier-in-single-declaration-2.vert
@@ -0,0 +1,30 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40
+// require_extensions: GL_ARB_shading_language_420pack GL_ARB_enhanced_layouts
+// [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
+
+layout(row_major) layout(std140) uniform;
+
+layout(align = 32) uniform block {
+ vec4 var1;
+ vec4 var2;
+};
+
+void main()
+{
+}