Mesa (master): i965/gen7: Fix feedback for flat-shaded tristrips versus provoking vertex.

Eric Anholt anholt at kemper.freedesktop.org
Sat Dec 24 06:13:52 UTC 2011


Module: Mesa
Branch: master
Commit: e71375d375e2cc0d0a06fec6e7adbd1dd3a6a2fc
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e71375d375e2cc0d0a06fec6e7adbd1dd3a6a2fc

Author: Eric Anholt <eric at anholt.net>
Date:   Thu Dec 22 16:23:46 2011 -0800

i965/gen7: Fix feedback for flat-shaded tristrips versus provoking vertex.

Fixes piglit tesselation triangle_strip flat_last.

Reviewed-by: Kenneth Graunke <kenneth at whitecape.org> (v1)
Reviewed-by: Paul Berry <stereotype441 at gmail.com>

---

 src/mesa/drivers/dri/i965/gen7_sol_state.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/gen7_sol_state.c b/src/mesa/drivers/dri/i965/gen7_sol_state.c
index 3b6fc8e..7346866 100644
--- a/src/mesa/drivers/dri/i965/gen7_sol_state.c
+++ b/src/mesa/drivers/dri/i965/gen7_sol_state.c
@@ -187,6 +187,10 @@ upload_3dstate_streamout(struct brw_context *brw, bool active,
       dw1 |= SO_FUNCTION_ENABLE;
       dw1 |= SO_STATISTICS_ENABLE;
 
+      /* _NEW_LIGHT */
+      if (ctx->Light.ProvokingVertex != GL_FIRST_VERTEX_CONVENTION)
+	 dw1 |= SO_REORDER_TRAILING;
+
       for (i = 0; i < 4; i++) {
 	 if (xfb_obj->Buffers[i]) {
 	    dw1 |= SO_BUFFER_ENABLE(i);
@@ -240,6 +244,7 @@ upload_sol_state(struct brw_context *brw)
 const struct brw_tracked_state gen7_sol_state = {
    .dirty = {
       .mesa  = (_NEW_RASTERIZER_DISCARD |
+		_NEW_LIGHT |
 		_NEW_TRANSFORM_FEEDBACK |
 		_NEW_TRANSFORM),
       .brw   = (BRW_NEW_BATCH |




More information about the mesa-commit mailing list