/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* vk_fence.h :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: maldavid +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/04/02 17:52:09 by maldavid #+# #+# */ /* Updated: 2023/12/08 19:08:01 by kbz_8 ### ########.fr */ /* */ /* ************************************************************************** */ #ifndef __MLX_VK_FENCE__ #define __MLX_VK_FENCE__ #include #include #include namespace mlx { class Fence { public: Fence() = default; void init(); inline VkFence& get() noexcept { return _fence; } void wait() noexcept; void reset() noexcept; inline void waitAndReset() noexcept { wait(); reset(); } void destroy() noexcept; ~Fence() = default; private: VkFence _fence = VK_NULL_HANDLE; }; } #endif