LiteFX 0.3.1.2022
Computer Graphics Engine
LiteFX::Rendering::Backends::VulkanPushConstantsLayout Class Reference

Implements the Vulkan PushConstantsLayout. More...

#include <vulkan.hpp>

Inherits LiteFX::Rendering::PushConstantsLayout< VulkanPushConstantsRange >.

Classes

class  VulkanPushConstantsLayoutImpl
 

Public Member Functions

 VulkanPushConstantsLayout (Array< UniquePtr< VulkanPushConstantsRange > > &&ranges, const UInt32 &size)
 Initializes a new push constants layout. More...
 
 VulkanPushConstantsLayout (const VulkanPushConstantsLayout &)=delete
 
 VulkanPushConstantsLayout (VulkanPushConstantsLayout &&)=delete
 
virtual ~VulkanPushConstantsLayout () noexcept
 
virtual const VulkanPipelineLayoutpipelineLayout () const
 Returns the parent pipeline layout, the push constants are described for. More...
 
virtual const UInt32size () const noexcept override
 Returns the size (in bytes) of the push constants backing memory. More...
 
virtual const VulkanPushConstantsRangerange (const ShaderStage &stage) const override
 Returns the push constant range associated with the shader stage provided in stage . More...
 
virtual Array< const VulkanPushConstantsRange * > ranges () const noexcept override
 
- Public Member Functions inherited from LiteFX::Rendering::PushConstantsLayout< VulkanPushConstantsRange >
virtual ~PushConstantsLayout () noexcept=default
 
virtual Array< const push_constants_range_type * > ranges () const noexcept=0
 
- Public Member Functions inherited from LiteFX::Rendering::IPushConstantsLayout
virtual ~IPushConstantsLayout () noexcept=default
 
virtual const UInt32size () const noexcept=0
 Returns the size (in bytes) of the push constants backing memory. More...
 
virtual const IPushConstantsRangerange (const ShaderStage &stage) const =0
 Returns the push constant range associated with the shader stage provided in stage . More...
 
Array< const IPushConstantsRange * > ranges () const noexcept
 Returns all push constant ranges. More...
 

Friends

class VulkanPipelineLayout
 

Additional Inherited Members

- Public Types inherited from LiteFX::Rendering::PushConstantsLayout< VulkanPushConstantsRange >
using push_constants_range_type = VulkanPushConstantsRange
 

Detailed Description

Implements the Vulkan PushConstantsLayout.

See also
VulkanPushConstantsRange, VulkanPushConstantsLayoutBuilder, VulkanPushConstantsLayoutBuilder

Constructor & Destructor Documentation

◆ VulkanPushConstantsLayout() [1/3]

VulkanPushConstantsLayout::VulkanPushConstantsLayout ( Array< UniquePtr< VulkanPushConstantsRange > > &&  ranges,
const UInt32 size 
)
explicit

Initializes a new push constants layout.

Parameters
rangesThe ranges contained by the layout.
sizeThe overall size (in bytes) of the push constants backing memory.

◆ VulkanPushConstantsLayout() [2/3]

LiteFX::Rendering::Backends::VulkanPushConstantsLayout::VulkanPushConstantsLayout ( const VulkanPushConstantsLayout )
delete

◆ VulkanPushConstantsLayout() [3/3]

LiteFX::Rendering::Backends::VulkanPushConstantsLayout::VulkanPushConstantsLayout ( VulkanPushConstantsLayout &&  )
delete

◆ ~VulkanPushConstantsLayout()

VulkanPushConstantsLayout::~VulkanPushConstantsLayout ( )
virtualdefaultnoexcept

Member Function Documentation

◆ pipelineLayout()

const VulkanPipelineLayout & VulkanPushConstantsLayout::pipelineLayout ( ) const
virtual

Returns the parent pipeline layout, the push constants are described for.

Returns
A reference of the parent pipeline layout.

◆ range()

const VulkanPushConstantsRange & VulkanPushConstantsLayout::range ( const ShaderStage &  stage) const
overridevirtual

Returns the push constant range associated with the shader stage provided in stage .

Implements LiteFX::Rendering::IPushConstantsLayout.

◆ ranges()

Array< const VulkanPushConstantsRange * > VulkanPushConstantsLayout::ranges ( ) const
overridevirtualnoexcept

◆ size()

const UInt32 & VulkanPushConstantsLayout::size ( ) const
overridevirtualnoexcept

Returns the size (in bytes) of the push constants backing memory.

Implements LiteFX::Rendering::IPushConstantsLayout.

Friends And Related Function Documentation

◆ VulkanPipelineLayout

friend class VulkanPipelineLayout
friend