aboutsummaryrefslogtreecommitdiff
path: root/loader
diff options
context:
space:
mode:
Diffstat (limited to 'loader')
-rw-r--r--loader/loader.c8
-rw-r--r--loader/loader.h2
-rw-r--r--loader/wsi.c7
3 files changed, 17 insertions, 0 deletions
diff --git a/loader/loader.c b/loader/loader.c
index e2939cf7..101044d9 100644
--- a/loader/loader.c
+++ b/loader/loader.c
@@ -1457,6 +1457,14 @@ static bool loader_icd_init_entrys(struct loader_icd *icd, VkInstance inst,
LOOKUP_GIPA(GetPhysicalDeviceSurfaceCapabilitiesKHR, false);
LOOKUP_GIPA(GetPhysicalDeviceSurfaceFormatsKHR, false);
LOOKUP_GIPA(GetPhysicalDeviceSurfacePresentModesKHR, false);
+ LOOKUP_GIPA(GetPhysicalDeviceDisplayPropertiesKHR, false);
+ LOOKUP_GIPA(GetDisplayModePropertiesKHR, false);
+ LOOKUP_GIPA(CreateDisplayPlaneSurfaceKHR, false);
+ LOOKUP_GIPA(GetPhysicalDeviceDisplayPlanePropertiesKHR, false);
+ LOOKUP_GIPA(GetDisplayPlaneSupportedDisplaysKHR, false);
+ LOOKUP_GIPA(CreateDisplayModeKHR, false);
+ LOOKUP_GIPA(GetDisplayPlaneCapabilitiesKHR, false);
+ LOOKUP_GIPA(DestroySurfaceKHR, false);
#ifdef VK_USE_PLATFORM_WIN32_KHR
LOOKUP_GIPA(GetPhysicalDeviceWin32PresentationSupportKHR, false);
#endif
diff --git a/loader/loader.h b/loader/loader.h
index b29c4506..1971fad0 100644
--- a/loader/loader.h
+++ b/loader/loader.h
@@ -259,6 +259,8 @@ struct loader_icd {
GetDisplayPlaneCapabilitiesKHR;
PFN_vkCreateDisplayPlaneSurfaceKHR
CreateDisplayPlaneSurfaceKHR;
+ PFN_vkDestroySurfaceKHR
+ DestroySurfaceKHR;
struct loader_icd *next;
};
diff --git a/loader/wsi.c b/loader/wsi.c
index 5b408ec3..3cb20a88 100644
--- a/loader/wsi.c
+++ b/loader/wsi.c
@@ -1410,6 +1410,13 @@ terminator_CreateDisplayPlaneSurfaceKHR(
struct loader_instance *inst = loader_get_instance(instance);
VkIcdSurfaceDisplay *pIcdSurface = NULL;
+ if (!inst->wsi_surface_enabled) {
+ loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0,
+ "VK_KHR_surface extension not enabled. "
+ "vkCreateDisplayPlaneSurfaceKHR not executed!\n");
+ return VK_SUCCESS;
+ }
+
pIcdSurface = loader_heap_alloc(inst, sizeof(VkIcdSurfaceDisplay),
VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
if (pIcdSurface == NULL) {