All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] mesa/st: Gallium quads, by spec, never change provoking vertex.
@ 2010-02-10 19:02 Corbin Simpson
  2010-02-11 15:03 ` Brian Paul
  0 siblings, 1 reply; 4+ messages in thread
From: Corbin Simpson @ 2010-02-10 19:02 UTC (permalink / raw)
  To: DRI-Development

>From 215714d54a7f38b9add236bcc1c795e8b5d92867 Mon Sep 17 00:00:00 2001
From: Corbin Simpson <MostAwesomeDude@gmail.com>
Date: Wed, 10 Feb 2010 10:39:18 -0800
Subject: [PATCH] mesa/st: Gallium quads, by spec, never change provoking vertex.

Fixes glean/clipFlat. Softpipe might be broken; I haven't figured out
how to test it in this new API world. :T
---
 src/mesa/state_tracker/st_extensions.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/src/mesa/state_tracker/st_extensions.c
b/src/mesa/state_tracker/st_extensions.c
index d5f5854..e2d871b 100644
--- a/src/mesa/state_tracker/st_extensions.c
+++ b/src/mesa/state_tracker/st_extensions.c
@@ -137,6 +137,9 @@ void st_init_limits(struct st_context *st)
    /* XXX separate query for early function return? */
    st->ctx->Shader.EmitContReturn =
       screen->get_param(screen, PIPE_CAP_TGSI_CONT_SUPPORTED);
+
+   /* Quads always follow GL provoking rules. */
+   c->QuadsFollowProvokingVertexConvention = GL_FALSE;
 }


-- 
1.6.6

------------------------------------------------------------------------------
SOLARIS 10 is the OS for Data Centers - provides features such as DTrace,
Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW
http://p.sf.net/sfu/solaris-dev2dev
--

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] mesa/st: Gallium quads, by spec, never change provoking  vertex.
  2010-02-10 19:02 [PATCH] mesa/st: Gallium quads, by spec, never change provoking vertex Corbin Simpson
@ 2010-02-11 15:03 ` Brian Paul
  2010-03-07  4:05   ` Marek Olšák
  0 siblings, 1 reply; 4+ messages in thread
From: Brian Paul @ 2010-02-11 15:03 UTC (permalink / raw)
  To: Corbin Simpson; +Cc: DRI-Development, mesa3d-dev

Corbin Simpson wrote:
>>From 215714d54a7f38b9add236bcc1c795e8b5d92867 Mon Sep 17 00:00:00 2001
> From: Corbin Simpson <MostAwesomeDude@gmail.com>
> Date: Wed, 10 Feb 2010 10:39:18 -0800
> Subject: [PATCH] mesa/st: Gallium quads, by spec, never change provoking vertex.
> 
> Fixes glean/clipFlat. Softpipe might be broken; I haven't figured out
> how to test it in this new API world. :T
> ---
>  src/mesa/state_tracker/st_extensions.c |    3 +++
>  1 files changed, 3 insertions(+), 0 deletions(-)
> 
> diff --git a/src/mesa/state_tracker/st_extensions.c
> b/src/mesa/state_tracker/st_extensions.c
> index d5f5854..e2d871b 100644
> --- a/src/mesa/state_tracker/st_extensions.c
> +++ b/src/mesa/state_tracker/st_extensions.c
> @@ -137,6 +137,9 @@ void st_init_limits(struct st_context *st)
>     /* XXX separate query for early function return? */
>     st->ctx->Shader.EmitContReturn =
>        screen->get_param(screen, PIPE_CAP_TGSI_CONT_SUPPORTED);
> +
> +   /* Quads always follow GL provoking rules. */
> +   c->QuadsFollowProvokingVertexConvention = GL_FALSE;
>  }

This causes the glean clipFlat test to fail with softpipe.  The 
gallium softpipe driver _does_ implement the "quad follows provoking 
vertex" convention.

I don't have time right now to update the softpipe driver so this 
patch will have to wait a while.  Maybe someone else can look at it 
sooner.

-Brian

------------------------------------------------------------------------------
SOLARIS 10 is the OS for Data Centers - provides features such as DTrace,
Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW
http://p.sf.net/sfu/solaris-dev2dev

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] mesa/st: Gallium quads, by spec, never  change provoking vertex.
  2010-02-11 15:03 ` Brian Paul
