SPARK  0.1.0
A general purpose game engine written in C++.
Loading...
Searching...
No Matches
spark::render::vk::VulkanPipelineLayout Class Referencefinal

Vulkan implementation of IPipelineLayout. More...

#include <VulkanPipelineLayout.h>

Inheritance diagram for spark::render::vk::VulkanPipelineLayout:
spark::render::PipelineLayout< VulkanDescriptorSetLayout, VulkanPushConstantsLayout > spark::render::Resource< VkPipelineLayout > spark::render::IPipelineLayout spark::render::IResource< VkPipelineLayout >

Classes

struct  Impl
 

Public Member Functions

 VulkanPipelineLayout (const VulkanDevice &device, std::vector< std::unique_ptr< VulkanDescriptorSetLayout > > &&descriptor_set_layouts, std::unique_ptr< VulkanPushConstantsLayout > &&push_constants_layout)
 Initializes a new VulkanPipelineLayout.
 
 VulkanPipelineLayout (const VulkanPipelineLayout &other)=delete
 
 VulkanPipelineLayout (VulkanPipelineLayout &&other) noexcept=delete
 
VulkanPipelineLayoutoperator= (const VulkanPipelineLayout &other)=delete
 
VulkanPipelineLayoutoperator= (VulkanPipelineLayout &&other) noexcept=delete
 
const VulkanDevicedevice () const noexcept
 Gets the parent VulkanDevice the pipeline layout layout has been created from.
 
const VulkanDescriptorSetLayoutdescriptorSet (unsigned space) const override
 Gets the descriptor set layout bound to the given space.
 
std::vector< const VulkanDescriptorSetLayout * > descriptorSets () const noexcept override
 Gets all descriptor set layouts the pipeline has been initialized with.
 
const VulkanPushConstantsLayoutpushConstants () const noexcept override
 Gets the push constants layout, or nullptr, if the pipeline does not use any push constants.
 
- Public Member Functions inherited from spark::render::PipelineLayout< VulkanDescriptorSetLayout, VulkanPushConstantsLayout >
const descriptor_set_layout_type & descriptorSet (unsigned int space) const override=0
 Gets the descriptor set layout bound to the given space.
 
- Public Member Functions inherited from spark::render::IPipelineLayout
std::vector< const IDescriptorSetLayout * > descriptorSets () const noexcept
 Gets all descriptor set layouts the pipeline has been initialized with.
 
- Public Member Functions inherited from spark::render::Resource< VkPipelineLayout >
 Resource (VkPipelineLayout handle) noexcept
 Initializes the managed resource with the given handle.
 
 Resource (const Resource &other)=delete
 
 Resource (Resource &&other) noexcept=delete
 
Resourceoperator= (const Resource &other)=delete
 
Resourceoperator= (Resource &&other) noexcept=delete
 
const VkPipelineLayout & handle () const final
 Gets the managed resource handle.
 

Additional Inherited Members

- Public Types inherited from spark::render::PipelineLayout< VulkanDescriptorSetLayout, VulkanPushConstantsLayout >
using descriptor_set_layout_type
 
using push_constants_layout_type
 
- Public Types inherited from spark::render::IResource< VkPipelineLayout >
using handle_type
 
- Protected Member Functions inherited from spark::render::Resource< VkPipelineLayout >
VkPipelineLayout & handle () final
 Gets the managed resource handle.
 

Detailed Description

Vulkan implementation of IPipelineLayout.

Constructor & Destructor Documentation

◆ VulkanPipelineLayout()

spark::render::vk::VulkanPipelineLayout::VulkanPipelineLayout ( const VulkanDevice & device,
std::vector< std::unique_ptr< VulkanDescriptorSetLayout > > && descriptor_set_layouts,
std::unique_ptr< VulkanPushConstantsLayout > && push_constants_layout )
explicit

Initializes a new VulkanPipelineLayout.

Parameters
deviceThe parent VulkanDevice, the pipeline layout is created from.
descriptor_set_layoutsThe descriptor set layouts used by the pipeline.
push_constants_layoutThe push constants layout used by the pipeline.

Member Function Documentation

◆ descriptorSet()

const VulkanDescriptorSetLayout & spark::render::vk::VulkanPipelineLayout::descriptorSet ( unsigned space) const
nodiscardoverride

Gets the descriptor set layout bound to the given space.

Parameters
spaceThe space to request the descriptor set layout for.
Returns
A pointer to the IDescriptorSetLayout bound to the given space.

◆ descriptorSets()

std::vector< const VulkanDescriptorSetLayout * > spark::render::vk::VulkanPipelineLayout::descriptorSets ( ) const
nodiscardoverridevirtualnoexcept

Gets all descriptor set layouts the pipeline has been initialized with.

Returns
A std::vector of IDescriptorSetLayout pointers the pipeline has been initialized with.

Implements spark::render::PipelineLayout< VulkanDescriptorSetLayout, VulkanPushConstantsLayout >.

◆ device()

const VulkanDevice & spark::render::vk::VulkanPipelineLayout::device ( ) const
nodiscardnoexcept

Gets the parent VulkanDevice the pipeline layout layout has been created from.

Returns
The parent VulkanDevice the pipeline layout layout has been created from.

◆ pushConstants()

const VulkanPushConstantsLayout * spark::render::vk::VulkanPipelineLayout::pushConstants ( ) const
nodiscardoverridevirtualnoexcept

Gets the push constants layout, or nullptr, if the pipeline does not use any push constants.

Returns
A pointer to the IPushConstantsLayout, or nullptr, if the pipeline does not use any push constants.

Implements spark::render::PipelineLayout< VulkanDescriptorSetLayout, VulkanPushConstantsLayout >.