Mesa (master): r300-gallium: Fix BEGIN_CS and END_CS counting and mismatch.
Corbin Simpson
csimpson at kemper.freedesktop.org
Mon Feb 16 12:12:50 UTC 2009
Module: Mesa
Branch: master
Commit: f211da4c67fbe0e67475efcd9535b9cf9e5ae467
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f211da4c67fbe0e67475efcd9535b9cf9e5ae467
Author: Corbin Simpson <MostAwesomeDude at gmail.com>
Date: Mon Feb 16 03:55:16 2009 -0800
r300-gallium: Fix BEGIN_CS and END_CS counting and mismatch.
---
src/gallium/drivers/r300/r300_emit.c | 3 ++-
src/gallium/drivers/r300/r300_surface.c | 2 +-
src/gallium/drivers/r300/r300_swtcl_emit.c | 5 +----
3 files changed, 4 insertions(+), 6 deletions(-)
diff --git a/src/gallium/drivers/r300/r300_emit.c b/src/gallium/drivers/r300/r300_emit.c
index 32c9681..a281929 100644
--- a/src/gallium/drivers/r300/r300_emit.c
+++ b/src/gallium/drivers/r300/r300_emit.c
@@ -194,7 +194,7 @@ void r300_emit_rs_state(struct r300_context* r300, struct r300_rs_state* rs)
struct r300_screen* r300screen =
(struct r300_screen*)r300->context.screen;
CS_LOCALS(r300);
- BEGIN_CS(14);
+ BEGIN_CS(13);
OUT_CS_REG(R300_VAP_CNTL_STATUS, rs->vap_control_status);
OUT_CS_REG_SEQ(R300_SU_POLY_OFFSET_FRONT_SCALE, 6);
OUT_CS(rs->depth_scale_front);
@@ -216,6 +216,7 @@ void r300_emit_scissor_state(struct r300_context* r300,
OUT_CS_REG_SEQ(R300_SC_SCISSORS_TL, 2);
OUT_CS(scissor->scissor_top_left);
OUT_CS(scissor->scissor_bottom_right);
+ END_CS;
}
/* Emit all dirty state. */
diff --git a/src/gallium/drivers/r300/r300_surface.c b/src/gallium/drivers/r300/r300_surface.c
index 0a47101..b2c4f42 100644
--- a/src/gallium/drivers/r300/r300_surface.c
+++ b/src/gallium/drivers/r300/r300_surface.c
@@ -54,7 +54,7 @@ static void r300_surface_fill(struct pipe_context* pipe,
return;
}
- BEGIN_CS(161 + (caps->is_r500 ? 22 : 14) + (caps->has_tcl ? 4 : 2));
+ BEGIN_CS(163 + (caps->is_r500 ? 22 : 14) + (caps->has_tcl ? 4 : 2));
/* Flush PVS. */
OUT_CS_REG(R300_VAP_PVS_STATE_FLUSH_REG, 0x0);
diff --git a/src/gallium/drivers/r300/r300_swtcl_emit.c b/src/gallium/drivers/r300/r300_swtcl_emit.c
index ca078d6..76ef489 100644
--- a/src/gallium/drivers/r300/r300_swtcl_emit.c
+++ b/src/gallium/drivers/r300/r300_swtcl_emit.c
@@ -48,8 +48,6 @@ static INLINE void r300_emit_vertex(struct r300_context* r300,
CS_LOCALS(r300);
uint i, j;
- BEGIN_CS(vinfo->size);
-
for (i = 0; i < vinfo->num_attribs; i++) {
j = vinfo->attrib[i].src_index;
switch (vinfo->attrib[i].emit) {
@@ -77,8 +75,6 @@ static INLINE void r300_emit_vertex(struct r300_context* r300,
break;
}
}
-
- END_CS;
}
static INLINE void r300_emit_prim(struct draw_stage* draw,
@@ -96,6 +92,7 @@ static INLINE void r300_emit_prim(struct draw_stage* draw,
OUT_CS_REG_SEQ(R300_VAP_OUTPUT_VTX_FMT_0, 2);
OUT_CS(r300->vertex_info.hwfmt[0]);
OUT_CS(r300->vertex_info.hwfmt[1]);
+ END_CS;
BEGIN_CS(2 + (count * r300->vertex_info.size) + 2);
OUT_CS(CP_PACKET3(R200_3D_DRAW_IMMD_2, count));
More information about the mesa-commit
mailing list