diff options
author | Matt Turner <mattst88@gmail.com> | 2013-04-25 11:02:02 -0700 |
---|---|---|
committer | Matt Turner <mattst88@gmail.com> | 2013-04-25 18:27:39 -0700 |
commit | c0f67a127b0b3e4bb715d1562a82c984d160280e (patch) | |
tree | 6497e19c98df7e7b1386278049b8789e0dfe534b /src/mesa/drivers/dri/i965/brw_vec4_copy_propagation.cpp | |
parent | abb96fdea70546f974ba59cbd00bc54afee9cfdb (diff) | |
download | external_mesa3d-c0f67a127b0b3e4bb715d1562a82c984d160280e.zip external_mesa3d-c0f67a127b0b3e4bb715d1562a82c984d160280e.tar.gz external_mesa3d-c0f67a127b0b3e4bb715d1562a82c984d160280e.tar.bz2 |
i965/vs: Add a function to fix-up uniform arguments for 3-src insts.
Three-source instructions have a vertical stride overloaded to 4, which
prevents directly using vec4 uniforms as arguments. Instead we need to
insert a MOV instruction to do the replication for the three-source
instruction.
With this in place, we can use three-source instructions in the vertex
shader. While some thought needs to go into deciding whether its better
to use a three-source instruction rather than a sequence of equivalent
instructions (when one or more sources are uniforms or immediates), this
will allow us to skip a lot of ugly lowering code and use the BFE and
BFI2 instructions directly.
Reviewed-by: Chris Forbes <chrisf@ijw.co.nz>
Reviewed-by: Eric Anholt <eric@anholt.net>
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_vec4_copy_propagation.cpp')
0 files changed, 0 insertions, 0 deletions