diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_fs.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp index 45b75cb2f70..8d98b0d30ab 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp @@ -1178,15 +1178,20 @@ fs_visitor::emit_general_interpolation(ir_variable *ir) fs_inst *inst; inst = emit_linterp(attr, fs_reg(interp), interpolation_mode, + false, false); + inst->predicate = BRW_PREDICATE_NORMAL; + inst->predicate_inverse = true; + if (brw->has_pln) + inst->no_dd_clear = true; + + inst = emit_linterp(attr, fs_reg(interp), interpolation_mode, ir->data.centroid && !key->persample_shading, ir->data.sample || key->persample_shading); inst->predicate = BRW_PREDICATE_NORMAL; inst->predicate_inverse = false; + if (brw->has_pln) + inst->no_dd_check = true; - inst = emit_linterp(attr, fs_reg(interp), interpolation_mode, - false, false); - inst->predicate = BRW_PREDICATE_NORMAL; - inst->predicate_inverse = true; } else { emit_linterp(attr, fs_reg(interp), interpolation_mode, ir->data.centroid && !key->persample_shading, |