From 93295f7f50e2222f8bd1a364c2b8b0d4154cb574 Mon Sep 17 00:00:00 2001 From: kd-11 Date: Wed, 4 Mar 2020 21:59:51 +0300 Subject: [PATCH] vk: Fix image properties for flip temporary images to be samplable. - In case of gamma correction or other effects, they may require shader access. - BGRA8_UNORM is usually safe to use directly without staging memory. --- rpcs3/Emu/RSX/VK/VKOverlays.h | 2 ++ rpcs3/Emu/RSX/VK/VKTextureCache.h | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/rpcs3/Emu/RSX/VK/VKOverlays.h b/rpcs3/Emu/RSX/VK/VKOverlays.h index 8e6a592c92..5fa0dbc0c0 100644 --- a/rpcs3/Emu/RSX/VK/VKOverlays.h +++ b/rpcs3/Emu/RSX/VK/VKOverlays.h @@ -1153,6 +1153,8 @@ namespace vk for (auto& img : src) { + // Only raw uploads can possibly have mismatched layout here + img->change_layout(cmd, VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL); views.push_back(img->get_view(VK_REMAP_IDENTITY, rsx::default_remap_vector)); } diff --git a/rpcs3/Emu/RSX/VK/VKTextureCache.h b/rpcs3/Emu/RSX/VK/VKTextureCache.h index 6fa82a95e1..8d44c98c0c 100644 --- a/rpcs3/Emu/RSX/VK/VKTextureCache.h +++ b/rpcs3/Emu/RSX/VK/VKTextureCache.h @@ -1480,7 +1480,7 @@ namespace vk VK_IMAGE_TYPE_2D, VK_FORMAT_B8G8R8A8_UNORM, width, height, 1, 1, 1, VK_SAMPLE_COUNT_1_BIT, VK_IMAGE_LAYOUT_PREINITIALIZED, - VK_IMAGE_TILING_LINEAR, VK_IMAGE_USAGE_TRANSFER_SRC_BIT, 0); + VK_IMAGE_TILING_LINEAR, VK_IMAGE_USAGE_TRANSFER_SRC_BIT | VK_IMAGE_USAGE_SAMPLED_BIT, 0); VkImageSubresource subresource{}; subresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT;