Mesa (master): r300: Fix a regression on non-KMS

Nicolai Hähnle nh at kemper.freedesktop.org
Sun Aug 2 14:25:04 UTC 2009


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

Author: Nicolai Hähnle <nhaehnle at gmail.com>
Date:   Sun Aug  2 14:38:44 2009 +0200

r300: Fix a regression on non-KMS

The regression was introduced by 9a1c336253579d8b58b31910325227b22b4af395

Signed-off-by: Nicolai Hähnle <nhaehnle at gmail.com>

---

 src/mesa/drivers/dri/r300/r300_cmdbuf.c |   19 +++++++++++--------
 1 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/src/mesa/drivers/dri/r300/r300_cmdbuf.c b/src/mesa/drivers/dri/r300/r300_cmdbuf.c
index 7eb11aa..bd46f9a 100644
--- a/src/mesa/drivers/dri/r300/r300_cmdbuf.c
+++ b/src/mesa/drivers/dri/r300/r300_cmdbuf.c
@@ -177,14 +177,17 @@ static void emit_tex_offsets(GLcontext *ctx, struct radeon_state_atom * atom)
 		} else if (!t) {
 			/* Texture unit hasn't a texture bound.
 			 * We assign the current color buffer as a fakery to make
-			 * KIL work. */
-			struct radeon_renderbuffer *rrb = radeon_get_colorbuffer(&r300->radeon);
-			if (rrb && rrb->bo) {
-				BEGIN_BATCH_NO_AUTOSTATE(4);
-				OUT_BATCH_REGSEQ(R300_TX_OFFSET_0 + (i * 4), 1);
-				OUT_BATCH_RELOC(0, rrb->bo, 0,
-						RADEON_GEM_DOMAIN_GTT|RADEON_GEM_DOMAIN_VRAM, 0, 0);
-				END_BATCH();
+			 * KIL work on KMS (without it, the CS checker will complain).
+			 */
+			if (r300->radeon.radeonScreen->kernel_mm) {
+				struct radeon_renderbuffer *rrb = radeon_get_colorbuffer(&r300->radeon);
+				if (rrb && rrb->bo) {
+					BEGIN_BATCH_NO_AUTOSTATE(4);
+					OUT_BATCH_REGSEQ(R300_TX_OFFSET_0 + (i * 4), 1);
+					OUT_BATCH_RELOC(0, rrb->bo, 0,
+							RADEON_GEM_DOMAIN_GTT|RADEON_GEM_DOMAIN_VRAM, 0, 0);
+					END_BATCH();
+				}
 			}
 		} else { /* override cases */
 			if (t->bo) {




More information about the mesa-commit mailing list