X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fdrivers%2Fdri%2Fgamma%2Fgamma_span.c;h=cdaaac3f3ac36ca6edc684c06d04f29561558a82;hb=e42b156fac6deed21328b89192faca6f4fe904f1;hp=533166ddbb3d6e9b9abf0cf1589ea21239b69ab6;hpb=894844a8d956a0ee5f95836331dc318f49fdb845;p=mesa.git diff --git a/src/mesa/drivers/dri/gamma/gamma_span.c b/src/mesa/drivers/dri/gamma/gamma_span.c index 533166ddbb3..cdaaac3f3ac 100644 --- a/src/mesa/drivers/dri/gamma/gamma_span.c +++ b/src/mesa/drivers/dri/gamma/gamma_span.c @@ -1,6 +1,5 @@ -/* $XFree86: xc/lib/GL/mesa/src/drv/gamma/gamma_span.c,v 1.4 2002/11/05 17:46:07 tsi Exp $ */ -#include "gamma_context.h" +#include "gammacontext.h" #include "gamma_lock.h" #include "colormac.h" @@ -19,12 +18,8 @@ gmesa->drawOffset + \ (dPriv->x * gammascrn->cpp) + \ (dPriv->y * pitch)); \ - char *read_buf = (char *)(sPriv->pFB + \ - gmesa->readOffset + \ - (dPriv->x * gammascrn->cpp) + \ - (dPriv->y * pitch)); \ GLuint p; \ - (void) read_buf; (void) buf; (void) p + (void) buf; (void) p /* FIXME! Depth/Stencil read/writes don't work ! */ #define LOCAL_DEPTH_VARS \ @@ -40,21 +35,6 @@ #define LOCAL_STENCIL_VARS LOCAL_DEPTH_VARS - -#define CLIPPIXEL( _x, _y ) \ - ((_x >= minx) && (_x < maxx) && (_y >= miny) && (_y < maxy)) - - -#define CLIPSPAN( _x, _y, _n, _x1, _n1, _i ) \ - if ( _y < miny || _y >= maxy ) { \ - _n1 = 0, _x1 = x; \ - } else { \ - _n1 = _n; \ - _x1 = _x; \ - if ( _x1 < minx ) _i += (minx-_x1), n1 -= (minx-_x1), _x1 = minx; \ - if ( _x1 + _n1 >= maxx ) n1 -= (_x1 + n1 - maxx); \ - } - #define Y_FLIP( _y ) (height - _y - 1) #define HW_LOCK() \ @@ -63,21 +43,6 @@ gammaGetLock( gmesa, DRM_LOCK_FLUSH | DRM_LOCK_QUIESCENT ); \ GAMMAHW_LOCK( gmesa ); -#define HW_CLIPLOOP() \ - do { \ - __DRIdrawablePrivate *dPriv = gmesa->driDrawable; \ - int _nc = dPriv->numClipRects; \ - \ - while ( _nc-- ) { \ - int minx = dPriv->pClipRects[_nc].x1 - dPriv->x; \ - int miny = dPriv->pClipRects[_nc].y1 - dPriv->y; \ - int maxx = dPriv->pClipRects[_nc].x2 - dPriv->x; \ - int maxy = dPriv->pClipRects[_nc].y2 - dPriv->y; - -#define HW_ENDCLIPLOOP() \ - } \ - } while (0) - #define HW_UNLOCK() GAMMAHW_UNLOCK( gmesa ) @@ -101,7 +66,7 @@ #define READ_RGBA( rgba, _x, _y ) \ do { \ - GLushort p = *(GLushort *)(read_buf + _x*2 + _y*pitch); \ + GLushort p = *(GLushort *)(buf + _x*2 + _y*pitch); \ rgba[0] = (p >> 8) & 0xf8; \ rgba[1] = (p >> 3) & 0xfc; \ rgba[2] = (p << 3) & 0xf8; \ @@ -133,7 +98,7 @@ #define READ_RGBA( rgba, _x, _y ) \ do { \ - GLuint p = *(GLuint *)(read_buf + _x*4 + _y*pitch); \ + GLuint p = *(GLuint *)(buf + _x*4 + _y*pitch); \ rgba[0] = (p >> 16) & 0xff; \ rgba[1] = (p >> 8) & 0xff; \ rgba[2] = (p >> 0) & 0xff; \ @@ -146,25 +111,28 @@ do { \ /* 16 bit depthbuffer functions. */ +#define VALUE_TYPE GLushort + #define WRITE_DEPTH( _x, _y, d ) \ - *(GLushort *)(buf + _x*2 + _y*pitch) = d; + *(GLushort *)(buf + (_x)*2 + (_y)*pitch) = d; #define READ_DEPTH( d, _x, _y ) \ - d = *(GLushort *)(buf + _x*2 + _y*pitch); + d = *(GLushort *)(buf + (_x)*2 + (_y)*pitch); #define TAG(x) gamma##x##_16 #include "depthtmp.h" - #if 0 /* Unused */ /* 32 bit depthbuffer functions. */ +#define VALUE_TYPE GLuint + #define WRITE_DEPTH( _x, _y, d ) \ - *(GLuint *)(buf + _x*4 + _y*pitch) = d; + *(GLuint *)(buf + (_x)*4 + (_y)*pitch) = d; #define READ_DEPTH( d, _x, _y ) \ - d = *(GLuint *)(buf + _x*4 + _y*pitch); + d = *(GLuint *)(buf + (_x)*4 + (_y)*pitch); #define TAG(x) gamma##x##_32 #include "depthtmp.h" @@ -173,15 +141,17 @@ do { \ /* 24/8 bit interleaved depth/stencil functions */ +#define VALUE_TYPE GLuint + #define WRITE_DEPTH( _x, _y, d ) { \ - GLuint tmp = *(GLuint *)(buf + _x*4 + _y*pitch); \ + GLuint tmp = *(GLuint *)(buf + (_x)*4 + (_y)*pitch); \ tmp &= 0xff; \ tmp |= (d) & 0xffffff00; \ - *(GLuint *)(buf + _x*4 + _y*pitch) = tmp; \ + *(GLuint *)(buf + (_x)*4 + (_y)*pitch) = tmp; \ } #define READ_DEPTH( d, _x, _y ) \ - d = *(GLuint *)(buf + _x*4 + _y*pitch) & ~0xff; + d = *(GLuint *)(buf + (_x)*4 + (_y)*pitch) & ~0xff; #define TAG(x) gamma##x##_24_8 @@ -268,10 +238,10 @@ static void gammaSetBuffer( GLcontext *ctx, gammaContextPtr gmesa = GAMMA_CONTEXT(ctx); switch ( bufferBit ) { - case DD_FRONT_LEFT_BIT: + case BUFFER_BIT_FRONT_LEFT: gmesa->readOffset = 0; break; - case DD_BACK_LEFT_BIT: + case BUFFER_BIT_BACK_LEFT: gmesa->readOffset = gmesa->driScreen->fbHeight * gmesa->driScreen->fbWidth * gmesa->gammaScreen->cpp; break; default: