From 41934be2544ac47a308719c08ee1bba344fed78d Mon Sep 17 00:00:00 2001 From: Alex Deucher Date: Sun, 23 Aug 2009 12:59:09 -0400 Subject: r600: always emit CB base Not doing so seems to cause lock-ups or rendering problems on some chips. I think there is an logic issue related to CB and VGT on some chips. We ran into similar issues in r600_demo IIRC. --- src/mesa/drivers/dri/r600/r600_context.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/r600/r600_context.c b/src/mesa/drivers/dri/r600/r600_context.c index 6a066f3510..0b0c4f5049 100644 --- a/src/mesa/drivers/dri/r600/r600_context.c +++ b/src/mesa/drivers/dri/r600/r600_context.c @@ -185,7 +185,13 @@ static void r600_vtbl_emit_cs_header(struct radeon_cs *cs, radeonContextPtr rmes static void r600_vtbl_pre_emit_atoms(radeonContextPtr radeon) { - r700Start3D((context_t *)radeon); + context_t *context = (context_t *)radeon; + + /* always emit CB base to prevent + * lock ups on some chips. + */ + R600_STATECHANGE(context, cb_target); + r700Start3D(context); } static void r600_fallback(GLcontext *ctx, GLuint bit, GLboolean mode) -- cgit v1.2.3