1b8e80941Smrg#ifndef VULKAN_XCB_H_ 2b8e80941Smrg#define VULKAN_XCB_H_ 1 3b8e80941Smrg 4b8e80941Smrg#ifdef __cplusplus 5b8e80941Smrgextern "C" { 6b8e80941Smrg#endif 7b8e80941Smrg 8b8e80941Smrg/* 9b8e80941Smrg** Copyright (c) 2015-2019 The Khronos Group Inc. 10b8e80941Smrg** 11b8e80941Smrg** Licensed under the Apache License, Version 2.0 (the "License"); 12b8e80941Smrg** you may not use this file except in compliance with the License. 13b8e80941Smrg** You may obtain a copy of the License at 14b8e80941Smrg** 15b8e80941Smrg** http://www.apache.org/licenses/LICENSE-2.0 16b8e80941Smrg** 17b8e80941Smrg** Unless required by applicable law or agreed to in writing, software 18b8e80941Smrg** distributed under the License is distributed on an "AS IS" BASIS, 19b8e80941Smrg** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 20b8e80941Smrg** See the License for the specific language governing permissions and 21b8e80941Smrg** limitations under the License. 22b8e80941Smrg*/ 23b8e80941Smrg 24b8e80941Smrg/* 25b8e80941Smrg** This header is generated from the Khronos Vulkan XML API Registry. 26b8e80941Smrg** 27b8e80941Smrg*/ 28b8e80941Smrg 29b8e80941Smrg 30b8e80941Smrg 31b8e80941Smrg#define VK_KHR_xcb_surface 1 32b8e80941Smrg#define VK_KHR_XCB_SURFACE_SPEC_VERSION 6 33b8e80941Smrg#define VK_KHR_XCB_SURFACE_EXTENSION_NAME "VK_KHR_xcb_surface" 34b8e80941Smrgtypedef VkFlags VkXcbSurfaceCreateFlagsKHR; 35b8e80941Smrgtypedef struct VkXcbSurfaceCreateInfoKHR { 36b8e80941Smrg VkStructureType sType; 37b8e80941Smrg const void* pNext; 38b8e80941Smrg VkXcbSurfaceCreateFlagsKHR flags; 39b8e80941Smrg xcb_connection_t* connection; 40b8e80941Smrg xcb_window_t window; 41b8e80941Smrg} VkXcbSurfaceCreateInfoKHR; 42b8e80941Smrg 43b8e80941Smrgtypedef VkResult (VKAPI_PTR *PFN_vkCreateXcbSurfaceKHR)(VkInstance instance, const VkXcbSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); 44b8e80941Smrgtypedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, xcb_connection_t* connection, xcb_visualid_t visual_id); 45b8e80941Smrg 46b8e80941Smrg#ifndef VK_NO_PROTOTYPES 47b8e80941SmrgVKAPI_ATTR VkResult VKAPI_CALL vkCreateXcbSurfaceKHR( 48b8e80941Smrg VkInstance instance, 49b8e80941Smrg const VkXcbSurfaceCreateInfoKHR* pCreateInfo, 50b8e80941Smrg const VkAllocationCallbacks* pAllocator, 51b8e80941Smrg VkSurfaceKHR* pSurface); 52b8e80941Smrg 53b8e80941SmrgVKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceXcbPresentationSupportKHR( 54b8e80941Smrg VkPhysicalDevice physicalDevice, 55b8e80941Smrg uint32_t queueFamilyIndex, 56b8e80941Smrg xcb_connection_t* connection, 57b8e80941Smrg xcb_visualid_t visual_id); 58b8e80941Smrg#endif 59b8e80941Smrg 60b8e80941Smrg#ifdef __cplusplus 61b8e80941Smrg} 62b8e80941Smrg#endif 63b8e80941Smrg 64b8e80941Smrg#endif 65