[Mesa-dev] [PATCH] gallivm: fix conversion for pure integer formats

Jose Fonseca jfonseca at vmware.com
Mon Dec 17 13:22:56 PST 2012


Nice find Roland.

Reviewed-by: Jose Fonseca <jfonseca at vmware.com>

Jose

----- Original Message -----
> From: Roland Scheidegger <sroland at vmware.com>
> 
> Since the idea is to just expand or shrink the bit width but not
> otherwise do
> conversion we also need to adjust the sign bit according to src,
> otherwise
> the conversion code will incorrectly clamp the values. (Since this
> only works
> for casting to ordinary floats the norm and fixed bits should always
> be fine.)
> 
> This fixes the remaining piglit attribs GL3 failures.
> ---
>  .../auxiliary/gallivm/lp_bld_format_aos_array.c    |    1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/src/gallium/auxiliary/gallivm/lp_bld_format_aos_array.c
> b/src/gallium/auxiliary/gallivm/lp_bld_format_aos_array.c
> index 1eb9446..9642b9e 100644
> --- a/src/gallium/auxiliary/gallivm/lp_bld_format_aos_array.c
> +++ b/src/gallium/auxiliary/gallivm/lp_bld_format_aos_array.c
> @@ -150,6 +150,7 @@ lp_build_fetch_rgba_aos_array(struct
> gallivm_state *gallivm,
>     if (pure_integer) {
>        assert(dst_type.floating);
>        tmp_type.floating = 0;
> +      tmp_type.sign = src_type.sign;
>     }
>  
>     /* Convert to correct format */
> --
> 1.7.9.5
> 
> 


More information about the mesa-dev mailing list