early-access version 3667

This commit is contained in:
pineappleEA
2023-06-13 06:23:21 +02:00
parent 429a1a7fb1
commit abe9c2ff0d
37 changed files with 5340 additions and 251 deletions

View File

@@ -22,9 +22,6 @@ using Tegra::Texture::TICEntry;
using VideoCore::Surface::PixelFormat;
using VideoCore::Surface::SurfaceType;
constexpr u32 RescaleHeightThreshold = 288;
constexpr u32 DownscaleHeightThreshold = 512;
ImageInfo::ImageInfo(const TICEntry& config) noexcept {
forced_flushed = config.IsPitchLinear() && !Settings::values.use_reactive_flushing.GetValue();
dma_downloaded = forced_flushed;
@@ -116,9 +113,8 @@ ImageInfo::ImageInfo(const TICEntry& config) noexcept {
layer_stride = CalculateLayerStride(*this);
maybe_unaligned_layer_stride = CalculateLayerSize(*this);
rescaleable &= (block.depth == 0) && resources.levels == 1;
rescaleable &= size.height > RescaleHeightThreshold ||
GetFormatType(format) != SurfaceType::ColorTexture;
downscaleable = size.height > DownscaleHeightThreshold;
rescaleable &= size.height > 256 || GetFormatType(format) != SurfaceType::ColorTexture;
downscaleable = size.height > 512;
}
}
@@ -156,8 +152,8 @@ ImageInfo::ImageInfo(const Maxwell3D::Regs::RenderTargetConfig& ct,
size.depth = ct.depth;
} else {
rescaleable = block.depth == 0;
rescaleable &= size.height > RescaleHeightThreshold;
downscaleable = size.height > DownscaleHeightThreshold;
rescaleable &= size.height > 256;
downscaleable = size.height > 512;
type = ImageType::e2D;
resources.layers = ct.depth;
}
@@ -236,8 +232,8 @@ ImageInfo::ImageInfo(const Fermi2D::Surface& config) noexcept {
.height = config.height,
.depth = 1,
};
rescaleable = block.depth == 0 && size.height > RescaleHeightThreshold;
downscaleable = size.height > DownscaleHeightThreshold;
rescaleable = block.depth == 0 && size.height > 256;
downscaleable = size.height > 512;
}
}
@@ -279,8 +275,8 @@ ImageInfo::ImageInfo(const Tegra::DMA::ImageOperand& config) noexcept {
resources.layers = 1;
layer_stride = CalculateLayerStride(*this);
maybe_unaligned_layer_stride = CalculateLayerSize(*this);
rescaleable = block.depth == 0 && size.height > RescaleHeightThreshold;
downscaleable = size.height > DownscaleHeightThreshold;
rescaleable = block.depth == 0 && size.height > 256;
downscaleable = size.height > 512;
}
} // namespace VideoCommon