Skip to content

Commit 94c9f29

Browse files
committed
pre-req: add keywords
1 parent 29d49de commit 94c9f29

File tree

2 files changed

+46
-2
lines changed

2 files changed

+46
-2
lines changed

clang/include/clang/Lex/HLSLRootSignatureTokenKinds.def

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,12 @@
5656
#ifndef TEXTURE_ADDRESS_MODE_ENUM
5757
#define TEXTURE_ADDRESS_MODE_ENUM(NAME, LIT) ENUM(NAME, LIT)
5858
#endif
59+
#ifndef COMPARISON_FUNC_ENUM
60+
#define COMPARISON_FUNC_ENUM(NAME, LIT) ENUM(NAME, LIT)
61+
#endif
62+
#ifndef STATIC_BORDER_COLOR_ENUM
63+
#define STATIC_BORDER_COLOR_ENUM(NAME, LIT) ENUM(NAME, LIT)
64+
#endif
5965

6066
// General Tokens:
6167
TOK(invalid, "invalid identifier")
@@ -109,6 +115,8 @@ KEYWORD(addressU)
109115
KEYWORD(addressV)
110116
KEYWORD(addressW)
111117
KEYWORD(maxAnisotropy)
118+
KEYWORD(comparisonFunc)
119+
KEYWORD(borderColor)
112120
KEYWORD(minLOD)
113121
KEYWORD(maxLOD)
114122

@@ -161,6 +169,25 @@ TEXTURE_ADDRESS_MODE_ENUM(Clamp, "TEXTURE_ADDRESS_CLAMP")
161169
TEXTURE_ADDRESS_MODE_ENUM(Border, "TEXTURE_ADDRESS_BORDER")
162170
TEXTURE_ADDRESS_MODE_ENUM(MirrorOnce, "TEXTURE_ADDRESS_MIRRORONCE")
163171

172+
// Comparison Func Enums:
173+
COMPARISON_FUNC_ENUM(Never, "COMPARISON_NEVER")
174+
COMPARISON_FUNC_ENUM(Less, "COMPARISON_LESS")
175+
COMPARISON_FUNC_ENUM(Equal, "COMPARISON_EQUAL")
176+
COMPARISON_FUNC_ENUM(LessEqual, "COMPARISON_LESS_EQUAL")
177+
COMPARISON_FUNC_ENUM(Greater, "COMPARISON_GREATER")
178+
COMPARISON_FUNC_ENUM(NotEqual, "COMPARISON_NOT_EQUAL")
179+
COMPARISON_FUNC_ENUM(GreaterEqual, "COMPARISON_GREATER_EQUAL")
180+
COMPARISON_FUNC_ENUM(Always, "COMPARISON_ALWAYS")
181+
182+
// Static Border Color Enums:
183+
STATIC_BORDER_COLOR_ENUM(TransparentBlack, "STATIC_BORDER_COLOR_TRANSPARENT_BLACK")
184+
STATIC_BORDER_COLOR_ENUM(OpaqueBlack, "STATIC_BORDER_COLOR_OPAQUE_BLACK")
185+
STATIC_BORDER_COLOR_ENUM(OpaqueWhite, "STATIC_BORDER_COLOR_OPAQUE_WHITE")
186+
STATIC_BORDER_COLOR_ENUM(OpaqueBlackUint, "STATIC_BORDER_COLOR_OPAQUE_BLACK_UINT")
187+
STATIC_BORDER_COLOR_ENUM(OpaqueWhiteUint, "STATIC_BORDER_COLOR_OPAQUE_WHITE_UINT")
188+
189+
#undef STATIC_BORDER_COLOR_ENUM
190+
#undef COMPARISON_FUNC_ENUM
164191
#undef TEXTURE_ADDRESS_MODE_ENUM
165192
#undef SHADER_VISIBILITY_ENUM
166193
#undef DESCRIPTOR_RANGE_FLAG_ENUM

clang/unittests/Lex/LexHLSLRootSignatureTest.cpp

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,8 +136,10 @@ TEST_F(LexHLSLRootSignatureTest, ValidLexAllTokensTest) {
136136
space visibility flags
137137
numDescriptors offset
138138
139-
mipLODBias addressU addressV addressW
140-
maxAnisotropy minLOD maxLOD
139+
addressU addressV addressW
140+
mipLODBias maxAnisotropy
141+
comparisonFunc borderColor
142+
minLOD maxLOD
141143
142144
unbounded
143145
DESCRIPTOR_RANGE_OFFSET_APPEND
@@ -175,6 +177,21 @@ TEST_F(LexHLSLRootSignatureTest, ValidLexAllTokensTest) {
175177
TEXTURE_ADDRESS_CLAMP
176178
TEXTURE_ADDRESS_BORDER
177179
TEXTURE_ADDRESS_MIRRORONCE
180+
181+
comparison_never
182+
comparison_less
183+
comparison_equal
184+
comparison_less_equal
185+
comparison_greater
186+
comparison_not_equal
187+
comparison_greater_equal
188+
comparison_always
189+
190+
STATIC_BORDER_COLOR_TRANSPARENT_BLACK
191+
STATIC_BORDER_COLOR_OPAQUE_BLACK
192+
STATIC_BORDER_COLOR_OPAQUE_WHITE
193+
STATIC_BORDER_COLOR_OPAQUE_BLACK_UINT
194+
STATIC_BORDER_COLOR_OPAQUE_WHITE_UINT
178195
)cc";
179196
auto TokLoc = SourceLocation();
180197
hlsl::RootSignatureLexer Lexer(Source, TokLoc);

0 commit comments

Comments
 (0)