| Index: src/gpu/vk/GrVkInterface.cpp
|
| diff --git a/src/gpu/vk/GrVkInterface.cpp b/src/gpu/vk/GrVkInterface.cpp
|
| index a6ac8d62f14cb7f4bca0a274194896bdc09304ec..bc6b87edb8cb4e6b23e5ac4779825e88d775c02b 100644
|
| --- a/src/gpu/vk/GrVkInterface.cpp
|
| +++ b/src/gpu/vk/GrVkInterface.cpp
|
| @@ -157,25 +157,45 @@ const GrVkInterface* GrVkCreateInterface(VkInstance instance, VkDevice device,
|
| GET_DEV_PROC(CmdNextSubpass);
|
| GET_DEV_PROC(CmdEndRenderPass);
|
| GET_DEV_PROC(CmdExecuteCommands);
|
| - // TODO: break these out with extension checks
|
| - GET_PROC(DestroySurfaceKHR);
|
| - GET_PROC(GetPhysicalDeviceSurfaceSupportKHR);
|
| - GET_PROC(GetPhysicalDeviceSurfaceCapabilitiesKHR);
|
| - GET_PROC(GetPhysicalDeviceSurfaceFormatsKHR);
|
| - GET_PROC(GetPhysicalDeviceSurfacePresentModesKHR);
|
| - GET_DEV_PROC(CreateSwapchainKHR);
|
| - GET_DEV_PROC(DestroySwapchainKHR);
|
| - GET_DEV_PROC(GetSwapchainImagesKHR);
|
| - GET_DEV_PROC(AcquireNextImageKHR);
|
| - GET_DEV_PROC(QueuePresentKHR);
|
| - GET_PROC(GetPhysicalDeviceDisplayPropertiesKHR);
|
| - GET_PROC(GetPhysicalDeviceDisplayPlanePropertiesKHR);
|
| - GET_PROC(GetDisplayPlaneSupportedDisplaysKHR);
|
| - GET_PROC(GetDisplayModePropertiesKHR);
|
| - GET_PROC(CreateDisplayModeKHR);
|
| - GET_PROC(GetDisplayPlaneCapabilitiesKHR);
|
| - GET_PROC(CreateDisplayPlaneSurfaceKHR);
|
| - GET_DEV_PROC(CreateSharedSwapchainsKHR);
|
| + if (extensionFlags & kKHR_surface_GrVkExtensionFlag) {
|
| + GET_PROC(DestroySurfaceKHR);
|
| + GET_PROC(GetPhysicalDeviceSurfaceSupportKHR);
|
| + GET_PROC(GetPhysicalDeviceSurfaceCapabilitiesKHR);
|
| + GET_PROC(GetPhysicalDeviceSurfaceFormatsKHR);
|
| + GET_PROC(GetPhysicalDeviceSurfacePresentModesKHR);
|
| + }
|
| + if (extensionFlags & kKHR_surface_GrVkExtensionFlag) {
|
| + GET_DEV_PROC(CreateSwapchainKHR);
|
| + GET_DEV_PROC(DestroySwapchainKHR);
|
| + GET_DEV_PROC(GetSwapchainImagesKHR);
|
| + GET_DEV_PROC(AcquireNextImageKHR);
|
| + GET_DEV_PROC(QueuePresentKHR);
|
| + }
|
| +#if defined(VK_USE_PLATFORM_WIN32_KHR)
|
| + if (extensionFlags & kKHR_win32_surface_GrVkExtensionFlag) {
|
| + GET_PROC(CreateWin32SurfaceKHR);
|
| + GET_PROC(GetPhysicalDeviceWin32PresentationSupportKHR);
|
| + }
|
| +#elif defined(VK_USE_PLATFORM_ANDROID_KHR)
|
| + if (extensionFlags & kKHR_android_surface_GrVkExtensionFlag) {
|
| + GET_PROC(CreateAndroidSurfaceKHR);
|
| + }
|
| +#elif defined(VK_USE_PLATFORM_XLIB_KHR)
|
| + if (extensionFlags & kKHR_xlib_surface_GrVkExtensionFlag) {
|
| + GET_PROC(CreateXlibSurfaceKHR);
|
| + GET_PROC(GetPhysicalDeviceXlibPresentationSupportKHR);
|
| + }
|
| +#endif
|
| +
|
| + // We probably don't care about these, they're for consoles
|
| + //GET_PROC(GetPhysicalDeviceDisplayPropertiesKHR);
|
| + //GET_PROC(GetPhysicalDeviceDisplayPlanePropertiesKHR);
|
| + //GET_PROC(GetDisplayPlaneSupportedDisplaysKHR);
|
| + //GET_PROC(GetDisplayModePropertiesKHR);
|
| + //GET_PROC(CreateDisplayModeKHR);
|
| + //GET_PROC(GetDisplayPlaneCapabilitiesKHR);
|
| + //GET_PROC(CreateDisplayPlaneSurfaceKHR);
|
| + //GET_DEV_PROC(CreateSharedSwapchainsKHR);
|
|
|
| if (extensionFlags & kEXT_debug_report_GrVkExtensionFlag) {
|
| GET_PROC(CreateDebugReportCallbackEXT);
|
| @@ -326,18 +346,17 @@ bool GrVkInterface::validate() const {
|
| NULL == fFunctions.fCmdBeginRenderPass ||
|
| NULL == fFunctions.fCmdNextSubpass ||
|
| NULL == fFunctions.fCmdEndRenderPass ||
|
| - NULL == fFunctions.fCmdExecuteCommands
|
| -#ifdef VK_CHECK_ALL_FUNCTIONS
|
| - // || NULL == fFunctions.fDestroySurfaceKHR ||
|
| - //NULL == fFunctions.fGetPhysicalDeviceSurfaceSupportKHR ||
|
| - //NULL == fFunctions.fGetPhysicalDeviceSurfaceCapabilitiesKHR ||
|
| - //NULL == fFunctions.fGetPhysicalDeviceSurfaceFormatsKHR ||
|
| - //NULL == fFunctions.fGetPhysicalDeviceSurfacePresentModesKHR ||
|
| - //NULL == fFunctions.fCreateSwapchainKHR ||
|
| - //NULL == fFunctions.fDestroySwapchainKHR ||
|
| - //NULL == fFunctions.fGetSwapchainImagesKHR ||
|
| - //NULL == fFunctions.fAcquireNextImageKHR ||
|
| - //NULL == fFunctions.fQueuePresentKHR ||
|
| + NULL == fFunctions.fCmdExecuteCommands ||
|
| + NULL == fFunctions.fDestroySurfaceKHR ||
|
| + NULL == fFunctions.fGetPhysicalDeviceSurfaceSupportKHR ||
|
| + NULL == fFunctions.fGetPhysicalDeviceSurfaceCapabilitiesKHR ||
|
| + NULL == fFunctions.fGetPhysicalDeviceSurfaceFormatsKHR ||
|
| + NULL == fFunctions.fGetPhysicalDeviceSurfacePresentModesKHR ||
|
| + NULL == fFunctions.fCreateSwapchainKHR ||
|
| + NULL == fFunctions.fDestroySwapchainKHR ||
|
| + NULL == fFunctions.fGetSwapchainImagesKHR ||
|
| + NULL == fFunctions.fAcquireNextImageKHR ||
|
| + NULL == fFunctions.fQueuePresentKHR ||
|
| //NULL == fFunctions.fGetPhysicalDeviceDisplayPropertiesKHR ||
|
| //NULL == fFunctions.fGetPhysicalDeviceDisplayPlanePropertiesKHR ||
|
| //NULL == fFunctions.fGetDisplayPlaneSupportedDisplaysKHR ||
|
| @@ -346,12 +365,10 @@ bool GrVkInterface::validate() const {
|
| //NULL == fFunctions.fGetDisplayPlaneCapabilitiesKHR ||
|
| //NULL == fFunctions.fCreateDisplayPlaneSurfaceKHR ||
|
| //NULL == fFunctions.fCreateSharedSwapchainsKHR ||
|
| - //NULL == fFunctions.fCreateDebugReportCallbackEXT ||
|
| - //NULL == fFunctions.fDebugReportMessageEXT ||
|
| - //NULL == fFunctions.fDestroyDebugReportCallbackEXT) {
|
| -#else
|
| - ) {
|
| -#endif
|
| + NULL == fFunctions.fCreateDebugReportCallbackEXT ||
|
| + NULL == fFunctions.fDebugReportMessageEXT ||
|
| + NULL == fFunctions.fDestroyDebugReportCallbackEXT) {
|
| +
|
| return false;
|
| }
|
| return true;
|
|
|