27 #include "../../SDL_internal.h"
29 #if SDL_VIDEO_VULKAN && SDL_VIDEO_DRIVER_ANDROID
39 int Android_Vulkan_LoadLibrary(
_THIS,
const char *
path)
53 path =
"libvulkan.so";
69 extensions = SDL_Vulkan_CreateInstanceExtensionsList(
75 for(
i = 0;
i < extensionCount;
i++)
79 else if(
SDL_strcmp(VK_KHR_ANDROID_SURFACE_EXTENSION_NAME, extensions[
i].extensionName) == 0)
80 hasAndroidSurfaceExtension =
SDL_TRUE;
83 if(!hasSurfaceExtension)
89 else if(!hasAndroidSurfaceExtension)
92 VK_KHR_ANDROID_SURFACE_EXTENSION_NAME
"extension");
103 void Android_Vulkan_UnloadLibrary(
_THIS)
117 static const char *
const extensionsForAndroid[] = {
125 return SDL_Vulkan_GetInstanceExtensions_Helper(
127 extensionsForAndroid);
138 PFN_vkCreateAndroidSurfaceKHR vkCreateAndroidSurfaceKHR =
140 (VkInstance)instance,
141 "vkCreateAndroidSurfaceKHR");
142 VkAndroidSurfaceCreateInfoKHR createInfo;
151 if(!vkCreateAndroidSurfaceKHR)
154 " extension is not enabled in the Vulkan instance.");
159 createInfo.pNext =
NULL;
160 createInfo.flags = 0;
162 result = vkCreateAndroidSurfaceKHR(instance, &createInfo,
167 SDL_Vulkan_GetResultString(
result));