[Mesa-dev] [PATCH 7/7] i965/gen7: Fix feedback for flat-shaded tristrips versus provoking vertex.

Eric Anholt eric at anholt.net
Thu Dec 22 16:54:50 PST 2011


Fixes piglit tesselation triangle_strip flat_last.
---
 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 a5e28b6..93ca868 100644
--- a/src/mesa/drivers/dri/i965/gen7_sol_state.c
+++ b/src/mesa/drivers/dri/i965/gen7_sol_state.c
@@ -182,6 +182,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_0 << i;
@@ -235,6 +239,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 |
-- 
1.7.7.3



More information about the mesa-dev mailing list