From 16345022de1f443c7746f9f735bb495415e7a5ff Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Mon, 16 Oct 2006 21:39:34 +0000 Subject: Updates to intelWindowMoved(): Only need to call _mesa_resize_framebuffer() when we've detected a window size change. Set the drawFb->Initalized flag to GL_TRUE to avoid obsolete Driver.GetBufferSize/ResizeBuffer calls in the Mesa code. --- src/mesa/drivers/dri/i915/intel_context.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/mesa/drivers/dri/i915/intel_context.c b/src/mesa/drivers/dri/i915/intel_context.c index 2a8ccccaa5..0f89972b70 100644 --- a/src/mesa/drivers/dri/i915/intel_context.c +++ b/src/mesa/drivers/dri/i915/intel_context.c @@ -538,14 +538,14 @@ void intelSetBackClipRects( intelContextPtr intel ) void intelWindowMoved( intelContextPtr intel ) { __DRIdrawablePrivate *dPriv = intel->driDrawable; + GLframebuffer *drawFb = (GLframebuffer *) dPriv->driverPrivate; if (!intel->ctx.DrawBuffer) { intelSetFrontClipRects( intel ); } else { driUpdateFramebufferSize(&intel->ctx, dPriv); - - switch (intel->ctx.DrawBuffer->_ColorDrawBufferMask[0]) { + switch (drawFb->_ColorDrawBufferMask[0]) { case BUFFER_BIT_FRONT_LEFT: intelSetFrontClipRects( intel ); break; @@ -558,10 +558,12 @@ void intelWindowMoved( intelContextPtr intel ) } } - _mesa_resize_framebuffer(&intel->ctx, - (GLframebuffer*)dPriv->driverPrivate, - dPriv->w, dPriv->h); - + if (drawFb->Width != dPriv->w || drawFb->Height != dPriv->h) { + /* update Mesa's notion of framebuffer/window size */ + _mesa_resize_framebuffer(&intel->ctx, drawFb, dPriv->w, dPriv->h); + drawFb->Initialized = GL_TRUE; /* XXX remove someday */ + } + /* Set state we know depends on drawable parameters: */ { -- cgit v1.2.3