From f2f91cf570ad6736a62192f2cb36b6c2887a0fda Mon Sep 17 00:00:00 2001 From: Niklas Haas Date: Fri, 29 Sep 2017 00:36:46 +0200 Subject: vo_gpu: vulkan: add a vk_signal abstraction This combines VkSemaphores and VkEvents into a common umbrella abstraction which can resolve to either. We aggressively try to prefer VkEvents over VkSemaphores whenever the conditions are met (1. we can unsignal the semaphore, i.e. it comes from the same frame; and 2. it comes from the same queue). --- video/out/vulkan/common.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'video/out/vulkan/common.h') diff --git a/video/out/vulkan/common.h b/video/out/vulkan/common.h index 35c5b3dbfb..de49c6f1af 100644 --- a/video/out/vulkan/common.h +++ b/video/out/vulkan/common.h @@ -53,6 +53,10 @@ struct mpvk_ctx { struct vk_cmd *last_cmd; // most recently submitted (pending) command struct spirv_compiler *spirv; // GLSL -> SPIR-V compiler + // Common pool of signals, to avoid having to re-create these objects often + struct vk_signal **signals; + int num_signals; + // Cached capabilities VkPhysicalDeviceLimits limits; }; -- cgit v1.2.3