diff options
author | Keith Whitwell <keith@tungstengraphics.com> | 2007-07-11 17:01:30 +0100 |
---|---|---|
committer | Keith Whitwell <keith@tungstengraphics.com> | 2007-07-11 17:01:30 +0100 |
commit | 20cf13e03b1703937b4228aba8355b34d664aafb (patch) | |
tree | e1ae513db5f98028291bf3d43ab2b6eea8db4582 /src/mesa/drivers/dri/i915tex/intel_blit.c | |
parent | fb67b1609e211ed16828e10ffc1c36e54f655112 (diff) |
Fix screen corruption on resize.
Move buffer resize check to immediately after swapbuffers.
Update cliprects inside the locked region of swapbuffers.
Diffstat (limited to 'src/mesa/drivers/dri/i915tex/intel_blit.c')
-rw-r--r-- | src/mesa/drivers/dri/i915tex/intel_blit.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i915tex/intel_blit.c b/src/mesa/drivers/dri/i915tex/intel_blit.c index d6651f62be..c755eac6b2 100644 --- a/src/mesa/drivers/dri/i915tex/intel_blit.c +++ b/src/mesa/drivers/dri/i915tex/intel_blit.c @@ -79,6 +79,13 @@ intelCopyBuffer(const __DRIdrawablePrivate * dPriv, */ LOCK_HARDWARE(intel); + if (intel->revalidateDrawable) { + __DRIscreenPrivate *sPriv = intel->driScreen; + if (dPriv) { + DRI_VALIDATE_DRAWABLE_INFO(sPriv, dPriv); + } + } + if (dPriv && dPriv->numClipRects) { struct intel_framebuffer *intel_fb = dPriv->driverPrivate; const struct intel_region *frontRegion @@ -171,6 +178,12 @@ intelCopyBuffer(const __DRIdrawablePrivate * dPriv, } UNLOCK_HARDWARE(intel); + + if (intel->revalidateDrawable) { + intel->revalidateDrawable = GL_FALSE; + intelWindowMoved(intel); + } + } |