FCT
载入中...
搜索中...
未找到
VK_Fence.cpp
浏览该文件的文档.
1#include "./VK_Fence.h"
2#include "../ThirdParty.h"
4namespace FCT
5{
6 namespace RHI
7 {
9 {
10 m_ctx = ctx;
11 }
12
14 {
15 m_ctx->device().resetFences(1, &m_fence);
16 }
17
19 {
20 addRef();
21 vk::FenceCreateInfo createInfo{};
22 createInfo.flags |= m_signaled ? vk::FenceCreateFlagBits::eSignaled : vk::FenceCreateFlags(0);
23 m_fence = m_ctx->device().createFence(createInfo);
24 }
25
27 {
28 m_ctx->device().waitForFences(1, &m_fence, VK_TRUE, UINT64_MAX);
29 }
30
32 {
33 if (m_fence)
34 {
35 m_ctx->device().destroyFence(m_fence, nullptr);
36 m_fence = nullptr;
37 }
38 }
39 }
40}
void waitFor() override
void reset() override
void create() override
VK_Fence(VK_Context *ctx)
void destroy() override