@@ -40,7 +40,7 @@ size_t RootSignatureDesc::getSize() const {
4040      continue ;
4141    std::visit (
4242        [&Size](auto  &Value) -> void  {
43-           using  T = std::decay_t <decltype (Value)>;
43+           using  T = std::decay_t <decltype (* Value)>;
4444          Size += sizeof (T);
4545        },
4646        *P);
@@ -80,28 +80,28 @@ void RootSignatureDesc::write(raw_ostream &OS) const {
8080    auto  P = ParametersContainer.getParameter (H);
8181    if  (!P)
8282      continue ;
83-     if  (std::holds_alternative<dxbc::RootConstants>(*P)) {
84-       auto  Constants = std::get<dxbc::RootConstants>(*P);
85-       support::endian::write (BOS, Constants. ShaderRegister ,
83+     if  (std::holds_alternative<const   dxbc::RootConstants* >(*P)) {
84+       auto *  Constants = std::get<const   dxbc::RootConstants* >(*P);
85+       support::endian::write (BOS, Constants-> ShaderRegister ,
8686                             llvm::endianness::little);
87-       support::endian::write (BOS, Constants. RegisterSpace ,
87+       support::endian::write (BOS, Constants-> RegisterSpace ,
8888                             llvm::endianness::little);
89-       support::endian::write (BOS, Constants. Num32BitValues ,
89+       support::endian::write (BOS, Constants-> Num32BitValues ,
9090                             llvm::endianness::little);
91-     } else  if  (std::holds_alternative<dxbc::RST0::v0::RootDescriptor>(*P)) {
92-       auto  Descriptor = std::get<dxbc::RST0::v0::RootDescriptor>(*P);
93-       support::endian::write (BOS, Descriptor. ShaderRegister ,
91+     } else  if  (std::holds_alternative<const   dxbc::RST0::v0::RootDescriptor* >(*P)) {
92+       auto *  Descriptor = std::get<const   dxbc::RST0::v0::RootDescriptor* >(*P);
93+       support::endian::write (BOS, Descriptor-> ShaderRegister ,
9494                             llvm::endianness::little);
95-       support::endian::write (BOS, Descriptor. RegisterSpace ,
95+       support::endian::write (BOS, Descriptor-> RegisterSpace ,
9696                             llvm::endianness::little);
97-     } else  if  (std::holds_alternative<dxbc::RST0::v1::RootDescriptor>(*P)) {
98-       auto  Descriptor = std::get<dxbc::RST0::v1::RootDescriptor>(*P);
97+     } else  if  (std::holds_alternative<const   dxbc::RST0::v1::RootDescriptor* >(*P)) {
98+       auto *  Descriptor = std::get<const   dxbc::RST0::v1::RootDescriptor* >(*P);
9999
100-       support::endian::write (BOS, Descriptor. ShaderRegister ,
100+       support::endian::write (BOS, Descriptor-> ShaderRegister ,
101101                             llvm::endianness::little);
102-       support::endian::write (BOS, Descriptor. RegisterSpace ,
102+       support::endian::write (BOS, Descriptor-> RegisterSpace ,
103103                             llvm::endianness::little);
104-       support::endian::write (BOS, Descriptor. Flags , llvm::endianness::little);
104+       support::endian::write (BOS, Descriptor-> Flags , llvm::endianness::little);
105105    }
106106  }
107107  assert (Storage.size () == getSize ());
0 commit comments