@ 2010-03-07  4:05   ` Marek Olšák
  2010-03-08 16:16     ` [Mesa3d-dev] " Brian Paul
  0 siblings, 1 reply; 4+ messages in thread
From: Marek Olšák @ 2010-03-07  4:05 UTC (permalink / raw)
  To: Brian Paul; +Cc: DRI-Development, mesa3d-dev


[-- Attachment #1.1: Type: text/plain, Size: 2161 bytes --]

The attached patches change softpipe and llvmpipe so that they never provoke
the first vertex for quads. Please review. I think that these and the
Corbin's one could be pushed by now, couldn't they?

-Marek

On Thu, Feb 11, 2010 at 4:03 PM, Brian Paul <brianp@vmware.com> wrote:

> Corbin Simpson wrote:
> >>From 215714d54a7f38b9add236bcc1c795e8b5d92867 Mon Sep 17 00:00:00 2001
> > From: Corbin Simpson <MostAwesomeDude@gmail.com>
> > Date: Wed, 10 Feb 2010 10:39:18 -0800
> > Subject: [PATCH] mesa/st: Gallium quads, by spec, never change provoking
> vertex.
> >
> > Fixes glean/clipFlat. Softpipe might be broken; I haven't figured out
> > how to test it in this new API world. :T
> > ---
> >  src/mesa/state_tracker/st_extensions.c |    3 +++
> >  1 files changed, 3 insertions(+), 0 deletions(-)
> >
> > diff --git a/src/mesa/state_tracker/st_extensions.c
> > b/src/mesa/state_tracker/st_extensions.c
> > index d5f5854..e2d871b 100644
> > --- a/src/mesa/state_tracker/st_extensions.c
> > +++ b/src/mesa/state_tracker/st_extensions.c
> > @@ -137,6 +137,9 @@ void st_init_limits(struct st_context *st)
> >     /* XXX separate query for early function return? */
> >     st->ctx->Shader.EmitContReturn =
> >        screen->get_param(screen, PIPE_CAP_TGSI_CONT_SUPPORTED);
> > +
> > +   /* Quads always follow GL provoking rules. */
> > +   c->QuadsFollowProvokingVertexConvention = GL_FALSE;
> >  }
>
> This causes the glean clipFlat test to fail with softpipe.  The
> gallium softpipe driver _does_ implement the "quad follows provoking
> vertex" convention.
>
> I don't have time right now to update the softpipe driver so this
> patch will have to wait a while.  Maybe someone else can look at it
> sooner.
>
> -Brian
>
>
> ------------------------------------------------------------------------------
> SOLARIS 10 is the OS for Data Centers - provides features such as DTrace,
> Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW
> http://p.sf.net/sfu/solaris-dev2dev
> _______________________________________________
> Mesa3d-dev mailing list
> Mesa3d-dev@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/mesa3d-dev
>

