Giovanni Mascellani (@giomasce) commented about libs/vkd3d-shader/dxil.c:
+ else if (!j) + { + e->semantic_index = index; + } + else if (index != e->semantic_index + j) + { + WARN("Semantic index %u for row %u is not of an incrementing sequence.\n", index, j); + vkd3d_shader_parser_error(&sm6->p, VKD3D_SHADER_ERROR_DXIL_INVALID_SIGNATURE, + "Signature element semantic index %u for row %u is not of an incrementing sequence.", index, j); + } + } + } + + vkd3d_free(s->elements); + s->elements = elements; + s->element_count = operand_count; This means that the DXBC signature is replaced with the DXIL signature as far as the parser is concerned. That means that the VSIR code (and, say, the SPIR-V code downstream) is generated from a potentially different signature than what is returned by `vkd3d_shader_scan()`. I guess that could be confusing for the client.
-- https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/372#note_47103