summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoland Scheidegger <sroland@tungstengraphics.com>2010-01-21 17:30:16 -0500
committerAlex Deucher <alexdeucher@gmail.com>2010-01-21 17:33:51 -0500
commit2cf8164065b8704e2f32d77af14cde9e7979435c (patch)
tree0f435a94b98f5de89f92872509215c22d092c330
parent4222bf3d3c7c85112f2e21bd3ea29b1f496ed8bb (diff)
r200: fix CS section size mismatch
Partial fix for fdo bug 25544 The tex handling will still need CS drm changes, see bug 25544 for more.
-rw-r--r--src/mesa/drivers/dri/r200/r200_state_init.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/r200/r200_state_init.c b/src/mesa/drivers/dri/r200/r200_state_init.c
index 6c5a0b79ee..80b08dcc99 100644
--- a/src/mesa/drivers/dri/r200/r200_state_init.c
+++ b/src/mesa/drivers/dri/r200/r200_state_init.c
@@ -698,7 +698,8 @@ static void tex_emit_mm(GLcontext *ctx, struct radeon_state_atom *atom)
uint32_t dwords = atom->check(ctx, atom);
int i = atom->idx;
radeonTexObj *t = r200->state.texture.unit[i].texobj;
- if (!r200->state.texture.unit[i].unitneeded)
+
+ if (!r200->state.texture.unit[i].unitneeded && !(dwords <= atom->cmd_size))
dwords -= 4;
BEGIN_BATCH_NO_AUTOSTATE(dwords);