[Piglit] [PATCH] fs-texelFetchOffset-2D: don't assume undefined values to be solid black

Jose Fonseca jfonseca at vmware.com
Tue Nov 27 10:11:43 PST 2012



----- Original Message -----
> From: Roland Scheidegger <sroland at vmware.com>
> 
> core GL specifies out-of-bound accesses have undefined behavior,
> which includes crashes.
> Crashes are very much undesired, but ARB_robustness still allows
> undefined
> values to be returned (with a recommendation to return 0).
> Only ARB_robust_buffer_access_behavior would require to return zero,
> but the
> test doesn't need this extension. In any case even returning zero is
> not what
> the test expected, since it wanted [0,0,0,1].
> (With this change softpipe passes the test, as it clamps the coords.)
> ---
>  .../glsl-1.30/execution/fs-texelFetchOffset-2D.c   |    6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/tests/spec/glsl-1.30/execution/fs-texelFetchOffset-2D.c
> b/tests/spec/glsl-1.30/execution/fs-texelFetchOffset-2D.c
> index 19e3654..f61dfce 100644
> --- a/tests/spec/glsl-1.30/execution/fs-texelFetchOffset-2D.c
> +++ b/tests/spec/glsl-1.30/execution/fs-texelFetchOffset-2D.c
> @@ -96,8 +96,8 @@ piglit_display(void)
>  			const int x = 10+20*q;
>  
>  			/* fancy stuff - we should see red and blue
> -			   due to the offset for 3 levels,
> -			   otherwise we get lots of black border color */
> +			   due to the offset for 3 levels, all the rest is
> +                           undefined due to out-of-bounds */
>  			if (l < 3) {
>  				if (q == 2) c = red;
>  				else if (q == 3) c = blue;
> @@ -107,7 +107,7 @@ piglit_display(void)
>  			piglit_Uniform2i(pos_location, tex_x, tex_y);
>  			piglit_draw_rect(x, y, 10, 10);
>  
> -			if (width > 2) /* below 1 wide no test */
> +			if (width > 2 && c != black) /* below 1 wide no test */
>  				pass &= piglit_probe_rect_rgba(x, y, 10, 10, c);
>  		}

I think we should rename the "black" variable to "undefined", or "dummy", as that is what it means now.

Otherwise looks good.

Jose


More information about the Piglit mailing list