From: Jason Ekstrand Date: Tue, 19 Apr 2016 01:52:36 +0000 (-0700) Subject: i965/vec4: Use the correct offset for the swizzle shift in push constants X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b3f43822c72301c904fd2824ae3edcd20ea93a29;p=mesa.git i965/vec4: Use the correct offset for the swizzle shift in push constants This was actually caught by Ken in review the first time around but somehow didn't get fixed before the patches were pushed. :-( Reviewed-by: Iago Toral Quiroga Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94998 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=95001 --- diff --git a/src/mesa/drivers/dri/i965/brw_vec4_nir.cpp b/src/mesa/drivers/dri/i965/brw_vec4_nir.cpp index b5c23c99588..aa3965a6c3a 100644 --- a/src/mesa/drivers/dri/i965/brw_vec4_nir.cpp +++ b/src/mesa/drivers/dri/i965/brw_vec4_nir.cpp @@ -712,7 +712,7 @@ vec4_visitor::nir_emit_intrinsic(nir_intrinsic_instr *instr) unsigned offset = const_offset->u32[0] + shift * 4; src.reg_offset = offset / 16; - shift = (nir_intrinsic_base(instr) % 16) / 4; + shift = (offset % 16) / 4; src.swizzle += BRW_SWIZZLE4(shift, shift, shift, shift); emit(MOV(dest, src));