[PATCH 00/10] winex11: Add Vulkan ICD.

Alexandre Julliard julliard at winehq.org
Wed Nov 1 05:26:48 CDT 2017


Roderick Colenbrander <thunderbird2k at gmail.com> writes:

> The amount of code sharing between ICDs, I expect to be mostly in
> generated code and maybe a few helper functions. For now
> I think it is best to duplicate code and longer-term if
> a little bit of sharing makes sense put this in a staticly
> linked helper library. I want to avoid implementing our own
> 'winevulkan' glue ICD library in between loader and display
> driver as I fear this will cause many issues, because the object
> design didn't lend for this (assumes 1 ICD = 1 driver). Besides
> some applications load the ICD directly.
>
> This first wave of patches gets some initial ICD infrastructure
> in place. Enough to create a minimal Vulkan Instance and get
> some function loading going. It will take another 6-7 patches
> or so before 'vulkaninfo' the Vulkan equivalent of glxinfo
> will work to some degree.
>
> For now the easiest way to load the ICD is to add a registry key:
> [HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\Drivers\]
> "C:\Windows\System32\winex11.json"=dword:00000000
>
> winex11.json:
> {
>     "file_format_version": "1.0.0",
>     "ICD": {
>         "library_path": "c:\\windows\\system32\\winex11.drv",
>         "api_version": "1.0.51"
>     }
> }

How would this be able to support multiple drivers with the same
install? It seems to me that an intermediate library that calls the
currently active driver would be better. What sort of issues do you
think it would cause?

-- 
Alexandre Julliard
julliard at winehq.org



More information about the wine-devel mailing list