<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/116125>116125</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[DirectX] Collect Shader Flags Mask based on Instructions Used and Shader Kind
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
bharadwajy
</td>
</tr>
</table>
<pre>
- [ ] Implement Shader Flag Analysis for `m_bEnableMSAD`
Set if `DXIL::Opcode::Msad` is used
- [ ] Implement Shader Flag Analysis for `m_bViewID`
Set if DXIL::OpCode::ViewID is used
- [ ] Implement Shader Flag Analysis for `m_bTiledResources`
Set
- if `DXIL::Opcode::CheckAccessFullyMapped` is used OR
- if either of `DXIL::Opcode::SampleCmpClamp` or `DXIL::Opcode::SampleCmpBias` is used with non-zero clamp in its last argument.
- [ ] Implement Shader Flag Analysis for `m_bResourceDescriptorHeapIndexing`
Set if `OpCode::CreateHandleFromHeap` is used with zero sampler value
- [ ] Implement Shader Flag Analysis for `m_bSamplerDescriptorHeapIndexing`
Set if `OpCode::CreateHandleFromHeap` is used with non-zero sampler value
- [ ] Implement Shader Flag Analysis for `m_bAdvancedTextureOps`
Set
- if one of `DXIL::OpCode::TextureLoad`, `DXIL::OpCode::SampleLevel`, `DXIL::OpCode::SampleCmpLevelZero`, `DXIL::OpCode::SampleGrad`, `DXIL::OpCode::SampleCmp`, `DXIL::OpCode::Sample`, `DXIL::OpCode::SampleBias`, `DXIL::OpCode::SampleCmp`, `DXIL::OpCode::SampleCmpBias:Grad` is used and has no constant operand OR
- if one of `DXIL::OpCode::SampleCmpLevel`, `DXIL::OpCode::TextureGatherRaw` used.
- [ ] Implement Shader Flag Analysis for `m_bSampleCmpGradientOrBias`
Set if one of `OpCode::SampleCmpGrad`, `OpCode::SampleCmpBias` is used
- [ ] Implement Shader Flag Analysis for `m_bExtendedCommandInfo`
Set if one of OpCode::StartVertexLocation, OpCode::StartInstanceLocation is used
- [ ] Implement Shader Flag Analysis for `m_bUsesDerivatives` and `m_bDerivativesInMeshAndAmpShaders`
Set if any of the derivative ops viz., `DXIL::OpCode::DerivFineX`, `DXIL::OpCode::DerivFineY`, `DXIL::OpCode::DerivCoarseX`, `DXIL::OpCode::DerivCoarseY`, `DXIL::OpCode::CalculateLOD` are used( for `m_bUsesDerivatives`) and in Mesh of Amplification Shaders (for `m_bDerivativesInMeshAndAmpShaders`)
[ ] Implement Shader Flag Analysis for m_bForceEarlyDepthStencil
Set if Pixel Shader
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJysVl1z2joQ_TXiRRPGljGEBz84JrTMTSZ3kraTe186a2vBamXJI8kk9Nffke0AuSSBpnniQ2d3z579kMBasVKICYkvSDwbQONKbZK8BAP8AX5sBrnmm-SMkviCknhGF1UtsULl6F0JHA2dS1jRVIHcWGHpUhtKxkH1Pb9UkEu8vktnZBxQEsxIkFJK6R06KpYeNLtfXJEoJVF6UxeaY_f92gL3FsLSxiLvDN8R_5vAh4WPfRB6P262jdvh_zjsFyGR36LVjSnQHqa--0Xp2ZtCZCUWP9OiQGvnjZSba6hr3JeG3tweeEPhSjRUv-H3DnwuWVVnEqra--vIH0FfCLD7wR-EK6nS6uwXGk0L74sKRYWzVIJ1FMyq8YIN3y3lk4oztIURtdPmM0K9UBwfhVq91lX7Nc0MgsPPoLjEudGVtz_IoeVv2zQNXYNs8N2MO7HMUcI923fR3Ur-MZRTvgZVIP-Cj64xeFPb3ci82K9a4QvttUuid3Sl2zEmLHsd2sl1hWuUp0Gzqm7R_6LRp1l8MqfSyNpZOAF4Gqofl48M_DSEUdpntW0MUJyWYKnStNDKOlCO6hqN__-FJXGshM_FPkauL_gn8JvnFh48Mc_q_YO_je_zFKjcjXmS8_8Dv0vlxQSel_91ST_gvrl8dKg48kxXFSi-UEv9BuFnVBwY9w2Nw8crXYATWnnCB5BFW9kCn0B_QLnn_NWinaERa3Bi3d1WvmW6w72DhbpGW6aKp1Xd-XzhZhNLCmrjk3MlUr61prq2dC1-Dd_sojbaXCi8P9ZvW-Q_JyEzDcae6LXDHvWbgSwaCQ6vbtrHDRjsCsHO9xriUFzCpq2-QlGvp5cqrWoplqIvaK8tJex85-doHQibdpX4nQaovudzbQq8BCM3M6xdeedQFUIeVvVv8Yiyd9UdDngS8Wk0hQEm4SQK41EUTseDMomm8ZjFkzyIQhiP-IhPJtHkPJic5xO-DMejgUhYwEZhGI6CIIzC8RBgHEcYs2g0joNowskowAqEHEq5robarAbC2gaTMByHLB5IyFHa9rXKmMIH2p4Sxvzj1STe6CxvVpaMAimsszs3TjjZPnNnwmDh7r1QmZYSi2cyWXoN9ifNwe9VragfOtMUvjyWfn1atr3BX0LxQWNkUjpX-8VM2Jyw-Uq4ssmHha4Im3sC_cdZbfQPLBxh85a2JWze57VO2H8BAAD___mgkaI">