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¶
| Name | Description |
|---|---|
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¶
| Name | Description |
|---|---|
hint_type | Defines the type of the pipeline binding hint. |
Static Member Functions¶
| Name | Description |
|---|---|
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¶
See Also¶
IShaderProgram::reflectPipelineLayout