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