Skip to content

Commit feacb11

Browse files
committed
nfc: move DescriptorRangeFlags
1 parent 4108498 commit feacb11

File tree

6 files changed

+22
-43
lines changed

6 files changed

+22
-43
lines changed

clang/include/clang/Parse/ParseHLSLRootSignature.h

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ class RootSignatureParser {
104104
std::optional<uint32_t> NumDescriptors;
105105
std::optional<uint32_t> Space;
106106
std::optional<uint32_t> Offset;
107-
std::optional<llvm::hlsl::rootsig::DescriptorRangeFlags> Flags;
107+
std::optional<llvm::dxbc::DescriptorRangeFlags> Flags;
108108
};
109109
std::optional<ParsedClauseParams>
110110
parseDescriptorTableClauseParams(RootSignatureToken::Kind RegType);
@@ -140,8 +140,7 @@ class RootSignatureParser {
140140
std::optional<llvm::hlsl::rootsig::StaticBorderColor>
141141
parseStaticBorderColor();
142142
std::optional<llvm::dxbc::RootDescriptorFlags> parseRootDescriptorFlags();
143-
std::optional<llvm::hlsl::rootsig::DescriptorRangeFlags>
144-
parseDescriptorRangeFlags();
143+
std::optional<llvm::dxbc::DescriptorRangeFlags> parseDescriptorRangeFlags();
145144

146145
/// Use NumericLiteralParser to convert CurToken.NumSpelling into a unsigned
147146
/// 32-bit integer

clang/lib/Parse/ParseHLSLRootSignature.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1153,7 +1153,7 @@ RootSignatureParser::parseRootDescriptorFlags() {
11531153
return Flags;
11541154
}
11551155

1156-
std::optional<llvm::hlsl::rootsig::DescriptorRangeFlags>
1156+
std::optional<llvm::dxbc::DescriptorRangeFlags>
11571157
RootSignatureParser::parseDescriptorRangeFlags() {
11581158
assert(CurToken.TokKind == TokenKind::pu_equal &&
11591159
"Expects to only be invoked starting at given keyword");
@@ -1164,23 +1164,23 @@ RootSignatureParser::parseDescriptorRangeFlags() {
11641164
getDiags().Report(CurToken.TokLoc, diag::err_hlsl_rootsig_non_zero_flag);
11651165
return std::nullopt;
11661166
}
1167-
return DescriptorRangeFlags::None;
1167+
return llvm::dxbc::DescriptorRangeFlags::None;
11681168
}
11691169

11701170
TokenKind Expected[] = {
11711171
#define DESCRIPTOR_RANGE_FLAG_ENUM(NAME, LIT, ON) TokenKind::en_##NAME,
11721172
#include "clang/Lex/HLSLRootSignatureTokenKinds.def"
11731173
};
11741174

1175-
std::optional<DescriptorRangeFlags> Flags;
1175+
std::optional<llvm::dxbc::DescriptorRangeFlags> Flags;
11761176

11771177
do {
11781178
if (tryConsumeExpectedToken(Expected)) {
11791179
switch (CurToken.TokKind) {
11801180
#define DESCRIPTOR_RANGE_FLAG_ENUM(NAME, LIT, ON) \
11811181
case TokenKind::en_##NAME: \
1182-
Flags = \
1183-
maybeOrFlag<DescriptorRangeFlags>(Flags, DescriptorRangeFlags::NAME); \
1182+
Flags = maybeOrFlag<llvm::dxbc::DescriptorRangeFlags>( \
1183+
Flags, llvm::dxbc::DescriptorRangeFlags::NAME); \
11841184
break;
11851185
#include "clang/Lex/HLSLRootSignatureTokenKinds.def"
11861186
default:

clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ TEST_F(ParseHLSLRootSignatureTest, ValidParseDTClausesTest) {
167167
ASSERT_EQ(std::get<DescriptorTableClause>(Elem).Offset,
168168
DescriptorTableOffsetAppend);
169169
ASSERT_EQ(std::get<DescriptorTableClause>(Elem).Flags,
170-
DescriptorRangeFlags::DataStaticWhileSetAtExecute);
170+
llvm::dxbc::DescriptorRangeFlags::DataStaticWhileSetAtExecute);
171171

172172
Elem = Elements[1];
173173
ASSERT_TRUE(std::holds_alternative<DescriptorTableClause>(Elem));
@@ -179,7 +179,7 @@ TEST_F(ParseHLSLRootSignatureTest, ValidParseDTClausesTest) {
179179
ASSERT_EQ(std::get<DescriptorTableClause>(Elem).Space, 3u);
180180
ASSERT_EQ(std::get<DescriptorTableClause>(Elem).Offset, 32u);
181181
ASSERT_EQ(std::get<DescriptorTableClause>(Elem).Flags,
182-
DescriptorRangeFlags::None);
182+
llvm::dxbc::DescriptorRangeFlags::None);
183183

184184
Elem = Elements[2];
185185
ASSERT_TRUE(std::holds_alternative<DescriptorTableClause>(Elem));
@@ -192,7 +192,7 @@ TEST_F(ParseHLSLRootSignatureTest, ValidParseDTClausesTest) {
192192
ASSERT_EQ(std::get<DescriptorTableClause>(Elem).Offset,
193193
DescriptorTableOffsetAppend);
194194
ASSERT_EQ(std::get<DescriptorTableClause>(Elem).Flags,
195-
DescriptorRangeFlags::None);
195+
llvm::dxbc::DescriptorRangeFlags::None);
196196

197197
Elem = Elements[3];
198198
ASSERT_TRUE(std::holds_alternative<DescriptorTableClause>(Elem));
@@ -205,8 +205,9 @@ TEST_F(ParseHLSLRootSignatureTest, ValidParseDTClausesTest) {
205205
ASSERT_EQ(std::get<DescriptorTableClause>(Elem).Space, 0u);
206206
ASSERT_EQ(std::get<DescriptorTableClause>(Elem).Offset,
207207
DescriptorTableOffsetAppend);
208+
auto ValidDescriptorRangeFlags = llvm::dxbc::DescriptorRangeFlags(0x1000f);
208209
ASSERT_EQ(std::get<DescriptorTableClause>(Elem).Flags,
209-
DescriptorRangeFlags::ValidFlags);
210+
ValidDescriptorRangeFlags);
210211

211212
Elem = Elements[4];
212213
ASSERT_TRUE(std::holds_alternative<DescriptorTable>(Elem));
@@ -404,7 +405,7 @@ TEST_F(ParseHLSLRootSignatureTest, ValidSamplerFlagsTest) {
404405
ASSERT_TRUE(std::holds_alternative<DescriptorTableClause>(Elem));
405406
ASSERT_EQ(std::get<DescriptorTableClause>(Elem).Type, ClauseType::Sampler);
406407
ASSERT_EQ(std::get<DescriptorTableClause>(Elem).Flags,
407-
DescriptorRangeFlags::ValidSamplerFlags);
408+
llvm::dxbc::DescriptorRangeFlags::DescriptorsVolatile);
408409

409410
ASSERT_TRUE(Consumer->isSatisfied());
410411
}

llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -29,17 +29,6 @@ namespace rootsig {
2929
// carried over from their values in DXC. For reference:
3030
// https://learn.microsoft.com/en-us/windows/win32/api/d3d12/
3131

32-
enum class DescriptorRangeFlags : unsigned {
33-
None = 0,
34-
DescriptorsVolatile = 0x1,
35-
DataVolatile = 0x2,
36-
DataStaticWhileSetAtExecute = 0x4,
37-
DataStatic = 0x8,
38-
DescriptorsStaticKeepingBufferBoundsChecks = 0x10000,
39-
ValidFlags = 0x1000f,
40-
ValidSamplerFlags = DescriptorsVolatile,
41-
};
42-
4332
enum class ShaderVisibility {
4433
All = 0,
4534
Vertex = 1,
@@ -176,19 +165,19 @@ struct DescriptorTableClause {
176165
uint32_t NumDescriptors = 1;
177166
uint32_t Space = 0;
178167
uint32_t Offset = DescriptorTableOffsetAppend;
179-
DescriptorRangeFlags Flags;
168+
dxbc::DescriptorRangeFlags Flags;
180169

181170
void setDefaultFlags() {
182171
switch (Type) {
183172
case ClauseType::CBuffer:
184173
case ClauseType::SRV:
185-
Flags = DescriptorRangeFlags::DataStaticWhileSetAtExecute;
174+
Flags = dxbc::DescriptorRangeFlags::DataStaticWhileSetAtExecute;
186175
break;
187176
case ClauseType::UAV:
188-
Flags = DescriptorRangeFlags::DataVolatile;
177+
Flags = dxbc::DescriptorRangeFlags::DataVolatile;
189178
break;
190179
case ClauseType::Sampler:
191-
Flags = DescriptorRangeFlags::None;
180+
Flags = dxbc::DescriptorRangeFlags::None;
192181
break;
193182
}
194183
}

llvm/lib/Frontend/HLSL/HLSLRootSignatureUtils.cpp

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -222,19 +222,9 @@ static raw_ostream &operator<<(raw_ostream &OS,
222222
return OS;
223223
}
224224

225-
static const EnumEntry<DescriptorRangeFlags> DescriptorRangeFlagNames[] = {
226-
{"DescriptorsVolatile", DescriptorRangeFlags::DescriptorsVolatile},
227-
{"DataVolatile", DescriptorRangeFlags::DataVolatile},
228-
{"DataStaticWhileSetAtExecute",
229-
DescriptorRangeFlags::DataStaticWhileSetAtExecute},
230-
{"DataStatic", DescriptorRangeFlags::DataStatic},
231-
{"DescriptorsStaticKeepingBufferBoundsChecks",
232-
DescriptorRangeFlags::DescriptorsStaticKeepingBufferBoundsChecks},
233-
};
234-
235225
static raw_ostream &operator<<(raw_ostream &OS,
236-
const DescriptorRangeFlags &Flags) {
237-
printFlags(OS, Flags, ArrayRef(DescriptorRangeFlagNames));
226+
const llvm::dxbc::DescriptorRangeFlags &Flags) {
227+
printFlags(OS, Flags, dxbc::getDescriptorRangeFlags());
238228

239229
return OS;
240230
}

llvm/unittests/Frontend/HLSLRootSignatureDumpTest.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ TEST(HLSLRootSignatureTest, DescriptorSRVClauseDump) {
3737
Clause.NumDescriptors = NumDescriptorsUnbounded;
3838
Clause.Space = 42;
3939
Clause.Offset = 3;
40-
Clause.Flags = DescriptorRangeFlags::None;
40+
Clause.Flags = llvm::dxbc::DescriptorRangeFlags::None;
4141

4242
std::string Out;
4343
llvm::raw_string_ostream OS(Out);
@@ -56,7 +56,7 @@ TEST(HLSLRootSignatureTest, DescriptorUAVClauseDump) {
5656
Clause.NumDescriptors = 3298;
5757
Clause.Space = 932847;
5858
Clause.Offset = 1;
59-
Clause.Flags = DescriptorRangeFlags::ValidFlags;
59+
Clause.Flags = llvm::dxbc::DescriptorRangeFlags(0x1000f);
6060

6161
std::string Out;
6262
llvm::raw_string_ostream OS(Out);
@@ -80,7 +80,7 @@ TEST(HLSLRootSignatureTest, DescriptorSamplerClauseDump) {
8080
Clause.NumDescriptors = 2;
8181
Clause.Space = 42;
8282
Clause.Offset = DescriptorTableOffsetAppend;
83-
Clause.Flags = DescriptorRangeFlags::ValidSamplerFlags;
83+
Clause.Flags = llvm::dxbc::DescriptorRangeFlags::DescriptorsVolatile;
8484

8585
std::string Out;
8686
llvm::raw_string_ostream OS(Out);

0 commit comments

Comments
 (0)