rsx: Disallow sRGB hardware format promotion unless no remap is required

This commit is contained in:
kd-11 2026-02-24 02:34:30 +03:00 committed by kd-11
parent 94cd6a6f9e
commit 99c9c16187
3 changed files with 6 additions and 2 deletions

View file

@ -854,7 +854,8 @@ namespace rsx
bool texture_format_ex::hw_SRGB_possible() const
{
return (texel_remap_control & GAMMA_CTRL_MASK) == GAMMA_RGB_MASK;
return encoded_remap == RSX_TEXTURE_REMAP_IDENTITY &&
(texel_remap_control & GAMMA_CTRL_MASK) == GAMMA_RGB_MASK;
}
std::vector<rsx::subresource_layout> get_subresources_layout(const rsx::fragment_texture& texture)

View file

@ -165,12 +165,14 @@ namespace rsx
{
return this->format_bits == that.format_bits &&
this->features == that.features &&
this->host_features == that.host_features;
this->host_features == that.host_features &&
this->encoded_remap == that.encoded_remap;
}
//private:
u32 format_bits = 0;
u32 features = 0;
u32 encoded_remap = 0;
u32 texel_remap_control = 0;
u32 host_features = 0;
};

View file

@ -121,6 +121,7 @@ namespace rsx
texture_format_ex result { format_bits };
result.features = format_features;
result.texel_remap_control = format_convert;
result.encoded_remap = remap();
return result;
}