wined3d: Do not create larger staging buffers than necessary in adapter_vk_copy_bo_ad...
commit35be2e76a66aa64c27f39880b3409c5d11248535
authorZebediah Figura <zfigura@codeweavers.com>
Thu, 1 Sep 2022 16:15:06 +0000 (1 11:15 -0500)
committerAlexandre Julliard <julliard@winehq.org>
Tue, 13 Sep 2022 14:22:21 +0000 (13 16:22 +0200)
treebcc0614d5b4db09d6229bcbe8a64e5a9a4c95b7f
parentde95ee6c662e99c7d37737609aa5874c6016aadc
wined3d: Do not create larger staging buffers than necessary in adapter_vk_copy_bo_address().

This greatly increases performance in "Discovery Tour by Assassin's Creed:
Ancient Egypt".

The application frequently performs small (< 1 kiB) uploads to a large (128 MiB)
buffer. Without this patch, we will always create and destroy a new Vulkan
memory allocation, and the Vulkan driver will waste time zeroing the entire
allocation.
dlls/wined3d/adapter_vk.c