Instead of https://gitlab.winehq.org/wine/wine/-/merge_requests/9108, creating D3D runtime descriptors from the Vulkan info doesn't seem possible for some cases as some information have been lost (multiple stencil formats end up with the same Vulkan format, D3D bind flags transformation is not bijective).
A separate, Wine-specific, D3DKMTEscape code will be exposed instead, to let D3D runtime implementations update the resource descriptors with the data they expect to find (ideally, the same descriptors as native, so importing can be compatible), after having been created and exported.
(This, currently doesn't actually implements resource sharing, it only creates the D3DKMT object and exports / imports their handles. We still lack the logic to share the underlying host object fds, which will come later)
--
v4: win32u: Implement Vulkan memory D3DKMT handle import from name.
win32u: Implement Vulkan memory D3DKMT global / shared handle import.
win32u: Implement Vulkan memory D3DKMT NT shared handle export.
win32u: Create D3DKMT global resources for exported Vulkan memory.
win32u: Swap VK_KHR_external_memory_win32 with the matching host extension.
win32u: Pass the name of the extension to replace to get_host_extension.
winevulkan: Treat LPCWSTR and HANDLE as pointer sized types.
https://gitlab.winehq.org/wine/wine/-/merge_requests/9115