mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2024-12-13 04:04:14 +08:00
mesa: remove GL_SGI_texture_color_table support
It was only implemented in the swrast driver and probably not used by any applications. A modern app would use a dependent/chained texture lookup in the fragment shader.
This commit is contained in:
parent
7e161bcf11
commit
9d20849516
@ -53,6 +53,8 @@ tbd
|
||||
<ul>
|
||||
<li>The Windows MSVC project files have been removed. They haven't been maintained
|
||||
in quite a while. Building with SCons is an alterantive.
|
||||
<li>Removed GL_SGI_texture_color_table support from swrast driver - the only
|
||||
driver that implemented it.
|
||||
</ul>
|
||||
|
||||
|
||||
|
@ -125,9 +125,6 @@ struct gl_enable_attrib
|
||||
GLbitfield Texture[MAX_TEXTURE_UNITS];
|
||||
GLbitfield TexGen[MAX_TEXTURE_UNITS];
|
||||
|
||||
/* SGI_texture_color_table */
|
||||
GLboolean TextureColorTable[MAX_TEXTURE_UNITS];
|
||||
|
||||
/* GL_ARB_vertex_program / GL_NV_vertex_program */
|
||||
GLboolean VertexProgram;
|
||||
GLboolean VertexProgramPointSize;
|
||||
@ -311,7 +308,6 @@ _mesa_PushAttrib(GLbitfield mask)
|
||||
for (i = 0; i < ctx->Const.MaxTextureUnits; i++) {
|
||||
attr->Texture[i] = ctx->Texture.Unit[i].Enabled;
|
||||
attr->TexGen[i] = ctx->Texture.Unit[i].TexGenEnabled;
|
||||
attr->TextureColorTable[i] = ctx->Texture.Unit[i].ColorTableEnabled;
|
||||
}
|
||||
/* GL_NV_vertex_program */
|
||||
attr->VertexProgram = ctx->VertexProgram.Enabled;
|
||||
@ -657,9 +653,6 @@ pop_enable_group(struct gl_context *ctx, const struct gl_enable_attrib *enable)
|
||||
_mesa_set_enable(ctx, GL_TEXTURE_GEN_Q,
|
||||
(genEnabled & Q_BIT) ? GL_TRUE : GL_FALSE);
|
||||
}
|
||||
|
||||
/* GL_SGI_texture_color_table */
|
||||
ctx->Texture.Unit[i].ColorTableEnabled = enable->TextureColorTable[i];
|
||||
}
|
||||
|
||||
_mesa_ActiveTextureARB(GL_TEXTURE0 + curTexUnitSave);
|
||||
@ -702,10 +695,6 @@ pop_texture_group(struct gl_context *ctx, struct texture_state *texstate)
|
||||
(unit->Enabled & TEXTURE_2D_ARRAY_BIT) ? GL_TRUE : GL_FALSE);
|
||||
}
|
||||
|
||||
if (ctx->Extensions.SGI_texture_color_table) {
|
||||
_mesa_set_enable(ctx, GL_TEXTURE_COLOR_TABLE_SGI,
|
||||
unit->ColorTableEnabled);
|
||||
}
|
||||
_mesa_TexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, unit->EnvMode);
|
||||
_mesa_TexEnvfv(GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR, unit->EnvColor);
|
||||
_mesa_TexGeni(GL_S, GL_TEXTURE_GEN_MODE, unit->GenS.Mode);
|
||||
|
@ -300,23 +300,6 @@ _mesa_ColorTable( GLenum target, GLenum internalFormat,
|
||||
case GL_SHARED_TEXTURE_PALETTE_EXT:
|
||||
table = &ctx->Texture.Palette;
|
||||
break;
|
||||
case GL_TEXTURE_COLOR_TABLE_SGI:
|
||||
if (!ctx->Extensions.SGI_texture_color_table) {
|
||||
_mesa_error(ctx, GL_INVALID_ENUM, "glColorTable(target)");
|
||||
return;
|
||||
}
|
||||
table = &(texUnit->ColorTable);
|
||||
scale = ctx->Pixel.TextureColorTableScale;
|
||||
bias = ctx->Pixel.TextureColorTableBias;
|
||||
break;
|
||||
case GL_PROXY_TEXTURE_COLOR_TABLE_SGI:
|
||||
if (!ctx->Extensions.SGI_texture_color_table) {
|
||||
_mesa_error(ctx, GL_INVALID_ENUM, "glColorTable(target)");
|
||||
return;
|
||||
}
|
||||
table = &(texUnit->ProxyColorTable);
|
||||
proxy = GL_TRUE;
|
||||
break;
|
||||
default:
|
||||
/* try texture targets */
|
||||
{
|
||||
@ -435,15 +418,6 @@ _mesa_ColorSubTable( GLenum target, GLsizei start,
|
||||
case GL_SHARED_TEXTURE_PALETTE_EXT:
|
||||
table = &ctx->Texture.Palette;
|
||||
break;
|
||||
case GL_TEXTURE_COLOR_TABLE_SGI:
|
||||
if (!ctx->Extensions.SGI_texture_color_table) {
|
||||
_mesa_error(ctx, GL_INVALID_ENUM, "glColorSubTable(target)");
|
||||
return;
|
||||
}
|
||||
table = &(texUnit->ColorTable);
|
||||
scale = ctx->Pixel.TextureColorTableScale;
|
||||
bias = ctx->Pixel.TextureColorTableBias;
|
||||
break;
|
||||
default:
|
||||
/* try texture targets */
|
||||
texObj = _mesa_select_tex_object(ctx, texUnit, target);
|
||||
@ -551,13 +525,6 @@ _mesa_GetColorTable( GLenum target, GLenum format,
|
||||
case GL_SHARED_TEXTURE_PALETTE_EXT:
|
||||
table = &ctx->Texture.Palette;
|
||||
break;
|
||||
case GL_TEXTURE_COLOR_TABLE_SGI:
|
||||
if (!ctx->Extensions.SGI_texture_color_table) {
|
||||
_mesa_error(ctx, GL_INVALID_ENUM, "glGetColorTable(target)");
|
||||
return;
|
||||
}
|
||||
table = &(texUnit->ColorTable);
|
||||
break;
|
||||
default:
|
||||
/* try texture targets */
|
||||
{
|
||||
@ -666,10 +633,6 @@ _mesa_ColorTableParameterfv(GLenum target, GLenum pname, const GLfloat *params)
|
||||
ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
|
||||
|
||||
switch (target) {
|
||||
case GL_TEXTURE_COLOR_TABLE_SGI:
|
||||
scale = ctx->Pixel.TextureColorTableScale;
|
||||
bias = ctx->Pixel.TextureColorTableBias;
|
||||
break;
|
||||
default:
|
||||
_mesa_error(ctx, GL_INVALID_ENUM, "glColorTableParameter(target)");
|
||||
return;
|
||||
@ -695,17 +658,7 @@ static void GLAPIENTRY
|
||||
_mesa_ColorTableParameteriv(GLenum target, GLenum pname, const GLint *params)
|
||||
{
|
||||
GLfloat fparams[4];
|
||||
if (pname == GL_TEXTURE_COLOR_TABLE_SGI) {
|
||||
/* four values */
|
||||
fparams[0] = (GLfloat) params[0];
|
||||
fparams[1] = (GLfloat) params[1];
|
||||
fparams[2] = (GLfloat) params[2];
|
||||
fparams[3] = (GLfloat) params[3];
|
||||
}
|
||||
else {
|
||||
/* one values */
|
||||
fparams[0] = (GLfloat) params[0];
|
||||
}
|
||||
fparams[0] = (GLfloat) params[0];
|
||||
_mesa_ColorTableParameterfv(target, pname, fparams);
|
||||
}
|
||||
|
||||
@ -723,28 +676,6 @@ _mesa_GetColorTableParameterfv( GLenum target, GLenum pname, GLfloat *params )
|
||||
case GL_SHARED_TEXTURE_PALETTE_EXT:
|
||||
table = &ctx->Texture.Palette;
|
||||
break;
|
||||
case GL_TEXTURE_COLOR_TABLE_SGI:
|
||||
if (!ctx->Extensions.SGI_texture_color_table) {
|
||||
_mesa_error(ctx, GL_INVALID_ENUM, "glGetColorTableParameter(target)");
|
||||
return;
|
||||
}
|
||||
table = &(texUnit->ColorTable);
|
||||
if (pname == GL_COLOR_TABLE_SCALE_SGI) {
|
||||
COPY_4V(params, ctx->Pixel.TextureColorTableScale);
|
||||
return;
|
||||
}
|
||||
else if (pname == GL_COLOR_TABLE_BIAS_SGI) {
|
||||
COPY_4V(params, ctx->Pixel.TextureColorTableBias);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case GL_PROXY_TEXTURE_COLOR_TABLE_SGI:
|
||||
if (!ctx->Extensions.SGI_texture_color_table) {
|
||||
_mesa_error(ctx, GL_INVALID_ENUM, "glGetColorTableParameter(target)");
|
||||
return;
|
||||
}
|
||||
table = &(texUnit->ProxyColorTable);
|
||||
break;
|
||||
default:
|
||||
/* try texture targets */
|
||||
{
|
||||
@ -808,34 +739,6 @@ _mesa_GetColorTableParameteriv( GLenum target, GLenum pname, GLint *params )
|
||||
case GL_SHARED_TEXTURE_PALETTE_EXT:
|
||||
table = &ctx->Texture.Palette;
|
||||
break;
|
||||
case GL_TEXTURE_COLOR_TABLE_SGI:
|
||||
if (!ctx->Extensions.SGI_texture_color_table) {
|
||||
_mesa_error(ctx, GL_INVALID_ENUM, "glGetColorTableParameter(target)");
|
||||
return;
|
||||
}
|
||||
table = &(texUnit->ColorTable);
|
||||
if (pname == GL_COLOR_TABLE_SCALE_SGI) {
|
||||
params[0] = (GLint) ctx->Pixel.TextureColorTableScale[0];
|
||||
params[1] = (GLint) ctx->Pixel.TextureColorTableScale[1];
|
||||
params[2] = (GLint) ctx->Pixel.TextureColorTableScale[2];
|
||||
params[3] = (GLint) ctx->Pixel.TextureColorTableScale[3];
|
||||
return;
|
||||
}
|
||||
else if (pname == GL_COLOR_TABLE_BIAS_SGI) {
|
||||
params[0] = (GLint) ctx->Pixel.TextureColorTableBias[0];
|
||||
params[1] = (GLint) ctx->Pixel.TextureColorTableBias[1];
|
||||
params[2] = (GLint) ctx->Pixel.TextureColorTableBias[2];
|
||||
params[3] = (GLint) ctx->Pixel.TextureColorTableBias[3];
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case GL_PROXY_TEXTURE_COLOR_TABLE_SGI:
|
||||
if (!ctx->Extensions.SGI_texture_color_table) {
|
||||
_mesa_error(ctx, GL_INVALID_ENUM, "glGetColorTableParameter(target)");
|
||||
return;
|
||||
}
|
||||
table = &(texUnit->ProxyColorTable);
|
||||
break;
|
||||
default:
|
||||
/* Try texture targets */
|
||||
{
|
||||
|
@ -703,15 +703,6 @@ _mesa_set_enable(struct gl_context *ctx, GLenum cap, GLboolean state)
|
||||
client_state( ctx, cap, state );
|
||||
return;
|
||||
|
||||
/* GL_SGI_texture_color_table */
|
||||
case GL_TEXTURE_COLOR_TABLE_SGI:
|
||||
CHECK_EXTENSION(SGI_texture_color_table, cap);
|
||||
if (ctx->Texture.Unit[ctx->Texture.CurrentUnit].ColorTableEnabled == state)
|
||||
return;
|
||||
FLUSH_VERTICES(ctx, _NEW_TEXTURE);
|
||||
ctx->Texture.Unit[ctx->Texture.CurrentUnit].ColorTableEnabled = state;
|
||||
break;
|
||||
|
||||
/* GL_ARB_texture_cube_map */
|
||||
case GL_TEXTURE_CUBE_MAP_ARB:
|
||||
CHECK_EXTENSION(ARB_texture_cube_map, cap);
|
||||
@ -1308,11 +1299,6 @@ _mesa_IsEnabled( GLenum cap )
|
||||
return (ctx->Array.ArrayObj->PointSize.Enabled != 0);
|
||||
#endif
|
||||
|
||||
/* GL_SGI_texture_color_table */
|
||||
case GL_TEXTURE_COLOR_TABLE_SGI:
|
||||
CHECK_EXTENSION(SGI_texture_color_table);
|
||||
return ctx->Texture.Unit[ctx->Texture.CurrentUnit].ColorTableEnabled;
|
||||
|
||||
/* GL_ARB_texture_cube_map */
|
||||
case GL_TEXTURE_CUBE_MAP_ARB:
|
||||
CHECK_EXTENSION(ARB_texture_cube_map);
|
||||
|
@ -290,7 +290,6 @@ static const struct extension extension_table[] = {
|
||||
{ "GL_SGIS_texture_border_clamp", o(ARB_texture_border_clamp), GL },
|
||||
{ "GL_SGIS_texture_edge_clamp", o(SGIS_texture_edge_clamp), GL },
|
||||
{ "GL_SGIS_texture_lod", o(SGIS_texture_lod), GL },
|
||||
{ "GL_SGI_texture_color_table", o(SGI_texture_color_table), GL },
|
||||
{ "GL_SUN_multi_draw_arrays", o(EXT_multi_draw_arrays), GL },
|
||||
|
||||
{ 0, 0, 0 },
|
||||
@ -520,7 +519,6 @@ _mesa_enable_sw_extensions(struct gl_context *ctx)
|
||||
#if FEATURE_NV_fragment_program && FEATURE_ARB_fragment_program
|
||||
ctx->Extensions.NV_fragment_program_option = GL_TRUE;
|
||||
#endif
|
||||
ctx->Extensions.SGI_texture_color_table = GL_TRUE;
|
||||
/*ctx->Extensions.SGIS_generate_mipmap = GL_TRUE;*/
|
||||
ctx->Extensions.SGIS_texture_edge_clamp = GL_TRUE;
|
||||
#if FEATURE_ARB_vertex_program || FEATURE_ARB_fragment_program
|
||||
|
@ -290,7 +290,6 @@ EXTRA_EXT(NV_fragment_program);
|
||||
EXTRA_EXT(NV_texture_rectangle);
|
||||
EXTRA_EXT(EXT_stencil_two_side);
|
||||
EXTRA_EXT(NV_light_max_exponent);
|
||||
EXTRA_EXT(SGI_texture_color_table);
|
||||
EXTRA_EXT(EXT_depth_bounds_test);
|
||||
EXTRA_EXT(ARB_depth_clamp);
|
||||
EXTRA_EXT(ATI_fragment_shader);
|
||||
@ -911,11 +910,6 @@ static const struct value_desc values[] = {
|
||||
CONTEXT_MATRIX_T(ProjectionMatrixStack.Top), NO_EXTRA },
|
||||
{ GL_TRANSPOSE_TEXTURE_MATRIX_ARB, CONTEXT_MATRIX_T(TextureMatrixStack), NO_EXTRA },
|
||||
|
||||
/* GL_SGI_texture_color_table */
|
||||
{ GL_TEXTURE_COLOR_TABLE_SGI, LOC_TEXUNIT, TYPE_BOOLEAN,
|
||||
offsetof(struct gl_texture_unit, ColorTableEnabled),
|
||||
extra_SGI_texture_color_table },
|
||||
|
||||
/* GL_EXT_secondary_color */
|
||||
{ GL_COLOR_SUM_EXT, CONTEXT_BOOL(Fog.ColorSumEnabled),
|
||||
extra_EXT_secondary_color_ARB_vertex_program },
|
||||
|
@ -1031,10 +1031,6 @@ struct gl_pixel_attrib
|
||||
|
||||
/** glPixelZoom */
|
||||
GLfloat ZoomX, ZoomY;
|
||||
|
||||
/** GL_SGI_texture_color_table */
|
||||
GLfloat TextureColorTableScale[4]; /**< RGBA */
|
||||
GLfloat TextureColorTableBias[4]; /**< RGBA */
|
||||
};
|
||||
|
||||
|
||||
@ -1435,13 +1431,6 @@ struct gl_texture_unit
|
||||
|
||||
/** Points to highest priority, complete and enabled texture object */
|
||||
struct gl_texture_object *_Current;
|
||||
|
||||
/** GL_SGI_texture_color_table */
|
||||
/*@{*/
|
||||
struct gl_color_table ColorTable;
|
||||
struct gl_color_table ProxyColorTable;
|
||||
GLboolean ColorTableEnabled;
|
||||
/*@}*/
|
||||
};
|
||||
|
||||
|
||||
@ -2859,7 +2848,6 @@ struct gl_extensions
|
||||
GLboolean NV_vertex_program;
|
||||
GLboolean NV_vertex_program1_1;
|
||||
GLboolean OES_read_format;
|
||||
GLboolean SGI_texture_color_table;
|
||||
GLboolean SGIS_generate_mipmap;
|
||||
GLboolean SGIS_texture_edge_clamp;
|
||||
GLboolean SGIS_texture_lod;
|
||||
|
@ -685,9 +685,6 @@ _mesa_init_pixel( struct gl_context *ctx )
|
||||
init_pixelmap(&ctx->PixelMaps.GtoG);
|
||||
init_pixelmap(&ctx->PixelMaps.BtoB);
|
||||
init_pixelmap(&ctx->PixelMaps.AtoA);
|
||||
/* GL_SGI_texture_color_table */
|
||||
ASSIGN_4V(ctx->Pixel.TextureColorTableScale, 1.0, 1.0, 1.0, 1.0);
|
||||
ASSIGN_4V(ctx->Pixel.TextureColorTableBias, 0.0, 0.0, 0.0, 0.0);
|
||||
|
||||
if (ctx->Visual.doubleBufferMode) {
|
||||
ctx->Pixel.ReadBuffer = GL_BACK;
|
||||
|
@ -818,9 +818,6 @@ _mesa_free_texture_data(struct gl_context *ctx)
|
||||
/* Free proxy texture objects */
|
||||
for (tgt = 0; tgt < NUM_TEXTURE_TARGETS; tgt++)
|
||||
ctx->Driver.DeleteTexture(ctx, ctx->Texture.ProxyTex[tgt]);
|
||||
|
||||
for (u = 0; u < Elements(ctx->Texture.Unit); u++)
|
||||
_mesa_free_colortable_data(&ctx->Texture.Unit[u].ColorTable);
|
||||
}
|
||||
|
||||
|
||||
|
@ -713,11 +713,6 @@ _swrast_texture_span( struct gl_context *ctx, SWspan *span )
|
||||
swrast->TextureSample[unit]( ctx, texUnit->_Current, span->end,
|
||||
texcoords, lambda, texels );
|
||||
|
||||
/* GL_SGI_texture_color_table */
|
||||
if (texUnit->ColorTableEnabled) {
|
||||
_mesa_lookup_rgba_float(&texUnit->ColorTable, span->end, texels);
|
||||
}
|
||||
|
||||
/* GL_EXT_texture_swizzle */
|
||||
if (curObj->_Swizzle != SWIZZLE_NOOP) {
|
||||
swizzle_texels(curObj->_Swizzle, span->end, texels);
|
||||
|
Loading…
Reference in New Issue
Block a user