[Piglit] [PATCH V3] arb_shading_language_420pack: test multiple layout qualifiers on the same line

Timothy Arceri timothy.arceri at collabora.com
Thu Jan 14 17:40:20 PST 2016


Test results:
Nvidia GeForce 840M - NVIDIA 352.41

The results from the Nvidia binary are a little all over the place with these
tests, most of the tests with arb_shading_language_420pack enabled fail but
if the GLSL version is changed to 4.20 they pass.
The only tests that pass with arb_shading_language_420pack enabled are the
global tests but that seems to be because they do not detect the duplicates
and fail the negative tests.

Mesa 11.2 (dev):
The negative tests correctly pass, the possitive tests fail.

V3: drop tests that should target ARB_enhanced_layouts
V2: fix version mismatch in location tests, and prefix variable with out
in global tests

Cc: Matt Turner <mattst88 at gmail.com>
---
 ...e-qualifier-in-single-declaration-420-pack.vert | 22 ++++++++++++++++++
 ...ualifier-in-single-declaration-no-420-pack.vert | 21 +++++++++++++++++
 ...e-qualifier-in-single-declaration-420-pack.geom | 25 ++++++++++++++++++++
 ...ualifier-in-single-declaration-no-420-pack.geom | 24 +++++++++++++++++++
 ...fier-in-single-global-declaration-420-pack.geom | 27 ++++++++++++++++++++++
 ...r-in-single-global-declaration-no-420-pack.geom | 26 +++++++++++++++++++++
 6 files changed, 145 insertions(+)
 create mode 100644 tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-location-multiple-qualifier-in-single-declaration-420-pack.vert
 create mode 100644 tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-location-multiple-qualifier-in-single-declaration-no-420-pack.vert
 create mode 100644 tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-stream-multiple-qualifier-in-single-declaration-420-pack.geom
 create mode 100644 tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-stream-multiple-qualifier-in-single-declaration-no-420-pack.geom
 create mode 100644 tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-stream-multiple-qualifier-in-single-global-declaration-420-pack.geom
 create mode 100644 tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-stream-multiple-qualifier-in-single-global-declaration-no-420-pack.geom

