This series was motivated by RA failures in a Krita shader. The fix -- rewriting liveness analysis entirely -- turned out to be rather more involved than I expected. Ah well, I think it was worth it (as the issue fixed really does apply to GLES2 even, it was just missed in dEQP).
Alyssa Rosenzweig (20): pan/midgard: Shrink successors[] to 2 length pan/midgard: Use ralloc on ctx/blocks pan/midgard: Maintain block predecessor set pan/midgard: Add mir_exit_block helper pan/midgard: Link exit block pan/midgard: Add mir_foreach_predecessor utility pan/midgard: Add mir_foreach_successor helper pan/midgard: Add mir_foreach_instr_in_block_rev pan/midgard: Add mir_foreach_src pan/midgard: Index blocks for printing pan/midgard: Print predecessors in MIR pan/midgard: Add mir_rewrite_index_dst_single helper pan/midgard: Fix texw lowering with complex control flow pan/midgard: Set mask for lowered read-hazard moves pan/midgard: Use type-appropriate swizzle for texture coordinate pan/midgard: Clamp st_vary swizzle by number of components pan/midgard: Clamp cubemap swizzle to XYXX pan/midgard: Treat cubemaps "stores" as loads pan/midgard: Analyze load/store for swizzle propagation pan/midgard: Compute liveness per-block src/panfrost/midgard/compiler.h | 56 ++++- src/panfrost/midgard/helpers.h | 5 +- src/panfrost/midgard/midgard.h | 9 +- src/panfrost/midgard/midgard_compile.c | 79 ++++-- src/panfrost/midgard/midgard_ops.c | 2 +- src/panfrost/midgard/midgard_opt_copy_prop.c | 24 +- src/panfrost/midgard/midgard_print.c | 9 +- src/panfrost/midgard/midgard_ra.c | 238 +++++++++++++------ src/panfrost/midgard/mir.c | 9 +- 9 files changed, 315 insertions(+), 116 deletions(-) -- 2.23.0.rc1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev