summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/intel
diff options
context:
space:
mode:
authorKristian Høgsberg <[email protected]>2010-02-19 14:08:35 -0500
committerKristian Høgsberg <[email protected]>2010-02-19 14:12:27 -0500
commitda43aa84c8abc13bb8a2c8d0af57471862881523 (patch)
tree7cf0a1d926493ba1eef37063d6e1e303450a7e1a /src/mesa/drivers/dri/intel
parentf0c50345d13372e81805d9d176881b981a008123 (diff)
intel: Set buffer stamp before getting new buffers
This way, if we get an invalidate as we update the buffers, we don't clobber the drawable stamp and ignore the invalidate. Pointed-out-by: Francisco Jerez
Diffstat (limited to 'src/mesa/drivers/dri/intel')
-rw-r--r--src/mesa/drivers/dri/intel/intel_context.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/intel/intel_context.c b/src/mesa/drivers/dri/intel/intel_context.c
index 3a0830a85b8..ced8d5aebe4 100644
--- a/src/mesa/drivers/dri/intel/intel_context.c
+++ b/src/mesa/drivers/dri/intel/intel_context.c
@@ -206,6 +206,11 @@ intel_update_renderbuffers(__DRIcontext *context, __DRIdrawable *drawable)
if (intel->is_front_buffer_rendering)
intel_flush(&intel->ctx, GL_FALSE);
+ /* Set this up front, so that in case our buffers get invalidated
+ * while we're getting new buffers, we don't clobber the stamp and
+ * thus ignore the invalidate. */
+ drawable->lastStamp = drawable->dri2.stamp;
+
if (INTEL_DEBUG & DEBUG_DRI)
fprintf(stderr, "enter %s, drawable %p\n", __func__, drawable);
@@ -376,7 +381,6 @@ intel_update_renderbuffers(__DRIcontext *context, __DRIdrawable *drawable)
}
driUpdateFramebufferSize(&intel->ctx, drawable);
- drawable->lastStamp = drawable->dri2.stamp;
}
void