These tests go through the builtins with goal of testing constant expression support for the double type.
Signed-off-by: Tapani Pälli <[email protected]> --- .../glsl-double-const-builtin-abs.shader_test | 19 +++++++++++++ .../glsl-double-const-builtin-ceil.shader_test | 19 +++++++++++++ .../glsl-double-const-builtin-dot.shader_test | 24 +++++++++++++++++ .../glsl-double-const-builtin-equal.shader_test | 19 +++++++++++++ .../glsl-double-const-builtin-floor.shader_test | 19 +++++++++++++ .../glsl-double-const-builtin-fract.shader_test | 19 +++++++++++++ ...sl-double-const-builtin-greaterThan.shader_test | 19 +++++++++++++ .../glsl-double-const-builtin-lessThan.shader_test | 19 +++++++++++++ ...-double-const-builtin-lessThanEqual.shader_test | 19 +++++++++++++ .../glsl-double-const-builtin-lrp.shader_test | 20 ++++++++++++++ .../glsl-double-const-builtin-max.shader_test | 19 +++++++++++++ .../glsl-double-const-builtin-min.shader_test | 19 +++++++++++++ .../glsl-double-const-builtin-mod.shader_test | 19 +++++++++++++ .../glsl-double-const-builtin-notEqual.shader_test | 19 +++++++++++++ ...glsl-double-const-builtin-roundEven.shader_test | 31 ++++++++++++++++++++++ .../glsl-double-const-builtin-sign.shader_test | 19 +++++++++++++ .../glsl-double-const-builtin-sqrt.shader_test | 18 +++++++++++++ .../glsl-double-const-builtin-trunc.shader_test | 27 +++++++++++++++++++ 18 files changed, 367 insertions(+) create mode 100644 tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-abs.shader_test create mode 100644 tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-ceil.shader_test create mode 100644 tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-dot.shader_test create mode 100644 tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-equal.shader_test create mode 100644 tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-floor.shader_test create mode 100644 tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-fract.shader_test create mode 100644 tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-greaterThan.shader_test create mode 100644 tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-lessThan.shader_test create mode 100644 tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-lessThanEqual.shader_test create mode 100644 tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-lrp.shader_test create mode 100644 tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-max.shader_test create mode 100644 tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-min.shader_test create mode 100644 tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-mod.shader_test create mode 100644 tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-notEqual.shader_test create mode 100644 tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-roundEven.shader_test create mode 100644 tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-sign.shader_test create mode 100644 tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-sqrt.shader_test create mode 100644 tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-trunc.shader_test diff --git a/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-abs.shader_test b/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-abs.shader_test new file mode 100644 index 0000000..fa47ead --- /dev/null +++ b/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-abs.shader_test @@ -0,0 +1,19 @@ +[require] +GLSL >= 1.50 +GL_ARB_gpu_shader_fp64 + +[vertex shader passthrough] + +[fragment shader] +#extension GL_ARB_gpu_shader_fp64 : enable +void main() +{ + const double x = abs(-0.5lf); + const double y = abs(0.0lf); + const double z = abs(0.5lf); + gl_FragColor = vec4(x, y, z, 1.0); +} + +[test] +draw rect -1 -1 2 2 +probe all rgb 0.5 0.0 0.5 diff --git a/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-ceil.shader_test b/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-ceil.shader_test new file mode 100644 index 0000000..e085f98 --- /dev/null +++ b/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-ceil.shader_test @@ -0,0 +1,19 @@ +[require] +GLSL >= 1.50 +GL_ARB_gpu_shader_fp64 + +[vertex shader passthrough] + +[fragment shader] +#extension GL_ARB_gpu_shader_fp64 : enable +void main() +{ + const double x = ceil(-0.5lf); + const double y = ceil(0.0lf); + const double z = ceil(0.5lf); + gl_FragColor = vec4(x, y, z, 1.0); +} + +[test] +draw rect -1 -1 2 2 +probe all rgb 0.0 0.0 1.0 diff --git a/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-dot.shader_test b/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-dot.shader_test new file mode 100644 index 0000000..daaebf9 --- /dev/null +++ b/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-dot.shader_test @@ -0,0 +1,24 @@ +[require] +GLSL >= 1.50 +GL_ARB_gpu_shader_fp64 + +[vertex shader passthrough] + +[fragment shader] +#version 150 +#extension GL_ARB_gpu_shader_fp64 : enable +void main() +{ + const dvec2 c1 = dvec2(2.0lf, 4.0lf); + const dvec2 c2 = dvec2(1.0lf, 5.0lf); + const double c = dot(c1, c2); + + if (c == 22.0) + gl_FragColor = vec4(0.0, 1.0, 0.0, 0.0); + else + gl_FragColor = vec4(1.0, 0.0, 0.0, 0.0); +} + +[test] +draw rect -1 -1 2 2 +probe all rgb 0.0 1.0 0.0 diff --git a/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-equal.shader_test b/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-equal.shader_test new file mode 100644 index 0000000..5399440 --- /dev/null +++ b/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-equal.shader_test @@ -0,0 +1,19 @@ +[require] +GLSL >= 1.50 +GL_ARB_gpu_shader_fp64 + +[vertex shader passthrough] + +[fragment shader] +#version 150 +#extension GL_ARB_gpu_shader_fp64 : enable +void main() { + const dvec3 small = dvec3(1.0lf, 2.0lf, 3.0lf); + const dvec3 large = dvec3(0.5lf, 2.0lf, 6.0lf); + const bvec3 result = equal(large, small); + gl_FragColor = vec4(result, 1.0); +} + +[test] +draw rect -1 -1 2 2 +probe all rgb 0.0 1.0 0.0 diff --git a/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-floor.shader_test b/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-floor.shader_test new file mode 100644 index 0000000..9249719 --- /dev/null +++ b/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-floor.shader_test @@ -0,0 +1,19 @@ +[require] +GLSL >= 1.50 +GL_ARB_gpu_shader_fp64 + +[vertex shader passthrough] + +[fragment shader] +#extension GL_ARB_gpu_shader_fp64 : enable +void main() +{ + const double x = floor(-0.5lf); + const double y = floor(0.0lf); + const double z = floor(0.5lf); + gl_FragColor = vec4(x + 1.7, y, z, 1.0); +} + +[test] +draw rect -1 -1 2 2 +probe all rgb 0.7 0.0 0.0 diff --git a/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-fract.shader_test b/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-fract.shader_test new file mode 100644 index 0000000..e1b9951 --- /dev/null +++ b/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-fract.shader_test @@ -0,0 +1,19 @@ +[require] +GLSL >= 1.50 +GL_ARB_gpu_shader_fp64 + +[vertex shader passthrough] + +[fragment shader] +#extension GL_ARB_gpu_shader_fp64 : enable +void main() +{ + const double x = fract(1.7lf); + const double y = fract(6.0lf); + const double z = fract(-1.7lf); /* should be 0.3 */ + gl_FragColor = vec4(x, y, z, 1.0); +} + +[test] +draw rect -1 -1 2 2 +probe all rgb 0.7 0.0 0.3 diff --git a/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-greaterThan.shader_test b/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-greaterThan.shader_test new file mode 100644 index 0000000..065aba6 --- /dev/null +++ b/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-greaterThan.shader_test @@ -0,0 +1,19 @@ +[require] +GLSL >= 1.50 +GL_ARB_gpu_shader_fp64 + +[vertex shader passthrough] + +[fragment shader] +#version 150 +#extension GL_ARB_gpu_shader_fp64 : enable +void main() { + const dvec3 small = dvec3(1.0lf, 2.0lf, 3.0lf); + const dvec3 large = dvec3(0.5lf, 2.0lf, 6.0lf); + const bvec3 result = greaterThan(large, small); + gl_FragColor = vec4(result, 1.0); +} + +[test] +draw rect -1 -1 2 2 +probe all rgb 0.0 0.0 1.0 diff --git a/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-lessThan.shader_test b/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-lessThan.shader_test new file mode 100644 index 0000000..326780c --- /dev/null +++ b/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-lessThan.shader_test @@ -0,0 +1,19 @@ +[require] +GLSL >= 1.50 +GL_ARB_gpu_shader_fp64 + +[vertex shader passthrough] + +[fragment shader] +#version 150 +#extension GL_ARB_gpu_shader_fp64 : enable +void main() { + const dvec3 small = dvec3(1.0lf, 2.0lf, 3.0lf); + const dvec3 large = dvec3(0.5lf, 2.0lf, 6.0lf); + const bvec3 result = lessThan(large, small); + gl_FragColor = vec4(result, 1.0); +} + +[test] +draw rect -1 -1 2 2 +probe all rgb 1.0 0.0 0.0 diff --git a/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-lessThanEqual.shader_test b/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-lessThanEqual.shader_test new file mode 100644 index 0000000..832fef8 --- /dev/null +++ b/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-lessThanEqual.shader_test @@ -0,0 +1,19 @@ +[require] +GLSL >= 1.50 +GL_ARB_gpu_shader_fp64 + +[vertex shader passthrough] + +[fragment shader] +#version 150 +#extension GL_ARB_gpu_shader_fp64 : enable +void main() { + const dvec3 small = dvec3(1.0lf, 2.0lf, 3.0lf); + const dvec3 large = dvec3(0.5lf, 2.0lf, 6.0lf); + const bvec3 result = lessThanEqual(large, small); + gl_FragColor = vec4(result, 1.0); +} + +[test] +draw rect -1 -1 2 2 +probe all rgb 1.0 1.0 0.0 diff --git a/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-lrp.shader_test b/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-lrp.shader_test new file mode 100644 index 0000000..1fdcb96 --- /dev/null +++ b/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-lrp.shader_test @@ -0,0 +1,20 @@ +[require] +GLSL >= 1.50 +GL_ARB_gpu_shader_fp64 + +[vertex shader passthrough] + +[fragment shader] +#version 150 +#extension GL_ARB_gpu_shader_fp64 : enable +void main() +{ + const dvec4 red = dvec4(1.0, 0.0, 0.0, 1.0); + const dvec4 blue = dvec4(0.0, 0.0, 1.0, 1.0); + const dvec4 mixer = dvec4(0.5); + gl_FragColor = vec4(mix(red, blue, mixer)); +} + +[test] +draw rect -1 -1 2 2 +probe all rgb 0.5 0.0 0.5 diff --git a/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-max.shader_test b/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-max.shader_test new file mode 100644 index 0000000..496c7b7 --- /dev/null +++ b/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-max.shader_test @@ -0,0 +1,19 @@ +[require] +GLSL >= 1.50 +GL_ARB_gpu_shader_fp64 + +[vertex shader passthrough] + +[fragment shader] +#version 150 +#extension GL_ARB_gpu_shader_fp64 : enable +void main() +{ + const double x = max(0.25lf, -5.0lf); + const dvec2 v = max(vec2(0.5lf, 0.2lf), 0.25lf); + gl_FragColor = vec4(x, v, 1.0); +} + +[test] +draw rect -1 -1 2 2 +probe all rgb 0.25 0.5 0.25 diff --git a/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-min.shader_test b/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-min.shader_test new file mode 100644 index 0000000..bfee42f --- /dev/null +++ b/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-min.shader_test @@ -0,0 +1,19 @@ +[require] +GLSL >= 1.50 +GL_ARB_gpu_shader_fp64 + +[vertex shader passthrough] + +[fragment shader] +#version 150 +#extension GL_ARB_gpu_shader_fp64 : enable +void main() +{ + const double x = min(0.25lf, 0.5lf); + const dvec2 v = min(dvec2(0.25lf, 0.7lf), 0.5lf); + gl_FragColor = vec4(x, v, 1.0); +} + +[test] +draw rect -1 -1 2 2 +probe all rgb 0.25 0.25 0.5 diff --git a/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-mod.shader_test b/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-mod.shader_test new file mode 100644 index 0000000..3ad4fc2 --- /dev/null +++ b/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-mod.shader_test @@ -0,0 +1,19 @@ +[require] +GLSL >= 1.50 +GL_ARB_gpu_shader_fp64 + +[vertex shader passthrough] + +[fragment shader] +#version 150 +#extension GL_ARB_gpu_shader_fp64 : enable +void main() +{ + const dvec2 v1 = mod(dvec2(-3.0lf, 43.5lf), dvec2(0.9lf, -4.0lf)); /* (-0.5, 0.6) */ + const dvec2 v2 = mod(dvec2(0.2lf, 6.0lf), 1.3lf); + gl_FragColor = vec4(v1.x + v1.y, v2, 1.0); +} + +[test] +draw rect -1 -1 2 2 +probe all rgb 0.1 0.2 0.8 diff --git a/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-notEqual.shader_test b/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-notEqual.shader_test new file mode 100644 index 0000000..6fa4ea6 --- /dev/null +++ b/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-notEqual.shader_test @@ -0,0 +1,19 @@ +[require] +GLSL >= 1.50 +GL_ARB_gpu_shader_fp64 + +[vertex shader passthrough] + +[fragment shader] +#version 150 +#extension GL_ARB_gpu_shader_fp64 : enable +void main() { + const dvec3 small = dvec3(1.0lf, 2.0lf, 3.0lf); + const dvec3 large = dvec3(0.5lf, 2.0lf, 6.0lf); + const bvec3 result = notEqual(large, small); + gl_FragColor = vec4(result, 1.0); +} + +[test] +draw rect -1 -1 2 2 +probe all rgb 1.0 0.0 1.0 diff --git a/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-roundEven.shader_test b/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-roundEven.shader_test new file mode 100644 index 0000000..b7b8a26 --- /dev/null +++ b/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-roundEven.shader_test @@ -0,0 +1,31 @@ +[require] +GLSL >= 1.50 +GL_ARB_gpu_shader_fp64 + +[vertex shader passthrough] + +[fragment shader] +#version 150 +#extension GL_ARB_gpu_shader_fp64 : enable +void main() +{ + /* Divide by 10 to get a decimal part */ + double x = gl_FragCoord.x / 10.0lf; + + /* Divide by 25.0 to bring it into the [0, 1] range. */ + gl_FragColor = vec4(roundEven(x) / 25.0lf, -roundEven(-x) / 25.0lf, 0.0lf, 1.0lf); +} + +[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 14 14 0.04 0.04 0 +probe rgb 15 15 0.08 0.08 0 +probe rgb 16 16 0.08 0.08 0 +probe rgb 63 63 0.24 0.24 0 +probe rgb 124 124 0.48 0.48 0 +probe rgb 126 126 0.52 0.52 0 +probe rgb 249 249 1.00 1.00 0 diff --git a/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-sign.shader_test b/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-sign.shader_test new file mode 100644 index 0000000..2ac1047 --- /dev/null +++ b/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-sign.shader_test @@ -0,0 +1,19 @@ +[require] +GLSL >= 1.50 +GL_ARB_gpu_shader_fp64 + +[vertex shader passthrough] + +[fragment shader] +#version 150 +#extension GL_ARB_gpu_shader_fp64 : enable +void main() +{ + const dvec3 signs = sign(dvec3(0.0lf, -42.9lf, 55.7lf)); + const float one = float(signs.x == signs.y + signs.z); + gl_FragColor = vec4(0.0, one, 0.0, one); +} + +[test] +draw rect -1 -1 2 2 +probe all rgb 0.0 1.0 0.0 diff --git a/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-sqrt.shader_test b/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-sqrt.shader_test new file mode 100644 index 0000000..7f124f2 --- /dev/null +++ b/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-sqrt.shader_test @@ -0,0 +1,18 @@ +[require] +GLSL >= 1.50 +GL_ARB_gpu_shader_fp64 + +[vertex shader passthrough] + +[fragment shader] +#version 150 +#extension GL_ARB_gpu_shader_fp64 : enable +void main() +{ + const double one_half = sqrt(16.0lf) - 3.5; + gl_FragColor = vec4(0.0, one_half, 0.0, 1.0); +} + +[test] +draw rect -1 -1 2 2 +probe all rgb 0.0 0.5 0.0 diff --git a/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-trunc.shader_test b/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-trunc.shader_test new file mode 100644 index 0000000..92fd221 --- /dev/null +++ b/tests/spec/arb_gpu_shader_fp64/execution/built-in-functions/glsl-double-const-builtin-trunc.shader_test @@ -0,0 +1,27 @@ +[require] +GLSL >= 1.50 +GL_ARB_gpu_shader_fp64 + +[vertex shader passthrough] + +[fragment shader] +#version 150 +#extension GL_ARB_gpu_shader_fp64 : enable +void main() +{ + /* Divide by 10 to get a decimal part */ + double x = gl_FragCoord.x / 10.0lf; + + /* Divide by 25.0 to bring it into the [0, 1] range. */ + gl_FragColor = vec4(trunc(x) / 25.0lf, -trunc(-x) / 25.0lf, 0.0lf, 1.0lf); +} + +[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 -- 1.9.3 _______________________________________________ Piglit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/piglit
