[Piglit] [PATCH v2] textureSize: try retrieving multiple components to tickle a driver bug
Ian Romanick
idr at freedesktop.org
Fri Apr 27 13:05:30 UTC 2018
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
On 04/26/2018 11:57 PM, Ilia Mirkin wrote:
> Nouveau does not merge the multiple requests together into one, which
> leads to an interesting pattern on nv50 (since dst reg == src reg) where
> we accidentally overwrite things we aren't supposed to.
>
> Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
> ---
>
> v1 -> v2:
> - use passthrough vs
> - switch up the condition slightly to make it more likely to test for
> just the condition it's checking for and not some rcp imprecision.
>
> .../execution/fs-textureSize-components.shader_test | 18 ++++++++++++++++++
> 1 file changed, 18 insertions(+)
> create mode 100644 tests/spec/glsl-1.30/execution/fs-textureSize-components.shader_test
>
> diff --git a/tests/spec/glsl-1.30/execution/fs-textureSize-components.shader_test b/tests/spec/glsl-1.30/execution/fs-textureSize-components.shader_test
> new file mode 100644
> index 000000000..679cd60e4
> --- /dev/null
> +++ b/tests/spec/glsl-1.30/execution/fs-textureSize-components.shader_test
> @@ -0,0 +1,18 @@
> +[require]
> +GLSL >= 1.30
> +
> +[vertex shader passthrough]
> +
> +[fragment shader]
> +#version 130
> +uniform sampler2D tex;
> +void main()
> +{
> + gl_FragColor = vec4(0,abs(1.0 - float(textureSize(tex, 0).x) / float(textureSize(tex, 0).y)) < 0.01,0,1);
> +}
> +
> +[test]
> +texture checkerboard 0 0 (1024, 1024) (0.0, 0.0, 0.0, 0.0) (0.0, 0.0, 0.0, 0.0)
> +uniform int tex 0
> +draw rect -1 -1 2 2
> +probe all rgba 0 1 0 1
More information about the Piglit
mailing list