This patch series generally improves the state of branching in the Midgard compiler. Notably, in addition to resolving a number of bugs breaking branching in real apps, it implements support for extended branches (far jumps). In total, the series enables much more sophisticated branching, fixing a nontrivial shader in a target app. Performance is wanting at the moment, but Midgard is believed to use small warp sizes, so this should be fixable in the future.
Alyssa Rosenzweig (7): panfrost/midgard: Refactor tag lookahead code panfrost/midgard: Fix nested/chained if-else panfrost: Rectify doubleplusungood extended branch panfrost: Update extended branch disassembly panfrost/midgard: Emit extended branches panfrost: Dynamically set discard branch targets panfrost: Verify and print brx condition in disasm .../drivers/panfrost/midgard/disassemble.c | 24 ++- .../drivers/panfrost/midgard/helpers.h | 7 + .../drivers/panfrost/midgard/midgard.h | 3 +- .../panfrost/midgard/midgard_compile.c | 202 +++++++++++++----- 4 files changed, 171 insertions(+), 65 deletions(-) -- 2.20.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev