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?