[Mesa-dev] [PATCH 00/19] Substantially improve Midgard compiler

Alyssa Rosenzweig alyssa at rosenzweig.io
Mon Apr 22 05:04:07 UTC 2019


This series is dedicated to improving the Midgard compiler, specifically
regarding the sections about indirect indexing and looping constructs.
In the process, a number of orthogonal bugs/mysteries touched by these
tests were fixed. The net result is that we are now passing all of:

        dEQP-GLES2.functional.shaders.loops.*

We're also passing a fair amount of shaders.indexing.*, but there are
some more RA issues to sort out (some of the more complex shaders there
are failing due to running out of registers; spilling isn't implemented
yet).

Alyssa Rosenzweig (19):
  panfrost/mdg/disasm: Print raw varying_parameters
  panfrost/midgard: Pipe through varying arrays
  panfrost/midgard: Implement indirect loads of varyings/UBOs
  panfrost/midgard: Respect component of bcsel condition
  panfrost/midgard: Remove useless MIR dump
  panfrost: Respect backwards branches in RA
  panfrost/midgard: Don't try to inline constants on branches
  panfrost/midgard: imul can only run on *mul
  panfrost: Disable indirect outputs for now
  panfrost: Use actual imov instruction
  panfrost/midgard: Dead code eliminate MIR
  panfrost/midgard: Track loop depth
  panfrost/midgard: Fix off-by-one in successor analysis
  panfrost/midgard: Remove unused mir_next_block
  panfrost/midgard: Update integer op list
  panfrost/midgard: Document sign-extension/zero-extension bits (vector)
  panfrost/midgard: Set integer mods
  panfrost/midgard: Implement copy propagation
  panfrost/midgard: Optimize MIR in progress loop

 .../drivers/panfrost/midgard/disassemble.c    |  45 +-
 .../drivers/panfrost/midgard/helpers.h        |  38 +-
 .../drivers/panfrost/midgard/midgard.h        |  15 +-
 .../panfrost/midgard/midgard_compile.c        | 401 ++++++++++++++----
 src/gallium/drivers/panfrost/pan_screen.c     |   3 +
 5 files changed, 393 insertions(+), 109 deletions(-)

-- 
2.20.1



More information about the mesa-dev mailing list