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

Implements the Vulkan IPushConstantsRange. More...

#include <vulkan.hpp>

Inherits LiteFX::Rendering::IPushConstantsRange.

Classes

class  VulkanPushConstantsRangeImpl
 

Public Member Functions

 VulkanPushConstantsRange (const ShaderStage &shaderStage, const UInt32 &offset, const UInt32 &size, const UInt32 &space, const UInt32 &binding)
 Initializes a new push constants range. More...
 
 VulkanPushConstantsRange (const VulkanPushConstantsRange &)=delete
 
 VulkanPushConstantsRange (VulkanPushConstantsRange &&)=delete
 
virtual ~VulkanPushConstantsRange () noexcept
 
virtual const UInt32space () const noexcept override
 Returns the shader space the push constants can be accessed from. More...
 
virtual const UInt32binding () const noexcept override
 Returns the binding point or register, the push constants are made available at. More...
 
virtual const UInt32offset () const noexcept override
 Returns the offset from the push constants backing memory block, the range starts at. More...
 
virtual const UInt32size () const noexcept override
 Returns the size (in bytes) of the range. More...
 
virtual const ShaderStage & stage () const noexcept override
 Returns the shader stage(s), the range is accessible from. More...
 
- Public Member Functions inherited from LiteFX::Rendering::IPushConstantsRange
virtual ~IPushConstantsRange () noexcept=default
 
virtual const UInt32space () const noexcept=0
 Returns the shader space the push constants can be accessed from. More...
 
virtual const UInt32binding () const noexcept=0
 Returns the binding point or register, the push constants are made available at. More...
 
virtual const UInt32offset () const noexcept=0
 Returns the offset from the push constants backing memory block, the range starts at. More...
 
virtual const UInt32size () const noexcept=0
 Returns the size (in bytes) of the range. More...
 
virtual const ShaderStage & stage () const noexcept=0
 Returns the shader stage(s), the range is accessible from. More...
 

Detailed Description

Implements the Vulkan IPushConstantsRange.

See also
VulkanPushConstantsLayout

Constructor & Destructor Documentation

◆ VulkanPushConstantsRange() [1/3]

VulkanPushConstantsRange::VulkanPushConstantsRange ( const ShaderStage &  shaderStage,
const UInt32 offset,
const UInt32 size,
const UInt32 space,
const UInt32 binding 
)
explicit

Initializes a new push constants range.

Parameters
shaderStageThe shader stage, that access the push constants from the range.
offsetThe offset relative to the parent push constants backing memory that marks the beginning of the range.
sizeThe size of the push constants range.
spaceThe space from which the push constants of the range will be accessible in the shader.
bindingThe register from which the push constants of the range will be accessible in the shader.

◆ VulkanPushConstantsRange() [2/3]

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

◆ VulkanPushConstantsRange() [3/3]

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

◆ ~VulkanPushConstantsRange()

VulkanPushConstantsRange::~VulkanPushConstantsRange ( )
virtualdefaultnoexcept

Member Function Documentation

◆ binding()

const UInt32 & VulkanPushConstantsRange::binding ( ) const
overridevirtualnoexcept

Returns the binding point or register, the push constants are made available at.

Implements LiteFX::Rendering::IPushConstantsRange.

◆ offset()

const UInt32 & VulkanPushConstantsRange::offset ( ) const
overridevirtualnoexcept

Returns the offset from the push constants backing memory block, the range starts at.

Implements LiteFX::Rendering::IPushConstantsRange.

◆ size()

const UInt32 & VulkanPushConstantsRange::size ( ) const
overridevirtualnoexcept

Returns the size (in bytes) of the range.

Implements LiteFX::Rendering::IPushConstantsRange.

◆ space()

const UInt32 & VulkanPushConstantsRange::space ( ) const
overridevirtualnoexcept

Returns the shader space the push constants can be accessed from.

Implements LiteFX::Rendering::IPushConstantsRange.

◆ stage()

const ShaderStage & VulkanPushConstantsRange::stage ( ) const
overridevirtualnoexcept

Returns the shader stage(s), the range is accessible from.

Implements LiteFX::Rendering::IPushConstantsRange.