Mesa (master): i965: Use last vertex convention for quad provoking vertex on sandybridge

Zhenyu Wang zhen at kemper.freedesktop.org
Tue Jan 4 07:56:50 UTC 2011


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

Author: Zhenyu Wang <zhenyuw at linux.intel.com>
Date:   Tue Jan  4 15:25:43 2011 +0800

i965: Use last vertex convention for quad provoking vertex on sandybridge

Until we know how hw converts quads to polygon in beginning of
3D pipeline, for now unconditionally use last vertex convention.

Fix glean/clipFlat case.

---

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

diff --git a/src/mesa/drivers/dri/i965/brw_context.c b/src/mesa/drivers/dri/i965/brw_context.c
index 28549f2..8fc322f 100644
--- a/src/mesa/drivers/dri/i965/brw_context.c
+++ b/src/mesa/drivers/dri/i965/brw_context.c
@@ -151,6 +151,13 @@ GLboolean brwCreateContext( int api,
       MIN2(ctx->Const.FragmentProgram.MaxNativeParameters,
 	   ctx->Const.FragmentProgram.MaxEnvParams);
 
+   /* Gen6 converts quads to polygon in beginning of 3D pipeline,
+      but we're not sure how it's actually done for vertex order,
+      that affect provoking vertex decision. Always use last vertex
+      convention for quad primitive which works as expected for now. */
+   if (intel->gen == 6)
+       ctx->Const.QuadsFollowProvokingVertexConvention = GL_FALSE;
+
    if (intel->is_g4x || intel->gen >= 5) {
       brw->CMD_VF_STATISTICS = CMD_VF_STATISTICS_GM45;
       brw->CMD_PIPELINE_SELECT = CMD_PIPELINE_SELECT_GM45;




More information about the mesa-commit mailing list