Mesa (master): radeonsi: Fix vertex buffer resource for stride 0.

Michel Dänzer daenzer at kemper.freedesktop.org
Thu May 10 12:26:36 UTC 2012


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

Author: Michel Dänzer <michel.daenzer at amd.com>
Date:   Thu May 10 13:54:27 2012 +0200

radeonsi: Fix vertex buffer resource for stride 0.

---

 src/gallium/drivers/radeonsi/r600_state_common.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/src/gallium/drivers/radeonsi/r600_state_common.c b/src/gallium/drivers/radeonsi/r600_state_common.c
index d283e41..ebed5b3 100644
--- a/src/gallium/drivers/radeonsi/r600_state_common.c
+++ b/src/gallium/drivers/radeonsi/r600_state_common.c
@@ -625,7 +625,11 @@ static void r600_vertex_buffer_update(struct r600_context *rctx)
 		ptr[0] = va & 0xFFFFFFFF;
 		ptr[1] = (S_008F04_BASE_ADDRESS_HI(va >> 32) |
 			  S_008F04_STRIDE(vertex_buffer->stride));
-		ptr[2] = (vertex_buffer->buffer->width0 - offset) / vertex_buffer->stride;
+		if (vertex_buffer->stride > 0)
+			ptr[2] = ((vertex_buffer->buffer->width0 - offset) /
+				  vertex_buffer->stride);
+		else
+			ptr[2] = vertex_buffer->buffer->width0 - offset;
 		/* XXX: Hardcoding RGBA */
 		ptr[3] = (S_008F0C_DST_SEL_X(V_008F0C_SQ_SEL_X) |
 			  S_008F0C_DST_SEL_Y(V_008F0C_SQ_SEL_Y) |




More information about the mesa-commit mailing list