From 1d1559620058365e0de25636f1bcf07fcc071c3d Mon Sep 17 00:00:00 2001 From: jvanverth Date: Mon, 23 May 2016 13:13:36 -0700 Subject: Add Xlib support to viewer BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=1999213002 Review-Url: https://codereview.chromium.org/1999213002 --- src/gpu/vk/GrVkBackendContext.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'src/gpu/vk') diff --git a/src/gpu/vk/GrVkBackendContext.cpp b/src/gpu/vk/GrVkBackendContext.cpp index ae61aa5337..8b6c1dadc6 100644 --- a/src/gpu/vk/GrVkBackendContext.cpp +++ b/src/gpu/vk/GrVkBackendContext.cpp @@ -40,7 +40,9 @@ const uint32_t kGrVkMinimumVersion = VK_MAKE_VERSION(1, 0, 8); // Create the base Vulkan objects needed by the GrVkGpu object const GrVkBackendContext* GrVkBackendContext::Create(uint32_t* presentQueueIndexPtr, - bool(*canPresent)(VkInstance, VkPhysicalDevice, uint32_t queueIndex)) { + bool(*canPresent)(VkInstance, VkPhysicalDevice, uint32_t queueIndex, + void* platformData), + void* platformData) { VkPhysicalDevice physDev; VkDevice device; VkInstance inst; @@ -91,11 +93,11 @@ const GrVkBackendContext* GrVkBackendContext::Create(uint32_t* presentQueueIndex if (extensions.hasInstanceExtension(VK_KHR_ANDROID_SURFACE_EXTENSION_NAME)) { instanceExtensionNames.push_back(VK_KHR_ANDROID_SURFACE_EXTENSION_NAME); extensionFlags |= kKHR_android_surface_GrVkExtensionFlag; -} + } #elif SK_BUILD_FOR_UNIX - if (extensions.hasInstanceExtension(VK_KHR_XLIB_SURFACE_EXTENSION_NAME)) { - instanceExtensionNames.push_back(VK_KHR_XLIB_SURFACE_EXTENSION_NAME); - extensionFlags |= kKHR_xlib_surface_GrVkExtensionFlag; + if (extensions.hasInstanceExtension(VK_KHR_XCB_SURFACE_EXTENSION_NAME)) { + instanceExtensionNames.push_back(VK_KHR_XCB_SURFACE_EXTENSION_NAME); + extensionFlags |= kKHR_xcb_surface_GrVkExtensionFlag; } #endif @@ -159,7 +161,7 @@ const GrVkBackendContext* GrVkBackendContext::Create(uint32_t* presentQueueIndex uint32_t presentQueueIndex = graphicsQueueIndex; if (presentQueueIndexPtr && canPresent) { for (uint32_t i = 0; i < queueCount; i++) { - if (canPresent(inst, physDev, i)) { + if (canPresent(inst, physDev, i, platformData)) { presentQueueIndex = i; break; } -- cgit v1.2.3