diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c index 56d13f67d56a19f37d8b9424629294017aad7598..0f3c4702f5908f42a45e44734d4985c8eac4e9bf 100644 --- a/dlls/wined3d/texture.c +++ b/dlls/wined3d/texture.c @@ -658,6 +658,7 @@ static HRESULT texture2d_bind(struct wined3d_texture *texture, static BOOL texture_srgb_mode(const struct wined3d_texture *texture, enum WINED3DSRGB srgb) { + const struct wined3d_gl_info *gl_info = &texture->resource.device->adapter->gl_info; switch (srgb) { case SRGB_RGB: @@ -667,7 +668,8 @@ static BOOL texture_srgb_mode(const struct wined3d_texture *texture, enum WINED3 return TRUE; default: - return texture->flags & WINED3D_TEXTURE_IS_SRGB; + return !gl_info->supported[EXT_TEXTURE_SRGB_DECODE] + && texture->flags & WINED3D_TEXTURE_IS_SRGB; } }