Mesa (master): i965/fs: Allow constant propagation into IF with embedded compare.

Eric Anholt anholt at kemper.freedesktop.org
Thu Dec 29 17:45:47 UTC 2011


Module: Mesa
Branch: master
Commit: 069901e2f5a8f4a58047d25335f2526f1acc7234
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=069901e2f5a8f4a58047d25335f2526f1acc7234

Author: Eric Anholt <eric at anholt.net>
Date:   Mon Dec 19 09:20:57 2011 -0800

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.

---

 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 8ca4a87..b6aa60e 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;




More information about the mesa-commit mailing list