[Mesa-dev] [PATCH] intel/fs/ra: Stop adding RA interference to too many SENDS nodes

Jason Ekstrand jason at jlekstrand.net
Wed May 8 17:48:27 UTC 2019


We only have one node per VGRF so this was adding way too much
interference.  No idea how we didn't catch this before.

Fixes: 014edff0d20d "intel/fs: Add interference between SENDS sources"
---
 src/intel/compiler/brw_fs_reg_allocate.cpp | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/src/intel/compiler/brw_fs_reg_allocate.cpp b/src/intel/compiler/brw_fs_reg_allocate.cpp
index 17a9dc8e9c4..96819630faa 100644
--- a/src/intel/compiler/brw_fs_reg_allocate.cpp
+++ b/src/intel/compiler/brw_fs_reg_allocate.cpp
@@ -710,14 +710,9 @@ fs_visitor::assign_regs(bool allow_spilling, bool spill_all)
          if (inst->opcode == SHADER_OPCODE_SEND && inst->ex_mlen > 0 &&
              inst->src[2].file == VGRF &&
              inst->src[3].file == VGRF &&
-             inst->src[2].nr != inst->src[3].nr) {
-            for (unsigned i = 0; i < inst->mlen; i++) {
-               for (unsigned j = 0; j < inst->ex_mlen; j++) {
-                  ra_add_node_interference(g, inst->src[2].nr + i,
-                                           inst->src[3].nr + j);
-               }
-            }
-         }
+             inst->src[2].nr != inst->src[3].nr)
+            ra_add_node_interference(g, inst->src[2].nr,
+                                     inst->src[3].nr);
       }
    }
 
-- 
2.21.0



More information about the mesa-dev mailing list