summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Forbes <chrisf@ijw.co.nz>2013-09-27 05:43:44 +1200
committerChris Forbes <chrisf@ijw.co.nz>2013-10-05 19:05:48 +1300
commit27ff4277f27a5ce18e54ac845856dc7f8662aae0 (patch)
tree65f7887bcf0ada8918004bcbc4cbd5edb3770fa3
parent79c02a3afa8bc93a4292aebf963088d7320fda2d (diff)
arb_texture_query_levels: add execution tests
Ensure that the returned level count is correct in various situations. V2: Use [vertex shader passthrough] for fs tests. Signed-off-by: Chris Forbes <chrisf@ijw.co.nz> Reviewed-by: Matt Turner <mattst88@gmail.com>
-rw-r--r--tests/spec/arb_texture_query_levels/execution/fs-baselevel.shader_test35
-rw-r--r--tests/spec/arb_texture_query_levels/execution/fs-maxlevel.shader_test35
-rw-r--r--tests/spec/arb_texture_query_levels/execution/fs-miptree.shader_test34
-rw-r--r--tests/spec/arb_texture_query_levels/execution/fs-nomips.shader_test34
-rw-r--r--tests/spec/arb_texture_query_levels/execution/vs-baselevel.shader_test44
-rw-r--r--tests/spec/arb_texture_query_levels/execution/vs-maxlevel.shader_test45
-rw-r--r--tests/spec/arb_texture_query_levels/execution/vs-miptree.shader_test43
-rw-r--r--tests/spec/arb_texture_query_levels/execution/vs-nomips.shader_test43
8 files changed, 313 insertions, 0 deletions
diff --git a/tests/spec/arb_texture_query_levels/execution/fs-baselevel.shader_test b/tests/spec/arb_texture_query_levels/execution/fs-baselevel.shader_test
new file mode 100644
index 000000000..e8ed1d732
--- /dev/null
+++ b/tests/spec/arb_texture_query_levels/execution/fs-baselevel.shader_test
@@ -0,0 +1,35 @@
+[require]
+GLSL >= 1.30
+GL_ARB_texture_query_levels
+
+[vertex shader passthrough]
+
+[fragment shader]
+#extension GL_ARB_texture_query_levels: require
+
+uniform sampler2D s;
+uniform int expected;
+
+void main() {
+ if (textureQueryLevels(s) == expected)
+ gl_FragColor = vec4(0,1,0,0);
+ else
+ gl_FragColor = vec4(1,0,0,0);
+}
+
+[test]
+ortho
+clear color 0.4 0.4 0.4 0
+clear
+
+texture miptree 0
+uniform int s 0
+
+texparameter 2D min nearest_mipmap_nearest
+texparameter 2D mag nearest
+texparameter 2D base_level 1
+
+uniform int expected 3
+
+draw rect 0 -1 1 1
+relative probe rgba (0.75, 0.25) (0, 1, 0, 0)
diff --git a/tests/spec/arb_texture_query_levels/execution/fs-maxlevel.shader_test b/tests/spec/arb_texture_query_levels/execution/fs-maxlevel.shader_test
new file mode 100644
index 000000000..f0894da7e
--- /dev/null
+++ b/tests/spec/arb_texture_query_levels/execution/fs-maxlevel.shader_test
@@ -0,0 +1,35 @@
+[require]
+GLSL >= 1.30
+GL_ARB_texture_query_levels
+
+[vertex shader passthrough]
+
+[fragment shader]
+#extension GL_ARB_texture_query_levels: require
+
+uniform sampler2D s;
+uniform int expected;
+
+void main() {
+ if (textureQueryLevels(s) == expected)
+ gl_FragColor = vec4(0,1,0,0);
+ else
+ gl_FragColor = vec4(1,0,0,0);
+}
+
+[test]
+ortho
+clear color 0.4 0.4 0.4 0
+clear
+
+texture miptree 0
+uniform int s 0
+
+texparameter 2D min nearest_mipmap_nearest
+texparameter 2D mag nearest
+texparameter 2D max_level 2
+
+uniform int expected 3
+
+draw rect 0 -1 1 1
+relative probe rgba (0.75, 0.25) (0, 1, 0, 0)
diff --git a/tests/spec/arb_texture_query_levels/execution/fs-miptree.shader_test b/tests/spec/arb_texture_query_levels/execution/fs-miptree.shader_test
new file mode 100644
index 000000000..43ae8f7f8
--- /dev/null
+++ b/tests/spec/arb_texture_query_levels/execution/fs-miptree.shader_test
@@ -0,0 +1,34 @@
+[require]
+GLSL >= 1.30
+GL_ARB_texture_query_levels
+
+[vertex shader passthrough]
+
+[fragment shader]
+#extension GL_ARB_texture_query_levels: require
+
+uniform sampler2D s;
+uniform int expected;
+
+void main() {
+ if (textureQueryLevels(s) == expected)
+ gl_FragColor = vec4(0,1,0,0);
+ else
+ gl_FragColor = vec4(1,0,0,0);
+}
+
+[test]
+ortho
+clear color 0.4 0.4 0.4 0
+clear
+
+texture miptree 0
+uniform int s 0
+
+texparameter 2D min nearest_mipmap_nearest
+texparameter 2D mag nearest
+
+uniform int expected 4
+
+draw rect -1 -1 2 2
+relative probe rgba (0.5, 0.5) (0, 1, 0, 0)
diff --git a/tests/spec/arb_texture_query_levels/execution/fs-nomips.shader_test b/tests/spec/arb_texture_query_levels/execution/fs-nomips.shader_test
new file mode 100644
index 000000000..3702c8687
--- /dev/null
+++ b/tests/spec/arb_texture_query_levels/execution/fs-nomips.shader_test
@@ -0,0 +1,34 @@
+[require]
+GLSL >= 1.30
+GL_ARB_texture_query_levels
+
+[vertex shader passthrough]
+
+[fragment shader]
+#extension GL_ARB_texture_query_levels: require
+
+uniform sampler2D s;
+uniform int expected;
+
+void main() {
+ if (textureQueryLevels(s) == expected)
+ gl_FragColor = vec4(0,1,0,0);
+ else
+ gl_FragColor = vec4(1,0,0,0);
+}
+
+[test]
+ortho
+clear color 0.4 0.4 0.4 0
+clear
+
+texture miptree 0
+uniform int s 0
+
+texparameter 2D min nearest
+texparameter 2D mag nearest
+
+uniform int expected 1
+
+draw rect -1 -1 2 2
+relative probe rgba (0.5, 0.5) (0, 1, 0, 0)
diff --git a/tests/spec/arb_texture_query_levels/execution/vs-baselevel.shader_test b/tests/spec/arb_texture_query_levels/execution/vs-baselevel.shader_test
new file mode 100644
index 000000000..7e866b0fd
--- /dev/null
+++ b/tests/spec/arb_texture_query_levels/execution/vs-baselevel.shader_test
@@ -0,0 +1,44 @@
+[require]
+GLSL >= 1.30
+GL_ARB_texture_query_levels
+
+[vertex shader]
+#extension GL_ARB_texture_query_levels: require
+
+in vec4 vertex;
+out vec4 color;
+
+uniform sampler2D s;
+uniform int expected;
+
+void main() {
+ gl_Position = vertex;
+ if (textureQueryLevels(s) == expected)
+ color = vec4(0,1,0,0);
+ else
+ color = vec4(1,0,0,0);
+}
+
+[fragment shader]
+in vec4 color;
+
+void main() {
+ gl_FragColor = color;
+}
+
+[test]
+ortho
+clear color 0.4 0.4 0.4 0
+clear
+
+texture miptree 0
+uniform int s 0
+
+texparameter 2D min nearest_mipmap_nearest
+texparameter 2D mag nearest
+texparameter 2D base_level 1
+
+uniform int expected 3
+
+draw rect -1 -1 2 2
+relative probe rgba (0.5, 0.5) (0, 1, 0, 0)
diff --git a/tests/spec/arb_texture_query_levels/execution/vs-maxlevel.shader_test b/tests/spec/arb_texture_query_levels/execution/vs-maxlevel.shader_test
new file mode 100644
index 000000000..ecd56bc64
--- /dev/null
+++ b/tests/spec/arb_texture_query_levels/execution/vs-maxlevel.shader_test
@@ -0,0 +1,45 @@
+[require]
+GLSL >= 1.30
+GL_ARB_texture_query_levels
+
+[vertex shader]
+#extension GL_ARB_texture_query_levels: require
+
+in vec4 vertex;
+out vec4 color;
+
+uniform sampler2D s;
+uniform int expected;
+
+void main() {
+ gl_Position = vertex;
+ if (textureQueryLevels(s) == expected)
+ color = vec4(0,1,0,0);
+ else
+ color = vec4(1,0,0,0);
+}
+
+[fragment shader]
+in vec4 color;
+
+void main() {
+ gl_FragColor = color;
+}
+
+[test]
+ortho
+clear color 0.4 0.4 0.4 0
+clear
+
+texture miptree 0
+uniform int s 0
+
+texparameter 2D min nearest_mipmap_nearest
+texparameter 2D mag nearest
+texparameter 2D base_level 0
+texparameter 2D max_level 2
+
+uniform int expected 3
+
+draw rect -1 -1 2 2
+relative probe rgba (0.5, 0.5) (0, 1, 0, 0)
diff --git a/tests/spec/arb_texture_query_levels/execution/vs-miptree.shader_test b/tests/spec/arb_texture_query_levels/execution/vs-miptree.shader_test
new file mode 100644
index 000000000..55b725d54
--- /dev/null
+++ b/tests/spec/arb_texture_query_levels/execution/vs-miptree.shader_test
@@ -0,0 +1,43 @@
+[require]
+GLSL >= 1.30
+GL_ARB_texture_query_levels
+
+[vertex shader]
+#extension GL_ARB_texture_query_levels: require
+
+in vec4 vertex;
+out vec4 color;
+
+uniform sampler2D s;
+uniform int expected;
+
+void main() {
+ gl_Position = vertex;
+ if (textureQueryLevels(s) == expected)
+ color = vec4(0,1,0,0);
+ else
+ color = vec4(1,0,0,0);
+}
+
+[fragment shader]
+in vec4 color;
+
+void main() {
+ gl_FragColor = color;
+}
+
+[test]
+ortho
+clear color 0.4 0.4 0.4 0
+clear
+
+texture miptree 0
+uniform int s 0
+
+texparameter 2D min nearest_mipmap_nearest
+texparameter 2D mag nearest
+
+uniform int expected 4
+
+draw rect -1 -1 2 2
+relative probe rgba (0.5, 0.5) (0, 1, 0, 0)
diff --git a/tests/spec/arb_texture_query_levels/execution/vs-nomips.shader_test b/tests/spec/arb_texture_query_levels/execution/vs-nomips.shader_test
new file mode 100644
index 000000000..904d506c1
--- /dev/null
+++ b/tests/spec/arb_texture_query_levels/execution/vs-nomips.shader_test
@@ -0,0 +1,43 @@
+[require]
+GLSL >= 1.30
+GL_ARB_texture_query_levels
+
+[vertex shader]
+#extension GL_ARB_texture_query_levels: require
+
+in vec4 vertex;
+out vec4 color;
+
+uniform sampler2D s;
+uniform int expected;
+
+void main() {
+ gl_Position = vertex;
+ if (textureQueryLevels(s) == expected)
+ color = vec4(0,1,0,0);
+ else
+ color = vec4(1,0,0,0);
+}
+
+[fragment shader]
+in vec4 color;
+
+void main() {
+ gl_FragColor = color;
+}
+
+[test]
+ortho
+clear color 0.4 0.4 0.4 0
+clear
+
+texture miptree 0
+uniform int s 0
+
+texparameter 2D min nearest
+texparameter 2D mag nearest
+
+uniform int expected 1
+
+draw rect -1 -1 2 2
+relative probe rgba (0.5, 0.5) (0, 1, 0, 0)