radv: initial support for shared semaphores (v2)
authorDave Airlie <airlied@redhat.com>
Mon, 27 Feb 2017 19:14:00 +0000 (19:14 +0000)
committerDave Airlie <airlied@redhat.com>
Fri, 21 Jul 2017 20:31:54 +0000 (21:31 +0100)
commiteaa56eab6da565c7bc84419c025c7c9bc90cf87a
tree09e2adf2a642a3879a4992157ba6293d677214c9
parentb5670beb31d3e6cfb8fff6f14e5fd5ec03ec16e9
radv: initial support for shared semaphores (v2)

This adds support for sharing semaphores using kernel syncobjects.

Syncobj backed semaphores are used for any semaphore which is
created with external flags, and when a semaphore is imported,
otherwise we use the current non-kernel semaphores.

Temporary imports from syncobj fd are also available, these
just override the current user until the next wait, when the
temp syncobj is dropped.

v2: allocate more chunks upfront, fix off by one after
previous refactor of syncobj setup, remove unnecessary null
check.

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied@redhat.com>
src/amd/vulkan/radv_device.c
src/amd/vulkan/radv_entrypoints_gen.py
src/amd/vulkan/radv_private.h
src/amd/vulkan/radv_radeon_winsys.h
src/amd/vulkan/radv_wsi.c
src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c