LiteFX 0.4.1.2025
Computer Graphics Engine
Loading...
Searching...
No Matches
LiteFX::Rendering::IPipelineLayout Class Referenceabstract

The interface for a pipeline layout. More...

#include <rendering_api.hpp>

Inherits LiteFX::SharedObject.

Inherited by LiteFX::Rendering::PipelineLayout< DirectX12DescriptorSetLayout, DirectX12PushConstantsLayout >, LiteFX::Rendering::PipelineLayout< VulkanDescriptorSetLayout, VulkanPushConstantsLayout >, and LiteFX::Rendering::PipelineLayout< TDescriptorSetLayout, TPushConstantsLayout >.

Public Member Functions

 ~IPipelineLayout () noexcept override=default
 
virtual const IDescriptorSetLayoutdescriptorSet (UInt32 space) const =0
 Returns the descriptor set layout for the descriptor set that is bound to the space provided by space .
 
Enumerable< SharedPtr< const IDescriptorSetLayout > > descriptorSets () const
 Returns all descriptor set layouts, the pipeline has been initialized with.
 
virtual const IPushConstantsLayoutpushConstants () const noexcept=0
 Returns the push constants layout, or nullptr, if the pipeline does not use any push constants.
 
- Public Member Functions inherited from LiteFX::SharedObject
virtual ~SharedObject () noexcept=default
 Destroys the shared object.
 
template<typename TSelf >
auto shared_from_this (this TSelf &&self) noexcept
 Returns a shared pointer to the current object instance.
 
template<typename TSelf >
auto weak_from_this (this TSelf &&self) noexcept -> WeakPtr< std::remove_reference_t< TSelf > >
 Returns a weak pointer to the current object instance.
 

Protected Member Functions

 IPipelineLayout () noexcept=default
 
 IPipelineLayout (const IPipelineLayout &)=default
 
 IPipelineLayout (IPipelineLayout &&) noexcept=default
 
IPipelineLayoutoperator= (const IPipelineLayout &)=default
 
IPipelineLayoutoperator= (IPipelineLayout &&) noexcept=default
 
- Protected Member Functions inherited from LiteFX::SharedObject
 SharedObject () noexcept=default
 Initializes a new shared object.
 
 SharedObject (SharedObject &&) noexcept=default
 
 SharedObject (const SharedObject &)=default
 
SharedObjectoperator= (SharedObject &&) noexcept=default
 
SharedObjectoperator= (const SharedObject &)=default
 

Additional Inherited Members

- Static Protected Member Functions inherited from LiteFX::SharedObject
template<typename T , typename... TArgs>
static auto create (TArgs &&... args) -> SharedPtr< T >
 Generic factory method used to create instances of the shared object.
 

Detailed Description

The interface for a pipeline layout.

Constructor & Destructor Documentation

◆ IPipelineLayout() [1/3]

LiteFX::Rendering::IPipelineLayout::IPipelineLayout ( )
protecteddefaultnoexcept

◆ IPipelineLayout() [2/3]

LiteFX::Rendering::IPipelineLayout::IPipelineLayout ( const IPipelineLayout & )
protecteddefault

◆ IPipelineLayout() [3/3]

LiteFX::Rendering::IPipelineLayout::IPipelineLayout ( IPipelineLayout && )
protecteddefaultnoexcept

◆ ~IPipelineLayout()

LiteFX::Rendering::IPipelineLayout::~IPipelineLayout ( )
overridedefaultnoexcept

Member Function Documentation

◆ descriptorSet()

virtual const IDescriptorSetLayout & LiteFX::Rendering::IPipelineLayout::descriptorSet ( UInt32 space) const
pure virtual

Returns the descriptor set layout for the descriptor set that is bound to the space provided by space .

Parameters
spaceThe space to request the descriptor set layout for.
Returns
The descriptor set layout for the descriptor set that is bound to the space provided by space .

Implemented in LiteFX::Rendering::Backends::DirectX12PipelineLayout, LiteFX::Rendering::Backends::VulkanPipelineLayout, LiteFX::Rendering::PipelineLayout< TDescriptorSetLayout, TPushConstantsLayout >, LiteFX::Rendering::PipelineLayout< DirectX12DescriptorSetLayout, DirectX12PushConstantsLayout >, and LiteFX::Rendering::PipelineLayout< VulkanDescriptorSetLayout, VulkanPushConstantsLayout >.

◆ descriptorSets()

Enumerable< SharedPtr< const IDescriptorSetLayout > > LiteFX::Rendering::IPipelineLayout::descriptorSets ( ) const
inline

Returns all descriptor set layouts, the pipeline has been initialized with.

Returns
All descriptor set layouts, the pipeline has been initialized with.

◆ operator=() [1/2]

IPipelineLayout & LiteFX::Rendering::IPipelineLayout::operator= ( const IPipelineLayout & )
protecteddefault

◆ operator=() [2/2]

IPipelineLayout & LiteFX::Rendering::IPipelineLayout::operator= ( IPipelineLayout && )
protecteddefaultnoexcept

◆ pushConstants()

virtual const IPushConstantsLayout * LiteFX::Rendering::IPipelineLayout::pushConstants ( ) const
pure virtualnoexcept