diff --git a/src/video_core/renderer_vulkan/vk_compute_pass.cpp b/src/video_core/renderer_vulkan/vk_compute_pass.cpp index 2e65161868..985b77a70c 100644 --- a/src/video_core/renderer_vulkan/vk_compute_pass.cpp +++ b/src/video_core/renderer_vulkan/vk_compute_pass.cpp @@ -959,7 +959,7 @@ bool BlockLinearUnswizzle2DPass::IsSupported(const VideoCommon::ImageInfo& info) if (info.type != VideoCommon::ImageType::e2D) { return false; } - if (info.resources.levels != 1 || info.resources.layers != 1) { + if (info.resources.levels != 1) { return false; } if (info.num_samples > 1) { diff --git a/src/video_core/texture_cache/texture_cache.h b/src/video_core/texture_cache/texture_cache.h index dc3e8dfe2d..68da600094 100644 --- a/src/video_core/texture_cache/texture_cache.h +++ b/src/video_core/texture_cache/texture_cache.h @@ -1241,6 +1241,8 @@ void TextureCache

::UploadImageContents(Image& image, StagingBuffer& staging) return; } + gpu_memory->FlushRegion(gpu_addr, image.guest_size_bytes, + VideoCommon::CacheType::NoTextureCache); Tegra::Memory::GpuGuestMemory swizzle_data( *gpu_memory, gpu_addr, image.guest_size_bytes, &swizzle_data_buffer); if (True(image.flags & ImageFlagBits::Converted)) {