[Piglit] [PATCH] Add basic execution tests for GL_AMD_shader_trinary_minmax.
Signed-off-by: Petri Latvala petri.latv...@intel.com --- These three tests are very simple tests for GL_AMD_shader_trinary_minmax functions that I used for regression-testing Mesa optimizations when constants are involved in the calls. Tested on Mesa/Haswell, the tests pass. I will need someone to push this if it's accepted. tests/all.py | 3 ++ .../execution/max3-basic.shader_test | 50 ++ .../execution/mid3-basic.shader_test | 50 ++ .../execution/min3-basic.shader_test | 50 ++ 4 files changed, 153 insertions(+) create mode 100644 tests/spec/amd_shader_trinary_minmax/execution/max3-basic.shader_test create mode 100644 tests/spec/amd_shader_trinary_minmax/execution/mid3-basic.shader_test create mode 100644 tests/spec/amd_shader_trinary_minmax/execution/min3-basic.shader_test diff --git a/tests/all.py b/tests/all.py index 553ae76..a67e725 100644 --- a/tests/all.py +++ b/tests/all.py @@ -1434,6 +1434,9 @@ spec['AMD_shader_trinary_minmax'] = {} import_glsl_parser_tests(spec['AMD_shader_trinary_minmax'], os.path.join(testsDir, 'spec', 'amd_shader_trinary_minmax'), ['']) +add_shader_test_dir(spec['AMD_shader_trinary_minmax'], +os.path.join(testsDir, 'spec', 'amd_shader_trinary_minmax'), +recursive=True) # Group ARB_point_sprite arb_point_sprite = {} diff --git a/tests/spec/amd_shader_trinary_minmax/execution/max3-basic.shader_test b/tests/spec/amd_shader_trinary_minmax/execution/max3-basic.shader_test new file mode 100644 index 000..be28d7b --- /dev/null +++ b/tests/spec/amd_shader_trinary_minmax/execution/max3-basic.shader_test @@ -0,0 +1,50 @@ +[require] +GLSL = 1.10 +GL_AMD_shader_trinary_minmax + +[vertex shader passthrough] + +[fragment shader] + +#extension GL_AMD_shader_trinary_minmax : require + +uniform float zero; +uniform float one; +uniform float middle; + +float test_all_constants() +{ + return max3(0.0, 1.0, 0.5); +} + +float test_two_constants() +{ + return max3(0.5, one, 0.0); +} + +float test_one_constant() +{ + return max3(one, zero, 0.5); +} + +float test_no_constants() +{ + return max3(middle, one, zero); +} + +void main() +{ + float r = test_all_constants(); + float g = test_two_constants(); + float b = test_one_constant(); + float a = test_no_constants(); + + gl_FragColor = vec4(r, g, b, a); +} + +[test] +uniform float zero 0.0 +uniform float one 1.0 +uniform float middle 0.5 +draw rect -1 -1 2 2 +probe all rgba 1.0 1.0 1.0 1.0 diff --git a/tests/spec/amd_shader_trinary_minmax/execution/mid3-basic.shader_test b/tests/spec/amd_shader_trinary_minmax/execution/mid3-basic.shader_test new file mode 100644 index 000..719f138 --- /dev/null +++ b/tests/spec/amd_shader_trinary_minmax/execution/mid3-basic.shader_test @@ -0,0 +1,50 @@ +[require] +GLSL = 1.10 +GL_AMD_shader_trinary_minmax + +[vertex shader passthrough] + +[fragment shader] + +#extension GL_AMD_shader_trinary_minmax : require + +uniform float zero; +uniform float one; +uniform float middle; + +float test_all_constants() +{ + return mid3(0.0, 1.0, 0.5); +} + +float test_two_constants() +{ + return mid3(0.5, one, 0.0); +} + +float test_one_constant() +{ + return mid3(one, zero, 0.5); +} + +float test_no_constants() +{ + return mid3(middle, one, zero); +} + +void main() +{ + float r = test_all_constants(); + float g = test_two_constants(); + float b = test_one_constant(); + float a = test_no_constants(); + + gl_FragColor = vec4(r, g, b, a); +} + +[test] +uniform float zero 0.0 +uniform float one 1.0 +uniform float middle 0.5 +draw rect -1 -1 2 2 +probe all rgba 0.5 0.5 0.5 0.5 diff --git a/tests/spec/amd_shader_trinary_minmax/execution/min3-basic.shader_test b/tests/spec/amd_shader_trinary_minmax/execution/min3-basic.shader_test new file mode 100644 index 000..3589b8e --- /dev/null +++ b/tests/spec/amd_shader_trinary_minmax/execution/min3-basic.shader_test @@ -0,0 +1,50 @@ +[require] +GLSL = 1.10 +GL_AMD_shader_trinary_minmax + +[vertex shader passthrough] + +[fragment shader] + +#extension GL_AMD_shader_trinary_minmax : require + +uniform float zero; +uniform float one; +uniform float middle; + +float test_all_constants() +{ + return min3(0.0, 1.0, 0.5); +} + +float test_two_constants() +{ + return min3(0.5, one, 0.0); +} + +float test_one_constant() +{ + return min3(one, zero, 0.5); +} + +float test_no_constants() +{ + return min3(middle, one, zero); +} + +void main() +{ + float r = test_all_constants(); + float g = test_two_constants(); + float b = test_one_constant(); + float a = test_no_constants(); + + gl_FragColor = vec4(r, g, b, a); +} + +[test] +uniform float zero 0.0 +uniform float one 1.0 +uniform
Re: [Piglit] [PATCH] Add basic execution tests for GL_AMD_shader_trinary_minmax.
There are a bunch of generated tests for this extension (in generated_tests/spec/AMD_shader_trinary_minmax/). Since these are specifically testing cases with constants, I'd rename these mid3-with-constants.shader_test. On 04/30/2014 02:28 AM, Petri Latvala wrote: Signed-off-by: Petri Latvala petri.latv...@intel.com --- These three tests are very simple tests for GL_AMD_shader_trinary_minmax functions that I used for regression-testing Mesa optimizations when constants are involved in the calls. Tested on Mesa/Haswell, the tests pass. The above text should go in the commit message. Other than that, I think these tests are fine. Reviewed-by: Ian Romanick ian.d.roman...@intel.com I will need someone to push this if it's accepted. tests/all.py | 3 ++ .../execution/max3-basic.shader_test | 50 ++ .../execution/mid3-basic.shader_test | 50 ++ .../execution/min3-basic.shader_test | 50 ++ 4 files changed, 153 insertions(+) create mode 100644 tests/spec/amd_shader_trinary_minmax/execution/max3-basic.shader_test create mode 100644 tests/spec/amd_shader_trinary_minmax/execution/mid3-basic.shader_test create mode 100644 tests/spec/amd_shader_trinary_minmax/execution/min3-basic.shader_test diff --git a/tests/all.py b/tests/all.py index 553ae76..a67e725 100644 --- a/tests/all.py +++ b/tests/all.py @@ -1434,6 +1434,9 @@ spec['AMD_shader_trinary_minmax'] = {} import_glsl_parser_tests(spec['AMD_shader_trinary_minmax'], os.path.join(testsDir, 'spec', 'amd_shader_trinary_minmax'), ['']) +add_shader_test_dir(spec['AMD_shader_trinary_minmax'], +os.path.join(testsDir, 'spec', 'amd_shader_trinary_minmax'), +recursive=True) # Group ARB_point_sprite arb_point_sprite = {} diff --git a/tests/spec/amd_shader_trinary_minmax/execution/max3-basic.shader_test b/tests/spec/amd_shader_trinary_minmax/execution/max3-basic.shader_test new file mode 100644 index 000..be28d7b --- /dev/null +++ b/tests/spec/amd_shader_trinary_minmax/execution/max3-basic.shader_test @@ -0,0 +1,50 @@ +[require] +GLSL = 1.10 +GL_AMD_shader_trinary_minmax + +[vertex shader passthrough] + +[fragment shader] + +#extension GL_AMD_shader_trinary_minmax : require + +uniform float zero; +uniform float one; +uniform float middle; + +float test_all_constants() +{ + return max3(0.0, 1.0, 0.5); +} + +float test_two_constants() +{ + return max3(0.5, one, 0.0); +} + +float test_one_constant() +{ + return max3(one, zero, 0.5); +} + +float test_no_constants() +{ + return max3(middle, one, zero); +} + +void main() +{ + float r = test_all_constants(); + float g = test_two_constants(); + float b = test_one_constant(); + float a = test_no_constants(); + + gl_FragColor = vec4(r, g, b, a); +} + +[test] +uniform float zero 0.0 +uniform float one 1.0 +uniform float middle 0.5 +draw rect -1 -1 2 2 +probe all rgba 1.0 1.0 1.0 1.0 diff --git a/tests/spec/amd_shader_trinary_minmax/execution/mid3-basic.shader_test b/tests/spec/amd_shader_trinary_minmax/execution/mid3-basic.shader_test new file mode 100644 index 000..719f138 --- /dev/null +++ b/tests/spec/amd_shader_trinary_minmax/execution/mid3-basic.shader_test @@ -0,0 +1,50 @@ +[require] +GLSL = 1.10 +GL_AMD_shader_trinary_minmax + +[vertex shader passthrough] + +[fragment shader] + +#extension GL_AMD_shader_trinary_minmax : require + +uniform float zero; +uniform float one; +uniform float middle; + +float test_all_constants() +{ + return mid3(0.0, 1.0, 0.5); +} + +float test_two_constants() +{ + return mid3(0.5, one, 0.0); +} + +float test_one_constant() +{ + return mid3(one, zero, 0.5); +} + +float test_no_constants() +{ + return mid3(middle, one, zero); +} + +void main() +{ + float r = test_all_constants(); + float g = test_two_constants(); + float b = test_one_constant(); + float a = test_no_constants(); + + gl_FragColor = vec4(r, g, b, a); +} + +[test] +uniform float zero 0.0 +uniform float one 1.0 +uniform float middle 0.5 +draw rect -1 -1 2 2 +probe all rgba 0.5 0.5 0.5 0.5 diff --git a/tests/spec/amd_shader_trinary_minmax/execution/min3-basic.shader_test b/tests/spec/amd_shader_trinary_minmax/execution/min3-basic.shader_test new file mode 100644 index 000..3589b8e --- /dev/null +++ b/tests/spec/amd_shader_trinary_minmax/execution/min3-basic.shader_test @@ -0,0 +1,50 @@ +[require] +GLSL = 1.10 +GL_AMD_shader_trinary_minmax + +[vertex shader passthrough] + +[fragment shader] + +#extension GL_AMD_shader_trinary_minmax : require + +uniform float zero; +uniform float one; +uniform float middle; + +float
Re: [Piglit] [PATCH] Add basic execution tests for GL_AMD_shader_trinary_minmax.
Petri Latvala petri.latv...@intel.com writes: Signed-off-by: Petri Latvala petri.latv...@intel.com --- These three tests are very simple tests for GL_AMD_shader_trinary_minmax functions that I used for regression-testing Mesa optimizations when constants are involved in the calls. Tested on Mesa/Haswell, the tests pass. I will need someone to push this if it's accepted. Reviewed and pushed. pgpQ5vZGTZdvB.pgp Description: PGP signature ___ Piglit mailing list Piglit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/piglit