diff options
author | Brian <brian.paul@tungstengraphics.com> | 2007-10-31 15:08:19 -0600 |
---|---|---|
committer | Brian <brian.paul@tungstengraphics.com> | 2007-10-31 15:08:19 -0600 |
commit | 017d08a5e040ee476b19d672c17090eaca7fa918 (patch) | |
tree | ee4cbac36875cdd64cc314dce102da9b79a7beb0 /src/mesa/pipe/xlib | |
parent | 4411614fed938ba9495f43c01de1c3099febd860 (diff) |
get rid of xmesa_clear_buffers()
Diffstat (limited to 'src/mesa/pipe/xlib')
-rw-r--r-- | src/mesa/pipe/xlib/xm_dd.c | 39 | ||||
-rw-r--r-- | src/mesa/pipe/xlib/xm_surface.c | 13 | ||||
-rw-r--r-- | src/mesa/pipe/xlib/xmesaP.h | 3 |
3 files changed, 4 insertions, 51 deletions
diff --git a/src/mesa/pipe/xlib/xm_dd.c b/src/mesa/pipe/xlib/xm_dd.c index 7a9d664840..a07f17bfea 100644 --- a/src/mesa/pipe/xlib/xm_dd.c +++ b/src/mesa/pipe/xlib/xm_dd.c @@ -273,45 +273,6 @@ clear_nbit_ximage(GLcontext *ctx, struct xmesa_renderbuffer *xrb, GLuint value) } - -void -xmesa_clear_buffers(GLcontext *ctx, GLbitfield buffers, GLuint value) -{ - if (ctx->DrawBuffer->Name == 0) { - /* this is a window system framebuffer */ - const GLuint *colorMask = (GLuint *) &ctx->Color.ColorMask; - XMesaBuffer b = XMESA_BUFFER(ctx->DrawBuffer); - - /* we can't handle color or index masking */ - if (*colorMask == 0xffffffff && ctx->Color.IndexMask == 0xffffffff) { - if (buffers & BUFFER_BIT_FRONT_LEFT) { - /* clear front color buffer */ - struct gl_renderbuffer *frontRb - = ctx->DrawBuffer->Attachment[BUFFER_FRONT_LEFT].Renderbuffer; - if (b->frontxrb == xmesa_renderbuffer(frontRb)) { - /* renderbuffer is not wrapped - great! */ - b->frontxrb->clearFunc(ctx, b->frontxrb, value); - buffers &= ~BUFFER_BIT_FRONT_LEFT; - } - else { - /* we can't directly clear an alpha-wrapped color buffer */ - } - } - if (buffers & BUFFER_BIT_BACK_LEFT) { - /* clear back color buffer */ - struct gl_renderbuffer *backRb - = ctx->DrawBuffer->Attachment[BUFFER_BACK_LEFT].Renderbuffer; - if (b->backxrb == xmesa_renderbuffer(backRb)) { - /* renderbuffer is not wrapped - great! */ - b->backxrb->clearFunc(ctx, b->backxrb, value); - buffers &= ~BUFFER_BIT_BACK_LEFT; - } - } - } - } -} - - static void clear_color_HPCR_ximage( GLcontext *ctx, const GLfloat color[4] ) { diff --git a/src/mesa/pipe/xlib/xm_surface.c b/src/mesa/pipe/xlib/xm_surface.c index 47ed15ccca..4e3368b6b9 100644 --- a/src/mesa/pipe/xlib/xm_surface.c +++ b/src/mesa/pipe/xlib/xm_surface.c @@ -214,6 +214,7 @@ xmesa_is_format_supported(struct pipe_context *pipe, uint format) void xmesa_clear(struct pipe_context *pipe, struct pipe_surface *ps, GLuint value) { + GET_CURRENT_CONTEXT(ctx); struct xmesa_renderbuffer *xrb = xmesa_rb(ps); /* XXX actually, we should just discard any cached tiles from this @@ -233,15 +234,9 @@ xmesa_clear(struct pipe_context *pipe, struct pipe_surface *ps, GLuint value) } } - if (xrb && xrb->ximage) { - /* clearing back color buffer */ - GET_CURRENT_CONTEXT(ctx); - xmesa_clear_buffers(ctx, BUFFER_BIT_BACK_LEFT, value); - } - else if (xrb && xrb->pixmap) { - /* clearing front color buffer */ - GET_CURRENT_CONTEXT(ctx); - xmesa_clear_buffers(ctx, BUFFER_BIT_FRONT_LEFT, value); + if (xrb) { + /* clearing front/back color buffer */ + xrb->clearFunc(ctx, xrb, value); } else { /* clearing other buffer */ diff --git a/src/mesa/pipe/xlib/xmesaP.h b/src/mesa/pipe/xlib/xmesaP.h index bf4b7178f9..f878af974f 100644 --- a/src/mesa/pipe/xlib/xmesaP.h +++ b/src/mesa/pipe/xlib/xmesaP.h @@ -584,9 +584,6 @@ struct xmesa_surface extern void xmesa_clear(struct pipe_context *pipe, struct pipe_surface *ps, GLuint value); -extern void -xmesa_clear_buffers(GLcontext *ctx, GLbitfield buffers, GLuint value); - extern struct pipe_context * xmesa_create_softpipe(XMesaContext xm); |