Lines Matching full:dxil
1 //===- DXILPrettyPrinter.cpp - Print resources for textual DXIL -----------===//
23 static StringRef getRCName(dxil::ResourceClass RC) {
25 case dxil::ResourceClass::SRV:
27 case dxil::ResourceClass::UAV:
29 case dxil::ResourceClass::CBuffer:
31 case dxil::ResourceClass::Sampler:
37 static StringRef getRCPrefix(dxil::ResourceClass RC) {
39 case dxil::ResourceClass::SRV:
41 case dxil::ResourceClass::UAV:
43 case dxil::ResourceClass::CBuffer:
45 case dxil::ResourceClass::Sampler:
51 static StringRef getFormatName(const dxil::ResourceTypeInfo &RI) {
54 case dxil::ElementType::I1:
56 case dxil::ElementType::I16:
58 case dxil::ElementType::U16:
60 case dxil::ElementType::I32:
62 case dxil::ElementType::U32:
64 case dxil::ElementType::I64:
66 case dxil::ElementType::U64:
68 case dxil::ElementType::F16:
70 case dxil::ElementType::F32:
72 case dxil::ElementType::F64:
74 case dxil::ElementType::SNormF16:
76 case dxil::ElementType::UNormF16:
78 case dxil::ElementType::SNormF32:
80 case dxil::ElementType::UNormF32:
82 case dxil::ElementType::SNormF64:
84 case dxil::ElementType::UNormF64:
86 case dxil::ElementType::PackedS8x32:
88 case dxil::ElementType::PackedU8x32:
90 case dxil::ElementType::Invalid:
101 static StringRef getTextureDimName(dxil::ResourceKind RK) {
103 case dxil::ResourceKind::Texture1D:
105 case dxil::ResourceKind::Texture2D:
107 case dxil::ResourceKind::Texture3D:
109 case dxil::ResourceKind::TextureCube:
111 case dxil::ResourceKind::Texture1DArray:
113 case dxil::ResourceKind::Texture2DArray:
115 case dxil::ResourceKind::TextureCubeArray:
117 case dxil::ResourceKind::TBuffer:
119 case dxil::ResourceKind::FeedbackTexture2D:
121 case dxil::ResourceKind::FeedbackTexture2DArray:
123 case dxil::ResourceKind::Texture2DMS:
125 case dxil::ResourceKind::Texture2DMSArray:
127 case dxil::ResourceKind::Invalid:
128 case dxil::ResourceKind::NumEntries:
129 case dxil::ResourceKind::CBuffer:
130 case dxil::ResourceKind::RawBuffer:
131 case dxil::ResourceKind::Sampler:
132 case dxil::ResourceKind::StructuredBuffer:
133 case dxil::ResourceKind::TypedBuffer:
134 case dxil::ResourceKind::RTAccelerationStructure:
142 : public llvm::FormatAdapter<const dxil::ResourceTypeInfo &> {
143 explicit FormatResourceDimension(const dxil::ResourceTypeInfo &RI)
144 : llvm::FormatAdapter<const dxil::ResourceTypeInfo &>(RI) {}
147 dxil::ResourceKind RK = Item.getResourceKind();
155 case dxil::ResourceKind::RawBuffer:
156 case dxil::ResourceKind::StructuredBuffer:
164 case dxil::ResourceKind::TypedBuffer:
167 case dxil::ResourceKind::RTAccelerationStructure:
175 : public llvm::FormatAdapter<const dxil::ResourceBindingInfo &> {
176 dxil::ResourceClass RC;
178 explicit FormatBindingID(const dxil::ResourceBindingInfo &RBI,
179 const dxil::ResourceTypeInfo &RTI)
180 : llvm::FormatAdapter<const dxil::ResourceBindingInfo &>(RBI),
189 : public llvm::FormatAdapter<const dxil::ResourceBindingInfo &> {
190 dxil::ResourceClass RC;
192 explicit FormatBindingLocation(const dxil::ResourceBindingInfo &RBI,
193 const dxil::ResourceTypeInfo &RTI)
194 : llvm::FormatAdapter<const dxil::ResourceBindingInfo &>(RBI),
206 : public llvm::FormatAdapter<const dxil::ResourceBindingInfo &> {
207 explicit FormatBindingSize(const dxil::ResourceBindingInfo &RI)
208 : llvm::FormatAdapter<const dxil::ResourceBindingInfo &>(RI) {}
223 const dxil::Resources &MDResources) {
233 for (const dxil::ResourceBindingInfo &RBI : DBM) {
234 const dxil::ResourceTypeInfo &RTI = DRTM[RBI.getHandleTy()];
236 dxil::ResourceClass RC = RTI.getResourceClass();
237 assert((RC != dxil::ResourceClass::CBuffer || !MDResources.hasCBuffers()) &&
239 assert((RC != dxil::ResourceClass::UAV || !MDResources.hasUAVs()) &&
265 const dxil::Resources &MDResources = MAM.getResult<DXILResourceMDAnalysis>(M);
285 return "DXIL Metadata Pretty Printer";
299 INITIALIZE_PASS_BEGIN(DXILPrettyPrinterLegacy, "dxil-pretty-printer",
300 "DXIL Metadata Pretty Printer", true, true)
304 INITIALIZE_PASS_END(DXILPrettyPrinterLegacy, "dxil-pretty-printer",
305 "DXIL Metadata Pretty Printer", true, true)
312 dxil::Resources &Res = getAnalysis<DXILResourceMDWrapper>().getDXILResource();