vc4: Convert to consuming NIR.
authorEric Anholt <eric@anholt.net>
Thu, 30 Oct 2014 19:51:47 +0000 (12:51 -0700)
committerEric Anholt <eric@anholt.net>
Wed, 1 Apr 2015 17:57:01 +0000 (10:57 -0700)
commit73e2d4837d7e4611f31532ab0ccc14369341e0cb
treef4f894af2fc72d65bb1b608cc5e7d2ceb29c8c2f
parent783ad697d25e754ab719ab6c715969c35dbe867b
vc4: Convert to consuming NIR.

NIR brings us better optimization than I would have bothered to write
within the driver, developers sharing future optimization work, and the
ability to share device-specific lowering code that we and other
GLES2-level drivers need.

total uniforms in shared programs: 13421 -> 13422 (0.01%)
uniforms in affected programs:     62 -> 63 (1.61%)
total instructions in shared programs: 39961 -> 39707 (-0.64%)
instructions in affected programs:     15494 -> 15240 (-1.64%)

v2: Add missing imov support, and assert that there are no dest saturates.
v3: Rebase on the target-specific algebraic series.
v4: Rebase on gallium-includes-from-NIR changes in mater.
v5: Rebase on variables being in lists instead of hash tables.
v6: Squash in intermediate changes that used the NIR-to-TGSI pass (which
    I'm not committing)
src/gallium/drivers/vc4/vc4_program.c
src/gallium/drivers/vc4/vc4_qir.c
src/gallium/drivers/vc4/vc4_qir.h
src/gallium/drivers/vc4/vc4_screen.c
src/gallium/drivers/vc4/vc4_screen.h