Create second CommandBuffer in rhi threadPool thread.
174 {
176
178 {
180 }
181
182 VkCommandBufferAllocateInfo allocInfo{};
183 allocInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO;
185 allocInfo.level = VK_COMMAND_BUFFER_LEVEL_SECONDARY;
186 allocInfo.commandBufferCount = 1;
187
188 VkCommandBuffer cmdBuffer;
189
191 DEBUGUTILS_SETOBJECTNAME(VK_OBJECT_TYPE_COMMAND_BUFFER, (uint64_t)cmdBuffer,
m_VulkanState.
m_Device,
"ParallelGraphicCommandBuffer")
193
194 m_CmdBuffers[FrameInfo::Get().m_FrameIndex][threadId].push_back(cmdBuffer);
195
196 return cmdBuffer;
197 }
#define SPICES_PROFILE_ZONE
#define SPICES_PROFILE_VK_COLLECT(cmdbuf)
#define VK_CHECK(expr)
Vulkan Check macro. Verify Vulkan API Effectiveness.
std::vector< VkCommandPool > m_CmdPools
Parallel CommandPools.
std::array< std::vector< std::vector< VkCommandBuffer > >, MaxFrameInFlight > m_CmdBuffers
Parallel Secondary CommandBuffers.
static VkCommandPool & GetThreadGraphicCommandPool()
Get Thread Graphic VkCommandPool by thread id.
VulkanState & m_VulkanState
The global VulkanState Referenced from VulkanRenderBackend.