Mesa (master): r600: always emit CB base

Alex Deucher agd5f at kemper.freedesktop.org
Sun Aug 23 17:16:20 UTC 2009


Module: Mesa
Branch: master
Commit: 41934be2544ac47a308719c08ee1bba344fed78d
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=41934be2544ac47a308719c08ee1bba344fed78d

Author: Alex Deucher <alexdeucher at gmail.com>
Date:   Sun Aug 23 12:59:09 2009 -0400

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 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/src/mesa/drivers/dri/r600/r600_context.c b/src/mesa/drivers/dri/r600/r600_context.c
index 6a066f3..0b0c4f5 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)




More information about the mesa-commit mailing list