summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenneth Graunke <kenneth@whitecape.org>2010-10-14 12:30:31 -0700
committerKenneth Graunke <kenneth@whitecape.org>2010-10-14 15:55:47 -0700
commit9da667d518beb6c3b39c2db00fe1e0f256f4ed26 (patch)
tree7e6749980c4a6406fe10a9eca9f34c095aef65df
parentaa913ca02e160dbbf43a6b47e44ff935bc8a21bd (diff)
Add new tests for GLSL built-ins floor, ceil, and trunc.
-rw-r--r--tests/all.tests3
-rw-r--r--tests/shaders/glsl-fs-ceil.shader_test26
-rw-r--r--tests/shaders/glsl-fs-floor.shader_test26
-rw-r--r--tests/shaders/glsl-fs-trunc.shader_test31
4 files changed, 86 insertions, 0 deletions
diff --git a/tests/all.tests b/tests/all.tests
index a70a3f4c9..d482fbb56 100644
--- a/tests/all.tests
+++ b/tests/all.tests
@@ -297,6 +297,7 @@ add_shader_generic(shaders, 'glsl-fs-atan-3')
add_shader_generic(shaders, 'glsl-fs-main-return')
add_shader_generic(shaders, 'glsl-fs-mov-masked')
add_plain_test(shaders, 'glsl-fs-bug25902')
+add_shader_generic(shaders, 'glsl-fs-ceil')
add_shader_generic(shaders, 'glsl-fs-conditional-output-write')
add_shader_generic(shaders, 'glsl-fs-cross')
add_shader_generic(shaders, 'glsl-fs-cross-2')
@@ -307,6 +308,7 @@ add_shader_generic(shaders, 'glsl-fs-dot-vec2')
add_shader_generic(shaders, 'glsl-fs-dot-vec2-2')
add_shader_generic(shaders, 'glsl-fs-exp')
add_plain_test(shaders, 'glsl-fs-exp2')
+add_shader_generic(shaders, 'glsl-fs-floor')
add_plain_test(shaders, 'glsl-fs-fragcoord')
add_shader_generic(shaders, 'glsl-fs-functions-2')
add_shader_generic(shaders, 'glsl-fs-functions-3')
@@ -379,6 +381,7 @@ shaders['glsl-fs-texture2drect-proj3'] = PlainExecTest(['glsl-fs-texture2drect',
'-auto', '-proj3'])
shaders['glsl-fs-texture2drect-proj4'] = PlainExecTest(['glsl-fs-texture2drect',
'-auto', '-proj4'])
+add_shader_generic(shaders, 'glsl-fs-trunc')
add_shader_generic(shaders, 'glsl-fs-uniform-array-1')
add_shader_generic(shaders, 'glsl-fs-uniform-array-2')
add_shader_generic(shaders, 'glsl-fs-uniform-array-3')
diff --git a/tests/shaders/glsl-fs-ceil.shader_test b/tests/shaders/glsl-fs-ceil.shader_test
new file mode 100644
index 000000000..93c06f815
--- /dev/null
+++ b/tests/shaders/glsl-fs-ceil.shader_test
@@ -0,0 +1,26 @@
+[require]
+GL >= 2.0
+GLSL >= 1.10
+
+[vertex shader file]
+glsl-mvp.vert
+
+[fragment shader]
+void main()
+{
+ /* Divide by 10 to get a decimal part */
+ float x = gl_FragCoord.x / 10.0;
+
+ /* Divide by 25.0 to bring it into the [0, 1] range. */
+ gl_FragColor = vec4(ceil(x) / 25.0, -ceil(-x) / 25.0, 0.0, 1.0);
+}
+
+[test]
+clear color 0.0 0.0 0.0 0.0
+clear
+ortho
+draw rect 0 0 250 250
+probe rgb 1 1 0.04 0.00 0
+probe rgb 63 63 0.28 0.24 0
+probe rgb 125 125 0.52 0.48 0
+probe rgb 249 249 1.0 0.96 0
diff --git a/tests/shaders/glsl-fs-floor.shader_test b/tests/shaders/glsl-fs-floor.shader_test
new file mode 100644
index 000000000..554f67f26
--- /dev/null
+++ b/tests/shaders/glsl-fs-floor.shader_test
@@ -0,0 +1,26 @@
+[require]
+GL >= 2.0
+GLSL >= 1.10
+
+[vertex shader file]
+glsl-mvp.vert
+
+[fragment shader]
+void main()
+{
+ /* Divide by 10 to get a decimal part */
+ float x = gl_FragCoord.x / 10.0;
+
+ /* Divide by 25.0 to bring it into the [0, 1] range. */
+ gl_FragColor = vec4(floor(x) / 25.0, -floor(-x) / 25.0, 0.0, 1.0);
+}
+
+[test]
+clear color 0.0 0.0 0.0 0.0
+clear
+ortho
+draw rect 0 0 250 250
+probe rgb 1 1 0.00 0.04 0
+probe rgb 63 63 0.24 0.28 0
+probe rgb 125 125 0.48 0.52 0
+probe rgb 249 249 0.96 1.0 0
diff --git a/tests/shaders/glsl-fs-trunc.shader_test b/tests/shaders/glsl-fs-trunc.shader_test
new file mode 100644
index 000000000..87fc482bf
--- /dev/null
+++ b/tests/shaders/glsl-fs-trunc.shader_test
@@ -0,0 +1,31 @@
+[require]
+GL >= 2.0
+GLSL >= 1.30
+
+[vertex shader]
+#version 130
+void main()
+{
+ gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
+}
+
+[fragment shader]
+#version 130
+void main()
+{
+ /* Divide by 10 to get a decimal part */
+ float x = gl_FragCoord.x / 10.0;
+
+ /* Divide by 25.0 to bring it into the [0, 1] range. */
+ gl_FragColor = vec4(trunc(x) / 25.0, -trunc(-x) / 25.0, 0.0, 1.0);
+}
+
+[test]
+clear color 0.0 0.0 0.0 0.0
+clear
+ortho
+draw rect 0 0 250 250
+probe rgb 1 1 0.00 0.00 0
+probe rgb 63 63 0.24 0.24 0
+probe rgb 125 125 0.48 0.48 0
+probe rgb 249 249 0.96 0.96 0