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

2013-11-27 Thread Ian Romanick
On 11/27/2013 12:55 PM, Ian Romanick wrote:
> On 11/26/2013 03:54 PM, Ian Romanick wrote:
>> From: Ian Romanick 
>>
>> 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 
> 
> 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.
>>  
>>  Changes
>>  
>> -TBD.
>> +
>> +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.
>> +
>>  
>>  
>>  
>> 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)) {
>>

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

2013-11-27 Thread Ian Romanick
On 11/26/2013 03:54 PM, Ian Romanick wrote:
> From: Ian Romanick 
> 
> 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 

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. :(

> ---
>  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.
>  
>  Changes
>  
> -TBD.
> +
> +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.
> +
>  
>  
>  
> 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/extensio

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

2013-11-26 Thread Ian Romanick
From: Ian Romanick 

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 
---
 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.
 
 Changes
 
-TBD.
+
+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.
+
 
 
 
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_inver