summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar ameerj2021-09-14 00:45:50 -0400
committerGravatar Fernando Sahmkow2021-11-16 22:11:30 +0100
commit6000fe69a4b2805a48ce045d9a383fda27d5e57b (patch)
tree9709b9a66749cb446f6092a9ae9c71deed7ad9e3
parentbootmanager: Fix screenshot resolution factor usage (diff)
downloadyuzu-6000fe69a4b2805a48ce045d9a383fda27d5e57b.tar.gz
yuzu-6000fe69a4b2805a48ce045d9a383fda27d5e57b.tar.xz
yuzu-6000fe69a4b2805a48ce045d9a383fda27d5e57b.zip
image_info: Mark MSAA textures as non-rescalable
Blitting or resolving multisampled images requires the dimensions of the src and dst to be equal for valid usage, making them difficult for resolution scaling using the current implementation.
-rw-r--r--src/video_core/texture_cache/image_info.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/video_core/texture_cache/image_info.cpp b/src/video_core/texture_cache/image_info.cpp
index 7fa8fd4fe..bdf306bf9 100644
--- a/src/video_core/texture_cache/image_info.cpp
+++ b/src/video_core/texture_cache/image_info.cpp
@@ -101,7 +101,7 @@ ImageInfo::ImageInfo(const TICEntry& config) noexcept {
101 // FIXME: Call this without passing *this 101 // FIXME: Call this without passing *this
102 layer_stride = CalculateLayerStride(*this); 102 layer_stride = CalculateLayerStride(*this);
103 maybe_unaligned_layer_stride = CalculateLayerSize(*this); 103 maybe_unaligned_layer_stride = CalculateLayerSize(*this);
104 rescaleable &= (block.depth == 0) && resources.levels == 1; 104 rescaleable &= (block.depth == 0) && resources.levels == 1 && num_samples == 1;
105 } 105 }
106} 106}
107 107
@@ -134,7 +134,7 @@ ImageInfo::ImageInfo(const Tegra::Engines::Maxwell3D::Regs& regs, size_t index)
134 type = ImageType::e3D; 134 type = ImageType::e3D;
135 size.depth = rt.depth; 135 size.depth = rt.depth;
136 } else { 136 } else {
137 rescaleable = block.depth == 0 && size.height > 256; 137 rescaleable = block.depth == 0 && size.height > 256 && num_samples == 1;
138 type = ImageType::e2D; 138 type = ImageType::e2D;
139 resources.layers = rt.depth; 139 resources.layers = rt.depth;
140 } 140 }