diff --git a/src/video_core/renderer_vulkan/vk_texture_cache.cpp b/src/video_core/renderer_vulkan/vk_texture_cache.cpp index 59bcdc8c2a..d62ca66e00 100644 --- a/src/video_core/renderer_vulkan/vk_texture_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_texture_cache.cpp @@ -2015,7 +2015,7 @@ void Image::UploadMemory(VkBuffer buffer, VkDeviceSize offset, }); const auto [samples_x, samples_y] = VideoCommon::SamplesLog2(info.num_samples); - std::vector image_copies; + boost::container::small_vector image_copies; image_copies.reserve(copies.size()); for (const auto& copy : copies) { VideoCommon::ImageCopy image_copy{}; @@ -2032,12 +2032,13 @@ void Image::UploadMemory(VkBuffer buffer, VkDeviceSize offset, if (msaa_upload_is_depth) { runtime->blit_image_helper.CopyMSAADepth(runtime->render_pass_cache, Handle(), info.format, temp_vk_image, info.format, - info.num_samples, image_copies, + info.num_samples, + {image_copies.data(), image_copies.size()}, msaa_upload_copies_stencil, false); } else { runtime->blit_image_helper.CopyMSAA(runtime->render_pass_cache, Handle(), info.format, temp_vk_image, info.format, info.num_samples, - image_copies, false); + {image_copies.data(), image_copies.size()}, false); } initialized = true; runtime->ReleaseMsaaScratchImage(temp_vk_image); @@ -2148,7 +2149,8 @@ void Image::DownloadMemory(std::span buffers_span, std::span o init_barrier); }); - std::vector image_copies; + boost::container::small_vector image_copies; + image_copies.reserve(copies.size()); for (const auto& copy : copies) { VideoCommon::ImageCopy image_copy; image_copy.src_offset = copy.image_offset; @@ -2162,11 +2164,14 @@ void Image::DownloadMemory(std::span buffers_span, std::span o if (msaa_download_is_depth) { runtime->blit_image_helper.CopyMSAADepth( runtime->render_pass_cache, temp_vk_image, info.format, Handle(), info.format, - info.num_samples, image_copies, msaa_download_copies_stencil, true); + info.num_samples, {image_copies.data(), image_copies.size()}, + msaa_download_copies_stencil, true); } else { runtime->blit_image_helper.CopyMSAA(runtime->render_pass_cache, temp_vk_image, info.format, Handle(), info.format, - info.num_samples, image_copies, true); + info.num_samples, + {image_copies.data(), image_copies.size()}, + true); } boost::container::small_vector buffers_vector{};