SpiecsEngine
 
Loading...
Searching...
No Matches

◆ VulkanCmdThreadPool()

Spices::VulkanCmdThreadPool::VulkanCmdThreadPool ( VulkanState & vulkanState,
const std::string & name )

Constructor Function. Create Specific ThreadPool.

Parameters
[in]vulkanStateThe global VulkanState.
[in]nameThreadPool Name.

Init ThreadPool.

Init ThreadPool.

Definition at line 16 of file VulkanCmdThreadPool.cpp.

17 : VulkanObject(vulkanState)
18 , ThreadPool_Basic(name)
19 {
21
22 for (int i = 0; i < MaxFrameInFlight; i++)
23 {
24 m_CmdBuffers[i].resize(nCmdThreads);
25 }
26
27 m_CmdPools.resize(nCmdThreads);
28
32 {
35 }
36 }
#define SPICES_PROFILE_ZONE
void SetMode(PoolMode mode)
Set Pool Run Mode.
ThreadPool_Basic(const std::string &name="NonNameT")
Constructor Function.
void Start(int initThreadSize=0.5 *std::thread::hardware_concurrency())
Start Run this thread pool.
std::vector< VkCommandPool > m_CmdPools
Parallel CommandPools.
std::array< std::vector< std::vector< VkCommandBuffer > >, MaxFrameInFlight > m_CmdBuffers
Parallel Secondary CommandBuffers.
VulkanObject(VulkanState &vulkanState)
Constructor Function. Init member variables.
const int nCmdThreads
constexpr uint32_t MaxFrameInFlight
Max In Flight Frame. 2 buffers are enough in this program.
Definition VulkanUtils.h:22

References Spices::MaxFrameInFlight, Spices::MODE_FIXED, Spices::nCmdThreads, Start(), VulkanCmdThreadPool(), and Spices::VulkanObject::VulkanObject().

Referenced by VulkanCmdThreadPool().