[Mesa-dev] [PATCH] extra masking / swizzling tests
Benjamin Segovia
benjamin.segovia at intel.com
Tue Jul 27 17:19:21 PDT 2010
- Added two more tests to stress the new optimizations in prog_optimize.c in the
mesa code base
---
tests/all.tests | 2 +
tests/shaders/glsl-vs-masked-cos.shader_test | 33 ++++++++++++++++++++++++++
tests/shaders/glsl-vs-masked-dot.shader_test | 32 +++++++++++++++++++++++++
3 files changed, 67 insertions(+), 0 deletions(-)
create mode 100644 tests/shaders/glsl-vs-masked-cos.shader_test
create mode 100644 tests/shaders/glsl-vs-masked-dot.shader_test
diff --git a/tests/all.tests b/tests/all.tests
index 1851c3e..312f990 100644
--- a/tests/all.tests
+++ b/tests/all.tests
@@ -269,6 +269,8 @@ add_shader_generic(shaders, 'glsl-octal')
add_plain_test(shaders, 'glsl-orangebook-ch06-bump')
add_plain_test(shaders, 'glsl-routing')
add_plain_test(shaders, 'glsl-vs-arrays')
+add_shader_generic(shaders, 'glsl-vs-masked-dot')
+add_shader_generic(shaders, 'glsl-vs-masked-cos')
add_shader_generic(shaders, 'glsl-vs-arrays-2')
add_shader_generic(shaders, 'glsl-vs-arrays-3')
add_shader_generic(shaders, 'glsl-vs-cross')
diff --git a/tests/shaders/glsl-vs-masked-cos.shader_test b/tests/shaders/glsl-vs-masked-cos.shader_test
new file mode 100644
index 0000000..6f13bbc
--- /dev/null
+++ b/tests/shaders/glsl-vs-masked-cos.shader_test
@@ -0,0 +1,33 @@
+[require]
+GL >= 2.0
+GLSL >= 1.10
+
+[vertex shader]
+uniform vec2 arg0;
+uniform vec3 arg1;
+varying vec3 color;
+
+void main()
+{
+ gl_Position = gl_Vertex;
+
+ /* try to trigger masked mov for cos */
+ vec3 val = arg1;
+ val.z = cos(arg0.x);
+ color.x = val.z;
+ color.yz = val.xy;
+}
+
+[fragment shader]
+varying vec3 color;
+void main()
+{
+ gl_FragColor = vec4(color, 0.0);
+}
+
+[test]
+uniform vec2 arg0 0.0 0.0
+uniform vec3 arg1 1.0 0.5 1.0
+draw rect -1 -1 2 2
+probe rgba 1 1 1.0 1.0 0.5 0.0
+
diff --git a/tests/shaders/glsl-vs-masked-dot.shader_test b/tests/shaders/glsl-vs-masked-dot.shader_test
new file mode 100644
index 0000000..70eb55a
--- /dev/null
+++ b/tests/shaders/glsl-vs-masked-dot.shader_test
@@ -0,0 +1,32 @@
+[require]
+GL >= 2.0
+GLSL >= 1.10
+
+[vertex shader]
+uniform vec3 arg0;
+uniform vec3 arg1;
+varying vec3 color;
+
+void main()
+{
+ gl_Position = gl_Vertex;
+
+ /* try to trigger masked mov for dp */
+ vec3 val = arg0;
+ val.y = dot(arg0, arg1);
+ color = val.yxz * 0.25f;
+}
+
+[fragment shader]
+varying vec3 color;
+void main()
+{
+ gl_FragColor = vec4(color, 0.0);
+}
+
+[test]
+uniform vec3 arg0 2.0 1.0 1.0
+uniform vec3 arg1 1.0 1.0 1.0
+draw rect -1 -1 2 2
+probe rgba 1 1 1.0 0.50 0.25 0.0
+
--
1.7.1
More information about the mesa-dev
mailing list