From da43aa84c8abc13bb8a2c8d0af57471862881523 Mon Sep 17 00:00:00 2001 From: Kristian Høgsberg Date: Fri, 19 Feb 2010 14:08:35 -0500 Subject: 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 --- src/mesa/drivers/dri/intel/intel_context.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/mesa/drivers/dri/intel/intel_context.c') diff --git a/src/mesa/drivers/dri/intel/intel_context.c b/src/mesa/drivers/dri/intel/intel_context.c index 3a0830a85b..ced8d5aebe 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 -- cgit v1.2.3