[965] Correctly set read mask for OPCODE_SWZ in pass1.
authorMichal Wajdeczko <Michal.Wajdeczko@intel.com>
Wed, 26 Mar 2008 19:51:20 +0000 (12:51 -0700)
committerEric Anholt <eric@anholt.net>
Wed, 26 Mar 2008 20:00:03 +0000 (13:00 -0700)
While OPCODE_SWZ has usually been optimized away in pass0, it may still
exist if a SWZ with dst saturate was emitted in pass_fp.  Fixes an error
in oglconform fpalu.c.

src/mesa/drivers/dri/i965/brw_wm_pass1.c

index 26c044d..f6f3a38 100644 (file)
@@ -150,6 +150,7 @@ void brw_wm_pass1( struct brw_wm_compile *c )
       case OPCODE_FLR:
       case OPCODE_FRC:
       case OPCODE_MOV:
+      case OPCODE_SWZ:
         read0 = writemask;
         break;
 
@@ -257,7 +258,6 @@ void brw_wm_pass1( struct brw_wm_compile *c )
         read0 = WRITEMASK_XYW;
         break;
 
-      case OPCODE_SWZ:
       case OPCODE_DST:
       case OPCODE_TXP:
       default: