Signed-off-by: Chris Forbes <[email protected]>
---
 .../compiler/subroutine-def-empty-type-list.vert      | 19 +++++++++++++++++++
 .../compiler/subroutine-def-not-identifier.vert       | 11 +++++++++++
 2 files changed, 30 insertions(+)
 create mode 100644 
tests/spec/arb_shader_subroutine/compiler/subroutine-def-empty-type-list.vert
 create mode 100644 
tests/spec/arb_shader_subroutine/compiler/subroutine-def-not-identifier.vert

diff --git 
a/tests/spec/arb_shader_subroutine/compiler/subroutine-def-empty-type-list.vert 
b/tests/spec/arb_shader_subroutine/compiler/subroutine-def-empty-type-list.vert
new file mode 100644
index 0000000..2eb3a47
--- /dev/null
+++ 
b/tests/spec/arb_shader_subroutine/compiler/subroutine-def-empty-type-list.vert
@@ -0,0 +1,19 @@
+// [config]
+// expect_result: fail
+// glsl_version: 1.50
+// require_extensions: GL_ARB_shader_subroutine
+// [end config]
+
+#version 150
+#extension GL_ARB_shader_subroutine: require
+
+/* According to the GLSL 4.40 grammar, the list of subroutine types
+ * between parentheses is defined as:
+ *
+ * type_name_list:
+ *     TYPE_NAME
+ *     type_name_list COMMA TYPE_NAME
+ *
+ * Therefore, it cannot be empty.
+ */
+subroutine ( /* nothing */ ) void f() {}
diff --git 
a/tests/spec/arb_shader_subroutine/compiler/subroutine-def-not-identifier.vert 
b/tests/spec/arb_shader_subroutine/compiler/subroutine-def-not-identifier.vert
new file mode 100644
index 0000000..242c309
--- /dev/null
+++ 
b/tests/spec/arb_shader_subroutine/compiler/subroutine-def-not-identifier.vert
@@ -0,0 +1,11 @@
+// [config]
+// expect_result: fail
+// glsl_version: 1.50
+// require_extensions: GL_ARB_shader_subroutine
+// [end config]
+
+#version 150
+#extension GL_ARB_shader_subroutine: require
+
+/* Not an identifier. */
+subroutine (42) void f() {}
-- 
2.0.4

_______________________________________________
Piglit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/piglit

Reply via email to