summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/mesa/drivers/dri/intel_winsys/intel_context.c4
-rw-r--r--src/mesa/drivers/dri/intel_winsys/intel_swapbuffers.c14
-rw-r--r--src/mesa/drivers/dri/intel_winsys/intel_swapbuffers.h3
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 */