[Piglit] [PATCH 8/8] arb_tessellation_shader: Add nop tessellation drawing test
Jordan Justen
jordan.l.justen at intel.com
Mon Jun 2 15:44:09 PDT 2014
This test will add no extra tessellated triangles. It basically passes
verticies through the tessellation stages and draws two triangles.
Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
---
tests/all.py | 3 ++
.../execution/nop.shader_test | 63 ++++++++++++++++++++++
2 files changed, 66 insertions(+)
create mode 100644 tests/spec/arb_tessellation_shader/execution/nop.shader_test
diff --git a/tests/all.py b/tests/all.py
index 87d773c..87800d6 100644
--- a/tests/all.py
+++ b/tests/all.py
@@ -3180,6 +3180,9 @@ spec['ARB_compute_shader']['built-in constants'] = concurrent_test('built-in-con
arb_tessellation_shader = {}
spec['ARB_tessellation_shader'] = arb_tessellation_shader
arb_tessellation_shader['minmax'] = concurrent_test('arb_tessellation_shader-minmax')
+add_shader_test_dir(spec['ARB_tessellation_shader'],
+ os.path.join(testsDir, 'spec', 'arb_tessellation_shader'),
+ recursive=True)
import_glsl_parser_tests(spec['ARB_tessellation_shader'],
os.path.join(testsDir, 'spec', 'arb_tessellation_shader'),
['compiler'])
diff --git a/tests/spec/arb_tessellation_shader/execution/nop.shader_test b/tests/spec/arb_tessellation_shader/execution/nop.shader_test
new file mode 100644
index 0000000..311c184
--- /dev/null
+++ b/tests/spec/arb_tessellation_shader/execution/nop.shader_test
@@ -0,0 +1,63 @@
+# Test a set of simple pass-through tessellation shaders
+
+[require]
+GLSL >= 1.50
+GL_ARB_tessellation_shader
+
+#[vertex shader passthrough]
+
+[vertex shader]
+#version 150
+
+const vec2 verts[] = vec2[](vec2(-1, 1),
+ vec2(-1, -1),
+ vec2(1, -1),
+ vec2(1, 1));
+const int elts[] = int[](0, 1, 2,
+ 0, 2, 3);
+
+void main()
+{
+ gl_Position = vec4(verts[elts[gl_VertexID]], 0, 1);
+}
+
+[tessellation control shader]
+#version 150
+#extension GL_ARB_tessellation_shader : require
+
+layout(vertices = 3) out;
+
+void main()
+{
+ gl_TessLevelInner[0] = 1.0;
+ gl_TessLevelInner[1] = 1.0;
+ gl_TessLevelOuter[0] = 1.0;
+ gl_TessLevelOuter[1] = 1.0;
+ gl_TessLevelOuter[2] = 1.0;
+ gl_out[gl_InvocationID].gl_Position = gl_in[gl_InvocationID].gl_Position;
+}
+
+[tessellation evaluation shader]
+#version 150
+#extension GL_ARB_tessellation_shader : require
+
+layout(triangles, equal_spacing) in;
+
+void main()
+{
+ int index = int(gl_TessCoord.y + (2 * gl_TessCoord.z));
+ gl_Position = gl_in[index].gl_Position;
+}
+
+[fragment shader]
+#version 150
+
+void main()
+{
+ gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0);
+}
+
+[test]
+patch vertices 3
+draw arrays GL_PATCHES 0 6
+probe all rgba 0.0 1.0 0.0 1.0
--
2.0.0.rc4
More information about the Piglit
mailing list