Mesa (master): r300-gallium: Fix CS size mismatch

Brian Paul brianp at kemper.freedesktop.org
Tue Apr 21 15:52:47 UTC 2009


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

Author: Mathias Gottschlag <mathias-go at web.de>
Date:   Tue Apr 21 09:52:30 2009 -0600

r300-gallium: Fix CS size mismatch

This fixes some warnings which appear because the driver assumes a wrong
cs size (13 vs 16 register writes in some cases).

---

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

diff --git a/src/gallium/drivers/r300/r300_emit.c b/src/gallium/drivers/r300/r300_emit.c
index a3d8337..417d5f6 100644
--- a/src/gallium/drivers/r300/r300_emit.c
+++ b/src/gallium/drivers/r300/r300_emit.c
@@ -340,7 +340,11 @@ void r300_emit_vertex_shader(struct r300_context* r300,
         return;
     }
 
-    BEGIN_CS(13 + (vs->instruction_count * 4) + (constants->count * 4));
+    if (constants->count) {
+        BEGIN_CS(16 + (vs->instruction_count * 4) + (constants->count * 4));
+    } else {
+        BEGIN_CS(13 + (vs->instruction_count * 4) + (constants->count * 4));
+    }
 
     OUT_CS_REG(R300_VAP_PVS_CODE_CNTL_0, R300_PVS_FIRST_INST(0) |
             R300_PVS_LAST_INST(vs->instruction_count - 1));




More information about the mesa-commit mailing list