[Mesa-dev] [PATCH 00/10] anv: Implement VK_KHR_external_fence*
Jason Ekstrand
jason at jlekstrand.net
Tue Aug 8 22:45:25 UTC 2017
This little series adds support for the VK_KHR_external_fence family of
extensions. Most of the real work in implementing these extensions is
actually in the kernel. Once we have a DRM_SYNCOBJ_IOCTL_WAIT that does
what we need, the userspace bits are fairly straightforward. This series
can be found as a branch here:
https://cgit.freedesktop.org/~jekstrand/mesa/log/?h=wip/anv-external-fence
The required kernel bits can be found here:
https://cgit.freedesktop.org/~jekstrand/linux/log/?h=drm-syncobj-wait-submit-v1
Cc: Chad Versace <chadversary at chromium.org>
Cc: Chris Wilson <chris at chris-wilson.co.uk>
Jason Ekstrand (10):
anv: Rework fences to work more like BO semaphores
anv/wsi: Use QueueSubmit to trigger the fence in AcquireNextImage
anv: Pull the guts of anv_fence into anv_fence_impl
anv: Rename anv_fence_state to anv_bo_fence_state
vulkan/util: Add a vk_zalloc helper
drm-uapi/drm: Add DRM_IOCTL_SYNCOBJ_WAIT and RESET
anv/gem: Add support for syncobj wait and reset
anv: Use DRM sync objects to back fences whenever possible
anv: Implement VK_KHR_external_fence
anv: Add support for the SYNC_FD handle type for fences
include/drm-uapi/drm.h | 19 ++
src/intel/vulkan/anv_batch_chain.c | 59 ++++-
src/intel/vulkan/anv_device.c | 1 +
src/intel/vulkan/anv_extensions.py | 5 +
src/intel/vulkan/anv_gem.c | 56 ++++
src/intel/vulkan/anv_gem_stubs.c | 27 ++
src/intel/vulkan/anv_private.h | 67 ++++-
src/intel/vulkan/anv_queue.c | 513 +++++++++++++++++++++++++++++--------
src/intel/vulkan/anv_wsi.c | 9 +-
src/vulkan/util/vk_alloc.h | 14 +
10 files changed, 651 insertions(+), 119 deletions(-)
--
2.5.0.400.gff86faf
More information about the mesa-dev
mailing list