For the series:

Reviewed-by: Chris Forbes <[email protected]>

On Wed, Mar 18, 2015 at 10:51 AM, Ian Romanick <[email protected]> wrote:
> From: Ian Romanick <[email protected]>
>
> These patterns
>
>     gl_FrontFacing ? -1.0 :  1.0
>     gl_FrontFacing ?  1.0 : -1.0
>     gl_FrontFacing ?  0.0 : -1.0
>
> are recognized and optimized by the i965 driver.  However, it
> incorrectly optimizes
>
>     int x = gl_FrontFacing ? 1 : -1;
>
> as
>
>     int x = gl_FrontFacing ? floatBitsToInt(1.0) : floatBitsToInt(-1.0);
>
> NOTE: This test currently fails on Mesa master and 10.5 branches.
>
> v2: Add missing ] on vertex passthrough line.  Noticed by Emil.
>
> Signed-off-by: Ian Romanick <[email protected]>
> ---
>  .../fs-frontfacing-ternary-1-neg-1.shader_test     | 32 
> ++++++++++++++++++++++
>  1 file changed, 32 insertions(+)
>  create mode 100644 
> tests/spec/glsl-1.10/execution/fs-frontfacing-ternary-1-neg-1.shader_test
>
> diff --git 
> a/tests/spec/glsl-1.10/execution/fs-frontfacing-ternary-1-neg-1.shader_test 
> b/tests/spec/glsl-1.10/execution/fs-frontfacing-ternary-1-neg-1.shader_test
> new file mode 100644
> index 0000000..a6590c1
> --- /dev/null
> +++ 
> b/tests/spec/glsl-1.10/execution/fs-frontfacing-ternary-1-neg-1.shader_test
> @@ -0,0 +1,32 @@
> +[require]
> +GLSL >= 1.10
> +
> +[vertex shader passthrough]
> +
> +[fragment shader]
> +uniform int front;
> +uniform int back;
> +
> +const vec4 c = vec4(1.0, 0.0, 0.0, 0.0);
> +void main()
> +{
> +       int f = gl_FrontFacing ? 1 : -1;
> +       if (f == front) {
> +               gl_FragColor = c.yxyx;
> +       } else if (f == back) {
> +               gl_FragColor = c.yyxx;
> +       } else {
> +               gl_FragColor = c.xyyx;
> +       }
> +}
> +
> +[test]
> +uniform int front 1
> +uniform int back -1
> +
> +draw rect -1 -1 2 1
> +draw rect 1 0 -2 1
> +relative probe rgba (0, 0) (0.0, 1.0, 0.0, 1.0)
> +relative probe rgba (1, 0) (0.0, 1.0, 0.0, 1.0)
> +relative probe rgba (0, 1) (0.0, 0.0, 1.0, 1.0)
> +relative probe rgba (1, 1) (0.0, 0.0, 1.0, 1.0)
> --
> 2.1.0
>
> _______________________________________________
> Piglit mailing list
> [email protected]
> http://lists.freedesktop.org/mailman/listinfo/piglit
_______________________________________________
Piglit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/piglit

Reply via email to