Mesa (r6xx-rewrite): R6xx/r7xx: Correct the indeices of DRAW_INDEX_IMMD

Cooper Yuan cooperyuan at kemper.freedesktop.org
Thu Jul 2 08:51:29 UTC 2009


Module: Mesa
Branch: r6xx-rewrite
Commit: da88333671b35851bd713d0de464887e00d70593
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=da88333671b35851bd713d0de464887e00d70593

Author: Cooper Yuan <cooperyuan at gmail.com>
Date:   Thu Jul  2 16:49:19 2009 +0800

R6xx/r7xx: Correct the indeices of DRAW_INDEX_IMMD

---

 src/mesa/drivers/dri/r600/r700_render.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/mesa/drivers/dri/r600/r700_render.c b/src/mesa/drivers/dri/r600/r700_render.c
index e46b21c..a1ad929 100644
--- a/src/mesa/drivers/dri/r600/r700_render.c
+++ b/src/mesa/drivers/dri/r600/r700_render.c
@@ -238,6 +238,7 @@ static GLboolean r700RunRender(GLcontext * ctx,
 {
     context_t *context = R700_CONTEXT(ctx);
     R700_CHIP_CONTEXT *r700 = (R700_CHIP_CONTEXT*)(&context->hw);
+    int lastIndex = 0;
 #if 1
     BATCH_LOCALS(&context->radeon);
 
@@ -308,7 +309,6 @@ static GLboolean r700RunRender(GLcontext * ctx,
         GLuint end = vb->Primitive[i].start + vb->Primitive[i].count;
         GLuint numIndices = vb->Primitive[i].count;
         GLuint numEntires;
-		//r300RunRenderPrimitive(rmesa, ctx, start, end, prim);
 
         unsigned int VGT_DRAW_INITIATOR = 0;
         unsigned int VGT_INDEX_TYPE     = 0;
@@ -340,10 +340,12 @@ static GLboolean r700RunRender(GLcontext * ctx,
         R600_OUT_BATCH(VGT_NUM_INDICES);
         R600_OUT_BATCH(VGT_DRAW_INITIATOR);
 
-        for (j=0; j<numIndices; j++)
+        for (j = lastIndex; j < lastIndex + numIndices; j++)
         {
             R600_OUT_BATCH(j);
         }
+        lastIndex += numIndices;
+
         END_BATCH();
         COMMIT_BATCH();
     }




More information about the mesa-commit mailing list