FCT
载入中...
搜索中...
未找到
CommandBuffer.cpp
浏览该文件的文档.
1#include "CommandBuffer.h"
2
3#include "Fence.h"
4#include "Semaphore.h"
5
6namespace FCT{
7 namespace RHI {
9 {
10 for (auto& desc : m_waitSemaphores)
11 {
12 desc.semaphore->release();
13 }
14 for (auto& semaphore : m_signalSemaphores)
15 {
16 semaphore->release();
17 }
18 if (m_fence)
19 {
20 m_fence->release();
21 }
22 }
23
30
32 {
33 for (auto& desc : m_waitSemaphores)
34 {
35 desc.semaphore->release();
36 }
37 m_waitSemaphores.clear();
38 }
39
40 void CommandBuffer::addWaitSemaphore(Semaphore* semaphore, PipelineStages stage)
41 {
43 desc.semaphore = semaphore;
44 desc.stages = stage;
45 semaphore->addRef();
46 m_waitSemaphores.push_back(desc);
47 }
48
50 {
51 semaphore->addRef();
52 m_signalSemaphores.push_back(semaphore);
53 }
54 }
55}
#define FCT_SAFE_ADDREF(p)
#define FCT_SAFE_RELEASE(obj)
std::vector< Semaphore * > m_signalSemaphores
void addSignalSemaphore(Semaphore *semaphore)
std::vector< WaitSemaphoreDescription > m_waitSemaphores
void addWaitSemaphore(Semaphore *semaphore, PipelineStages stage=PipelineStage::colorAttachmentOutput)