[PATCH 3/5] vulkan-1: Implement vkEnumerateInstanceExtensionProperties.

Roderick Colenbrander thunderbird2k at gmail.com
Tue Mar 27 17:48:22 CDT 2018


On Tue, Mar 27, 2018 at 3:40 PM, Józef Kucia <joseph.kucia at gmail.com> wrote:
> On Tue, Mar 27, 2018 at 9:00 AM, Roderick Colenbrander
> <thunderbird2k at gmail.com> wrote:
>> Signed-off-by: Roderick Colenbrander <thunderbird2k at gmail.com>
>> ---
>>  dlls/vulkan-1/vulkan.c | 36 +++++++++++++++++++++++++++++++++---
>>  1 file changed, 33 insertions(+), 3 deletions(-)
>>
>> diff --git a/dlls/vulkan-1/vulkan.c b/dlls/vulkan-1/vulkan.c
>> index b8db08a312..e3981b63ef 100644
>> --- a/dlls/vulkan-1/vulkan.c
>> +++ b/dlls/vulkan-1/vulkan.c
>> @@ -27,6 +27,32 @@
>>
>>  WINE_DEFAULT_DEBUG_CHANNEL(vulkan);
>>
>> +static VkResult (WINAPI *p_vkEnumerateInstanceExtensionProperties)(const char *, uint32_t *, VkExtensionProperties *);
>> +static void * (WINAPI *p_vk_icdGetInstanceProcAddr)(VkInstance, const char *);
>> +
>> +static BOOL vk_loader_init(void)
>> +{
>> +    HMODULE icd_handle = NULL;
>> +
>> +    icd_handle = LoadLibraryA("winevulkan.dll");
>> +    if (!icd_handle)
>> +    {
>> +        ERR("Failed to load Vulkan ICD (winevulkan.dll).\n");
>> +        return FALSE;
>> +    }
>> +
>> +    p_vk_icdGetInstanceProcAddr = (void *)GetProcAddress(icd_handle, "vk_icdGetInstanceProcAddr");
>> +    if (!p_vk_icdGetInstanceProcAddr)
>> +        return FALSE;
>
> Is there a reason to load winevulkan.dll dynamically? We could
> simplify code by linking to winevulkan.dll. Otherwise, we should
> probably take care of unloading winevulkan.dll, e.g. in case of
> failures.
>

Linking should be fine I think, easy to change.



More information about the wine-devel mailing list