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

◆ create_specialized()

bool MayaFlux::Core::VKComputePipeline::create_specialized ( vk::Device  device,
const ComputePipelineConfig config,
const std::unordered_map< uint32_t, uint32_t > &  specialization_data 
)

Create pipeline with specialization constants.

Parameters
deviceLogical device
configPipeline configuration
specialization_dataMap of constant_id -> value
Returns
true if creation succeeded

Specialization constants allow compile-time configuration of shaders. Example: workgroup size, loop unrolling factors, feature toggles.

Definition at line 355 of file VKComputePipeline.cpp.

359{
360 if (!config.shader) {
362 "Cannot create compute pipeline without shader");
363 return false;
364 }
365
366 config.shader->set_specialization_constants(specialization_data);
367 return create(device, config);
368}
#define MF_ERROR(comp, ctx,...)
bool create(vk::Device device, const ComputePipelineConfig &config)
Create compute pipeline from configuration.
@ GraphicsBackend
Graphics/visual rendering backend (Vulkan, OpenGL)
@ Core
Core engine, backend, subsystems.

References MayaFlux::Journal::Core, create(), MayaFlux::Journal::GraphicsBackend, MF_ERROR, and MayaFlux::Core::ComputePipelineConfig::shader.

+ Here is the call graph for this function: