diff options
| author | Jon Ashburn <jon@lunarg.com> | 2015-11-25 17:55:49 -0700 |
|---|---|---|
| committer | Jon Ashburn <jon@lunarg.com> | 2015-12-01 10:26:05 -0700 |
| commit | acf4589cedc97a4183061958ec2faf69e23bda8d (patch) | |
| tree | 3d3bcc2dd5e80606c872904e4cea79bbc9a4af65 /loader/loader.c | |
| parent | a456fd459b740a9b9c0b4b37f829676d48352950 (diff) | |
| download | usermoji-acf4589cedc97a4183061958ec2faf69e23bda8d.tar.xz | |
loader: Add terminator functions for Create*SurfaceKHR functions
These need to call down the chain for layer intercept.
Also remove DestroySurfaceKHR from ICD table.
Diffstat (limited to 'loader/loader.c')
| -rw-r--r-- | loader/loader.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/loader/loader.c b/loader/loader.c index ce9b39ce..df720c64 100644 --- a/loader/loader.c +++ b/loader/loader.c @@ -116,23 +116,23 @@ const VkLayerInstanceDispatchTable instance_disp = { .DbgCreateMsgCallback = loader_DbgCreateMsgCallback, .DbgDestroyMsgCallback = loader_DbgDestroyMsgCallback, #ifdef VK_USE_PLATFORM_MIR_KHR - .CreateMirSurfaceKHR = vkCreateMirSurfaceKHR, + .CreateMirSurfaceKHR = loader_CreateMirSurfaceKHR, .GetPhysicalDeviceMirPresentationSupportKHR = loader_GetPhysicalDeviceMirPresentationSupportKHR, #endif #ifdef VK_USE_PLATFORM_WAYLAND_KHR - .CreateWaylandSurfaceKHR = vkCreateWaylandSurfaceKHR, + .CreateWaylandSurfaceKHR = loader_CreateWaylandSurfaceKHR, .GetPhysicalDeviceWaylandPresentationSupportKHR = loader_GetPhysicalDeviceWaylandPresentationSupportKHR, #endif #ifdef VK_USE_PLATFORM_WIN32_KHR - .CreateWin32SurfaceKHR = vkCreateWin32SurfaceKHR, + .CreateWin32SurfaceKHR = loader_CreateWin32SurfaceKHR, .GetPhysicalDeviceWin32PresentationSupportKHR = loader_GetPhysicalDeviceWin32PresentationSupportKHR, #endif #ifdef VK_USE_PLATFORM_XCB_KHR - .CreateXcbSurfaceKHR = vkCreateXcbSurfaceKHR, + .CreateXcbSurfaceKHR = loader_CreateXcbSurfaceKHR, .GetPhysicalDeviceXcbPresentationSupportKHR = loader_GetPhysicalDeviceXcbPresentationSupportKHR, #endif #ifdef VK_USE_PLATFORM_XLIB_KHR - .CreateXlibSurfaceKHR = vkCreateXlibSurfaceKHR, + .CreateXlibSurfaceKHR = loader_CreateXlibSurfaceKHR, .GetPhysicalDeviceXlibPresentationSupportKHR = loader_GetPhysicalDeviceXlibPresentationSupportKHR, #endif }; @@ -1239,7 +1239,6 @@ static bool loader_icd_init_entrys(struct loader_icd *icd, LOOKUP_GIPA(GetPhysicalDeviceSparseImageFormatProperties, true); LOOKUP_GIPA(DbgCreateMsgCallback, false); LOOKUP_GIPA(DbgDestroyMsgCallback, false); - LOOKUP_GIPA(DestroySurfaceKHR, false); LOOKUP_GIPA(GetPhysicalDeviceSurfaceSupportKHR, false); LOOKUP_GIPA(GetPhysicalDeviceSurfaceCapabilitiesKHR, false); LOOKUP_GIPA(GetPhysicalDeviceSurfaceFormatsKHR, false); @@ -2613,6 +2612,8 @@ uint32_t loader_activate_instance_layers(struct loader_instance *inst) nextObj = (void*) nextInstObj; lib_handle = loader_add_layer_lib(inst, "instance", layer_prop); + if (!lib_handle) + continue; // TODO what should we do in this case if ((nextGPA = layer_prop->functions.get_instance_proc_addr) == NULL) { if (layer_prop->functions.str_gipa == NULL || strlen(layer_prop->functions.str_gipa) == 0) { nextGPA = (PFN_vkGetInstanceProcAddr) loader_platform_get_proc_address(lib_handle, "vkGetInstanceProcAddr"); |
