[Piglit] [PATCH 2/2] arb_enhanced_layouts: add more xfb_stride compile tests

Timothy Arceri timothy.arceri at collabora.com
Thu May 19 01:07:58 UTC 2016


---
 .../xfb_stride/block-stride-overflow.vert          | 24 ++++++++++++++++++++
 .../xfb_stride/named-block-stride-overflow.vert    | 24 ++++++++++++++++++++
 .../xfb_stride/variable-implicit-too-large.vert    | 22 ++++++++++++++++++
 .../variable-stride-mismatch-global.vert           | 26 ++++++++++++++++++++++
 .../xfb_stride/variable-stride-mismatch.vert       | 24 ++++++++++++++++++++
 .../xfb_stride/variable-stride-overflow.vert       | 24 ++++++++++++++++++++
 6 files changed, 144 insertions(+)
 create mode 100644 tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/block-stride-overflow.vert
 create mode 100644 tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/named-block-stride-overflow.vert
 create mode 100644 tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-implicit-too-large.vert
 create mode 100644 tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-stride-mismatch-global.vert
 create mode 100644 tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-stride-mismatch.vert
 create mode 100644 tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-stride-overflow.vert

diff --git a/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/block-stride-overflow.vert b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/block-stride-overflow.vert
new file mode 100644
index 0000000..2560baf
--- /dev/null
+++ b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/block-stride-overflow.vert
@@ -0,0 +1,24 @@
+// [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:
+//
+//    "It is a compile-time or link-time error to have any *xfb_offset*
+//    that overflows *xfb_stride*, whether stated on declarations before or
+//    after the *xfb_stride*, or in different compilation units."
+
+#version 150
+#extension GL_ARB_enhanced_layouts: require
+
+layout (xfb_offset = 16, xfb_stride = 20) out block {
+  vec4 var;
+};
+
+void main()
+{
+  var = vec4(1.0);
+}
diff --git a/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/named-block-stride-overflow.vert b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/named-block-stride-overflow.vert
new file mode 100644
index 0000000..4558bea
--- /dev/null
+++ b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/named-block-stride-overflow.vert
@@ -0,0 +1,24 @@
+// [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:
+//
+//    "It is a compile-time or link-time error to have any *xfb_offset*
+//    that overflows *xfb_stride*, whether stated on declarations before or
+//    after the *xfb_stride*, or in different compilation units."
+
+#version 150
+#extension GL_ARB_enhanced_layouts: require
+
+layout (xfb_offset = 16, xfb_stride = 20) out block {
+  vec4 var;
+} b1;
+
+void main()
+{
+  b1.var = vec4(1.0);
+}
diff --git a/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-implicit-too-large.vert b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-implicit-too-large.vert
new file mode 100644
index 0000000..f3b1db0
--- /dev/null
+++ b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-implicit-too-large.vert
@@ -0,0 +1,22 @@
+// [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:
+//
+//    "The resulting stride (implicit or explicit) must be less than or equal
+//    to the implementation-dependent constant
+//    gl_MaxTransformFeedbackInterleavedComponents."
+
+#version 150
+#extension GL_ARB_enhanced_layouts: require
+
+layout(xfb_offset = (gl_MaxTransformFeedbackInterleavedComponents * 4) - 12) out vec4 var;
+
+void main()
+{
+  var = vec4(1.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
new file mode 100644
index 0000000..b8184ba
--- /dev/null
+++ b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-stride-mismatch-global.vert
@@ -0,0 +1,26 @@
+// [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, xfb_buffer = 0) out;
+
+layout(xfb_buffer = 0) out vec4 var;
+layout(xfb_offset = 16, xfb_stride = 32) 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.vert b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-stride-mismatch.vert
new file mode 100644
index 0000000..55fb2af
--- /dev/null
+++ b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-stride-mismatch.vert
@@ -0,0 +1,24 @@
+// [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 vec4 var;
+layout(xfb_offset = 16, xfb_stride = 32) 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-overflow.vert b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-stride-overflow.vert
new file mode 100644
index 0000000..80374d0
--- /dev/null
+++ b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-stride-overflow.vert
@@ -0,0 +1,24 @@
+// [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:
+//
+//    "It is a compile-time or link-time error to have any *xfb_offset*
+//    that overflows *xfb_stride*, whether stated on declarations before or
+//    after the *xfb_stride*, or in different compilation units."
+
+#version 140
+#extension GL_ARB_enhanced_layouts: require
+
+layout(xfb_stride = 20) out vec4 var;
+layout(xfb_offset = 16) out vec4 var2;
+
+void main()
+{
+  var = vec4(1.0);
+  var2 = vec4(0.0);
+}
-- 
2.5.5



More information about the Piglit mailing list