Skip to content

LiteFX::Rendering::PipelineBindingHint

A hint used during shader reflection to control the pipeline layout.

Synopsis

Declared in <litefx/rendering_api.hpp>

struct [[dllimport, dllexport]] PipelineBindingHint;

Description

Hints are generally used to express the desired layout to backends that cannot infer them implicitly. They do not imply an enforcement of the layout otherwise. For example, hinting a push constants range when performing shader reflection in Vulkan, where push constants are supported by the reflection library, will not affect the ultimate decision on whether the layout will contain a push constants range. In this case, shader reflection will always emit a push constants range.

Backends do emit diagnostic log messages, if a hint is given that it will ignore. Hints for descriptors that are not bound will silently be ignored.

Types

NameDescription
DescriptorHeapHint Defines a hint that is used to initialize a dynamic descriptor heap.
PushConstantsHint Defines a hint that is used to mark a push constants range.
ShaderStageHint Defines a hint that is used to mark additional a binding as used by certain shader stages.
StaticSamplerHint Defines a hint that is used to bind a static sampler state to a sampler descriptor.
UnboundedArrayHint Defines a hint that is used to mark an unbounded descriptor array.

Type Aliases

NameDescription
hint_type Defines the type of the pipeline binding hint.

Static Member Functions

NameDescription
pushConstants Initializes a hint that binds push constants.
resourceHeap Initializes a hint that binds a proxy descriptor set to access the resource heap at the provided binding point.
runtimeArray Initializes a hint that binds an unbounded runtime array.
samplerHeap Initializes a hint that binds a proxy descriptor set to access the sampler heap at the provided binding point.
shaderStage Initializes a hint provides additional shader stages, that may be not covered by shader reflection.
staticSampler Initializes a hint that binds a static sampler, if supported by the backend.

Data Members

NameDescription
Binding The binding point the hint applies to.
Hint Stores the underlying hint.

See Also

IShaderProgram::reflectPipelineLayout