simplify the window moved/resized code a bit
authorBrian <brian.paul@tungstengraphics.com>
Sat, 3 Nov 2007 16:26:19 +0000 (10:26 -0600)
committerBrian <brian.paul@tungstengraphics.com>
Mon, 5 Nov 2007 15:04:48 +0000 (08:04 -0700)
src/mesa/drivers/dri/intel_winsys/intel_context.c
src/mesa/drivers/dri/intel_winsys/intel_swapbuffers.c

index 8cc285276ae33d315140efa265987427a7c2e25f..2b581a6b0f9425431c6032533e5855afd9df062a 100644 (file)
@@ -221,11 +221,13 @@ intelMakeCurrent(__DRIcontextPrivate * driContextPriv,
 
       st_make_current(intel->st, draw_fb, read_fb);
 
+#if 0
       /* update size of Mesa framebuffer(s) to match window */
       st_resize_framebuffer(draw_fb, driDrawPriv->w, driDrawPriv->h);
       if (driReadPriv != driDrawPriv) {
          st_resize_framebuffer(read_fb, driReadPriv->w, driReadPriv->h);
       }
+#endif
 
       if ((intel->driDrawable != driDrawPriv) ||
          (intel->lastStamp != driDrawPriv->lastStamp)) {
@@ -233,6 +235,16 @@ intelMakeCurrent(__DRIcontextPrivate * driContextPriv,
          intelWindowMoved(intel);
          intel->lastStamp = driDrawPriv->lastStamp;
       }
+
+#if 1
+      /* The size of the draw buffer will have been updated above.
+       * If the readbuffer is a different window, check/update its size now.
+       */
+      if (driReadPriv != driDrawPriv) {
+         st_resize_framebuffer(read_fb, driReadPriv->w, driReadPriv->h);
+      }
+#endif
+
    }
    else {
       st_make_current(NULL, NULL, NULL);
index 387e3bc72e602e22cb59f59a4886fd4d173ff7ed..5d04815da85ac09c04deb2c40b0e31eaf217bc81 100644 (file)
@@ -243,13 +243,10 @@ void
 intelWindowMoved(struct intel_context *intel)
 {
    __DRIdrawablePrivate *dPriv = intel->driDrawable;
-   struct intel_framebuffer *intel_fb = dPriv->driverPrivate;
    struct st_framebuffer *stfb
       = (struct st_framebuffer *) dPriv->driverPrivate;
 
    st_resize_framebuffer(stfb, dPriv->w, dPriv->h);
-
-   intel_fb->Base.Initialized = GL_TRUE; /* XXX remove someday */
 }