[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