[llvm-branch-commits] [clang] [HLSL][RootSignature] Allow for multiple parsing errors in `RootSignatureParser` (PR #147832)

2025-07-11 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic edited https://github.com/llvm/llvm-project/pull/147832 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [clang] [HLSL][RootSignature] Allow for multiple parsing errors in `RootSignatureParser` (PR #147832)

2025-07-11 Thread Finn Plummer via llvm-branch-commits
@@ -27,51 +36,68 @@ RootSignatureParser::RootSignatureParser( bool RootSignatureParser::parse() { // Iterate as many RootSignatureElements as possible, until we hit the // end of the stream + bool HadError = false; inbelic wrote: The pattern that I have s

[llvm-branch-commits] [clang] [HLSL][RootSignature] Allow for multiple parsing errors in `RootSignatureParser` (PR #147832)

2025-07-11 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic edited https://github.com/llvm/llvm-project/pull/147832 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [clang] [HLSL][RootSignature] Allow for multiple parsing errors in `RootSignatureParser` (PR #147832)

2025-07-11 Thread Finn Plummer via llvm-branch-commits
@@ -27,51 +36,68 @@ RootSignatureParser::RootSignatureParser( bool RootSignatureParser::parse() { // Iterate as many RootSignatureElements as possible, until we hit the // end of the stream + bool HadError = false; while (!peekExpectedToken(TokenKind::end_of_stream)) {

[llvm-branch-commits] [clang] [HLSL][RootSignature] Allow for multiple parsing errors in `RootSignatureParser` (PR #147832)

2025-07-11 Thread Finn Plummer via llvm-branch-commits
@@ -27,51 +36,68 @@ RootSignatureParser::RootSignatureParser( bool RootSignatureParser::parse() { // Iterate as many RootSignatureElements as possible, until we hit the // end of the stream + bool HadError = false; while (!peekExpectedToken(TokenKind::end_of_stream)) {

[llvm-branch-commits] [clang] [HLSL][RootSignature] Allow for multiple parsing errors in `RootSignatureParser` (PR #147832)

2025-07-11 Thread Finn Plummer via llvm-branch-commits
@@ -27,51 +36,68 @@ RootSignatureParser::RootSignatureParser( bool RootSignatureParser::parse() { // Iterate as many RootSignatureElements as possible, until we hit the // end of the stream + bool HadError = false; while (!peekExpectedToken(TokenKind::end_of_stream)) {

[llvm-branch-commits] [clang] [HLSL][RootSignature] Allow for multiple parsing errors in `RootSignatureParser` (PR #147832)

2025-07-11 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/147832 >From 7ec7e32d2ac4945a489d5463b9fb700b0cceff9d Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Wed, 9 Jul 2025 21:21:53 + Subject: [PATCH 1/3] [HLSL][RootSignature] Implement multiple diagnostics in `Root

[llvm-branch-commits] [clang] [llvm] [DirectX] Validate registers are bound to root signature (PR #146785)

2025-07-10 Thread Finn Plummer via llvm-branch-commits
@@ -0,0 +1,160 @@ +; RUN: not opt -S -passes='dxil-post-optimization-validation' -mtriple=dxil-pc-shadermodel6.6-compute %s 2>&1 + +; CHECK: error: register cbuffer (space=665, register=3) is not defined in Root Signature +; CHECK: error: register srv (space=0, register=0) is n

[llvm-branch-commits] [clang] [llvm] [DirectX] Validate registers are bound to root signature (PR #146785)

2025-07-10 Thread Finn Plummer via llvm-branch-commits
@@ -14,10 +14,129 @@ #ifndef LLVM_LIB_TARGET_DIRECTX_DXILPOSTOPTIMIZATIONVALIDATION_H #define LLVM_LIB_TARGET_DIRECTX_DXILPOSTOPTIMIZATIONVALIDATION_H +#include "DXILRootSignature.h" +#include "llvm/ADT/IntervalMap.h" +#include "llvm/Analysis/DXILResource.h" #include "llvm/IR

[llvm-branch-commits] [clang] [llvm] [DirectX] Validate registers are bound to root signature (PR #146785)

2025-07-10 Thread Finn Plummer via llvm-branch-commits
@@ -14,10 +14,129 @@ #ifndef LLVM_LIB_TARGET_DIRECTX_DXILPOSTOPTIMIZATIONVALIDATION_H #define LLVM_LIB_TARGET_DIRECTX_DXILPOSTOPTIMIZATIONVALIDATION_H +#include "DXILRootSignature.h" +#include "llvm/ADT/IntervalMap.h" +#include "llvm/Analysis/DXILResource.h" #include "llvm/IR

[llvm-branch-commits] [clang] [llvm] [DirectX] Validate registers are bound to root signature (PR #146785)

2025-07-10 Thread Finn Plummer via llvm-branch-commits
@@ -0,0 +1,160 @@ +; RUN: not opt -S -passes='dxil-post-optimization-validation' -mtriple=dxil-pc-shadermodel6.6-compute %s 2>&1 + +; CHECK: error: register cbuffer (space=665, register=3) is not defined in Root Signature +; CHECK: error: register srv (space=0, register=0) is n

[llvm-branch-commits] [clang] [llvm] [DirectX] Validate registers are bound to root signature (PR #146785)

2025-07-10 Thread Finn Plummer via llvm-branch-commits
@@ -94,14 +147,83 @@ static void reportErrors(Module &M, DXILResourceMap &DRM, assert(!DRBI.hasImplicitBinding() && "implicit bindings should be handled in " "DXILResourceImplicitBinding pass"); + + if (auto RSD = getRootSignature(RSB

[llvm-branch-commits] [clang] [llvm] [DirectX] Validate registers are bound to root signature (PR #146785)

2025-07-10 Thread Finn Plummer via llvm-branch-commits
@@ -14,10 +14,129 @@ #ifndef LLVM_LIB_TARGET_DIRECTX_DXILPOSTOPTIMIZATIONVALIDATION_H #define LLVM_LIB_TARGET_DIRECTX_DXILPOSTOPTIMIZATIONVALIDATION_H +#include "DXILRootSignature.h" +#include "llvm/ADT/IntervalMap.h" +#include "llvm/Analysis/DXILResource.h" #include "llvm/IR

[llvm-branch-commits] [clang] [llvm] [DirectX] Validate registers are bound to root signature (PR #146785)

2025-07-10 Thread Finn Plummer via llvm-branch-commits
inbelic wrote: Ah okay, didn't realize it follows a different structure here. Thanks for checking https://github.com/llvm/llvm-project/pull/146785 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.o

[llvm-branch-commits] [clang] [HLSL][RootSignature] Allow for multiple parsing errors in `RootSignatureParser` (PR #147832)

2025-07-09 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic edited https://github.com/llvm/llvm-project/pull/147832 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [clang] [HLSL][RootSignature] Allow for multiple parsing errors in `RootSignatureParser` (PR #147832)

2025-07-09 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic edited https://github.com/llvm/llvm-project/pull/147832 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [clang] [HLSL][RootSignature] Allow for multiple parsing errors in `RootSignatureParser` (PR #147832)

2025-07-09 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/147832 >From 7ec7e32d2ac4945a489d5463b9fb700b0cceff9d Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Wed, 9 Jul 2025 21:21:53 + Subject: [PATCH] [HLSL][RootSignature] Implement multiple diagnostics in `RootSign

[llvm-branch-commits] [clang] [HLSL][RootSignature] Audit `RootSignatureParser` diagnostic production (PR #147800)

2025-07-09 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic ready_for_review https://github.com/llvm/llvm-project/pull/147800 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [clang] [llvm] [DirectX] Validate registers are bound to root signature (PR #146785)

2025-07-09 Thread Finn Plummer via llvm-branch-commits
@@ -14,10 +14,129 @@ #ifndef LLVM_LIB_TARGET_DIRECTX_DXILPOSTOPTIMIZATIONVALIDATION_H #define LLVM_LIB_TARGET_DIRECTX_DXILPOSTOPTIMIZATIONVALIDATION_H +#include "DXILRootSignature.h" +#include "llvm/ADT/IntervalMap.h" +#include "llvm/Analysis/DXILResource.h" #include "llvm/IR

[llvm-branch-commits] [clang] [llvm] [DirectX] Validate registers are bound to root signature (PR #146785)

2025-07-09 Thread Finn Plummer via llvm-branch-commits
@@ -0,0 +1,160 @@ +; RUN: not opt -S -passes='dxil-post-optimization-validation' -mtriple=dxil-pc-shadermodel6.6-compute %s 2>&1 + +; CHECK: error: register cbuffer (space=665, register=3) is not defined in Root Signature +; CHECK: error: register srv (space=0, register=0) is n

[llvm-branch-commits] [clang] [llvm] [DirectX] Validate registers are bound to root signature (PR #146785)

2025-07-09 Thread Finn Plummer via llvm-branch-commits
inbelic wrote: This should be in the include directory https://github.com/llvm/llvm-project/pull/146785 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/li

[llvm-branch-commits] [clang] [HLSL][RootSignature] Audit `RootSignatureParser` diagnostic production (PR #147800)

2025-07-09 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/147800 >From 95166f5e2bfb2816ce39d3abd1823486742109bd Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Wed, 9 Jul 2025 15:50:55 + Subject: [PATCH 01/11] remove confusing hlsl_unexpected_end_of_params diagnostic

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Retain `SourceLocation` of `RootElement` for `SemaHLSL` diagnostics (PR #147115)

2025-07-09 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/147115 >From bef7466d6110c682ee5887b7fc98c980f7a1ec94 Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Fri, 27 Jun 2025 18:36:38 + Subject: [PATCH 01/15] nfc: introduce wrapper `RootSignatureElement` around `Root

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Retain `SourceLocation` of `RootElement` for `SemaHLSL` diagnostics (PR #147115)

2025-07-09 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/147115 >From bef7466d6110c682ee5887b7fc98c980f7a1ec94 Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Fri, 27 Jun 2025 18:36:38 + Subject: [PATCH 01/14] nfc: introduce wrapper `RootSignatureElement` around `Root

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Retain `SourceLocation` of `RootElement` for `SemaHLSL` diagnostics (PR #147115)

2025-07-09 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic edited https://github.com/llvm/llvm-project/pull/147115 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Retain `SourceLocation` of `RootElement` for `SemaHLSL` diagnostics (PR #147115)

2025-07-09 Thread Finn Plummer via llvm-branch-commits
@@ -32,6 +32,9 @@ struct RangeInfo { llvm::dxil::ResourceClass Class; uint32_t Space; llvm::dxbc::ShaderVisibility Visibility; + + // The index retains its original position before being sorted by group. + size_t Index; inbelic wrote: Okay, so I messed

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Retain `SourceLocation` of `RootElement` for `SemaHLSL` diagnostics (PR #147115)

2025-07-08 Thread Finn Plummer via llvm-branch-commits
@@ -130,12 +149,13 @@ class SemaHLSL : public SemaBase { /// Creates the Root Signature decl of the parsed Root Signature elements /// onto the AST and push it onto current Scope - void ActOnFinishRootSignatureDecl( - SourceLocation Loc, IdentifierInfo *DeclIdent, -

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Retain `SourceLocation` of `RootElement` for `SemaHLSL` diagnostics (PR #147115)

2025-07-08 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/147115 >From cb29c3acd72990b35e7be85d2f9796fb8098f3d2 Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Fri, 27 Jun 2025 18:36:38 + Subject: [PATCH 01/15] nfc: introduce wrapper `RootSignatureElement` around `Root

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Retain `SourceLocation` of `RootElement` for `SemaHLSL` diagnostics (PR #147115)

2025-07-08 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic edited https://github.com/llvm/llvm-project/pull/147115 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [clang] [HLSL][RootSignature] Implement diagnostic for missed comma (PR #147350)

2025-07-07 Thread Finn Plummer via llvm-branch-commits
inbelic wrote: Contemplating if I should split this into two prs. Will see if there is a nice way to de-couple the improve and fix error portions of this. https://github.com/llvm/llvm-project/pull/147350 ___ llvm-branch-commits mailing list llvm-branc

[llvm-branch-commits] [clang] [HLSL][RootSignature] Implement diagnostic for missed comma (PR #147350)

2025-07-07 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic converted_to_draft https://github.com/llvm/llvm-project/pull/147350 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [clang] [llvm] [NFC][HLSL] Move resource range logic from `SemaHLSL` to `RootSignatureValidations` (PR #147117)

2025-07-04 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/147117 >From d66a67d9660ab1114d55f75ef2ad5a9cfd35f8f6 Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Fri, 4 Jul 2025 22:17:37 + Subject: [PATCH 1/2] self-review: remove unused Loc --- clang/include/clang/Sema/

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Retain `SourceLocation` of `RootElement` for `SemaHLSL` diagnostics (PR #147115)

2025-07-04 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/147115 >From 4a5cde3f77dc0c371d1f33b10be9507d3aeff3e3 Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Fri, 27 Jun 2025 18:36:38 + Subject: [PATCH 1/9] nfc: introduce wrapper `RootSignatureElement` around `RootEl

[llvm-branch-commits] [clang] [llvm] [NFC][HLSL] Move resource range logic from `SemaHLSL` to `RootSignatureValidations` (PR #147117)

2025-07-04 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic created https://github.com/llvm/llvm-project/pull/147117 This pr abstracts out the logic of detecting resource range overlap from `SemaHLSL` into the `RootSignatureValidations` library. For more context see linked issue. - Moves the validation logic from `SemaHLSL`

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Retain `SourceLocation` of `RootElement` for `SemaHLSL` diagnostics (PR #147115)

2025-07-04 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/147115 >From 4a5cde3f77dc0c371d1f33b10be9507d3aeff3e3 Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Fri, 27 Jun 2025 18:36:38 + Subject: [PATCH 1/9] nfc: introduce wrapper `RootSignatureElement` around `RootEl

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Retain `SourceLocation` of `RootElement` for `SemaHLSL` diagnostics (PR #147115)

2025-07-04 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic created https://github.com/llvm/llvm-project/pull/147115 At the moment, when we report diagnostics from `SemaHLSL` we only provide the source location of the root signature attr. This allows for significantly less helpful diagnostics (for eg. reporting resource range

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Retain `SourceLocation` of `RootElement` for `SemaHLSL` diagnostics (PR #147094)

2025-07-04 Thread Finn Plummer via llvm-branch-commits
inbelic wrote: Whoops, accidently pushed to the wrong upstream branch. Looks like I can't unmerge it to the stacked branch... https://github.com/llvm/llvm-project/pull/147094 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org http

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Retain `SourceLocation` of `RootElement` for `SemaHLSL` diagnostics (PR #147094)

2025-07-04 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic closed https://github.com/llvm/llvm-project/pull/147094 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Retain `SourceLocation` of `RootElement` for `SemaHLSL` diagnostics (PR #147094)

2025-07-04 Thread Finn Plummer via llvm-branch-commits
@@ -1064,21 +1064,25 @@ SemaHLSL::ActOnStartRootSignatureDecl(StringRef Signature) { void SemaHLSL::ActOnFinishRootSignatureDecl( SourceLocation Loc, IdentifierInfo *DeclIdent, -SmallVector &Elements) { +ArrayRef RootElements) { + + if (handleRootSignatureElement

[llvm-branch-commits] [llvm] [DirectX] Add missing verifications during `validate` of `DXILRootSignature` (PR #147111)

2025-07-04 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/147111 >From ab274d239bd12e39fc91d7cc2fc7e899be274e55 Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Fri, 4 Jul 2025 20:54:50 + Subject: [PATCH 1/6] [HLSL][DirectX] Add `verifyNumDescriptors` --- .../Frontend/

[llvm-branch-commits] [llvm] [DirectX] Add missing verifications during `validate` of `DXILRootSignature` (PR #147111)

2025-07-04 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic edited https://github.com/llvm/llvm-project/pull/147111 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [llvm] [DirectX] Add missing verifications during `validate` of `DXILRootSignature` (PR #147111)

2025-07-04 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic created https://github.com/llvm/llvm-project/pull/147111 This pr resolves some discrepancies in verification during `validate` in `DXILRootSignature.cpp`. Namely, - `verifyDescriptorFlag` should be updated to check what flags are valid based on the root signature ve

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Retain `SourceLocation` of `RootElement` for `SemaHLSL` diagnostics (PR #147094)

2025-07-04 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic ready_for_review https://github.com/llvm/llvm-project/pull/147094 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Retain `SourceLocation` of `RootElement` for `SemaHLSL` diagnostics (PR #147094)

2025-07-04 Thread Finn Plummer via llvm-branch-commits
@@ -1103,9 +1107,15 @@ bool SemaHLSL::handleRootSignatureDecl(HLSLRootSignatureDecl *D, using ResourceRange = llvm::hlsl::rootsig::ResourceRange; using GroupT = std::pair; + // Introduce a mapping from the collected RangeInfos back to the + // RootSignatureElement that

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Retain `SourceLocation` of `RootElement` for `SemaHLSL` diagnostics (PR #147094)

2025-07-04 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic created https://github.com/llvm/llvm-project/pull/147094 At the moment, when we report diagnostics from `SemaHLSL` we only provide the source location of the root signature attr. This allows for significantly less helpful diagnostics (for eg. reporting resource range

[llvm-branch-commits] [clang] [llvm] WIP: retain source location for sema validation diagnostics and move validations out to library (PR #146150)

2025-07-04 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic closed https://github.com/llvm/llvm-project/pull/146150 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [clang] [llvm] [NFC][HLSL][RootSignature] Split up `HLSLRootSignatureUtils` (PR #146124)

2025-07-03 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic edited https://github.com/llvm/llvm-project/pull/146124 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Update `setDefaultFlags` to account for Root Signature Version (PR #145828)

2025-07-03 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic edited https://github.com/llvm/llvm-project/pull/145828 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Update `setDefaultFlags` to account for Root Signature Version (PR #145828)

2025-07-03 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic edited https://github.com/llvm/llvm-project/pull/145828 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Update `setDefaultFlags` to account for Root Signature Version (PR #145828)

2025-07-03 Thread Finn Plummer via llvm-branch-commits
@@ -55,7 +59,9 @@ // CHECK-SAME: numClauses = 3, visibility = All // CHECK-SAME: ), // CHECK-SAME: Sampler( -// CHECK-SAME: s0, numDescriptors = 4, space = 1, offset = DescriptorTableOffsetAppend, flags = None +// CHECK-SAME: s0, numDescriptors = 4, space = 1, offset =

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Update `setDefaultFlags` to account for Root Signature Version (PR #145828)

2025-07-03 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/145828 >From 471a4a556ad0653792e39c99da2423d5e3ed933f Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Fri, 27 Jun 2025 16:39:13 + Subject: [PATCH 01/10] update `setDefaultFlags` --- .../llvm/Frontend/HLSL/HLSLR

[llvm-branch-commits] [clang] [llvm] WIP: retain source location for sema validation diagnostics and move validations out to library (PR #146150)

2025-06-27 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic created https://github.com/llvm/llvm-project/pull/146150 None >From 18edab1fc3ab4a137de935abff5bb4716cc9a5fd Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Fri, 27 Jun 2025 18:36:38 + Subject: [PATCH 1/5] nfc: introduce wrapper `RootSignatureElement` around `

[llvm-branch-commits] [clang] [llvm] [NFC][HLSL][RootSignature] Split up `HLSLRootSignatureUtils` (PR #146124)

2025-06-27 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic created https://github.com/llvm/llvm-project/pull/146124 This pr breaks-up `HLSLRootSignatureUtils` into separate orthogonal and meaningful libraries. This prevents it end up as a dumping grounds of many different parts. - Creates a library `RootSignatureMetadata` t

[llvm-branch-commits] [clang] [llvm] [NFC][HLSL][RootSignature] Split up `HLSLRootSignatureUtils` (PR #146124)

2025-06-27 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic edited https://github.com/llvm/llvm-project/pull/146124 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Update `setDefaultFlags` to account for Root Signature Version (PR #145828)

2025-06-27 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/145828 >From 471a4a556ad0653792e39c99da2423d5e3ed933f Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Fri, 27 Jun 2025 16:39:13 + Subject: [PATCH 1/7] update `setDefaultFlags` --- .../llvm/Frontend/HLSL/HLSLRoo

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Update `setDefaultFlags` to account for Root Signature Version (PR #145828)

2025-06-27 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic edited https://github.com/llvm/llvm-project/pull/145828 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [llvm] [DirectX] Improve error accumulation in root signature parsing (PR #144465)

2025-06-17 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic edited https://github.com/llvm/llvm-project/pull/144465 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [llvm] [DirectX] Improve error accumulation in root signature parsing (PR #144465)

2025-06-17 Thread Finn Plummer via llvm-branch-commits
inbelic wrote: I guess the awkward part is that it might be nice to clean up all the current error tests that are spread across many files to just one for each param type. https://github.com/llvm/llvm-project/pull/144465 ___

[llvm-branch-commits] [llvm] [DirectX] Add static sampler support to root signature and fix descriptor range flags (PR #143422)

2025-06-12 Thread Finn Plummer via llvm-branch-commits
@@ -399,6 +486,127 @@ static bool verifyDescriptorRangeFlag(uint32_t Version, uint32_t Type, return false; } +static bool verifySamplerFilter(uint32_t Filter) { + switch (Filter) { + case llvm::to_underlying(dxbc::StaticSamplerFilter::MIN_MAG_MIP_POINT):

[llvm-branch-commits] [llvm] [DirectX] Add static sampler support to root signature and fix descriptor range flags (PR #143422)

2025-06-12 Thread Finn Plummer via llvm-branch-commits
@@ -456,6 +664,48 @@ static bool validate(LLVMContext *Ctx, const mcdxbc::RootSignatureDesc &RSD) { } } + for (const dxbc::RTS0::v1::StaticSampler &Sampler : RSD.StaticSamplers) { +if (!verifySamplerFilter(Sampler.Filter)) + return reportValueError(Ctx, "Filte

[llvm-branch-commits] [llvm] [DirectX] Add static sampler support to root signature and fix descriptor range flags (PR #143422)

2025-06-12 Thread Finn Plummer via llvm-branch-commits
inbelic wrote: accidently included https://github.com/llvm/llvm-project/pull/143422 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-c

[llvm-branch-commits] [llvm] [HLSL][RootSignature] Implement serialization of remaining Root Elements (PR #143198)

2025-06-06 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic converted_to_draft https://github.com/llvm/llvm-project/pull/143198 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [llvm] [HLSL][RootSignature] Implement serialization of remaining Root Elements (PR #143198)

2025-06-06 Thread Finn Plummer via llvm-branch-commits
@@ -71,6 +71,199 @@ static raw_ostream &operator<<(raw_ostream &OS, return OS; } +static raw_ostream &operator<<(raw_ostream &OS, const SamplerFilter &Filter) { + switch (Filter) { + case SamplerFilter::MinMagMipPoint: +OS << "MinMagMipPoint"; inbelic

[llvm-branch-commits] [llvm] [HLSL][RootSignature] Implement serialization of remaining Root Elements (PR #143198)

2025-06-06 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic created https://github.com/llvm/llvm-project/pull/143198 Implements serialization of the remaining completely defined `RootElement`s, namely `RootDescriptor`s and `RootFlag`s. - Adds unit testing for the serialization methods Resolves https://github.com/llvm/llvm-pr

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Implement validation of resource ranges for `RootDescriptors` (PR #140962)

2025-06-06 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic edited https://github.com/llvm/llvm-project/pull/140962 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Implement validation of resource ranges for `RootDescriptors` (PR #140962)

2025-06-06 Thread Finn Plummer via llvm-branch-commits
@@ -973,6 +1076,8 @@ void SemaHLSL::handleRootSignatureAttr(Decl *D, const ParsedAttr &AL) { if (auto *SignatureDecl = dyn_cast(R.getFoundDecl())) { // Perform validation of constructs here + if (handleRootSignatureDecl(SignatureDecl, AL.getLoc())) +

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Implement validation of resource ranges for `RootDescriptors` (PR #140962)

2025-06-02 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/140962 >From bcc056ea5c753c3b1fa83d214c6bd14e90d9ee25 Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Wed, 21 May 2025 00:12:04 + Subject: [PATCH 1/4] [HLSL][RootSignature] Plug into the thing --- .../clang/Bas

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Implement validation of resource ranges for `RootDescriptors` (PR #140962)

2025-05-29 Thread Finn Plummer via llvm-branch-commits
@@ -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

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Implement validation of resource ranges for `RootDescriptors` (PR #140962)

2025-05-29 Thread Finn Plummer via llvm-branch-commits
@@ -973,6 +1076,8 @@ void SemaHLSL::handleRootSignatureAttr(Decl *D, const ParsedAttr &AL) { if (auto *SignatureDecl = dyn_cast(R.getFoundDecl())) { // Perform validation of constructs here + if (handleRootSignatureDecl(SignatureDecl, AL.getLoc())) +

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Implement validation of resource ranges for `RootDescriptors` (PR #140962)

2025-05-29 Thread Finn Plummer via llvm-branch-commits
@@ -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

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Add parsing of address params in StaticSampler (PR #140293)

2025-05-28 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic edited https://github.com/llvm/llvm-project/pull/140293 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [llvm] [HLSL] Diagnose overlapping resource bindings (PR #140982)

2025-05-28 Thread Finn Plummer via llvm-branch-commits
@@ -50,15 +51,55 @@ static void reportInvalidDirection(Module &M, DXILResourceMap &DRM) { } } -} // namespace +static void reportOverlappingError(Module &M, ResourceInfo R1, + ResourceInfo R2) { + SmallString<64> Message; + raw_svector_os

[llvm-branch-commits] [llvm] [HLSL] Diagnose overlapping resource bindings (PR #140982)

2025-05-26 Thread Finn Plummer via llvm-branch-commits
@@ -50,15 +51,55 @@ static void reportInvalidDirection(Module &M, DXILResourceMap &DRM) { } } -} // namespace +static void reportOverlappingError(Module &M, ResourceInfo R1, + ResourceInfo R2) { + SmallString<64> Message; + raw_svector_os

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Add parsing of floats for StaticSampler (PR #140181)

2025-05-26 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/140181 >From f9fbe391091fbf23203d6cc997e19d05d92a4a18 Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Thu, 15 May 2025 23:14:10 + Subject: [PATCH 01/10] pre-req: add missing token to Lexer --- clang/include/cla

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Add parsing of floats for StaticSampler (PR #140181)

2025-05-26 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/140181 >From f9fbe391091fbf23203d6cc997e19d05d92a4a18 Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Thu, 15 May 2025 23:14:10 + Subject: [PATCH 01/10] pre-req: add missing token to Lexer --- clang/include/cla

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Add parsing of floats for StaticSampler (PR #140181)

2025-05-26 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/140181 >From f9fbe391091fbf23203d6cc997e19d05d92a4a18 Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Thu, 15 May 2025 23:14:10 + Subject: [PATCH 1/9] pre-req: add missing token to Lexer --- clang/include/clang

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSiganture] Add parsing of new number params in StaticSampler (PR #140291)

2025-05-26 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/140291 >From d6148b7d9815c2543f37d50a7a611e482c99b91c Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Fri, 16 May 2025 16:08:36 + Subject: [PATCH 1/8] pre-req: add keywords --- clang/include/clang/Lex/HLSLRootS

[llvm-branch-commits] [llvm] [HLSL][RootSignature] Implement `ResourceRange` as an `IntervalMap` (PR #140957)

2025-05-23 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/140957 >From a3240de319d3ef455b5db83b66b5bd601cecc0b3 Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Tue, 20 May 2025 19:47:29 + Subject: [PATCH 1/2] [HLSL][RootSignature] Implement resource register validation

[llvm-branch-commits] [llvm] [NFC] Updating RTS0 namespace to contain all elements related to it's representation (PR #141173)

2025-05-22 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic approved this pull request. Ha the diff confused me, the diff makes it look like `RootDescriptor` is moving namespaces but in reality it is all the ones in between that are changing. https://github.com/llvm/llvm-project/pull/141173

[llvm-branch-commits] [llvm] [HLSL][RootSignature] Implement serialization of `RootConstants` and `RootFlags` (PR #141130)

2025-05-22 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic created https://github.com/llvm/llvm-project/pull/141130 - Implements serialization of the currently completely defined `RootElement`s, namely `RootConstants` and `RootFlags` - Adds unit testing for the serialization methods Resolves: https://github.com/llvm/llvm-pro

[llvm-branch-commits] [llvm] [HLSL][RootSignature] Implement `ResourceRange` as an `IntervalMap` (PR #140957)

2025-05-21 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic created https://github.com/llvm/llvm-project/pull/140957 A resource range consists of a closed interval, `[a;b]`, denoting which shader registers it is bound to. For instance: - `CBV(b1)` corresponds to the resource range of `[1;1]` - `CBV(b0, numDescriptors = 3)`

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Implement validation of resource ranges for `RootDescriptors` (PR #140962)

2025-05-21 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/140962 >From bcc056ea5c753c3b1fa83d214c6bd14e90d9ee25 Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Wed, 21 May 2025 00:12:04 + Subject: [PATCH] [HLSL][RootSignature] Plug into the thing --- .../clang/Basic/D

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Implement validation of resource ranges for `RootDescriptors` (PR #140962)

2025-05-21 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic edited https://github.com/llvm/llvm-project/pull/140962 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [llvm] [HLSL][RootSignature] Implement `ResourceRange` as an `IntervalMap` (PR #140957)

2025-05-21 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic edited https://github.com/llvm/llvm-project/pull/140957 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Implement validation of resource ranges for `RootDescriptors` (PR #140962)

2025-05-21 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic created https://github.com/llvm/llvm-project/pull/140962 As was established [previously](https://github.com/llvm/llvm-project/pull/140957), we created a structure to model a resource range and to detect an overlap in a given set of these. However, a resource range

[llvm-branch-commits] [llvm] [HLSL][RootSignature] Implement `ResourceRange` as an `IntervalMap` (PR #140957)

2025-05-21 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic edited https://github.com/llvm/llvm-project/pull/140957 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Add parsing of Register in params for RootDescriptors (PR #140148)

2025-05-21 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic edited https://github.com/llvm/llvm-project/pull/140148 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Add parsing of optional parameters for RootDescriptor (PR #140151)

2025-05-21 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic edited https://github.com/llvm/llvm-project/pull/140151 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Add parsing of flags to RootDescriptor (PR #140152)

2025-05-21 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic edited https://github.com/llvm/llvm-project/pull/140152 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Add parsing of Register in params for RootDescriptors (PR #140148)

2025-05-21 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic edited https://github.com/llvm/llvm-project/pull/140148 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Add parsing of Register in params for RootParams (PR #140148)

2025-05-21 Thread Finn Plummer via llvm-branch-commits
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/140148 >From 994bc35f7eb1707097511a121d2a5a0b6f42637c Mon Sep 17 00:00:00 2001 From: Finn Plummer Date: Thu, 15 May 2025 19:49:44 + Subject: [PATCH 1/2] [HLSL][RootSignature] Add parsing of Register in params for

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Add parsing of flags to RootParam (PR #140152)

2025-05-20 Thread Finn Plummer via llvm-branch-commits
@@ -91,6 +99,23 @@ struct RootParam { Register Reg; uint32_t Space = 0; ShaderVisibility Visibility = ShaderVisibility::All; + RootDescriptorFlags Flags; + + void setDefaultFlags() { +assert(Type != ParamType::Sampler && + "Sampler is not a valid type of P

[llvm-branch-commits] [llvm] [HLSL] Adding support for root descriptors in root signature metadata representation (PR #139781)

2025-05-20 Thread Finn Plummer via llvm-branch-commits
@@ -105,6 +113,56 @@ static bool parseRootConstants(LLVMContext *Ctx, mcdxbc::RootSignatureDesc &RSD, return false; } +static bool parseRootDescriptors(LLVMContext *Ctx, + mcdxbc::RootSignatureDesc &RSD, + MDNo

[llvm-branch-commits] [llvm] [HLSL] Adding support for root descriptors in root signature metadata representation (PR #139781)

2025-05-20 Thread Finn Plummer via llvm-branch-commits
@@ -105,6 +113,56 @@ static bool parseRootConstants(LLVMContext *Ctx, mcdxbc::RootSignatureDesc &RSD, return false; } +static bool parseRootDescriptors(LLVMContext *Ctx, + mcdxbc::RootSignatureDesc &RSD, + MDNo

[llvm-branch-commits] [llvm] [HLSL] Adding support for root descriptors in root signature metadata representation (PR #139781)

2025-05-20 Thread Finn Plummer via llvm-branch-commits
@@ -155,6 +217,16 @@ static bool verifyVersion(uint32_t Version) { return (Version == 1 || Version == 2); } +static bool verifyRegisterValue(uint32_t RegisterValue) { + return !(RegisterValue == 0x); +} + +static bool verifyRegisterSpace(uint32_t RegisterSpace) { +

[llvm-branch-commits] [llvm] [HLSL] Adding support for root descriptors in root signature metadata representation (PR #139781)

2025-05-20 Thread Finn Plummer via llvm-branch-commits
@@ -308,6 +413,21 @@ PreservedAnalyses RootSignatureAnalysisPrinter::run(Module &M, << "Shader Register: " << Constants->ShaderRegister << "\n"; OS << indent(Space + 2) << "Num 32 Bit Values: " << Constants->Num32BitValues << "\n"; + } else i

[llvm-branch-commits] [llvm] [NFC] Refactoring DXContainerYaml Root Parameter representation (PR #138318)

2025-05-20 Thread Finn Plummer via llvm-branch-commits
@@ -278,33 +280,40 @@ void DXContainerWriter::writeParts(raw_ostream &OS) { auto Header = dxbc::RootParameterHeader{Param.Type, Param.Visibility, Param.Offset}; -switch (Param.Type) { -case llvm::to_underl

[llvm-branch-commits] [llvm] [NFC] Refactoring DXContainerYaml Root Parameter representation (PR #138318)

2025-05-20 Thread Finn Plummer via llvm-branch-commits
@@ -112,98 +113,17 @@ struct DescriptorTableYaml { SmallVector Ranges; }; +using ParameterData = +std::variant; + struct RootParameterYamlDesc { uint32_t Type; inbelic wrote: This field can be removed now right? IIUC, it is held in the variant edit

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Add parsing infastructure for StaticSampler (PR #140180)

2025-05-20 Thread Finn Plummer via llvm-branch-commits
@@ -606,6 +644,30 @@ RootSignatureParser::parseDescriptorTableClauseParams(TokenKind RegType) { return Params; } +std::optional +RootSignatureParser::parseStaticSamplerParams() { + assert(CurToken.TokKind == TokenKind::pu_l_paren && + "Expects to only be invoked st

[llvm-branch-commits] [clang] [llvm] [HLSL][RootSignature] Add parsing infastructure for StaticSampler (PR #140180)

2025-05-20 Thread Finn Plummer via llvm-branch-commits
@@ -223,6 +223,34 @@ TEST_F(ParseHLSLRootSignatureTest, ValidParseDTClausesTest) { ASSERT_TRUE(Consumer->isSatisfied()); } +TEST_F(ParseHLSLRootSignatureTest, ValidParseStaticSamplerTest) { inbelic wrote: I opted-out to reduce redundancy, as there is alrea

  1   2   3   >