Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
nihui committed Nov 6, 2023
1 parent 3efda7e commit 91f0476
Showing 1 changed file with 15 additions and 7 deletions.
22 changes: 15 additions & 7 deletions src/simplevk.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -174,23 +174,23 @@ static int load_vulkan_windows(const char* driver_path)
if (!EnumerateInstanceExtensionProperties)
{
NCNN_LOGE("icdGetInstanceProcAddr vkEnumerateInstanceExtensionProperties failed");
dlclose(libvulkan);
FreeLibrary(libvulkan);
return -1;
}

CreateInstance = (PFN_vkCreateInstance)icdGetInstanceProcAddr(NULL, "vkCreateInstance");
if (!CreateInstance)
{
NCNN_LOGE("icdGetInstanceProcAddr vkCreateInstance failed");
dlclose(libvulkan);
FreeLibrary(libvulkan);
return -1;
}

GetInstanceProcAddr = (PFN_vkGetInstanceProcAddr)icdGetInstanceProcAddr(NULL, "vkGetInstanceProcAddr");
if (!GetInstanceProcAddr)
{
NCNN_LOGE("icdGetInstanceProcAddr vkGetInstanceProcAddr failed");
dlclose(libvulkan);
FreeLibrary(libvulkan);
return -1;
}
}
Expand All @@ -200,23 +200,23 @@ static int load_vulkan_windows(const char* driver_path)
if (!EnumerateInstanceExtensionProperties)
{
NCNN_LOGE("GetProcAddress failed %d", GetLastError());
dlclose(libvulkan);
FreeLibrary(libvulkan);
return -1;
}

CreateInstance = (PFN_vkCreateInstance)GetProcAddress(libvulkan, "vkCreateInstance");
if (!CreateInstance)
{
NCNN_LOGE("GetProcAddress failed %d", GetLastError());
dlclose(libvulkan);
FreeLibrary(libvulkan);
return -1;
}

GetInstanceProcAddr = (PFN_vkGetInstanceProcAddr)GetProcAddress(libvulkan, "vkGetInstanceProcAddr");
if (!GetInstanceProcAddr)
{
NCNN_LOGE("GetProcAddress failed %d", GetLastError());
dlclose(libvulkan);
FreeLibrary(libvulkan);
return -1;
}
}
Expand Down Expand Up @@ -446,9 +446,15 @@ int load_vulkan_driver(const char* driver_path)
// fifth try, load from well-known path
#if defined _WIN32
const char* well_known_path[] = {
#if defined(__x86_64__) || defined(_M_X64)
"nvoglv64.dll",
"amdvlk64.dll",
"igvk64.dll"
#else
"nvoglv32.dll",
"amdvlk32.dll",
"igvk32.dll"
#endif
};
#elif defined __ANDROID__
const char* well_known_path[] = {
Expand All @@ -464,7 +470,9 @@ int load_vulkan_driver(const char* driver_path)
const char* well_known_path[] = {
"libGLX_nvidia.so.0",
"libvulkan_radeon.so",
"libvulkan_intel.so"
"libvulkan_intel.so",
"libMaliVulkan.so.1",
"libVK_IMG.so"
};
#endif

Expand Down

0 comments on commit 91f0476

Please sign in to comment.