[Piglit] [PATCH 2/5] arb_enhanced_layouts: add basic compile time constant compile tests

Timothy Arceri timothy.arceri at collabora.com
Sun Nov 1 17:54:38 PST 2015


---
 .../binding-separate-shader-objects.frag              | 18 ++++++++++++++++++
 .../compiler-time-constants/index-subroutine.vert     | 16 ++++++++++++++++
 .../compiler/compiler-time-constants/index.frag       | 17 +++++++++++++++++
 .../compiler-time-constants/input-location.vert       | 17 +++++++++++++++++
 .../compiler/compiler-time-constants/invocation.geom  | 17 +++++++++++++++++
 .../compiler-time-constants/local_size_x.comp         | 16 ++++++++++++++++
 .../compiler-time-constants/local_size_y.comp         | 16 ++++++++++++++++
 .../compiler-time-constants/local_size_z.comp         | 16 ++++++++++++++++
 .../compiler-time-constants/max_vertices.geom         | 17 +++++++++++++++++
 .../compiler-time-constants/offset-atomic.frag        | 16 ++++++++++++++++
 .../compiler/compiler-time-constants/stream.geom      | 19 +++++++++++++++++++
 .../compiler-time-constants/uniform-location.vert     | 18 ++++++++++++++++++
 .../compiler/compiler-time-constants/vertices.tesc    | 16 ++++++++++++++++
 13 files changed, 219 insertions(+)
 create mode 100644 tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/binding-separate-shader-objects.frag
 create mode 100644 tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/index-subroutine.vert
 create mode 100644 tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/index.frag
 create mode 100644 tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/input-location.vert
 create mode 100644 tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/invocation.geom
 create mode 100644 tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/local_size_x.comp
 create mode 100644 tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/local_size_y.comp
 create mode 100644 tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/local_size_z.comp
 create mode 100644 tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/max_vertices.geom
 create mode 100644 tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/offset-atomic.frag
 create mode 100644 tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/stream.geom
 create mode 100644 tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/uniform-location.vert
 create mode 100644 tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/vertices.tesc

