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.
This commit is contained in:
ameerj 2021-09-14 00:45:50 -04:00 committed by Fernando Sahmkow
parent 4919d2d00f
commit 355343d57c

View file

@ -101,7 +101,7 @@ ImageInfo::ImageInfo(const TICEntry& config) noexcept {
// FIXME: Call this without passing *this
layer_stride = CalculateLayerStride(*this);
maybe_unaligned_layer_stride = CalculateLayerSize(*this);
rescaleable &= (block.depth == 0) && resources.levels == 1;
rescaleable &= (block.depth == 0) && resources.levels == 1 && num_samples == 1;
}
}
@ -134,7 +134,7 @@ ImageInfo::ImageInfo(const Tegra::Engines::Maxwell3D::Regs& regs, size_t index)
type = ImageType::e3D;
size.depth = rt.depth;
} else {
rescaleable = block.depth == 0 && size.height > 256;
rescaleable = block.depth == 0 && size.height > 256 && num_samples == 1;
type = ImageType::e2D;
resources.layers = rt.depth;
}