[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