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 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) 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 && return this->format_bits == that.format_bits &&
this->features == that.features && this->features == that.features &&
this->host_features == that.host_features; this->host_features == that.host_features &&
this->encoded_remap == that.encoded_remap;
} }
//private: //private:
u32 format_bits = 0; u32 format_bits = 0;
u32 features = 0; u32 features = 0;
u32 encoded_remap = 0;
u32 texel_remap_control = 0; u32 texel_remap_control = 0;
u32 host_features = 0; u32 host_features = 0;
}; };

View File

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