LiteFX 0.3.1.2022
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 const UInt32 & | size () const noexcept=0 |
Returns the size (in bytes) of the push constants backing memory. More... | |
virtual const IPushConstantsRange & | range (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... | |
The interface for a push constants layout.
|
virtualdefaultnoexcept |
|
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.
|
inlinenoexcept |
|
pure virtualnoexcept |
Returns the size (in bytes) of the push constants backing memory.
Implemented in LiteFX::Rendering::Backends::DirectX12PushConstantsLayout, and LiteFX::Rendering::Backends::VulkanPushConstantsLayout.