Mesa (r6xx-rewrite): R6xx/r7xx: fix missing vertex stream

Alex Deucher agd5f at kemper.freedesktop.org
Wed Jul 15 21:02:10 UTC 2009


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

Author: Richard Li <richardradeon at gmail.com>
Date:   Wed Jul 15 17:00:42 2009 -0400

R6xx/r7xx: fix missing vertex stream

Somehow context->radeon.tcl.aos[j].bo is not null sometimes,
but it is safe for now because it is only a pointer to
dma.current so overwriting it would not hurt anything.

---

 src/mesa/drivers/dri/r600/r700_chip.c |   32 +++++++++++++++-----------------
 1 files changed, 15 insertions(+), 17 deletions(-)

diff --git a/src/mesa/drivers/dri/r600/r700_chip.c b/src/mesa/drivers/dri/r600/r700_chip.c
index 9bd892a..b40550d 100644
--- a/src/mesa/drivers/dri/r600/r700_chip.c
+++ b/src/mesa/drivers/dri/r600/r700_chip.c
@@ -374,23 +374,21 @@ int r700SetupStreams(GLcontext * ctx)
 		unBit = 1 << i;
 		if(vpc->mesa_program.Base.InputsRead & unBit)
 		{
-			if (!context->radeon.tcl.aos[j].bo) {
-				rcommon_emit_vector(ctx,
-						    &context->radeon.tcl.aos[j],
-						    vb->AttribPtr[i]->data,
-						    vb->AttribPtr[i]->size,
-						    vb->AttribPtr[i]->stride,
-						    vb->Count);
-
-				/* currently aos are packed */
-				r700SetupVTXConstants(ctx,
-						      j,
-						      (void*)(&context->radeon.tcl.aos[j]),
-						      (unsigned int)context->radeon.tcl.aos[j].components,
-						      (unsigned int)context->radeon.tcl.aos[j].stride * 4,
-						      (unsigned int)context->radeon.tcl.aos[j].count);
-				j++;
-			}
+			rcommon_emit_vector(ctx,
+					    &context->radeon.tcl.aos[j],
+					    vb->AttribPtr[i]->data,
+					    vb->AttribPtr[i]->size,
+					    vb->AttribPtr[i]->stride,
+					    vb->Count);
+
+			/* currently aos are packed */
+			r700SetupVTXConstants(ctx,
+					      j,
+					      (void*)(&context->radeon.tcl.aos[j]),
+					      (unsigned int)context->radeon.tcl.aos[j].components,
+					      (unsigned int)context->radeon.tcl.aos[j].stride * 4,
+					      (unsigned int)context->radeon.tcl.aos[j].count);
+			j++;
 			context->radeon.tcl.aos_count++;
 		}
 	}




More information about the mesa-commit mailing list