Mesa (master): nir/opt_access: don't ignore infer_non_readable

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Dec 11 12:42:22 UTC 2020


Module: Mesa
Branch: master
Commit: b54851281354f6feba5921c94b84aa11133e6274
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b54851281354f6feba5921c94b84aa11133e6274

Author: Rhys Perry <pendingchaos02 at gmail.com>
Date:   Wed Dec  9 22:45:35 2020 +0000

nir/opt_access: don't ignore infer_non_readable

Signed-off-by: Rhys Perry <pendingchaos02 at gmail.com>
Reviewed-by: Connor Abbott <cwabbott0 at 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>

---

 src/compiler/nir/nir_opt_access.c | 4 ++--
 1 file 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;



More information about the mesa-commit mailing list