aboutsummaryrefslogtreecommitdiff
path: root/loader/loader.c
diff options
context:
space:
mode:
authorJon Ashburn <jon@lunarg.com>2015-11-25 17:55:49 -0700
committerJon Ashburn <jon@lunarg.com>2015-12-01 10:26:05 -0700
commitacf4589cedc97a4183061958ec2faf69e23bda8d (patch)
tree3d3bcc2dd5e80606c872904e4cea79bbc9a4af65 /loader/loader.c
parenta456fd459b740a9b9c0b4b37f829676d48352950 (diff)
downloadusermoji-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.c13
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");