summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndres Gomez <agomez@igalia.com>2016-10-11 17:09:42 +0300
committerAndres Gomez <agomez@igalia.com>2016-11-26 02:39:55 +0200
commitf90afe8a37f1b3995b32bbdd41d0704fb42bc625 (patch)
tree3f183f355797522225f8e2228e5e57432187b582
parent91c00be97e8821298ade9e3459fb04b07fbad05c (diff)
arb_enhanced_layouts: Add more xfb_stride redeclaration tests
From the GL_ARB_enhanced_layouts spec: "While *xfb_stride* can be declared multiple times for the same buffer, it is a compile-time or link-time error to have different values specified for the stride for the same buffer." Reviewed-by: Timothy Arceri <timothy.arceri@collabora.com> Signed-off-by: Andres Gomez <agomez@igalia.com>
-rw-r--r--tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/block-stride-match-global.vert31
-rw-r--r--tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/block-stride-match.vert29
-rw-r--r--tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/block-stride-mismatch-global.vert31
-rw-r--r--tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/block-stride-mismatch.vert29
-rw-r--r--tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/global-stride-match.vert22
-rw-r--r--tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/global-stride-mismatch.vert22
-rw-r--r--tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/named-block-stride-match-global.vert31
-rw-r--r--tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/named-block-stride-match.vert29
-rw-r--r--tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/named-block-stride-mismatch-global.vert31
-rw-r--r--tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/named-block-stride-mismatch.vert29
-rw-r--r--tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-stride-match-global.vert26
-rw-r--r--tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-stride-match.vert24
-rw-r--r--tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-stride-mismatch-global.vert6
-rw-r--r--tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-stride-mismatch.vert6
14 files changed, 340 insertions, 6 deletions
diff --git a/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/block-stride-match-global.vert b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/block-stride-match-global.vert
new file mode 100644
index 000000000..b9fadb43a
--- /dev/null
+++ b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/block-stride-match-global.vert
@@ -0,0 +1,31 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50
+// check_link: true
+// require_extensions: GL_ARB_enhanced_layouts
+// [end config]
+//
+// From the GL_ARB_enhanced_layouts spec:
+//
+// "While *xfb_stride* can be declared multiple times for the same buffer,
+// it is a compile-time or link-time error to have different values
+// specified for the stride for the same buffer."
+
+#version 150
+#extension GL_ARB_enhanced_layouts: require
+
+layout(xfb_stride = 20, xfb_buffer = 0) out;
+
+layout(xfb_buffer = 0) out block1 {
+ vec4 var;
+};
+
+layout(xfb_stride = 20) out block2 {
+ vec4 var2;
+};
+
+void main()
+{
+ var = vec4(1.0);
+ var2 = vec4(0.0);
+}
diff --git a/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/block-stride-match.vert b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/block-stride-match.vert
new file mode 100644
index 000000000..fbc84daa5
--- /dev/null
+++ b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/block-stride-match.vert
@@ -0,0 +1,29 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50
+// check_link: true
+// require_extensions: GL_ARB_enhanced_layouts
+// [end config]
+//
+// From the GL_ARB_enhanced_layouts spec:
+//
+// "While *xfb_stride* can be declared multiple times for the same buffer,
+// it is a compile-time or link-time error to have different values
+// specified for the stride for the same buffer."
+
+#version 150
+#extension GL_ARB_enhanced_layouts: require
+
+layout(xfb_stride = 20) out block1 {
+ vec4 var;
+};
+
+layout(xfb_buffer = 0, xfb_stride = 20) out block2 {
+ vec4 var2;
+};
+
+void main()
+{
+ var = vec4(1.0);
+ var2 = vec4(0.0);
+}
diff --git a/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/block-stride-mismatch-global.vert b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/block-stride-mismatch-global.vert
new file mode 100644
index 000000000..2adfa30e2
--- /dev/null
+++ b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/block-stride-mismatch-global.vert
@@ -0,0 +1,31 @@
+// [config]
+// expect_result: fail
+// glsl_version: 1.50
+// check_link: true
+// require_extensions: GL_ARB_enhanced_layouts
+// [end config]
+//
+// From the GL_ARB_enhanced_layouts spec:
+//
+// "While *xfb_stride* can be declared multiple times for the same buffer,
+// it is a compile-time or link-time error to have different values
+// specified for the stride for the same buffer."
+
+#version 150
+#extension GL_ARB_enhanced_layouts: require
+
+layout(xfb_stride = 20, xfb_buffer = 0) out;
+
+layout(xfb_buffer = 0) out block1 {
+ vec4 var;
+};
+
+layout(xfb_stride = 32) out block2 {
+ vec4 var2;
+};
+
+void main()
+{
+ var = vec4(1.0);
+ var2 = vec4(0.0);
+}
diff --git a/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/block-stride-mismatch.vert b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/block-stride-mismatch.vert
new file mode 100644
index 000000000..baa72e879
--- /dev/null
+++ b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/block-stride-mismatch.vert
@@ -0,0 +1,29 @@
+// [config]
+// expect_result: fail
+// glsl_version: 1.50
+// check_link: true
+// require_extensions: GL_ARB_enhanced_layouts
+// [end config]
+//
+// From the GL_ARB_enhanced_layouts spec:
+//
+// "While *xfb_stride* can be declared multiple times for the same buffer,
+// it is a compile-time or link-time error to have different values
+// specified for the stride for the same buffer."
+
+#version 150
+#extension GL_ARB_enhanced_layouts: require
+
+layout(xfb_stride = 20) out block1 {
+ vec4 var;
+};
+
+layout(xfb_buffer = 0, xfb_stride = 32) out block2 {
+ vec4 var2;
+};
+
+void main()
+{
+ var = vec4(1.0);
+ var2 = vec4(0.0);
+}
diff --git a/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/global-stride-match.vert b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/global-stride-match.vert
new file mode 100644
index 000000000..f24946ea3
--- /dev/null
+++ b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/global-stride-match.vert
@@ -0,0 +1,22 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40
+// check_link: true
+// require_extensions: GL_ARB_enhanced_layouts
+// [end config]
+//
+// From the GL_ARB_enhanced_layouts spec:
+//
+// "While *xfb_stride* can be declared multiple times for the same buffer,
+// it is a compile-time or link-time error to have different values
+// specified for the stride for the same buffer."
+
+#version 140
+#extension GL_ARB_enhanced_layouts: require
+
+layout(xfb_stride = 20) out;
+layout(xfb_buffer = 0, xfb_stride = 20) out;
+
+void main()
+{
+}
diff --git a/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/global-stride-mismatch.vert b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/global-stride-mismatch.vert
new file mode 100644
index 000000000..074034427
--- /dev/null
+++ b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/global-stride-mismatch.vert
@@ -0,0 +1,22 @@
+// [config]
+// expect_result: fail
+// glsl_version: 1.40
+// check_link: true
+// require_extensions: GL_ARB_enhanced_layouts
+// [end config]
+//
+// From the GL_ARB_enhanced_layouts spec:
+//
+// "While *xfb_stride* can be declared multiple times for the same buffer,
+// it is a compile-time or link-time error to have different values
+// specified for the stride for the same buffer."
+
+#version 140
+#extension GL_ARB_enhanced_layouts: require
+
+layout(xfb_stride = 20) out;
+layout(xfb_buffer = 0, xfb_stride = 32) out;
+
+void main()
+{
+}
diff --git a/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/named-block-stride-match-global.vert b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/named-block-stride-match-global.vert
new file mode 100644
index 000000000..2211743db
--- /dev/null
+++ b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/named-block-stride-match-global.vert
@@ -0,0 +1,31 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50
+// check_link: true
+// require_extensions: GL_ARB_enhanced_layouts
+// [end config]
+//
+// From the GL_ARB_enhanced_layouts spec:
+//
+// "While *xfb_stride* can be declared multiple times for the same buffer,
+// it is a compile-time or link-time error to have different values
+// specified for the stride for the same buffer."
+
+#version 150
+#extension GL_ARB_enhanced_layouts: require
+
+layout(xfb_stride = 20, xfb_buffer = 0) out;
+
+layout(xfb_buffer = 0) out block1 {
+ vec4 var;
+} b1;
+
+layout(xfb_stride = 20) out block2 {
+ vec4 var2;
+} b2;
+
+void main()
+{
+ b1.var = vec4(1.0);
+ b2.var2 = vec4(0.0);
+}
diff --git a/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/named-block-stride-match.vert b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/named-block-stride-match.vert
new file mode 100644
index 000000000..0948be661
--- /dev/null
+++ b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/named-block-stride-match.vert
@@ -0,0 +1,29 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50
+// check_link: true
+// require_extensions: GL_ARB_enhanced_layouts
+// [end config]
+//
+// From the GL_ARB_enhanced_layouts spec:
+//
+// "While *xfb_stride* can be declared multiple times for the same buffer,
+// it is a compile-time or link-time error to have different values
+// specified for the stride for the same buffer."
+
+#version 150
+#extension GL_ARB_enhanced_layouts: require
+
+layout(xfb_stride = 20) out block1 {
+ vec4 var;
+} b1;
+
+layout(xfb_buffer = 0, xfb_stride = 20) out block2 {
+ vec4 var2;
+} b2;
+
+void main()
+{
+ b1.var = vec4(1.0);
+ b2.var2 = vec4(0.0);
+}
diff --git a/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/named-block-stride-mismatch-global.vert b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/named-block-stride-mismatch-global.vert
new file mode 100644
index 000000000..bfd59a2b1
--- /dev/null
+++ b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/named-block-stride-mismatch-global.vert
@@ -0,0 +1,31 @@
+// [config]
+// expect_result: fail
+// glsl_version: 1.50
+// check_link: true
+// require_extensions: GL_ARB_enhanced_layouts
+// [end config]
+//
+// From the GL_ARB_enhanced_layouts spec:
+//
+// "While *xfb_stride* can be declared multiple times for the same buffer,
+// it is a compile-time or link-time error to have different values
+// specified for the stride for the same buffer."
+
+#version 150
+#extension GL_ARB_enhanced_layouts: require
+
+layout(xfb_stride = 20, xfb_buffer = 0) out;
+
+layout(xfb_buffer = 0) out block1 {
+ vec4 var;
+} b1;
+
+layout(xfb_stride = 32) out block2 {
+ vec4 var2;
+} b2;
+
+void main()
+{
+ b1.var = vec4(1.0);
+ b2.var2 = vec4(0.0);
+}
diff --git a/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/named-block-stride-mismatch.vert b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/named-block-stride-mismatch.vert
new file mode 100644
index 000000000..8e019fbfe
--- /dev/null
+++ b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/named-block-stride-mismatch.vert
@@ -0,0 +1,29 @@
+// [config]
+// expect_result: fail
+// glsl_version: 1.50
+// check_link: true
+// require_extensions: GL_ARB_enhanced_layouts
+// [end config]
+//
+// From the GL_ARB_enhanced_layouts spec:
+//
+// "While *xfb_stride* can be declared multiple times for the same buffer,
+// it is a compile-time or link-time error to have different values
+// specified for the stride for the same buffer."
+
+#version 150
+#extension GL_ARB_enhanced_layouts: require
+
+layout(xfb_stride = 20) out block1 {
+ vec4 var;
+} b1;
+
+layout(xfb_buffer = 0, xfb_stride = 32) out block2 {
+ vec4 var2;
+} b2;
+
+void main()
+{
+ b1.var = vec4(1.0);
+ b2.var2 = vec4(0.0);
+}
diff --git a/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-stride-match-global.vert b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-stride-match-global.vert
new file mode 100644
index 000000000..3c8bdcfdf
--- /dev/null
+++ b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-stride-match-global.vert
@@ -0,0 +1,26 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40
+// check_link: true
+// require_extensions: GL_ARB_enhanced_layouts
+// [end config]
+//
+// From the GL_ARB_enhanced_layouts spec:
+//
+// "While *xfb_stride* can be declared multiple times for the same buffer,
+// it is a compile-time or link-time error to have different values
+// specified for the stride for the same buffer."
+
+#version 140
+#extension GL_ARB_enhanced_layouts: require
+
+layout(xfb_stride = 20, xfb_buffer = 0) out;
+
+layout(xfb_buffer = 0) out vec4 var;
+layout(xfb_stride = 20) out vec4 var2;
+
+void main()
+{
+ var = vec4(1.0);
+ var2 = vec4(0.0);
+}
diff --git a/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-stride-match.vert b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-stride-match.vert
new file mode 100644
index 000000000..17bf2e34a
--- /dev/null
+++ b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-stride-match.vert
@@ -0,0 +1,24 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40
+// check_link: true
+// require_extensions: GL_ARB_enhanced_layouts
+// [end config]
+//
+// From the GL_ARB_enhanced_layouts spec:
+//
+// "While *xfb_stride* can be declared multiple times for the same buffer,
+// it is a compile-time or link-time error to have different values
+// specified for the stride for the same buffer."
+
+#version 140
+#extension GL_ARB_enhanced_layouts: require
+
+layout(xfb_stride = 20) out vec4 var;
+layout(xfb_buffer = 0, xfb_stride = 20) out vec4 var2;
+
+void main()
+{
+ var = vec4(1.0);
+ var2 = vec4(0.0);
+}
diff --git a/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-stride-mismatch-global.vert b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-stride-mismatch-global.vert
index b8184ba31..ad05b6a55 100644
--- a/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-stride-mismatch-global.vert
+++ b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-stride-mismatch-global.vert
@@ -8,8 +8,8 @@
// From the GL_ARB_enhanced_layouts spec:
//
// "While *xfb_stride* can be declared multiple times for the same buffer,
-// it is a compile-time or link-time error to have different values
-// specified for the stride for the same buffer."
+// it is a compile-time or link-time error to have different values
+// specified for the stride for the same buffer."
#version 140
#extension GL_ARB_enhanced_layouts: require
@@ -17,7 +17,7 @@
layout(xfb_stride = 20, xfb_buffer = 0) out;
layout(xfb_buffer = 0) out vec4 var;
-layout(xfb_offset = 16, xfb_stride = 32) out vec4 var2;
+layout(xfb_stride = 32) out vec4 var2;
void main()
{
diff --git a/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-stride-mismatch.vert b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-stride-mismatch.vert
index 55fb2af16..ee03d5cee 100644
--- a/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-stride-mismatch.vert
+++ b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-stride-mismatch.vert
@@ -8,14 +8,14 @@
// From the GL_ARB_enhanced_layouts spec:
//
// "While *xfb_stride* can be declared multiple times for the same buffer,
-// it is a compile-time or link-time error to have different values
-// specified for the stride for the same buffer."
+// it is a compile-time or link-time error to have different values
+// specified for the stride for the same buffer."
#version 140
#extension GL_ARB_enhanced_layouts: require
layout(xfb_stride = 20) out vec4 var;
-layout(xfb_offset = 16, xfb_stride = 32) out vec4 var2;
+layout(xfb_buffer = 0, xfb_stride = 32) out vec4 var2;
void main()
{