diff --git a/tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-location-multiple-qualifier-in-single-declaration-420-pack.vert b/tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-location-multiple-qualifier-in-single-declaration-420-pack.vert
new file mode 100644
index 0000000..9551476
--- /dev/null
+++ b/tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-location-multiple-qualifier-in-single-declaration-420-pack.vert
@@ -0,0 +1,22 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40
+// require_extensions: GL_ARB_separate_shader_objects GL_ARB_shading_language_420pack
+// check_link: false
+// [end config]
+//
+// From the ARB_shading_language_420pack spec:
+//
+//   "More than one layout qualifier may appear in a single declaration. If
+//   the same layout-qualifier-name occurs in multiple layout qualifiers for
+//   the same declaration, the last one overrides the former ones."
+
+#version 140
+#extension GL_ARB_separate_shader_objects : enable
+#extension GL_ARB_shading_language_420pack: enable
+
+layout(location=2) layout(location=1) out vec3 var;
+
+void main()
+{
+}
diff --git a/tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-location-multiple-qualifier-in-single-declaration-no-420-pack.vert b/tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-location-multiple-qualifier-in-single-declaration-no-420-pack.vert
new file mode 100644
index 0000000..e5cbeb4
--- /dev/null
+++ b/tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-location-multiple-qualifier-in-single-declaration-no-420-pack.vert
@@ -0,0 +1,21 @@
+// [config]
+// expect_result: fail
+// glsl_version: 1.40
+// require_extensions: GL_ARB_separate_shader_objects
+// check_link: false
+// [end config]
+//
+// From the ARB_shading_language_420pack spec:
+//
+//   "More than one layout qualifier may appear in a single declaration. If
+//   the same layout-qualifier-name occurs in multiple layout qualifiers for
+//   the same declaration, the last one overrides the former ones."
+
+#version 140
+#extension GL_ARB_separate_shader_objects : enable
+
+layout(location=2) layout(location=1) out vec3 var;
+
+void main()
+{
+}
diff --git a/tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-stream-multiple-qualifier-in-single-declaration-420-pack.geom b/tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-stream-multiple-qualifier-in-single-declaration-420-pack.geom
new file mode 100644
index 0000000..bd66b31
--- /dev/null
+++ b/tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-stream-multiple-qualifier-in-single-declaration-420-pack.geom
@@ -0,0 +1,25 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50
+// require_extensions: GL_ARB_gpu_shader5 GL_ARB_shading_language_420pack
+// check_link: false
+// [end config]
+//
+// From the ARB_shading_language_420pack spec:
+//
+//   "More than one layout qualifier may appear in a single declaration. If
+//   the same layout-qualifier-name occurs in multiple layout qualifiers for
+//   the same declaration, the last one overrides the former ones."
+
+#version 150
+#extension GL_ARB_gpu_shader5 : enable
+#extension GL_ARB_shading_language_420pack: enable
+
+layout(points) in;
+layout(points) out;
+
+layout(stream=2) layout(stream=1) out vec3 var;
+
+void main()
+{
+}
diff --git a/tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-stream-multiple-qualifier-in-single-declaration-no-420-pack.geom b/tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-stream-multiple-qualifier-in-single-declaration-no-420-pack.geom
new file mode 100644
index 0000000..d1af2b4
--- /dev/null
+++ b/tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-stream-multiple-qualifier-in-single-declaration-no-420-pack.geom
@@ -0,0 +1,24 @@
+// [config]
+// expect_result: fail
+// glsl_version: 1.50
+// require_extensions: GL_ARB_gpu_shader5
+// check_link: false
+// [end config]
+//
+// From the ARB_shading_language_420pack spec:
+//
+//   "More than one layout qualifier may appear in a single declaration. If
+//   the same layout-qualifier-name occurs in multiple layout qualifiers for
+//   the same declaration, the last one overrides the former ones."
+
+#version 150
+#extension GL_ARB_gpu_shader5 : enable
+
+layout(points) in;
+layout(points) out;
+
+layout(stream=2) layout(stream=1) out vec3 var;
+
+void main()
+{
+}
diff --git a/tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-stream-multiple-qualifier-in-single-global-declaration-420-pack.geom b/tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-stream-multiple-qualifier-in-single-global-declaration-420-pack.geom
new file mode 100644
index 0000000..1d2aa86
--- /dev/null
+++ b/tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-stream-multiple-qualifier-in-single-global-declaration-420-pack.geom
@@ -0,0 +1,27 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50
+// require_extensions: GL_ARB_gpu_shader5 GL_ARB_shading_language_420pack
+// check_link: false
+// [end config]
+//
+// From the ARB_shading_language_420pack spec:
+//
+//   "More than one layout qualifier may appear in a single declaration. If
+//   the same layout-qualifier-name occurs in multiple layout qualifiers for
+//   the same declaration, the last one overrides the former ones."
+
+#version 150
+#extension GL_ARB_gpu_shader5 : enable
+#extension GL_ARB_shading_language_420pack: enable
+
+layout(points) in;
+layout(points) out;
+
+layout(stream=2) layout(stream=1) out;
+
+out vec3 var;
+
+void main()
+{
+}
diff --git a/tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-stream-multiple-qualifier-in-single-global-declaration-no-420-pack.geom b/tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-stream-multiple-qualifier-in-single-global-declaration-no-420-pack.geom
new file mode 100644
index 0000000..171a319
--- /dev/null
+++ b/tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-stream-multiple-qualifier-in-single-global-declaration-no-420-pack.geom
@@ -0,0 +1,26 @@
+// [config]
+// expect_result: fail
+// glsl_version: 1.50
+// require_extensions: GL_ARB_gpu_shader5
+// check_link: false
+// [end config]
+//
+// From the ARB_shading_language_420pack spec:
+//
+//   "More than one layout qualifier may appear in a single declaration. If
+//   the same layout-qualifier-name occurs in multiple layout qualifiers for
+//   the same declaration, the last one overrides the former ones."
+
+#version 150
+#extension GL_ARB_gpu_shader5 : enable
+
+layout(points) in;
+layout(points) out;
+
+layout(stream=2) layout(stream=1) out;
+
+out vec3 var;
+
+void main()
+{
+}
-- 
2.4.3



More information about the Piglit mailing list