From 02a1c8f5690a82dc77db7af381d1b6e4aea67e29 Mon Sep 17 00:00:00 2001 From: Brian Date: Sat, 3 Nov 2007 10:35:39 -0600 Subject: [PATCH] pass __DRIdrawablePrivate to intelWindowMoved(), rather than context ptr --- src/mesa/drivers/dri/intel_winsys/intel_context.c | 4 ++-- .../drivers/dri/intel_winsys/intel_swapbuffers.c | 14 +++----------- .../drivers/dri/intel_winsys/intel_swapbuffers.h | 3 ++- 3 files changed, 7 insertions(+), 14 deletions(-) diff --git a/src/mesa/drivers/dri/intel_winsys/intel_context.c b/src/mesa/drivers/dri/intel_winsys/intel_context.c index 2b581a6b0f9..443276cfc0b 100644 --- a/src/mesa/drivers/dri/intel_winsys/intel_context.c +++ b/src/mesa/drivers/dri/intel_winsys/intel_context.c @@ -232,7 +232,7 @@ intelMakeCurrent(__DRIcontextPrivate * driContextPriv, if ((intel->driDrawable != driDrawPriv) || (intel->lastStamp != driDrawPriv->lastStamp)) { intel->driDrawable = driDrawPriv; - intelWindowMoved(intel); + intelWindowMoved(driDrawPriv); intel->lastStamp = driDrawPriv->lastStamp; } @@ -241,7 +241,7 @@ intelMakeCurrent(__DRIcontextPrivate * driContextPriv, * If the readbuffer is a different window, check/update its size now. */ if (driReadPriv != driDrawPriv) { - st_resize_framebuffer(read_fb, driReadPriv->w, driReadPriv->h); + intelWindowMoved(driReadPriv); } #endif diff --git a/src/mesa/drivers/dri/intel_winsys/intel_swapbuffers.c b/src/mesa/drivers/dri/intel_winsys/intel_swapbuffers.c index 5d04815da85..2db3a29db2d 100644 --- a/src/mesa/drivers/dri/intel_winsys/intel_swapbuffers.c +++ b/src/mesa/drivers/dri/intel_winsys/intel_swapbuffers.c @@ -222,16 +222,10 @@ intelDisplaySurface(__DRIdrawablePrivate * dPriv, UNLOCK_HARDWARE(intel); - /* XXX this is bogus. The context here may not even be bound to this drawable! */ if (intel->lastStamp != dPriv->lastStamp) { - GET_CURRENT_CONTEXT(currctx); - struct intel_context *intelcurrent = intel_context(currctx); - if (intelcurrent == intel && intelcurrent->driDrawable == dPriv) { - intelWindowMoved(intel); - intel->lastStamp = dPriv->lastStamp; - } + intelWindowMoved(dPriv); + intel->lastStamp = dPriv->lastStamp; } - } @@ -240,12 +234,10 @@ intelDisplaySurface(__DRIdrawablePrivate * dPriv, * This will be called whenever the currently bound window is moved/resized. */ void -intelWindowMoved(struct intel_context *intel) +intelWindowMoved(__DRIdrawablePrivate *dPriv) { - __DRIdrawablePrivate *dPriv = intel->driDrawable; struct st_framebuffer *stfb = (struct st_framebuffer *) dPriv->driverPrivate; - st_resize_framebuffer(stfb, dPriv->w, dPriv->h); } diff --git a/src/mesa/drivers/dri/intel_winsys/intel_swapbuffers.h b/src/mesa/drivers/dri/intel_winsys/intel_swapbuffers.h index 8d77ffce856..7bea6e6d40c 100644 --- a/src/mesa/drivers/dri/intel_winsys/intel_swapbuffers.h +++ b/src/mesa/drivers/dri/intel_winsys/intel_swapbuffers.h @@ -46,6 +46,7 @@ extern void intelDisplaySurface(__DRIdrawablePrivate * dPriv, extern void intelSwapBuffers(__DRIdrawablePrivate * dPriv); -extern void intelWindowMoved(struct intel_context *intel); +extern void intelWindowMoved(__DRIdrawablePrivate *dPriv); + #endif /* INTEL_BUFFERS_H */ -- 2.30.2