aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/vk
diff options
context:
space:
mode:
authorGravatar jvanverth <jvanverth@google.com>2016-05-23 13:13:36 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-05-23 13:13:36 -0700
commit1d1559620058365e0de25636f1bcf07fcc071c3d (patch)
treeaa9cae557fade884de8c1a5359dc0624cd44a288 /src/gpu/vk
parent50134ccafdc509d4d430d068d7e68e38473ffe0a (diff)
Add Xlib support to viewer
Diffstat (limited to 'src/gpu/vk')
-rw-r--r--src/gpu/vk/GrVkBackendContext.cpp14
1 files changed, 8 insertions, 6 deletions
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;
}