From b8fff1f9f17a2488aa45e875104353814bf59da2 Mon Sep 17 00:00:00 2001 From: Mathias Gottschlag Date: Tue, 21 Apr 2009 09:52:30 -0600 Subject: [PATCH] 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 file changed, 5 insertions(+), 1 deletion(-) 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)); -- 2.7.4