i965/fs: Don't propagate saturate modifiers into partial writes.
authorMatt Turner <mattst88@gmail.com>
Thu, 3 Apr 2014 21:00:32 +0000 (14:00 -0700)
committerMatt Turner <mattst88@gmail.com>
Sat, 5 Apr 2014 16:47:36 +0000 (09:47 -0700)
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
src/mesa/drivers/dri/i965/brw_fs_saturate_propagation.cpp

index eaecb45..4f3dcff 100644 (file)
@@ -59,7 +59,8 @@ opt_saturate_propagation_local(fs_visitor *v, bblock_t *block)
 
          if (scan_inst->dst.file == GRF &&
              scan_inst->dst.reg == inst->src[0].reg &&
-             scan_inst->dst.reg_offset == inst->src[0].reg_offset) {
+             scan_inst->dst.reg_offset == inst->src[0].reg_offset &&
+             !scan_inst->is_partial_write()) {
             if (scan_inst->can_do_saturate()) {
                scan_inst->saturate = true;
                inst->saturate = false;