Giovanni Mascellani (@giomasce) commented about include/vkd3d_shader.h:
- Members of this structure are allocated by vkd3d-shader and should be freed
- with vkd3d_shader_free_scan_signature_info() when no longer needed.
- \since 1.x
- */
+struct vkd3d_shader_scan_signature_info +{
- /** Must be set to VKD3D_SHADER_STRUCTURE_TYPE_SCAN_SIGNATURE_INFO. */
- enum vkd3d_shader_structure_type type;
- /** Optional pointer to a structure containing further parameters. */
- const void *next;
- /**
* The parsed input signature embedded in a DXBC shader.
* The structure is zeroed for any other type of shader.
Maybe I'm nitpicking too much, but that doesn't seem completely true: if `vkd3d_shader_compile()` is invoked for HLSL compilation, any `vkd3d_shader_scan_signature_info` structure in the next chain is just ignored, not zeroed.