OSDN Git Service

Remove dead span functions code.
authorNicolai Haehnle <prefect_@gmx.net>
Sat, 14 May 2005 12:19:05 +0000 (12:19 +0000)
committerNicolai Haehnle <prefect_@gmx.net>
Sat, 14 May 2005 12:19:05 +0000 (12:19 +0000)
src/mesa/drivers/dri/r300/radeon_span.c

index 0ab6b9b..8902c93 100644 (file)
@@ -46,32 +46,28 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define LOCAL_VARS                                                     \
    radeonContextPtr radeon = RADEON_CONTEXT(ctx);                      \
-   radeonScreenPtr radeonScreen = radeon->radeonScreen;                        \
+   driRenderbuffer* drb = (driRenderbuffer*)rb;                                \
    __DRIscreenPrivate *sPriv = radeon->dri.screen;                     \
    __DRIdrawablePrivate *dPriv = radeon->dri.drawable;                 \
-   GLuint pitch = radeonScreen->frontPitch * radeonScreen->cpp;                \
+   GLuint pitch = drb->pitch * drb->cpp;                               \
    GLuint height = dPriv->h;                                           \
    char *buf = (char *)(sPriv->pFB +                                   \
-                       radeon->state.color.drawOffset +                \
-                       (dPriv->x * radeonScreen->cpp) +                \
+                       drb->offset +                                   \
+                       (dPriv->x * drb->cpp) +                         \
                        (dPriv->y * pitch));                            \
-   char *read_buf = (char *)(sPriv->pFB +                              \
-                            radeon->state.pixel.readOffset +           \
-                            (dPriv->x * radeonScreen->cpp) +           \
-                            (dPriv->y * pitch));                       \
    GLuint p;                                                           \
-   (void) read_buf; (void) buf; (void) p
+   (void) p
 
 #define LOCAL_DEPTH_VARS                                               \
    radeonContextPtr radeon = RADEON_CONTEXT(ctx);                      \
-   radeonScreenPtr radeonScreen = radeon->radeonScreen;                        \
+   driRenderbuffer* drb = (driRenderbuffer*)rb;                                \
    __DRIscreenPrivate *sPriv = radeon->dri.screen;                     \
    __DRIdrawablePrivate *dPriv = radeon->dri.drawable;                 \
+   GLuint pitch = drb->pitch;                                          \
    GLuint height = dPriv->h;                                           \
    GLuint xo = dPriv->x;                                               \
    GLuint yo = dPriv->y;                                               \
-   char *buf = (char *)(sPriv->pFB + radeonScreen->depthOffset);       \
-   GLuint pitch = radeonScreen->depthPitch;                            \
+   char *buf = (char *)(sPriv->pFB + drb->offset);                     \
    (void) buf; (void) pitch
 
 #define LOCAL_STENCIL_VARS     LOCAL_DEPTH_VARS
