freedreno/a3xx: binning-pass vertex shader variant
authorRob Clark <robclark@freedesktop.org>
Sat, 22 Feb 2014 15:47:27 +0000 (10:47 -0500)
committerRob Clark <robclark@freedesktop.org>
Sun, 2 Mar 2014 16:26:35 +0000 (11:26 -0500)
commitcb540c21f24720436356ab34f15e440a58e3e55d
tree95388302e94cb03f08da52ad042d67a237f504a4
parent664045752f55bd137110efa8926a8b7ee5ca400b
freedreno/a3xx: binning-pass vertex shader variant

Now that we have the infrastructure for shader variants, add support to
generate an optimized shader for hw binning pass (with varyings/outputs
other than position/pointsize removed).  This exposes the possibility
that the shader uses fewer constants than what is bound, so we have to
take care to not emit consts beyond what the shader uses, lest we
provoke the wrath of the HLSQ lockup!

Signed-off-by: Rob Clark <robclark@freedesktop.org>
src/gallium/drivers/freedreno/a3xx/fd3_compiler.c
src/gallium/drivers/freedreno/a3xx/fd3_emit.c
src/gallium/drivers/freedreno/a3xx/fd3_program.c