summaryrefslogtreecommitdiffstats
path: root/src/amd/vulkan/radv_radeon_winsys.h
diff options
context:
space:
mode:
authorDave Airlie <[email protected]>2017-07-18 06:00:44 +0100
committerDave Airlie <[email protected]>2017-07-21 21:31:54 +0100
commitb5670beb31d3e6cfb8fff6f14e5fd5ec03ec16e9 (patch)
tree68d408340a1a277811ad9fbbd65d6c4443bf6e2e /src/amd/vulkan/radv_radeon_winsys.h
parent80562f2b77bfff224cb469ef475912222e5d8a9c (diff)
radv/winsys: add syncobj hooks
This just adds syncobj create/destroy/export/import paths into the winsys interface. Reviewed-by: Bas Nieuwenhuizen <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/amd/vulkan/radv_radeon_winsys.h')
-rw-r--r--src/amd/vulkan/radv_radeon_winsys.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/amd/vulkan/radv_radeon_winsys.h b/src/amd/vulkan/radv_radeon_winsys.h
index cdcaeca46ec..2f3990c891c 100644
--- a/src/amd/vulkan/radv_radeon_winsys.h
+++ b/src/amd/vulkan/radv_radeon_winsys.h
@@ -221,9 +221,17 @@ struct radeon_winsys {
bool absolute,
uint64_t timeout);
+ /* old semaphores - non shareable */
struct radeon_winsys_sem *(*create_sem)(struct radeon_winsys *ws);
void (*destroy_sem)(struct radeon_winsys_sem *sem);
+ /* new shareable sync objects */
+ int (*create_syncobj)(struct radeon_winsys *ws, uint32_t *handle);
+ void (*destroy_syncobj)(struct radeon_winsys *ws, uint32_t handle);
+
+ int (*export_syncobj)(struct radeon_winsys *ws, uint32_t syncobj, int *fd);
+ int (*import_syncobj)(struct radeon_winsys *ws, int fd, uint32_t *syncobj);
+
};
static inline void radeon_emit(struct radeon_winsys_cs *cs, uint32_t value)