diff options
author | Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> | 2019-10-20 22:50:58 +0200 |
---|---|---|
committer | Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> | 2019-10-30 11:57:07 +0100 |
commit | c3eae659e7b53534389f02a9bf74cdbaff2710d8 (patch) | |
tree | 5877a5353a877aae4d69da131731590791ec0475 /src/amd/vulkan/radv_private.h | |
parent | 84d9551b232bdcead017b212cbb3e291486e698c (diff) |
radv: Split semaphore into two parts as enum+union.
This is in preparation to adding more types.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Diffstat (limited to 'src/amd/vulkan/radv_private.h')
-rw-r--r-- | src/amd/vulkan/radv_private.h | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/src/amd/vulkan/radv_private.h b/src/amd/vulkan/radv_private.h index 99cffc1f1b9..ef7ba34c85b 100644 --- a/src/amd/vulkan/radv_private.h +++ b/src/amd/vulkan/radv_private.h @@ -2163,11 +2163,24 @@ struct radv_query_pool { uint32_t pipeline_stats_mask; }; + +typedef enum { + RADV_SEMAPHORE_NONE, + RADV_SEMAPHORE_WINSYS, + RADV_SEMAPHORE_SYNCOBJ, +} radv_semaphore_kind; + +struct radv_semaphore_part { + radv_semaphore_kind kind; + union { + uint32_t syncobj; + struct radeon_winsys_sem *ws_sem; + }; +}; + struct radv_semaphore { - /* use a winsys sem for non-exportable */ - struct radeon_winsys_sem *sem; - uint32_t syncobj; - uint32_t temp_syncobj; + struct radv_semaphore_part permanent; + struct radv_semaphore_part temporary; }; void radv_set_descriptor_set(struct radv_cmd_buffer *cmd_buffer, |