27 #include "../../SDL_internal.h" 29 #if SDL_VIDEO_VULKAN && SDL_VIDEO_DRIVER_WINDOWS 39 int WIN_Vulkan_LoadLibrary(
_THIS,
const char *
path)
54 path =
"vulkan-1.dll";
62 if(!vkGetInstanceProcAddr)
70 extensions = SDL_Vulkan_CreateInstanceExtensionsList(
76 for(i = 0; i < extensionCount; i++)
84 if(!hasSurfaceExtension)
90 else if(!hasWin32SurfaceExtension)
104 void WIN_Vulkan_UnloadLibrary(
_THIS)
118 static const char *
const extensionsForWin32[] = {
126 return SDL_Vulkan_GetInstanceExtensions_Helper(
141 (VkInstance)instance,
142 "vkCreateWin32SurfaceKHR");
152 if(!vkCreateWin32SurfaceKHR)
155 " extension is not enabled in the Vulkan instance.");
160 createInfo.
flags = 0;
168 SDL_Vulkan_GetResultString(result));
VkResult(VKAPI_PTR * PFN_vkCreateWin32SurfaceKHR)(VkInstance instance, const VkWin32SurfaceCreateInfoKHR *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface)
GLuint GLuint GLsizei count
#define VK_KHR_WIN32_SURFACE_EXTENSION_NAME
struct SDL_VideoDevice::@263 vulkan_config
static SDL_VideoDevice * _this
VKAPI_ATTR VkResult VKAPI_CALL vkCreateWin32SurfaceKHR(VkInstance instance, const VkWin32SurfaceCreateInfoKHR *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface)
VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr(VkInstance instance, const char *pName)
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)
#define VK_KHR_SURFACE_EXTENSION_NAME
VkResult(VKAPI_PTR * PFN_vkEnumerateInstanceExtensionProperties)(const char *pLayerName, uint32_t *pPropertyCount, VkExtensionProperties *pProperties)
PFN_vkVoidFunction(VKAPI_PTR * PFN_vkGetInstanceProcAddr)(VkInstance instance, const char *pName)
EGLSurface EGLNativeWindowType * window
VkWin32SurfaceCreateFlagsKHR flags
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)