Vulkanator icon indicating copy to clipboard operation
Vulkanator copied to clipboard

Conditionally utilize `VK_EXT_external_memory_host` to optimize bandwidth

Open Wunkolo opened this issue 2 years ago • 1 comments

This is something I've already done before in my other personal plugins, where rather than copying data into a staging ring-buffer to upload/download onto the GPU, VK_EXT_external_memory_host allows arbitrary pointers to be imported directly. This would remove an entire copy from the upload/download path by allowing vulkan to directly write into host-memory.

image

This would also have to introduce the concept of "trivially importable memory", where minImportedHostPointerAlignment is the same as the operating system's page-size (4096 bytes) allowing practically any pointer to be imported.

MoltenVK support is tracked over at https://github.com/KhronosGroup/MoltenVK/issues/794.

Wunkolo avatar Mar 09 '23 17:03 Wunkolo

MacOS dependency on https://github.com/KhronosGroup/MoltenVK/issues/794 and https://github.com/KhronosGroup/MoltenVK/pull/1854

Wunkolo avatar Mar 20 '23 03:03 Wunkolo