================ @@ -24,6 +26,48 @@ using namespace llvm; using namespace llvm::dxil; namespace { +static const char *ResourceClassToString(llvm::dxil::ResourceClass Class) { + switch (Class) { + case ResourceClass::SRV: + return "SRV"; + case ResourceClass::UAV: + return "UAV"; + case ResourceClass::CBuffer: + return "CBuffer"; + case ResourceClass::Sampler: + return "Sampler"; + } +} + +static ResourceClass RangeToResourceClass(uint32_t RangeType) { + using namespace dxbc; + switch (static_cast<DescriptorRangeType>(RangeType)) { + case DescriptorRangeType::SRV: + return ResourceClass::SRV; + case DescriptorRangeType::UAV: + return ResourceClass::UAV; + case DescriptorRangeType::CBV: + return ResourceClass::CBuffer; + case DescriptorRangeType::Sampler: + return ResourceClass::Sampler; + } +} + +ResourceClass ParameterToResourceClass(uint32_t Type) { ---------------- inbelic wrote:
The type has been validated before this point right? So we know it is a valid type. Can we just do `ResourceClass(Type)` instead? https://github.com/llvm/llvm-project/pull/146785 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits