[llvm-branch-commits] [llvm] [DirectX] Validating Root flags are denying shader stage (PR #153287)
Finn Plummer via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Thu Aug 21 13:06:48 PDT 2025
================
@@ -205,7 +205,57 @@ getRootDescriptorsBindingInfo(const mcdxbc::RootSignatureDesc &RSD,
return RDs;
}
-static void validateRootSignatureBindings(Module &M,
+static void reportIfDeniedShaderStageAccess(Module &M, dxbc::RootFlags Flags,
+ dxbc::RootFlags Mask) {
+ if ((Flags & Mask) == Mask) {
+ SmallString<128> Message;
+ raw_svector_ostream OS(Message);
+ OS << "Shader has root bindings but root signature uses a DENY flag to "
+ "disallow root binding access to the shader stage.";
+ M.getContext().diagnose(DiagnosticInfoGeneric(Message));
+ }
+}
+
+static void validateDeniedStagedNotInUse(Module &M,
+ const mcdxbc::RootSignatureDesc &RSD,
+ const dxil::ModuleMetadataInfo &MMI) {
+ dxbc::RootFlags Flags = dxbc::RootFlags(RSD.Flags);
+
----------------
inbelic wrote:
Can we add a validation to `RootsignatureValidations` like `validateShaderStage(Flags, ShaderProfile)` so that it can be re-used in the frontend?
https://github.com/llvm/llvm-project/pull/153287
More information about the llvm-branch-commits
mailing list