SpiecsEngine
 
Loading...
Searching...
No Matches

◆ UpdatePushConstantAsync() [2/2]

template<typename T >
void Spices::Renderer::RenderBehaveBuilder::UpdatePushConstantAsync ( void * data) const
inline

Update local push constant buffer Async.

Template Parameters
TSpecific push constant struct Type.
Parameters
[in]datapush constant data pointer.

@breif Update PushConstants

Definition at line 2602 of file Renderer.h.

2603 {
2605
2606 std::stringstream ss;
2607 ss << m_Renderer->m_RendererName << "." << m_HandledSubPass->GetName() << ".Default";
2608
2612 m_Renderer->SubmitCmdsParallel(m_CommandBuffer, [&](const VkCommandBuffer& cmdBuffer) {
2613 vkCmdPushConstants(
2614 cmdBuffer,
2615 m_Renderer->m_Pipelines[ss.str()]->GetPipelineLayout(),
2616 VK_SHADER_STAGE_ALL,
2617 0,
2618 sizeof(T),
2619 data
2620 );
2621 });
2622 }
#define SPICES_PROFILE_ZONE
std::shared_ptr< RendererSubPass > m_HandledSubPass
Handled Sub pass.
Definition Renderer.h:1544
Renderer * m_Renderer
Specific Renderer pointer. Passed while this class instanced.
Definition Renderer.h:1515
VkCommandBuffer m_CommandBuffer
Current CommandBuffer.
Definition Renderer.h:1539
std::string m_RendererName
Specific renderer name, Passed by instanced.
Definition Renderer.h:2017
std::future< VkCommandBuffer > SubmitCmdsParallel(VkCommandBuffer primaryCmdBuffer, uint32_t subPass, F &&func)
Submit a group of commands to secondary command buffer, and execute all of them.
Definition Renderer.h:2273
scl::thread_unordered_map< std::string, std::shared_ptr< VulkanPipeline > > m_Pipelines
Renderer stored material pipelines.
Definition Renderer.h:2022