<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/138025>138025</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[HLSL] Implement serialization of a root signature declaration
</td>
</tr>
<tr>
<th>Labels</th>
<td>
HLSL
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
inbelic
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
inbelic
</td>
</tr>
</table>
<pre>
This issue tracks implementation of a text serialization for the in-memory representation of a root signature to be displayed when dumping a `RootSignatureDecl` as introduced for https://github.com/llvm/llvm-project/issues/119011.
This issue is ready to move out of designing when it is determined if we should implement such a serialization (will it be useful for testing purposes and/or if it would be valuable for a user to be able to see the construct root signature memory when dumping the AST decl).
AC:
- [ ] Implement a serialization of the in-memory constructs, as defined in `Frontend/HLSLRootSignature.h`
- [ ] Update `TextNodeDumper::VisitHLSLRootSignatureDecl` to dump the serialized text
- [ ] Define the equivalent for `JSONNodeDumper` and invoke the serialization
- [ ] Update testing in `RootSignatures-AST.hlsl` to validate the construct are as required
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJykVM_O4jYQfxrnMvqQ4xAghxyyi1BbrbZSob078YS468SpPYalT1_ZwO6Gr7c9RXI8M79_Hum9Pk-INSs_MCH01KLRHROClftMBhqsqx-HWWvVrT4N2oP2PiCQk90XD3qcDY44kSRtJ7A9SCD8SuDRaWn0v_fz3jqgAUFPbyOO1t3A4ezQLwudtQQRkqTgEMhCi6C0n428oYLrgBOoMM56OoMEtuF_WEvH5_09doZtOEgPeiJnVehQpckD0exZ0TBxYOJw1jSEdtXZkYmDMZfn52129m_siIlDouiZOOR5xfN8xXjDePMDe-3BoVS3iHG0FwQbKHJQGOFHfAmspnhTIaEb9YQKdA9XBD_YYNR37cCHbgD5ohkTu6s2JjZpEYLHPpi7kOgpjpiDm61HD3JSTBysi-01wTV1bxEu0gTZGkxVMrZwD1HTKVnwiMmXzk6eXOjo1YOHWwvpY0FzPIGKgovqoU7zMSrMmzdg5Qdg5R5-_cbvlZrtX9Lwbb5n4mN0UGF_F2yKPh-cnQgTy18-HT8tbF8NbMMXc_-clSSMdSf8Sp-twn0YZ3QRX9H8pb2md12e4SGbaCZ4T8yoUqQXM_YJX7qG_wR9kSbyjDqzDf_t-PvnH8bGTE6RysV-wUXnpMb_YX9afKe_QOrfmuNpNRj_xHuRRt-LFkZKh1FIF-E5VJmqC1UVlcywzrfrDV9vK15mQ93ydS93hdz2-Vq0VV7uyqrb5VXRdrvNti8zXQsuSr4uuMjznShXm473fKvaireqR1WyNcdRarOKr2hl3TlLj6TOix0XZWZki8Y_dkwU_rFgXJ1eXRvOnq250Z789w6kyaS9lAoWYXoXpXeLIwZTuvQ_C87UP_H-7xQutfgvAAD__1_7w2o">