summaryrefslogtreecommitdiff
path: root/src
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 /src
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.
Diffstat (limited to 'src')
-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 }