swrast: clean up and remove dead code in triangle functions
authorBrian Paul <brianp@vmware.com>
Thu, 29 Oct 2009 01:40:56 +0000 (19:40 -0600)
committerBrian Paul <brianp@vmware.com>
Thu, 29 Oct 2009 01:40:56 +0000 (19:40 -0600)
src/mesa/swrast/s_triangle.c

index 005d7a4c8242c93980ca76925071f3e5a7f66cbf..fdd7314f3b3c1f297f09cc3375467e63bced344e 100644 (file)
@@ -134,15 +134,17 @@ _swrast_culltriangle( GLcontext *ctx,
 
 #define SETUP_CODE                                                     \
    struct gl_renderbuffer *rb = ctx->DrawBuffer->_ColorDrawBuffers[0]; \
-   struct gl_texture_object *obj =                                     \
+   const struct gl_texture_object *obj =                               \
       ctx->Texture.Unit[0].CurrentTex[TEXTURE_2D_INDEX];               \
-   const GLint b = obj->BaseLevel;                                     \
-   const GLfloat twidth = (GLfloat) obj->Image[0][b]->Width;           \
-   const GLfloat theight = (GLfloat) obj->Image[0][b]->Height;         \
-   const GLint twidth_log2 = obj->Image[0][b]->WidthLog2;              \
-   const GLubyte *texture = (const GLubyte *) obj->Image[0][b]->Data;  \
-   const GLint smask = obj->Image[0][b]->Width - 1;                    \
-   const GLint tmask = obj->Image[0][b]->Height - 1;                   \
+   const struct gl_texture_image *texImg =                             \
+      obj->Image[0][obj->BaseLevel];                                   \
+   const GLfloat twidth = (GLfloat) texImg->Width;                     \
+   const GLfloat theight = (GLfloat) texImg->Height;                   \
+   const GLint twidth_log2 = texImg->WidthLog2;                                \
+   const GLubyte *texture = (const GLubyte *) texImg->Data;            \
+   const GLint smask = texImg->Width - 1;                              \
+   const GLint tmask = texImg->Height - 1;                             \
+   ASSERT(texImg->TexFormat == MESA_FORMAT_RGB888);                    \
    if (!rb || !texture) {                                              \
       return;                                                          \
    }
@@ -186,15 +188,17 @@ _swrast_culltriangle( GLcontext *ctx,
 
 #define SETUP_CODE                                                     \
    struct gl_renderbuffer *rb = ctx->DrawBuffer->_ColorDrawBuffers[0]; \
-   struct gl_texture_object *obj =                                     \
+   const struct gl_texture_object *obj =                               \
       ctx->Texture.Unit[0].CurrentTex[TEXTURE_2D_INDEX];               \
-   const GLint b = obj->BaseLevel;                                     \
-   const GLfloat twidth = (GLfloat) obj->Image[0][b]->Width;           \
-   const GLfloat theight = (GLfloat) obj->Image[0][b]->Height;         \
-   const GLint twidth_log2 = obj->Image[0][b]->WidthLog2;              \
-   const GLubyte *texture = (const GLubyte *) obj->Image[0][b]->Data;  \
-   const GLint smask = obj->Image[0][b]->Width - 1;                    \
-   const GLint tmask = obj->Image[0][b]->Height - 1;                   \
+   const struct gl_texture_image *texImg =                             \
+       obj->Image[0][obj->BaseLevel];                                  \
+   const GLfloat twidth = (GLfloat) texImg->Width;                     \
+   const GLfloat theight = (GLfloat) texImg->Height;                   \
+   const GLint twidth_log2 = texImg->WidthLog2;                                \
+   const GLubyte *texture = (const GLubyte *) texImg->Data;            \
+   const GLint smask = texImg->Width - 1;                              \
+   const GLint tmask = texImg->Height - 1;                             \
+   ASSERT(texImg->TexFormat == MESA_FORMAT_RGB888);                    \
    if (!rb || !texture) {                                              \
       return;                                                          \
    }
@@ -536,16 +540,17 @@ affine_span(GLcontext *ctx, SWspan *span,
 #define SETUP_CODE                                                     \
    struct affine_info info;                                            \
    struct gl_texture_unit *unit = ctx->Texture.Unit+0;                 \
-   struct gl_texture_object *obj =                                     \
+   const struct gl_texture_object *obj =                               \
       ctx->Texture.Unit[0].CurrentTex[TEXTURE_2D_INDEX];               \
-   const GLint b = obj->BaseLevel;                                     \
-   const GLfloat twidth = (GLfloat) obj->Image[0][b]->Width;           \
-   const GLfloat theight = (GLfloat) obj->Image[0][b]->Height;         \
-   info.texture = (const GLchan *) obj->Image[0][b]->Data;             \
-   info.twidth_log2 = obj->Image[0][b]->WidthLog2;                     \
-   info.smask = obj->Image[0][b]->Width - 1;                           \
-   info.tmask = obj->Image[0][b]->Height - 1;                          \
-   info.format = obj->Image[0][b]->TexFormat;                          \
+   const struct gl_texture_image *texImg =                             \
+      obj->Image[0][obj->BaseLevel];                                   \
+   const GLfloat twidth = (GLfloat) texImg->Width;                     \
+   const GLfloat theight = (GLfloat) texImg->Height;                   \
+   info.texture = (const GLchan *) texImg->Data;                       \
+   info.twidth_log2 = texImg->WidthLog2;                               \
+   info.smask = texImg->Width - 1;                                     \
+   info.tmask = texImg->Height - 1;                                    \
+   info.format = texImg->TexFormat;                                    \
    info.filter = obj->MinFilter;                                       \
    info.envmode = unit->EnvMode;                                       \
    span.arrayMask |= SPAN_RGBA;                                                \
@@ -563,25 +568,17 @@ affine_span(GLcontext *ctx, SWspan *span,
    }                                                                   \
                                                                        \
    switch (info.format) {                                              \
-   case MESA_FORMAT_A8:                                                        \
-   case MESA_FORMAT_L8:                                                        \
-   case MESA_FORMAT_I8:                                                        \
-      info.tbytesline = obj->Image[0][b]->Width;                       \
-      break;                                                           \
-   case MESA_FORMAT_AL88:                                              \
-      info.tbytesline = obj->Image[0][b]->Width * 2;                   \
-      break;                                                           \
    case MESA_FORMAT_RGB888:                                            \
-      info.tbytesline = obj->Image[0][b]->Width * 3;                   \
+      info.tbytesline = texImg->Width * 3;                             \
       break;                                                           \
    case MESA_FORMAT_RGBA8888:                                          \
-      info.tbytesline = obj->Image[0][b]->Width * 4;                   \
+      info.tbytesline = texImg->Width * 4;                             \
       break;                                                           \
    default:                                                            \
       _mesa_problem(NULL, "Bad texture format in affine_texture_triangle");\
       return;                                                          \
    }                                                                   \
-   info.tsize = obj->Image[0][b]->Height * info.tbytesline;
+   info.tsize = texImg->Height * info.tbytesline;
 
 #define RENDER_SPAN( span )   affine_span(ctx, &span, &info);
 
@@ -807,14 +804,15 @@ fast_persp_span(GLcontext *ctx, SWspan *span,
 #define SETUP_CODE                                                     \
    struct persp_info info;                                             \
    const struct gl_texture_unit *unit = ctx->Texture.Unit+0;           \
-   struct gl_texture_object *obj =                                     \
+   const struct gl_texture_object *obj =                               \
       ctx->Texture.Unit[0].CurrentTex[TEXTURE_2D_INDEX];               \
-   const GLint b = obj->BaseLevel;                                     \
-   info.texture = (const GLchan *) obj->Image[0][b]->Data;             \
-   info.twidth_log2 = obj->Image[0][b]->WidthLog2;                     \
-   info.smask = obj->Image[0][b]->Width - 1;                           \
-   info.tmask = obj->Image[0][b]->Height - 1;                          \
-   info.format = obj->Image[0][b]->TexFormat;                          \
+   const struct gl_texture_image *texImg =                             \
+      obj->Image[0][obj->BaseLevel];                                   \
+   info.texture = (const GLchan *) texImg->Data;                       \
+   info.twidth_log2 = texImg->WidthLog2;                               \
+   info.smask = texImg->Width - 1;                                     \
+   info.tmask = texImg->Height - 1;                                    \
+   info.format = texImg->TexFormat;                                    \
    info.filter = obj->MinFilter;                                       \
    info.envmode = unit->EnvMode;                                       \
                                                                        \
@@ -831,25 +829,17 @@ fast_persp_span(GLcontext *ctx, SWspan *span,
    }                                                                   \
                                                                        \
    switch (info.format) {                                              \
-   case MESA_FORMAT_A8:                                                        \
-   case MESA_FORMAT_L8:                                                        \
-   case MESA_FORMAT_I8:                                                        \
-      info.tbytesline = obj->Image[0][b]->Width;                       \
-      break;                                                           \
-   case MESA_FORMAT_AL88:                                              \
-      info.tbytesline = obj->Image[0][b]->Width * 2;                   \
-      break;                                                           \
    case MESA_FORMAT_RGB888:                                            \
-      info.tbytesline = obj->Image[0][b]->Width * 3;                   \
+      info.tbytesline = texImg->Width * 3;                             \
       break;                                                           \
    case MESA_FORMAT_RGBA8888:                                          \
-      info.tbytesline = obj->Image[0][b]->Width * 4;                   \
+      info.tbytesline = texImg->Width * 4;                             \
       break;                                                           \
    default:                                                            \
       _mesa_problem(NULL, "Bad texture format in persp_textured_triangle");\
       return;                                                          \
    }                                                                   \
-   info.tsize = obj->Image[0][b]->Height * info.tbytesline;
+   info.tsize = texImg->Height * info.tbytesline;
 
 #define RENDER_SPAN( span )                    \
    span.interpMask &= ~SPAN_RGBA;              \
@@ -1067,9 +1057,9 @@ _swrast_choose_triangle( GLcontext *ctx )
          texObj2D = ctx->Texture.Unit[0].CurrentTex[TEXTURE_2D_INDEX];
 
          texImg = texObj2D ? texObj2D->Image[0][texObj2D->BaseLevel] : NULL;
-         format = texImg ? texImg->TexFormat : -1;
-         minFilter = texObj2D ? texObj2D->MinFilter : (GLenum) 0;
-         magFilter = texObj2D ? texObj2D->MagFilter : (GLenum) 0;
+         format = texImg ? texImg->TexFormat : MESA_FORMAT_NONE;
+         minFilter = texObj2D ? texObj2D->MinFilter : GL_NONE;
+         magFilter = texObj2D ? texObj2D->MagFilter : GL_NONE;
          envMode = ctx->Texture.Unit[0].EnvMode;
 
          /* First see if we can use an optimized 2-D texture function */