[llvm-branch-commits] [llvm] [NFC] Refactoring DXContainerYaml Root Parameter representation (PR #138318)
Damyan Pepper via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Fri May 2 11:19:51 PDT 2025
================
@@ -278,33 +280,35 @@ void DXContainerWriter::writeParts(raw_ostream &OS) {
auto Header = dxbc::RootParameterHeader{Param.Type, Param.Visibility,
Param.Offset};
- switch (Param.Type) {
- case llvm::to_underlying(dxbc::RootParameterType::Constants32Bit):
+ if(std::holds_alternative<DXContainerYAML::RootConstantsYaml>(Param.Data)){
+ auto ConstantYaml = std::get<DXContainerYAML::RootConstantsYaml>(Param.Data);
+
dxbc::RootConstants Constants;
- Constants.Num32BitValues = Param.Constants.Num32BitValues;
- Constants.RegisterSpace = Param.Constants.RegisterSpace;
- Constants.ShaderRegister = Param.Constants.ShaderRegister;
+ Constants.Num32BitValues = ConstantYaml.Num32BitValues;
+ Constants.RegisterSpace = ConstantYaml.RegisterSpace;
+ Constants.ShaderRegister = ConstantYaml.ShaderRegister;
RS.ParametersContainer.addParameter(Header, Constants);
- break;
- case llvm::to_underlying(dxbc::RootParameterType::SRV):
- case llvm::to_underlying(dxbc::RootParameterType::UAV):
- case llvm::to_underlying(dxbc::RootParameterType::CBV):
+ } else if (std::holds_alternative<DXContainerYAML::RootDescriptorYaml>(Param.Data)){
+ auto DescriptorYaml = std::get<DXContainerYAML::RootDescriptorYaml>(Param.Data);
+
if (RS.Version == 1) {
dxbc::RST0::v0::RootDescriptor Descriptor;
- Descriptor.RegisterSpace = Param.Descriptor.RegisterSpace;
- Descriptor.ShaderRegister = Param.Descriptor.ShaderRegister;
+ auto DescriptorYaml = std::get<DXContainerYAML::RootDescriptorYaml>(Param.Data);
----------------
damyanp wrote:
Isn't this doing something that was already done on line 292?
https://github.com/llvm/llvm-project/pull/138318
More information about the llvm-branch-commits
mailing list