[Mesa-dev] [PATCH v2 00/18] anv: Implement VK_KHX_external_*

Jason Ekstrand jason at jlekstrand.net
Tue Mar 14 02:26:02 UTC 2017


This series is a second revision on my earlier two series to implement the
following extensions:

 - VK_KHX_external_memory_capabilities
 - VK_KHX_external_memory
 - VK_KHX_external_memory_fd
 - VK_KHX_external_semaphore_capabilities
 - VK_KHX_external_semaphore
 - VK_KHX_external_semaphore_fd

This series has a few bug fixes from Chad and Chris.  The main difference,
however, is the presence of the new anv_bo_cache.  This makes duplicate
imports work correctly.

The one remaining issue that I'm not quite sure how we want to sort out is
that you can export a semaphore and import it as memory or vice versa and
it will work just fine.  We should probably be returning INVALID_HANDLE_KHX
if the user tries to do that.

Chad Versace (1):
  anv: Implement VK_KHX_external_memory_capabilities

Jason Ekstrand (17):
  anv: Add the pci_id into the shader cache UUID
  anv: Refactor device_get_cache_uuid into physical_device_init_uuids
  anv/physical_device: Rename uuid to pipeline_cache_uuid
  util/vk: Add helpers for finding an extension struct
  anv: Implement VK_KHX_external_memory
  anv/allocator: Add a BO cache
  anv: Use the BO cache for DeviceMemory allocations
  anv: Implement VK_KHX_external_memory_fd
  anv: Move queues, events, and semaphores to their own file
  anv: Add a real semaphore struct
  anv: Implement VK_KHX_external_semaphore_capabilities
  anv: Implement VK_KHX_external_semaphore
  anv/cmd_buffer: Use the device allocator for QueueSubmit
  anv: Pull the guts of cmd_buffer_execbuf into a helper
  anv: Implement VK_KHX_external_semaphore_fd
  anv/gem: Use EXECBUFFER2_WR when the FENCE_OUT flag is set
  anv: Implement support for exporting semaphores as FENCE_FD

 src/intel/Makefile.sources              |   1 +
 src/intel/vulkan/Makefile.sources       |  86 ++++
 src/intel/vulkan/anv_allocator.c        | 212 ++++++++++
 src/intel/vulkan/anv_batch_chain.c      | 175 ++++++--
 src/intel/vulkan/anv_device.c           | 655 +++++++++---------------------
 src/intel/vulkan/anv_entrypoints_gen.py |   6 +
 src/intel/vulkan/anv_formats.c          | 118 +++++-
 src/intel/vulkan/anv_gem.c              |  41 +-
 src/intel/vulkan/anv_image.c            |   2 +-
 src/intel/vulkan/anv_intel.c            |  14 +-
 src/intel/vulkan/anv_pipeline_cache.c   |   4 +-
 src/intel/vulkan/anv_private.h          |  88 ++++-
 src/intel/vulkan/anv_queue.c            | 682 ++++++++++++++++++++++++++++++++
 src/intel/vulkan/anv_wsi.c              |   6 +-
 src/util/vk_util.h                      |  17 +
 15 files changed, 1584 insertions(+), 523 deletions(-)
 create mode 100644 src/intel/vulkan/Makefile.sources
 create mode 100644 src/intel/vulkan/anv_queue.c

-- 
2.5.0.400.gff86faf



More information about the mesa-dev mailing list