On Fri, 2016-07-15 at 23:43 -0700, Kenneth Graunke wrote: > The unlit centroid workaround starts being necessary on Gen6, which > is the first platform with multisampling. PLN exists on G45+, so all > platforms which need this workaround have PLN. > > Signed-off-by: Kenneth Graunke <kenn...@whitecape.org> > --- > src/mesa/drivers/dri/i965/brw_fs.cpp | 7 ++----- > 1 file changed, 2 insertions(+), 5 deletions(-) > > diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp > b/src/mesa/drivers/dri/i965/brw_fs.cpp > index 446cf3a..940f425 100644 > --- a/src/mesa/drivers/dri/i965/brw_fs.cpp > +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp > @@ -1185,16 +1185,13 @@ fs_visitor::emit_general_interpolation(fs_reg > *attr, const char *name, > delta_xy[centroid_to_pixel(bary)], > interp); > inst->predicate = BRW_PREDICATE_NORMAL; > inst->predicate_inverse = true; > - if (devinfo->has_pln) > - inst->no_dd_clear = true; > + inst->no_dd_clear = true; > > inst = bld.emit(FS_OPCODE_LINTERP, *attr, > delta_xy[bary], interp); > inst->predicate = BRW_PREDICATE_NORMAL; > inst->predicate_inverse = false; > - if (devinfo->has_pln) > - inst->no_dd_check = true; > - > + inst->no_dd_check = true; > } else { > bld.emit(FS_OPCODE_LINTERP, *attr, delta_xy[bary], > interp); > }
There is code just below this: if (devinfo->gen < 6 && interpolation_mode == INTERP_QUALIFIER_SMOOTH) { bld.MUL(*attr, *attr, this->pixel_w); } Which I think you could change to: else { bld.emit(FS_OPCODE_LINTERP, *attr, delta_xy[bary], interp); if (interpolation_mode == INTERP_QUALIFIER_SMOOTH) { bld.MUL(*attr, *attr, this->pixel_w); } } With or without that change: Reviewed-by: Timothy Arceri <timothy.arc...@collabora.com> _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev