summaryrefslogtreecommitdiffstats
path: root/src/intel/vulkan/anv_private.h
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2017-04-10 18:36:42 -0700
committerJason Ekstrand <[email protected]>2017-08-15 19:08:26 -0700
commit55bce22d8d98342ce071b7286ce07f31430f772a (patch)
tree2a6fc2247e11ac3250ede79060eab9f1d6cbd793 /src/intel/vulkan/anv_private.h
parentf41a0e4b0daefbe1de281a089bf6f139bd347881 (diff)
anv: Use DRM sync objects for external semaphores when available
Reviewed-by: Lionel Landwerlin <[email protected]>
Diffstat (limited to 'src/intel/vulkan/anv_private.h')
-rw-r--r--src/intel/vulkan/anv_private.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h
index b451fa509a6..de7463797a4 100644
--- a/src/intel/vulkan/anv_private.h
+++ b/src/intel/vulkan/anv_private.h
@@ -653,6 +653,7 @@ struct anv_physical_device {
int cmd_parser_version;
bool has_exec_async;
bool has_exec_fence;
+ bool has_syncobj;
uint32_t eu_total;
uint32_t subslice_total;
@@ -1742,6 +1743,7 @@ enum anv_semaphore_type {
ANV_SEMAPHORE_TYPE_DUMMY,
ANV_SEMAPHORE_TYPE_BO,
ANV_SEMAPHORE_TYPE_SYNC_FILE,
+ ANV_SEMAPHORE_TYPE_DRM_SYNCOBJ,
};
struct anv_semaphore_impl {
@@ -1760,6 +1762,12 @@ struct anv_semaphore_impl {
* created or because it has been used for a wait, fd will be -1.
*/
int fd;
+
+ /* Sync object handle when type == AKV_SEMAPHORE_TYPE_DRM_SYNCOBJ.
+ * Unlike GEM BOs, DRM sync objects aren't deduplicated by the kernel on
+ * import so we don't need to bother with a userspace cache.
+ */
+ uint32_t syncobj;
};
};