[Mesa-dev] [PATCH 2/2] nvc0: Set winding order regardless of domain.
Ilia Mirkin
imirkin at alum.mit.edu
Wed Dec 30 05:41:28 PST 2015
On Wed, Dec 30, 2015 at 6:26 AM, Kenneth Graunke <kenneth at whitecape.org> wrote:
> Quads need to respect winding order, too - not just triangles.
Double-checked the spec, looks like that's right. And hopefully the FE
will complain if you attempt to set it on lines.
>
> Fixes rendering in GFXBench 4.0's tessellation benchmark.
>
> Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
> Cc: Ilia Mirkin <imirkin at alum.mit.edu>
Cc: "11.0 11.1" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
Looks like my secret evil plan to try to get you to fix nouveau bugs
is finally bearing fruit... :)
-ilia
> ---
> src/gallium/drivers/nouveau/nvc0/nvc0_program.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> No regressions in Piglit -t tessellation on NVE0 (GTX 760).
>
> diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_program.c b/src/gallium/drivers/nouveau/nvc0/nvc0_program.c
> index 67a25ac..5d9a0c1 100644
> --- a/src/gallium/drivers/nouveau/nvc0/nvc0_program.c
> +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_program.c
> @@ -285,8 +285,6 @@ nvc0_tp_get_tess_mode(struct nvc0_program *tp, struct nv50_ir_prog_info *info)
> break;
> case PIPE_PRIM_TRIANGLES:
> tp->tp.tess_mode = NVC0_3D_TESS_MODE_PRIM_TRIANGLES;
> - if (info->prop.tp.winding > 0)
> - tp->tp.tess_mode |= NVC0_3D_TESS_MODE_CW;
> break;
> case PIPE_PRIM_QUADS:
> tp->tp.tess_mode = NVC0_3D_TESS_MODE_PRIM_QUADS;
> @@ -295,6 +293,10 @@ nvc0_tp_get_tess_mode(struct nvc0_program *tp, struct nv50_ir_prog_info *info)
> tp->tp.tess_mode = ~0;
> return;
> }
> +
> + if (info->prop.tp.winding > 0)
> + tp->tp.tess_mode |= NVC0_3D_TESS_MODE_CW;
> +
> if (info->prop.tp.outputPrim != PIPE_PRIM_POINTS)
> tp->tp.tess_mode |= NVC0_3D_TESS_MODE_CONNECTED;
>
> --
> 2.6.4
>
More information about the mesa-dev
mailing list