LiteFX 0.3.1.2022
Computer Graphics Engine
LiteFX::Rendering::IPushConstantsLayout Class Referenceabstract

The interface for a push constants layout. More...

#include <rendering_api.hpp>

Inherited by LiteFX::Rendering::PushConstantsLayout< DirectX12PushConstantsRange >, LiteFX::Rendering::PushConstantsLayout< VulkanPushConstantsRange >, and LiteFX::Rendering::PushConstantsLayout< TPushConstantsRange >.

Public Member Functions

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...
 

Detailed Description

The interface for a push constants layout.

Constructor & Destructor Documentation

◆ ~IPushConstantsLayout()

virtual LiteFX::Rendering::IPushConstantsLayout::~IPushConstantsLayout ( )
virtualdefaultnoexcept

Member Function Documentation

◆ range()

virtual const IPushConstantsRange & LiteFX::Rendering::IPushConstantsLayout::range ( const ShaderStage &  stage) const
pure virtual

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

Parameters
stageThe shader stage to request the associated push constant range for. Specifying multiple stages is not supported and will raise an exception.
Returns
The push constant range associated with the provided shader stage.
Exceptions
ArgumentOutOfRangeExceptionThrown, if no range is mapped to the provided shader stage.
InvalidArgumentExceptionThrown, if stage contains multiple shader stages.
See also
ranges

Implemented in LiteFX::Rendering::Backends::DirectX12PushConstantsLayout, and LiteFX::Rendering::Backends::VulkanPushConstantsLayout.

◆ ranges()

Array< const IPushConstantsRange * > LiteFX::Rendering::IPushConstantsLayout::ranges ( ) const
inlinenoexcept

Returns all push constant ranges.

Returns
All push constant ranges.
See also
range

◆ size()

virtual const UInt32 & LiteFX::Rendering::IPushConstantsLayout::size ( ) const
pure virtualnoexcept

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

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

Implemented in LiteFX::Rendering::Backends::DirectX12PushConstantsLayout, and LiteFX::Rendering::Backends::VulkanPushConstantsLayout.