[clang] [llvm] [NFC][HLSL][DXIL] Move D3D12.h enums and flags to DXILABI (PR #143041)
Finn Plummer via llvm-commits
llvm-commits at lists.llvm.org
Mon Jun 9 10:02:47 PDT 2025
https://github.com/inbelic updated https://github.com/llvm/llvm-project/pull/143041
>From e9d782af7335af47b83db3bffcc6b91a6465ee6f Mon Sep 17 00:00:00 2001
From: Finn Plummer <canadienfinn at gmail.com>
Date: Thu, 5 Jun 2025 18:40:36 +0000
Subject: [PATCH 1/6] move defs to DXILABI
---
.../llvm/Frontend/HLSL/HLSLRootSignature.h | 120 ------------------
llvm/include/llvm/Support/DXILABI.h | 120 ++++++++++++++++++
2 files changed, 120 insertions(+), 120 deletions(-)
diff --git a/llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h b/llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
index 2f028817b45b6..513aa8a358ac4 100644
--- a/llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
+++ b/llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
@@ -22,126 +22,6 @@ namespace llvm {
namespace hlsl {
namespace rootsig {
-// Definition of the various enumerations and flags. The definitions of all
-// values here correspond to their description in the d3d12.h header and are
-// carried over from their values in DXC. For reference:
-// https://learn.microsoft.com/en-us/windows/win32/api/d3d12/
-
-enum class RootFlags : uint32_t {
- None = 0,
- AllowInputAssemblerInputLayout = 0x1,
- DenyVertexShaderRootAccess = 0x2,
- DenyHullShaderRootAccess = 0x4,
- DenyDomainShaderRootAccess = 0x8,
- DenyGeometryShaderRootAccess = 0x10,
- DenyPixelShaderRootAccess = 0x20,
- AllowStreamOutput = 0x40,
- LocalRootSignature = 0x80,
- DenyAmplificationShaderRootAccess = 0x100,
- DenyMeshShaderRootAccess = 0x200,
- CBVSRVUAVHeapDirectlyIndexed = 0x400,
- SamplerHeapDirectlyIndexed = 0x800,
- ValidFlags = 0x00000fff
-};
-
-enum class RootDescriptorFlags : unsigned {
- None = 0,
- DataVolatile = 0x2,
- DataStaticWhileSetAtExecute = 0x4,
- DataStatic = 0x8,
- ValidFlags = 0xe,
-};
-
-enum class DescriptorRangeFlags : unsigned {
- None = 0,
- DescriptorsVolatile = 0x1,
- DataVolatile = 0x2,
- DataStaticWhileSetAtExecute = 0x4,
- DataStatic = 0x8,
- DescriptorsStaticKeepingBufferBoundsChecks = 0x10000,
- ValidFlags = 0x1000f,
- ValidSamplerFlags = DescriptorsVolatile,
-};
-
-enum class ShaderVisibility {
- All = 0,
- Vertex = 1,
- Hull = 2,
- Domain = 3,
- Geometry = 4,
- Pixel = 5,
- Amplification = 6,
- Mesh = 7,
-};
-
-// D3D12_FILTER enumeration:
-// https://learn.microsoft.com/en-us/windows/win32/api/d3d12/ne-d3d12-d3d12_filter
-enum class SamplerFilter {
- MinMagMipPoint = 0,
- MinMagPointMipLinear = 0x1,
- MinPointMagLinearMipPoint = 0x4,
- MinPointMagMipLinear = 0x5,
- MinLinearMagMipPoint = 0x10,
- MinLinearMagPointMipLinear = 0x11,
- MinMagLinearMipPoint = 0x14,
- MinMagMipLinear = 0x15,
- Anisotropic = 0x55,
- ComparisonMinMagMipPoint = 0x80,
- ComparisonMinMagPointMipLinear = 0x81,
- ComparisonMinPointMagLinearMipPoint = 0x84,
- ComparisonMinPointMagMipLinear = 0x85,
- ComparisonMinLinearMagMipPoint = 0x90,
- ComparisonMinLinearMagPointMipLinear = 0x91,
- ComparisonMinMagLinearMipPoint = 0x94,
- ComparisonMinMagMipLinear = 0x95,
- ComparisonAnisotropic = 0xd5,
- MinimumMinMagMipPoint = 0x100,
- MinimumMinMagPointMipLinear = 0x101,
- MinimumMinPointMagLinearMipPoint = 0x104,
- MinimumMinPointMagMipLinear = 0x105,
- MinimumMinLinearMagMipPoint = 0x110,
- MinimumMinLinearMagPointMipLinear = 0x111,
- MinimumMinMagLinearMipPoint = 0x114,
- MinimumMinMagMipLinear = 0x115,
- MinimumAnisotropic = 0x155,
- MaximumMinMagMipPoint = 0x180,
- MaximumMinMagPointMipLinear = 0x181,
- MaximumMinPointMagLinearMipPoint = 0x184,
- MaximumMinPointMagMipLinear = 0x185,
- MaximumMinLinearMagMipPoint = 0x190,
- MaximumMinLinearMagPointMipLinear = 0x191,
- MaximumMinMagLinearMipPoint = 0x194,
- MaximumMinMagMipLinear = 0x195,
- MaximumAnisotropic = 0x1d5
-};
-
-enum class TextureAddressMode {
- Wrap = 1,
- Mirror = 2,
- Clamp = 3,
- Border = 4,
- MirrorOnce = 5
-};
-
-enum class ComparisonFunc : unsigned {
- Never = 1,
- Less = 2,
- Equal = 3,
- LessEqual = 4,
- Greater = 5,
- NotEqual = 6,
- GreaterEqual = 7,
- Always = 8
-};
-
-enum class StaticBorderColor {
- TransparentBlack = 0,
- OpaqueBlack = 1,
- OpaqueWhite = 2,
- OpaqueBlackUint = 3,
- OpaqueWhiteUint = 4
-};
-
// Definitions of the in-memory data layout structures
// Models the different registers: bReg | tReg | uReg | sReg
diff --git a/llvm/include/llvm/Support/DXILABI.h b/llvm/include/llvm/Support/DXILABI.h
index b479f7c73eba3..acd9e436ff8b9 100644
--- a/llvm/include/llvm/Support/DXILABI.h
+++ b/llvm/include/llvm/Support/DXILABI.h
@@ -99,6 +99,126 @@ enum class SamplerFeedbackType : uint32_t {
const unsigned MinWaveSize = 4;
const unsigned MaxWaveSize = 128;
+// Definition of the various enumerations and flags. The definitions of all
+// values here correspond to their description in the d3d12.h header and are
+// carried over from their values in DXC. For reference:
+// https://learn.microsoft.com/en-us/windows/win32/api/d3d12/
+
+enum class RootFlags : uint32_t {
+ None = 0,
+ AllowInputAssemblerInputLayout = 0x1,
+ DenyVertexShaderRootAccess = 0x2,
+ DenyHullShaderRootAccess = 0x4,
+ DenyDomainShaderRootAccess = 0x8,
+ DenyGeometryShaderRootAccess = 0x10,
+ DenyPixelShaderRootAccess = 0x20,
+ AllowStreamOutput = 0x40,
+ LocalRootSignature = 0x80,
+ DenyAmplificationShaderRootAccess = 0x100,
+ DenyMeshShaderRootAccess = 0x200,
+ CBVSRVUAVHeapDirectlyIndexed = 0x400,
+ SamplerHeapDirectlyIndexed = 0x800,
+ ValidFlags = 0x00000fff
+};
+
+enum class RootDescriptorFlags : unsigned {
+ None = 0,
+ DataVolatile = 0x2,
+ DataStaticWhileSetAtExecute = 0x4,
+ DataStatic = 0x8,
+ ValidFlags = 0xe,
+};
+
+enum class DescriptorRangeFlags : unsigned {
+ None = 0,
+ DescriptorsVolatile = 0x1,
+ DataVolatile = 0x2,
+ DataStaticWhileSetAtExecute = 0x4,
+ DataStatic = 0x8,
+ DescriptorsStaticKeepingBufferBoundsChecks = 0x10000,
+ ValidFlags = 0x1000f,
+ ValidSamplerFlags = DescriptorsVolatile,
+};
+
+enum class ShaderVisibility {
+ All = 0,
+ Vertex = 1,
+ Hull = 2,
+ Domain = 3,
+ Geometry = 4,
+ Pixel = 5,
+ Amplification = 6,
+ Mesh = 7,
+};
+
+// D3D12_FILTER enumeration:
+// https://learn.microsoft.com/en-us/windows/win32/api/d3d12/ne-d3d12-d3d12_filter
+enum class SamplerFilter {
+ MinMagMipPoint = 0,
+ MinMagPointMipLinear = 0x1,
+ MinPointMagLinearMipPoint = 0x4,
+ MinPointMagMipLinear = 0x5,
+ MinLinearMagMipPoint = 0x10,
+ MinLinearMagPointMipLinear = 0x11,
+ MinMagLinearMipPoint = 0x14,
+ MinMagMipLinear = 0x15,
+ Anisotropic = 0x55,
+ ComparisonMinMagMipPoint = 0x80,
+ ComparisonMinMagPointMipLinear = 0x81,
+ ComparisonMinPointMagLinearMipPoint = 0x84,
+ ComparisonMinPointMagMipLinear = 0x85,
+ ComparisonMinLinearMagMipPoint = 0x90,
+ ComparisonMinLinearMagPointMipLinear = 0x91,
+ ComparisonMinMagLinearMipPoint = 0x94,
+ ComparisonMinMagMipLinear = 0x95,
+ ComparisonAnisotropic = 0xd5,
+ MinimumMinMagMipPoint = 0x100,
+ MinimumMinMagPointMipLinear = 0x101,
+ MinimumMinPointMagLinearMipPoint = 0x104,
+ MinimumMinPointMagMipLinear = 0x105,
+ MinimumMinLinearMagMipPoint = 0x110,
+ MinimumMinLinearMagPointMipLinear = 0x111,
+ MinimumMinMagLinearMipPoint = 0x114,
+ MinimumMinMagMipLinear = 0x115,
+ MinimumAnisotropic = 0x155,
+ MaximumMinMagMipPoint = 0x180,
+ MaximumMinMagPointMipLinear = 0x181,
+ MaximumMinPointMagLinearMipPoint = 0x184,
+ MaximumMinPointMagMipLinear = 0x185,
+ MaximumMinLinearMagMipPoint = 0x190,
+ MaximumMinLinearMagPointMipLinear = 0x191,
+ MaximumMinMagLinearMipPoint = 0x194,
+ MaximumMinMagMipLinear = 0x195,
+ MaximumAnisotropic = 0x1d5
+};
+
+enum class TextureAddressMode {
+ Wrap = 1,
+ Mirror = 2,
+ Clamp = 3,
+ Border = 4,
+ MirrorOnce = 5
+};
+
+enum class ComparisonFunc : unsigned {
+ Never = 1,
+ Less = 2,
+ Equal = 3,
+ LessEqual = 4,
+ Greater = 5,
+ NotEqual = 6,
+ GreaterEqual = 7,
+ Always = 8
+};
+
+enum class StaticBorderColor {
+ TransparentBlack = 0,
+ OpaqueBlack = 1,
+ OpaqueWhite = 2,
+ OpaqueBlackUint = 3,
+ OpaqueWhiteUint = 4
+};
+
} // namespace dxil
} // namespace llvm
>From f736b20eaa8e89685bce658f5a04326e893db3e6 Mon Sep 17 00:00:00 2001
From: Finn Plummer <canadienfinn at gmail.com>
Date: Thu, 5 Jun 2025 18:43:55 +0000
Subject: [PATCH 2/6] update comments
---
llvm/include/llvm/Support/DXILABI.h | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/llvm/include/llvm/Support/DXILABI.h b/llvm/include/llvm/Support/DXILABI.h
index acd9e436ff8b9..80c6b5041c96e 100644
--- a/llvm/include/llvm/Support/DXILABI.h
+++ b/llvm/include/llvm/Support/DXILABI.h
@@ -99,11 +99,12 @@ enum class SamplerFeedbackType : uint32_t {
const unsigned MinWaveSize = 4;
const unsigned MaxWaveSize = 128;
-// Definition of the various enumerations and flags. The definitions of all
-// values here correspond to their description in the d3d12.h header and are
-// carried over from their values in DXC. For reference:
+// Definition of the various d3d12.h enumerations and flags. The definitions of
+// all values here correspond to their description in the d3d12.h header and
+// are carried over from their values in DXC. For reference:
// https://learn.microsoft.com/en-us/windows/win32/api/d3d12/
+// D3D12_ROOT_SIGNATURE_FLAGS
enum class RootFlags : uint32_t {
None = 0,
AllowInputAssemblerInputLayout = 0x1,
@@ -121,6 +122,7 @@ enum class RootFlags : uint32_t {
ValidFlags = 0x00000fff
};
+// D3D12_ROOT_DESCRIPTOR_FLAGS
enum class RootDescriptorFlags : unsigned {
None = 0,
DataVolatile = 0x2,
@@ -129,6 +131,7 @@ enum class RootDescriptorFlags : unsigned {
ValidFlags = 0xe,
};
+// D3D12_DESCRIPTOR_RANGE_FLAGS
enum class DescriptorRangeFlags : unsigned {
None = 0,
DescriptorsVolatile = 0x1,
@@ -140,6 +143,7 @@ enum class DescriptorRangeFlags : unsigned {
ValidSamplerFlags = DescriptorsVolatile,
};
+// D3D12_SHADER_VISIBILITY
enum class ShaderVisibility {
All = 0,
Vertex = 1,
@@ -151,8 +155,7 @@ enum class ShaderVisibility {
Mesh = 7,
};
-// D3D12_FILTER enumeration:
-// https://learn.microsoft.com/en-us/windows/win32/api/d3d12/ne-d3d12-d3d12_filter
+// D3D12_FILTER
enum class SamplerFilter {
MinMagMipPoint = 0,
MinMagPointMipLinear = 0x1,
@@ -192,6 +195,7 @@ enum class SamplerFilter {
MaximumAnisotropic = 0x1d5
};
+// D3D12_TEXTURE_ADDRESS_MODE
enum class TextureAddressMode {
Wrap = 1,
Mirror = 2,
@@ -200,6 +204,7 @@ enum class TextureAddressMode {
MirrorOnce = 5
};
+// D3D12_COMPARISON_FUNC
enum class ComparisonFunc : unsigned {
Never = 1,
Less = 2,
@@ -211,6 +216,7 @@ enum class ComparisonFunc : unsigned {
Always = 8
};
+// D3D12_STATIC_BORDER_COLOR
enum class StaticBorderColor {
TransparentBlack = 0,
OpaqueBlack = 1,
>From ab9911c5b50023ace78e5dca7cd9850ae37bc586 Mon Sep 17 00:00:00 2001
From: Finn Plummer <canadienfinn at gmail.com>
Date: Thu, 5 Jun 2025 21:24:40 +0000
Subject: [PATCH 3/6] resolve namespacing
---
.../clang/Parse/ParseHLSLRootSignature.h | 38 +++++++++----------
clang/lib/Parse/ParseHLSLRootSignature.cpp | 15 ++++----
.../Parse/ParseHLSLRootSignatureTest.cpp | 1 +
.../llvm/Frontend/HLSL/HLSLRootSignature.h | 36 +++++++++---------
.../Frontend/HLSL/HLSLRootSignatureUtils.h | 2 +-
.../Frontend/HLSL/HLSLRootSignatureUtils.cpp | 36 +++++++++---------
.../Frontend/HLSLRootSignatureDumpTest.cpp | 1 +
7 files changed, 66 insertions(+), 63 deletions(-)
diff --git a/clang/include/clang/Parse/ParseHLSLRootSignature.h b/clang/include/clang/Parse/ParseHLSLRootSignature.h
index afa2c4d8cfe50..066c43cc2be1e 100644
--- a/clang/include/clang/Parse/ParseHLSLRootSignature.h
+++ b/clang/include/clang/Parse/ParseHLSLRootSignature.h
@@ -71,7 +71,7 @@ class RootSignatureParser {
// expected, or, there is a lexing error
/// Root Element parse methods:
- std::optional<llvm::hlsl::rootsig::RootFlags> parseRootFlags();
+ std::optional<llvm::dxil::RootFlags> parseRootFlags();
std::optional<llvm::hlsl::rootsig::RootConstants> parseRootConstants();
std::optional<llvm::hlsl::rootsig::RootDescriptor> parseRootDescriptor();
std::optional<llvm::hlsl::rootsig::DescriptorTable> parseDescriptorTable();
@@ -86,15 +86,15 @@ class RootSignatureParser {
std::optional<llvm::hlsl::rootsig::Register> Reg;
std::optional<uint32_t> Num32BitConstants;
std::optional<uint32_t> Space;
- std::optional<llvm::hlsl::rootsig::ShaderVisibility> Visibility;
+ std::optional<llvm::dxil::ShaderVisibility> Visibility;
};
std::optional<ParsedConstantParams> parseRootConstantParams();
struct ParsedRootDescriptorParams {
std::optional<llvm::hlsl::rootsig::Register> Reg;
std::optional<uint32_t> Space;
- std::optional<llvm::hlsl::rootsig::ShaderVisibility> Visibility;
- std::optional<llvm::hlsl::rootsig::RootDescriptorFlags> Flags;
+ std::optional<llvm::dxil::ShaderVisibility> Visibility;
+ std::optional<llvm::dxil::RootDescriptorFlags> Flags;
};
std::optional<ParsedRootDescriptorParams>
parseRootDescriptorParams(RootSignatureToken::Kind RegType);
@@ -104,25 +104,25 @@ class RootSignatureParser {
std::optional<uint32_t> NumDescriptors;
std::optional<uint32_t> Space;
std::optional<uint32_t> Offset;
- std::optional<llvm::hlsl::rootsig::DescriptorRangeFlags> Flags;
+ std::optional<llvm::dxil::DescriptorRangeFlags> Flags;
};
std::optional<ParsedClauseParams>
parseDescriptorTableClauseParams(RootSignatureToken::Kind RegType);
struct ParsedStaticSamplerParams {
std::optional<llvm::hlsl::rootsig::Register> Reg;
- std::optional<llvm::hlsl::rootsig::SamplerFilter> Filter;
- std::optional<llvm::hlsl::rootsig::TextureAddressMode> AddressU;
- std::optional<llvm::hlsl::rootsig::TextureAddressMode> AddressV;
- std::optional<llvm::hlsl::rootsig::TextureAddressMode> AddressW;
+ std::optional<llvm::dxil::SamplerFilter> Filter;
+ std::optional<llvm::dxil::TextureAddressMode> AddressU;
+ std::optional<llvm::dxil::TextureAddressMode> AddressV;
+ std::optional<llvm::dxil::TextureAddressMode> AddressW;
std::optional<float> MipLODBias;
std::optional<uint32_t> MaxAnisotropy;
- std::optional<llvm::hlsl::rootsig::ComparisonFunc> CompFunc;
- std::optional<llvm::hlsl::rootsig::StaticBorderColor> BorderColor;
+ std::optional<llvm::dxil::ComparisonFunc> CompFunc;
+ std::optional<llvm::dxil::StaticBorderColor> BorderColor;
std::optional<float> MinLOD;
std::optional<float> MaxLOD;
std::optional<uint32_t> Space;
- std::optional<llvm::hlsl::rootsig::ShaderVisibility> Visibility;
+ std::optional<llvm::dxil::ShaderVisibility> Visibility;
};
std::optional<ParsedStaticSamplerParams> parseStaticSamplerParams();
@@ -132,16 +132,16 @@ class RootSignatureParser {
std::optional<float> parseFloatParam();
/// Parsing methods of various enums
- std::optional<llvm::hlsl::rootsig::ShaderVisibility> parseShaderVisibility();
- std::optional<llvm::hlsl::rootsig::SamplerFilter> parseSamplerFilter();
- std::optional<llvm::hlsl::rootsig::TextureAddressMode>
+ std::optional<llvm::dxil::ShaderVisibility> parseShaderVisibility();
+ std::optional<llvm::dxil::SamplerFilter> parseSamplerFilter();
+ std::optional<llvm::dxil::TextureAddressMode>
parseTextureAddressMode();
- std::optional<llvm::hlsl::rootsig::ComparisonFunc> parseComparisonFunc();
- std::optional<llvm::hlsl::rootsig::StaticBorderColor>
+ std::optional<llvm::dxil::ComparisonFunc> parseComparisonFunc();
+ std::optional<llvm::dxil::StaticBorderColor>
parseStaticBorderColor();
- std::optional<llvm::hlsl::rootsig::RootDescriptorFlags>
+ std::optional<llvm::dxil::RootDescriptorFlags>
parseRootDescriptorFlags();
- std::optional<llvm::hlsl::rootsig::DescriptorRangeFlags>
+ std::optional<llvm::dxil::DescriptorRangeFlags>
parseDescriptorRangeFlags();
/// Use NumericLiteralParser to convert CurToken.NumSpelling into a unsigned
diff --git a/clang/lib/Parse/ParseHLSLRootSignature.cpp b/clang/lib/Parse/ParseHLSLRootSignature.cpp
index e510302c3aae0..4e01b23a48572 100644
--- a/clang/lib/Parse/ParseHLSLRootSignature.cpp
+++ b/clang/lib/Parse/ParseHLSLRootSignature.cpp
@@ -11,6 +11,7 @@
#include "clang/Lex/LiteralSupport.h"
using namespace llvm::hlsl::rootsig;
+using namespace llvm::dxil;
namespace clang {
namespace hlsl {
@@ -983,7 +984,7 @@ std::optional<float> RootSignatureParser::parseFloatParam() {
return std::nullopt;
}
-std::optional<llvm::hlsl::rootsig::ShaderVisibility>
+std::optional<::ShaderVisibility>
RootSignatureParser::parseShaderVisibility() {
assert(CurToken.TokKind == TokenKind::pu_equal &&
"Expects to only be invoked starting at given keyword");
@@ -1009,7 +1010,7 @@ RootSignatureParser::parseShaderVisibility() {
return std::nullopt;
}
-std::optional<llvm::hlsl::rootsig::SamplerFilter>
+std::optional<::SamplerFilter>
RootSignatureParser::parseSamplerFilter() {
assert(CurToken.TokKind == TokenKind::pu_equal &&
"Expects to only be invoked starting at given keyword");
@@ -1035,7 +1036,7 @@ RootSignatureParser::parseSamplerFilter() {
return std::nullopt;
}
-std::optional<llvm::hlsl::rootsig::TextureAddressMode>
+std::optional<::TextureAddressMode>
RootSignatureParser::parseTextureAddressMode() {
assert(CurToken.TokKind == TokenKind::pu_equal &&
"Expects to only be invoked starting at given keyword");
@@ -1061,7 +1062,7 @@ RootSignatureParser::parseTextureAddressMode() {
return std::nullopt;
}
-std::optional<llvm::hlsl::rootsig::ComparisonFunc>
+std::optional<::ComparisonFunc>
RootSignatureParser::parseComparisonFunc() {
assert(CurToken.TokKind == TokenKind::pu_equal &&
"Expects to only be invoked starting at given keyword");
@@ -1087,7 +1088,7 @@ RootSignatureParser::parseComparisonFunc() {
return std::nullopt;
}
-std::optional<llvm::hlsl::rootsig::StaticBorderColor>
+std::optional<::StaticBorderColor>
RootSignatureParser::parseStaticBorderColor() {
assert(CurToken.TokKind == TokenKind::pu_equal &&
"Expects to only be invoked starting at given keyword");
@@ -1113,7 +1114,7 @@ RootSignatureParser::parseStaticBorderColor() {
return std::nullopt;
}
-std::optional<llvm::hlsl::rootsig::RootDescriptorFlags>
+std::optional<::RootDescriptorFlags>
RootSignatureParser::parseRootDescriptorFlags() {
assert(CurToken.TokKind == TokenKind::pu_equal &&
"Expects to only be invoked starting at given keyword");
@@ -1152,7 +1153,7 @@ RootSignatureParser::parseRootDescriptorFlags() {
return Flags;
}
-std::optional<llvm::hlsl::rootsig::DescriptorRangeFlags>
+std::optional<::DescriptorRangeFlags>
RootSignatureParser::parseDescriptorRangeFlags() {
assert(CurToken.TokKind == TokenKind::pu_equal &&
"Expects to only be invoked starting at given keyword");
diff --git a/clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp b/clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
index 1e46ee35d5d49..67536440bbfec 100644
--- a/clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
+++ b/clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
@@ -25,6 +25,7 @@
#include "gtest/gtest.h"
using namespace clang;
+using namespace llvm::dxil;
using namespace llvm::hlsl::rootsig;
namespace {
diff --git a/llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h b/llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
index 513aa8a358ac4..f73c12bba88a2 100644
--- a/llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
+++ b/llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
@@ -36,7 +36,7 @@ struct RootConstants {
uint32_t Num32BitConstants;
Register Reg;
uint32_t Space = 0;
- ShaderVisibility Visibility = ShaderVisibility::All;
+ dxil::ShaderVisibility Visibility = dxil::ShaderVisibility::All;
};
enum class DescriptorType : uint8_t { SRV = 0, UAV, CBuffer };
@@ -45,17 +45,17 @@ struct RootDescriptor {
DescriptorType Type;
Register Reg;
uint32_t Space = 0;
- ShaderVisibility Visibility = ShaderVisibility::All;
- RootDescriptorFlags Flags;
+ dxil::ShaderVisibility Visibility = dxil::ShaderVisibility::All;
+ dxil::RootDescriptorFlags Flags;
void setDefaultFlags() {
switch (Type) {
case DescriptorType::CBuffer:
case DescriptorType::SRV:
- Flags = RootDescriptorFlags::DataStaticWhileSetAtExecute;
+ Flags = dxil::RootDescriptorFlags::DataStaticWhileSetAtExecute;
break;
case DescriptorType::UAV:
- Flags = RootDescriptorFlags::DataVolatile;
+ Flags = dxil::RootDescriptorFlags::DataVolatile;
break;
}
}
@@ -63,7 +63,7 @@ struct RootDescriptor {
// Models the end of a descriptor table and stores its visibility
struct DescriptorTable {
- ShaderVisibility Visibility = ShaderVisibility::All;
+ dxil::ShaderVisibility Visibility = dxil::ShaderVisibility::All;
// Denotes that the previous NumClauses in the RootElement array
// are the clauses in the table.
uint32_t NumClauses = 0;
@@ -79,19 +79,19 @@ struct DescriptorTableClause {
uint32_t NumDescriptors = 1;
uint32_t Space = 0;
uint32_t Offset = DescriptorTableOffsetAppend;
- DescriptorRangeFlags Flags;
+ dxil::DescriptorRangeFlags Flags;
void setDefaultFlags() {
switch (Type) {
case ClauseType::CBuffer:
case ClauseType::SRV:
- Flags = DescriptorRangeFlags::DataStaticWhileSetAtExecute;
+ Flags = dxil::DescriptorRangeFlags::DataStaticWhileSetAtExecute;
break;
case ClauseType::UAV:
- Flags = DescriptorRangeFlags::DataVolatile;
+ Flags = dxil::DescriptorRangeFlags::DataVolatile;
break;
case ClauseType::Sampler:
- Flags = DescriptorRangeFlags::None;
+ Flags = dxil::DescriptorRangeFlags::None;
break;
}
}
@@ -99,18 +99,18 @@ struct DescriptorTableClause {
struct StaticSampler {
Register Reg;
- SamplerFilter Filter = SamplerFilter::Anisotropic;
- TextureAddressMode AddressU = TextureAddressMode::Wrap;
- TextureAddressMode AddressV = TextureAddressMode::Wrap;
- TextureAddressMode AddressW = TextureAddressMode::Wrap;
+ dxil::SamplerFilter Filter = dxil::SamplerFilter::Anisotropic;
+ dxil::TextureAddressMode AddressU = dxil::TextureAddressMode::Wrap;
+ dxil::TextureAddressMode AddressV = dxil::TextureAddressMode::Wrap;
+ dxil::TextureAddressMode AddressW = dxil::TextureAddressMode::Wrap;
float MipLODBias = 0.f;
uint32_t MaxAnisotropy = 16;
- ComparisonFunc CompFunc = ComparisonFunc::LessEqual;
- StaticBorderColor BorderColor = StaticBorderColor::OpaqueWhite;
+ dxil::ComparisonFunc CompFunc = dxil::ComparisonFunc::LessEqual;
+ dxil::StaticBorderColor BorderColor = dxil::StaticBorderColor::OpaqueWhite;
float MinLOD = 0.f;
float MaxLOD = std::numeric_limits<float>::max();
uint32_t Space = 0;
- ShaderVisibility Visibility = ShaderVisibility::All;
+ dxil::ShaderVisibility Visibility = dxil::ShaderVisibility::All;
};
/// Models RootElement : RootFlags | RootConstants | RootParam
@@ -130,7 +130,7 @@ struct StaticSampler {
/// RootElements in the array, and it holds a data member for the Visibility
/// parameter.
using RootElement =
- std::variant<RootFlags, RootConstants, RootDescriptor, DescriptorTable,
+ std::variant<dxil::RootFlags, RootConstants, RootDescriptor, DescriptorTable,
DescriptorTableClause, StaticSampler>;
} // namespace rootsig
diff --git a/llvm/include/llvm/Frontend/HLSL/HLSLRootSignatureUtils.h b/llvm/include/llvm/Frontend/HLSL/HLSLRootSignatureUtils.h
index 6d959ad5bdc7f..865d8d3f5bf09 100644
--- a/llvm/include/llvm/Frontend/HLSL/HLSLRootSignatureUtils.h
+++ b/llvm/include/llvm/Frontend/HLSL/HLSLRootSignatureUtils.h
@@ -47,7 +47,7 @@ class MetadataBuilder {
private:
/// Define the various builders for the different metadata types
- MDNode *BuildRootFlags(const RootFlags &Flags);
+ MDNode *BuildRootFlags(const dxil::RootFlags &Flags);
MDNode *BuildRootConstants(const RootConstants &Constants);
MDNode *BuildRootDescriptor(const RootDescriptor &Descriptor);
MDNode *BuildDescriptorTable(const DescriptorTable &Table);
diff --git a/llvm/lib/Frontend/HLSL/HLSLRootSignatureUtils.cpp b/llvm/lib/Frontend/HLSL/HLSLRootSignatureUtils.cpp
index 765a3bcbed7e2..2cc6371479351 100644
--- a/llvm/lib/Frontend/HLSL/HLSLRootSignatureUtils.cpp
+++ b/llvm/lib/Frontend/HLSL/HLSLRootSignatureUtils.cpp
@@ -40,30 +40,30 @@ static raw_ostream &operator<<(raw_ostream &OS, const Register &Reg) {
}
static raw_ostream &operator<<(raw_ostream &OS,
- const ShaderVisibility &Visibility) {
+ const dxil::ShaderVisibility &Visibility) {
switch (Visibility) {
- case ShaderVisibility::All:
+ case dxil::ShaderVisibility::All:
OS << "All";
break;
- case ShaderVisibility::Vertex:
+ case dxil::ShaderVisibility::Vertex:
OS << "Vertex";
break;
- case ShaderVisibility::Hull:
+ case dxil::ShaderVisibility::Hull:
OS << "Hull";
break;
- case ShaderVisibility::Domain:
+ case dxil::ShaderVisibility::Domain:
OS << "Domain";
break;
- case ShaderVisibility::Geometry:
+ case dxil::ShaderVisibility::Geometry:
OS << "Geometry";
break;
- case ShaderVisibility::Pixel:
+ case dxil::ShaderVisibility::Pixel:
OS << "Pixel";
break;
- case ShaderVisibility::Amplification:
+ case dxil::ShaderVisibility::Amplification:
OS << "Amplification";
break;
- case ShaderVisibility::Mesh:
+ case dxil::ShaderVisibility::Mesh:
OS << "Mesh";
break;
}
@@ -91,7 +91,7 @@ static raw_ostream &operator<<(raw_ostream &OS, const ClauseType &Type) {
}
static raw_ostream &operator<<(raw_ostream &OS,
- const DescriptorRangeFlags &Flags) {
+ const dxil::DescriptorRangeFlags &Flags) {
bool FlagSet = false;
unsigned Remaining = llvm::to_underlying(Flags);
while (Remaining) {
@@ -100,20 +100,20 @@ static raw_ostream &operator<<(raw_ostream &OS,
if (FlagSet)
OS << " | ";
- switch (static_cast<DescriptorRangeFlags>(Bit)) {
- case DescriptorRangeFlags::DescriptorsVolatile:
+ switch (static_cast<dxil::DescriptorRangeFlags>(Bit)) {
+ case dxil::DescriptorRangeFlags::DescriptorsVolatile:
OS << "DescriptorsVolatile";
break;
- case DescriptorRangeFlags::DataVolatile:
+ case dxil::DescriptorRangeFlags::DataVolatile:
OS << "DataVolatile";
break;
- case DescriptorRangeFlags::DataStaticWhileSetAtExecute:
+ case dxil::DescriptorRangeFlags::DataStaticWhileSetAtExecute:
OS << "DataStaticWhileSetAtExecute";
break;
- case DescriptorRangeFlags::DataStatic:
+ case dxil::DescriptorRangeFlags::DataStatic:
OS << "DataStatic";
break;
- case DescriptorRangeFlags::DescriptorsStaticKeepingBufferBoundsChecks:
+ case dxil::DescriptorRangeFlags::DescriptorsStaticKeepingBufferBoundsChecks:
OS << "DescriptorsStaticKeepingBufferBoundsChecks";
break;
default:
@@ -182,7 +182,7 @@ template <class... Ts> OverloadedBuild(Ts...) -> OverloadedBuild<Ts...>;
MDNode *MetadataBuilder::BuildRootSignature() {
const auto Visitor = OverloadedBuild{
- [this](const RootFlags &Flags) -> MDNode * {
+ [this](const dxil::RootFlags &Flags) -> MDNode * {
return BuildRootFlags(Flags);
},
[this](const RootConstants &Constants) -> MDNode * {
@@ -212,7 +212,7 @@ MDNode *MetadataBuilder::BuildRootSignature() {
return MDNode::get(Ctx, GeneratedMetadata);
}
-MDNode *MetadataBuilder::BuildRootFlags(const RootFlags &Flags) {
+MDNode *MetadataBuilder::BuildRootFlags(const dxil::RootFlags &Flags) {
IRBuilder<> Builder(Ctx);
Metadata *Operands[] = {
MDString::get(Ctx, "RootFlags"),
diff --git a/llvm/unittests/Frontend/HLSLRootSignatureDumpTest.cpp b/llvm/unittests/Frontend/HLSLRootSignatureDumpTest.cpp
index 90e6cd0a80d6b..33fd1bc14925b 100644
--- a/llvm/unittests/Frontend/HLSLRootSignatureDumpTest.cpp
+++ b/llvm/unittests/Frontend/HLSLRootSignatureDumpTest.cpp
@@ -9,6 +9,7 @@
#include "llvm/Frontend/HLSL/HLSLRootSignatureUtils.h"
#include "gtest/gtest.h"
+using namespace llvm::dxil;
using namespace llvm::hlsl::rootsig;
namespace {
>From d4248fbab63f55ebfd89bbec09d517be29f315ac Mon Sep 17 00:00:00 2001
From: Finn Plummer <canadienfinn at gmail.com>
Date: Thu, 5 Jun 2025 22:48:28 +0000
Subject: [PATCH 4/6] clang-format
---
clang/include/clang/Parse/ParseHLSLRootSignature.h | 12 ++++--------
clang/lib/Parse/ParseHLSLRootSignature.cpp | 9 +++------
llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h | 4 ++--
llvm/lib/Frontend/HLSL/HLSLRootSignatureUtils.cpp | 3 ++-
llvm/lib/Transforms/Utils/ModuleUtils.cpp | 2 +-
5 files changed, 12 insertions(+), 18 deletions(-)
diff --git a/clang/include/clang/Parse/ParseHLSLRootSignature.h b/clang/include/clang/Parse/ParseHLSLRootSignature.h
index 066c43cc2be1e..e769d657a0e7f 100644
--- a/clang/include/clang/Parse/ParseHLSLRootSignature.h
+++ b/clang/include/clang/Parse/ParseHLSLRootSignature.h
@@ -134,15 +134,11 @@ class RootSignatureParser {
/// Parsing methods of various enums
std::optional<llvm::dxil::ShaderVisibility> parseShaderVisibility();
std::optional<llvm::dxil::SamplerFilter> parseSamplerFilter();
- std::optional<llvm::dxil::TextureAddressMode>
- parseTextureAddressMode();
+ std::optional<llvm::dxil::TextureAddressMode> parseTextureAddressMode();
std::optional<llvm::dxil::ComparisonFunc> parseComparisonFunc();
- std::optional<llvm::dxil::StaticBorderColor>
- parseStaticBorderColor();
- std::optional<llvm::dxil::RootDescriptorFlags>
- parseRootDescriptorFlags();
- std::optional<llvm::dxil::DescriptorRangeFlags>
- parseDescriptorRangeFlags();
+ std::optional<llvm::dxil::StaticBorderColor> parseStaticBorderColor();
+ std::optional<llvm::dxil::RootDescriptorFlags> parseRootDescriptorFlags();
+ std::optional<llvm::dxil::DescriptorRangeFlags> parseDescriptorRangeFlags();
/// Use NumericLiteralParser to convert CurToken.NumSpelling into a unsigned
/// 32-bit integer
diff --git a/clang/lib/Parse/ParseHLSLRootSignature.cpp b/clang/lib/Parse/ParseHLSLRootSignature.cpp
index 4e01b23a48572..5b58020ed9564 100644
--- a/clang/lib/Parse/ParseHLSLRootSignature.cpp
+++ b/clang/lib/Parse/ParseHLSLRootSignature.cpp
@@ -984,8 +984,7 @@ std::optional<float> RootSignatureParser::parseFloatParam() {
return std::nullopt;
}
-std::optional<::ShaderVisibility>
-RootSignatureParser::parseShaderVisibility() {
+std::optional<::ShaderVisibility> RootSignatureParser::parseShaderVisibility() {
assert(CurToken.TokKind == TokenKind::pu_equal &&
"Expects to only be invoked starting at given keyword");
@@ -1010,8 +1009,7 @@ RootSignatureParser::parseShaderVisibility() {
return std::nullopt;
}
-std::optional<::SamplerFilter>
-RootSignatureParser::parseSamplerFilter() {
+std::optional<::SamplerFilter> RootSignatureParser::parseSamplerFilter() {
assert(CurToken.TokKind == TokenKind::pu_equal &&
"Expects to only be invoked starting at given keyword");
@@ -1062,8 +1060,7 @@ RootSignatureParser::parseTextureAddressMode() {
return std::nullopt;
}
-std::optional<::ComparisonFunc>
-RootSignatureParser::parseComparisonFunc() {
+std::optional<::ComparisonFunc> RootSignatureParser::parseComparisonFunc() {
assert(CurToken.TokKind == TokenKind::pu_equal &&
"Expects to only be invoked starting at given keyword");
diff --git a/llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h b/llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
index f73c12bba88a2..2d1e62ea092f3 100644
--- a/llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
+++ b/llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
@@ -130,8 +130,8 @@ struct StaticSampler {
/// RootElements in the array, and it holds a data member for the Visibility
/// parameter.
using RootElement =
- std::variant<dxil::RootFlags, RootConstants, RootDescriptor, DescriptorTable,
- DescriptorTableClause, StaticSampler>;
+ std::variant<dxil::RootFlags, RootConstants, RootDescriptor,
+ DescriptorTable, DescriptorTableClause, StaticSampler>;
} // namespace rootsig
} // namespace hlsl
diff --git a/llvm/lib/Frontend/HLSL/HLSLRootSignatureUtils.cpp b/llvm/lib/Frontend/HLSL/HLSLRootSignatureUtils.cpp
index 2cc6371479351..9cefcfb7a240f 100644
--- a/llvm/lib/Frontend/HLSL/HLSLRootSignatureUtils.cpp
+++ b/llvm/lib/Frontend/HLSL/HLSLRootSignatureUtils.cpp
@@ -113,7 +113,8 @@ static raw_ostream &operator<<(raw_ostream &OS,
case dxil::DescriptorRangeFlags::DataStatic:
OS << "DataStatic";
break;
- case dxil::DescriptorRangeFlags::DescriptorsStaticKeepingBufferBoundsChecks:
+ case dxil::DescriptorRangeFlags::
+ DescriptorsStaticKeepingBufferBoundsChecks:
OS << "DescriptorsStaticKeepingBufferBoundsChecks";
break;
default:
diff --git a/llvm/lib/Transforms/Utils/ModuleUtils.cpp b/llvm/lib/Transforms/Utils/ModuleUtils.cpp
index 596849ecab742..05470b5cdbfe6 100644
--- a/llvm/lib/Transforms/Utils/ModuleUtils.cpp
+++ b/llvm/lib/Transforms/Utils/ModuleUtils.cpp
@@ -11,8 +11,8 @@
//===----------------------------------------------------------------------===//
#include "llvm/Transforms/Utils/ModuleUtils.h"
-#include "llvm/Analysis/VectorUtils.h"
#include "llvm/ADT/SmallString.h"
+#include "llvm/Analysis/VectorUtils.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/IRBuilder.h"
>From ea6a0833978aa1b0b77aa931893b17c1ba0fcef6 Mon Sep 17 00:00:00 2001
From: Finn Plummer <canadienfinn at gmail.com>
Date: Fri, 6 Jun 2025 21:54:04 +0000
Subject: [PATCH 5/6] review: remove ValidFlag enum entries
---
clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp | 8 ++++----
llvm/include/llvm/Support/DXILABI.h | 4 ----
llvm/unittests/Frontend/HLSLRootSignatureDumpTest.cpp | 4 ++--
3 files changed, 6 insertions(+), 10 deletions(-)
diff --git a/clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp b/clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
index 67536440bbfec..e9fef6aa42623 100644
--- a/clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
+++ b/clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
@@ -207,7 +207,7 @@ TEST_F(ParseHLSLRootSignatureTest, ValidParseDTClausesTest) {
ASSERT_EQ(std::get<DescriptorTableClause>(Elem).Offset,
DescriptorTableOffsetAppend);
ASSERT_EQ(std::get<DescriptorTableClause>(Elem).Flags,
- DescriptorRangeFlags::ValidFlags);
+ DescriptorRangeFlags(0x1000f)); // All valid flags
Elem = Elements[4];
ASSERT_TRUE(std::holds_alternative<DescriptorTable>(Elem));
@@ -405,7 +405,7 @@ TEST_F(ParseHLSLRootSignatureTest, ValidSamplerFlagsTest) {
ASSERT_TRUE(std::holds_alternative<DescriptorTableClause>(Elem));
ASSERT_EQ(std::get<DescriptorTableClause>(Elem).Type, ClauseType::Sampler);
ASSERT_EQ(std::get<DescriptorTableClause>(Elem).Flags,
- DescriptorRangeFlags::ValidSamplerFlags);
+ DescriptorRangeFlags::DescriptorsVolatile); // Valid sampler flags
ASSERT_TRUE(Consumer->isSatisfied());
}
@@ -497,7 +497,7 @@ TEST_F(ParseHLSLRootSignatureTest, ValidParseRootFlagsTest) {
Elem = Elements[2];
ASSERT_TRUE(std::holds_alternative<RootFlags>(Elem));
- ASSERT_EQ(std::get<RootFlags>(Elem), RootFlags::ValidFlags);
+ ASSERT_EQ(std::get<RootFlags>(Elem), RootFlags(0xfff)); // Valid flags
ASSERT_TRUE(Consumer->isSatisfied());
}
@@ -546,7 +546,7 @@ TEST_F(ParseHLSLRootSignatureTest, ValidParseRootDescriptorsTest) {
ASSERT_EQ(std::get<RootDescriptor>(Elem).Visibility,
ShaderVisibility::Geometry);
ASSERT_EQ(std::get<RootDescriptor>(Elem).Flags,
- RootDescriptorFlags::ValidFlags);
+ RootDescriptorFlags(0xe)); // All valid flags
Elem = Elements[2];
ASSERT_TRUE(std::holds_alternative<RootDescriptor>(Elem));
diff --git a/llvm/include/llvm/Support/DXILABI.h b/llvm/include/llvm/Support/DXILABI.h
index 80c6b5041c96e..7b4c5452c4850 100644
--- a/llvm/include/llvm/Support/DXILABI.h
+++ b/llvm/include/llvm/Support/DXILABI.h
@@ -119,7 +119,6 @@ enum class RootFlags : uint32_t {
DenyMeshShaderRootAccess = 0x200,
CBVSRVUAVHeapDirectlyIndexed = 0x400,
SamplerHeapDirectlyIndexed = 0x800,
- ValidFlags = 0x00000fff
};
// D3D12_ROOT_DESCRIPTOR_FLAGS
@@ -128,7 +127,6 @@ enum class RootDescriptorFlags : unsigned {
DataVolatile = 0x2,
DataStaticWhileSetAtExecute = 0x4,
DataStatic = 0x8,
- ValidFlags = 0xe,
};
// D3D12_DESCRIPTOR_RANGE_FLAGS
@@ -139,8 +137,6 @@ enum class DescriptorRangeFlags : unsigned {
DataStaticWhileSetAtExecute = 0x4,
DataStatic = 0x8,
DescriptorsStaticKeepingBufferBoundsChecks = 0x10000,
- ValidFlags = 0x1000f,
- ValidSamplerFlags = DescriptorsVolatile,
};
// D3D12_SHADER_VISIBILITY
diff --git a/llvm/unittests/Frontend/HLSLRootSignatureDumpTest.cpp b/llvm/unittests/Frontend/HLSLRootSignatureDumpTest.cpp
index 33fd1bc14925b..75f0a8a06040e 100644
--- a/llvm/unittests/Frontend/HLSLRootSignatureDumpTest.cpp
+++ b/llvm/unittests/Frontend/HLSLRootSignatureDumpTest.cpp
@@ -57,7 +57,7 @@ TEST(HLSLRootSignatureTest, DescriptorUAVClauseDump) {
Clause.NumDescriptors = 3298;
Clause.Space = 932847;
Clause.Offset = 1;
- Clause.Flags = DescriptorRangeFlags::ValidFlags;
+ Clause.Flags = DescriptorRangeFlags(0x1000f); // Valid flags
std::string Out;
llvm::raw_string_ostream OS(Out);
@@ -81,7 +81,7 @@ TEST(HLSLRootSignatureTest, DescriptorSamplerClauseDump) {
Clause.NumDescriptors = 2;
Clause.Space = 42;
Clause.Offset = DescriptorTableOffsetAppend;
- Clause.Flags = DescriptorRangeFlags::ValidSamplerFlags;
+ Clause.Flags = DescriptorRangeFlags::DescriptorsVolatile;
std::string Out;
llvm::raw_string_ostream OS(Out);
>From 01d5a9464644c7782550e53388de1332c4a00b43 Mon Sep 17 00:00:00 2001
From: Finn Plummer <canadienfinn at gmail.com>
Date: Fri, 6 Jun 2025 21:59:45 +0000
Subject: [PATCH 6/6] self-review: fix typos
---
clang/lib/Parse/ParseHLSLRootSignature.cpp | 15 +++++++--------
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/clang/lib/Parse/ParseHLSLRootSignature.cpp b/clang/lib/Parse/ParseHLSLRootSignature.cpp
index 5b58020ed9564..b6370917bcb3a 100644
--- a/clang/lib/Parse/ParseHLSLRootSignature.cpp
+++ b/clang/lib/Parse/ParseHLSLRootSignature.cpp
@@ -984,7 +984,7 @@ std::optional<float> RootSignatureParser::parseFloatParam() {
return std::nullopt;
}
-std::optional<::ShaderVisibility> RootSignatureParser::parseShaderVisibility() {
+std::optional<ShaderVisibility> RootSignatureParser::parseShaderVisibility() {
assert(CurToken.TokKind == TokenKind::pu_equal &&
"Expects to only be invoked starting at given keyword");
@@ -1009,7 +1009,7 @@ std::optional<::ShaderVisibility> RootSignatureParser::parseShaderVisibility() {
return std::nullopt;
}
-std::optional<::SamplerFilter> RootSignatureParser::parseSamplerFilter() {
+std::optional<SamplerFilter> RootSignatureParser::parseSamplerFilter() {
assert(CurToken.TokKind == TokenKind::pu_equal &&
"Expects to only be invoked starting at given keyword");
@@ -1034,7 +1034,7 @@ std::optional<::SamplerFilter> RootSignatureParser::parseSamplerFilter() {
return std::nullopt;
}
-std::optional<::TextureAddressMode>
+std::optional<TextureAddressMode>
RootSignatureParser::parseTextureAddressMode() {
assert(CurToken.TokKind == TokenKind::pu_equal &&
"Expects to only be invoked starting at given keyword");
@@ -1060,7 +1060,7 @@ RootSignatureParser::parseTextureAddressMode() {
return std::nullopt;
}
-std::optional<::ComparisonFunc> RootSignatureParser::parseComparisonFunc() {
+std::optional<ComparisonFunc> RootSignatureParser::parseComparisonFunc() {
assert(CurToken.TokKind == TokenKind::pu_equal &&
"Expects to only be invoked starting at given keyword");
@@ -1085,8 +1085,7 @@ std::optional<::ComparisonFunc> RootSignatureParser::parseComparisonFunc() {
return std::nullopt;
}
-std::optional<::StaticBorderColor>
-RootSignatureParser::parseStaticBorderColor() {
+std::optional<StaticBorderColor> RootSignatureParser::parseStaticBorderColor() {
assert(CurToken.TokKind == TokenKind::pu_equal &&
"Expects to only be invoked starting at given keyword");
@@ -1111,7 +1110,7 @@ RootSignatureParser::parseStaticBorderColor() {
return std::nullopt;
}
-std::optional<::RootDescriptorFlags>
+std::optional<RootDescriptorFlags>
RootSignatureParser::parseRootDescriptorFlags() {
assert(CurToken.TokKind == TokenKind::pu_equal &&
"Expects to only be invoked starting at given keyword");
@@ -1150,7 +1149,7 @@ RootSignatureParser::parseRootDescriptorFlags() {
return Flags;
}
-std::optional<::DescriptorRangeFlags>
+std::optional<DescriptorRangeFlags>
RootSignatureParser::parseDescriptorRangeFlags() {
assert(CurToken.TokKind == TokenKind::pu_equal &&
"Expects to only be invoked starting at given keyword");
More information about the llvm-commits
mailing list