<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/91623>91623</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[HLSL] Design c-style apis for accessing outputs of shader compilation
</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>
DXC exposes a COM based library today for compiling shaders and accessing specific data in the outputs of the compilation.
A desire has been expressed to have an equivalent solution exposed in pure c apis. These apis should cover all features required to provide access to this data.
This issue is to bottom out on what data we really need apis for and what data clang already has apis to access.
# What data?
* DXC container information
* Shader reflection data
* Disassembly
* Other outputs?
Requirements
* c-style! (no COM apis!... I heard bad things happen if HRESULTs start showing up in the llvm-project code base)
* Spec showing the design with code snippets.
* Test approach understood
* Documentation approach understood. This should already be known by completing Issue #90784
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxsVF-v4rYT_TTmZbQInEDIQx74LT-0K91qpb23al8n9oS4NbbrcaB8-8oOXKjUF0NG8--cOTrIbE6OqBOb_wkplfchCCnF5rDAKY0-diW06L2-dYffvwL9HTwTA8LXH79Aj0warOkjxhskr_EGg4-g_DkYa9wJeERNkQGdBlSKmEs0kDKDUaAxIRgHaSTwUwpTYvBD-Zx7YDLeLcXqIFb7PWhiEwlGZOiJXN4mEucdkocRLwTogP6azAUtuQTs7ZQb3NfWeVSYIoECDIaX8DESU_kPPPrJalD-QhHQWhgI0xSJIeaOcR4Sor8YTXcsOZJGwwXHfcv5_chRwzwRmJLW-5T8OYME7-A6YprBXwkiobU3cER6XiVTmAl7ZimL7gRoI6G-FfwlMfn7Iv-aLWQFvz1KRXV8RPeQL6i8S2gcRTBu8PFcGH6mvJeDQaTBkirclS7PFoaRmc69vT2DP9JI8XHA58Ty_pzZO5NL_KxQXzjdLAm5BiF3zhc5ZUxCrpfLJXyHkTBq6FFnht2JYcQQyIEZ4NvP_7__-vbBwAljype7ZlVN4SElay_nLyH6P0glUF5TUaqQ7QvOQOqzMtdkbZ0cXE0a5xJ2JgRKn9zKPXwQJ8AQokc1wuSytJP3-oUer6YMtbD6X6lZc0-1PS7aE_zp_NVBfyvCt5TyXt-LgISs2lWzq2Ghu0q3VYsL6tbNeiObqt41i7Hb1dttU6t-U_UksaX1rtG0krTdyrZpBr0wnVzJerVZtevtZi2bJfVqjVU9SNy2TU1K1Cs6o7HLTN3Sx9OiiLdr11tZLSz2ZPluEt_e3t_uHhG7wnQ_nVjUK2s48bNBMskWYykFmwMcZobvp3-R-qcvvFjAbByvLrCYou3GlAKLai_kUcjjyaRx6pfKn4U85sH3n8fthTwWGCzksSD5JwAA__-btqgh">