diff options
author | Dave Airlie <[email protected]> | 2009-02-13 18:50:57 +1000 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2009-02-13 18:50:57 +1000 |
commit | 695ca1e2be6f222c132a76299fc3a0ac9143d960 (patch) | |
tree | a569eb8ca4931cc89d40cad943656ff8759f7553 | |
parent | ade3660942452985afa1bb67bbeab8fed734089d (diff) |
r200: port over state emit fix from r100
-rw-r--r-- | src/mesa/drivers/dri/r200/r200_state_init.c | 6 |
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 1a13c9ec13d..3165f7ec608 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(); |