[Mesa-dev] [PATCH 7/8] mesa: Remove support for GL_MESA_texture_array

Ian Romanick idr at freedesktop.org
Wed Nov 27 13:38:02 PST 2013


On 11/27/2013 12:55 PM, Ian Romanick wrote:
> On 11/26/2013 03:54 PM, Ian Romanick wrote:
>> From: Ian Romanick <ian.d.romanick at intel.com>
>>
>> This extension enabled the use of texture array with fixed-function and
>> assembly fragment shaders.  No applications are known to use this
>> extension.
>>
>> Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
> 
> I'm going to temporarily NAK this patch and the next one.  There appear
> to be some paths in meta (glCopyTexSubImage2D) that rely on using
> texture arrays with fixed-function. :(

NAK that NAK. :)  It turns out that the test case was just broken.  It
was trying to use array textures with fixed function, but it was only
testing for GL_EXT_texture_array... which doesn't add support for array
textures with fixed function.

I've submitted a patch to the piglit list to fix the copyteximage test
for GL_TEXTURE_1D_ARRAY and GL_TEXTURE_2D_ARRAY targets.

>> ---
>>  docs/relnotes/10.1.html                |  6 +++++-
>>  docs/specs/MESA_texture_array.spec     |  2 +-
>>  src/mesa/main/attrib.c                 | 17 ++---------------
>>  src/mesa/main/enable.c                 | 19 -------------------
>>  src/mesa/main/extensions.c             |  1 -
>>  src/mesa/program/program_parse_extra.c |  9 ---------
>>  6 files changed, 8 insertions(+), 46 deletions(-)
>>
>> diff --git a/docs/relnotes/10.1.html b/docs/relnotes/10.1.html
>> index 1b8ea22..dfb0969 100644
>> --- a/docs/relnotes/10.1.html
>> +++ b/docs/relnotes/10.1.html
>> @@ -54,7 +54,11 @@ TBD.
>>  
>>  <h2>Changes</h2>
>>  
>> -TBD.
>> +<ul>
>> +<li>Removed support for the GL_MESA_texture_array extension.  This extension
>> +  enabled the use of texture array with fixed-function and assembly fragment
>> +  shaders.  No applications are known to use this extension.</li>
>> +</ul>
>>  
>>  </div>
>>  </body>
>> diff --git a/docs/specs/MESA_texture_array.spec b/docs/specs/MESA_texture_array.spec
>> index b146821..3e3e82c 100644
>> --- a/docs/specs/MESA_texture_array.spec
>> +++ b/docs/specs/MESA_texture_array.spec
>> @@ -16,7 +16,7 @@ IP Status
>>  
>>  Status
>>  
>> -    Shipping in Mesa 7.1
>> +    DEPRECATED - Support removed in Mesa 10.1.
>>  
>>  Version
>>  
>> diff --git a/src/mesa/main/attrib.c b/src/mesa/main/attrib.c
>> index 718eb83..ca67fd4 100644
>> --- a/src/mesa/main/attrib.c
>> +++ b/src/mesa/main/attrib.c
>> @@ -641,12 +641,6 @@ pop_enable_group(struct gl_context *ctx, const struct gl_enable_attrib *enable)
>>              _mesa_set_enable(ctx, GL_TEXTURE_CUBE_MAP,
>>                               !!(enabled & TEXTURE_CUBE_BIT));
>>           }
>> -         if (ctx->Extensions.EXT_texture_array) {
>> -            _mesa_set_enable(ctx, GL_TEXTURE_1D_ARRAY_EXT,
>> -                             !!(enabled & TEXTURE_1D_ARRAY_BIT));
>> -            _mesa_set_enable(ctx, GL_TEXTURE_2D_ARRAY_EXT,
>> -                             !!(enabled & TEXTURE_2D_ARRAY_BIT));
>> -         }
>>        }
>>  
>>        if (ctx->Texture.Unit[i].TexGenEnabled != genEnabled) {
>> @@ -688,12 +682,6 @@ pop_texture_group(struct gl_context *ctx, struct texture_state *texstate)
>>           _mesa_set_enable(ctx, GL_TEXTURE_RECTANGLE_NV,
>>                            !!(unit->Enabled & TEXTURE_RECT_BIT));
>>        }
>> -      if (ctx->Extensions.EXT_texture_array) {
>> -         _mesa_set_enable(ctx, GL_TEXTURE_1D_ARRAY_EXT,
>> -                          !!(unit->Enabled & TEXTURE_1D_ARRAY_BIT));
>> -         _mesa_set_enable(ctx, GL_TEXTURE_2D_ARRAY_EXT,
>> -                          !!(unit->Enabled & TEXTURE_2D_ARRAY_BIT));
>> -      }
>>        _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);
>> @@ -766,9 +754,8 @@ pop_texture_group(struct gl_context *ctx, struct texture_state *texstate)
>>                    !ctx->Extensions.NV_texture_rectangle) {
>>              continue;
>>           }
>> -         else if ((obj->Target == GL_TEXTURE_1D_ARRAY_EXT ||
>> -                   obj->Target == GL_TEXTURE_2D_ARRAY_EXT) &&
>> -                  !ctx->Extensions.EXT_texture_array) {
>> +         else if (obj->Target == GL_TEXTURE_1D_ARRAY_EXT ||
>> +                  obj->Target == GL_TEXTURE_2D_ARRAY_EXT) {
>>              continue;
>>           }
>>           else if (obj->Target == GL_TEXTURE_CUBE_MAP_ARRAY &&
>> diff --git a/src/mesa/main/enable.c b/src/mesa/main/enable.c
>> index 869c8a2..bb4a23c 100644
>> --- a/src/mesa/main/enable.c
>> +++ b/src/mesa/main/enable.c
>> @@ -934,25 +934,6 @@ _mesa_set_enable(struct gl_context *ctx, GLenum cap, GLboolean state)
>>  	ctx->ATIFragmentShader.Enabled = state;
>>          break;
>>  
>> -      /* GL_MESA_texture_array */
>> -      case GL_TEXTURE_1D_ARRAY_EXT:
>> -         if (ctx->API != API_OPENGL_COMPAT)
>> -            goto invalid_enum_error;
>> -         CHECK_EXTENSION(EXT_texture_array, cap);
>> -         if (!enable_texture(ctx, state, TEXTURE_1D_ARRAY_BIT)) {
>> -            return;
>> -         }
>> -         break;
>> -
>> -      case GL_TEXTURE_2D_ARRAY_EXT:
>> -         if (ctx->API != API_OPENGL_COMPAT)
>> -            goto invalid_enum_error;
>> -         CHECK_EXTENSION(EXT_texture_array, cap);
>> -         if (!enable_texture(ctx, state, TEXTURE_2D_ARRAY_BIT)) {
>> -            return;
>> -         }
>> -         break;
>> -
>>        case GL_TEXTURE_CUBE_MAP_SEAMLESS:
>>           if (!_mesa_is_desktop_gl(ctx))
>>              goto invalid_enum_error;
>> diff --git a/src/mesa/main/extensions.c b/src/mesa/main/extensions.c
>> index 04d1828..77b5504 100644
>> --- a/src/mesa/main/extensions.c
>> +++ b/src/mesa/main/extensions.c
>> @@ -321,7 +321,6 @@ static const struct extension extension_table[] = {
>>     { "GL_IBM_texture_mirrored_repeat",             o(dummy_true),                              GLL,            1998 },
>>     { "GL_INGR_blend_func_separate",                o(EXT_blend_func_separate),                 GLL,            1999 },
>>     { "GL_MESA_pack_invert",                        o(MESA_pack_invert),                        GL,             2002 },
>> -   { "GL_MESA_texture_array",                      o(EXT_texture_array),                       GLL,            2007 },
>>     { "GL_MESA_texture_signed_rgba",                o(EXT_texture_snorm),                       GL,             2009 },
>>     { "GL_MESA_window_pos",                         o(dummy_true),                              GLL,            2000 },
>>     { "GL_MESA_ycbcr_texture",                      o(MESA_ycbcr_texture),                      GL,             2002 },
>> diff --git a/src/mesa/program/program_parse_extra.c b/src/mesa/program/program_parse_extra.c
>> index b0e0d8f..a9e3640 100644
>> --- a/src/mesa/program/program_parse_extra.c
>> +++ b/src/mesa/program/program_parse_extra.c
>> @@ -256,15 +256,6 @@ _mesa_ARBfp_parse_option(struct asm_parser_state *state, const char *option)
>>  	    return 1;
>>  	 }
>>        }
>> -   } else if (strncmp(option, "MESA_", 5) == 0) {
>> -      option += 5;
>> -
>> -      if (strcmp(option, "texture_array") == 0) {
>> -	 if (state->ctx->Extensions.EXT_texture_array) {
>> -	    state->option.TexArray = 1;
>> -	    return 1;
>> -	 }
>> -      }
>>     }
>>  
>>     return 0;
>>
> 
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
> 



More information about the mesa-dev mailing list