1bf215546Sopenharmony_ci#ifndef VULKAN_WAYLAND_H_
2bf215546Sopenharmony_ci#define VULKAN_WAYLAND_H_ 1
3bf215546Sopenharmony_ci
4bf215546Sopenharmony_ci/*
5bf215546Sopenharmony_ci** Copyright 2015-2022 The Khronos Group Inc.
6bf215546Sopenharmony_ci**
7bf215546Sopenharmony_ci** SPDX-License-Identifier: Apache-2.0
8bf215546Sopenharmony_ci*/
9bf215546Sopenharmony_ci
10bf215546Sopenharmony_ci/*
11bf215546Sopenharmony_ci** This header is generated from the Khronos Vulkan XML API Registry.
12bf215546Sopenharmony_ci**
13bf215546Sopenharmony_ci*/
14bf215546Sopenharmony_ci
15bf215546Sopenharmony_ci
16bf215546Sopenharmony_ci#ifdef __cplusplus
17bf215546Sopenharmony_ciextern "C" {
18bf215546Sopenharmony_ci#endif
19bf215546Sopenharmony_ci
20bf215546Sopenharmony_ci
21bf215546Sopenharmony_ci
22bf215546Sopenharmony_ci#define VK_KHR_wayland_surface 1
23bf215546Sopenharmony_ci#define VK_KHR_WAYLAND_SURFACE_SPEC_VERSION 6
24bf215546Sopenharmony_ci#define VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME "VK_KHR_wayland_surface"
25bf215546Sopenharmony_citypedef VkFlags VkWaylandSurfaceCreateFlagsKHR;
26bf215546Sopenharmony_citypedef struct VkWaylandSurfaceCreateInfoKHR {
27bf215546Sopenharmony_ci    VkStructureType                   sType;
28bf215546Sopenharmony_ci    const void*                       pNext;
29bf215546Sopenharmony_ci    VkWaylandSurfaceCreateFlagsKHR    flags;
30bf215546Sopenharmony_ci    struct wl_display*                display;
31bf215546Sopenharmony_ci    struct wl_surface*                surface;
32bf215546Sopenharmony_ci} VkWaylandSurfaceCreateInfoKHR;
33bf215546Sopenharmony_ci
34bf215546Sopenharmony_citypedef VkResult (VKAPI_PTR *PFN_vkCreateWaylandSurfaceKHR)(VkInstance instance, const VkWaylandSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
35bf215546Sopenharmony_citypedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, struct wl_display* display);
36bf215546Sopenharmony_ci
37bf215546Sopenharmony_ci#ifndef VK_NO_PROTOTYPES
38bf215546Sopenharmony_ciVKAPI_ATTR VkResult VKAPI_CALL vkCreateWaylandSurfaceKHR(
39bf215546Sopenharmony_ci    VkInstance                                  instance,
40bf215546Sopenharmony_ci    const VkWaylandSurfaceCreateInfoKHR*        pCreateInfo,
41bf215546Sopenharmony_ci    const VkAllocationCallbacks*                pAllocator,
42bf215546Sopenharmony_ci    VkSurfaceKHR*                               pSurface);
43bf215546Sopenharmony_ci
44bf215546Sopenharmony_ciVKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceWaylandPresentationSupportKHR(
45bf215546Sopenharmony_ci    VkPhysicalDevice                            physicalDevice,
46bf215546Sopenharmony_ci    uint32_t                                    queueFamilyIndex,
47bf215546Sopenharmony_ci    struct wl_display*                          display);
48bf215546Sopenharmony_ci#endif
49bf215546Sopenharmony_ci
50bf215546Sopenharmony_ci#ifdef __cplusplus
51bf215546Sopenharmony_ci}
52bf215546Sopenharmony_ci#endif
53bf215546Sopenharmony_ci
54bf215546Sopenharmony_ci#endif
55