[Mesa-dev] [PATCH] mesa: Allow MESA_FORMAT_LAYOUT_S3TC in non-desktop mesa

Gao, Chun chun.gao at intel.com
Wed May 17 08:09:06 UTC 2017


I know EXT_texture_sRGB  is desktop OpenGL extension. 
On Android-IA and ChromeOS ARC++, the game https://play.google.com/store/apps/details?id=com.eline.neveralonemobile could not display some texture correctly. I found the following formats which the game uses were blocked in _mesa_is_compressed_format():
GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT
GL_COMPRESSED_SRGB_S3TC_DXT1_EXT
GL_COMPRESSED_RGBA_S3TC_DXT5_EXT
GL_COMPRESSED_RGB_S3TC_DXT1_EXT

After removing _mesa_is_desktop_gl(ctx), the issue get fixed. I don't know why the android game uses desktop OpenGL formats GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT and GL_COMPRESSED_SRGB_S3TC_DXT1_EXT.  To make it work, I removed the desktop check.


-----Original Message-----
From: Palli, Tapani 
Sent: Wednesday, May 17, 2017 3:36 PM
To: Gao, Chun <chun.gao at intel.com>; mesa-dev at lists.freedesktop.org
Subject: Re: [Mesa-dev] [PATCH] mesa: Allow MESA_FORMAT_LAYOUT_S3TC in non-desktop mesa

IMO this is not correct. Are you having problems with some application?

For Android games Mesa should already return true for the previous check
(ANGLE_texture_compression_dxt) and things should work OK. The check you are touching is desktop specific because EXT_texture_sRGB is available only on desktop GL (closest gles equivalent being GL_EXT_sRGB which we don't support).


On 05/17/2017 10:22 AM, Gao Chun wrote:
> As s3tc formats are used in many Android games, desktop mesa check 
> should be removed for MESA_FORMAT_LAYOUT_S3TC.
> ---
>   src/mesa/main/glformats.c | 3 +--
>   1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/src/mesa/main/glformats.c b/src/mesa/main/glformats.c 
> index 4f240206ff45..e4f283c4dfa8 100644
> --- a/src/mesa/main/glformats.c
> +++ b/src/mesa/main/glformats.c
> @@ -1376,8 +1376,7 @@ _mesa_is_compressed_format(const struct gl_context *ctx, GLenum format)
>             */
>            return ctx->Extensions.ANGLE_texture_compression_dxt;
>         } else {
> -         return _mesa_is_desktop_gl(ctx)
> -            && ctx->Extensions.EXT_texture_sRGB
> +         return ctx->Extensions.EXT_texture_sRGB
>               && ctx->Extensions.EXT_texture_compression_s3tc;
>         }
>      case MESA_FORMAT_LAYOUT_FXT1:
> 


More information about the mesa-dev mailing list