Skip to content

LiteFX::Rendering::DescriptorSetLayout

Describes the layout of a descriptor set.

Synopsis

Declared in <litefx/rendering.hpp>

template<
    typename TDescriptorLayout,
    typename TDescriptorSet>
requires meta::implements<TDescriptorLayout, IDescriptorLayout> &&
        meta::implements<TDescriptorSet, DescriptorSet<typename TDescriptorSet::buffer_type, typename TDescriptorSet::image_type, typename TDescriptorSet::sampler_type, typename TDescriptorSet::acceleration_structure_type>>
class DescriptorSetLayout
    : public IDescriptorSetLayout

Description

A descriptor set groups together multiple descriptors. This concept is identified by the set keyword in GLSL and space in HLSL.

For more information on buffer binding and resource management, refer to the remarks of the DescriptorSet interface.

Base Classes

NameDescription
IDescriptorSetLayoutThe interface for a descriptor set layout.

Type Aliases

Member Functions

NameDescription
~DescriptorSetLayout [destructor] [virtual]Destructor
allocate allocate overloads
bindsResources [virtual]Returns true if the descriptor set layout contains bindings for resources (i.e., bindings that aren't samplers) and false otherwise.
bindsSamplers [virtual]Returns true if the descriptor set layout contains bindings for samplers and false otherwise.
buffers [virtual]Returns the number of texel buffer descriptors within the descriptor set.
containsUnboundedArray [virtual]Returns true, if the descriptor set layout contains an unbounded runtime array and false otherwise.
descriptor [virtual]Returns the descriptor layout for the descriptor bound to the binding point provided with binding.
descriptors [virtual]Returns the layouts of the descriptors within the descriptor set.
free Marks a descriptor set as unused, so that it can be handed out again instead of allocating a new one.
getDescriptorOffset [virtual]Returns the offset for a descriptor within a descriptor set of this layout.
images [virtual]Returns the number of image (i.e. texture) descriptors within the descriptor set.
inputAttachments [virtual]Returns the number of input attachment descriptors within the descriptor set.
samplers [virtual]Returns the number of dynamic sampler descriptors within the descriptor set.
shaderStages [virtual]Returns the shader stages, the descriptor set is used in.
shared_from_this Returns a shared pointer to the current object instance.
space [virtual]Returns the space index of the descriptor set.
staticSamplers [virtual]Returns the number of static or immutable sampler descriptors within the descriptor set.
storages [virtual]Returns the number of structured and byte address buffer descriptors within the descriptor set.
uniforms [virtual]Returns the number of uniform/constant buffer descriptors within the descriptor set.
weak_from_this Returns a weak pointer to the current object instance.

Using Declarations

Name
free

Protected Types

NameDescription
Allocator An allocator used to allocate the shared object.

Protected Member Functions

NameDescription
DescriptorSetLayout [constructor]Constructors
operator= Assignment operators

Protected Static Member Functions

NameDescription
create Generic factory method used to create instances of the shared object.

Template Parameters

NameDescription
TDescriptorLayoutThe type of the descriptor layout. Must implement IDescriptorLayout.
TDescriptorSetThe type of the descriptor set. Must implement DescriptorSet.

Derived Classes

NameDescription
DirectX12DescriptorSetLayout Implements a DirectX 12 DescriptorSetLayout.
VulkanDescriptorSetLayout Implements a Vulkan DescriptorSetLayout.

See Also

IDescriptorLayout

DescriptorSet