On Tue, Mar 27, 2018 at 4:33 PM, Matt Turner <[email protected]> wrote:
> On Tue, Mar 27, 2018 at 4:29 PM, Jason Ekstrand <[email protected]> > wrote: > > This was causing us to walk dest_components times over a thing with no > > destination. This happened to work because all of the image intrinsics > > without a destination also happened to have dest_components == 0. We > > shouldn't be reading dest_components if has_dest == false. > > --- > > src/intel/compiler/brw_fs_nir.cpp | 8 +++++--- > > 1 file changed, 5 insertions(+), 3 deletions(-) > > > > diff --git a/src/intel/compiler/brw_fs_nir.cpp > b/src/intel/compiler/brw_fs_nir.cpp > > index f5d5399..8d1c387 100644 > > --- a/src/intel/compiler/brw_fs_nir.cpp > > +++ b/src/intel/compiler/brw_fs_nir.cpp > > @@ -3848,9 +3848,11 @@ fs_visitor::nir_emit_intrinsic(const fs_builder > &bld, nir_intrinsic_instr *instr > > get_image_atomic_op(instr->intrinsic, > type)); > > > > /* Assign the result. */ > > - for (unsigned c = 0; c < info->dest_components; ++c) > > - bld.MOV(offset(retype(dest, base_type), bld, c), > > - offset(tmp, bld, c)); > > + if (nir_intrinsic_infos[instr->intrinsic].has_dest) { > > + for (unsigned c = 0; c < info->dest_components; ++c) > > + bld.MOV(offset(retype(dest, base_type), bld, c), > > + offset(tmp, bld, c)); > > Nested control flow and a multiline statement: braces required. Please > fix while you're here. > Done. > Reviewed-by: Matt Turner <[email protected]> > Thanks! --Jason
_______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
