Jan Sikorski (@jsikorski) commented about dlls/wined3d/context_vk.c:
}
- vk_topology = vk_topology_from_wined3d(state->primitive_type); - if (key->ia_desc.topology != vk_topology) + if (vk_info->dynamic_state2) { - key->ia_desc.topology = vk_topology; - key->ia_desc.primitiveRestartEnable = !(d3d_info->wined3d_creation_flags & WINED3D_NO_PRIMITIVE_RESTART) - && !wined3d_primitive_type_is_list(state->primitive_type); + vk_topology = vk_topology_class_from_wined3d(state->primitive_type); + if (key->ia_desc.topology != vk_topology) + { + key->ia_desc.topology = vk_topology; + update = true; + } + }
I've got a couple questions here. Isn't VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT provided by extended dynamic state 1? Why put it under 2? (I may be forgetting why it wasn't included previously?) Why are we setting `key->ia_desc.topology` and `update` here, was that not supposed to be dynamic? It looks like this patch is only for dynamic primitive restart. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/5344#note_66114