I'm thinking that maybe VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D* handle types are what we need to make Vulkan images compatible with D3D, but I wasn't able to make it work for export (on the testbot GPUs).
If that works on windows, there would be pretty much no more reasons to realy go with 3), it'd only be necessary if we want to support shared resources with wined3d/GL on Windows but it could also be kept specific to the GL backend and used in Wine just as well.