27 #include "../../SDL_internal.h" 29 #if SDL_VIDEO_VULKAN && SDL_VIDEO_DRIVER_MIR 39 int MIR_Vulkan_LoadLibrary(
_THIS,
const char *
path)
53 path =
"libvulkan.so.1";
61 if(!vkGetInstanceProcAddr)
69 extensions = SDL_Vulkan_CreateInstanceExtensionsList(
75 for(
Uint32 i = 0;
i < extensionCount;
i++)
79 else if(
SDL_strcmp(VK_KHR_MIR_SURFACE_EXTENSION_NAME, extensions[
i].extensionName) == 0)
83 if(!hasSurfaceExtension)
89 else if(!hasMIRSurfaceExtension)
92 VK_KHR_MIR_SURFACE_EXTENSION_NAME
"extension");
103 void MIR_Vulkan_UnloadLibrary(
_THIS)
117 static const char *
const extensionsForMir[] = {
125 return SDL_Vulkan_GetInstanceExtensions_Helper(
138 PFN_vkCreateMirSurfaceKHR vkCreateMirSurfaceKHR =
140 (VkInstance)instance,
141 "vkCreateMirSurfaceKHR");
142 VkMirSurfaceCreateInfoKHR createInfo;
151 if(!vkCreateMirSurfaceKHR)
154 " extension is not enabled in the Vulkan instance.");
159 createInfo.pNext =
NULL;
160 createInfo.flags = 0;
162 createInfo.mirSurface = windowData->
window;
163 result = vkCreateMirSurfaceKHR(instance, &createInfo,
168 SDL_Vulkan_GetResultString(result));
#define VK_KHR_SURFACE_EXTENSION_NAME
struct SDL_VideoDevice::@35 vulkan_config
GLuint GLuint GLsizei count
VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr(VkInstance instance, const char *pName)
PFN_vkVoidFunction(VKAPI_PTR * PFN_vkGetInstanceProcAddr)(VkInstance instance, const char *pName)
static SDL_VideoDevice * _this
MirConnection * connection
return Display return Display Bool Bool int int int return Display XEvent Bool(*) XPointer return Display return Display Drawable _Xconst char unsigned int unsigned int return Display Pixmap Pixmap XColor XColor unsigned int unsigned int return Display _Xconst char char int char return Display Visual unsigned int int int char unsigned int unsigned int in i)
EGLSurface EGLNativeWindowType * window
PFN_vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties
The type used to identify a window.
PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr
#define SDL_arraysize(array)
GLsizei const GLchar *const * path
void * SDL_LoadFunction(void *handle, const char *name)
VkResult(VKAPI_PTR * PFN_vkEnumerateInstanceExtensionProperties)(const char *pLayerName, uint32_t *pPropertyCount, VkExtensionProperties *pProperties)