[-- Attachment #1.2: Type: text/html, Size: 2928 bytes --]

[-- Attachment #2: 0001-llvmpipe-do-not-follow-the-provoking-vertex-conventi.patch --]
[-- Type: text/x-patch, Size: 7938 bytes --]

From 861dd9a4e5d2fc3e0892d76d8f0ac929e186a88a Mon Sep 17 00:00:00 2001
From: =?utf-8?q?Marek=20Ol=C5=A1=C3=A1k?= <maraeo@gmail.com>
Date: Sun, 7 Mar 2010 04:54:43 +0100
Subject: [PATCH 1/2] llvmpipe: do not follow the provoking vertex convention for quads

---
 src/gallium/drivers/llvmpipe/lp_setup_vbuf.c |  129 +++++++------------------
 1 files changed, 36 insertions(+), 93 deletions(-)

diff --git a/src/gallium/drivers/llvmpipe/lp_setup_vbuf.c b/src/gallium/drivers/llvmpipe/lp_setup_vbuf.c
index 24291da..671e744 100644
--- a/src/gallium/drivers/llvmpipe/lp_setup_vbuf.c
+++ b/src/gallium/drivers/llvmpipe/lp_setup_vbuf.c
@@ -231,57 +231,29 @@ lp_setup_draw(struct vbuf_render *vbr, const ushort *indices, uint nr)
       break;
 
    case PIPE_PRIM_QUADS:
-      if (setup->flatshade_first) {
-         for (i = 3; i < nr; i += 4) {
-            setup->triangle( setup,
-                             get_vert(vertex_buffer, indices[i-2], stride),
-                             get_vert(vertex_buffer, indices[i-1], stride),
-                             get_vert(vertex_buffer, indices[i-3], stride) );
-            setup->triangle( setup,
-                             get_vert(vertex_buffer, indices[i-1], stride),
-                             get_vert(vertex_buffer, indices[i-0], stride),
-                             get_vert(vertex_buffer, indices[i-3], stride) );
-         }
-      }
-      else {
-         for (i = 3; i < nr; i += 4) {
-            setup->triangle( setup,
-                             get_vert(vertex_buffer, indices[i-3], stride),
-                             get_vert(vertex_buffer, indices[i-2], stride),
-                             get_vert(vertex_buffer, indices[i-0], stride) );
+      for (i = 3; i < nr; i += 4) {
+         setup->triangle( setup,
+                          get_vert(vertex_buffer, indices[i-3], stride),
+                          get_vert(vertex_buffer, indices[i-2], stride),
+                          get_vert(vertex_buffer, indices[i-0], stride) );
 
-            setup->triangle( setup,
-                             get_vert(vertex_buffer, indices[i-2], stride),
-                             get_vert(vertex_buffer, indices[i-1], stride),
-                             get_vert(vertex_buffer, indices[i-0], stride) );
-         }
+         setup->triangle( setup,
+                          get_vert(vertex_buffer, indices[i-2], stride),
+                          get_vert(vertex_buffer, indices[i-1], stride),
+                          get_vert(vertex_buffer, indices[i-0], stride) );
       }
       break;
 
    case PIPE_PRIM_QUAD_STRIP:
-      if (setup->flatshade_first) {
-         for (i = 3; i < nr; i += 2) {
-            setup->triangle( setup,
-                             get_vert(vertex_buffer, indices[i-0], stride),
-                             get_vert(vertex_buffer, indices[i-1], stride),
-                             get_vert(vertex_buffer, indices[i-3], stride));
-            setup->triangle( setup,
-                             get_vert(vertex_buffer, indices[i-2], stride),
-                             get_vert(vertex_buffer, indices[i-0], stride),
-                             get_vert(vertex_buffer, indices[i-3], stride) );
-         }
-      }
-      else {
-         for (i = 3; i < nr; i += 2) {
-            setup->triangle( setup,
-                             get_vert(vertex_buffer, indices[i-3], stride),
-                             get_vert(vertex_buffer, indices[i-2], stride),
-                             get_vert(vertex_buffer, indices[i-0], stride) );
-            setup->triangle( setup,
-                             get_vert(vertex_buffer, indices[i-1], stride),
-                             get_vert(vertex_buffer, indices[i-3], stride),
-                             get_vert(vertex_buffer, indices[i-0], stride) );
-         }
+      for (i = 3; i < nr; i += 2) {
+         setup->triangle( setup,
+                          get_vert(vertex_buffer, indices[i-3], stride),
+                          get_vert(vertex_buffer, indices[i-2], stride),
+                          get_vert(vertex_buffer, indices[i-0], stride) );
+         setup->triangle( setup,
+                          get_vert(vertex_buffer, indices[i-1], stride),
+                          get_vert(vertex_buffer, indices[i-3], stride),
+                          get_vert(vertex_buffer, indices[i-0], stride) );
       }
       break;
 
@@ -415,57 +387,28 @@ lp_setup_draw_arrays(struct vbuf_render *vbr, uint start, uint nr)
       break;
 
    case PIPE_PRIM_QUADS:
-      if (setup->flatshade_first) {
-         for (i = 3; i < nr; i += 4) {
-            setup->triangle( setup,
-                             get_vert(vertex_buffer, i-2, stride),
-                             get_vert(vertex_buffer, i-1, stride),
-                             get_vert(vertex_buffer, i-3, stride) );
-            setup->triangle( setup,
-                             get_vert(vertex_buffer, i-1, stride),
-                             get_vert(vertex_buffer, i-0, stride),
-                             get_vert(vertex_buffer, i-3, stride) );
-         }
-      }
-      else {
-         for (i = 3; i < nr; i += 4) {
-            setup->triangle( setup,
-                             get_vert(vertex_buffer, i-3, stride),
-                             get_vert(vertex_buffer, i-2, stride),
-                             get_vert(vertex_buffer, i-0, stride) );
-            setup->triangle( setup,
-                             get_vert(vertex_buffer, i-2, stride),
-                             get_vert(vertex_buffer, i-1, stride),
-                             get_vert(vertex_buffer, i-0, stride) );
-         }
+      for (i = 3; i < nr; i += 4) {
+         setup->triangle( setup,
+                          get_vert(vertex_buffer, i-3, stride),
+                          get_vert(vertex_buffer, i-2, stride),
+                          get_vert(vertex_buffer, i-0, stride) );
+         setup->triangle( setup,
+                          get_vert(vertex_buffer, i-2, stride),
+                          get_vert(vertex_buffer, i-1, stride),
+                          get_vert(vertex_buffer, i-0, stride) );
       }
       break;
 
    case PIPE_PRIM_QUAD_STRIP:
-      if (setup->flatshade_first) {
-         for (i = 3; i < nr; i += 2) {
-            setup->triangle( setup,
-                             get_vert(vertex_buffer, i-0, stride),
-                             get_vert(vertex_buffer, i-1, stride),
-                             get_vert(vertex_buffer, i-3, stride) );
-            setup->triangle( setup,
-
-                             get_vert(vertex_buffer, i-2, stride),
-                             get_vert(vertex_buffer, i-0, stride),
-                             get_vert(vertex_buffer, i-3, stride) );
-         }
-      }
-      else {
-         for (i = 3; i < nr; i += 2) {
-            setup->triangle( setup,
-                             get_vert(vertex_buffer, i-3, stride),
-                             get_vert(vertex_buffer, i-2, stride),
-                             get_vert(vertex_buffer, i-0, stride) );
-            setup->triangle( setup,
-                             get_vert(vertex_buffer, i-1, stride),
-                             get_vert(vertex_buffer, i-3, stride),
-                             get_vert(vertex_buffer, i-0, stride) );
-         }
+      for (i = 3; i < nr; i += 2) {
+         setup->triangle( setup,
+                          get_vert(vertex_buffer, i-3, stride),
+                          get_vert(vertex_buffer, i-2, stride),
+                          get_vert(vertex_buffer, i-0, stride) );
+         setup->triangle( setup,
+                          get_vert(vertex_buffer, i-1, stride),
+                          get_vert(vertex_buffer, i-3, stride),
+                          get_vert(vertex_buffer, i-0, stride) );
       }
       break;
 
-- 
1.6.3.3


[-- Attachment #3: 0002-softpipe-do-not-follow-the-provoking-vertex-conventi.patch --]
[-- Type: text/x-patch, Size: 6043 bytes --]

From b9a143ebda0024afd38e1baf3e5932c1e5acb3fd Mon Sep 17 00:00:00 2001
From: =?utf-8?q?Marek=20Ol=C5=A1=C3=A1k?= <maraeo@gmail.com>
Date: Sun, 7 Mar 2010 04:56:06 +0100
Subject: [PATCH 2/2] softpipe: do not follow the provoking vertex convention for quads

---
 src/gallium/drivers/softpipe/sp_prim_vbuf.c |   80 ++++-----------------------
 1 files changed, 12 insertions(+), 68 deletions(-)

diff --git a/src/gallium/drivers/softpipe/sp_prim_vbuf.c b/src/gallium/drivers/softpipe/sp_prim_vbuf.c
index 98c08ea..6749243 100644
--- a/src/gallium/drivers/softpipe/sp_prim_vbuf.c
+++ b/src/gallium/drivers/softpipe/sp_prim_vbuf.c
@@ -264,57 +264,29 @@ sp_vbuf_draw(struct vbuf_render *vbr, const ushort *indices, uint nr)
       break;
 
    case PIPE_PRIM_QUADS:
-      if (softpipe->rasterizer->flatshade_first) {
-         for (i = 3; i < nr; i += 4) {
-            sp_setup_tri( setup_ctx,
-                       get_vert(vertex_buffer, indices[i-2], stride),
-                       get_vert(vertex_buffer, indices[i-1], stride),
-                       get_vert(vertex_buffer, indices[i-3], stride) );
-            sp_setup_tri( setup_ctx,
-                       get_vert(vertex_buffer, indices[i-1], stride),
-                       get_vert(vertex_buffer, indices[i-0], stride),
-                       get_vert(vertex_buffer, indices[i-3], stride) );
-         }
-      }
-      else {
-         for (i = 3; i < nr; i += 4) {
-            sp_setup_tri( setup_ctx,
+      for (i = 3; i < nr; i += 4) {
+         sp_setup_tri( setup_ctx,
                        get_vert(vertex_buffer, indices[i-3], stride),
                        get_vert(vertex_buffer, indices[i-2], stride),
                        get_vert(vertex_buffer, indices[i-0], stride) );
 
-            sp_setup_tri( setup_ctx,
+         sp_setup_tri( setup_ctx,
                        get_vert(vertex_buffer, indices[i-2], stride),
                        get_vert(vertex_buffer, indices[i-1], stride),
                        get_vert(vertex_buffer, indices[i-0], stride) );
-         }
       }
       break;
 
    case PIPE_PRIM_QUAD_STRIP:
-      if (softpipe->rasterizer->flatshade_first) {
-         for (i = 3; i < nr; i += 2) {
-            sp_setup_tri( setup_ctx,
-                       get_vert(vertex_buffer, indices[i-0], stride),
-                       get_vert(vertex_buffer, indices[i-1], stride),
-                       get_vert(vertex_buffer, indices[i-3], stride));
-            sp_setup_tri( setup_ctx,
-                       get_vert(vertex_buffer, indices[i-2], stride),
-                       get_vert(vertex_buffer, indices[i-0], stride),
-                       get_vert(vertex_buffer, indices[i-3], stride) );
-         }
-      }
-      else {
-         for (i = 3; i < nr; i += 2) {
-            sp_setup_tri( setup_ctx,
+      for (i = 3; i < nr; i += 2) {
+         sp_setup_tri( setup_ctx,
                        get_vert(vertex_buffer, indices[i-3], stride),
                        get_vert(vertex_buffer, indices[i-2], stride),
                        get_vert(vertex_buffer, indices[i-0], stride) );
-            sp_setup_tri( setup_ctx,
+         sp_setup_tri( setup_ctx,
                        get_vert(vertex_buffer, indices[i-1], stride),
                        get_vert(vertex_buffer, indices[i-3], stride),
                        get_vert(vertex_buffer, indices[i-0], stride) );
-         }
       }
       break;
 
@@ -448,56 +420,28 @@ sp_vbuf_draw_arrays(struct vbuf_render *vbr, uint start, uint nr)
       break;
 
    case PIPE_PRIM_QUADS:
-      if (softpipe->rasterizer->flatshade_first) {
-         for (i = 3; i < nr; i += 4) {
-            sp_setup_tri( setup_ctx,
-                       get_vert(vertex_buffer, i-2, stride),
-                       get_vert(vertex_buffer, i-1, stride),
-                       get_vert(vertex_buffer, i-3, stride) );
-            sp_setup_tri( setup_ctx,
-                       get_vert(vertex_buffer, i-1, stride),
-                       get_vert(vertex_buffer, i-0, stride),
-                       get_vert(vertex_buffer, i-3, stride) );
-         }
-      }
-      else {
-         for (i = 3; i < nr; i += 4) {
-            sp_setup_tri( setup_ctx,
+      for (i = 3; i < nr; i += 4) {
+         sp_setup_tri( setup_ctx,
                        get_vert(vertex_buffer, i-3, stride),
                        get_vert(vertex_buffer, i-2, stride),
                        get_vert(vertex_buffer, i-0, stride) );
-            sp_setup_tri( setup_ctx,
+         sp_setup_tri( setup_ctx,
                        get_vert(vertex_buffer, i-2, stride),
                        get_vert(vertex_buffer, i-1, stride),
                        get_vert(vertex_buffer, i-0, stride) );
-         }
       }
       break;
 
    case PIPE_PRIM_QUAD_STRIP:
-      if (softpipe->rasterizer->flatshade_first) {
-         for (i = 3; i < nr; i += 2) {
-            sp_setup_tri( setup_ctx,
-                       get_vert(vertex_buffer, i-0, stride),
-                       get_vert(vertex_buffer, i-1, stride),
-                       get_vert(vertex_buffer, i-3, stride) );
-            sp_setup_tri( setup_ctx,
-                       get_vert(vertex_buffer, i-2, stride),
-                       get_vert(vertex_buffer, i-0, stride),
-                       get_vert(vertex_buffer, i-3, stride) );
-         }
-      }
-      else {
-         for (i = 3; i < nr; i += 2) {
-            sp_setup_tri( setup_ctx,
+      for (i = 3; i < nr; i += 2) {
+         sp_setup_tri( setup_ctx,
                        get_vert(vertex_buffer, i-3, stride),
                        get_vert(vertex_buffer, i-2, stride),
                        get_vert(vertex_buffer, i-0, stride) );
-            sp_setup_tri( setup_ctx,
+         sp_setup_tri( setup_ctx,
                        get_vert(vertex_buffer, i-1, stride),
                        get_vert(vertex_buffer, i-3, stride),
                        get_vert(vertex_buffer, i-0, stride) );
-         }
       }
       break;
 
-- 
1.6.3.3


[-- Attachment #4: Type: text/plain, Size: 345 bytes --]

------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev

[-- Attachment #5: Type: text/plain, Size: 161 bytes --]

_______________________________________________
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [Mesa3d-dev] [PATCH] mesa/st: Gallium quads, by spec, never change provoking vertex.
  2010-03-07  4:05   ` Marek Olšák
@ 2010-03-08 16:16     ` Brian Paul
  0 siblings, 0 replies; 4+ messages in thread
From: Brian Paul @ 2010-03-08 16:16 UTC (permalink / raw)
  To: Marek Olšák; +Cc: DRI-Development, mesa3d-dev

Looks OK, but have you tested with Glean's clipFlat test?  If it 
passes go ahead and commit.

-Brian

Marek Olšák wrote:
> The attached patches change softpipe and llvmpipe so that they never 
> provoke the first vertex for quads. Please review. I think that these 
> and the Corbin's one could be pushed by now, couldn't they?
> 
> -Marek
> 
> On Thu, Feb 11, 2010 at 4:03 PM, Brian Paul <brianp@vmware.com 
> <mailto:brianp@vmware.com>> wrote:
> 
>     Corbin Simpson wrote:
>      >>From 215714d54a7f38b9add236bcc1c795e8b5d92867 Mon Sep 17 00:00:00
>     2001
>      > From: Corbin Simpson <MostAwesomeDude@gmail.com
>     <mailto:MostAwesomeDude@gmail.com>>
>      > Date: Wed, 10 Feb 2010 10:39:18 -0800
>      > Subject: [PATCH] mesa/st: Gallium quads, by spec, never change
>     provoking vertex.
>      >
>      > Fixes glean/clipFlat. Softpipe might be broken; I haven't figured out
>      > how to test it in this new API world. :T
>      > ---
>      >  src/mesa/state_tracker/st_extensions.c |    3 +++
>      >  1 files changed, 3 insertions(+), 0 deletions(-)
>      >
>      > diff --git a/src/mesa/state_tracker/st_extensions.c
>      > b/src/mesa/state_tracker/st_extensions.c
>      > index d5f5854..e2d871b 100644
>      > --- a/src/mesa/state_tracker/st_extensions.c
>      > +++ b/src/mesa/state_tracker/st_extensions.c
>      > @@ -137,6 +137,9 @@ void st_init_limits(struct st_context *st)
>      >     /* XXX separate query for early function return? */
>      >     st->ctx->Shader.EmitContReturn =
>      >        screen->get_param(screen, PIPE_CAP_TGSI_CONT_SUPPORTED);
>      > +
>      > +   /* Quads always follow GL provoking rules. */
>      > +   c->QuadsFollowProvokingVertexConvention = GL_FALSE;
>      >  }
> 
>     This causes the glean clipFlat test to fail with softpipe.  The
>     gallium softpipe driver _does_ implement the "quad follows provoking
>     vertex" convention.
> 
>     I don't have time right now to update the softpipe driver so this
>     patch will have to wait a while.  Maybe someone else can look at it
>     sooner.
> 
>     -Brian
> 
>     ------------------------------------------------------------------------------
>     SOLARIS 10 is the OS for Data Centers - provides features such as
>     DTrace,
>     Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW
>     http://p.sf.net/sfu/solaris-dev2dev
>     _______________________________________________
>     Mesa3d-dev mailing list
>     Mesa3d-dev@lists.sourceforge.net
>     <mailto:Mesa3d-dev@lists.sourceforge.net>
>     https://lists.sourceforge.net/lists/listinfo/mesa3d-dev
> 
> 


------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
--

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2010-03-08 16:16 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-02-10 19:02 [PATCH] mesa/st: Gallium quads, by spec, never change provoking vertex Corbin Simpson
2010-02-11 15:03 ` Brian Paul
2010-03-07  4:05   ` Marek Olšák
2010-03-08 16:16     ` [Mesa3d-dev] " Brian Paul

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.