diff options
| author | 2023-10-11 18:19:35 +1100 | |
|---|---|---|
| committer | 2023-10-11 19:12:33 +1100 | |
| commit | 9512992fe20b352ce265a358ed9bcfd17d9a74fd (patch) | |
| tree | 645addf884869abeaf1739a9659d8dad6300b833 | |
| parent | Reuse part of my previous idea to to use num_levels to check within AdjustMip... (diff) | |
| download | yuzu-9512992fe20b352ce265a358ed9bcfd17d9a74fd.tar.gz yuzu-9512992fe20b352ce265a358ed9bcfd17d9a74fd.tar.xz yuzu-9512992fe20b352ce265a358ed9bcfd17d9a74fd.zip | |
Fix mistaken usage of info.block instead of level_info.block
Fixed an error on my part, in the last change I had mistakenly passed unadjusted block info into FullUploadSwizzles and UnswizzleImage
Revert (my mistaken changing of) the construction of SwizzleParameters in UnswizzleImage and FullUploadSwizzles to use level_info.block instead of info.block. This ensures that the block information used in the swizzling process is correctly adjusted for each mip level.
| -rw-r--r-- | src/video_core/texture_cache/util.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/video_core/texture_cache/util.cpp b/src/video_core/texture_cache/util.cpp index 0f8ef4277..652097a3d 100644 --- a/src/video_core/texture_cache/util.cpp +++ b/src/video_core/texture_cache/util.cpp | |||
| @@ -885,7 +885,7 @@ boost::container::small_vector<BufferImageCopy, 16> UnswizzleImage(Tegra::Memory | |||
| 885 | }; | 885 | }; |
| 886 | const Extent3D num_tiles = AdjustTileSize(level_size, tile_size); | 886 | const Extent3D num_tiles = AdjustTileSize(level_size, tile_size); |
| 887 | const Extent3D block = | 887 | const Extent3D block = |
| 888 | AdjustMipBlockSize(num_tiles, info.block, level, level_info.num_levels); | 888 | AdjustMipBlockSize(num_tiles, level_info.block, level, level_info.num_levels); |
| 889 | const u32 stride_alignment = StrideAlignment(num_tiles, info.block, gob, bpp_log2); | 889 | const u32 stride_alignment = StrideAlignment(num_tiles, info.block, gob, bpp_log2); |
| 890 | size_t guest_layer_offset = 0; | 890 | size_t guest_layer_offset = 0; |
| 891 | 891 | ||
| @@ -1062,7 +1062,7 @@ boost::container::small_vector<SwizzleParameters, 16> FullUploadSwizzles(const I | |||
| 1062 | const Extent3D level_size = AdjustMipSize(size, level); | 1062 | const Extent3D level_size = AdjustMipSize(size, level); |
| 1063 | const Extent3D num_tiles = AdjustTileSize(level_size, tile_size); | 1063 | const Extent3D num_tiles = AdjustTileSize(level_size, tile_size); |
| 1064 | const Extent3D block = | 1064 | const Extent3D block = |
| 1065 | AdjustMipBlockSize(num_tiles, info.block, level, level_info.num_levels); | 1065 | AdjustMipBlockSize(num_tiles, level_info.block, level, level_info.num_levels); |
| 1066 | params[level] = SwizzleParameters{ | 1066 | params[level] = SwizzleParameters{ |
| 1067 | .num_tiles = num_tiles, | 1067 | .num_tiles = num_tiles, |
| 1068 | .block = block, | 1068 | .block = block, |