[Mesa-dev] [PATCH] nvc0: fix line width on GM20x+
Ilia Mirkin
imirkin at alum.mit.edu
Fri Apr 20 22:21:34 UTC 2018
On Fri, Apr 20, 2018 at 6:16 PM, Rhys Perry <pendingchaos02 at gmail.com> wrote:
> Signed-off-by: Rhys Perry <pendingchaos02 at gmail.com>
> ---
> src/gallium/drivers/nouveau/nvc0/nvc0_state.c | 9 +++++----
> src/gallium/drivers/nouveau/nvc0/nvc0_stateobj.h | 2 +-
> 2 files changed, 6 insertions(+), 5 deletions(-)
>
> diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_state.c b/src/gallium/drivers/nouveau/nvc0/nvc0_state.c
> index 99d45a238a..9e23340d6e 100644
> --- a/src/gallium/drivers/nouveau/nvc0/nvc0_state.c
> +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_state.c
> @@ -233,10 +233,11 @@ nvc0_rasterizer_state_create(struct pipe_context *pipe,
> SB_IMMED_3D(so, MULTISAMPLE_ENABLE, cso->multisample);
>
> SB_IMMED_3D(so, LINE_SMOOTH_ENABLE, cso->line_smooth);
> - if (cso->line_smooth || cso->multisample)
> - SB_BEGIN_3D(so, LINE_WIDTH_SMOOTH, 1);
> - else
> - SB_BEGIN_3D(so, LINE_WIDTH_ALIASED, 1);
> + /* On GM20x+, LINE_WIDTH_SMOOTH controls both aliased and smooth
> + * rendering, so set set both */
Is there a possibility that instead it's just more controlled by the
LINE_SMOOTH_ENABLE? i.e. what if you make LINE_SMOOTH_ENABLE come on
with cso->line_smooth || cso->multisample? Or have you experimented,
and even when there's no smoothing/multisampling whatsoever, it will
use the smooth value?
In the latter case, perhaps just do it as
if (cso->line_smooth || cso->multisample || class_3d >= GM204_3D)
?
> + SB_BEGIN_3D(so, LINE_WIDTH_SMOOTH, 1);
> + SB_DATA (so, fui(cso->line_width));
> + SB_BEGIN_3D(so, LINE_WIDTH_ALIASED, 1);
> SB_DATA (so, fui(cso->line_width));
>
> SB_IMMED_3D(so, LINE_STIPPLE_ENABLE, cso->line_stipple_enable);
> diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_stateobj.h b/src/gallium/drivers/nouveau/nvc0/nvc0_stateobj.h
> index 3006ed6195..d4f8af4e75 100644
> --- a/src/gallium/drivers/nouveau/nvc0/nvc0_stateobj.h
> +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_stateobj.h
> @@ -23,7 +23,7 @@ struct nvc0_blend_stateobj {
> struct nvc0_rasterizer_stateobj {
> struct pipe_rasterizer_state pipe;
> int size;
> - uint32_t state[43];
> + uint32_t state[45];
> };
>
> struct nvc0_zsa_stateobj {
> --
> 2.14.3
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list