Go to the documentation of this file.
27 #include "../../SDL_internal.h"
29 #if SDL_VIDEO_VULKAN && SDL_VIDEO_DRIVER_WAYLAND
39 int Wayland_Vulkan_LoadLibrary(
_THIS,
const char *
path)
53 path =
"libvulkan.so.1";
69 extensions = SDL_Vulkan_CreateInstanceExtensionsList(
75 for(
i = 0;
i < extensionCount;
i++)
80 hasWaylandSurfaceExtension =
SDL_TRUE;
83 if(!hasSurfaceExtension)
89 else if(!hasWaylandSurfaceExtension)
103 void Wayland_Vulkan_UnloadLibrary(
_THIS)
117 static const char *
const extensionsForWayland[] = {
125 return SDL_Vulkan_GetInstanceExtensions_Helper(
127 extensionsForWayland);
156 (VkInstance)instance,
157 "vkCreateWaylandSurfaceKHR");
170 " extension is not enabled in the Vulkan instance.");
176 createInfo.
flags = 0;
184 SDL_Vulkan_GetResultString(
result));
#define VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME
PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr
PFN_vkVoidFunction(VKAPI_PTR * PFN_vkGetInstanceProcAddr)(VkInstance instance, const char *pName)
VkResult(VKAPI_PTR * PFN_vkCreateWaylandSurfaceKHR)(VkInstance instance, const VkWaylandSurfaceCreateInfoKHR *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface)
GLuint GLuint GLsizei count
VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr(VkInstance instance, const char *pName)
GLsizei const GLchar *const * path
GLfloat GLfloat GLfloat GLfloat h
SDL_VideoData * waylandData
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
The type used to identify a window.
VKAPI_ATTR VkResult VKAPI_CALL vkCreateWaylandSurfaceKHR(VkInstance instance, const VkWaylandSurfaceCreateInfoKHR *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface)
#define VK_KHR_SURFACE_EXTENSION_NAME
static SDL_VideoDevice * _this
EGLSurface EGLNativeWindowType * window
VkResult(VKAPI_PTR * PFN_vkEnumerateInstanceExtensionProperties)(const char *pLayerName, uint32_t *pPropertyCount, VkExtensionProperties *pProperties)
PFN_vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties
struct wl_surface * surface
#define SDL_arraysize(array)
struct wl_display * display
void * SDL_LoadFunction(void *handle, const char *name)
VkWaylandSurfaceCreateFlagsKHR flags
struct wl_display * display
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)
struct SDL_VideoDevice::@263 vulkan_config
GLubyte GLubyte GLubyte GLubyte w