[Piglit] [PATCH 09/12] arb_shading_language_420pack: Test that qualifiers can be ordered arbitrarily.

Matt Turner mattst88 at gmail.com
Thu Jul 18 13:35:05 PDT 2013


---
 .../qualifiers/relaxed-qualifier-ordering.vert     | 53 ++++++++++++++++++++++
 1 file changed, 53 insertions(+)
 create mode 100644 tests/spec/arb_shading_language_420pack/compiler/qualifiers/relaxed-qualifier-ordering.vert

diff --git a/tests/spec/arb_shading_language_420pack/compiler/qualifiers/relaxed-qualifier-ordering.vert b/tests/spec/arb_shading_language_420pack/compiler/qualifiers/relaxed-qualifier-ordering.vert
new file mode 100644
index 0000000..07d88f5
--- /dev/null
+++ b/tests/spec/arb_shading_language_420pack/compiler/qualifiers/relaxed-qualifier-ordering.vert
@@ -0,0 +1,53 @@
+/* [config]
+ * expect_result: pass
+ * glsl_version: 1.30
+ * require_extensions: GL_ARB_shading_language_420pack
+ * [end config]
+ *
+ * From the GL_ARB_shading_language_420pack spec:
+ *
+ *     "When multiple qualifiers are present in a declaration, they may appear in
+ *      any order, but they must all appear before the type. The layout qualifier
+ *      is the only qualifier that can appear more than once. Further, a
+ *      declaration can have at most one storage qualifier, at most one auxiliary
+ *      storage qualifier, and at most one interpolation qualifier. Multiple
+ *      memory qualifiers can be used. Any violation of these rules will cause a
+ *      compile-time error."
+ *
+ * Test that interpolation, auxiliary, and storage qualifiers may be ordered
+ * arbitrarily.
+ */
+#version 130
+#extension GL_ARB_shading_language_420pack: enable
+
+// storage interpolation
+out flat float s_i;
+
+// interpolation storage
+flat out float i_s;
+
+// storage auxiliary
+out centroid float s_a;
+
+// auxiliary storage
+centroid out float a_s;
+
+// Cannot test auxiliary interpolation without a storage qualifier.
+
+// auxiliary interpolation storage
+centroid flat out float a_i_s;
+
+// auxiliary storage interpolation
+centroid out flat float a_s_i;
+
+// interpolation auxiliary storage
+flat centroid out float i_a_s;
+
+// interpolation storage auxiliary
+flat out centroid float i_s_a;
+
+// storage interpolation auxiliary
+out flat centroid float s_i_a;
+
+// storage auxiliary interpolation
+out centroid flat float s_a_i;
-- 
1.8.1.5



More information about the Piglit mailing list