FCT
载入中...
搜索中...
未找到
VK_Fence.cpp
浏览该文件的文档.
1
#include "
./VK_Fence.h
"
2
#include "
../ThirdParty.h
"
3
#include "
../Context/VK_Context.h
"
4
namespace
FCT
5
{
6
namespace
RHI
7
{
8
VK_Fence::VK_Fence
(
VK_Context
* ctx)
9
{
10
m_ctx
= ctx;
11
}
12
13
void
VK_Fence::reset
()
14
{
15
m_ctx
->device().resetFences(1, &
m_fence
);
16
}
17
18
void
VK_Fence::create
()
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
26
void
VK_Fence::waitFor
()
27
{
28
m_ctx
->device().waitForFences(1, &
m_fence
, VK_TRUE, UINT64_MAX);
29
}
30
31
void
VK_Fence::destroy
()
32
{
33
if
(
m_fence
)
34
{
35
m_ctx
->device().destroyFence(
m_fence
,
nullptr
);
36
m_fence
=
nullptr
;
37
}
38
}
39
}
40
}
ThirdParty.h
VK_Context.h
VK_Fence.h
FCT::RHI::Fence::m_signaled
bool m_signaled
定义
Fence.h:38
FCT::RHI::VK_Fence::waitFor
void waitFor() override
定义
VK_Fence.cpp:26
FCT::RHI::VK_Fence::m_fence
vk::Fence m_fence
定义
VK_Fence.h:34
FCT::RHI::VK_Fence::reset
void reset() override
定义
VK_Fence.cpp:13
FCT::RHI::VK_Fence::m_ctx
VK_Context * m_ctx
定义
VK_Fence.h:33
FCT::RHI::VK_Fence::create
void create() override
定义
VK_Fence.cpp:18
FCT::RHI::VK_Fence::VK_Fence
VK_Fence(VK_Context *ctx)
定义
VK_Fence.cpp:8
FCT::RHI::VK_Fence::destroy
void destroy() override
定义
VK_Fence.cpp:31
FCT::RefCount::addRef
void addRef()
定义
RefCount.h:10
FCT::VK_Context
定义
VK_Context.h:11
FCT::RHI
定义
CommandBufferGraph.h:14
FCT
定义
Enums.h:8
src
RHI
VK_Fence.cpp
制作者
1.14.0