diff options
author | Dave Airlie <airlied@linux.ie> | 2007-04-10 09:32:13 +1000 |
---|---|---|
committer | Dave Airlie <airlied@linux.ie> | 2007-04-10 09:32:13 +1000 |
commit | e0bbf463428ac51f3ba022b23d93d47b1cfd152d (patch) | |
tree | bbbdebb812013e97cb0c725ed898ec43420c06c9 /src/mesa | |
parent | 702c8f1e6ca51aef356e89ee9c5f2e99a4191a8a (diff) |
r300: don't enable VAP/TCL on cards that don't support it
Diffstat (limited to 'src/mesa')
-rw-r--r-- | src/mesa/drivers/dri/r300/r300_reg.h | 1 | ||||
-rw-r--r-- | src/mesa/drivers/dri/r300/r300_state.c | 4 |
2 files changed, 5 insertions, 0 deletions
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; |