[Mesa-dev] [PATCH v3 0/8] anv: Implement VK_KHR_external_semaphore

Jason Ekstrand jason at jlekstrand.net
Fri Aug 4 17:24:46 UTC 2017

This series is a quick re-spin of the v2 sent yesterday to address review
feedback from Chris.  In particular, we now set EXEC_ASYNC on the trivial
batch and I deleted the syncobj cache.  Somehow, when I was working on this
yesterday, I got it into my head that the kernel deduplicates syncobj
handles and that we needed a cache to handle them correctly.  This is not
true.  Every call to SYNCOBJ_FD_TO_HANDLE produces a new handle and the
kernel does the reference counting for us.

Cc: Chad Versace <chadversary at chromium.org>
Cc: Kristian H. Kristensen <hoegsberg at gmail.com>
Cc: Chris Wilson <chris at chris-wilson.co.uk>

Jason Ekstrand (8):
  anv: Add a basic implementation of VK_KHX_external_semaphore
  anv: Submit a dummy batch when only semaphores are provided.
  anv/gem: Use EXECBUFFER2_WR when the FENCE_OUT flag is set
  anv: Implement support for exporting semaphores as FENCE_FD
  intel/drm: Pull in the i916 fence array API
  anv/gem: Add a drm syncobj support
  anv: Use DRM sync objects for external semaphores when available
  anv: Advertise VK_KHR_external_semaphore

 include/drm-uapi/i915_drm.h        |  30 +++-
 src/intel/vulkan/anv_batch_chain.c | 175 +++++++++++++++++++++++-
 src/intel/vulkan/anv_device.c      |  32 +++++
 src/intel/vulkan/anv_extensions.py |   3 +
 src/intel/vulkan/anv_gem.c         |  93 ++++++++++++-
 src/intel/vulkan/anv_gem_stubs.c   |  24 ++++
 src/intel/vulkan/anv_private.h     |  39 +++++-
 src/intel/vulkan/anv_queue.c       | 271 ++++++++++++++++++++++++++++++++++++-
 8 files changed, 646 insertions(+), 21 deletions(-)


More information about the mesa-dev mailing list