Am 21.01.20 um 21:17 schrieb Paul Gofman:
If I did not miss something important here, the unfortunate _SRGB8 GL format may only affect things for d3d9 if application is actually trying to use 16 bit format as SRGB
utils.c, check_fbo_compat() and the internalformat_query2 equivalents:
if (gl_info->supported[EXT_TEXTURE_SRGB_DECODE]) format->internal = format->srgb_internal;
That's because EXT_texture_sRGB_decode can only switch sRGB off for sRGB textures, it can't switch it on for RGB textures. So we create all as sRGB and switch it off until the app enables it.
We have a fallback codepath in case EXT_TEXTURE_SRGB_DECODE is not available. We'd have to enable this fallback codepath for 16 bit formats, otherwise all 16 bit RGB textures will have the 32 bit conversion penalty even for apps that don't use sRGB.