From 826297462571350b7da7ae88bb4405212991c533 Mon Sep 17 00:00:00 2001 From: Corbin Simpson Date: Sat, 7 Mar 2009 01:53:42 -0800 Subject: r300-gallium: Move a few registers. These shouldn't be written if not on TCL HW. --- src/gallium/drivers/r300/r300_state_invariant.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'src/gallium/drivers/r300/r300_state_invariant.c') diff --git a/src/gallium/drivers/r300/r300_state_invariant.c b/src/gallium/drivers/r300/r300_state_invariant.c index c7c20c2de5..5646d22835 100644 --- a/src/gallium/drivers/r300/r300_state_invariant.c +++ b/src/gallium/drivers/r300/r300_state_invariant.c @@ -34,9 +34,8 @@ void r300_emit_invariant_state(struct r300_context* r300) struct r300_capabilities* caps = r300_screen(r300->context.screen)->caps; CS_LOCALS(r300); - BEGIN_CS(26); - /* Amount of time to wait for vertex fetches in PVS */ - OUT_CS_REG(VAP_PVS_VTX_TIMEOUT_REG, 0xffff); + BEGIN_CS(24 + (caps->has_tcl ? 2: 0)); + /* Various GB enables */ OUT_CS_REG(R300_GB_ENABLE, R300_GB_POINT_STUFF_ENABLE | R300_GB_LINE_STUFF_ENABLE | R300_GB_TRIANGLE_STUFF_ENABLE); @@ -69,5 +68,12 @@ void r300_emit_invariant_state(struct r300_context* r300) OUT_CS_REG(R300_FG_FOG_COLOR_G, 0x00000000); OUT_CS_REG(R300_FG_FOG_COLOR_B, 0x00000000); OUT_CS_REG(R300_FG_DEPTH_SRC, 0x00000000); + + /* TCL-only stuff */ + if (caps->has_tcl) { + /* Amount of time to wait for vertex fetches in PVS */ + OUT_CS_REG(VAP_PVS_VTX_TIMEOUT_REG, 0xffff); + } + END_CS; } -- cgit v1.2.3