|
LLVM 24.0.0git
|
#include "DXILRootSignature.h"#include "DXILShaderFlags.h"#include "DXILSignatureAnalysis.h"#include "DXILWriter/DXILWriterPass.h"#include "DirectX.h"#include "MCTargetDesc/DirectXContainerObjectWriter.h"#include "llvm/ADT/SmallVector.h"#include "llvm/ADT/StringExtras.h"#include "llvm/ADT/StringRef.h"#include "llvm/Analysis/DXILMetadataAnalysis.h"#include "llvm/Analysis/DXILResource.h"#include "llvm/BinaryFormat/DXContainer.h"#include "llvm/CodeGen/Passes.h"#include "llvm/IR/Analysis.h"#include "llvm/IR/Constants.h"#include "llvm/IR/Module.h"#include "llvm/IR/PassManager.h"#include "llvm/InitializePasses.h"#include "llvm/MC/DXContainerInfo.h"#include "llvm/MC/DXContainerPSVInfo.h"#include "llvm/MC/MCDXContainerWriter.h"#include "llvm/Pass.h"#include "llvm/Support/CommandLine.h"#include "llvm/Support/Compression.h"#include "llvm/Support/MD5.h"#include "llvm/Support/Path.h"#include "llvm/TargetParser/Triple.h"#include "llvm/Transforms/Utils/ModuleUtils.h"#include <cstdint>Go to the source code of this file.
Variables | |
| static cl::opt< bool > | ShaderHashDependsOnSource ("dx-Zss", cl::desc("Compute Shader Hash considering source information")) |
| dxil container | globals |
| dxil container DXContainer Global | Emitter |
| dxil container DXContainer Global | false |
|
static |
Definition at line 395 of file DXILContainerGlobals.cpp.
References addSection(), llvm::Data, and llvm::mcdxbc::CompilerVersion::write().
Referenced by runContainerGlobalsOnModule().
|
static |
Definition at line 322 of file DXILContainerGlobals.cpp.
References addResourcesForPSV(), addSection(), assert(), llvm::mcdxbc::PSVRuntimeInfo::BaseData, llvm::Triple::Compute, llvm::Data, llvm::mcdxbc::PSVRuntimeInfo::EntryName, llvm::dxil::ModuleMetadataInfo::EntryPropertyVec, llvm::mcdxbc::PSVRuntimeInfo::finalize(), llvm::dxil::ModuleSignatureInfo::get(), llvm::Triple::Library, llvm::dxbc::PSV::v0::RuntimeInfo::MaximumWaveLaneCount, llvm::dxbc::PSV::v0::RuntimeInfo::MinimumWaveLaneCount, llvm::dxbc::PSV::v2::RuntimeInfo::NumThreadsX, llvm::dxbc::PSV::v2::RuntimeInfo::NumThreadsY, llvm::dxbc::PSV::v2::RuntimeInfo::NumThreadsZ, llvm::Triple::Pixel, llvm::Triple::RootSignature, llvm::dxil::ModuleMetadataInfo::ShaderProfile, llvm::dxbc::PSV::v1::RuntimeInfo::ShaderStage, llvm::dxbc::PSV::v1::RuntimeInfo::UsesViewID, llvm::dxil::ModuleMetadataInfo::ValidatorVersion, and llvm::mcdxbc::PSVRuntimeInfo::write().
Referenced by runContainerGlobalsOnModule().
|
static |
Definition at line 240 of file DXILContainerGlobals.cpp.
References assert(), Binding, llvm::dxbc::PSV::ResourceFlags::Bits, llvm::dxil::CBuffer, llvm::DXILResourceMap::cbuffers(), llvm::dxbc::PSV::v2::ResourceBindInfo::Flags, llvm::dxil::ResourceTypeInfo::getResourceKind(), llvm::dxil::ResourceTypeInfo::isStruct(), llvm::dxil::ResourceTypeInfo::isTyped(), llvm::dxbc::PSV::v2::ResourceBindInfo::Kind, llvm::dxbc::PSV::v0::ResourceBindInfo::LowerBound, llvm::mcdxbc::PSVRuntimeInfo::Resources, llvm::dxil::Sampler, llvm::DXILResourceMap::samplers(), llvm::dxbc::PSV::v0::ResourceBindInfo::Space, llvm::DXILResourceMap::srvs(), llvm::dxbc::PSV::v0::ResourceBindInfo::Type, llvm::DXILResourceMap::uavs(), uint64_t, and llvm::dxbc::PSV::v0::ResourceBindInfo::UpperBound.
Referenced by addPipelineStateValidationInfo().
|
static |
Definition at line 208 of file DXILContainerGlobals.cpp.
References addSection(), assert(), llvm::Data, llvm::dxil::ModuleMetadataInfo::EntryPropertyVec, llvm::dxil::RootSignatureBindingInfo::getDescForFunction(), llvm::Triple::Library, llvm::Triple::RootSignature, and llvm::dxil::ModuleMetadataInfo::ShaderProfile.
Referenced by runContainerGlobalsOnModule().
|
static |
Definition at line 99 of file DXILContainerGlobals.cpp.
References buildContainerGlobal(), and llvm::ConstantDataArray::getString().
Referenced by addCompilerVersion(), addPipelineStateValidationInfo(), addRootSignature(), addSourceInfo(), and computeShaderHashAndDebugName().
|
static |
Definition at line 194 of file DXILContainerGlobals.cpp.
References buildSignature(), llvm::dxil::ModuleMetadataInfo::EntryPropertyVec, llvm::dxil::ModuleSignatureInfo::get(), llvm::Triple::Library, llvm::dxil::ModuleMetadataInfo::ShaderProfile, and llvm::dxil::ModuleMetadataInfo::ValidatorVersion.
Referenced by runContainerGlobalsOnModule().
|
static |
Definition at line 406 of file DXILContainerGlobals.cpp.
References addSection(), llvm::Data, llvm::dxil::SourceInDebugModule, and llvm::dxil::ModuleMetadataInfo::SourceInfo.
Referenced by runContainerGlobalsOnModule().
|
static |
Definition at line 78 of file DXILContainerGlobals.cpp.
References llvm::Value::getType(), and llvm::GlobalValue::PrivateLinkage.
Referenced by addSection(), buildSignature(), computeShaderHashAndDebugName(), and getFeatureFlags().
|
static |
Definition at line 180 of file DXILContainerGlobals.cpp.
References buildContainerGlobal(), llvm::Data, llvm::ConstantDataArray::getString(), llvm::Legacy, llvm::dxil::ModuleMetadataInfo::ValidatorVersion, and llvm::mcdxbc::Signature::write().
Referenced by addSignature(), and llvm::dxil::EntrySignature::buildSignatures().
|
static |
Definition at line 108 of file DXILContainerGlobals.cpp.
References addSection(), llvm::sys::path::append(), llvm::arrayRefFromStringRef(), llvm::StringRef::back(), buildContainerGlobal(), llvm::cast(), llvm::Data, llvm::dxbc::ShaderHash::Digest, llvm::MD5::final(), llvm::dxbc::ShaderHash::Flags, llvm::ConstantDataArray::get(), llvm::ConstantDataSequential::getRawDataValues(), llvm::dxbc::IncludesSource, llvm::sys::path::is_separator(), llvm::sys::IsBigEndianHost, llvm::ModuleHashSectionName, llvm::dxil::PdbDebugPath, llvm::PdbFileNameSectionName, llvm::dxil::PdbInPrivate, llvm::reportFatalUsageError(), llvm::mcdxbc::DebugName::setFilename(), ShaderHashDependsOnSource, llvm::MD5::stringifyResult(), llvm::dxbc::ShaderHash::swapBytes(), llvm::MD5::update(), and llvm::mcdxbc::DebugName::write().
Referenced by runContainerGlobalsOnModule().
|
static |
Definition at line 89 of file DXILContainerGlobals.cpp.
References buildContainerGlobal(), and uint64_t.
Referenced by runContainerGlobalsOnModule().
| INITIALIZE_PASS_BEGIN | ( | DXILContainerGlobalsLegacy | , |
| "dxil-container-globals" | , | ||
| "DXContainer Global Emitter" | , | ||
| false | , | ||
| true | ) |
References INITIALIZE_PASS_DEPENDENCY.
|
static |
Definition at line 422 of file DXILContainerGlobals.cpp.
References addCompilerVersion(), addPipelineStateValidationInfo(), addRootSignature(), addSignature(), addSourceInfo(), llvm::appendToCompilerUsed(), computeShaderHashAndDebugName(), getFeatureFlags(), and llvm::SmallVectorTemplateBase< T, bool >::push_back().
Referenced by llvm::DXILContainerGlobalsPass::run().
| dxil container DXContainer Global Emitter |
Definition at line 502 of file DXILContainerGlobals.cpp.
Referenced by llvm::AVRMCELFStreamer::AVRMCELFStreamer(), llvm::AVRMCELFStreamer::AVRMCELFStreamer(), llvm::createAArch64ELFStreamer(), llvm::createAArch64WinCOFFStreamer(), llvm::createAMDGPUELFStreamer(), llvm::createARMELFStreamer(), createARMMachOStreamer(), llvm::createARMWinCOFFStreamer(), createBPFMCStreamer(), createELFStreamer(), createELFStreamer(), createMachOStreamer(), createMachOStreamer(), llvm::Target::createMCObjectStreamer(), createMCStreamer(), createMCStreamer(), createMCStreamer(), createMCStreamer(), createMCStreamer(), llvm::createMipsELFStreamer(), llvm::createPPCELFStreamer(), llvm::createPPCXCOFFStreamer(), llvm::CSKYELFStreamer::CSKYELFStreamer(), llvm::MCDwarfFrameEmitter::emit(), llvm::MCSFrameEmitter::emit(), llvm::dwarf_linker::parallel::DWARFLinkerImpl::emitAppleAcceleratorSections(), llvm::dwarf_linker::parallel::DwarfUnit::emitDebugInfo(), llvm::dwarf_linker::parallel::DWARFLinkerImpl::emitDWARFv5DebugNamesSection(), llvm::PPCELFStreamer::emitInstruction(), llvm::PPCXCOFFStreamer::emitInstruction(), llvm::ScheduleDAGSDNodes::EmitSchedule(), llvm::HexagonMCELFStreamer::HexagonMCELFStreamer(), llvm::HexagonMCELFStreamer::HexagonMCELFStreamer(), llvm::MCAsmBaseStreamer::MCAsmBaseStreamer(), llvm::MCDXContainerStreamer::MCDXContainerStreamer(), llvm::MCELFStreamer::MCELFStreamer(), llvm::MCGOFFStreamer::MCGOFFStreamer(), llvm::MCObjectStreamer::MCObjectStreamer(), llvm::MCSPIRVStreamer::MCSPIRVStreamer(), llvm::MCWasmStreamer::MCWasmStreamer(), llvm::MCXCOFFStreamer::MCXCOFFStreamer(), llvm::MipsELFStreamer::MipsELFStreamer(), llvm::PPCELFStreamer::PPCELFStreamer(), llvm::PPCXCOFFStreamer::PPCXCOFFStreamer(), ProcessSDDbgValues(), ProcessSourceNode(), llvm::dwarf_linker::classic::DWARFLinker::setOutputDWARFEmitter(), and llvm::SystemZHLASMAsmStreamer::SystemZHLASMAsmStreamer().
| dxil container DXContainer Global false |
Definition at line 502 of file DXILContainerGlobals.cpp.
| dxil container globals |
Definition at line 501 of file DXILContainerGlobals.cpp.
|
static |
Referenced by computeShaderHashAndDebugName().