Reviewed-by: Iago Toral Quiroga <ito...@igalia.com>
On Wed, 2018-04-18 at 22:57 +0200, Jose Maria Casanova Crespo wrote: > All operations with offset_reg at do_vector_read are done > with UD type. So copy propagation was not working through > the generated MOVs: > > mov(8) vgrf9:UD, vgrf7:D > > This change allows removing the MOV generated for reading the > first components for 16-bit and 64-bit ssbo reads with > non-constant offsets. > --- > src/intel/compiler/brw_fs_nir.cpp | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/src/intel/compiler/brw_fs_nir.cpp > b/src/intel/compiler/brw_fs_nir.cpp > index 6c4bcd1c113..0ebaab96634 100644 > --- a/src/intel/compiler/brw_fs_nir.cpp > +++ b/src/intel/compiler/brw_fs_nir.cpp > @@ -4142,7 +4142,7 @@ fs_visitor::nir_emit_intrinsic(const fs_builder > &bld, nir_intrinsic_instr *instr > if (const_offset) { > offset_reg = brw_imm_ud(const_offset->u32[0]); > } else { > - offset_reg = get_nir_src(instr->src[1]); > + offset_reg = retype(get_nir_src(instr->src[1]), > BRW_REGISTER_TYPE_UD); > } > > /* Read the vector */ _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev