[Mesa-dev] [PATCH v2 0/9] anv: Implement VK_KHR_external_semaphore

Jason Ekstrand jason at jlekstrand.net
Fri Aug 4 01:25:19 UTC 2017


This patch series implements support for VK_KHR_external_semaphore for
Intel.  The series relies on DRM syncobj and, while we do have fallbacks
for if the kernel does not support syncobj, I do want to land syncobj
support in mesa before enabling the xtension.  This way we can rely on the
device->has_syncobj check to decide whether we're doing BO-based semaphores
or syncobj without having to worry about what the driver on the other side
of the import/export supports.  If you have VK_KHR_external_semaphore, then
you support both modes.

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 (9):
  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/allocator: Add a syncobj cache
  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_allocator.c   | 194 +++++++++++++++++++++++++++
 src/intel/vulkan/anv_batch_chain.c | 194 ++++++++++++++++++++++++++-
 src/intel/vulkan/anv_device.c      |  37 +++++-
 src/intel/vulkan/anv_extensions.py |   5 +
 src/intel/vulkan/anv_gem.c         |  93 ++++++++++++-
 src/intel/vulkan/anv_gem_stubs.c   |  24 ++++
 src/intel/vulkan/anv_private.h     |  79 ++++++++++-
 src/intel/vulkan/anv_queue.c       | 264 ++++++++++++++++++++++++++++++++++++-
 9 files changed, 898 insertions(+), 22 deletions(-)

-- 
2.5.0.400.gff86faf



More information about the mesa-dev mailing list