[Mesa-dev] [PATCH] extra masking / swizzling tests

Segovia, Benjamin benjamin.segovia at intel.com
Tue Jul 27 17:21:20 PDT 2010


I did not find a piglit mailing list. Therefore, I posted here. Just tell me if there is a better way to do that.
Cheers,
Ben

________________________________________
From: Segovia, Benjamin
Sent: Tuesday, July 27, 2010 6:19 PM
To: mesa-dev at lists.freedesktop.org
Cc: Segovia, Benjamin
Subject: [PATCH] extra masking / swizzling tests

- 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