summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/drivers/dri')
-rw-r--r--src/mesa/drivers/dri/r200/r200_blit.c16
-rw-r--r--src/mesa/drivers/dri/radeon/radeon_blit.c8
2 files changed, 24 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/r200/r200_blit.c b/src/mesa/drivers/dri/r200/r200_blit.c
index 3adc69423cd..0e6afa0d481 100644
--- a/src/mesa/drivers/dri/r200/r200_blit.c
+++ b/src/mesa/drivers/dri/r200/r200_blit.c
@@ -547,5 +547,21 @@ unsigned r200_blit(struct gl_context *ctx,
radeonFlush(ctx);
+ /* We submitted those packets outside our state atom mechanism. Thus
+ * make sure the atoms are resubmitted the next time. */
+ r200->hw.cst.dirty = GL_TRUE;
+ r200->hw.ctx.dirty = GL_TRUE;
+ r200->hw.vap.dirty = GL_TRUE;
+ r200->hw.msk.dirty = GL_TRUE;
+ r200->hw.pix[0].dirty = GL_TRUE;
+ r200->hw.pix[1].dirty = GL_TRUE;
+ r200->hw.pix[2].dirty = GL_TRUE;
+ r200->hw.pix[3].dirty = GL_TRUE;
+ r200->hw.sci.dirty = GL_TRUE;
+ r200->hw.set.dirty = GL_TRUE;
+ r200->hw.tex[0].dirty = GL_TRUE;
+ r200->hw.vte.dirty = GL_TRUE;
+ r200->hw.vtx.dirty = GL_TRUE;
+
return GL_TRUE;
}
diff --git a/src/mesa/drivers/dri/radeon/radeon_blit.c b/src/mesa/drivers/dri/radeon/radeon_blit.c
index 0de17514e05..028e8b04bf6 100644
--- a/src/mesa/drivers/dri/radeon/radeon_blit.c
+++ b/src/mesa/drivers/dri/radeon/radeon_blit.c
@@ -425,5 +425,13 @@ unsigned r100_blit(struct gl_context *ctx,
radeonFlush(ctx);
+ /* We submitted those packets outside our state atom mechanism. Thus
+ * make sure they are all resubmitted the next time. */
+ r100->hw.ctx.dirty = GL_TRUE;
+ r100->hw.msk.dirty = GL_TRUE;
+ r100->hw.set.dirty = GL_TRUE;
+ r100->hw.tex[0].dirty = GL_TRUE;
+ r100->hw.txr[0].dirty = GL_TRUE;
+
return GL_TRUE;
}