X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fdrivers%2Fx11%2Fxm_dd.c;h=c8546236fbf3644b222a96e16149e7ddab152265;hb=a10ba38df7ac80e36db15aaae9f78e7223b2bfae;hp=abad300cc3ffb314ebd1bd10d5106bbf52a39cc4;hpb=ec99e716a229e58233551d821418428cc1b90324;p=mesa.git diff --git a/src/mesa/drivers/x11/xm_dd.c b/src/mesa/drivers/x11/xm_dd.c index abad300cc3f..c8546236fbf 100644 --- a/src/mesa/drivers/x11/xm_dd.c +++ b/src/mesa/drivers/x11/xm_dd.c @@ -47,17 +47,12 @@ #include "texstore.h" #include "texformat.h" #include "xmesaP.h" -#include "array_cache/acache.h" #include "swrast/swrast.h" #include "swrast/s_context.h" #include "swrast_setup/swrast_setup.h" #include "tnl/tnl.h" #include "tnl/t_context.h" -#ifdef XFree86Server -#include -#endif - /* @@ -383,9 +378,7 @@ clear_nbit_ximage(GLcontext *ctx, struct xmesa_renderbuffer *xrb, static void -clear_buffers( GLcontext *ctx, GLbitfield mask, - GLboolean all, GLint xFoo, GLint yFoo, - GLint widthFoo, GLint heightFoo ) +clear_buffers(GLcontext *ctx, GLbitfield buffers) { if (ctx->DrawBuffer->Name == 0) { /* this is a window system framebuffer */ @@ -398,33 +391,33 @@ clear_buffers( GLcontext *ctx, GLbitfield mask, /* we can't handle color or index masking */ if (*colorMask == 0xffffffff && ctx->Color.IndexMask == 0xffffffff) { - if (mask & BUFFER_BIT_FRONT_LEFT) { + 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, x, y, width, height); - mask &= ~BUFFER_BIT_FRONT_LEFT; + buffers &= ~BUFFER_BIT_FRONT_LEFT; } else { /* we can't directly clear an alpha-wrapped color buffer */ } } - if (mask & BUFFER_BIT_BACK_LEFT) { + 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, x, y, width, height); - mask &= ~BUFFER_BIT_BACK_LEFT; + buffers &= ~BUFFER_BIT_BACK_LEFT; } } } } - if (mask) - _swrast_Clear( ctx, mask, 0, 0, 0, 0, 0); + if (buffers) + _swrast_Clear(ctx, buffers); } @@ -445,7 +438,7 @@ xmesa_DrawPixels_8R8G8B( GLcontext *ctx, { const SWcontext *swrast = SWRAST_CONTEXT( ctx ); struct gl_renderbuffer *rb = ctx->DrawBuffer->_ColorDrawBuffers[0][0]; - struct xmesa_renderbuffer *xrb = (struct xmesa_renderbuffer *) rb->Wrapped; + struct xmesa_renderbuffer *xrb = xmesa_renderbuffer(rb->Wrapped); if (swrast->NewState) _swrast_validate_derived( ctx ); @@ -553,7 +546,7 @@ xmesa_DrawPixels_5R6G5B( GLcontext *ctx, const GLvoid *pixels ) { struct xmesa_renderbuffer *xrb - = (struct xmesa_renderbuffer *) ctx->DrawBuffer->_ColorDrawBuffers[0][0]; + = xmesa_renderbuffer(ctx->DrawBuffer->_ColorDrawBuffers[0][0]->Wrapped); const XMesaContext xmesa = XMESA_CONTEXT(ctx); const SWcontext *swrast = SWRAST_CONTEXT( ctx ); XMesaDisplay *dpy = xmesa->xm_visual->display; @@ -659,10 +652,10 @@ xmesa_CopyPixels( GLcontext *ctx, const SWcontext *swrast = SWRAST_CONTEXT( ctx ); XMesaDisplay *dpy = xmesa->xm_visual->display; const XMesaGC gc = ((XMesaBuffer) ctx->DrawBuffer)->gc; - struct xmesa_renderbuffer *srcXrb = (struct xmesa_renderbuffer *) - ctx->ReadBuffer->_ColorReadBuffer; - struct xmesa_renderbuffer *dstXrb = (struct xmesa_renderbuffer *) - ctx->DrawBuffer->_ColorDrawBuffers[0][0]; + struct xmesa_renderbuffer *srcXrb + = xmesa_renderbuffer(ctx->ReadBuffer->_ColorReadBuffer->Wrapped); + struct xmesa_renderbuffer *dstXrb + = xmesa_renderbuffer(ctx->DrawBuffer->_ColorDrawBuffers[0][0]->Wrapped); ASSERT(dpy); ASSERT(gc); @@ -831,8 +824,8 @@ xmesa_update_state( GLcontext *ctx, GLbitfield new_state ) * modules. The X11 driver has no internal GL-dependent state. */ _swrast_InvalidateState( ctx, new_state ); - _ac_InvalidateState( ctx, new_state ); _tnl_InvalidateState( ctx, new_state ); + _vbo_InvalidateState( ctx, new_state ); _swsetup_InvalidateState( ctx, new_state ); if (ctx->DrawBuffer->Name != 0)