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

◆ create_pipeline_layout()

vk::PipelineLayout MayaFlux::Core::VKGraphicsPipeline::create_pipeline_layout ( vk::Device  device,
const GraphicsPipelineConfig config 
)
private

Create pipeline layout from config.

Definition at line 313 of file VKGraphicsPipeline.cpp.

316{
317 vk::PipelineLayoutCreateInfo layout_info;
318 layout_info.setLayoutCount = static_cast<uint32_t>(config.descriptor_set_layouts.size());
319 layout_info.pSetLayouts = config.descriptor_set_layouts.empty() ? nullptr : config.descriptor_set_layouts.data();
320 layout_info.pushConstantRangeCount = static_cast<uint32_t>(config.push_constant_ranges.size());
321 layout_info.pPushConstantRanges = config.push_constant_ranges.empty() ? nullptr : config.push_constant_ranges.data();
322
323 vk::PipelineLayout layout;
324 try {
325 layout = device.createPipelineLayout(layout_info);
326 } catch (const vk::SystemError& e) {
328 "Failed to create pipeline layout: {}", e.what());
329 return nullptr;
330 }
331
333 "Graphics pipeline layout created ({} sets, {} push constant ranges)",
334 config.descriptor_set_layouts.size(), config.push_constant_ranges.size());
335
336 return layout;
337}
#define MF_ERROR(comp, ctx,...)
#define MF_DEBUG(comp, ctx,...)
@ GraphicsBackend
Graphics/visual rendering backend (Vulkan, OpenGL)
@ Core
Core engine, backend, subsystems.

References MayaFlux::Journal::Core, MayaFlux::Core::GraphicsPipelineConfig::descriptor_set_layouts, MayaFlux::Journal::GraphicsBackend, MF_DEBUG, MF_ERROR, and MayaFlux::Core::GraphicsPipelineConfig::push_constant_ranges.

Referenced by create().

+ Here is the caller graph for this function: