mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 04:48:08 +02:00
swrast: clean up and remove dead code in triangle functions
This commit is contained in:
parent
1e7517f059
commit
0103d7a47a
1 changed files with 47 additions and 57 deletions
|
|
@ -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 */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue