summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChad Versace <chad.versace@intel.com>2011-03-12 15:07:18 -0800
committerChad Versace <chad.versace@intel.com>2011-03-12 17:30:29 -0800
commit511e806c31cee8f5e187133df0b4386aeda9ed39 (patch)
tree09d6bbd573c49827a40e1aa9ce38b0c8df01d80a
parentebc9fdfcc434e0dc66cc13f77117e164c85a9329 (diff)
shaders: Add tests for shadow2D()
Test shadow2D(sampler2DShadow, vec3) for every combination of (depth_mode, compare_func), where - depth_mode is a one of {luminance, intensity, alpha} - compare_func is a one of {greater, always, never} Signed-off-by: Chad Versace <chad.versace@intel.com>
-rw-r--r--tests/shaders/glsl-fs-shadow2d-01.shader_test28
-rw-r--r--tests/shaders/glsl-fs-shadow2d-02.shader_test28
-rw-r--r--tests/shaders/glsl-fs-shadow2d-03.shader_test28
-rw-r--r--tests/shaders/glsl-fs-shadow2d-04.shader_test28
-rw-r--r--tests/shaders/glsl-fs-shadow2d-05.shader_test28
-rw-r--r--tests/shaders/glsl-fs-shadow2d-06.shader_test28
-rw-r--r--tests/shaders/glsl-fs-shadow2d-07.shader_test28
-rw-r--r--tests/shaders/glsl-fs-shadow2d-08.shader_test28
-rw-r--r--tests/shaders/glsl-fs-shadow2d-09.shader_test28
-rw-r--r--tests/shaders/glsl-fs-shadow2d.frag8
-rw-r--r--tests/shaders/glsl-fs-shadow2d.vert8
11 files changed, 268 insertions, 0 deletions
diff --git a/tests/shaders/glsl-fs-shadow2d-01.shader_test b/tests/shaders/glsl-fs-shadow2d-01.shader_test
new file mode 100644
index 000000000..0eb96dd82
--- /dev/null
+++ b/tests/shaders/glsl-fs-shadow2d-01.shader_test
@@ -0,0 +1,28 @@
+# [description]
+# Test shadow2D(sampler2DShadow, vec3) with
+# - depth texture mode = luminance
+# - texture compare func = greater
+
+[require]
+GLSL >= 1.10
+
+[vertex shader file]
+glsl-fs-shadow2d.vert
+
+[fragment shader file]
+glsl-fs-shadow2d.frag
+
+[test]
+uniform int tex 0
+texture shadow 0 (32, 32)
+texparameter depth_mode luminance
+texparameter compare_func greater
+draw rect -1 -1 2 2
+
+# depth comparison pass
+relative probe rgba (0.0, 0.1) (1.0, 1.0, 1.0, 1.0)
+relative probe rgba (0.9, 1.0) (1.0, 1.0, 1.0, 1.0)
+
+# depth comparison fail
+relative probe rgba (0.1, 0.0) (0.0, 0.0, 0.0, 1.0)
+relative probe rgba (1.0, 0.9) (0.0, 0.0, 0.0, 1.0)
diff --git a/tests/shaders/glsl-fs-shadow2d-02.shader_test b/tests/shaders/glsl-fs-shadow2d-02.shader_test
new file mode 100644
index 000000000..778dda6a9
--- /dev/null
+++ b/tests/shaders/glsl-fs-shadow2d-02.shader_test
@@ -0,0 +1,28 @@
+# [description]
+# Test shadow2D(sampler2DShadow, vec3) with
+# - depth texture mode = luminance
+# - texture compare func = always
+
+[require]
+GLSL >= 1.10
+
+[vertex shader file]
+glsl-fs-shadow2d.vert
+
+[fragment shader file]
+glsl-fs-shadow2d.frag
+
+[test]
+uniform int tex 0
+texture shadow 0 (32, 32)
+texparameter depth_mode luminance
+texparameter compare_func always
+draw rect -1 -1 2 2
+
+# depth comparison pass
+relative probe rgba (0.0, 0.1) (1.0, 1.0, 1.0, 1.0)
+relative probe rgba (0.9, 1.0) (1.0, 1.0, 1.0, 1.0)
+
+# depth comparison fail
+relative probe rgba (0.1, 0.0) (1.0, 1.0, 1.0, 1.0)
+relative probe rgba (1.0, 0.9) (1.0, 1.0, 1.0, 1.0)
diff --git a/tests/shaders/glsl-fs-shadow2d-03.shader_test b/tests/shaders/glsl-fs-shadow2d-03.shader_test
new file mode 100644
index 000000000..ca21e5c75
--- /dev/null
+++ b/tests/shaders/glsl-fs-shadow2d-03.shader_test
@@ -0,0 +1,28 @@
+# [description]
+# Test shadow2D(sampler2DShadow, vec3) with
+# - depth texture mode = luminance
+# - texture compare func = never
+
+[require]
+GLSL >= 1.10
+
+[vertex shader file]
+glsl-fs-shadow2d.vert
+
+[fragment shader file]
+glsl-fs-shadow2d.frag
+
+[test]
+uniform int tex 0
+texture shadow 0 (32, 32)
+texparameter depth_mode luminance
+texparameter compare_func never
+draw rect -1 -1 2 2
+
+# depth comparison pass
+relative probe rgba (0.0, 0.1) (0.0, 0.0, 0.0, 1.0)
+relative probe rgba (0.9, 1.0) (0.0, 0.0, 0.0, 1.0)
+
+# depth comparison fail
+relative probe rgba (0.1, 0.0) (0.0, 0.0, 0.0, 1.0)
+relative probe rgba (1.0, 0.9) (0.0, 0.0, 0.0, 1.0)
diff --git a/tests/shaders/glsl-fs-shadow2d-04.shader_test b/tests/shaders/glsl-fs-shadow2d-04.shader_test
new file mode 100644
index 000000000..76b2c58b9
--- /dev/null
+++ b/tests/shaders/glsl-fs-shadow2d-04.shader_test
@@ -0,0 +1,28 @@
+# [description]
+# Test shadow2D(sampler2DShadow, vec3) with
+# - depth texture mode = intensity
+# - texture compare func = greater
+
+[require]
+GLSL >= 1.10
+
+[vertex shader file]
+glsl-fs-shadow2d.vert
+
+[fragment shader file]
+glsl-fs-shadow2d.frag
+
+[test]
+uniform int tex 0
+texture shadow 0 (32, 32)
+texparameter depth_mode intensity
+texparameter compare_func greater
+draw rect -1 -1 2 2
+
+# depth comparison pass
+relative probe rgba (0.0, 0.1) (1.0, 1.0, 1.0, 1.0)
+relative probe rgba (0.9, 1.0) (1.0, 1.0, 1.0, 1.0)
+
+# depth comparison fail
+relative probe rgba (0.1, 0.0) (0.0, 0.0, 0.0, 0.0)
+relative probe rgba (1.0, 0.9) (0.0, 0.0, 0.0, 0.0)
diff --git a/tests/shaders/glsl-fs-shadow2d-05.shader_test b/tests/shaders/glsl-fs-shadow2d-05.shader_test
new file mode 100644
index 000000000..3707b1408
--- /dev/null
+++ b/tests/shaders/glsl-fs-shadow2d-05.shader_test
@@ -0,0 +1,28 @@
+# [description]
+# Test shadow2D(sampler2DShadow, vec3) with
+# - depth texture mode = intensity
+# - texture compare func = always
+
+[require]
+GLSL >= 1.10
+
+[vertex shader file]
+glsl-fs-shadow2d.vert
+
+[fragment shader file]
+glsl-fs-shadow2d.frag
+
+[test]
+uniform int tex 0
+texture shadow 0 (32, 32)
+texparameter depth_mode intensity
+texparameter compare_func always
+draw rect -1 -1 2 2
+
+# depth comparison pass
+relative probe rgba (0.0, 0.1) (1.0, 1.0, 1.0, 1.0)
+relative probe rgba (0.9, 1.0) (1.0, 1.0, 1.0, 1.0)
+
+# depth comparison fail
+relative probe rgba (0.1, 0.0) (1.0, 1.0, 1.0, 1.0)
+relative probe rgba (1.0, 0.9) (1.0, 1.0, 1.0, 1.0)
diff --git a/tests/shaders/glsl-fs-shadow2d-06.shader_test b/tests/shaders/glsl-fs-shadow2d-06.shader_test
new file mode 100644
index 000000000..200ffe25b
--- /dev/null
+++ b/tests/shaders/glsl-fs-shadow2d-06.shader_test
@@ -0,0 +1,28 @@
+# [description]
+# Test shadow2D(sampler2DShadow, vec3) with
+# - depth texture mode = intensity
+# - texture compare func = never
+
+[require]
+GLSL >= 1.10
+
+[vertex shader file]
+glsl-fs-shadow2d.vert
+
+[fragment shader file]
+glsl-fs-shadow2d.frag
+
+[test]
+uniform int tex 0
+texture shadow 0 (32, 32)
+texparameter depth_mode intensity
+texparameter compare_func never
+draw rect -1 -1 2 2
+
+# depth comparison pass
+relative probe rgba (0.0, 0.1) (0.0, 0.0, 0.0, 0.0)
+relative probe rgba (0.9, 1.0) (0.0, 0.0, 0.0, 0.0)
+
+# depth comparison fail
+relative probe rgba (0.1, 0.0) (0.0, 0.0, 0.0, 0.0)
+relative probe rgba (1.0, 0.9) (0.0, 0.0, 0.0, 0.0)
diff --git a/tests/shaders/glsl-fs-shadow2d-07.shader_test b/tests/shaders/glsl-fs-shadow2d-07.shader_test
new file mode 100644
index 000000000..06f9642e7
--- /dev/null
+++ b/tests/shaders/glsl-fs-shadow2d-07.shader_test
@@ -0,0 +1,28 @@
+# [description]
+# Test shadow2D(sampler2DShadow, vec3) with
+# - depth texture mode = alpha
+# - texture compare func = greater
+
+[require]
+GLSL >= 1.10
+
+[vertex shader file]
+glsl-fs-shadow2d.vert
+
+[fragment shader file]
+glsl-fs-shadow2d.frag
+
+[test]
+uniform int tex 0
+texture shadow 0 (32, 32)
+texparameter depth_mode alpha
+texparameter compare_func greater
+draw rect -1 -1 2 2
+
+# depth comparison pass
+relative probe rgba (0.0, 0.1) (0.0, 0.0, 0.0, 1.0)
+relative probe rgba (0.9, 1.0) (0.0, 0.0, 0.0, 1.0)
+
+# depth comparison fail
+relative probe rgba (0.1, 0.0) (0.0, 0.0, 0.0, 0.0)
+relative probe rgba (1.0, 0.9) (0.0, 0.0, 0.0, 0.0)
diff --git a/tests/shaders/glsl-fs-shadow2d-08.shader_test b/tests/shaders/glsl-fs-shadow2d-08.shader_test
new file mode 100644
index 000000000..88ca0c449
--- /dev/null
+++ b/tests/shaders/glsl-fs-shadow2d-08.shader_test
@@ -0,0 +1,28 @@
+# [description]
+# Test shadow2D(sampler2DShadow, vec3) with
+# - depth texture mode = alpha
+# - texture compare func = always
+
+[require]
+GLSL >= 1.10
+
+[vertex shader file]
+glsl-fs-shadow2d.vert
+
+[fragment shader file]
+glsl-fs-shadow2d.frag
+
+[test]
+uniform int tex 0
+texture shadow 0 (32, 32)
+texparameter depth_mode alpha
+texparameter compare_func always
+draw rect -1 -1 2 2
+
+# depth comparison pass
+relative probe rgba (0.0, 0.1) (0.0, 0.0, 0.0, 1.0)
+relative probe rgba (0.9, 1.0) (0.0, 0.0, 0.0, 1.0)
+
+# depth comparison fail
+relative probe rgba (0.1, 0.0) (0.0, 0.0, 0.0, 1.0)
+relative probe rgba (1.0, 0.9) (0.0, 0.0, 0.0, 1.0)
diff --git a/tests/shaders/glsl-fs-shadow2d-09.shader_test b/tests/shaders/glsl-fs-shadow2d-09.shader_test
new file mode 100644
index 000000000..03a850fb5
--- /dev/null
+++ b/tests/shaders/glsl-fs-shadow2d-09.shader_test
@@ -0,0 +1,28 @@
+# [description]
+# Test shadow2D(sampler2DShadow, vec3) with
+# - depth texture mode = alpha
+# - texture compare func = never
+
+[require]
+GLSL >= 1.10
+
+[vertex shader file]
+glsl-fs-shadow2d.vert
+
+[fragment shader file]
+glsl-fs-shadow2d.frag
+
+[test]
+uniform int tex 0
+texture shadow 0 (32, 32)
+texparameter depth_mode alpha
+texparameter compare_func never
+draw rect -1 -1 2 2
+
+# depth comparison pass
+relative probe rgba (0.0, 0.1) (0.0, 0.0, 0.0, 0.0)
+relative probe rgba (0.9, 1.0) (0.0, 0.0, 0.0, 0.0)
+
+# depth comparison fail
+relative probe rgba (0.1, 0.0) (0.0, 0.0, 0.0, 0.0)
+relative probe rgba (1.0, 0.9) (0.0, 0.0, 0.0, 0.0)
diff --git a/tests/shaders/glsl-fs-shadow2d.frag b/tests/shaders/glsl-fs-shadow2d.frag
new file mode 100644
index 000000000..765f648d2
--- /dev/null
+++ b/tests/shaders/glsl-fs-shadow2d.frag
@@ -0,0 +1,8 @@
+#version 110
+
+uniform sampler2DShadow tex;
+varying vec4 tex_coord;
+
+void main() {
+ gl_FragColor = shadow2D(tex, tex_coord.xyy);
+}
diff --git a/tests/shaders/glsl-fs-shadow2d.vert b/tests/shaders/glsl-fs-shadow2d.vert
new file mode 100644
index 000000000..426e7b791
--- /dev/null
+++ b/tests/shaders/glsl-fs-shadow2d.vert
@@ -0,0 +1,8 @@
+#version 110
+
+varying vec4 tex_coord;
+
+void main() {
+ gl_Position = gl_Vertex;
+ tex_coord = (gl_Vertex + 1.0) / 2.0;
+}