On Wed, Dec 30, 2015 at 6:26 AM, Kenneth Graunke <kenn...@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 <kenn...@whitecape.org> > Cc: Ilia Mirkin <imir...@alum.mit.edu> Cc: "11.0 11.1" <mesa-sta...@lists.freedesktop.org> Reviewed-by: Ilia Mirkin <imir...@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 > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev