19 if (!sk_gpu_test::LoadVkLibraryAndGetProcAddrFuncs(&instProc)) {
23 auto createVkSurface = [
window, instProc] (VkInstance
instance) -> VkSurfaceKHR {
35 surfaceCreateInfo.
pNext =
nullptr;
36 surfaceCreateInfo.
flags = 0;
44 auto canPresent = [](VkInstance, VkPhysicalDevice, uint32_t) {
return true; };
46 std::unique_ptr<WindowContext> ctx(
47 new internal::VulkanWindowContext(
params, createVkSurface, canPresent, instProc));
48 if (!ctx->isValid()) {
const EmbeddedViewParams * params
std::unique_ptr< WindowContext > MakeVulkanForAndroid(ANativeWindow *window, const DisplayParams ¶ms)
struct ANativeWindow * window
VkAndroidSurfaceCreateFlagsKHR flags
VkResult(VKAPI_PTR * PFN_vkCreateAndroidSurfaceKHR)(VkInstance instance, const VkAndroidSurfaceCreateInfoKHR *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface)
PFN_vkVoidFunction(VKAPI_PTR * PFN_vkGetInstanceProcAddr)(VkInstance instance, const char *pName)
@ VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR
struct ANativeWindow ANativeWindow