Mesa (main): intel: Fix analysis invalidation in eliminate_find_live_channel

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue May 24 23:08:30 UTC 2022


Module: Mesa
Branch: main
Commit: 59bfc9c6cb2db6df42d424f45aeead7846de1972
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=59bfc9c6cb2db6df42d424f45aeead7846de1972

Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Mon May 23 12:54:22 2022 -0700

intel: Fix analysis invalidation in eliminate_find_live_channel

If we saw a HALT instruction, we would forget to invalidate our analysis
pass information before returning progress.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16677>

---

 src/intel/compiler/brw_fs.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/intel/compiler/brw_fs.cpp b/src/intel/compiler/brw_fs.cpp
index af6c8fbec2a..c97c6819a3d 100644
--- a/src/intel/compiler/brw_fs.cpp
+++ b/src/intel/compiler/brw_fs.cpp
@@ -3217,7 +3217,7 @@ fs_visitor::eliminate_find_live_channel()
          /* This can potentially make control flow non-uniform until the end
           * of the program.
           */
-         return progress;
+         goto out;
 
       case SHADER_OPCODE_FIND_LIVE_CHANNEL:
          if (depth == 0) {
@@ -3234,6 +3234,7 @@ fs_visitor::eliminate_find_live_channel()
       }
    }
 
+out:
    if (progress)
       invalidate_analysis(DEPENDENCY_INSTRUCTION_DETAIL);
 



More information about the mesa-commit mailing list