vc4: Add a constant folding pass.
authorEric Anholt <eric@anholt.net>
Mon, 30 Mar 2015 17:38:21 +0000 (10:38 -0700)
committerEric Anholt <eric@anholt.net>
Mon, 30 Mar 2015 19:57:45 +0000 (12:57 -0700)
commit8c5dcdbccb68b73d2856d9c1faafadc536e682e3
treee8865f27d14237fdd3892b5e134f8f4d8f5404a3
parentdbe67d76e0487b04a7b6081d9d46666db3c3ee3e
vc4: Add a constant folding pass.

This cleans up some pointless operations generated by the in-driver mul24
lowering (commonly generated by making a vec4 index for a matrix in a
uniform array).

I could fill in other operations, but pretty much anything else ought to
be getting handled at the NIR level, I think.

total uniforms in shared programs: 13423 -> 13421 (-0.01%)
uniforms in affected programs:     346 -> 344 (-0.58%)
src/gallium/drivers/vc4/Makefile.sources
src/gallium/drivers/vc4/vc4_opt_constant_folding.c [new file with mode: 0644]
src/gallium/drivers/vc4/vc4_qir.c
src/gallium/drivers/vc4/vc4_qir.h