diff options
author | Rhys Perry <pendingchaos02@gmail.com> | 2020-12-09 22:45:35 +0000 |
---|---|---|
committer | Marge Bot <eric+marge@anholt.net> | 2020-12-11 12:19:23 +0000 |
commit | b54851281354f6feba5921c94b84aa11133e6274 (patch) | |
tree | 7a02688dd8e791cb9875601dc0768eb992df4cec | |
parent | fe669ff4a023a98865b5ab6538613e3ae4c4eae9 (diff) |
nir/opt_access: don't ignore infer_non_readable
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Fixes: d7d0b4445ae ("nir/opt_access: infer writeonly")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3959
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8018>
-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; |