On Sat, Jun 9, 2018 at 4:13 AM, Jose Maria Casanova Crespo < jmcasan...@igalia.com> wrote:
> shuffle_from_32bit_read manages 32-bit reads to 32-bit destination > in the same way that the previous loop so now we just call the new > function for all bitsizes, simplifying also the 64-bit load_input. > --- > src/intel/compiler/brw_fs_nir.cpp | 12 ++---------- > 1 file changed, 2 insertions(+), 10 deletions(-) > > diff --git a/src/intel/compiler/brw_fs_nir.cpp > b/src/intel/compiler/brw_fs_nir.cpp > index 6abc7c0174d..fedf3bf5a83 100644 > --- a/src/intel/compiler/brw_fs_nir.cpp > +++ b/src/intel/compiler/brw_fs_nir.cpp > @@ -2483,16 +2483,8 @@ fs_visitor::nir_emit_vs_intrinsic(const fs_builder > &bld, > if (type_sz(dest.type) == 8) > first_component /= 2; > > - for (unsigned j = 0; j < num_components; j++) { > - bld.MOV(offset(dest, bld, j), offset(src, bld, j + > first_component)); > - } > - > - if (type_sz(dest.type) == 8) { > - shuffle_32bit_load_result_to_64bit_data(bld, > - dest, > - retype(dest, > BRW_REGISTER_TYPE_F), > - instr->num_components); > - } > + shuffle_from_32bit_read(bld, dest, retype(src, BRW_REGISTER_TYPE_D), > + first_component, num_components); > I think this is ok. It makes me a bit nervous to use shuffle_from_32bit_read on the address register file. However, since we're only doing it when type_sz(dst.type) >= 4, it should be ok. If we want 16-bit attributes (Yeah, I know, I need to review that...) then we may need to first copy from the ATTR file into a temp. Maybe drop a comment to that effect? Reviewed-by: Jason Ekstrand <ja...@jlekstrand.net> > break; > } > > -- > 2.17.1 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev