From e0bbf463428ac51f3ba022b23d93d47b1cfd152d Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Tue, 10 Apr 2007 09:32:13 +1000 Subject: r300: don't enable VAP/TCL on cards that don't support it --- src/mesa/drivers/dri/r300/r300_reg.h | 1 + src/mesa/drivers/dri/r300/r300_state.c | 4 ++++ 2 files changed, 5 insertions(+) (limited to 'src/mesa/drivers/dri/r300') diff --git a/src/mesa/drivers/dri/r300/r300_reg.h b/src/mesa/drivers/dri/r300/r300_reg.h index 1f65f9a7e7..b296aaa07a 100644 --- a/src/mesa/drivers/dri/r300/r300_reg.h +++ b/src/mesa/drivers/dri/r300/r300_reg.h @@ -145,6 +145,7 @@ USE OR OTHER DEALINGS IN THE SOFTWARE. # define R300_VC_NO_SWAP (0 << 0) # define R300_VC_16BIT_SWAP (1 << 0) # define R300_VC_32BIT_SWAP (2 << 0) +# define R300_VAP_TCL_BYPASS (1 << 8) /* gap */ diff --git a/src/mesa/drivers/dri/r300/r300_state.c b/src/mesa/drivers/dri/r300/r300_state.c index ff3c51c5ed..545b2f03aa 100644 --- a/src/mesa/drivers/dri/r300/r300_state.c +++ b/src/mesa/drivers/dri/r300/r300_state.c @@ -2023,6 +2023,10 @@ void r300ResetHwState(r300ContextPtr r300) else r300->hw.vap_cntl_status.cmd[1] = 0x00000002; + /* disable VAP/TCL on non-TCL capable chips */ + if (!(r300->radeon.radeonScreen->chip_flags & RADEON_CHIPSET_TCL)) + r300->hw.vap_cntl_status.cmd[1] |= R300_VAP_TCL_BYPASS; + #if 0 /* Done in setup routing */ ((drm_r300_cmd_header_t*)r300->hw.vir[0].cmd)->packet0.count = 1; r300->hw.vir[0].cmd[1] = 0x21030003; -- cgit v1.2.3