[Mesa-dev] [PATCH] mesa: Allow MESA_FORMAT_LAYOUT_S3TC in non-desktop mesa
Tapani Pälli
tapani.palli at intel.com
Wed May 17 08:34:48 UTC 2017
On 05/17/2017 11:09 AM, Gao, Chun wrote:
> 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.
OK, this is useful information and means that the game has a bug.
If I understand requirements correctly here if/when GL_EXT_sRGB
extension support is added, then this game should start to work OK.
>
> -----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