[clang] [llvm] [DirectX] Validate registers are bound to root signature (PR #146785)
Finn Plummer via cfe-commits
cfe-commits at lists.llvm.org
Thu Jul 17 11:05:13 PDT 2025
================
@@ -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
More information about the cfe-commits
mailing list