diff --git a/src/compiler/nir/nir_lower_io.c b/src/compiler/nir/nir_lower_io.c index e1b15647d9a..32cfbc2288c 100644 --- a/src/compiler/nir/nir_lower_io.c +++ b/src/compiler/nir/nir_lower_io.c @@ -312,6 +312,9 @@ emit_load(struct lower_io_state *state, nir_intrinsic_set_range(load, state->type_size(var->type, var->data.bindless)); + if (nir_intrinsic_has_access(load)) + nir_intrinsic_set_access(load, var->data.access); + nir_intrinsic_set_dest_type(load, dest_type); if (load->intrinsic != nir_intrinsic_load_uniform) { @@ -418,6 +421,9 @@ emit_store(struct lower_io_state *state, nir_ssa_def *data, nir_intrinsic_set_write_mask(store, write_mask); + if (nir_intrinsic_has_access(store)) + nir_intrinsic_set_access(store, var->data.access); + if (array_index) store->src[1] = nir_src_for_ssa(array_index);