VPP  0.7
A high-level modern C++ API for Vulkan
Public Member Functions | List of all members
vpp::PipelineLayout< DefinitionT > Class Template Reference

Pipeline layout template for a graphics pipeline. Use to create actual pipeline layout (Vulkan objects) from abstract representation in the form of PipelineConfig object. More...

#include <vppPipelineLayout.hpp>

Public Member Functions

template<typename... Args>
 PipelineLayout (const Process &hProcess, const Device &hDevice, Args... args)
 Constructs a pipeline layout attached to specified Process and Device, with optional list of user-specific arguments. The constructor pass the extra arguments to the DefinitionT constructor.
 
VkPipelineLayout handle () const
 Retrieves Vulkan handle for the pipeline layout.
 
const Devicedevice () const
 Retrieves the device.
 
DefinitionT & definition ()
 Retrieves the definition object. Useful to call resource binding methods defined in your pipeline config from Process command sequence.
 
const DefinitionT & definition () const
 

Detailed Description

template<class DefinitionT>
class vpp::PipelineLayout< DefinitionT >

Pipeline layout template for a graphics pipeline. Use to create actual pipeline layout (Vulkan objects) from abstract representation in the form of PipelineConfig object.

Place an instance of PipelineLayout inside your rendering engine class. As the DefinitionT type, supply your custom class derived from PipelineConfig.

In the constructor, provide references to parent Process (as a pipeline is always bound to some Process), target Device and any number of your own arguments. Those optional arguments will be passed to the constructor of your PipelineConfig subclass. You can parameterize your PipelineConfig this way.

After construction, register the PipelineLayout in your RenderPass object by calling RenderPass::addPipeline().

The PipelineLayout template creates an instance of DefinitionT internally. Optionally you can pass your own arguments to the constructor. You can retrieve the definition object by calling definition() method.

Member Function Documentation

◆ definition()

template<class DefinitionT>
const DefinitionT& vpp::PipelineLayout< DefinitionT >::definition ( ) const

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.


The documentation for this class was generated from the following file: