Skip to content

Commit 8889c7f

Browse files
committed
pre-req: add keywords
1 parent 2b5b8db commit 8889c7f

File tree

2 files changed

+83
-3
lines changed

2 files changed

+83
-3
lines changed

clang/include/clang/Lex/HLSLRootSignatureTokenKinds.def

Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,9 @@
5353
#ifndef SHADER_VISIBILITY_ENUM
5454
#define SHADER_VISIBILITY_ENUM(NAME, LIT) ENUM(NAME, LIT)
5555
#endif
56+
#ifndef FILTER_ENUM
57+
#define FILTER_ENUM(NAME, LIT) ENUM(NAME, LIT)
58+
#endif
5659
#ifndef TEXTURE_ADDRESS_MODE_ENUM
5760
#define TEXTURE_ADDRESS_MODE_ENUM(NAME, LIT) ENUM(NAME, LIT)
5861
#endif
@@ -104,10 +107,11 @@ KEYWORD(numDescriptors)
104107
KEYWORD(offset)
105108

106109
// StaticSampler Keywords:
107-
KEYWORD(mipLODBias)
110+
KEYWORD(filter)
108111
KEYWORD(addressU)
109112
KEYWORD(addressV)
110113
KEYWORD(addressW)
114+
KEYWORD(mipLODBias)
111115
KEYWORD(maxAnisotropy)
112116
KEYWORD(minLOD)
113117
KEYWORD(maxLOD)
@@ -154,6 +158,44 @@ SHADER_VISIBILITY_ENUM(Pixel, "SHADER_VISIBILITY_PIXEL")
154158
SHADER_VISIBILITY_ENUM(Amplification, "SHADER_VISIBILITY_AMPLIFICATION")
155159
SHADER_VISIBILITY_ENUM(Mesh, "SHADER_VISIBILITY_MESH")
156160

161+
// Filter Enums:
162+
FILTER_ENUM(MinMagMipPoint, "FILTER_MIN_MAG_MIP_POINT")
163+
FILTER_ENUM(MinMagPointMipLinear, "FILTER_MIN_MAG_POINT_MIP_LINEAR")
164+
FILTER_ENUM(MinPointMagLinearMipPoint, "FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT")
165+
FILTER_ENUM(MinPointMagMipLinear, "FILTER_MIN_POINT_MAG_MIP_LINEAR")
166+
FILTER_ENUM(MinLinearMagMipPoint, "FILTER_MIN_LINEAR_MAG_MIP_POINT")
167+
FILTER_ENUM(MinLinearMagPointMipLinear, "FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR")
168+
FILTER_ENUM(MinMagLinearMipPoint, "FILTER_MIN_MAG_LINEAR_MIP_POINT")
169+
FILTER_ENUM(MinMagMipLinear, "FILTER_MIN_MAG_MIP_LINEAR")
170+
FILTER_ENUM(Anisotropic, "FILTER_ANISOTROPIC")
171+
FILTER_ENUM(ComparisonMinMagMipPoint, "FILTER_COMPARISON_MIN_MAG_MIP_POINT")
172+
FILTER_ENUM(ComparisonMinMagPointMipLinear, "FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR")
173+
FILTER_ENUM(ComparisonMinPointMagLinearMipPoint, "FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT")
174+
FILTER_ENUM(ComparisonMinPointMagMipLinear, "FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR")
175+
FILTER_ENUM(ComparisonMinLinearMagMipPoint, "FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT")
176+
FILTER_ENUM(ComparisonMinLinearMagPointMipLinear, "FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR")
177+
FILTER_ENUM(ComparisonMinMagLinearMipPoint, "FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT")
178+
FILTER_ENUM(ComparisonMinMagMipLinear, "FILTER_COMPARISON_MIN_MAG_MIP_LINEAR")
179+
FILTER_ENUM(ComparisonAnisotropic, "FILTER_COMPARISON_ANISOTROPIC")
180+
FILTER_ENUM(MinimumMinMagMipPoint, "FILTER_MINIMUM_MIN_MAG_MIP_POINT")
181+
FILTER_ENUM(MinimumMinMagPointMipLinear, "FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR")
182+
FILTER_ENUM(MinimumMinPointMagLinearMipPoint, "FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT")
183+
FILTER_ENUM(MinimumMinPointMagMipLinear, "FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR")
184+
FILTER_ENUM(MinimumMinLinearMagMipPoint, "FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT")
185+
FILTER_ENUM(MinimumMinLinearMagPointMipLinear, "FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR")
186+
FILTER_ENUM(MinimumMinMagLinearMipPoint, "FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT")
187+
FILTER_ENUM(MinimumMinMagMipLinear, "FILTER_MINIMUM_MIN_MAG_MIP_LINEAR")
188+
FILTER_ENUM(MinimumAnisotropic, "FILTER_MINIMUM_ANISOTROPIC")
189+
FILTER_ENUM(MaximumMinMagMipPoint, "FILTER_MAXIMUM_MIN_MAG_MIP_POINT")
190+
FILTER_ENUM(MaximumMinMagPointMipLinear, "FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR")
191+
FILTER_ENUM(MaximumMinPointMagLinearMipPoint, "FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT")
192+
FILTER_ENUM(MaximumMinPointMagMipLinear, "FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR")
193+
FILTER_ENUM(MaximumMinLinearMagMipPoint, "FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT")
194+
FILTER_ENUM(MaximumMinLinearMagPointMipLinear, "FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR")
195+
FILTER_ENUM(MaximumMinMagLinearMipPoint, "FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT")
196+
FILTER_ENUM(MaximumMinMagMipLinear, "FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR")
197+
FILTER_ENUM(MaximumAnisotropic, "FILTER_MAXIMUM_ANISOTROPIC")
198+
157199
// Texture Address Mode Enums:
158200
TEXTURE_ADDRESS_MODE_ENUM(Wrap, "TEXTURE_ADDRESS_WRAP")
159201
TEXTURE_ADDRESS_MODE_ENUM(Mirror, "TEXTURE_ADDRESS_MIRROR")
@@ -162,6 +204,7 @@ TEXTURE_ADDRESS_MODE_ENUM(Border, "TEXTURE_ADDRESS_BORDER")
162204
TEXTURE_ADDRESS_MODE_ENUM(MirrorOnce, "TEXTURE_ADDRESS_MIRRORONCE")
163205

