From af960431675ddb51c24da29ac183399401b62362 Mon Sep 17 00:00:00 2001 From: Brian Date: Tue, 23 Oct 2007 17:16:38 -0600 Subject: [PATCH] added a pipe->flush() call in xmesa_clear() --- src/mesa/drivers/x11/xm_surface.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/mesa/drivers/x11/xm_surface.c b/src/mesa/drivers/x11/xm_surface.c index 42d5d6bbc40..b2ef70ea90d 100644 --- a/src/mesa/drivers/x11/xm_surface.c +++ b/src/mesa/drivers/x11/xm_surface.c @@ -117,6 +117,12 @@ put_tile(struct pipe_surface *ps, xrb->St.Base.PutRow(ctx, &xrb->St.Base, w, x, y - i, tmp, NULL); p += w0 * 4; } +#if 0 /* debug: flush */ + { + XMesaContext xm = XMESA_CONTEXT(ctx); + XSync(xm->display, 0); + } +#endif } @@ -208,6 +214,11 @@ xmesa_clear(struct pipe_context *pipe, struct pipe_surface *ps, GLuint value) { struct xmesa_renderbuffer *xrb = xmesa_rb((struct softpipe_surface *) ps); + /* XXX actually, we should just discard any cached tiles from this + * surface since we don't want to accidentally re-use them after clearing. + */ + pipe->flush(pipe, 0); + if (xrb && xrb->ximage) { /* clearing back color buffer */ GET_CURRENT_CONTEXT(ctx); -- 2.30.2