[Mesa-dev] [Mesa-stable] [RFC 01/21] mesa/texcompress: Restrict FXT1 format to desktop GL subset

Ian Romanick idr at freedesktop.org
Tue Oct 20 06:21:50 PDT 2015


On 10/19/2015 05:36 PM, Nanley Chery wrote:
> From: Nanley Chery <nanley.g.chery at intel.com>
> 
> In agreement with the extension spec and commit
> dd0eb004874645135b9aaac3ebbd0aaf274079ea, filter FXT1 formats to the
> desktop GL profiles. Now we no longer advertise such formats as supported
> in an ES context and then throw an INVALID_ENUM error when the client
> tries to use such formats with CompressedTexImage2D.
> 
> Fixes the following 26 dEQP tests:
> * dEQP-GLES2.functional.negative_api.texture.compressedteximage2d_invalid_border
> * dEQP-GLES2.functional.negative_api.texture.compressedteximage2d_invalid_border_cube_neg_x
> * dEQP-GLES2.functional.negative_api.texture.compressedteximage2d_invalid_border_cube_neg_y
> * dEQP-GLES2.functional.negative_api.texture.compressedteximage2d_invalid_border_cube_neg_z
> * dEQP-GLES2.functional.negative_api.texture.compressedteximage2d_invalid_border_cube_pos_x
> * dEQP-GLES2.functional.negative_api.texture.compressedteximage2d_invalid_border_cube_pos_y
> * dEQP-GLES2.functional.negative_api.texture.compressedteximage2d_invalid_border_cube_pos_z
> * dEQP-GLES2.functional.negative_api.texture.compressedteximage2d_invalid_size
> * dEQP-GLES2.functional.negative_api.texture.compressedteximage2d_level_max_cube_pos
> * dEQP-GLES2.functional.negative_api.texture.compressedteximage2d_level_max_tex2d
> * dEQP-GLES2.functional.negative_api.texture.compressedteximage2d_neg_level_cube
> * dEQP-GLES2.functional.negative_api.texture.compressedteximage2d_neg_level_tex2d
> * dEQP-GLES2.functional.negative_api.texture.compressedteximage2d_neg_width_height_cube_neg_x
> * dEQP-GLES2.functional.negative_api.texture.compressedteximage2d_neg_width_height_cube_neg_y
> * dEQP-GLES2.functional.negative_api.texture.compressedteximage2d_neg_width_height_cube_neg_z
> * dEQP-GLES2.functional.negative_api.texture.compressedteximage2d_neg_width_height_cube_pos_x
> * dEQP-GLES2.functional.negative_api.texture.compressedteximage2d_neg_width_height_cube_pos_y
> * dEQP-GLES2.functional.negative_api.texture.compressedteximage2d_neg_width_height_cube_pos_z
> * dEQP-GLES2.functional.negative_api.texture.compressedteximage2d_neg_width_height_tex2d
> * dEQP-GLES2.functional.negative_api.texture.compressedteximage2d_width_height_max_cube_neg_x
> * dEQP-GLES2.functional.negative_api.texture.compressedteximage2d_width_height_max_cube_neg_y
> * dEQP-GLES2.functional.negative_api.texture.compressedteximage2d_width_height_max_cube_neg_z
> * dEQP-GLES2.functional.negative_api.texture.compressedteximage2d_width_height_max_cube_pos_x
> * dEQP-GLES2.functional.negative_api.texture.compressedteximage2d_width_height_max_cube_pos_y
> * dEQP-GLES2.functional.negative_api.texture.compressedteximage2d_width_height_max_cube_pos_z
> * dEQP-GLES2.functional.negative_api.texture.compressedteximage2d_width_height_max_tex2d
> 
> Cc: Ian Romanick <ian.d.romanick at intel.com>
> Cc: Mark Janes <mark.a.janes at intel.com>
> Cc: "11.0" <mesa-stable at lists.freedesktop.org>
> Signed-off-by: Nanley Chery <nanley.g.chery at intel.com>
> ---
>  src/mesa/main/texcompress.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/src/mesa/main/texcompress.c b/src/mesa/main/texcompress.c
> index feaf061..1615f4f 100644
> --- a/src/mesa/main/texcompress.c
> +++ b/src/mesa/main/texcompress.c
> @@ -286,7 +286,9 @@ GLuint
>  _mesa_get_compressed_formats(struct gl_context *ctx, GLint *formats)
>  {
>     GLuint n = 0;
> -   if (ctx->Extensions.TDFX_texture_compression_FXT1) {
> +   if (ctx->Extensions.TDFX_texture_compression_FXT1 &&
> +      (ctx->API == API_OPENGL_CORE ||
> +      (ctx->API == API_OPENGL_COMPAT && ctx->Version > 10))) {

Eh... the lowest possible desktop OpenGL version is 1.2, so the version
check is unnecessary.  You should just use _mesa_is_desktop_gl.

>        if (formats) {
>           formats[n++] = GL_COMPRESSED_RGB_FXT1_3DFX;
>           formats[n++] = GL_COMPRESSED_RGBA_FXT1_3DFX;
> 



More information about the mesa-dev mailing list