SpiecsEngine
 
Loading...
Searching...
No Matches
VulkanTimelineSemaphore.h
Go to the documentation of this file.
1/**
2* @file VulkanTimelineSemaphore.h.
3* @brief The VulkanTimelineSemaphore Class Definitions.
4* @author Spices.
5*/
6
7#pragma once
8#include "Core/Core.h"
9#include "VulkanUtils.h"
10
11namespace Spices {
12
13 /**
14 * @brief VulkanTimelineSemaphore Class.
15 * This class is a wrapper of timeline VkSemaphore.
16 */
18 {
19 public:
20
21 /**
22 * @brief Constructor Function.
23 * @param[in] vulkanState The global VulkanState.
24 */
25 explicit VulkanTimelineSemaphore(VulkanState& vulkanState);
26
27 /**
28 * @brief Destructor Function.
29 */
30 virtual ~VulkanTimelineSemaphore() override;
31
32 /**
33 * @brief Wait on this VkSemaphore using specific value.
34 * @param[in] waitValue .
35 */
36 void Wait(uint64_t waitValue = 1) const;
37
38 /**
39 * @brief Signal this VkSemaphore using specific value.
40 * @param[in] signalValue .
41 */
42 void Singal(uint64_t signalValue = 1) const;
43
44 /**
45 * @brief Get what Counter this VkSemaphore is now.
46 * @return Returns Counter this VkSemaphore is now
47 */
48 uint64_t GetValue() const;
49
50 private:
51
52 /**
53 * @brief Timeline VkSemaphore.
54 */
56 };
57}
#define SPICES_PROFILE_ZONE
#define VK_CHECK(expr)
Vulkan Check macro. Verify Vulkan API Effectiveness.
Definition VulkanUtils.h:68
VulkanObject(VulkanState &vulkanState)
Constructor Function. Init member variables.
VulkanObject Class. This class defines the basic behaves of VulkanObject. When we create an new Vulka...
VulkanTimelineSemaphore(VulkanState &vulkanState)
Constructor Function.
VkSemaphore m_TimelineSemaphore
Timeline VkSemaphore.
void Singal(uint64_t signalValue=1) const
Signal this VkSemaphore using specific value.
uint64_t GetValue() const
Get what Counter this VkSemaphore is now.
virtual ~VulkanTimelineSemaphore() override
Destructor Function.
void Wait(uint64_t waitValue=1) const
Wait on this VkSemaphore using specific value.
VulkanTimelineSemaphore Class. This class is a wrapper of timeline VkSemaphore.
This struct contains all Vulkan object in used global.
Definition VulkanUtils.h:74