mesa: Remove the non-required ARB_imaging extension.
Many of the EXT_ extensions in the subset have significant code overhead with no users. It is not a required part of GL -- though text describing the extension is part of the core spec since 1.2, it is always conditional on the ARB_imaging extension.
This commit is contained in:
@@ -215,8 +215,7 @@ _mesa_validate_blend_equation( GLcontext *ctx,
|
|||||||
break;
|
break;
|
||||||
case GL_MIN:
|
case GL_MIN:
|
||||||
case GL_MAX:
|
case GL_MAX:
|
||||||
if (!ctx->Extensions.EXT_blend_minmax &&
|
if (!ctx->Extensions.EXT_blend_minmax) {
|
||||||
!ctx->Extensions.ARB_imaging) {
|
|
||||||
return GL_FALSE;
|
return GL_FALSE;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -229,8 +228,7 @@ _mesa_validate_blend_equation( GLcontext *ctx,
|
|||||||
break;
|
break;
|
||||||
case GL_FUNC_SUBTRACT:
|
case GL_FUNC_SUBTRACT:
|
||||||
case GL_FUNC_REVERSE_SUBTRACT:
|
case GL_FUNC_REVERSE_SUBTRACT:
|
||||||
if (!ctx->Extensions.EXT_blend_subtract &&
|
if (!ctx->Extensions.EXT_blend_subtract) {
|
||||||
!ctx->Extensions.ARB_imaging) {
|
|
||||||
return GL_FALSE;
|
return GL_FALSE;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@@ -62,7 +62,6 @@ static const struct {
|
|||||||
/* { OFF, "GL_ARB_geometry_shader4", F(ARB_geometry_shader4) }, */
|
/* { OFF, "GL_ARB_geometry_shader4", F(ARB_geometry_shader4) }, */
|
||||||
{ OFF, "GL_ARB_half_float_pixel", F(ARB_half_float_pixel) },
|
{ OFF, "GL_ARB_half_float_pixel", F(ARB_half_float_pixel) },
|
||||||
{ OFF, "GL_ARB_half_float_vertex", F(ARB_half_float_vertex) },
|
{ OFF, "GL_ARB_half_float_vertex", F(ARB_half_float_vertex) },
|
||||||
{ OFF, "GL_ARB_imaging", F(ARB_imaging) },
|
|
||||||
{ OFF, "GL_ARB_instanced_arrays", F(ARB_instanced_arrays) },
|
{ OFF, "GL_ARB_instanced_arrays", F(ARB_instanced_arrays) },
|
||||||
{ OFF, "GL_ARB_map_buffer_range", F(ARB_map_buffer_range) },
|
{ OFF, "GL_ARB_map_buffer_range", F(ARB_map_buffer_range) },
|
||||||
{ ON, "GL_ARB_multisample", F(ARB_multisample) },
|
{ ON, "GL_ARB_multisample", F(ARB_multisample) },
|
||||||
@@ -255,7 +254,6 @@ _mesa_enable_sw_extensions(GLcontext *ctx)
|
|||||||
#endif
|
#endif
|
||||||
ctx->Extensions.ARB_half_float_pixel = GL_TRUE;
|
ctx->Extensions.ARB_half_float_pixel = GL_TRUE;
|
||||||
ctx->Extensions.ARB_half_float_vertex = GL_TRUE;
|
ctx->Extensions.ARB_half_float_vertex = GL_TRUE;
|
||||||
ctx->Extensions.ARB_imaging = GL_TRUE;
|
|
||||||
ctx->Extensions.ARB_map_buffer_range = GL_TRUE;
|
ctx->Extensions.ARB_map_buffer_range = GL_TRUE;
|
||||||
ctx->Extensions.ARB_multitexture = GL_TRUE;
|
ctx->Extensions.ARB_multitexture = GL_TRUE;
|
||||||
#if FEATURE_queryobj
|
#if FEATURE_queryobj
|
||||||
@@ -392,12 +390,11 @@ _mesa_enable_sw_extensions(GLcontext *ctx)
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Enable GL_ARB_imaging and all the EXT extensions that are subsets of it.
|
* Enable common EXT extensions in the ARB_imaging subset.
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
_mesa_enable_imaging_extensions(GLcontext *ctx)
|
_mesa_enable_imaging_extensions(GLcontext *ctx)
|
||||||
{
|
{
|
||||||
ctx->Extensions.ARB_imaging = GL_TRUE;
|
|
||||||
ctx->Extensions.EXT_blend_color = GL_TRUE;
|
ctx->Extensions.EXT_blend_color = GL_TRUE;
|
||||||
ctx->Extensions.EXT_blend_logic_op = GL_TRUE;
|
ctx->Extensions.EXT_blend_logic_op = GL_TRUE;
|
||||||
ctx->Extensions.EXT_blend_minmax = GL_TRUE;
|
ctx->Extensions.EXT_blend_minmax = GL_TRUE;
|
||||||
|
@@ -938,12 +938,12 @@ static const struct value_desc values[] = {
|
|||||||
CONTEXT_FLOAT(Pixel.PostConvolutionBias[3]),
|
CONTEXT_FLOAT(Pixel.PostConvolutionBias[3]),
|
||||||
extra_EXT_convolution },
|
extra_EXT_convolution },
|
||||||
|
|
||||||
/* GL_EXT_histogram / GL_ARB_imaging */
|
/* GL_EXT_histogram */
|
||||||
{ GL_HISTOGRAM, CONTEXT_BOOL(Pixel.HistogramEnabled),
|
{ GL_HISTOGRAM, CONTEXT_BOOL(Pixel.HistogramEnabled),
|
||||||
extra_EXT_histogram },
|
extra_EXT_histogram },
|
||||||
{ GL_MINMAX, CONTEXT_BOOL(Pixel.MinMaxEnabled), extra_EXT_histogram },
|
{ GL_MINMAX, CONTEXT_BOOL(Pixel.MinMaxEnabled), extra_EXT_histogram },
|
||||||
|
|
||||||
/* GL_SGI_color_table / GL_ARB_imaging */
|
/* GL_SGI_color_table */
|
||||||
{ GL_COLOR_TABLE_SGI,
|
{ GL_COLOR_TABLE_SGI,
|
||||||
CONTEXT_BOOL(Pixel.ColorTableEnabled[COLORTABLE_PRECONVOLUTION]),
|
CONTEXT_BOOL(Pixel.ColorTableEnabled[COLORTABLE_PRECONVOLUTION]),
|
||||||
extra_SGI_color_table },
|
extra_SGI_color_table },
|
||||||
|
@@ -629,7 +629,7 @@ _mesa_GetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvo
|
|||||||
GET_CURRENT_CONTEXT(ctx);
|
GET_CURRENT_CONTEXT(ctx);
|
||||||
ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
|
ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
|
||||||
|
|
||||||
if (!ctx->Extensions.EXT_histogram && !ctx->Extensions.ARB_imaging) {
|
if (!ctx->Extensions.EXT_histogram) {
|
||||||
_mesa_error(ctx, GL_INVALID_OPERATION, "glGetMinmax");
|
_mesa_error(ctx, GL_INVALID_OPERATION, "glGetMinmax");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -692,7 +692,7 @@ _mesa_GetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, G
|
|||||||
GET_CURRENT_CONTEXT(ctx);
|
GET_CURRENT_CONTEXT(ctx);
|
||||||
ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
|
ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
|
||||||
|
|
||||||
if (!ctx->Extensions.EXT_histogram && !ctx->Extensions.ARB_imaging) {
|
if (!ctx->Extensions.EXT_histogram) {
|
||||||
_mesa_error(ctx, GL_INVALID_OPERATION, "glGetHistogram");
|
_mesa_error(ctx, GL_INVALID_OPERATION, "glGetHistogram");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -752,7 +752,7 @@ _mesa_GetHistogramParameterfv(GLenum target, GLenum pname, GLfloat *params)
|
|||||||
GET_CURRENT_CONTEXT(ctx);
|
GET_CURRENT_CONTEXT(ctx);
|
||||||
ASSERT_OUTSIDE_BEGIN_END(ctx);
|
ASSERT_OUTSIDE_BEGIN_END(ctx);
|
||||||
|
|
||||||
if (!ctx->Extensions.EXT_histogram && !ctx->Extensions.ARB_imaging) {
|
if (!ctx->Extensions.EXT_histogram) {
|
||||||
_mesa_error(ctx, GL_INVALID_OPERATION, "glGetHistogramParameterfv");
|
_mesa_error(ctx, GL_INVALID_OPERATION, "glGetHistogramParameterfv");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -799,7 +799,7 @@ _mesa_GetHistogramParameteriv(GLenum target, GLenum pname, GLint *params)
|
|||||||
GET_CURRENT_CONTEXT(ctx);
|
GET_CURRENT_CONTEXT(ctx);
|
||||||
ASSERT_OUTSIDE_BEGIN_END(ctx);
|
ASSERT_OUTSIDE_BEGIN_END(ctx);
|
||||||
|
|
||||||
if (!ctx->Extensions.EXT_histogram && !ctx->Extensions.ARB_imaging) {
|
if (!ctx->Extensions.EXT_histogram) {
|
||||||
_mesa_error(ctx, GL_INVALID_OPERATION, "glGetHistogramParameteriv");
|
_mesa_error(ctx, GL_INVALID_OPERATION, "glGetHistogramParameteriv");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -846,7 +846,7 @@ _mesa_GetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat *params)
|
|||||||
GET_CURRENT_CONTEXT(ctx);
|
GET_CURRENT_CONTEXT(ctx);
|
||||||
ASSERT_OUTSIDE_BEGIN_END(ctx);
|
ASSERT_OUTSIDE_BEGIN_END(ctx);
|
||||||
|
|
||||||
if (!ctx->Extensions.EXT_histogram && !ctx->Extensions.ARB_imaging) {
|
if (!ctx->Extensions.EXT_histogram) {
|
||||||
_mesa_error(ctx, GL_INVALID_OPERATION, "glGetMinmaxParameterfv");
|
_mesa_error(ctx, GL_INVALID_OPERATION, "glGetMinmaxParameterfv");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -872,7 +872,7 @@ _mesa_GetMinmaxParameteriv(GLenum target, GLenum pname, GLint *params)
|
|||||||
GET_CURRENT_CONTEXT(ctx);
|
GET_CURRENT_CONTEXT(ctx);
|
||||||
ASSERT_OUTSIDE_BEGIN_END(ctx);
|
ASSERT_OUTSIDE_BEGIN_END(ctx);
|
||||||
|
|
||||||
if (!ctx->Extensions.EXT_histogram && !ctx->Extensions.ARB_imaging) {
|
if (!ctx->Extensions.EXT_histogram) {
|
||||||
_mesa_error(ctx, GL_INVALID_OPERATION, "glGetMinmaxParameteriv");
|
_mesa_error(ctx, GL_INVALID_OPERATION, "glGetMinmaxParameteriv");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -900,7 +900,7 @@ _mesa_Histogram(GLenum target, GLsizei width, GLenum internalFormat, GLboolean s
|
|||||||
GET_CURRENT_CONTEXT(ctx);
|
GET_CURRENT_CONTEXT(ctx);
|
||||||
ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); /* sideeffects */
|
ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); /* sideeffects */
|
||||||
|
|
||||||
if (!ctx->Extensions.EXT_histogram && !ctx->Extensions.ARB_imaging) {
|
if (!ctx->Extensions.EXT_histogram) {
|
||||||
_mesa_error(ctx, GL_INVALID_OPERATION, "glHistogram");
|
_mesa_error(ctx, GL_INVALID_OPERATION, "glHistogram");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -981,7 +981,7 @@ _mesa_Minmax(GLenum target, GLenum internalFormat, GLboolean sink)
|
|||||||
GET_CURRENT_CONTEXT(ctx);
|
GET_CURRENT_CONTEXT(ctx);
|
||||||
ASSERT_OUTSIDE_BEGIN_END(ctx);
|
ASSERT_OUTSIDE_BEGIN_END(ctx);
|
||||||
|
|
||||||
if (!ctx->Extensions.EXT_histogram && !ctx->Extensions.ARB_imaging) {
|
if (!ctx->Extensions.EXT_histogram) {
|
||||||
_mesa_error(ctx, GL_INVALID_OPERATION, "glMinmax");
|
_mesa_error(ctx, GL_INVALID_OPERATION, "glMinmax");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -1010,7 +1010,7 @@ _mesa_ResetHistogram(GLenum target)
|
|||||||
GET_CURRENT_CONTEXT(ctx);
|
GET_CURRENT_CONTEXT(ctx);
|
||||||
ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); /* sideeffects */
|
ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); /* sideeffects */
|
||||||
|
|
||||||
if (!ctx->Extensions.EXT_histogram && !ctx->Extensions.ARB_imaging) {
|
if (!ctx->Extensions.EXT_histogram) {
|
||||||
_mesa_error(ctx, GL_INVALID_OPERATION, "glResetHistogram");
|
_mesa_error(ctx, GL_INVALID_OPERATION, "glResetHistogram");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -1035,7 +1035,7 @@ _mesa_ResetMinmax(GLenum target)
|
|||||||
GET_CURRENT_CONTEXT(ctx);
|
GET_CURRENT_CONTEXT(ctx);
|
||||||
ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
|
ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
|
||||||
|
|
||||||
if (!ctx->Extensions.EXT_histogram && !ctx->Extensions.ARB_imaging) {
|
if (!ctx->Extensions.EXT_histogram) {
|
||||||
_mesa_error(ctx, GL_INVALID_OPERATION, "glResetMinmax");
|
_mesa_error(ctx, GL_INVALID_OPERATION, "glResetMinmax");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@@ -2658,7 +2658,6 @@ struct gl_extensions
|
|||||||
GLboolean ARB_geometry_shader4;
|
GLboolean ARB_geometry_shader4;
|
||||||
GLboolean ARB_half_float_pixel;
|
GLboolean ARB_half_float_pixel;
|
||||||
GLboolean ARB_half_float_vertex;
|
GLboolean ARB_half_float_vertex;
|
||||||
GLboolean ARB_imaging;
|
|
||||||
GLboolean ARB_instanced_arrays;
|
GLboolean ARB_instanced_arrays;
|
||||||
GLboolean ARB_map_buffer_range;
|
GLboolean ARB_map_buffer_range;
|
||||||
GLboolean ARB_multisample;
|
GLboolean ARB_multisample;
|
||||||
|
@@ -548,7 +548,6 @@ st_TexImage(GLcontext * ctx,
|
|||||||
/* The Mesa/Gallium state tracker does not implement the imaging extensions
|
/* The Mesa/Gallium state tracker does not implement the imaging extensions
|
||||||
* such as convolution.
|
* such as convolution.
|
||||||
*/
|
*/
|
||||||
assert(!ctx->Extensions.ARB_imaging);
|
|
||||||
assert(!ctx->Extensions.EXT_convolution);
|
assert(!ctx->Extensions.EXT_convolution);
|
||||||
|
|
||||||
/* switch to "normal" */
|
/* switch to "normal" */
|
||||||
|
Reference in New Issue
Block a user