[Piglit] [PATCH] glsl-1.10: check that mul source is used before dest is written

Dave Airlie airlied at gmail.com
Sun Nov 16 14:54:04 PST 2014


just to repeat from irc,

[vertex shader passthrough]

and probably call the test fs-.

With those two,

Reviewed-by: Dave Airlie <airlied at redhat.com>

On 17 November 2014 08:21, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
> r600 (currently) has a bug on cayman because each component is
> multiplied separately when constants are used, but the destination gets
> modified before all of the source is read out. This test reproduces that
> scenario where it will read the first .x correctly, but for the y
> component, it will read the "new" x.
>
> Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
> ---
>
> Somebody should double-check whether this actually happens on cayman
> with this test. The TGSI generated appears to have the "required"
> issue, but there could be other factors that affect whether it
> happens.
>
>  ...p-assign-mult-ivec2-ivec2-overwrite.shader_test | 27 ++++++++++++++++++++++
>  1 file changed, 27 insertions(+)
>  create mode 100644 tests/spec/glsl-1.10/execution/vs-op-assign-mult-ivec2-ivec2-overwrite.shader_test
>
> diff --git a/tests/spec/glsl-1.10/execution/vs-op-assign-mult-ivec2-ivec2-overwrite.shader_test b/tests/spec/glsl-1.10/execution/vs-op-assign-mult-ivec2-ivec2-overwrite.shader_test
> new file mode 100644
> index 0000000..661e261
> --- /dev/null
> +++ b/tests/spec/glsl-1.10/execution/vs-op-assign-mult-ivec2-ivec2-overwrite.shader_test
> @@ -0,0 +1,27 @@
> +[require]
> +GLSL >= 1.10
> +
> +[vertex shader]
> +void main()
> +{
> +        gl_Position = gl_Vertex;
> +}
> +
> +[fragment shader]
> +uniform ivec2 arg0;
> +uniform ivec2 arg1;
> +uniform ivec2 expected;
> +
> +void main()
> +{
> +  ivec2 result = arg0 * arg1;
> +  result = result.xx * ivec2(2, 3);
> +  gl_FragColor = result == expected ? vec4(0.0, 1.0, 0.0, 1.0) : vec4(1.0, 0.0, 0.0, 1.0);
> +}
> +
> +[test]
> +uniform ivec2 arg0 38 35
> +uniform ivec2 arg1 1 1
> +uniform ivec2 expected 76 114
> +draw rect -1 -1 2 2
> +probe rgba 0 0 0.0 1.0 0.0 1.0
> --
> 2.0.4
>
> _______________________________________________
> Piglit mailing list
> Piglit at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/piglit


More information about the Piglit mailing list