diff options
-rw-r--r-- | src/compiler/nir/nir_opt_access.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/compiler/nir/nir_opt_access.c b/src/compiler/nir/nir_opt_access.c index 73733ff8b3d..89b44c2234b 100644 --- a/src/compiler/nir/nir_opt_access.c +++ b/src/compiler/nir/nir_opt_access.c @@ -197,7 +197,7 @@ process_variable(struct access_state *state, nir_variable *var) access |= ACCESS_NON_WRITEABLE; } - if (!(access & ACCESS_NON_READABLE)) { + if (state->infer_non_readable && !(access & ACCESS_NON_READABLE)) { if (is_buffer ? !state->buffers_read : !state->images_read) access |= ACCESS_NON_READABLE; else if ((access & ACCESS_RESTRICT) && !_mesa_set_search(state->vars_read, var)) @@ -230,7 +230,7 @@ update_access(struct access_state *state, nir_intrinsic_instr *instr, bool is_im if (is_memory_readonly) access |= ACCESS_NON_WRITEABLE; - if (is_memory_writeonly) + if (state->infer_non_readable && is_memory_writeonly) access |= ACCESS_NON_READABLE; if (!(access & ACCESS_VOLATILE) && is_memory_readonly) access |= ACCESS_CAN_REORDER; |