MayaFlux 1.0.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ calculate_dispatch_size()

std::array< uint32_t, 3 > MayaFlux::Yantra::TextureExecutionContext::calculate_dispatch_size ( size_t  total_elements,
const DataStructureInfo &  structure_info 
) const
inlineoverrideprotectedvirtual

Derives dispatch size from the staged container dimensions when available; falls back to element-count dispatch otherwise.

Reimplemented from MayaFlux::Yantra::GpuDispatchCore.

Definition at line 462 of file TextureExecutionContext.hpp.

465 {
466 const auto& ws = gpu_config().workgroup_size;
468 const uint32_t w = m_output_dim_override->first;
469 const uint32_t h = m_output_dim_override->second;
470 return {
471 (w + ws[0] - 1) / ws[0],
472 (h + ws[1] - 1) / ws[1],
473 1U
474 };
475 }
477 const uint32_t w = m_pending_container->get_width();
478 const uint32_t h = m_pending_container->get_height();
479 return {
480 (w + ws[0] - 1) / ws[0],
481 (h + ws[1] - 1) / ws[1],
482 1U
483 };
484 }
485 return Base::calculate_dispatch_size(total_elements, structure_info);
486 }
uint32_t h
Definition InkPress.cpp:29
virtual std::array< uint32_t, 3 > calculate_dispatch_size(size_t total_elements, const DataStructureInfo &structure_info) const
Calculate workgroup dispatch counts from structure dimensions.
const GpuComputeConfig & gpu_config() const
std::shared_ptr< Kakshya::TextureContainer > m_pending_container
std::optional< std::pair< uint32_t, uint32_t > > m_output_dim_override

References h.