diff options
author | Eric Anholt <[email protected]> | 2011-12-19 09:20:57 -0800 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2011-12-29 09:33:56 -0800 |
commit | 069901e2f5a8f4a58047d25335f2526f1acc7234 (patch) | |
tree | e6368b77a501aa49a05b5d6acbd928fc218ac2a6 | |
parent | 6a1e19d0f63cb086e43505522cb72b0183da9b11 (diff) |
i965/fs: Allow constant propagation into IF with embedded compare.
This saves a couple of instructions on most programs with control
flow. More interestingly, 6 shaders from unigine sanctuary now fit
into 16-wide without register spilling.
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_fs.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp index 8ca4a8735d0..b6aa60e84f3 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp @@ -1144,6 +1144,7 @@ fs_visitor::propagate_constants() break; case BRW_OPCODE_CMP: + case BRW_OPCODE_IF: if (i == 1) { scan_inst->src[i] = inst->src[0]; progress = true; |