[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