Giovanni Mascellani (@giomasce) commented about include/vkd3d_shader.h:
| ((w & VKD3D_SHADER_SWIZZLE_MASK) << VKD3D_SHADER_SWIZZLE_SHIFT(3)); }
+/** + * A chained structure containing signatures scanned from a DXBC shader. + * + * All members (except for \ref type and \ref next) are output-only. + * + * This structure is passed to vkd3d_shader_scan() and extends + * vkd3d_shader_compile_info. + * + * Members of this structure are allocated by vkd3d-shader and should be freed + * with vkd3d_shader_free_scan_signature_info() when no longer needed.
Does this new interface supersede `vkd3d_shader_parse_input_signature()`, or are there some use cases of the latter which are not covered? If not, I wonder whether it would make sense to add a notice on `vkd3d_shader_parse_input_signature()` saying that it's a legacy call and `struct vkd3d_shader_scan_signature_info` now allows queried for the same information and more. That's mostly because it can be confusing for a reader to have two ways to do (mostly) the same thing. -- https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/200#note_32864