LLVM: lib/Target/DirectX/DXILPostOptimizationValidation.cpp File Reference (original) (raw)

Go to the source code of this file.

Functions
static ResourceClass toResourceClass (dxbc::RootParameterType Type)
static void reportInvalidDirection (Module &M, DXILResourceMap &DRM)
static void reportOverlappingError (Module &M, ResourceInfo R1, ResourceInfo R2)
static void reportOverlappingBinding (Module &M, DXILResourceMap &DRM)
static void reportInvalidHandleTyError (Module &M, ResourceClass RC, ResourceInfo::ResourceBinding Binding)
static void reportOverlappingRegisters (Module &M, const llvm::hlsl::Binding &R1, const llvm::hlsl::Binding &R2)
static void reportRegNotBound (Module &M, ResourceClass Class, const llvm::dxil::ResourceInfo::ResourceBinding &Unbound)
static dxbc::ShaderVisibility tripleToVisibility (llvm::Triple::EnvironmentType ET)
static void reportIfDeniedShaderStageAccess (Module &M, const dxbc::RootFlags &Flags, const dxbc::RootFlags &Mask)
static std::optional< dxbc::RootFlags > getEnvironmentDenyFlagMask (Triple::EnvironmentType ShaderProfile)
static void validateRootSignature (Module &M, const mcdxbc::RootSignatureDesc &RSD, dxil::ModuleMetadataInfo &MMI, DXILResourceMap &DRM, DXILResourceTypeMap &DRTM)
static mcdxbc::RootSignatureDesc * getRootSignature (RootSignatureBindingInfo &RSBI, dxil::ModuleMetadataInfo &MMI)
static void reportErrors (Module &M, DXILResourceMap &DRM, DXILResourceBindingInfo &DRBI, RootSignatureBindingInfo &RSBI, dxil::ModuleMetadataInfo &MMI, DXILResourceTypeMap &DRTM)
INITIALIZE_PASS_BEGIN (DXILPostOptimizationValidationLegacy, DEBUG_TYPE, "DXIL Post Optimization Validation", false, false) INITIALIZE_PASS_END(DXILPostOptimizationValidationLegacy

DEBUG_TYPE

getEnvironmentDenyFlagMask()

getRootSignature()

INITIALIZE_PASS_BEGIN()

INITIALIZE_PASS_BEGIN ( DXILPostOptimizationValidationLegacy ,
DEBUG_TYPE ,
"DXIL Post Optimization Validation" ,
false ,
false )

reportErrors()

reportIfDeniedShaderStageAccess()

reportInvalidDirection()

reportInvalidHandleTyError()

reportOverlappingBinding()

reportOverlappingError()

reportOverlappingRegisters()

reportRegNotBound()

toResourceClass()

tripleToVisibility()

validateRootSignature()

Definition at line 198 of file DXILPostOptimizationValidation.cpp.

References Binding, llvm::dxil::CBuffer, llvm::hlsl::BoundRegs::findBoundReg(), llvm::mcdxbc::RootSignatureDesc::Flags, llvm::mcdxbc::RootParametersContainer::getConstant(), llvm::mcdxbc::RootParametersContainer::getDescriptorTable(), getEnvironmentDenyFlagMask(), llvm::dxil::ResourceTypeInfo::getResourceClass(), llvm::dxil::ResourceTypeInfo::getResourceKind(), llvm::mcdxbc::RootParametersContainer::getRootDescriptor(), llvm::mcdxbc::RootParameterInfo::Location, llvm::mcdxbc::RootSignatureDesc::ParametersContainer, Range, llvm::mcdxbc::DescriptorTable::Ranges, llvm::dxil::RawBuffer, Reg, llvm::mcdxbc::StaticSampler::RegisterSpace, reportIfDeniedShaderStageAccess(), reportInvalidHandleTyError(), reportOverlappingRegisters(), reportRegNotBound(), llvm::dxil::Sampler, llvm::dxil::ModuleMetadataInfo::ShaderProfile, llvm::mcdxbc::StaticSampler::ShaderRegister, llvm::dxil::SRV, llvm::mcdxbc::RootSignatureDesc::StaticSamplers, llvm::dxil::StructuredBuffer, toResourceClass(), tripleToVisibility(), llvm::mcdxbc::RootParameterInfo::Type, llvm::dxil::UAV, and llvm::mcdxbc::RootParameterInfo::Visibility.

Referenced by reportErrors().

DEBUG_TYPE

false

Validation