1 #ifndef VULKAN_WAYLAND_H_ 2 #define VULKAN_WAYLAND_H_ 1 3 4 /* 5 ** Copyright 2015-2023 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 17 extern "C" { 18 #endif 19 20 21 22 #define VK_KHR_wayland_surface 1 23 #define VK_KHR_WAYLAND_SURFACE_SPEC_VERSION 6 24 #define VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME "VK_KHR_wayland_surface" 25 typedef VkFlags VkWaylandSurfaceCreateFlagsKHR; 26 typedef struct VkWaylandSurfaceCreateInfoKHR { 27 VkStructureType sType; 28 const void* pNext; 29 VkWaylandSurfaceCreateFlagsKHR flags; 30 struct wl_display* display; 31 struct wl_surface* surface; 32 } VkWaylandSurfaceCreateInfoKHR; 33 34 typedef VkResult (VKAPI_PTR *PFN_vkCreateWaylandSurfaceKHR)(VkInstance instance, const VkWaylandSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); 35 typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, struct wl_display* display); 36 37 #ifndef VK_NO_PROTOTYPES 38 VKAPI_ATTR VkResult VKAPI_CALL vkCreateWaylandSurfaceKHR( 39 VkInstance instance, 40 const VkWaylandSurfaceCreateInfoKHR* pCreateInfo, 41 const VkAllocationCallbacks* pAllocator, 42 VkSurfaceKHR* pSurface); 43 44 VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceWaylandPresentationSupportKHR( 45 VkPhysicalDevice physicalDevice, 46 uint32_t queueFamilyIndex, 47 struct wl_display* display); 48 #endif 49 50 #ifdef __cplusplus 51 } 52 #endif 53 54 #endif 55