Matteo Bruni (@Mystral) commented about dlls/d3dx9_36/skin.c:
+ memcpy(dst_element, src_element, element_size); + break; + } + } + } + + for (unsigned int i = 0; i < skin->num_bones; ++i) + { + const struct bone *bone = &skin->bones[i]; + + for (unsigned int j = 0; j < bone->num_influences; ++j) + { + unsigned int vertex_idx = bone->vertices[j]; + float weight = bone->weights[j]; + + for (const D3DVERTEXELEMENT9 *element = skin->vertex_declaration; element->Stream != 0xff; ++element) This might be a bit of an unimportant nitpick, but I'd rather make this loop the outermost and avoid empty spinning bone_count * vertices_count times for each vertex element that's not position or normal.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/9058#note_117066