MayaFlux 0.3.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 315 of file VKGraphicsPipeline.cpp.

318{
319 vk::PipelineLayoutCreateInfo layout_info;
320 layout_info.setLayoutCount = static_cast<uint32_t>(config.descriptor_set_layouts.size());
321 layout_info.pSetLayouts = config.descriptor_set_layouts.empty() ? nullptr : config.descriptor_set_layouts.data();
322 layout_info.pushConstantRangeCount = static_cast<uint32_t>(config.push_constant_ranges.size());
323 layout_info.pPushConstantRanges = config.push_constant_ranges.empty() ? nullptr : config.push_constant_ranges.data();
324
325 vk::PipelineLayout layout;
326 try {
327 layout = device.createPipelineLayout(layout_info);
328 } catch (const vk::SystemError& e) {
330 "Failed to create pipeline layout: {}", e.what());
331 return nullptr;
332 }
333
335 "Graphics pipeline layout created ({} sets, {} push constant ranges)",
336 config.descriptor_set_layouts.size(), config.push_constant_ranges.size());
337
338 return layout;
339}
#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: