[Mesa-dev] [PATCH] i965: Use ull immediates in brw_inst_bits

Ian Romanick idr at freedesktop.org
Mon Nov 23 14:01:43 PST 2015


On 11/23/2015 10:54 AM, Jason Ekstrand wrote:
> This fixes a regression introduced in b1a83b5d1 that caused basically all
> shaders to fail to compile on 32-bit platforms.

Here's the part from the b1a83b5d1 commit message that makes me sad:

    v2 (Iago)
     - Replace ~0 by ~0ull
     - Removed unnecessary parenthesis

This patch is

Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

> Reported-by: Mark Janes <mark.a.janes at intel.com>
> Cc: Matt Turner <mattst88 at gmail.com>
> ---
>  src/mesa/drivers/dri/i965/brw_inst.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/src/mesa/drivers/dri/i965/brw_inst.h b/src/mesa/drivers/dri/i965/brw_inst.h
> index b2afe17..cd9f6ef 100644
> --- a/src/mesa/drivers/dri/i965/brw_inst.h
> +++ b/src/mesa/drivers/dri/i965/brw_inst.h
> @@ -694,7 +694,7 @@ brw_inst_bits(const brw_inst *inst, unsigned high, unsigned low)
>     high %= 64;
>     low %= 64;
>  
> -   const uint64_t mask = (~0ul >> (64 - (high - low + 1)));
> +   const uint64_t mask = (~0ull >> (64 - (high - low + 1)));
>  
>     return (inst->data[word] >> low) & mask;
>  }
> @@ -713,7 +713,7 @@ brw_inst_set_bits(brw_inst *inst, unsigned high, unsigned low, uint64_t value)
>     high %= 64;
>     low %= 64;
>  
> -   const uint64_t mask = (~0ul >> (64 - (high - low + 1))) << low;
> +   const uint64_t mask = (~0ull >> (64 - (high - low + 1))) << low;
>  
>     /* Make sure the supplied value actually fits in the given bitfield. */
>     assert((value & (mask >> low)) == value);
> 



More information about the mesa-dev mailing list