From: Brian Date: Tue, 23 Oct 2007 23:16:38 +0000 (-0600) Subject: added a pipe->flush() call in xmesa_clear() X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=af960431675ddb51c24da29ac183399401b62362;p=mesa.git added a pipe->flush() call in xmesa_clear() --- 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);