From 27ff4277f27a5ce18e54ac845856dc7f8662aae0 Mon Sep 17 00:00:00 2001 From: Chris Forbes Date: Fri, 27 Sep 2013 05:43:44 +1200 Subject: 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 Reviewed-by: Matt Turner --- .../execution/fs-baselevel.shader_test | 35 +++++++++++++++++ .../execution/fs-maxlevel.shader_test | 35 +++++++++++++++++ .../execution/fs-miptree.shader_test | 34 ++++++++++++++++ .../execution/fs-nomips.shader_test | 34 ++++++++++++++++ .../execution/vs-baselevel.shader_test | 44 +++++++++++++++++++++ .../execution/vs-maxlevel.shader_test | 45 ++++++++++++++++++++++ .../execution/vs-miptree.shader_test | 43 +++++++++++++++++++++ .../execution/vs-nomips.shader_test | 43 +++++++++++++++++++++ 8 files changed, 313 insertions(+) create mode 100644 tests/spec/arb_texture_query_levels/execution/fs-baselevel.shader_test create mode 100644 tests/spec/arb_texture_query_levels/execution/fs-maxlevel.shader_test create mode 100644 tests/spec/arb_texture_query_levels/execution/fs-miptree.shader_test create mode 100644 tests/spec/arb_texture_query_levels/execution/fs-nomips.shader_test create mode 100644 tests/spec/arb_texture_query_levels/execution/vs-baselevel.shader_test create mode 100644 tests/spec/arb_texture_query_levels/execution/vs-maxlevel.shader_test create mode 100644 tests/spec/arb_texture_query_levels/execution/vs-miptree.shader_test create mode 100644 tests/spec/arb_texture_query_levels/execution/vs-nomips.shader_test 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) -- cgit v1.2.3