texture_cache: 32bpp and 64bpp macro detilers (#1852)

* added 32bpp macro detiler

* added 64bpp macro detiler

* consider 3d depth alignment in size calculations
This commit is contained in:
psucien 2024-12-22 19:43:44 +01:00 committed by GitHub
parent 7fe4df85ab
commit 8abc43a03d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
12 changed files with 235 additions and 172 deletions

View file

@ -126,6 +126,7 @@ enum class TilingMode : u32 {
Display_MacroTiled = 0xAu,
Texture_MicroTiled = 0xDu,
Texture_MacroTiled = 0xEu,
Texture_Volume = 0x13u,
};
constexpr std::string_view NameOf(TilingMode type) {
@ -140,6 +141,8 @@ constexpr std::string_view NameOf(TilingMode type) {
return "Texture_MicroTiled";
case TilingMode::Texture_MacroTiled:
return "Texture_MacroTiled";
case TilingMode::Texture_Volume:
return "Texture_Volume";
default:
return "Unknown";
}
@ -294,9 +297,6 @@ struct Image {
return tiling_index == 5 ? TilingMode::Texture_MicroTiled
: TilingMode::Depth_MacroTiled;
}
if (tiling_index == 0x13) {
return TilingMode::Texture_MicroTiled;
}
return static_cast<TilingMode>(tiling_index);
}