@@ -85,8 +81,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    } else {                                                            \
       _n1 = _n;                                                                \
       _x1 = _x;                                                                \
-      if ( _x1 < minx ) _i += (minx-_x1), n1 -= (minx-_x1), _x1 = minx; \
-      if ( _x1 + _n1 >= maxx ) n1 -= (_x1 + n1 - maxx);                        \
+      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)
@@ -95,7 +91,6 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #define HW_CLIPLOOP()                                                  \
    do {                                                                        \
-      __DRIdrawablePrivate *dPriv = radeon->dri.drawable;              \
       int _nc = dPriv->numClipRects;                                   \
                                                                        \
       while ( _nc-- ) {                                                        \
@@ -129,7 +124,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #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) * 255 / 0xf8;                                \
       rgba[1] = ((p >> 3) & 0xfc) * 255 / 0xfc;                                \
       rgba[2] = ((p << 3) & 0xf8) * 255 / 0xf8;                                \
@@ -160,7 +155,7 @@ do {                                                        \
 
 #define READ_RGBA( rgba, _x, _y )                              \
 do {                                                           \
-   volatile GLuint *ptr = (volatile GLuint *)(read_buf + _x*4 + _y*pitch); \
+   volatile GLuint *ptr = (volatile GLuint *)(buf + _x*4 + _y*pitch); \
    GLuint p = *ptr;                                    \
    rgba[0] = (p >> 16) & 0xff;                                 \
    rgba[1] = (p >>  8) & 0xff;                                 \
@@ -175,76 +170,6 @@ do {                                                               \
  * Depth buffer
  */
 
-/* The Radeon family has depth tiling on all the time, so we have to convert
- * the x,y coordinates into the memory bus address (mba) in the same
- * manner as the engine.  In each case, the linear block address (ba)
- * is calculated, and then wired with x and y to produce the final
- * memory address.
- */
-
-#define BIT(x,b) ((x & (1<<b))>>b)
-static GLuint radeon_mba_z32(radeonContextPtr radeon, GLint x, GLint y)
-{
-       GLuint pitch = radeon->radeonScreen->depthPitch;
-       GLuint b =
-           ((y & 0x3FF) >> 4) * ((pitch & 0xFFF) >> 5) + ((x & 0x3FF) >> 5);
-       GLuint a =
-           (BIT(x, 0) << 2) | (BIT(y, 0) << 3) | (BIT(x, 1) << 4) | (BIT(y, 1)
-                                                                     << 5) |
-           (BIT(x, 3) << 6) | (BIT(x, 4) << 7) | (BIT(x, 2) << 8) | (BIT(y, 2)
-                                                                     << 9) |
-           (BIT(y, 3) << 10) |
-           (((pitch & 0x20) ? (b & 0x01) : ((b & 0x01) ^ (BIT(y, 4)))) << 11) |
-           ((b >> 1) << 12);
-       return a;
-}
-
-static GLuint radeon_mba_z16(radeonContextPtr radeon, GLint x, GLint y)
-{
-       GLuint pitch = radeon->radeonScreen->depthPitch;
-       GLuint b =
-           ((y & 0x3FF) >> 4) * ((pitch & 0xFFF) >> 6) + ((x & 0x3FF) >> 6);
-       GLuint a =
-           (BIT(x, 0) << 1) | (BIT(y, 0) << 2) | (BIT(x, 1) << 3) | (BIT(y, 1)
-                                                                     << 4) |
-           (BIT(x, 2) << 5) | (BIT(x, 4) << 6) | (BIT(x, 5) << 7) | (BIT(x, 3)
-                                                                     << 8) |
-           (BIT(y, 2) << 9) | (BIT(y, 3) << 10) |
-           (((pitch & 0x40) ? (b & 0x01) : ((b & 0x01) ^ (BIT(y, 4)))) << 11) |
-           ((b >> 1) << 12);
-       return a;
-}
-
-
-/* 16-bit depth buffer functions
- */
-#define WRITE_DEPTH( _x, _y, d )                                       \
-   *(GLushort *)(buf + radeon_mba_z16( radeon, _x + xo, _y + yo )) = d;
-
-#define READ_DEPTH( d, _x, _y )                                                \
-   d = *(GLushort *)(buf + radeon_mba_z16( radeon, _x + xo, _y + yo ));
-
-#define TAG(x) radeon##x##_16_TILE
-#include "depthtmp.h"
-
-/* 24 bit depth, 8 bit stencil depthbuffer functions
- */
-#define WRITE_DEPTH( _x, _y, d )                                       \
-do {                                                                   \
-   GLuint offset = radeon_mba_z32( radeon, _x + xo, _y + yo );         \
-   GLuint tmp = *(GLuint *)(buf + offset);                             \
-   tmp &= 0xff000000;                                                  \
-   tmp |= ((d) & 0x00ffffff);                                          \
-   *(GLuint *)(buf + offset) = tmp;                                    \
-} while (0)
-
-#define READ_DEPTH( d, _x, _y )                                                \
-   d = *(GLuint *)(buf + radeon_mba_z32( radeon, _x + xo,              \
-                                        _y + yo )) & 0x00ffffff;
-
-#define TAG(x) radeon##x##_24_8_TILE
-#include "depthtmp.h"
-
 /* 16-bit depth buffer functions
  */
 #define WRITE_DEPTH( _x, _y, d )                                       \
@@ -263,7 +188,7 @@ do {                                                                        \
  */
 #define WRITE_DEPTH( _x, _y, d )                                       \
 do {                                                                   \
-   GLuint offset = (_x + xo + (_y + yo)*pitch)*4;                      \
+   GLuint offset = ((_x) + xo + ((_y) + yo)*pitch)*4;                  \
    GLuint tmp = *(GLuint *)(buf + offset);                             \
    tmp &= 0x000000ff;                                                  \
    tmp |= ((d << 8) & 0xffffff00);                                     \
@@ -271,7 +196,9 @@ do {                                                                        \
 } while (0)
 
 #define READ_DEPTH( d, _x, _y )                                                \
-   d = (*(GLuint *)(buf + (_x + xo + (_y + yo)*pitch)*4) & 0xffffff00) >> 8;
+do { \
+   d = (*(GLuint *)(buf + ((_x) + xo + ((_y) + yo)*pitch)*4) & 0xffffff00) >> 8; \
+} while(0)
 
 #define TAG(x) radeon##x##_24_8_LINEAR
 #include "depthtmp.h"
@@ -284,27 +211,6 @@ do {                                                                       \
  */
 #define WRITE_STENCIL( _x, _y, d )                                     \
 do {                                                                   \
-   GLuint offset = radeon_mba_z32( radeon, _x + xo, _y + yo );         \
-   GLuint tmp = *(GLuint *)(buf + offset);                             \
-   tmp &= 0xffffff00;                                                  \
-   tmp |= (d) & 0xff;                                                  \
-   *(GLuint *)(buf + offset) = tmp;                                    \
-} while (0)
-
-#define READ_STENCIL( d, _x, _y )                                      \
-do {                                                                   \
-   GLuint offset = radeon_mba_z32( radeon, _x + xo, _y + yo );         \
-   GLuint tmp = *(GLuint *)(buf + offset);                             \
-   d = tmp & 0x000000ff;                                               \
-} while (0)
-
-#define TAG(x) radeon##x##_24_8_TILE
-#include "stenciltmp.h"
-
-/* 24 bit depth, 8 bit stencil depthbuffer functions
- */
-#define WRITE_STENCIL( _x, _y, d )                                     \
-do {                                                                   \
    GLuint offset = (_x + xo + (_y + yo)*pitch)*4;                      \
    GLuint tmp = *(GLuint *)(buf + offset);                             \
    tmp &= 0xffffff00;                                                  \
@@ -428,107 +334,13 @@ void radeonInitSpanFuncs(GLcontext * ctx)
 
        swdd->SetBuffer = radeonSetBuffer;
 
-       switch (radeon->radeonScreen->cpp) {
-       case 2:
-#if 0
-               swdd->WriteRGBASpan = radeonWriteRGBASpan_RGB565;
-               swdd->WriteRGBSpan = radeonWriteRGBSpan_RGB565;
-               swdd->WriteMonoRGBASpan = radeonWriteMonoRGBASpan_RGB565;
-               swdd->WriteRGBAPixels = radeonWriteRGBAPixels_RGB565;
-               swdd->WriteMonoRGBAPixels = radeonWriteMonoRGBAPixels_RGB565;
-               swdd->ReadRGBASpan = radeonReadRGBASpan_RGB565;
-               swdd->ReadRGBAPixels = radeonReadRGBAPixels_RGB565;
-#endif
-               break;
-
-       case 4:
-#if 0
-               swdd->WriteRGBASpan = radeonWriteRGBASpan_ARGB8888;
-               swdd->WriteRGBSpan = radeonWriteRGBSpan_ARGB8888;
-               swdd->WriteMonoRGBASpan = radeonWriteMonoRGBASpan_ARGB8888;
-               swdd->WriteRGBAPixels = radeonWriteRGBAPixels_ARGB8888;
-               swdd->WriteMonoRGBAPixels = radeonWriteMonoRGBAPixels_ARGB8888;
-               swdd->ReadRGBASpan = radeonReadRGBASpan_ARGB8888;
-               swdd->ReadRGBAPixels = radeonReadRGBAPixels_ARGB8888;
-#endif
-               break;
-
-       default:
-               break;
-       }
-
-       if (IS_FAMILY_R300(radeon))
-       {
-               switch (radeon->glCtx->Visual.depthBits) {
-               case 16:
-#if 0
-                       swdd->ReadDepthSpan = radeonReadDepthSpan_16_LINEAR;
-                       swdd->WriteDepthSpan = radeonWriteDepthSpan_16_LINEAR;
-                       swdd->WriteMonoDepthSpan = radeonWriteMonoDepthSpan_16_LINEAR;
-                       swdd->ReadDepthPixels = radeonReadDepthPixels_16_LINEAR;
-                       swdd->WriteDepthPixels = radeonWriteDepthPixels_16_LINEAR;
-#endif
-                       break;
-
-               case 24:
-#if 0
-                       swdd->ReadDepthSpan = radeonReadDepthSpan_24_8_LINEAR;
-                       swdd->WriteDepthSpan = radeonWriteDepthSpan_24_8_LINEAR;
-                       swdd->WriteMonoDepthSpan = radeonWriteMonoDepthSpan_24_8_LINEAR;
-                       swdd->ReadDepthPixels = radeonReadDepthPixels_24_8_LINEAR;
-                       swdd->WriteDepthPixels = radeonWriteDepthPixels_24_8_LINEAR;
-
-                       swdd->ReadStencilSpan = radeonReadStencilSpan_24_8_LINEAR;
-                       swdd->WriteStencilSpan = radeonWriteStencilSpan_24_8_LINEAR;
-                       swdd->ReadStencilPixels = radeonReadStencilPixels_24_8_LINEAR;
-                       swdd->WriteStencilPixels = radeonWriteStencilPixels_24_8_LINEAR;
-#endif
-                       break;
-
-               default:
-                       break;
-               }
-       }
-       else
-       {
-               switch (radeon->glCtx->Visual.depthBits) {
-               case 16:
-#if 0
-                       swdd->ReadDepthSpan = radeonReadDepthSpan_16_TILE;
-                       swdd->WriteDepthSpan = radeonWriteDepthSpan_16_TILE;
-                       swdd->WriteMonoDepthSpan = radeonWriteMonoDepthSpan_16_TILE;
-                       swdd->ReadDepthPixels = radeonReadDepthPixels_16_TILE;
-                       swdd->WriteDepthPixels = radeonWriteDepthPixels_16_TILE;
-#endif
-                       break;
-
-               case 24:
-#if 0
-                       swdd->ReadDepthSpan = radeonReadDepthSpan_24_8_TILE;
-                       swdd->WriteDepthSpan = radeonWriteDepthSpan_24_8_TILE;
-                       swdd->WriteMonoDepthSpan = radeonWriteMonoDepthSpan_24_8_TILE;
-                       swdd->ReadDepthPixels = radeonReadDepthPixels_24_8_TILE;
-                       swdd->WriteDepthPixels = radeonWriteDepthPixels_24_8_TILE;
-
-                       swdd->ReadStencilSpan = radeonReadStencilSpan_24_8_TILE;
-                       swdd->WriteStencilSpan = radeonWriteStencilSpan_24_8_TILE;
-                       swdd->ReadStencilPixels = radeonReadStencilPixels_24_8_TILE;
-                       swdd->WriteStencilPixels = radeonWriteStencilPixels_24_8_TILE;
-#endif
-                       break;
-
-               default:
-                       break;
-               }
-       }
-
        swdd->SpanRenderStart = radeonSpanRenderStart;
        swdd->SpanRenderFinish = radeonSpanRenderFinish;
 }
 
 /**
        * Plug in the Get/Put routines for the given driRenderbuffer.
        */
+ * Plug in the Get/Put routines for the given driRenderbuffer.
+ */
 void radeonSetSpanFunctions(driRenderbuffer *drb, const GLvisual *vis)
 {
        if (drb->Base.InternalFormat == GL_RGBA) {