Forums - VK_EXT_external_memory_host support in the Adreno Vulkan driver

1 post / 0 new
VK_EXT_external_memory_host support in the Adreno Vulkan driver
BillyLaws
Join Date: 17 Feb 20
Posts: 1
Posted: Thu, 2020-12-10 09:46
Hi,

We are developers of an unreleased virtual machine app for Android, that allows translating foreign GPU architectures into Vulkan, a very large point of contention and slowdown in the app is copying data from buffers mapped by the guest GPU into host Vulkan buffers, as we don't control the code being ran inside the VM we are unable to have it write to existing Vulkan buffers forcing us to use an intermediary buffer together with a complex combination of signal handlers in order to synchronise the buffers when they are written by the VM guest; at the moment there is no way to avoid these expensive operations on Adreno GPUs.

However, the VK_EXT_external_memory_host, which is already supported on many GPU platforms would make this a non-issue, with it we can directly import pointers from the guest into a host VkBuffer to allow rapid data sharing with very low overhead. We have done some research into the viability of this on Adreno platforms and it seems to be possible to implement without needing significant modifications, KGSL provides a simple function - IOCTL_KGSL_MAP_USER_MEM - which allows mapping a user supplied address to a GPU buffer. The extension can simply call out to this IOCTL for support.

I hope you can consider this request, it would really help us in developing a viable application across a wide range of Qualcomm devices and potentially serve as a testament to the power of Adreno GPUs.
  • Up0
  • Down0

Opinions expressed in the content posted here are the personal opinions of the original authors, and do not necessarily reflect those of Qualcomm Incorporated or its subsidiaries (“Qualcomm”). The content is provided for informational purposes only and is not meant to be an endorsement or representation by Qualcomm or any other party. This site may also provide links or references to non-Qualcomm sites and resources. Qualcomm makes no representations, warranties, or other commitments whatsoever about any non-Qualcomm sites or third-party resources that may be referenced, accessible from, or linked to this site.