Giovanni Mascellani (@giomasce) commented about libs/vkd3d-shader/dxil.c:
+ + table_idx = sm6->metadata_counts[idx]; + m = &table[table_idx]; + + switch (record->code) + { + case METADATA_NAMED_NODE: + if (!name) + { + WARN("Named node has no name.\n"); + vkd3d_shader_parser_error(&sm6->p, VKD3D_SHADER_ERROR_DXIL_INVALID_METADATA, + "A metadata named node has no name."); + return VKD3D_ERROR_INVALID_SHADER; + } + + m = &sm6->named_metadata[sm6->named_metadata_count].value; Is it intended that creating a named node leaves a hole in the table we're processing, and instead puts the named node in another table which collects all the named nodes?
-- https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/372#note_47099