LLVM: llvm::hlsl::BindingInfoBuilder Class Reference (original) (raw)
Builder class for creating a /c BindingInfo. More...
#include "[llvm/Frontend/HLSL/HLSLBinding.h](HLSLBinding%5F8h%5Fsource.html)"
| Public Member Functions | |
|---|---|
| void | trackBinding (dxil::ResourceClass RC, uint32_t Space, uint32_t LowerBound, uint32_t UpperBound, const void *Cookie) |
| LLVM_ABI BindingInfo | calculateBindingInfo (llvm::function_ref< void(const BindingInfoBuilder &Builder, const Binding &Overlapping)> ReportOverlap) |
| Calculate the binding info - ReportOverlap will be called once for each overlapping binding. | |
| BindingInfo | calculateBindingInfo (bool &HasOverlap) |
| Calculate the binding info - HasOverlap will be set to indicate whether there are any overlapping bindings. | |
| LLVM_ABI BoundRegs | takeBoundRegs () |
| LLVM_ABI const Binding & | findOverlapping (const Binding &ReportedBinding) const |
| For use in the ReportOverlap callback of calculateBindingInfo - finds a binding that the ReportedBinding overlaps with. |
Builder class for creating a /c BindingInfo.
Definition at line 153 of file HLSLBinding.h.
◆ calculateBindingInfo() [1/2]
| BindingInfo llvm::hlsl::BindingInfoBuilder::calculateBindingInfo ( bool & HasOverlap) | inline |
|---|
◆ calculateBindingInfo() [2/2]
Calculate the binding info - ReportOverlap will be called once for each overlapping binding.
Definition at line 69 of file HLSLBinding.cpp.
References assert(), B(), llvm::hlsl::BindingInfo::RegisterSpace::FreeRanges, llvm::hlsl::BindingInfo::BindingRange::LowerBound, llvm::hlsl::BindingInfo::BindingSpaces::RC, llvm::hlsl::BindingInfo::RegisterSpace::Space, llvm::hlsl::BindingInfo::BindingSpaces::Spaces, llvm::dxil::SRV, llvm::stable_sort(), llvm::unique(), and llvm::hlsl::BindingInfo::BindingRange::UpperBound.
Referenced by calculateBindingInfo().
◆ findOverlapping()
◆ takeBoundRegs()
◆ trackBinding()
The documentation for this class was generated from the following files:
- include/llvm/Frontend/HLSL/HLSLBinding.h
- lib/Frontend/HLSL/HLSLBinding.cpp