@@ -322,25 +322,19 @@ Error MetadataParser::parseDescriptorRange(mcdxbc::DescriptorTable &Table,
322322 if (RangeDescriptorNode->getNumOperands () != 6 )
323323 return make_error<InvalidRSMetadataFormat>(" Descriptor Range" );
324324
325- dxbc::RTS0::v2 ::DescriptorRange Range;
325+ mcdxbc ::DescriptorRange Range;
326326
327327 std::optional<StringRef> ElementText =
328328 extractMdStringValue (RangeDescriptorNode, 0 );
329329
330330 if (!ElementText.has_value ())
331331 return make_error<InvalidRSMetadataFormat>(" Descriptor Range" );
332332
333- Range.RangeType =
334- StringSwitch<uint32_t >(*ElementText)
335- .Case (" CBV" , to_underlying (dxbc::DescriptorRangeType::CBV))
336- .Case (" SRV" , to_underlying (dxbc::DescriptorRangeType::SRV))
337- .Case (" UAV" , to_underlying (dxbc::DescriptorRangeType::UAV))
338- .Case (" Sampler" , to_underlying (dxbc::DescriptorRangeType::Sampler))
339- .Default (~0U );
340-
341- if (Range.RangeType == ~0U )
342- return make_error<GenericRSMetadataError>(" Invalid Descriptor Range type." ,
343- RangeDescriptorNode);
333+ Range.RangeType = StringSwitch<dxbc::DescriptorRangeType>(*ElementText)
334+ .Case (" CBV" , dxbc::DescriptorRangeType::CBV)
335+ .Case (" SRV" , dxbc::DescriptorRangeType::SRV)
336+ .Case (" UAV" , dxbc::DescriptorRangeType::UAV)
337+ .Case (" Sampler" , dxbc::DescriptorRangeType::Sampler);
344338
345339 if (std::optional<uint32_t > Val = extractMdIntValue (RangeDescriptorNode, 1 ))
346340 Range.NumDescriptors = *Val;
@@ -568,12 +562,7 @@ Error MetadataParser::validateRootSignature(
568562 case dxbc::RootParameterType::DescriptorTable: {
569563 const mcdxbc::DescriptorTable &Table =
570564 RSD.ParametersContainer .getDescriptorTable (Info.Location );
571- for (const dxbc::RTS0::v2::DescriptorRange &Range : Table) {
572- if (!hlsl::rootsig::verifyRangeType (Range.RangeType ))
573- DeferredErrs =
574- joinErrors (std::move (DeferredErrs),
575- make_error<RootSignatureValidationError<uint32_t >>(
576- " RangeType" , Range.RangeType ));
565+ for (const mcdxbc::DescriptorRange &Range : Table) {
577566
578567 if (!hlsl::rootsig::verifyRegisterSpace (Range.RegisterSpace ))
579568 DeferredErrs =
0 commit comments