[Mesa-dev] [PATCH 2/4] i965: Drop has_pln checks in unlit centroid workaround.
Timothy Arceri
timothy.arceri at collabora.com
Sat Jul 16 23:14:28 UTC 2016
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 <kenneth at 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.arceri at collabora.com>
More information about the mesa-dev
mailing list