aboutsummaryrefslogtreecommitdiff
path: root/shared-core/r300_cmdbuf.c
diff options
context:
space:
mode:
authorJerome Glisse <glisse@freedesktop.org>2008-06-15 18:49:47 +0200
committerJerome Glisse <glisse@freedesktop.org>2008-06-15 18:49:47 +0200
commit9dd58d6568702358bfb3d6d1b6459092cf77ae91 (patch)
treea36f44f05c535bb1f88ddff7b9d663d44178373b /shared-core/r300_cmdbuf.c
parent29ffa0017d002f9e74de42817b962b6ca2e5f20a (diff)
radeon: fix screen corruption introduced by last patch
Diffstat (limited to 'shared-core/r300_cmdbuf.c')
-rw-r--r--shared-core/r300_cmdbuf.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/shared-core/r300_cmdbuf.c b/shared-core/r300_cmdbuf.c
index addc075d..91741628 100644
--- a/shared-core/r300_cmdbuf.c
+++ b/shared-core/r300_cmdbuf.c
@@ -649,9 +649,6 @@ static __inline__ int r300_emit_raw_packet3(drm_radeon_private_t *dev_priv,
return r300_emit_bitblt_multi(dev_priv, cmdbuf);
case RADEON_CP_INDX_BUFFER:
- /* whenever we send vertex we clear flush & purge */
- dev_priv->track_flush ^= (RADEON_FLUSH_EMITED |
- RADEON_PURGE_EMITED);
/* DRAW_INDX_2 without INDX_BUFFER seems to lock up the gpu */
return r300_emit_indx_buffer(dev_priv, cmdbuf);
case RADEON_CP_3D_DRAW_IMMD_2:
@@ -660,11 +657,12 @@ static __inline__ int r300_emit_raw_packet3(drm_radeon_private_t *dev_priv,
/* triggers drawing of vertex buffers setup elsewhere */
case RADEON_CP_3D_DRAW_INDX_2:
/* triggers drawing using indices to vertex buffer */
+ /* whenever we send vertex we clear flush & purge */
+ dev_priv->track_flush &= ~(RADEON_FLUSH_EMITED |
+ RADEON_PURGE_EMITED);
+ break;
case RADEON_WAIT_FOR_IDLE:
case RADEON_CP_NOP:
- /* whenever we send vertex we clear flush & purge */
- dev_priv->track_flush ^= (RADEON_FLUSH_EMITED |
- RADEON_PURGE_EMITED);
/* these packets are safe */
break;
default: