On Tue, Mar 22, 2016 at 4:36 AM, Roderick Colenbrander thunderbird2k@gmail.com wrote:
Hi Gabríel,
Thanks for your patch. Depending on the direction where you intend to take this, I'm not sure if we need this dll. Note I haven't done much with Vulkan myself yet, but following the analogy of opengl32, the ICD portion should be inside winex11.drv (and our other drivers). It is what should export this function call ultimately and similar needs to host the x11 related vulkan code, which has to live in here as well, because such code is not supposed to live outside winex11.drv.
Thanks, Roderick
The ICD is intended for use by Khronos' official Vulkan loader, which typically is shipped as a separate DLL, vulkan-1.dll, although applications may statically link the loader. The interaction between an ICD and a loader is well documented[1].
I have provisional patches available on my Github repository[2]. It's not yet fully complete though, missing the WSI integration. My plan is to link to winex11.drv and map a HWND to xlib's Display* and Window. Maybe that's not the best solution, in which case, I'd love to hear your suggestions.
[1] https://github.com/LunarG/VulkanSamples/blob/master/loader/LoaderAndLayerInt... [2] https://github.com/polarina/wine/commits/vulkan