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.
-- https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/200#note_32863