diff --git a/tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/binding-separate-shader-objects.frag b/tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/binding-separate-shader-objects.frag
new file mode 100644
index 0000000..468fb93
--- /dev/null
+++ b/tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/binding-separate-shader-objects.frag
@@ -0,0 +1,18 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50
+// require_extensions: GL_ARB_shader_storage_buffer_object GL_ARB_enhanced_layouts
+// [end config]
+
+#version 150
+#extension GL_ARB_shader_storage_buffer_object: require
+#extension GL_ARB_enhanced_layouts: require
+
+const int start = 3;
+layout (binding = start + 4) buffer buf {
+	float f;
+};
+
+float foo(void) {
+	return f;
+}
diff --git a/tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/index-subroutine.vert b/tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/index-subroutine.vert
new file mode 100644
index 0000000..33a24d3
--- /dev/null
+++ b/tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/index-subroutine.vert
@@ -0,0 +1,16 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50
+// require_extensions: GL_ARB_shader_subroutine GL_ARB_enhanced_layouts GL_ARB_explicit_uniform_location
+// [end config]
+
+#version 150
+#extension GL_ARB_shader_subroutine: require
+#extension GL_ARB_enhanced_layouts: require
+#extension GL_ARB_explicit_uniform_location: require
+
+const int start = 3;
+subroutine void func_type();
+
+/* A subroutine matching the above type */
+layout(index = start + 2) subroutine (func_type) void f() {}
diff --git a/tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/index.frag b/tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/index.frag
new file mode 100644
index 0000000..0ef0b3c
--- /dev/null
+++ b/tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/index.frag
@@ -0,0 +1,17 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.20
+// require_extensions: GL_ARB_explicit_attrib_location GL_ARB_enhanced_layouts
+// [end config]
+
+#version 120
+#extension GL_ARB_explicit_attrib_location: require
+#extension GL_ARB_enhanced_layouts: require
+
+const int start = 0;
+layout(location = 0, index = start + 1) varying vec4 color;
+
+void main()
+{
+	color = vec4(1.0);
+}
diff --git a/tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/input-location.vert b/tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/input-location.vert
new file mode 100644
index 0000000..f934595
--- /dev/null
+++ b/tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/input-location.vert
@@ -0,0 +1,17 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.10
+// require_extensions: GL_ARB_enhanced_layouts GL_ARB_explicit_attrib_location
+// [end config]
+
+#version 110
+#extension GL_ARB_explicit_attrib_location: require
+#extension GL_ARB_enhanced_layouts: require
+
+const int start = 3;
+layout(location = start + 2) in vec4 b;
+
+void main()
+{
+	gl_Position = b;
+}
diff --git a/tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/invocation.geom b/tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/invocation.geom
new file mode 100644
index 0000000..aeb221c
--- /dev/null
+++ b/tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/invocation.geom
@@ -0,0 +1,17 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50
+// require_extensions: GL_ARB_gpu_shader5 GL_ARB_enhanced_layouts
+// check_link: false
+// [end config]
+
+#version 150
+#extension GL_ARB_gpu_shader5: enable
+#extension GL_ARB_enhanced_layouts: require
+
+const int start = 3;
+layout(lines, invocations = start + 2) in;
+
+void main()
+{
+}
diff --git a/tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/local_size_x.comp b/tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/local_size_x.comp
new file mode 100644
index 0000000..efe028f
--- /dev/null
+++ b/tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/local_size_x.comp
@@ -0,0 +1,16 @@
+// [config]
+// expect_result: pass
+// glsl_version: 3.30
+// require_extensions: GL_ARB_enhanced_layouts GL_ARB_compute_shader
+// [end config]
+
+#version 330
+#extension GL_ARB_compute_shader: enable
+#extension GL_ARB_enhanced_layouts: require
+
+const int start = 3;
+layout(local_size_x = start + 1, local_size_y = 1, local_size_z = 1) in;
+
+void main()
+{
+}
diff --git a/tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/local_size_y.comp b/tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/local_size_y.comp
new file mode 100644
index 0000000..36a3516
--- /dev/null
+++ b/tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/local_size_y.comp
@@ -0,0 +1,16 @@
+// [config]
+// expect_result: pass
+// glsl_version: 3.30
+// require_extensions: GL_ARB_enhanced_layouts GL_ARB_compute_shader
+// [end config]
+
+#version 330
+#extension GL_ARB_compute_shader: enable
+#extension GL_ARB_enhanced_layouts: require
+
+const int start = 3;
+layout(local_size_x = 1, local_size_y = start + 1, local_size_z = 1) in;
+
+void main()
+{
+}
diff --git a/tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/local_size_z.comp b/tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/local_size_z.comp
new file mode 100644
index 0000000..6fd3b5e
--- /dev/null
+++ b/tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/local_size_z.comp
@@ -0,0 +1,16 @@
+// [config]
+// expect_result: pass
+// glsl_version: 3.30
+// require_extensions: GL_ARB_enhanced_layouts GL_ARB_compute_shader
+// [end config]
+
+#version 330
+#extension GL_ARB_compute_shader: enable
+#extension GL_ARB_enhanced_layouts: require
+
+const int start = 3;
+layout(local_size_x = 1, local_size_y = 1, local_size_z = start - 1) in;
+
+void main()
+{
+}
diff --git a/tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/max_vertices.geom b/tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/max_vertices.geom
new file mode 100644
index 0000000..cd542ae
--- /dev/null
+++ b/tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/max_vertices.geom
@@ -0,0 +1,17 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50
+// require_extensions: GL_ARB_enhanced_layouts
+// [end config]
+
+#version 150
+#extension GL_ARB_enhanced_layouts: require
+
+const int start = 3;
+const int offset = 1;
+layout(triangles) in;
+layout(triangle_strip, max_vertices = start - offset) out;
+
+void main()
+{
+}
diff --git a/tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/offset-atomic.frag b/tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/offset-atomic.frag
new file mode 100644
index 0000000..c2859d3
--- /dev/null
+++ b/tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/offset-atomic.frag
@@ -0,0 +1,16 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40
+// require_extensions: GL_ARB_shader_atomic_counters GL_ARB_enhanced_layouts
+// [end config]
+
+#version 140
+#extension GL_ARB_shader_atomic_counters: require
+#extension GL_ARB_enhanced_layouts: require
+
+const int start = 3;
+layout(binding = 0, offset = start + 1) uniform atomic_uint x;
+
+void main()
+{
+}
diff --git a/tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/stream.geom b/tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/stream.geom
new file mode 100644
index 0000000..346b5c4
--- /dev/null
+++ b/tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/stream.geom
@@ -0,0 +1,19 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50
+// require_extensions: GL_ARB_gpu_shader5 GL_ARB_enhanced_layouts
+// check_link: false
+// [end config]
+
+#version 150
+#extension GL_ARB_gpu_shader5: enable
+#extension GL_ARB_enhanced_layouts: require
+
+const int start = 3;
+layout(points) in;
+layout(points, stream= start + 2, max_vertices=3) out;
+out vec4 streamout;
+
+void main()
+{
+}
diff --git a/tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/uniform-location.vert b/tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/uniform-location.vert
new file mode 100644
index 0000000..822655c
--- /dev/null
+++ b/tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/uniform-location.vert
@@ -0,0 +1,18 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.10
+// require_extensions: GL_ARB_enhanced_layouts GL_ARB_explicit_uniform_location GL_ARB_explicit_attrib_location
+// [end config]
+
+#version 110
+#extension GL_ARB_enhanced_layouts: require
+#extension GL_ARB_explicit_attrib_location: require
+#extension GL_ARB_explicit_uniform_location: require
+
+const int start = 3;
+layout(location = start + 2) uniform vec4 b;
+
+void main()
+{
+	gl_Position = b;
+}
diff --git a/tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/vertices.tesc b/tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/vertices.tesc
new file mode 100644
index 0000000..a88d297
--- /dev/null
+++ b/tests/spec/arb_enhanced_layouts/compiler/compiler-time-constants/vertices.tesc
@@ -0,0 +1,16 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50
+// require_extensions: GL_ARB_enhanced_layouts GL_ARB_tessellation_shader
+// [end config]
+
+#version 150
+#extension GL_ARB_tessellation_shader: require
+#extension GL_ARB_enhanced_layouts: require
+
+const int start = 3;
+layout(vertices = start - 1) out;
+
+void main()
+{
+}
-- 
2.4.3



More information about the Piglit mailing list