@@ -225,7 +225,11 @@ TEST_F(ParseHLSLRootSignatureTest, ValidParseDTClausesTest) {
225
225
226
226
TEST_F (ParseHLSLRootSignatureTest, ValidParseStaticSamplerTest) {
227
227
const llvm::StringLiteral Source = R"cc(
228
- StaticSampler(s0, mipLODBias = 0)
228
+ StaticSampler(s0),
229
+ StaticSampler(s0, maxAnisotropy = 3,
230
+ minLOD = 4.2f, mipLODBias = 0.23e+3,
231
+ maxLOD = 9000,
232
+ )
229
233
)cc" ;
230
234
231
235
TrivialModuleLoader ModLoader;
@@ -241,13 +245,28 @@ TEST_F(ParseHLSLRootSignatureTest, ValidParseStaticSamplerTest) {
241
245
242
246
ASSERT_FALSE (Parser.parse ());
243
247
244
- ASSERT_EQ (Elements.size (), 1u );
248
+ ASSERT_EQ (Elements.size (), 2u );
245
249
250
+ // Check default values are as expected
246
251
RootElement Elem = Elements[0 ];
247
252
ASSERT_TRUE (std::holds_alternative<StaticSampler>(Elem));
248
253
ASSERT_EQ (std::get<StaticSampler>(Elem).Reg .ViewType , RegisterType::SReg);
249
254
ASSERT_EQ (std::get<StaticSampler>(Elem).Reg .Number , 0u );
250
255
ASSERT_EQ (std::get<StaticSampler>(Elem).MipLODBias , 0 .f );
256
+ ASSERT_EQ (std::get<StaticSampler>(Elem).MaxAnisotropy , 16u );
257
+ ASSERT_EQ (std::get<StaticSampler>(Elem).MinLOD , 0 .f );
258
+ ASSERT_EQ (std::get<StaticSampler>(Elem).MaxLOD , 3 .402823466e+38f );
259
+
260
+ // Check values can be set as expected
261
+ Elem = Elements[1 ];
262
+ ASSERT_TRUE (std::holds_alternative<StaticSampler>(Elem));
263
+ ASSERT_EQ (std::get<StaticSampler>(Elem).Reg .ViewType , RegisterType::SReg);
264
+ ASSERT_EQ (std::get<StaticSampler>(Elem).Reg .Number , 0u );
265
+ ASSERT_EQ (std::get<StaticSampler>(Elem).MipLODBias , 230 .f );
266
+ ASSERT_EQ (std::get<StaticSampler>(Elem).MaxAnisotropy , 3u );
267
+ ASSERT_EQ (std::get<StaticSampler>(Elem).MinLOD , 4 .2f );
268
+ ASSERT_EQ (std::get<StaticSampler>(Elem).MaxLOD , 9000 .f );
269
+
251
270
252
271
ASSERT_TRUE (Consumer->isSatisfied ());
253
272
}
0 commit comments