Diligent Engine
 
Loading...
Searching...
No Matches
Diligent::PipelineResourceSignatureDesc Struct Reference

Pipeline resource signature description. More...

#include <PipelineResourceSignature.h>

Inheritance diagram for Diligent::PipelineResourceSignatureDesc:
Diligent::DeviceObjectAttribs

Public Member Functions

bool operator== (const PipelineResourceSignatureDesc &Rhs) const noexcept
 Tests if two pipeline resource signature descriptions are equal.
 

Public Attributes

const PipelineResourceDescResources = nullptr
 A pointer to an array of resource descriptions. See Diligent::PipelineResourceDesc.
 
Uint32 NumResources = 0
 The number of resources in Resources array.
 
const ImmutableSamplerDescImmutableSamplers = nullptr
 A pointer to an array of immutable samplers. See Diligent::ImmutableSamplerDesc.
 
Uint32 NumImmutableSamplers = 0
 The number of immutable samplers in ImmutableSamplers array.
 
Uint8 BindingIndex = 0
 Binding index that this resource signature uses.
 
Bool UseCombinedTextureSamplers = false
 Whether to use combined texture samplers.
 
const Char * CombinedSamplerSuffix = "_sampler"
 Combined sampler suffix.
 
Uint32 SRBAllocationGranularity = 1
 Shader resource binding allocation granularity.
 
- Public Attributes inherited from Diligent::DeviceObjectAttribs
const Char * Name = nullptr
 Object name.
 

Detailed Description

Pipeline resource signature description.

Member Function Documentation

◆ operator==()

bool Diligent::PipelineResourceSignatureDesc::operator== ( const PipelineResourceSignatureDesc & Rhs) const
inlinenoexcept

Tests if two pipeline resource signature descriptions are equal.

Parameters
[in]Rhs- reference to the structure to compare with.
Returns
true if all members of the two structures except for the Name are equal, and false otherwise.
Note
The operator ignores the Name field as it is used for debug purposes and doesn't affect the pipeline resource signature properties.

Member Data Documentation

◆ BindingIndex

Uint8 Diligent::PipelineResourceSignatureDesc::BindingIndex = 0

Binding index that this resource signature uses.

Every resource signature must be assign to one signature slot. The total number of slots is given by MAX_RESOURCE_SIGNATURES constant. All resource signatures used by a pipeline state must be assigned to different slots.

◆ CombinedSamplerSuffix

const Char* Diligent::PipelineResourceSignatureDesc::CombinedSamplerSuffix = "_sampler"

Combined sampler suffix.

If UseCombinedTextureSamplers is true, defines the suffix added to the texture variable name to get corresponding sampler name. For example, for default value "_sampler", a texture named "tex" will be combined with sampler named "tex_sampler". If UseCombinedTextureSamplers is false, this member is ignored.

◆ SRBAllocationGranularity

Uint32 Diligent::PipelineResourceSignatureDesc::SRBAllocationGranularity = 1

Shader resource binding allocation granularity.

This member defines the allocation granularity for internal resources required by the shader resource binding object instances.

◆ UseCombinedTextureSamplers

Bool Diligent::PipelineResourceSignatureDesc::UseCombinedTextureSamplers = false

Whether to use combined texture samplers.

If set to true, textures will be combined with texture samplers. The CombinedSamplerSuffix member defines the suffix added to the texture variable name to get corresponding sampler name. When using combined samplers, the sampler assigned to the shader resource view is automatically set when the view is bound. Otherwise samplers need to be explicitly set similar to other shader variables.