LLVM: llvm::hlsl::BindingInfo Class Reference (original) (raw)

BindingInfo represents the ranges of bindings and free space for each dxil::ResourceClass.

This can represent HLSL-level bindings as well as bindings described in root signatures, and can be used for analysis of overlapping or missing bindings as well as for finding space for implicit bindings.

As an example, given these resource bindings:

RWBuffer A[10] : register(u3); RWBuffer B[] : register(u5, space2)

The binding info for UAV bindings should look like this:

UAVSpaces { ResClass = ResourceClass::UAV, Spaces = { { Space = 0u, FreeRanges = {{ 0u, 2u }, { 13u, ~0u }} }, { Space = 2u, FreeRanges = {{ 0u, 4u }} } } }

Definition at line 46 of file HLSLBinding.h.