|
LLVM 24.0.0git
|
#include "Target/DirectX/DXILSignatureAnalysis.h"
Public Member Functions | |
| MDTuple * | getAsMetadata (LLVMContext &Ctx, VersionTuple ValidatorVersion) const |
| Return the DXIL input/output/patch-constant signature triple. | |
| void | buildSignatures (mcdxbc::Signature &Input, mcdxbc::Signature &Output, VersionTuple ValidatorVersion) const |
| Append ISG1/OSG1 parameters to the supplied builders. | |
| void | updatePSV (mcdxbc::PSVRuntimeInfo &PSV, VersionTuple ValidatorVersion) const |
| Append PSV signature elements and set vector extents, the dependency map, and stage-specific signature flags. | |
| SmallVector< uint32_t > | getDependencyState () const |
| Return the serialized dx.viewIdState words for this entry: input scalar count, output scalar count, then the input/output dependency table. | |
| void | print (raw_ostream &OS) const |
Public Attributes | |
| Triple::EnvironmentType | Stage |
| SmallVector< hlsl::SemanticSignatureElement > | Inputs |
| SmallVector< hlsl::SemanticSignatureElement > | Outputs |
| unsigned | InputVectors = 0 |
| unsigned | OutputVectors = 0 |
| SmallVector< uint32_t > | InputOutputMap |
| bool | UseNative16Bit = false |
Definition at line 28 of file DXILSignatureAnalysis.h.
| void EntrySignature::buildSignatures | ( | mcdxbc::Signature & | Input, |
| mcdxbc::Signature & | Output, | ||
| VersionTuple | ValidatorVersion ) const |
Append ISG1/OSG1 parameters to the supplied builders.
ValidatorVersion selects legacy component-type and exclusive-mask encoding conventions.
Definition at line 554 of file DXILSignatureAnalysis.cpp.
References buildSignature(), llvm::VersionTuple::empty(), Inputs, llvm::Legacy, Outputs, and UseNative16Bit.
| MDTuple * EntrySignature::getAsMetadata | ( | LLVMContext & | Ctx, |
| VersionTuple | ValidatorVersion ) const |
Return the DXIL input/output/patch-constant signature triple.
Empty input and output lists become null operands; return null if both lists are empty. ValidatorVersion controls which access-mask properties are emitted.
Definition at line 545 of file DXILSignatureAnalysis.cpp.
References emitSignature(), llvm::MDNode::get(), Inputs, and Outputs.
| SmallVector< uint32_t > EntrySignature::getDependencyState | ( | ) | const |
Return the serialized dx.viewIdState words for this entry: input scalar count, output scalar count, then the input/output dependency table.
Scalar counts include padding and equal four times the respective vector extent. Each input scalar has ceil(output scalar count / 32) consecutive words, where bit (4 * row + column) identifies an output scalar.
Definition at line 588 of file DXILSignatureAnalysis.cpp.
References llvm::append_range(), InputOutputMap, InputVectors, and OutputVectors.
| void EntrySignature::print | ( | raw_ostream & | OS | ) | const |
Definition at line 594 of file DXILSignatureAnalysis.cpp.
References Inputs, InputVectors, Outputs, and OutputVectors.
| void EntrySignature::updatePSV | ( | mcdxbc::PSVRuntimeInfo & | PSV, |
| VersionTuple | ValidatorVersion ) const |
Append PSV signature elements and set vector extents, the dependency map, and stage-specific signature flags.
Does not finalize or serialize PSV.
Definition at line 564 of file DXILSignatureAnalysis.cpp.
References llvm::any_of(), llvm::mcdxbc::PSVRuntimeInfo::BaseData, buildPSVElements(), llvm::VersionTuple::empty(), llvm::mcdxbc::PSVRuntimeInfo::InputElements, InputOutputMap, llvm::mcdxbc::PSVRuntimeInfo::InputOutputMap, Inputs, InputVectors, llvm::Legacy, llvm::mcdxbc::PSVRuntimeInfo::OutputElements, llvm::dxbc::VertexPSVInfo::OutputPositionPresent, Outputs, OutputVectors, llvm::Triple::Pixel, llvm::dxbc::PipelinePSVInfo::PS, llvm::dxbc::PixelPSVInfo::SampleFrequency, llvm::dxbc::PSV::v1::RuntimeInfo::SigInputVectors, llvm::dxbc::PSV::v1::RuntimeInfo::SigOutputVectors, Stage, llvm::dxbc::PSV::v0::RuntimeInfo::StageInfo, llvm::Triple::Vertex, and llvm::dxbc::PipelinePSVInfo::VS.
| SmallVector<uint32_t> llvm::dxil::EntrySignature::InputOutputMap |
Definition at line 34 of file DXILSignatureAnalysis.h.
Referenced by buildDependencyMap(), getDependencyState(), and updatePSV().
| SmallVector<hlsl::SemanticSignatureElement> llvm::dxil::EntrySignature::Inputs |
Definition at line 30 of file DXILSignatureAnalysis.h.
Referenced by analyzeAccess(), analyzeModule(), buildDependencyMap(), buildSignatures(), getAsMetadata(), print(), and updatePSV().
| unsigned llvm::dxil::EntrySignature::InputVectors = 0 |
Definition at line 32 of file DXILSignatureAnalysis.h.
Referenced by analyzeModule(), buildDependencyMap(), getDependencyState(), print(), and updatePSV().
| SmallVector<hlsl::SemanticSignatureElement> llvm::dxil::EntrySignature::Outputs |
Definition at line 31 of file DXILSignatureAnalysis.h.
Referenced by analyzeAccess(), analyzeModule(), buildDependencyMap(), buildSignatures(), getAsMetadata(), print(), and updatePSV().
| unsigned llvm::dxil::EntrySignature::OutputVectors = 0 |
Definition at line 33 of file DXILSignatureAnalysis.h.
Referenced by analyzeModule(), buildDependencyMap(), getDependencyState(), print(), and updatePSV().
| Triple::EnvironmentType llvm::dxil::EntrySignature::Stage |
Definition at line 29 of file DXILSignatureAnalysis.h.
Referenced by analyzeModule(), and updatePSV().
| bool llvm::dxil::EntrySignature::UseNative16Bit = false |
Definition at line 35 of file DXILSignatureAnalysis.h.
Referenced by analyzeModule(), and buildSignatures().