blob: 522b8399e580dabcf6e9294dbedc17593e9118e0 [file] [log] [blame]
/*
* Copyright 2015 Google Inc.
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#include "VulkanTestContext_android.h"
#include "vk/GrVkInterface.h"
#include "../../src/gpu/vk/GrVkUtil.h"
VkSurfaceKHR VulkanTestContext::createVkSurface(void* platformData) {
// need better error handling here
SkASSERT(platformData);
ContextPlatformData_android* androidPlatformData =
reinterpret_cast<ContextPlatformData_android*>(platformData);
VkSurfaceKHR surface;
VkAndroidSurfaceCreateInfoKHR surfaceCreateInfo;
memset(&surfaceCreateInfo, 0, sizeof(VkAndroidSurfaceCreateInfoKHR));
surfaceCreateInfo.sType = VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR;
surfaceCreateInfo.pNext = nullptr;
surfaceCreateInfo.flags = 0;
surfaceCreateInfo.window = androidPlatformData->fNativeWindow;
VkResult res = GR_VK_CALL(fBackendContext->fInterface,
CreateAndroidSurfaceKHR(fBackendContext->fInstance,
&surfaceCreateInfo,
nullptr, &surface));
return (VK_SUCCESS == res) ? surface : VK_NULL_HANDLE;
}
bool VulkanTestContext::canPresent(uint32_t queueFamilyIndex) {
return true;
}