diff options
author | Kenneth Graunke <kenneth@whitecape.org> | 2010-07-13 21:56:07 -0700 |
---|---|---|
committer | Kenneth Graunke <kenneth@whitecape.org> | 2010-07-14 15:22:05 -0700 |
commit | fc726fbbbb8b5990d87cde24927f826ff5f63aea (patch) | |
tree | e566005d7613149dfd8fc39fb58d4b4bb021a28c /tests | |
parent | d9cf9dcdc5df3d684c0bbaca607fe1b44f12c3da (diff) |
Add GLSL 1.20 tests for constant expressions involving builtins.
Diffstat (limited to 'tests')
32 files changed, 601 insertions, 0 deletions
diff --git a/tests/all.tests b/tests/all.tests index 7b14ba6c..b63979a1 100644 --- a/tests/all.tests +++ b/tests/all.tests @@ -292,6 +292,31 @@ add_shader_generic(shaders, 'glsl-vs-vec4-indexing-6') add_shader_generic(shaders, 'glsl-texcoord-array') add_shader_generic(shaders, 'glsl-pp-elif-no-expression-1') add_shader_generic(shaders, 'glsl-implicit-conversion-01') +add_shader_generic(shaders, 'glsl-const-builtin-abs') +add_shader_generic(shaders, 'glsl-const-builtin-acos') +add_shader_generic(shaders, 'glsl-const-builtin-asin') +add_shader_generic(shaders, 'glsl-const-builtin-atan') +add_shader_generic(shaders, 'glsl-const-builtin-clamp') +add_shader_generic(shaders, 'glsl-const-builtin-cos') +add_shader_generic(shaders, 'glsl-const-builtin-degrees') +add_shader_generic(shaders, 'glsl-const-builtin-derivatives') +add_shader_generic(shaders, 'glsl-const-builtin-dot') +add_shader_generic(shaders, 'glsl-const-builtin-exp2') +add_shader_generic(shaders, 'glsl-const-builtin-exp-log') +add_shader_generic(shaders, 'glsl-const-builtin-floor-ceil') +add_shader_generic(shaders, 'glsl-const-builtin-fract') +add_shader_generic(shaders, 'glsl-const-builtin-greaterThan') +add_shader_generic(shaders, 'glsl-const-builtin-inversesqrt') +add_shader_generic(shaders, 'glsl-const-builtin-log2') +add_shader_generic(shaders, 'glsl-const-builtin-max') +add_shader_generic(shaders, 'glsl-const-builtin-min') +add_shader_generic(shaders, 'glsl-const-builtin-mod') +add_shader_generic(shaders, 'glsl-const-builtin-pow') +add_shader_generic(shaders, 'glsl-const-builtin-radians') +add_shader_generic(shaders, 'glsl-const-builtin-sign') +add_shader_generic(shaders, 'glsl-const-builtin-sin') +add_shader_generic(shaders, 'glsl-const-builtin-sqrt') +add_shader_generic(shaders, 'glsl-const-builtin-tan') add_plain_test(shaders, 'glsl-sin') add_plain_test(shaders, 'glsl-cos') add_plain_test(shaders, 'glsl-vs-if-bool') diff --git a/tests/glslparser.tests b/tests/glslparser.tests index e6f4062f..9c30b3ce 100644 --- a/tests/glslparser.tests +++ b/tests/glslparser.tests @@ -247,6 +247,11 @@ add_otherglslparsertest('glsl2/const-mat-scalar-04.frag', 'pass') add_otherglslparsertest('glsl2/const-matrix-multiply-01.frag', 'pass') add_otherglslparsertest('glsl2/const-matrix-multiply-02.frag', 'pass', '1.20') add_otherglslparsertest('glsl2/const-vec-mat.frag', 'pass') +add_otherglslparsertest('glsl2/const-builtin-110.frag', 'fail') +add_otherglslparsertest('glsl2/const-builtin-noise1.frag', 'fail') +add_otherglslparsertest('glsl2/const-builtin-noise2.frag', 'fail') +add_otherglslparsertest('glsl2/const-builtin-noise3.frag', 'fail') +add_otherglslparsertest('glsl2/const-builtin-noise4.frag', 'fail') add_otherglslparsertest('glsl2/draw_buffers-01.frag', 'pass') add_otherglslparsertest('glsl2/draw_buffers-05.vert', 'pass') add_otherglslparsertest('glsl2/draw_buffers-06.vert', 'pass') diff --git a/tests/glslparsertest/glsl2/const-builtin-110.frag b/tests/glslparsertest/glsl2/const-builtin-110.frag new file mode 100644 index 00000000..8d0f4701 --- /dev/null +++ b/tests/glslparsertest/glsl2/const-builtin-110.frag @@ -0,0 +1,5 @@ +/* FAIL - calls to builtins are not legal in 1.10 */ +#version 110 +void main() { + const float one = abs(-1.0); +} diff --git a/tests/glslparsertest/glsl2/const-builtin-noise1.frag b/tests/glslparsertest/glsl2/const-builtin-noise1.frag new file mode 100644 index 00000000..bbad6dc2 --- /dev/null +++ b/tests/glslparsertest/glsl2/const-builtin-noise1.frag @@ -0,0 +1,5 @@ +/* FAIL - noise functions are not allowed in constant expressions */ +#version 120 +void main() { + const float noise = noise1(0.5); +} diff --git a/tests/glslparsertest/glsl2/const-builtin-noise2.frag b/tests/glslparsertest/glsl2/const-builtin-noise2.frag new file mode 100644 index 00000000..fea3d979 --- /dev/null +++ b/tests/glslparsertest/glsl2/const-builtin-noise2.frag @@ -0,0 +1,5 @@ +/* FAIL - noise functions are not allowed in constant expressions */ +#version 120 +void main() { + const vec2 noise = noise2(0.5); +} diff --git a/tests/glslparsertest/glsl2/const-builtin-noise3.frag b/tests/glslparsertest/glsl2/const-builtin-noise3.frag new file mode 100644 index 00000000..59c28361 --- /dev/null +++ b/tests/glslparsertest/glsl2/const-builtin-noise3.frag @@ -0,0 +1,5 @@ +/* FAIL - noise functions are not allowed in constant expressions */ +#version 120 +void main() { + const vec3 noise = noise3(0.5); +} diff --git a/tests/glslparsertest/glsl2/const-builtin-noise4.frag b/tests/glslparsertest/glsl2/const-builtin-noise4.frag new file mode 100644 index 00000000..16973996 --- /dev/null +++ b/tests/glslparsertest/glsl2/const-builtin-noise4.frag @@ -0,0 +1,5 @@ +/* FAIL - noise functions are not allowed in constant expressions */ +#version 120 +void main() { + const vec4 noise = noise4(0.5); +} diff --git a/tests/shaders/glsl-const-builtin-abs.shader_test b/tests/shaders/glsl-const-builtin-abs.shader_test new file mode 100644 index 00000000..1c5af276 --- /dev/null +++ b/tests/shaders/glsl-const-builtin-abs.shader_test @@ -0,0 +1,21 @@ +[require] +GL >= 2.0 +GLSL >= 1.20 + +[vertex shader file] +glsl-mvp.vert + +[fragment shader] +#version 120 +void main() +{ + const float x = abs(-0.5); + gl_FragColor = vec4(0.0, x + x, 0.0, 1.0); +} + +[test] +clear color 0.0 0.0 0.0 0.0 +clear +ortho +draw rect 10 10 10 10 +probe rgb 15 15 0.0 1.0 0.0 diff --git a/tests/shaders/glsl-const-builtin-acos.shader_test b/tests/shaders/glsl-const-builtin-acos.shader_test new file mode 100644 index 00000000..4b535b65 --- /dev/null +++ b/tests/shaders/glsl-const-builtin-acos.shader_test @@ -0,0 +1,21 @@ +[require] +GL >= 2.0 +GLSL >= 1.20 + +[vertex shader file] +glsl-mvp.vert + +[fragment shader] +#version 120 +void main() { + const float zero = acos(1.0); + const float zero2 = acos(1); + gl_FragColor = vec4(zero, 1.0, zero2, 1.0); +} + +[test] +clear color 0.0 0.0 0.0 0.0 +clear +ortho +draw rect 10 10 10 10 +probe rgb 15 15 0.0 1.0 0.0 diff --git a/tests/shaders/glsl-const-builtin-asin.shader_test b/tests/shaders/glsl-const-builtin-asin.shader_test new file mode 100644 index 00000000..db5a535e --- /dev/null +++ b/tests/shaders/glsl-const-builtin-asin.shader_test @@ -0,0 +1,20 @@ +[require] +GL >= 2.0 +GLSL >= 1.20 + +[vertex shader file] +glsl-mvp.vert + +[fragment shader] +#version 120 +void main() { + const float zero = asin(0.0); + gl_FragColor = vec4(zero, 1.0, zero, 1.0); +} + +[test] +clear color 0.0 0.0 0.0 0.0 +clear +ortho +draw rect 10 10 10 10 +probe rgb 15 15 0.0 1.0 0.0 diff --git a/tests/shaders/glsl-const-builtin-atan.shader_test b/tests/shaders/glsl-const-builtin-atan.shader_test new file mode 100644 index 00000000..4a231302 --- /dev/null +++ b/tests/shaders/glsl-const-builtin-atan.shader_test @@ -0,0 +1,24 @@ +[require] +GL >= 2.0 +GLSL >= 1.20 + +[vertex shader file] +glsl-mvp.vert + +[fragment shader] +#version 120 +void main() { + const float x = atan(100.0, 100.0); + const float y = atan(1); + if (x == y) + gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0); + else + gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0); +} + +[test] +clear color 0.0 0.0 0.0 0.0 +clear +ortho +draw rect 10 10 10 10 +probe rgb 15 15 0.0 1.0 0.0 diff --git a/tests/shaders/glsl-const-builtin-clamp.shader_test b/tests/shaders/glsl-const-builtin-clamp.shader_test new file mode 100644 index 00000000..b111690d --- /dev/null +++ b/tests/shaders/glsl-const-builtin-clamp.shader_test @@ -0,0 +1,22 @@ +[require] +GL >= 2.0 +GLSL >= 1.20 + +[vertex shader file] +glsl-mvp.vert + +[fragment shader] +#version 120 +void main() +{ + const vec2 v1 = clamp(vec2(-10.0, -15.0), vec2(-5.0, 5.0), vec2(1.0, 10.0)); + const vec2 v2 = clamp(v1, -0.25, 1.25); + gl_FragColor = vec4(0.0, v2.x + v2.y, 0.0, 1.0); +} + +[test] +clear color 0.0 0.0 0.0 0.0 +clear +ortho +draw rect 10 10 10 10 +probe rgb 15 15 0.0 1.0 0.0 diff --git a/tests/shaders/glsl-const-builtin-cos.shader_test b/tests/shaders/glsl-const-builtin-cos.shader_test new file mode 100644 index 00000000..8a53d00a --- /dev/null +++ b/tests/shaders/glsl-const-builtin-cos.shader_test @@ -0,0 +1,20 @@ +[require] +GL >= 2.0 +GLSL >= 1.20 + +[vertex shader file] +glsl-mvp.vert + +[fragment shader] +#version 120 +void main() { + const float one = cos(0.0); + gl_FragColor = vec4(0, one, 0, one); +} + +[test] +clear color 0.0 0.0 0.0 0.0 +clear +ortho +draw rect 10 10 10 10 +probe rgb 15 15 0.0 1.0 0.0 diff --git a/tests/shaders/glsl-const-builtin-degrees.shader_test b/tests/shaders/glsl-const-builtin-degrees.shader_test new file mode 100644 index 00000000..1017d35a --- /dev/null +++ b/tests/shaders/glsl-const-builtin-degrees.shader_test @@ -0,0 +1,23 @@ +[require] +GL >= 2.0 +GLSL >= 1.20 + +[vertex shader file] +glsl-mvp.vert + +[fragment shader] +#version 120 +void main() { + const int x = int(degrees(3.1415926535)); + if (x == 180) + gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0); + else + gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0); +} + +[test] +clear color 0.0 0.0 0.0 0.0 +clear +ortho +draw rect 10 10 10 10 +probe rgb 15 15 0.0 1.0 0.0 diff --git a/tests/shaders/glsl-const-builtin-derivatives.shader_test b/tests/shaders/glsl-const-builtin-derivatives.shader_test new file mode 100644 index 00000000..86051f79 --- /dev/null +++ b/tests/shaders/glsl-const-builtin-derivatives.shader_test @@ -0,0 +1,26 @@ +[require] +GL >= 2.0 +GLSL >= 1.20 + +[vertex shader file] +glsl-mvp.vert + +[fragment shader] +#version 120 +void main() { + const float dx = dFdx(0.0); + const float dy = dFdy(0.0); + const float fw = fwidth(0.0); + if (dx == 0.0 && dy == 0.0 && fw == 0.0) { + gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0); + } else { + gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0); + } +} + +[test] +clear color 0.0 0.0 0.0 0.0 +clear +ortho +draw rect 10 10 10 10 +probe rgb 15 15 0.0 1.0 0.0 diff --git a/tests/shaders/glsl-const-builtin-dot.shader_test b/tests/shaders/glsl-const-builtin-dot.shader_test new file mode 100644 index 00000000..c18e0984 --- /dev/null +++ b/tests/shaders/glsl-const-builtin-dot.shader_test @@ -0,0 +1,23 @@ +[require] +GL >= 2.0 +GLSL >= 1.20 + +[vertex shader file] +glsl-mvp.vert + +[fragment shader] +#version 120 +void main() +{ + const vec2 c1 = vec2(0.5, 0.25); + const vec2 c2 = vec2(1.0, 2.0); + const float c = dot(c1, c2); + gl_FragColor = vec4(0.0, c, 0.0, 0.0); +} + +[test] +clear color 0.0 0.0 0.0 0.0 +clear +ortho +draw rect 10 10 10 10 +probe rgb 15 15 0.0 1.0 0.0 diff --git a/tests/shaders/glsl-const-builtin-exp-log.shader_test b/tests/shaders/glsl-const-builtin-exp-log.shader_test new file mode 100644 index 00000000..84fd8ba7 --- /dev/null +++ b/tests/shaders/glsl-const-builtin-exp-log.shader_test @@ -0,0 +1,21 @@ +[require] +GL >= 2.0 +GLSL >= 1.20 + +[vertex shader file] +glsl-mvp.vert + +[fragment shader] +#version 120 +void main() +{ + const float one = log(exp(2)) - 1.0; + gl_FragColor = vec4(0.0, one, 0.0, one); +} + +[test] +clear color 0.0 0.0 0.0 0.0 +clear +ortho +draw rect 10 10 10 10 +probe rgb 15 15 0.0 1.0 0.0 diff --git a/tests/shaders/glsl-const-builtin-exp2.shader_test b/tests/shaders/glsl-const-builtin-exp2.shader_test new file mode 100644 index 00000000..2e901233 --- /dev/null +++ b/tests/shaders/glsl-const-builtin-exp2.shader_test @@ -0,0 +1,21 @@ +[require] +GL >= 2.0 +GLSL >= 1.20 + +[vertex shader file] +glsl-mvp.vert + +[fragment shader] +#version 120 +void main() +{ + const float one = exp2(16) - 65535; + gl_FragColor = vec4(0.0, one, 0.0, one); +} + +[test] +clear color 0.0 0.0 0.0 0.0 +clear +ortho +draw rect 10 10 10 10 +probe rgb 15 15 0.0 1.0 0.0 diff --git a/tests/shaders/glsl-const-builtin-floor-ceil.shader_test b/tests/shaders/glsl-const-builtin-floor-ceil.shader_test new file mode 100644 index 00000000..668b8e82 --- /dev/null +++ b/tests/shaders/glsl-const-builtin-floor-ceil.shader_test @@ -0,0 +1,21 @@ +[require] +GL >= 2.0 +GLSL >= 1.20 + +[vertex shader file] +glsl-mvp.vert + +[fragment shader] +#version 120 +void main() +{ + const float one = ceil(1.4) - floor(1.4); + gl_FragColor = vec4(0.0, one, 0.0, one); +} + +[test] +clear color 0.0 0.0 0.0 0.0 +clear +ortho +draw rect 10 10 10 10 +probe rgb 15 15 0.0 1.0 0.0 diff --git a/tests/shaders/glsl-const-builtin-fract.shader_test b/tests/shaders/glsl-const-builtin-fract.shader_test new file mode 100644 index 00000000..ac6d9ba4 --- /dev/null +++ b/tests/shaders/glsl-const-builtin-fract.shader_test @@ -0,0 +1,21 @@ +[require] +GL >= 2.0 +GLSL >= 1.20 + +[vertex shader file] +glsl-mvp.vert + +[fragment shader] +#version 120 +void main() +{ + const float one = fract(5.1) * 10.0; + gl_FragColor = vec4(0.0, one, 0.0, one); +} + +[test] +clear color 0.0 0.0 0.0 0.0 +clear +ortho +draw rect 10 10 10 10 +probe rgb 15 15 0.0 1.0 0.0 diff --git a/tests/shaders/glsl-const-builtin-greaterThan.shader_test b/tests/shaders/glsl-const-builtin-greaterThan.shader_test new file mode 100644 index 00000000..cecf7baa --- /dev/null +++ b/tests/shaders/glsl-const-builtin-greaterThan.shader_test @@ -0,0 +1,25 @@ +[require] +GL >= 2.0 +GLSL >= 1.20 + +[vertex shader file] +glsl-mvp.vert + +[fragment shader] +#version 120 +void main() { + const vec2 small = vec2(1.0, 2.0); + const vec2 large = vec2(2.0, 3.0); + const bvec2 gt = greaterThan(large, small); + if (gt.x && gt.y) + gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0); + else + gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0); +} + +[test] +clear color 0.0 0.0 0.0 0.0 +clear +ortho +draw rect 10 10 10 10 +probe rgb 15 15 0.0 1.0 0.0 diff --git a/tests/shaders/glsl-const-builtin-inversesqrt.shader_test b/tests/shaders/glsl-const-builtin-inversesqrt.shader_test new file mode 100644 index 00000000..f8b72382 --- /dev/null +++ b/tests/shaders/glsl-const-builtin-inversesqrt.shader_test @@ -0,0 +1,22 @@ +[require] +GL >= 2.0 +GLSL >= 1.20 + +[vertex shader file] +glsl-mvp.vert + +[fragment shader] +#version 120 +void main() +{ + const vec4 q = inversesqrt(vec4(16.0)); + const float one = q.x + q.y + q.z + q.w; + gl_FragColor = vec4(0.0, one, 0.0, one); +} + +[test] +clear color 0.0 0.0 0.0 0.0 +clear +ortho +draw rect 10 10 10 10 +probe rgb 15 15 0.0 1.0 0.0 diff --git a/tests/shaders/glsl-const-builtin-log2.shader_test b/tests/shaders/glsl-const-builtin-log2.shader_test new file mode 100644 index 00000000..7e2d802b --- /dev/null +++ b/tests/shaders/glsl-const-builtin-log2.shader_test @@ -0,0 +1,21 @@ +[require] +GL >= 2.0 +GLSL >= 1.20 + +[vertex shader file] +glsl-mvp.vert + +[fragment shader] +#version 120 +void main() +{ + const float one = log2(65536) - 15; + gl_FragColor = vec4(0.0, one, 0.0, one); +} + +[test] +clear color 0.0 0.0 0.0 0.0 +clear +ortho +draw rect 10 10 10 10 +probe rgb 15 15 0.0 1.0 0.0 diff --git a/tests/shaders/glsl-const-builtin-max.shader_test b/tests/shaders/glsl-const-builtin-max.shader_test new file mode 100644 index 00000000..af0a2dc0 --- /dev/null +++ b/tests/shaders/glsl-const-builtin-max.shader_test @@ -0,0 +1,22 @@ +[require] +GL >= 2.0 +GLSL >= 1.20 + +[vertex shader file] +glsl-mvp.vert + +[fragment shader] +#version 120 +void main() +{ + const float x = max(0.25, -5.0); + const vec2 v = max(vec2(0.5, 0.2), 0.25); + gl_FragColor = vec4(0.0, x + v.x + v.y, 0.0, 1.0); +} + +[test] +clear color 0.0 0.0 0.0 0.0 +clear +ortho +draw rect 10 10 10 10 +probe rgb 15 15 0.0 1.0 0.0 diff --git a/tests/shaders/glsl-const-builtin-min.shader_test b/tests/shaders/glsl-const-builtin-min.shader_test new file mode 100644 index 00000000..754934cb --- /dev/null +++ b/tests/shaders/glsl-const-builtin-min.shader_test @@ -0,0 +1,22 @@ +[require] +GL >= 2.0 +GLSL >= 1.20 + +[vertex shader file] +glsl-mvp.vert + +[fragment shader] +#version 120 +void main() +{ + const float x = min(0.25, 0.5); + const vec2 v = min(vec2(0.25, 0.7), 0.5); + gl_FragColor = vec4(0.0, x + v.x + v.y, 0.0, 1.0); +} + +[test] +clear color 0.0 0.0 0.0 0.0 +clear +ortho +draw rect 10 10 10 10 +probe rgb 15 15 0.0 1.0 0.0 diff --git a/tests/shaders/glsl-const-builtin-mod.shader_test b/tests/shaders/glsl-const-builtin-mod.shader_test new file mode 100644 index 00000000..c5e31691 --- /dev/null +++ b/tests/shaders/glsl-const-builtin-mod.shader_test @@ -0,0 +1,22 @@ +[require] +GL >= 2.0 +GLSL >= 1.20 + +[vertex shader file] +glsl-mvp.vert + +[fragment shader] +#version 120 +void main() +{ + const vec2 v1 = mod(vec2(5.0, 4.0), 3.0); + const vec2 v2 = mod(vec2(5.0, 6.0), vec2(3.0, 5.0)); + gl_FragColor = vec4(0.0, v1.x - v1.y, 0.0, v2.x - v2.y); +} + +[test] +clear color 0.0 0.0 0.0 0.0 +clear +ortho +draw rect 10 10 10 10 +probe rgba 15 15 0.0 1.0 0.0 1.0 diff --git a/tests/shaders/glsl-const-builtin-pow.shader_test b/tests/shaders/glsl-const-builtin-pow.shader_test new file mode 100644 index 00000000..da5ec66c --- /dev/null +++ b/tests/shaders/glsl-const-builtin-pow.shader_test @@ -0,0 +1,22 @@ +[require] +GL >= 2.0 +GLSL >= 1.20 + +[vertex shader file] +glsl-mvp.vert + +[fragment shader] +#version 120 +void main() +{ + const vec2 v = pow(vec2(2,9), vec2(2,0.5)); + const float one = v.x - v.y; + gl_FragColor = vec4(0.0, one, 0.0, one); +} + +[test] +clear color 0.0 0.0 0.0 0.0 +clear +ortho +draw rect 10 10 10 10 +probe rgb 15 15 0.0 1.0 0.0 diff --git a/tests/shaders/glsl-const-builtin-radians.shader_test b/tests/shaders/glsl-const-builtin-radians.shader_test new file mode 100644 index 00000000..5c31291b --- /dev/null +++ b/tests/shaders/glsl-const-builtin-radians.shader_test @@ -0,0 +1,23 @@ +[require] +GL >= 2.0 +GLSL >= 1.20 + +[vertex shader file] +glsl-mvp.vert + +[fragment shader] +#version 120 +void main() { + const int pi = int(radians(180.0)*100); + if (pi == 314) + gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0); + else + gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0); +} + +[test] +clear color 0.0 0.0 0.0 0.0 +clear +ortho +draw rect 10 10 10 10 +probe rgb 15 15 0.0 1.0 0.0 diff --git a/tests/shaders/glsl-const-builtin-sign.shader_test b/tests/shaders/glsl-const-builtin-sign.shader_test new file mode 100644 index 00000000..95684f9a --- /dev/null +++ b/tests/shaders/glsl-const-builtin-sign.shader_test @@ -0,0 +1,22 @@ +[require] +GL >= 2.0 +GLSL >= 1.20 + +[vertex shader file] +glsl-mvp.vert + +[fragment shader] +#version 120 +void main() +{ + const vec3 signs = sign(vec3(0.0, -42.9, 55.7)); + const float one = float(signs.x == signs.y + signs.z); + gl_FragColor = vec4(0.0, one, 0.0, one); +} + +[test] +clear color 0.0 0.0 0.0 0.0 +clear +ortho +draw rect 10 10 10 10 +probe rgb 15 15 0.0 1.0 0.0 diff --git a/tests/shaders/glsl-const-builtin-sin.shader_test b/tests/shaders/glsl-const-builtin-sin.shader_test new file mode 100644 index 00000000..68475528 --- /dev/null +++ b/tests/shaders/glsl-const-builtin-sin.shader_test @@ -0,0 +1,20 @@ +[require] +GL >= 2.0 +GLSL >= 1.20 + +[vertex shader file] +glsl-mvp.vert + +[fragment shader] +#version 120 +void main() { + const float one = sin(1.5707963267949); + gl_FragColor = vec4(0, one, 0, one); +} + +[test] +clear color 0.0 0.0 0.0 0.0 +clear +ortho +draw rect 10 10 10 10 +probe rgb 15 15 0.0 1.0 0.0 diff --git a/tests/shaders/glsl-const-builtin-sqrt.shader_test b/tests/shaders/glsl-const-builtin-sqrt.shader_test new file mode 100644 index 00000000..cbcb9214 --- /dev/null +++ b/tests/shaders/glsl-const-builtin-sqrt.shader_test @@ -0,0 +1,21 @@ +[require] +GL >= 2.0 +GLSL >= 1.20 + +[vertex shader file] +glsl-mvp.vert + +[fragment shader] +#version 120 +void main() +{ + const float one = sqrt(16) - 3; + gl_FragColor = vec4(0.0, one, 0.0, one); +} + +[test] +clear color 0.0 0.0 0.0 0.0 +clear +ortho +draw rect 10 10 10 10 +probe rgb 15 15 0.0 1.0 0.0 diff --git a/tests/shaders/glsl-const-builtin-tan.shader_test b/tests/shaders/glsl-const-builtin-tan.shader_test new file mode 100644 index 00000000..af7f4bdf --- /dev/null +++ b/tests/shaders/glsl-const-builtin-tan.shader_test @@ -0,0 +1,20 @@ +[require] +GL >= 2.0 +GLSL >= 1.20 + +[vertex shader file] +glsl-mvp.vert + +[fragment shader] +#version 120 +void main() { + const float one = tan(0.785398163397448); + gl_FragColor = vec4(0, one, 0, one); +} + +[test] +clear color 0.0 0.0 0.0 0.0 +clear +ortho +draw rect 10 10 10 10 +probe rgb 15 15 0.0 1.0 0.0 |