62 std::vector<GpuBufferBinding> out;
67 .binding =
b.binding_index,
ShaderID load_shader(const std::string &content, std::optional< ShaderStage > stage=std::nullopt, const std::string &entry_point="main")
Universal shader loader - auto-detects source type.
DataModality
Data modality types for cross-modal analysis.
@ TEXTURE_2D
2D texture data
@ IMAGE_2D
2D image (grayscale or single channel)
GpuDataFormat
GPU data formats with explicit precision levels.
MAYAFLUX_API ShaderFoundry & get_shader_foundry()
Get the global shader compiler instance.
BindingDirection
Data flow direction for a shader binding slot.
GpuBufferBinding::Direction to_binding_direction(Portal::Graphics::BindingDirection d) noexcept
Translate a BindingDirection to a GpuBufferBinding::Direction.
GpuComputeConfig config_from_spec(const Portal::Graphics::ShaderSpec &spec)
Derive a GpuComputeConfig from a ShaderSpec.
std::vector< GpuBufferBinding > bindings_from_spec(const Portal::Graphics::ShaderSpec &spec)
Derive a GpuBufferBinding list from a ShaderSpec.
GpuBufferBinding::ElementType to_element_type(Kakshya::DataModality m, Kakshya::GpuDataFormat fmt) noexcept
Translate a BindingSlot modality to a GpuBufferBinding::ElementType.
ElementType
Element type the shader expects in this binding.
Direction
Data flow direction for this binding.
enum MayaFlux::Portal::Graphics::GpuBufferBinding::Direction INPUT
enum MayaFlux::Portal::Graphics::GpuBufferBinding::ElementType FLOAT32
std::array< uint32_t, 3 > workgroup_size
Plain-data description of the compute shader to dispatch.
uint32_t push_constant_bytes
std::vector< BindingSlot > bindings
std::array< uint32_t, 3 > workgroup_size
Complete declarative description of a generated compute shader.