1#ifndef VULKAN_DIRECTFB_H_
2#define VULKAN_DIRECTFB_H_ 1
3
4/*
5** Copyright 2015-2024 The Khronos Group Inc.
6**
7** SPDX-License-Identifier: Apache-2.0
8*/
9
10/*
11** This header is generated from the Khronos Vulkan XML API Registry.
12**
13*/
14
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19
20
21
22// VK_EXT_directfb_surface is a preprocessor guard. Do not pass it to API calls.
23#define VK_EXT_directfb_surface 1
24#define VK_EXT_DIRECTFB_SURFACE_SPEC_VERSION 1
25#define VK_EXT_DIRECTFB_SURFACE_EXTENSION_NAME "VK_EXT_directfb_surface"
26typedef VkFlags VkDirectFBSurfaceCreateFlagsEXT;
27typedef struct VkDirectFBSurfaceCreateInfoEXT {
28    VkStructureType                    sType;
29    const void*                        pNext;
30    VkDirectFBSurfaceCreateFlagsEXT    flags;
31    IDirectFB*                         dfb;
32    IDirectFBSurface*                  surface;
33} VkDirectFBSurfaceCreateInfoEXT;
34
35typedef VkResult (VKAPI_PTR *PFN_vkCreateDirectFBSurfaceEXT)(VkInstance instance, const VkDirectFBSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
36typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, IDirectFB* dfb);
37
38#ifndef VK_NO_PROTOTYPES
39VKAPI_ATTR VkResult VKAPI_CALL vkCreateDirectFBSurfaceEXT(
40    VkInstance                                  instance,
41    const VkDirectFBSurfaceCreateInfoEXT*       pCreateInfo,
42    const VkAllocationCallbacks*                pAllocator,
43    VkSurfaceKHR*                               pSurface);
44
45VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceDirectFBPresentationSupportEXT(
46    VkPhysicalDevice                            physicalDevice,
47    uint32_t                                    queueFamilyIndex,
48    IDirectFB*                                  dfb);
49#endif
50
51#ifdef __cplusplus
52}
53#endif
54
55#endif
56