LiteFX 0.4.1.2025
Computer Graphics Engine
|
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 UInt32 | size () const noexcept=0 |
Returns the size (in bytes) of the push constants backing memory. | |
virtual const IPushConstantsRange & | range (ShaderStage stage) const =0 |
Returns the push constant range associated with the shader stage provided in stage . | |
Enumerable< const IPushConstantsRange & > | ranges () const |
Returns all push constant ranges. | |
Protected Member Functions | |
IPushConstantsLayout () noexcept=default | |
IPushConstantsLayout (const IPushConstantsLayout &)=default | |
IPushConstantsLayout (IPushConstantsLayout &&) noexcept=default | |
IPushConstantsLayout & | operator= (const IPushConstantsLayout &)=default |
IPushConstantsLayout & | operator= (IPushConstantsLayout &&) noexcept=default |
The interface for a push constants layout.
|
protecteddefaultnoexcept |
|
protecteddefault |
|
protecteddefaultnoexcept |
|
virtualdefaultnoexcept |
|
protecteddefault |
|
protecteddefaultnoexcept |
|
pure virtual |
Returns the push constant range associated with the shader stage provided in stage .
stage | The shader stage to request the associated push constant range for. Specifying multiple stages is not supported and will raise an exception. |
ArgumentOutOfRangeException | Thrown, if no range is mapped to the provided shader stage. |
InvalidArgumentException | Thrown, if stage contains multiple shader stages. |
Implemented in LiteFX::Rendering::Backends::DirectX12PushConstantsLayout, and LiteFX::Rendering::Backends::VulkanPushConstantsLayout.
|
inline |
|
pure virtualnoexcept |
Returns the size (in bytes) of the push constants backing memory.
Implemented in LiteFX::Rendering::Backends::DirectX12PushConstantsLayout, and LiteFX::Rendering::Backends::VulkanPushConstantsLayout.