101e04c3fSmrg#ifndef VULKAN_WAYLAND_H_
201e04c3fSmrg#define VULKAN_WAYLAND_H_ 1
301e04c3fSmrg
401e04c3fSmrg/*
57ec681f3Smrg** Copyright 2015-2021 The Khronos Group Inc.
601e04c3fSmrg**
77ec681f3Smrg** SPDX-License-Identifier: Apache-2.0
801e04c3fSmrg*/
901e04c3fSmrg
1001e04c3fSmrg/*
1101e04c3fSmrg** This header is generated from the Khronos Vulkan XML API Registry.
1201e04c3fSmrg**
1301e04c3fSmrg*/
1401e04c3fSmrg
1501e04c3fSmrg
167ec681f3Smrg#ifdef __cplusplus
177ec681f3Smrgextern "C" {
187ec681f3Smrg#endif
197ec681f3Smrg
207ec681f3Smrg
21ed98bd31Smaya
2201e04c3fSmrg#define VK_KHR_wayland_surface 1
2301e04c3fSmrg#define VK_KHR_WAYLAND_SURFACE_SPEC_VERSION 6
2401e04c3fSmrg#define VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME "VK_KHR_wayland_surface"
2501e04c3fSmrgtypedef VkFlags VkWaylandSurfaceCreateFlagsKHR;
2601e04c3fSmrgtypedef struct VkWaylandSurfaceCreateInfoKHR {
2701e04c3fSmrg    VkStructureType                   sType;
2801e04c3fSmrg    const void*                       pNext;
2901e04c3fSmrg    VkWaylandSurfaceCreateFlagsKHR    flags;
3001e04c3fSmrg    struct wl_display*                display;
3101e04c3fSmrg    struct wl_surface*                surface;
3201e04c3fSmrg} VkWaylandSurfaceCreateInfoKHR;
3301e04c3fSmrg
3401e04c3fSmrgtypedef VkResult (VKAPI_PTR *PFN_vkCreateWaylandSurfaceKHR)(VkInstance instance, const VkWaylandSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
3501e04c3fSmrgtypedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, struct wl_display* display);
3601e04c3fSmrg
3701e04c3fSmrg#ifndef VK_NO_PROTOTYPES
3801e04c3fSmrgVKAPI_ATTR VkResult VKAPI_CALL vkCreateWaylandSurfaceKHR(
3901e04c3fSmrg    VkInstance                                  instance,
4001e04c3fSmrg    const VkWaylandSurfaceCreateInfoKHR*        pCreateInfo,
4101e04c3fSmrg    const VkAllocationCallbacks*                pAllocator,
4201e04c3fSmrg    VkSurfaceKHR*                               pSurface);
4301e04c3fSmrg
4401e04c3fSmrgVKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceWaylandPresentationSupportKHR(
4501e04c3fSmrg    VkPhysicalDevice                            physicalDevice,
4601e04c3fSmrg    uint32_t                                    queueFamilyIndex,
4701e04c3fSmrg    struct wl_display*                          display);
4801e04c3fSmrg#endif
4901e04c3fSmrg
5001e04c3fSmrg#ifdef __cplusplus
5101e04c3fSmrg}
5201e04c3fSmrg#endif
5301e04c3fSmrg
5401e04c3fSmrg#endif
55