<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/90784>90784</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[HLSL] Design and implement an out of process solution for compiling a shader
</td>
</tr>
<tr>
<th>Labels</th>
<td>
HLSL
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
coopp
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
coopp
</td>
</tr>
</table>
<pre>
The current DXC compiler library is an in process component. Desire has been expressed to have an out of process solution for compiling shaders. This solution should perform compilation in a reusable host process that is connected to by the c-style compiler library.
Assume there is a reliable library of code to support IPC (interprocess communication).
Requirements
* Design c-style entrypoints to compile a shader (no reflection support immediately)
* Add a new library to llvm-project build system that exposes the compile entrypoints
* Update clang executable to support being used as a host (reusable server process) and leverage IPC and perform compile requests issued via the new library
* Tests are implemented
* Documentation for the c-style entrypoints is written
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyMlE_P4jYQxj-NcxktSgwBcsiBLkKttIeqfSv16sQT4sqxs54x-_LtK5sAWfXSC0jD_Hnm94xRRObqEFtR_yKk7L2fZyGlqM-Fijz60OZQ0Xl9bz9GhD6GgI7h_PdX6P00G4sBrOmCCncwBMqBcTAH3yNRzvAOHW_gjGQCwqgIOkQH-DkHJEIN7GFUN0ylPjL44VVO3kY23sHgwzLNuCvQqDQG2sDHaFZJNPpoNcwYBh-mJV_ln4wDBQEjqc4ijJ74NYNHxUl4753Dnh96ujtwWvYL8d3ifxbdiPIsytPj80QUJ0z5ATMBCGhNHvTk4gfovcbUmeI8-8Dw2-9fQcijcYxhRWuKzvRZs5DNT2P-wO_RBJzQMS1xecpUr-4lFB2H--yNY0rDFt2gFmRpovMQcLDYP5gtcsw0oTaK0d6FbN79T1qDAoc_XruwB2tv05c5-H-wZ-iisRroTozTAyZ-zp6QHgQXBSth7-Z_zVoxQm-VuwJ-Yh85Y1th6jAZHtOZqIQ2Wyfk8eUlYbhheLopZAPKabB4w6CumDGnwM9HgRDwe0RiAkMUUcPNqKx3telb50fOVMneabbZAtQrD3wfU0y9TnV9O2tLDMGPYJjRPaoL3W51s21UgW11qHZ108hmX4xth4duUEN5qFDvtnvcVrXadzXiYdcdj4MqTCtLuSvrspLVdlfvN7WsKllX1VCVGrt9I3YlTsrYTTJr48O1yJu2TXk47gqrOrS0PPpfv_35bXnzoc3edvFKYldaQ0zvBmzY5j-KXFCfn8eX-L7A_P9X_DzKIgbbjswzie1JyIuQl6vhMXab3k9CXtL85et5dEJe8jYk5CUv9G8AAAD__6Ulp7Y">