Create Sync Objects.
Instance a VkSemaphoreCreateInfo.
Instance a VkFenceCreateInfo.
Create SyncObkects.
Instance a VkSemaphoreCreateInfo.
Instance a VkFenceCreateInfo.
Create SyncObkects.
249 {
251
255 VkSemaphoreCreateInfo semaphoreInfo {};
256 semaphoreInfo.sType = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO;
257
261 VkFenceCreateInfo fenceInfo {};
262 fenceInfo.sType = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO;
263 fenceInfo.flags = VK_FENCE_CREATE_SIGNALED_BIT;
264
269 {
270
273
275 DEBUGUTILS_SETOBJECTNAME(VK_OBJECT_TYPE_SEMAPHORE, reinterpret_cast<uint64_t>(
m_VulkanState.m_GraphicQueueSemaphore[i]),
m_VulkanState.m_Device, "GraphicQueueSemaphore")
276
278 DEBUGUTILS_SETOBJECTNAME(VK_OBJECT_TYPE_FENCE, reinterpret_cast<uint64_t>(
m_VulkanState.m_GraphicFence[i]),
m_VulkanState.m_Device, "GraphicFence")
279
280
282 DEBUGUTILS_SETOBJECTNAME(VK_OBJECT_TYPE_SEMAPHORE, reinterpret_cast<uint64_t>(
m_VulkanState.m_ComputeQueueSemaphore[i]),
m_VulkanState.m_Device, "ComputeQueueSemaphore")
283
285 DEBUGUTILS_SETOBJECTNAME(VK_OBJECT_TYPE_FENCE, reinterpret_cast<uint64_t>(
m_VulkanState.m_ComputeFence[i]),
m_VulkanState.m_Device, "ComputeFence")
286 }
287 }
#define SPICES_PROFILE_ZONE
#define VK_CHECK(expr)
Vulkan Check macro. Verify Vulkan API Effectiveness.
VulkanState & m_VulkanState
The global VulkanState Referenced from VulkanRenderBackend.
constexpr uint32_t MaxFrameInFlight
Max In Flight Frame. 2 buffers are enough in this program.
std::array< VkSemaphore, MaxFrameInFlight > m_GraphicImageSemaphore