<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/83177>83177</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[DirectX] DXContainer support for SM 6.8 feature flags
</td>
</tr>
<tr>
<th>Labels</th>
<td>
backend:DirectX
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
llvm-beanz
</td>
</tr>
</table>
<pre>
Shader Model 6.8 adds new feature flags that are exposed in the DX Container:
>From DXC:
```c
// SM 6.8+
const uint64_t ShaderFeatureInfo_SampleCmpGradientOrBias = 0x80000000;
const uint64_t ShaderFeatureInfo_ExtendedCommandInfo = 0x100000000;
// Experimental SM 6.9+ - Reserved, not yet supported.
// WaveMMA slots in between two SM 6.6 feature bits.
const uint64_t ShaderFeatureInfo_WaveMMA = 0x8000000;
```
The flags get exposed as constants here: https://github.com/llvm/llvm-project/blob/main/llvm/include/llvm/BinaryFormat/DXContainerConstants.def
We'll need YAML tests that support round tripping the flags in and out of DX Containers like the test here:
https://github.com/llvm/llvm-project/blob/main/llvm/test/tools/obj2yaml/DXContainer/ShaderFlags.yaml
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJysVF2r4zYQ_TXyy3CNI8dx8uCHfKxLoaHQW9jbp0WyxrF2ZclI43tv-uuLbCdp3rbQIBAZRmfOmTMeEYK-WMSKFQdWnBIxUud8Zcx7_yJR2L8T6dS1eu2EQg9np9DAJt2CUCqAxQ9oUdDoEVojLgGoEwTCI-Dn4AIq0BaoQzi9wdFZEtqiZ_meZfHU3vVwejsugU02nyb-4TXjNbyeYzHGDyzbN84GglFb2qy_EcyM6rn6r7Z1315FPxg89sMvXiiNln73By0CsPwE2ec2m38s_ymwL5-EVqE6ur4XVsXYArTKnpAeZL98Duh1j5aEmZnvGD_AC_yBAf07KsaPYB3BFQnCOAzOE6r0AfBVvOP5vIdgHIXYOYn0gWiBPtwMuLm3W2oK6c8IuYE-dWGhfuv4LOPP7ubiBeluoAgw1RCWAnTokeV76IiGEG2biF80daNMG9czXsfJWa6Xwbvv2BDjtTROMl73QttHjraNGRU-Agdthb_WzvciPjq93WfmeKOQKmxnul-R8dIYsIgK_tqffwPCQMsILu0F70argLweBm0v0yjOErUFYRW4kcC1T-MZwOgfOKVGwJvmuej_Izzixss5ExivnfzOr6I3z5IZrxc3I-F0Ssj2iapytct3IsFqVWa7bLMu10XSVZttm8sV8pzvZKvWMitX26KNKUXR5M020RXP-DrjvOTZivMiLZty1W64lLmS5VbmbJ1hL7RJI8vU-UuiQxix2uarskyMkGjCtCY4l6L5gVaxfH_SHht6Y5zH7XFbHOMlsHVmdKDwQCNNZtoztzfFCf6l9-5Z6_zy4T8vl2T0pvrPBkwaYpcnGf8EAAD__9jTmbg">