101e04c3fSmrg#ifndef VULKAN_XLIB_H_
201e04c3fSmrg#define VULKAN_XLIB_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_xlib_surface 1
2301e04c3fSmrg#define VK_KHR_XLIB_SURFACE_SPEC_VERSION  6
2401e04c3fSmrg#define VK_KHR_XLIB_SURFACE_EXTENSION_NAME "VK_KHR_xlib_surface"
2501e04c3fSmrgtypedef VkFlags VkXlibSurfaceCreateFlagsKHR;
2601e04c3fSmrgtypedef struct VkXlibSurfaceCreateInfoKHR {
2701e04c3fSmrg    VkStructureType                sType;
2801e04c3fSmrg    const void*                    pNext;
2901e04c3fSmrg    VkXlibSurfaceCreateFlagsKHR    flags;
3001e04c3fSmrg    Display*                       dpy;
3101e04c3fSmrg    Window                         window;
3201e04c3fSmrg} VkXlibSurfaceCreateInfoKHR;
3301e04c3fSmrg
3401e04c3fSmrgtypedef VkResult (VKAPI_PTR *PFN_vkCreateXlibSurfaceKHR)(VkInstance instance, const VkXlibSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
3501e04c3fSmrgtypedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, Display* dpy, VisualID visualID);
3601e04c3fSmrg
3701e04c3fSmrg#ifndef VK_NO_PROTOTYPES
3801e04c3fSmrgVKAPI_ATTR VkResult VKAPI_CALL vkCreateXlibSurfaceKHR(
3901e04c3fSmrg    VkInstance                                  instance,
4001e04c3fSmrg    const VkXlibSurfaceCreateInfoKHR*           pCreateInfo,
4101e04c3fSmrg    const VkAllocationCallbacks*                pAllocator,
4201e04c3fSmrg    VkSurfaceKHR*                               pSurface);
4301e04c3fSmrg
4401e04c3fSmrgVKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceXlibPresentationSupportKHR(
4501e04c3fSmrg    VkPhysicalDevice                            physicalDevice,
4601e04c3fSmrg    uint32_t                                    queueFamilyIndex,
4701e04c3fSmrg    Display*                                    dpy,
4801e04c3fSmrg    VisualID                                    visualID);
4901e04c3fSmrg#endif
5001e04c3fSmrg
5101e04c3fSmrg#ifdef __cplusplus
5201e04c3fSmrg}
5301e04c3fSmrg#endif
5401e04c3fSmrg
5501e04c3fSmrg#endif
56