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:
parent
80f8d4989e
commit
6000fe69a4
|
@ -101,7 +101,7 @@ ImageInfo::ImageInfo(const TICEntry& config) noexcept {
|
||||||
// FIXME: Call this without passing *this
|
// FIXME: Call this without passing *this
|
||||||
layer_stride = CalculateLayerStride(*this);
|
layer_stride = CalculateLayerStride(*this);
|
||||||
maybe_unaligned_layer_stride = CalculateLayerSize(*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;
|
type = ImageType::e3D;
|
||||||
size.depth = rt.depth;
|
size.depth = rt.depth;
|
||||||
} else {
|
} else {
|
||||||
rescaleable = block.depth == 0 && size.height > 256;
|
rescaleable = block.depth == 0 && size.height > 256 && num_samples == 1;
|
||||||
type = ImageType::e2D;
|
type = ImageType::e2D;
|
||||||
resources.layers = rt.depth;
|
resources.layers = rt.depth;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue