@@ -130,10 +130,10 @@ TEST_F(ParseHLSLRootSignatureTest, ValidParseDTClausesTest) {
130130 const llvm::StringLiteral Source = R"cc(
131131 DescriptorTable(
132132 CBV(b0),
133- SRV(space = 3, t42, flags = 0),
133+ SRV(space = 3, offset = 32, t42, flags = 0, numDescriptors = 4 ),
134134 visibility = SHADER_VISIBILITY_PIXEL,
135- Sampler(s987, space = +2),
136- UAV(u4294967294,
135+ Sampler(s987, space = +2, offset = DESCRIPTOR_RANGE_OFFSET_APPEND ),
136+ UAV(u4294967294, numDescriptors = unbounded,
137137 flags = Descriptors_Volatile | Data_Volatile
138138 | Data_Static_While_Set_At_Execute | Data_Static
139139 | Descriptors_Static_Keeping_Buffer_Bounds_Checks
@@ -162,7 +162,10 @@ TEST_F(ParseHLSLRootSignatureTest, ValidParseDTClausesTest) {
162162 ASSERT_EQ (std::get<DescriptorTableClause>(Elem).Reg .ViewType ,
163163 RegisterType::BReg);
164164 ASSERT_EQ (std::get<DescriptorTableClause>(Elem).Reg .Number , 0u );
165+ ASSERT_EQ (std::get<DescriptorTableClause>(Elem).NumDescriptors , 1u );
165166 ASSERT_EQ (std::get<DescriptorTableClause>(Elem).Space , 0u );
167+ ASSERT_EQ (std::get<DescriptorTableClause>(Elem).Offset ,
168+ DescriptorTableOffsetAppend);
166169 ASSERT_EQ (std::get<DescriptorTableClause>(Elem).Flags ,
167170 DescriptorRangeFlags::DataStaticWhileSetAtExecute);
168171
@@ -172,7 +175,9 @@ TEST_F(ParseHLSLRootSignatureTest, ValidParseDTClausesTest) {
172175 ASSERT_EQ (std::get<DescriptorTableClause>(Elem).Reg .ViewType ,
173176 RegisterType::TReg);
174177 ASSERT_EQ (std::get<DescriptorTableClause>(Elem).Reg .Number , 42u );
178+ ASSERT_EQ (std::get<DescriptorTableClause>(Elem).NumDescriptors , 4u );
175179 ASSERT_EQ (std::get<DescriptorTableClause>(Elem).Space , 3u );
180+ ASSERT_EQ (std::get<DescriptorTableClause>(Elem).Offset , 32u );
176181 ASSERT_EQ (std::get<DescriptorTableClause>(Elem).Flags ,
177182 DescriptorRangeFlags::None);
178183
@@ -182,7 +187,10 @@ TEST_F(ParseHLSLRootSignatureTest, ValidParseDTClausesTest) {
182187 ASSERT_EQ (std::get<DescriptorTableClause>(Elem).Reg .ViewType ,
183188 RegisterType::SReg);
184189 ASSERT_EQ (std::get<DescriptorTableClause>(Elem).Reg .Number , 987u );
190+ ASSERT_EQ (std::get<DescriptorTableClause>(Elem).NumDescriptors , 1u );
185191 ASSERT_EQ (std::get<DescriptorTableClause>(Elem).Space , 2u );
192+ ASSERT_EQ (std::get<DescriptorTableClause>(Elem).Offset ,
193+ DescriptorTableOffsetAppend);
186194 ASSERT_EQ (std::get<DescriptorTableClause>(Elem).Flags ,
187195 DescriptorRangeFlags::None);
188196
@@ -192,7 +200,11 @@ TEST_F(ParseHLSLRootSignatureTest, ValidParseDTClausesTest) {
192200 ASSERT_EQ (std::get<DescriptorTableClause>(Elem).Reg .ViewType ,
193201 RegisterType::UReg);
194202 ASSERT_EQ (std::get<DescriptorTableClause>(Elem).Reg .Number , 4294967294u );
203+ ASSERT_EQ (std::get<DescriptorTableClause>(Elem).NumDescriptors ,
204+ NumDescriptorsUnbounded);
195205 ASSERT_EQ (std::get<DescriptorTableClause>(Elem).Space , 0u );
206+ ASSERT_EQ (std::get<DescriptorTableClause>(Elem).Offset ,
207+ DescriptorTableOffsetAppend);
196208 ASSERT_EQ (std::get<DescriptorTableClause>(Elem).Flags ,
197209 DescriptorRangeFlags::ValidFlags);
198210
0 commit comments