[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Implement validation of resource ranges for `RootDescriptors` (PR #140962)
Deric C. via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Mon May 26 15:44:02 PDT 2025
================
@@ -951,6 +952,108 @@ void SemaHLSL::emitLogicalOperatorFixIt(Expr *LHS, Expr *RHS,
<< NewFnName << FixItHint::CreateReplacement(FullRange, OS.str());
}
+namespace {
+
+// A resource range overlaps with another resource range if they have:
+// - equivalent ResourceClass (SRV, UAV, CBuffer, Sampler)
+// - equivalent resource space
+// - overlapping visbility
+class ResourceRanges {
+public:
+ // KeyT: 32-lsb denotes resource space, and 32-msb denotes resource type enum
+ using KeyT = uint64_t;
----------------
Icohedron wrote:
Is there a reason to store the resource space and ResourceClass together as a 64-bit integer as opposed to, say, a `std::pair<llvm::dxil::ResourceClass, uint32_t>`?
https://github.com/llvm/llvm-project/pull/140962
More information about the llvm-branch-commits
mailing list