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

◆ make_shader_executor()

template<ComputeData InputType = std::vector<Kakshya::DataVariant>, ComputeData OutputType = InputType>
std::shared_ptr< ShaderExecutionContext< InputType, OutputType > > MayaFlux::Yantra::make_shader_executor ( GpuShaderConfig  config,
std::vector< GpuBufferBinding bindings,
std::string  name = "ShaderExecutionContext" 
)

Convenience factory for ShaderExecutionContext.

auto executor = make_shader_executor(
{ "shaders/spectral_blur.comp", { 256, 1, 1 }, sizeof(SpectralBlurPC) },
{ GpuBufferBinding::input(0, 0),
GpuBufferBinding::output(0, 1) },
"spectral_blur"
);
my_operation->set_gpu_backend(executor);
std::shared_ptr< ShaderExecutionContext< InputType, OutputType > > make_shader_executor(GpuShaderConfig config, std::vector< GpuBufferBinding > bindings, std::string name="ShaderExecutionContext")
Convenience factory for ShaderExecutionContext.

Definition at line 385 of file ShaderExecutionContext.hpp.

389{
390 return std::make_shared<ShaderExecutionContext<InputType, OutputType>>(
391 std::move(config),
392 std::move(bindings),
393 std::move(name));
394}