@@ -225,7 +225,11 @@ TEST_F(ParseHLSLRootSignatureTest, ValidParseDTClausesTest) {
225225
226226TEST_F (ParseHLSLRootSignatureTest, ValidParseStaticSamplerTest) {
227227 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+ )
229233 )cc" ;
230234
231235 TrivialModuleLoader ModLoader;
@@ -241,13 +245,27 @@ TEST_F(ParseHLSLRootSignatureTest, ValidParseStaticSamplerTest) {
241245
242246 ASSERT_FALSE (Parser.parse ());
243247
244- ASSERT_EQ (Elements.size (), 1u );
248+ ASSERT_EQ (Elements.size (), 2u );
245249
250+ // Check default values are as expected
246251 RootElement Elem = Elements[0 ];
247252 ASSERT_TRUE (std::holds_alternative<StaticSampler>(Elem));
248253 ASSERT_EQ (std::get<StaticSampler>(Elem).Reg .ViewType , RegisterType::SReg);
249254 ASSERT_EQ (std::get<StaticSampler>(Elem).Reg .Number , 0u );
250255 ASSERT_FLOAT_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 );
251269
252270 ASSERT_TRUE (Consumer->isSatisfied ());
253271}
0 commit comments