nir/lower_io_to_scalar: update io semantics on per-component inst
When we replace the original instruction with per-channel operations, the new instruction should inherint the semantics of the original instruction. Reviewed-by: Eric Anholt <eric@anholt.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6721>
This commit is contained in:
parent
ac5f0ee19c
commit
9b01598fe5
|
@ -50,6 +50,7 @@ lower_load_input_to_scalar(nir_builder *b, nir_intrinsic_instr *intr)
|
|||
nir_intrinsic_set_base(chan_intr, nir_intrinsic_base(intr));
|
||||
nir_intrinsic_set_component(chan_intr, nir_intrinsic_component(intr) + i);
|
||||
nir_intrinsic_set_dest_type(chan_intr, nir_intrinsic_dest_type(intr));
|
||||
nir_intrinsic_set_io_semantics(chan_intr, nir_intrinsic_io_semantics(intr));
|
||||
/* offset */
|
||||
nir_src_copy(&chan_intr->src[0], &intr->src[0], chan_intr);
|
||||
|
||||
|
@ -83,6 +84,7 @@ lower_store_output_to_scalar(nir_builder *b, nir_intrinsic_instr *intr)
|
|||
nir_intrinsic_set_write_mask(chan_intr, 0x1);
|
||||
nir_intrinsic_set_component(chan_intr, nir_intrinsic_component(intr) + i);
|
||||
nir_intrinsic_set_src_type(chan_intr, nir_intrinsic_src_type(intr));
|
||||
nir_intrinsic_set_io_semantics(chan_intr, nir_intrinsic_io_semantics(intr));
|
||||
|
||||
/* value */
|
||||
chan_intr->src[0] = nir_src_for_ssa(nir_channel(b, value, i));
|
||||
|
|
Loading…
Reference in New Issue