improve screenshot performance, fix #87

make sure that we use host_cached memory, otherwise device_local will be picked by default, which is very slow to read from.
This commit is contained in:
Ivan 'provod' Avdeev 2021-09-22 08:45:10 -07:00 committed by Ivan Avdeev
parent fe52ff3d1a
commit 6b1eb26c24
1 changed files with 2 additions and 2 deletions

View File

@ -536,7 +536,7 @@ static rgbdata_t *XVK_ReadPixels( void ) {
{
VkMemoryRequirements memreq;
vkGetImageMemoryRequirements(vk_core.device, dest_image, &memreq);
dest_devmem = allocateDeviceMemory(memreq, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT, 0);
dest_devmem = allocateDeviceMemory(memreq, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_CACHED_BIT, 0);
XVK_CHECK(vkBindImageMemory(vk_core.device, dest_image, dest_devmem.device_memory, dest_devmem.offset));
}
@ -661,7 +661,7 @@ static rgbdata_t *XVK_ReadPixels( void ) {
}
// wait for queue
XVK_CHECK(vkQueueWaitIdle(vk_core.queue));
XVK_CHECK(vkQueueWaitIdle(vk_core.queue));
// copy bytes to buffer
{