[Mesa-dev] [PATCH 13/20] pan/midgard: Fix texw lowering with complex control flow

Alyssa Rosenzweig alyssa.rosenzweig at collabora.com
Fri Aug 16 15:35:53 UTC 2019


Fixes shaders with control flow like:

   out = 0;

   if (A) {
      if (B)
         out = texture(A, ...)
   } else {
      out = texture(B, ...)
   }

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
---
 src/panfrost/midgard/midgard_ra.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/panfrost/midgard/midgard_ra.c b/src/panfrost/midgard/midgard_ra.c
index 4754971acb2..5df8ecf0df0 100644
--- a/src/panfrost/midgard/midgard_ra.c
+++ b/src/panfrost/midgard/midgard_ra.c
@@ -497,7 +497,7 @@ mir_lower_special_reads(compiler_context *ctx)
                                         midgard_instruction *use = mir_next_op(pre_use);
                                         assert(use);
                                         mir_insert_instruction_before(use, m);
-                                        mir_rewrite_index_dst_tag(ctx, i, idx, classes[j]);
+                                        mir_rewrite_index_dst_single(pre_use, i, idx);
                                 } else {
                                         idx = spill_idx++;
                                         m = v_mov(i, blank_alu_src, idx);
-- 
2.23.0.rc1



More information about the mesa-dev mailing list