|  | #ifndef VULKAN_XLIB_H_ | 
|  | #define VULKAN_XLIB_H_ 1 | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | extern "C" { | 
|  | #endif | 
|  |  | 
|  | /* | 
|  | ** Copyright (c) 2015-2018 The Khronos Group Inc. | 
|  | ** | 
|  | ** Licensed under the Apache License, Version 2.0 (the "License"); | 
|  | ** you may not use this file except in compliance with the License. | 
|  | ** You may obtain a copy of the License at | 
|  | ** | 
|  | **     http://www.apache.org/licenses/LICENSE-2.0 | 
|  | ** | 
|  | ** Unless required by applicable law or agreed to in writing, software | 
|  | ** distributed under the License is distributed on an "AS IS" BASIS, | 
|  | ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
|  | ** See the License for the specific language governing permissions and | 
|  | ** limitations under the License. | 
|  | */ | 
|  |  | 
|  | /* | 
|  | ** This header is generated from the Khronos Vulkan XML API Registry. | 
|  | ** | 
|  | */ | 
|  |  | 
|  |  | 
|  | #define VK_KHR_xlib_surface 1 | 
|  | #define VK_KHR_XLIB_SURFACE_SPEC_VERSION  6 | 
|  | #define VK_KHR_XLIB_SURFACE_EXTENSION_NAME "VK_KHR_xlib_surface" | 
|  |  | 
|  | typedef VkFlags VkXlibSurfaceCreateFlagsKHR; | 
|  |  | 
|  | typedef struct VkXlibSurfaceCreateInfoKHR { | 
|  | VkStructureType                sType; | 
|  | const void*                    pNext; | 
|  | VkXlibSurfaceCreateFlagsKHR    flags; | 
|  | Display*                       dpy; | 
|  | Window                         window; | 
|  | } VkXlibSurfaceCreateInfoKHR; | 
|  |  | 
|  |  | 
|  | typedef VkResult (VKAPI_PTR *PFN_vkCreateXlibSurfaceKHR)(VkInstance instance, const VkXlibSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); | 
|  | typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, Display* dpy, VisualID visualID); | 
|  |  | 
|  | #ifndef VK_NO_PROTOTYPES | 
|  | VKAPI_ATTR VkResult VKAPI_CALL vkCreateXlibSurfaceKHR( | 
|  | VkInstance                                  instance, | 
|  | const VkXlibSurfaceCreateInfoKHR*           pCreateInfo, | 
|  | const VkAllocationCallbacks*                pAllocator, | 
|  | VkSurfaceKHR*                               pSurface); | 
|  |  | 
|  | VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceXlibPresentationSupportKHR( | 
|  | VkPhysicalDevice                            physicalDevice, | 
|  | uint32_t                                    queueFamilyIndex, | 
|  | Display*                                    dpy, | 
|  | VisualID                                    visualID); | 
|  | #endif | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | } | 
|  | #endif | 
|  |  | 
|  | #endif |