Skip to content

Commit 0136cfc

Browse files
author
joaosaffran
committed
fix testing issues
1 parent df194b0 commit 0136cfc

File tree

5 files changed

+6
-248
lines changed

5 files changed

+6
-248
lines changed

llvm/include/llvm/BinaryFormat/DXContainerConstants.def

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,6 @@ ROOT_DESCRIPTOR_FLAG(3, DATA_STATIC)
8888

8989
#ifdef ROOT_PARAMETER
9090

91-
ROOT_PARAMETER(0, DescriptorTable)
9291
ROOT_PARAMETER(1, Constants32Bit)
9392
ROOT_PARAMETER(2, CBV)
9493
ROOT_PARAMETER(3, SRV)

llvm/lib/ObjectYAML/DXContainerEmitter.cpp

Lines changed: 5 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -294,48 +294,12 @@ void DXContainerWriter::writeParts(raw_ostream &OS) {
294294
Param.Data)) {
295295
auto DescriptorYaml =
296296
std::get<DXContainerYAML::RootDescriptorYaml>(Param.Data);
297-
298-
if (RS.Version == 1) {
299-
dxbc::RST0::v0::RootDescriptor Descriptor;
300-
Descriptor.RegisterSpace = DescriptorYaml.RegisterSpace;
301-
Descriptor.ShaderRegister = DescriptorYaml.ShaderRegister;
302-
RS.ParametersContainer.addParameter(Header, Descriptor);
303-
} else {
304-
dxbc::RST0::v1::RootDescriptor Descriptor;
305-
Descriptor.RegisterSpace = DescriptorYaml.RegisterSpace;
306-
Descriptor.ShaderRegister = DescriptorYaml.ShaderRegister;
297+
dxbc::RTS0::v2::RootDescriptor Descriptor;
298+
Descriptor.RegisterSpace = DescriptorYaml.RegisterSpace;
299+
Descriptor.ShaderRegister = DescriptorYaml.ShaderRegister;
300+
if (RS.Version > 1)
307301
Descriptor.Flags = DescriptorYaml.getEncodedFlags();
308-
RS.ParametersContainer.addParameter(Header, Descriptor);
309-
}
310-
} else if (std::holds_alternative<DXContainerYAML::DescriptorTableYaml>(
311-
Param.Data)) {
312-
mcdxbc::DescriptorTable Table;
313-
auto TableYaml =
314-
std::get<DXContainerYAML::DescriptorTableYaml>(Param.Data);
315-
316-
for (const auto &R : TableYaml.Ranges) {
317-
if (RS.Version == 1) {
318-
dxbc::RST0::v0::DescriptorRange Range;
319-
Range.RangeType = R.RangeType;
320-
Range.NumDescriptors = R.NumDescriptors;
321-
Range.BaseShaderRegister = R.BaseShaderRegister;
322-
Range.RegisterSpace = R.RegisterSpace;
323-
Range.OffsetInDescriptorsFromTableStart =
324-
R.OffsetInDescriptorsFromTableStart;
325-
Table.Ranges.push_back(Range);
326-
} else {
327-
dxbc::RST0::v1::DescriptorRange Range;
328-
Range.RangeType = R.RangeType;
329-
Range.NumDescriptors = R.NumDescriptors;
330-
Range.BaseShaderRegister = R.BaseShaderRegister;
331-
Range.RegisterSpace = R.RegisterSpace;
332-
Range.OffsetInDescriptorsFromTableStart =
333-
R.OffsetInDescriptorsFromTableStart;
334-
Range.Flags = R.getEncodedFlags();
335-
Table.Ranges.push_back(Range);
336-
}
337-
}
338-
RS.ParametersContainer.addParameter(Header, Table);
302+
RS.ParametersContainer.addParameter(Header, Descriptor);
339303
} else {
340304
// Handling invalid parameter type edge case
341305
RS.ParametersContainer.addInfo(Header, -1);

llvm/lib/ObjectYAML/DXContainerYAML.cpp

Lines changed: 1 addition & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ DXContainerYAML::RootSignatureYamlDesc::create(
4040

4141
RootSignatureYamlDesc RootSigDesc;
4242
uint32_t Version = Data.getVersion();
43-
uint32_t Version = Data.getVersion();
4443

4544
RootSigDesc.Version = Version;
4645
RootSigDesc.NumStaticSamplers = Data.getNumStaticSamplers();
@@ -84,7 +83,7 @@ DXContainerYAML::RootSignatureYamlDesc::create(
8483
NewP.Data = ConstantYaml;
8584
} else if (auto *RDV =
8685
dyn_cast<object::DirectX::RootDescriptorView>(&ParamView)) {
87-
llvm::Expected<dxbc::RST0::v1::RootDescriptor> DescriptorOrErr =
86+
llvm::Expected<dxbc::RTS0::v2::RootDescriptor> DescriptorOrErr =
8887
RDV->read(Version);
8988
if (Error E = DescriptorOrErr.takeError())
9089
return std::move(E);
@@ -100,59 +99,6 @@ DXContainerYAML::RootSignatureYamlDesc::create(
10099
#include "llvm/BinaryFormat/DXContainerConstants.def"
101100
}
102101
NewP.Data = YamlDescriptor;
103-
} else if (auto *TDV = dyn_cast<object::DirectX::DescriptorTableView<
104-
dxbc::RST0::v0::DescriptorRange>>(&ParamView)) {
105-
llvm::Expected<
106-
object::DirectX::DescriptorTable<dxbc::RST0::v0::DescriptorRange>>
107-
TableOrErr = TDV->read();
108-
if (Error E = TableOrErr.takeError())
109-
return std::move(E);
110-
auto Table = *TableOrErr;
111-
DescriptorTableYaml YamlTable;
112-
YamlTable.NumRanges = Table.NumRanges;
113-
YamlTable.RangesOffset = Table.RangesOffset;
114-
115-
for (const auto &R : Table) {
116-
DescriptorRangeYaml NewR;
117-
118-
NewR.OffsetInDescriptorsFromTableStart =
119-
R.OffsetInDescriptorsFromTableStart;
120-
NewR.NumDescriptors = R.NumDescriptors;
121-
NewR.BaseShaderRegister = R.BaseShaderRegister;
122-
NewR.RegisterSpace = R.RegisterSpace;
123-
NewR.RangeType = R.RangeType;
124-
125-
YamlTable.Ranges.push_back(NewR);
126-
}
127-
NewP.Data = YamlTable;
128-
} else if (auto *TDV = dyn_cast<object::DirectX::DescriptorTableView<
129-
dxbc::RST0::v1::DescriptorRange>>(&ParamView)) {
130-
llvm::Expected<
131-
object::DirectX::DescriptorTable<dxbc::RST0::v1::DescriptorRange>>
132-
TableOrErr = TDV->read();
133-
if (Error E = TableOrErr.takeError())
134-
return std::move(E);
135-
auto Table = *TableOrErr;
136-
DescriptorTableYaml YamlTable;
137-
YamlTable.NumRanges = Table.NumRanges;
138-
YamlTable.RangesOffset = Table.RangesOffset;
139-
140-
for (const auto &R : Table) {
141-
DescriptorRangeYaml NewR;
142-
143-
NewR.OffsetInDescriptorsFromTableStart =
144-
R.OffsetInDescriptorsFromTableStart;
145-
NewR.NumDescriptors = R.NumDescriptors;
146-
NewR.BaseShaderRegister = R.BaseShaderRegister;
147-
NewR.RegisterSpace = R.RegisterSpace;
148-
NewR.RangeType = R.RangeType;
149-
#define DESCRIPTOR_RANGE_FLAG(Num, Val) \
150-
NewR.Val = \
151-
(R.Flags & llvm::to_underlying(dxbc::DescriptorRangeFlag::Val)) > 0;
152-
#include "llvm/BinaryFormat/DXContainerConstants.def"
153-
YamlTable.Ranges.push_back(NewR);
154-
}
155-
NewP.Data = YamlTable;
156102
}
157103

158104
RootSigDesc.Parameters.push_back(NewP);
@@ -182,15 +128,6 @@ uint32_t DXContainerYAML::RootSignatureYamlDesc::getEncodedFlags() {
182128
return Flag;
183129
}
184130

185-
uint32_t DXContainerYAML::DescriptorRangeYaml::getEncodedFlags() const {
186-
uint64_t Flag = 0;
187-
#define DESCRIPTOR_RANGE_FLAG(Num, Val) \
188-
if (Val) \
189-
Flag |= (uint32_t)dxbc::DescriptorRangeFlag::Val;
190-
#include "llvm/BinaryFormat/DXContainerConstants.def"
191-
return Flag;
192-
}
193-
194131
uint64_t DXContainerYAML::ShaderFeatureFlags::getEncodedFlags() {
195132
uint64_t Flag = 0;
196133
#define SHADER_FEATURE_FLAG(Num, DxilModuleNum, Val, Str) \
@@ -377,25 +314,6 @@ void MappingTraits<llvm::DXContainerYAML::RootDescriptorYaml>::mapping(
377314
#include "llvm/BinaryFormat/DXContainerConstants.def"
378315
}
379316

380-
void MappingTraits<llvm::DXContainerYAML::DescriptorRangeYaml>::mapping(
381-
IO &IO, llvm::DXContainerYAML::DescriptorRangeYaml &R) {
382-
IO.mapRequired("RangeType", R.RangeType);
383-
IO.mapRequired("NumDescriptors", R.NumDescriptors);
384-
IO.mapRequired("BaseShaderRegister", R.BaseShaderRegister);
385-
IO.mapRequired("RegisterSpace", R.RegisterSpace);
386-
IO.mapRequired("OffsetInDescriptorsFromTableStart",
387-
R.OffsetInDescriptorsFromTableStart);
388-
#define DESCRIPTOR_RANGE_FLAG(Num, Val) IO.mapOptional(#Val, R.Val, false);
389-
#include "llvm/BinaryFormat/DXContainerConstants.def"
390-
}
391-
392-
void MappingTraits<llvm::DXContainerYAML::DescriptorTableYaml>::mapping(
393-
IO &IO, llvm::DXContainerYAML::DescriptorTableYaml &T) {
394-
IO.mapRequired("NumRanges", T.NumRanges);
395-
IO.mapOptional("RangesOffset", T.RangesOffset);
396-
IO.mapRequired("Ranges", T.Ranges);
397-
}
398-
399317
void MappingTraits<llvm::DXContainerYAML::RootParameterYamlDesc>::mapping(
400318
IO &IO, llvm::DXContainerYAML::RootParameterYamlDesc &P) {
401319
IO.mapRequired("ParameterType", P.Type);
@@ -418,13 +336,6 @@ void MappingTraits<llvm::DXContainerYAML::RootParameterYamlDesc>::mapping(
418336
IO.mapRequired("Descriptor", Descriptor);
419337
P.Data = Descriptor;
420338
} break;
421-
case llvm::to_underlying(dxbc::RootParameterType::DescriptorTable): {
422-
DXContainerYAML::DescriptorTableYaml Table;
423-
if (IO.outputting())
424-
Table = std::get<DXContainerYAML::DescriptorTableYaml>(P.Data);
425-
IO.mapRequired("Table", Table);
426-
P.Data = Table;
427-
} break;
428339
}
429340
}
430341

llvm/test/ObjectYAML/DXContainer/RootSignature-DescriptorTable1.0.yaml

Lines changed: 0 additions & 57 deletions
This file was deleted.

llvm/test/ObjectYAML/DXContainer/RootSignature-DescriptorTable1.1.yaml

Lines changed: 0 additions & 59 deletions
This file was deleted.

0 commit comments

Comments
 (0)