22 #include "../../SDL_internal.h"
24 #if SDL_VIDEO_VULKAN && SDL_VIDEO_DRIVER_DIRECTFB
31 int DirectFB_Vulkan_LoadLibrary(
_THIS,
const char *
path)
45 path =
"libvulkan.so.1";
61 extensions = SDL_Vulkan_CreateInstanceExtensionsList(
67 for(
i = 0;
i < extensionCount;
i++)
72 hasDirectFBSurfaceExtension =
SDL_TRUE;
75 if(!hasSurfaceExtension)
81 else if(!hasDirectFBSurfaceExtension)
95 void DirectFB_Vulkan_UnloadLibrary(
_THIS)
109 static const char *
const extensionsForDirectFB[] = {
117 return SDL_Vulkan_GetInstanceExtensions_Helper(
119 extensionsForDirectFB);
134 "vkCreateDirectFBSurfaceEXT");
147 " extension is not enabled in the Vulkan instance.");
153 createInfo.
flags = 0;
154 createInfo.
dfb = devdata->dfb;
155 createInfo.
surface = windata->surface;
161 SDL_Vulkan_GetResultString(
result));
#define SDL_DFB_DEVICEDATA(dev)
#define SDL_DFB_WINDOWDATA(win)
void * SDL_LoadFunction(void *handle, const char *name)
GLuint GLuint GLsizei count
GLsizei const GLchar *const * path
#define SDL_arraysize(array)
static SDL_VideoDevice * _this
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
struct SDL_VideoDevice::@441 vulkan_config
PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr
PFN_vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties
The type used to identify a window.
IDirectFBSurface * surface
VkDirectFBSurfaceCreateFlagsEXT flags
VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr(VkInstance instance, const char *pName)
#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)
@ VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT
VKAPI_ATTR VkResult VKAPI_CALL vkCreateDirectFBSurfaceEXT(VkInstance instance, const VkDirectFBSurfaceCreateInfoEXT *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface)
VkResult(VKAPI_PTR * PFN_vkCreateDirectFBSurfaceEXT)(VkInstance instance, const VkDirectFBSurfaceCreateInfoEXT *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface)
#define VK_EXT_DIRECTFB_SURFACE_EXTENSION_NAME