FCT
载入中...
搜索中...
未找到
FCT::CommandBufferGraph类 参考

#include <CommandBufferGraph.h>

FCT::CommandBufferGraph 的协作图:
Collaboration graph

struct  NodeRef

Public 成员函数

 CommandBufferGraph (Device *device)
CommandBufferToken addBuffer (const std::vector< NodeRef > &predecessors, const std::vector< NodeRef > &successors)
void removeEdge (CommandBufferEdges::EdgeBase *edge)
void removeBuffer (CommandBufferToken token)
void maxFrameInFlight (uint32_t max)
void swapBuffer ()
RHI::CommandBuffergetCommandBuffer (CommandBufferToken token) const

Private 成员函数

CommandBufferNodes::InputFromWindowgetOrCreateWindowInputNode (Window *window)
CommandBufferNodes::OutputToWindowgetOrCreateWindowOutputNode (Window *window)
void connectPredecessors (CommandBufferNodes::CommandBuffer *buffer, const std::vector< NodeRef > &predecessors)
void connectSuccessors (CommandBufferNodes::CommandBuffer *buffer, const std::vector< NodeRef > &successors)
void connectWindowPredecessor (CommandBufferNodes::CommandBuffer *buffer, Window *window)
void connectWindowSuccessor (CommandBufferNodes::CommandBuffer *buffer, Window *window)

Private 属性

RHI::CommandPoolm_cmdPool
SemaphorePoolm_semaphorePool
FencePoolm_fencePool
std::unordered_set< CommandBufferNodes::NodeBase * > m_nodes
std::unordered_set< std::unique_ptr< CommandBufferEdges::EdgeBase > > m_edges
std::unordered_map< Window *, CommandBufferNodes::InputFromWindow * > m_windowInputNodes
std::unordered_map< Window *, CommandBufferNodes::OutputToWindow * > m_windowOutputNodes
std::set< Window * > m_windows
uint32_t m_maxFrameInFlight = 0
Devicem_device
size_t m_frameIndex = 0

详细描述

在文件 CommandBufferGraph.h312 行定义.

构造及析构函数说明

◆ CommandBufferGraph()

FCT::CommandBufferGraph::CommandBufferGraph ( Device * device)

在文件 CommandBufferGraph.cpp206 行定义.

函数调用图:

成员函数说明

◆ addBuffer()

CommandBufferToken FCT::CommandBufferGraph::addBuffer ( const std::vector< NodeRef > & predecessors,
const std::vector< NodeRef > & successors )

在文件 CommandBufferGraph.cpp363 行定义.

函数调用图:

◆ connectPredecessors()

void FCT::CommandBufferGraph::connectPredecessors ( CommandBufferNodes::CommandBuffer * buffer,
const std::vector< NodeRef > & predecessors )
private

在文件 CommandBufferGraph.cpp245 行定义.

函数调用图:
这是这个函数的调用关系图:

◆ connectSuccessors()

void FCT::CommandBufferGraph::connectSuccessors ( CommandBufferNodes::CommandBuffer * buffer,
const std::vector< NodeRef > & successors )
private

在文件 CommandBufferGraph.cpp260 行定义.

函数调用图:
这是这个函数的调用关系图:

◆ connectWindowPredecessor()

void FCT::CommandBufferGraph::connectWindowPredecessor ( CommandBufferNodes::CommandBuffer * buffer,
Window * window )
private

在文件 CommandBufferGraph.cpp275 行定义.

函数调用图:
这是这个函数的调用关系图:

◆ connectWindowSuccessor()

void FCT::CommandBufferGraph::connectWindowSuccessor ( CommandBufferNodes::CommandBuffer * buffer,
Window * window )
private

在文件 CommandBufferGraph.cpp293 行定义.

函数调用图:
这是这个函数的调用关系图:

◆ getCommandBuffer()

RHI::CommandBuffer * FCT::CommandBufferGraph::getCommandBuffer ( CommandBufferToken token) const

在文件 CommandBufferGraph.cpp358 行定义.

函数调用图:

◆ getOrCreateWindowInputNode()

CommandBufferNodes::InputFromWindow * FCT::CommandBufferGraph::getOrCreateWindowInputNode ( Window * window)
private

在文件 CommandBufferGraph.cpp215 行定义.

这是这个函数的调用关系图:

◆ getOrCreateWindowOutputNode()

CommandBufferNodes::OutputToWindow * FCT::CommandBufferGraph::getOrCreateWindowOutputNode ( Window * window)
private

在文件 CommandBufferGraph.cpp230 行定义.

这是这个函数的调用关系图:

◆ maxFrameInFlight()

void FCT::CommandBufferGraph::maxFrameInFlight ( uint32_t max)

在文件 CommandBufferGraph.cpp310 行定义.

◆ removeBuffer()

void FCT::CommandBufferGraph::removeBuffer ( CommandBufferToken token)

在文件 CommandBufferGraph.cpp409 行定义.

函数调用图:

◆ removeEdge()

void FCT::CommandBufferGraph::removeEdge ( CommandBufferEdges::EdgeBase * edge)

在文件 CommandBufferGraph.cpp376 行定义.

这是这个函数的调用关系图:

◆ swapBuffer()

void FCT::CommandBufferGraph::swapBuffer ( )

在文件 CommandBufferGraph.cpp324 行定义.

类成员变量说明

◆ m_cmdPool

RHI::CommandPool* FCT::CommandBufferGraph::m_cmdPool
private

在文件 CommandBufferGraph.h315 行定义.

◆ m_device

Device* FCT::CommandBufferGraph::m_device
private

在文件 CommandBufferGraph.h326 行定义.

◆ m_edges

std::unordered_set<std::unique_ptr<CommandBufferEdges::EdgeBase> > FCT::CommandBufferGraph::m_edges
private

在文件 CommandBufferGraph.h320 行定义.

◆ m_fencePool

FencePool* FCT::CommandBufferGraph::m_fencePool
private

在文件 CommandBufferGraph.h317 行定义.

◆ m_frameIndex

size_t FCT::CommandBufferGraph::m_frameIndex = 0
private

在文件 CommandBufferGraph.h361 行定义.

◆ m_maxFrameInFlight

uint32_t FCT::CommandBufferGraph::m_maxFrameInFlight = 0
private

在文件 CommandBufferGraph.h325 行定义.

◆ m_nodes

std::unordered_set<CommandBufferNodes::NodeBase*> FCT::CommandBufferGraph::m_nodes
private

在文件 CommandBufferGraph.h319 行定义.

◆ m_semaphorePool

SemaphorePool* FCT::CommandBufferGraph::m_semaphorePool
private

在文件 CommandBufferGraph.h316 行定义.

◆ m_windowInputNodes

std::unordered_map<Window*, CommandBufferNodes::InputFromWindow*> FCT::CommandBufferGraph::m_windowInputNodes
private

在文件 CommandBufferGraph.h322 行定义.

◆ m_windowOutputNodes

std::unordered_map<Window*, CommandBufferNodes::OutputToWindow*> FCT::CommandBufferGraph::m_windowOutputNodes
private

在文件 CommandBufferGraph.h323 行定义.

◆ m_windows

std::set<Window*> FCT::CommandBufferGraph::m_windows
private

在文件 CommandBufferGraph.h324 行定义.


该类的文档由以下文件生成: