MayaFlux 0.1.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 298 of file VKGraphicsPipeline.cpp.

301{
302 vk::PipelineLayoutCreateInfo layout_info;
303 layout_info.setLayoutCount = static_cast<uint32_t>(config.descriptor_set_layouts.size());
304 layout_info.pSetLayouts = config.descriptor_set_layouts.empty() ? nullptr : config.descriptor_set_layouts.data();
305 layout_info.pushConstantRangeCount = static_cast<uint32_t>(config.push_constant_ranges.size());
306 layout_info.pPushConstantRanges = config.push_constant_ranges.empty() ? nullptr : config.push_constant_ranges.data();
307
308 vk::PipelineLayout layout;
309 try {
310 layout = device.createPipelineLayout(layout_info);
311 } catch (const vk::SystemError& e) {
313 "Failed to create pipeline layout: {}", e.what());
314 return nullptr;
315 }
316
318 "Graphics pipeline layout created ({} sets, {} push constant ranges)",
319 config.descriptor_set_layouts.size(), config.push_constant_ranges.size());
320
321 return layout;
322}
#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: