MCPcopy Create free account
hub / github.com/ValveSoftware/Proton / load_vulkan

Function load_vulkan

vrclient_x64/unixlib.cpp:26–53  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

24static void *vulkan;
25
26BOOL load_vulkan(void)
27{
28 if (vulkan) return TRUE;
29 if (!(vulkan = dlopen( "libvulkan.so.1", RTLD_NOW )) &&
30 !(vulkan = dlopen( "libvulkan.so", RTLD_NOW )))
31 {
32 ERR( "Unable to open libvulkan.so.1\n" );
33 return FALSE;
34 }
35
36#define LOAD_FUNC( name ) \
37 if (!(p_##name = (decltype(p_##name))dlsym( vulkan, #name ))) \
38 { \
39 ERR( "%s not found.\n", #name ); \
40 dlclose( vulkan ); \
41 vulkan = NULL; \
42 return FALSE; \
43 }
44
45 LOAD_FUNC( vkCreateInstance )
46 LOAD_FUNC( vkDestroyInstance )
47 LOAD_FUNC( vkEnumeratePhysicalDevices )
48 LOAD_FUNC( vkGetPhysicalDeviceProperties )
49
50#undef LOAD_FUNC
51
52 return TRUE;
53}
54
55static void *vrclient;
56

Calls

no outgoing calls

Tested by

no test coverage detected