[Mesa-dev] [PATCH 0/7] panfrost: Improve branching in Midgard compiler

Alyssa Rosenzweig alyssa at rosenzweig.io
Mon Feb 18 04:37:37 UTC 2019


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



More information about the mesa-dev mailing list