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

◆ in_out() [3/4]

template<ComputeData InputType = std::vector<Kakshya::DataVariant>, ComputeData OutputType = InputType>
template<typename T >
ShaderExecutionContext & MayaFlux::Yantra::ShaderExecutionContext< InputType, OutputType >::in_out ( uint32_t  binding,
const std::vector< T > &  data,
GpuBufferBinding::ElementType  type = GpuBufferBinding::ElementType::FLOAT32 
)
inline

Add an INPUT_OUTPUT binding at an explicit index.

Template Parameters
TElement type of the data vector.
Parameters
bindingBinding index.
dataData to upload for this binding.
typeElement type hint for the shader (default: FLOAT32).
Returns
Reference to this executor for chaining.

Definition at line 147 of file ShaderExecutionContext.hpp.

149 {
150 m_bindings.push_back({ .set = 0,
151 .binding = binding,
153 .element_type = type });
154
155 this->set_binding_data(binding, data);
156 return *this;
157 }
void set_binding_data(size_t index, std::span< const T > data)
Pre-stage typed data for a specific binding slot, bypassing the default channel-flattening path in pr...