Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conditionally utilize VK_EXT_external_memory_host to optimize bandwidth #4

Open
Wunkolo opened this issue Mar 9, 2023 · 1 comment
Assignees
Labels
enhancement New feature or request

Comments

@Wunkolo
Copy link
Owner

Wunkolo commented Mar 9, 2023

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 KhronosGroup/MoltenVK#794.

@Wunkolo Wunkolo self-assigned this Mar 9, 2023
@Wunkolo Wunkolo added the enhancement New feature or request label Mar 9, 2023
@Wunkolo Wunkolo changed the title Conditionally utilize VK_EXT_external_memory_host to optimize bandwidth. Conditionally utilize VK_EXT_external_memory_host to optimize bandwidth Mar 9, 2023
@Wunkolo
Copy link
Owner Author

Wunkolo commented Mar 20, 2023

MacOS dependency on KhronosGroup/MoltenVK#794 and KhronosGroup/MoltenVK#1854

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant