|
MayaFlux 0.5.0
Digital-First Multimedia Processing Framework
|
| std::string MayaFlux::Portal::Graphics::detail::emit_glsl_kernel | ( | const ShaderSpec & | spec | ) |
Emit a complete GLSL compute shader from spec metadata and a KernelSource body.
Binding names are used directly as GLSL identifiers. The body text from KernelSource::parse() is injected verbatim inside main() after uint i and optional ivec2 coord are declared. Push constant fields are accessible as pc.<name>. SSBO arrays are accessible as <name>[i].
Definition at line 1428 of file AsmGenerator.cpp.
References b, MayaFlux::Portal::Graphics::ShaderSpec::bindings, MayaFlux::Kakshya::IMAGE_2D, MayaFlux::Portal::Graphics::Input, MayaFlux::Portal::Graphics::ShaderSpec::kernel, MayaFlux::Portal::Graphics::ShaderSpec::pc_fields, MayaFlux::Kakshya::TEXTURE_2D, and MayaFlux::Portal::Graphics::ShaderSpec::workgroup_size.
Referenced by MayaFlux::Portal::Graphics::ShaderFoundry::load_shader().
Here is the caller graph for this function: