/**
- * Query the current drawable size and notify the binding context.
+ * Notify the binding context to validate the buffer.
*/
void
-xmesa_check_buffer_size(XMesaBuffer b)
+xmesa_notify_invalid_buffer(XMesaBuffer b)
{
XMesaContext xmctx = XMesaGetCurrentContext();
+ if (xmctx && xmctx->xm_buffer == b)
+ xmctx->st->notify_invalid_framebuffer(xmctx->st, b->stfb);
+}
+
+
+/**
+ * Query the current drawable size and notify the binding context.
+ */
+void
+xmesa_check_buffer_size(XMesaBuffer b)
+{
if (b->type == PBUFFER)
return;
xmesa_get_window_size(b->xm_visual->display, b, &b->width, &b->height);
- if (xmctx && xmctx->xm_buffer == b)
- xmctx->st->notify_invalid_framebuffer(xmctx->st, b->stfb);
+ xmesa_notify_invalid_buffer(b);
}
xmesa_get_window_size(Display *dpy, XMesaBuffer b,
GLuint *width, GLuint *height);
+extern void
+xmesa_notify_invalid_buffer(XMesaBuffer b);
+
extern void
xmesa_check_buffer_size(XMesaBuffer b);
tmp = *front;
*front = *back;
*back = tmp;
+
+ /* the current context should validate the buffer after swapping */
+ if (!xmesa_strict_invalidate)
+ xmesa_notify_invalid_buffer(xstfb->buffer);
}
if (xmesa_strict_invalidate)