[Mesa-dev] [PATCH] mesa: Allow MESA_FORMAT_LAYOUT_S3TC in non-desktop mesa
Tapani Pälli
tapani.palli at intel.com
Wed May 17 09:05:08 UTC 2017
On 05/17/2017 11:49 AM, Gao, Chun wrote:
> Thanks for your comments. Are we working on GL_EXT_sRGB, or is there any plan for that?
There has been work done to enable it:
https://patchwork.freedesktop.org/patch/148975/
I believe Harish has been fixing some of the faults, work is still ongoing.
> -----Original Message-----
> From: Palli, Tapani
> Sent: Wednesday, May 17, 2017 4:35 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
>
>
>
> 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