164206
#undef TEXTURE_ADDRESS_MODE_ENUM
207+
#undef FILTER_ENUM
165208
#undef SHADER_VISIBILITY_ENUM
166209
#undef DESCRIPTOR_RANGE_FLAG_ENUM
167210
#undef DESCRIPTOR_RANGE_FLAG_ENUM_OFF

clang/unittests/Lex/LexHLSLRootSignatureTest.cpp

Lines changed: 39 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,8 +136,8 @@ TEST_F(LexHLSLRootSignatureTest, ValidLexAllTokensTest) {
136136
space visibility flags
137137
numDescriptors offset
138138
139-
mipLODBias addressU addressV addressW
140-
maxAnisotropy minLOD maxLOD
139+
filter addressU addressV addressW
140+
mipLODBias maxAnisotropy minLOD maxLOD
141141
142142
unbounded
143143
DESCRIPTOR_RANGE_OFFSET_APPEND
@@ -170,6 +170,43 @@ TEST_F(LexHLSLRootSignatureTest, ValidLexAllTokensTest) {
170170
shader_visibility_amplification
171171
shader_visibility_mesh
172172
173+
FILTER_MIN_MAG_MIP_POINT
174+
FILTER_MIN_MAG_POINT_MIP_LINEAR
175+
FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT
176+
FILTER_MIN_POINT_MAG_MIP_LINEAR
177+
FILTER_MIN_LINEAR_MAG_MIP_POINT
178+
FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR
179+
FILTER_MIN_MAG_LINEAR_MIP_POINT
180+
FILTER_MIN_MAG_MIP_LINEAR
181+
FILTER_ANISOTROPIC
182+
FILTER_COMPARISON_MIN_MAG_MIP_POINT
183+
FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR
184+
FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT
185+
FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR
186+
FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT
187+
FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR
188+
FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT
189+
FILTER_COMPARISON_MIN_MAG_MIP_LINEAR
190+
FILTER_COMPARISON_ANISOTROPIC
191+
FILTER_MINIMUM_MIN_MAG_MIP_POINT
192+
FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR
193+
FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT
194+
FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR
195+
FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT
196+
FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR
197+
FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT
198+
FILTER_MINIMUM_MIN_MAG_MIP_LINEAR
199+
FILTER_MINIMUM_ANISOTROPIC
200+
FILTER_MAXIMUM_MIN_MAG_MIP_POINT
201+
FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR
202+
FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT
203+
FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR
204+
FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT
205+
FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR
206+
FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT
207+
FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR
208+
FILTER_MAXIMUM_ANISOTROPIC
209+
173210
TEXTURE_ADDRESS_WRAP
174211
TEXTURE_ADDRESS_MIRROR
175212
TEXTURE_ADDRESS_CLAMP

0 commit comments

Comments
 (0)