diff options
| author | Petros Bantolas <petros.bantolas@imgtec.com> | 2016-04-14 12:50:42 +0100 |
|---|---|---|
| committer | Jon Ashburn <jon@lunarg.com> | 2016-04-14 14:35:28 -0600 |
| commit | 26fea8827c2e86b02f41833b3432d7243d6dfead (patch) | |
| tree | 55f8bc17cb1fb53d0e0dd2c1f8f38ff3cbde4c3d /loader | |
| parent | ea443a6e1ebb35fe67d475d9a27854564398eb48 (diff) | |
| download | usermoji-26fea8827c2e86b02f41833b3432d7243d6dfead.tar.xz | |
loader: Added some missing function entry points to loader_icd_init_entrys.
KHR_surface, KHR_display extension functions were not exposed properly.
Specifically, added LOOKUP_GIPA entries for:
* GetPhysicalDeviceDisplayPropertiesKHR
* GetDisplayModePropertiesKHR
* CreateDisplayPlaneSurfaceKHR
* GetPhysicalDeviceDisplayPlanePropertiesKHR
* GetDisplayPlaneSupportedDisplaysKHR
* CreateDisplayModeKHR
* GetDisplayPlaneCapabilitiesKHR
* DestroySurfaceKHR
Added missing function declaration DestroySurfaceKHR in loader_icd
struct.
Checking if KHR_surface extension is enabled before proceeding in the
terminator_CreateDisplayPlaneSurfaceKHR definition.
Change-Id: I0599efddedc5064859ae1f4e52bdbbf8788d5c12
Diffstat (limited to 'loader')
| -rw-r--r-- | loader/loader.c | 8 | ||||
| -rw-r--r-- | loader/loader.h | 2 | ||||
| -rw-r--r-- | loader/wsi.c | 7 |
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) { |
