summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/r200/r200_state_init.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2009-02-13 18:50:57 +1000
committerDave Airlie <airlied@redhat.com>2009-02-13 18:50:57 +1000
commit695ca1e2be6f222c132a76299fc3a0ac9143d960 (patch)
treea569eb8ca4931cc89d40cad943656ff8759f7553 /src/mesa/drivers/dri/r200/r200_state_init.c
parentade3660942452985afa1bb67bbeab8fed734089d (diff)
r200: port over state emit fix from r100
Diffstat (limited to 'src/mesa/drivers/dri/r200/r200_state_init.c')
-rw-r--r--src/mesa/drivers/dri/r200/r200_state_init.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/mesa/drivers/dri/r200/r200_state_init.c b/src/mesa/drivers/dri/r200/r200_state_init.c
index 1a13c9ec13..3165f7ec60 100644
--- a/src/mesa/drivers/dri/r200/r200_state_init.c
+++ b/src/mesa/drivers/dri/r200/r200_state_init.c
@@ -542,14 +542,16 @@ static void tex_emit(GLcontext *ctx, struct radeon_state_atom *atom)
int i = atom->idx;
radeonTexObj *t = r200->state.texture.unit[i].texobj;
+ if (t && t->mt && !t->image_override)
+ dwords += 2;
BEGIN_BATCH_NO_AUTOSTATE(dwords);
OUT_BATCH_TABLE(atom->cmd, 10);
if (t && !t->image_override) {
OUT_BATCH_RELOC(t->tile_bits, t->mt->bo, 0,
RADEON_GEM_DOMAIN_VRAM, 0, 0);
} else if (!t) {
-
- OUT_BATCH(atom->cmd[10]);
+ /* workaround for old CS mechanism */
+ OUT_BATCH(r200->radeon.radeonScreen->texOffset[RADEON_LOCAL_TEX_HEAP]);
}
END_BATCH();