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