|
| | VulkanCmdThreadPool (VulkanState &vulkanState, const std::string &name) |
| | Constructor Function. Create Specific ThreadPool.
|
| |
| virtual | ~VulkanCmdThreadPool () override |
| | Destructor Function.
|
| |
| void | Start (int initThreadSize=0.5 *std::thread::hardware_concurrency()) |
| | Start Run this thread pool.
|
| |
| template<typename Func , typename ... Args> |
| auto | SubmitPoolTask (Func &&func, Args &&...args) -> std::future< decltype(func(nullptr, std::forward< Args >(args)...))> |
| | Submit a part commands task to task queue, and wait for a idle thread to execute it.
|
| |
| void | ThreadFunc (Thread< VkCommandBuffer > *thread) |
| | Thread Function.
|
| |
| VkCommandBuffer | CreateParallelCommandBuffers (uint32_t threadId) |
| | Create second CommandBuffer in rhi threadPool thread.
|
| |
| void | FreeParallelCommandBuffers (uint32_t frameIndex) |
| | Free all second CommandBuffer in rhi threadPool thread.
|
| |
| void | SetMode (PoolMode mode) |
| | Set Pool Run Mode.
|
| |
| void | SetThreadIdleTimeOut (int idleTime) |
| | Set Pool Threads idle time out.
|
| |
| void | Wait () |
| | Wait for all tasks executed finish in taskqueue.
|
| |
| void | Continue () |
| | Continue ThreadPool.
|
| |
| void | Suspend () |
| | Suspend ThreadPool.
|
| |
| void | SubmitThreadTask_LightWeight (uint32_t threadId, std::function< void(Params...)> func) |
| | Submit a task to specific thread.
|
| |
| void | SubmitThreadTask_LightWeight_ForEach (std::function< void(Params...)> func) |
| | Submit a task to all thread.
|
| |
| void | ThreadFunc (Thread<> *thread) |
| | Thread Function.
|
| |
| const int | GetThreadsCount () const |
| | Get Threads Count. This function is just used for unit test, should not be used in engine.
|
| |
| const std::unordered_map< uint32_t, std::unique_ptr< Thread< Params... > > > & | GetThreads () const |
| | Get Threads. This function is just used for unit test, should not be used in engine.
|
| |
| const int | GetInitThreadSize () const |
| | GetInitThreadSize. This function is just used for unit test, should not be used in engine.
|
| |
| const int | GetIdleThreadSize () const |
| | GetIdleThreadSize. This function is just used for unit test, should not be used in engine.
|
| |
| const int | GetTasks () const |
| | Get TaskQueue Count. This function is just used for unit test, should not be used in engine.
|
| |
| const PoolMode & | GetPoolMode () const |
| | GetPoolMode. This function is just used for unit test, should not be used in engine.
|
| |
| const int | GetThreadIdleTimeOut () const |
| | ThreadIdleTimeOut. This function is just used for unit test, should not be used in engine.
|
| |
| const bool | IsPoolRunning () const |
| | GetIsPoolRunning. This function is just used for unit test, should not be used in engine.
|
| |
Wrappers of RHI Thread Pool.
Definition at line 20 of file VulkanCmdThreadPool.h.