summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_vulkan
diff options
context:
space:
mode:
authorFernando Sahmkow <fsahmkow27@gmail.com>2021-09-20 22:18:15 +0200
committerFernando Sahmkow <fsahmkow27@gmail.com>2021-11-16 22:11:30 +0100
commitea82bd4b7e4c4f23a40f8a35858d8b74950fc347 (patch)
treed1ff5b2aae66e1f95d36bc9393086a5eb10015f1 /src/video_core/renderer_vulkan
parentTextureCache: Base fixes on rescaling. (diff)
downloadyuzu-ea82bd4b7e4c4f23a40f8a35858d8b74950fc347.tar
yuzu-ea82bd4b7e4c4f23a40f8a35858d8b74950fc347.tar.gz
yuzu-ea82bd4b7e4c4f23a40f8a35858d8b74950fc347.tar.bz2
yuzu-ea82bd4b7e4c4f23a40f8a35858d8b74950fc347.tar.lz
yuzu-ea82bd4b7e4c4f23a40f8a35858d8b74950fc347.tar.xz
yuzu-ea82bd4b7e4c4f23a40f8a35858d8b74950fc347.tar.zst
yuzu-ea82bd4b7e4c4f23a40f8a35858d8b74950fc347.zip
Diffstat (limited to 'src/video_core/renderer_vulkan')
-rw-r--r--src/video_core/renderer_vulkan/vk_texture_cache.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/video_core/renderer_vulkan/vk_texture_cache.cpp b/src/video_core/renderer_vulkan/vk_texture_cache.cpp
index 5b4f51a31..4f0bab274 100644
--- a/src/video_core/renderer_vulkan/vk_texture_cache.cpp
+++ b/src/video_core/renderer_vulkan/vk_texture_cache.cpp
@@ -860,9 +860,10 @@ void TextureCacheRuntime::BlitImage(Framebuffer* dst_framebuffer, ImageView& dst
cmdbuf.PipelineBarrier(VK_PIPELINE_STAGE_ALL_COMMANDS_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT,
0, nullptr, nullptr, read_barriers);
if (is_resolve) {
+ VkImageResolve resolve_info =
+ MakeImageResolve(dst_region, src_region, dst_layers, src_layers);
cmdbuf.ResolveImage(src_image, VK_IMAGE_LAYOUT_GENERAL, dst_image,
- VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL,
- MakeImageResolve(dst_region, src_region, dst_layers, src_layers));
+ VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, resolve_info);
} else {
const bool is_linear = filter == Fermi2D::Filter::Bilinear;
const VkFilter vk_filter = is_linear ? VK_FILTER_LINEAR : VK_FILTER_NEAREST;
@@ -1149,6 +1150,9 @@ bool Image::ScaleUp() {
if (aspect_mask == 0) {
aspect_mask = ImageAspectMask(info.format);
}
+ if (info.num_samples > 1) {
+ return true;
+ }
const PixelFormat format = StorageFormat(info.format);
const auto format_info = MaxwellToVK::SurfaceFormat(device, FormatType::Optimal, false, format);
const auto similar = device.GetSupportedFormat(