summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimothy Arceri <t_arceri@yahoo.com.au>2015-11-06 10:08:07 +1100
committerTimothy Arceri <t_arceri@yahoo.com.au>2015-11-07 10:16:30 +1100
commitf3c2631bced02413234fa85cc408aa8767576848 (patch)
tree1d59c7cee24296b830c2e29050a1342b4c3c5d98
parentc7732c6d05769f3958a53591bb7afb395c5fb01b (diff)
arb_explicit_uniform_location: add more qualifier tests for subroutines
Test results: layout-subroutine-index-uniform.vert: Nvidia GeForce 840M - NVIDIA 346.47: pass Mesa 11.1-dev - pass layout-subroutine-location-function.vert: Nvidia GeForce 840M - NVIDIA 346.47: pass Mesa 11.1-dev - segfault layout-subroutine-location.vert: Nvidia GeForce 840M - NVIDIA 346.47: pass Mesa 11.1-dev - pass V2: It turns out there is what seems an artifical limitation where either GL_ARB_explicit_attrib_location or GLSL 330 is required for this extension. As Mesa implements this restriction for uniforms this is now added to the uniform tests. Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
-rw-r--r--tests/spec/arb_explicit_uniform_location/compiler/layout-subroutine-index-uniform.vert15
-rw-r--r--tests/spec/arb_explicit_uniform_location/compiler/layout-subroutine-location-function.vert14
-rw-r--r--tests/spec/arb_explicit_uniform_location/compiler/layout-subroutine-location.vert15
3 files changed, 44 insertions, 0 deletions
diff --git a/tests/spec/arb_explicit_uniform_location/compiler/layout-subroutine-index-uniform.vert b/tests/spec/arb_explicit_uniform_location/compiler/layout-subroutine-index-uniform.vert
new file mode 100644
index 000000000..36a27b3ad
--- /dev/null
+++ b/tests/spec/arb_explicit_uniform_location/compiler/layout-subroutine-index-uniform.vert
@@ -0,0 +1,15 @@
+// [config]
+// expect_result: fail
+// glsl_version: 1.50
+// require_extensions: GL_ARB_shader_subroutine GL_ARB_explicit_uniform_location GL_ARB_explicit_attrib_location
+// [end config]
+
+#version 150
+#extension GL_ARB_shader_subroutine: require
+#extension GL_ARB_explicit_uniform_location: require
+#extension GL_ARB_explicit_attrib_location: require
+
+subroutine void func_type();
+
+/* A subroutine uniform for the above type */
+layout(index = 2) subroutine uniform func_type f;
diff --git a/tests/spec/arb_explicit_uniform_location/compiler/layout-subroutine-location-function.vert b/tests/spec/arb_explicit_uniform_location/compiler/layout-subroutine-location-function.vert
new file mode 100644
index 000000000..c63f3c56f
--- /dev/null
+++ b/tests/spec/arb_explicit_uniform_location/compiler/layout-subroutine-location-function.vert
@@ -0,0 +1,14 @@
+// [config]
+// expect_result: fail
+// glsl_version: 1.50
+// require_extensions: GL_ARB_shader_subroutine GL_ARB_explicit_uniform_location
+// [end config]
+
+#version 150
+#extension GL_ARB_shader_subroutine: require
+#extension GL_ARB_explicit_uniform_location: require
+
+subroutine void func_type();
+
+/* A subroutine matching the above type */
+layout(location = 2) subroutine (func_type) void f() {}
diff --git a/tests/spec/arb_explicit_uniform_location/compiler/layout-subroutine-location.vert b/tests/spec/arb_explicit_uniform_location/compiler/layout-subroutine-location.vert
new file mode 100644
index 000000000..47b6700ba
--- /dev/null
+++ b/tests/spec/arb_explicit_uniform_location/compiler/layout-subroutine-location.vert
@@ -0,0 +1,15 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50
+// require_extensions: GL_ARB_shader_subroutine GL_ARB_explicit_uniform_location GL_ARB_explicit_attrib_location
+// [end config]
+
+#version 150
+#extension GL_ARB_shader_subroutine: require
+#extension GL_ARB_explicit_uniform_location: require
+#extension GL_ARB_explicit_attrib_location: require
+
+subroutine void func_type();
+
+/* A subroutine uniform for the above type */
+layout(location = 2) subroutine uniform func_type f;