On Tuesday, June 16, 2015 02:46:22 PM Jordan Justen wrote: > Although we don't support SIMD32, krh pointed out that the left shift > by 32 is undefined by C/C++ for 32-bit integers. > > Suggested-by: Kristian Høgsberg <k...@bitplanet.net> > Signed-off-by: Jordan Justen <jordan.l.jus...@intel.com> > Cc: Kristian Høgsberg <k...@bitplanet.net> > --- > src/mesa/drivers/dri/i965/brw_compute.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/src/mesa/drivers/dri/i965/brw_compute.c > b/src/mesa/drivers/dri/i965/brw_compute.c > index b3d6de5..5693ab5 100644 > --- a/src/mesa/drivers/dri/i965/brw_compute.c > +++ b/src/mesa/drivers/dri/i965/brw_compute.c > @@ -45,7 +45,7 @@ brw_emit_gpgpu_walker(struct brw_context *brw, const GLuint > *num_groups) > unsigned thread_width_max = > (group_size + simd_size - 1) / simd_size; > > - uint32_t right_mask = (1u << simd_size) - 1; > + uint32_t right_mask = 0xffffffffu >> (32 - simd_size); > const unsigned right_non_aligned = group_size & (simd_size - 1); > if (right_non_aligned != 0) > right_mask >>= (simd_size - right_non_aligned); >
Patch works as advertised: python>> hex((1 << 8) - 1) '0xff' python>> hex((1 << 16) - 1) '0xffff' python>> hex((1 << 32) - 1) '0xffffffff' python>> hex(0xffffffff >> (32 - 8)) '0xff' python>> hex(0xffffffff >> (32 - 16)) '0xffff' python>> hex(0xffffffff >> (32 - 32)) '0xffffffff' Reviewed-by: Kenneth Graunke <kenn...@whitecape.org>
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev