diff options
author | Marek Olšák <marek.olsak@amd.com> | 2016-10-19 22:19:04 +0200 |
---|---|---|
committer | Marek Olšák <marek.olsak@amd.com> | 2016-11-08 19:39:07 +0100 |
commit | 02dfd2743888a9e6f42cd3cf8a2d3f2652c91d50 (patch) | |
tree | 5b36601723fcdf08ee491e13c91763c346369671 /tests/spec | |
parent | d81536a3c5989b66c593d0cd13ed29c1cad093c1 (diff) |
literal-varyings: new test for a radeonsi optimization
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Diffstat (limited to 'tests/spec')
-rw-r--r-- | tests/spec/glsl-1.20/execution/literal-varyings.shader_test | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/tests/spec/glsl-1.20/execution/literal-varyings.shader_test b/tests/spec/glsl-1.20/execution/literal-varyings.shader_test new file mode 100644 index 000000000..bd8ab1a26 --- /dev/null +++ b/tests/spec/glsl-1.20/execution/literal-varyings.shader_test @@ -0,0 +1,43 @@ +[require] +GLSL >= 1.20 + +[vertex shader] +#version 120 + +void +main() +{ + gl_Position = gl_Vertex; + gl_TexCoord[0] = vec4(0.0, 0.0, 0.0, 1.0); + gl_TexCoord[1] = gl_Vertex; + gl_TexCoord[2] = vec4(0.0, 0.0, 0.0, 0.0); + gl_TexCoord[3] = gl_Vertex * 2.0; + gl_TexCoord[4] = vec4(1.0, 1.0, 1.0, 1.0); + gl_TexCoord[5] = gl_Vertex * 4.0; + gl_TexCoord[6] = vec4(1.0, 1.0, 1.0, 0.0); + gl_TexCoord[7] = gl_Vertex * 8.0; +} + + +[fragment shader] +#version 120 + +void +main() +{ + if (gl_TexCoord[0] == vec4(0.0, 0.0, 0.0, 1.0) && + gl_TexCoord[2] == vec4(0.0, 0.0, 0.0, 0.0) && + gl_TexCoord[3] == gl_TexCoord[1] * 2.0 && + gl_TexCoord[4] == vec4(1.0, 1.0, 1.0, 1.0) && + gl_TexCoord[5] == gl_TexCoord[1] * 4.0 && + gl_TexCoord[6] == vec4(1.0, 1.0, 1.0, 0.0) && + gl_TexCoord[7] == gl_TexCoord[1] * 8.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] +draw rect -1 -1 2 2 +probe all rgba 0 1 0 1 |