mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 04:38:03 +02:00
intel/fs: Don't emit a des copy for image ops with has_dest == false
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. Reviewed-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
parent
776e6af879
commit
7e38f49a8f
1 changed files with 6 additions and 3 deletions
|
|
@ -3848,9 +3848,12 @@ 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));
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue