blob: 87f870a8e27eef006dcdb0b90b6886d9a97d6e5b [file] [log] [blame]
Ian Elliott1d73e662015-07-06 14:36:13 -06001/*
Ian Elliott1d73e662015-07-06 14:36:13 -06002 *
Courtney Goeltzenleuchter8a17da52015-10-29 13:50:34 -06003 * Copyright (C) 2015 Valve Corporation
Ian Elliott1d73e662015-07-06 14:36:13 -06004 *
5 * Permission is hereby granted, free of charge, to any person obtaining a
6 * copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 * and/or sell copies of the Software, and to permit persons to whom the
10 * Software is furnished to do so, subject to the following conditions:
11 *
12 * The above copyright notice and this permission notice shall be included
13 * in all copies or substantial portions of the Software.
14 *
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21 * DEALINGS IN THE SOFTWARE.
22 *
Courtney Goeltzenleuchter96cd7952015-10-30 11:14:30 -060023 * Author: Ian Elliott <ian@lunarg.com>
24 *
Ian Elliott1d73e662015-07-06 14:36:13 -060025 */
26
27#include "vk_loader_platform.h"
28#include "loader.h"
Ian Elliott1d73e662015-07-06 14:36:13 -060029
Jon Ashburn99456002015-11-06 11:02:40 -070030bool wsi_swapchain_instance_gpa(struct loader_instance *ptr_instance,
31 const char* name, void **addr);
Ian Elliotta81e8ac2015-10-30 15:28:23 -060032void wsi_add_instance_extensions(
33 const struct loader_instance *inst,
34 struct loader_extension_list *ext_list);
Ian Elliott1d73e662015-07-06 14:36:13 -060035
Ian Elliotta81e8ac2015-10-30 15:28:23 -060036void wsi_create_instance(
37 struct loader_instance *ptr_instance,
38 const VkInstanceCreateInfo *pCreateInfo);
Ian Elliott1d73e662015-07-06 14:36:13 -060039
Ian Elliott1d73e662015-07-06 14:36:13 -060040
Chia-I Wuaf9e4fd2015-11-06 06:42:02 +080041VKAPI_ATTR VkResult VKAPI_CALL loader_GetPhysicalDeviceSurfaceSupportKHR(
Ian Elliott57237922015-11-17 17:46:38 -070042 VkPhysicalDevice physicalDevice,
43 uint32_t queueFamilyIndex,
44 VkSurfaceKHR surface,
45 VkBool32* pSupported);
Ian Elliott8cda1802015-11-19 16:05:09 -070046
47VKAPI_ATTR VkResult VKAPI_CALL loader_GetPhysicalDeviceSurfaceCapabilitiesKHR(
48 VkPhysicalDevice physicalDevice,
49 VkSurfaceKHR surface,
50 VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
51
52VKAPI_ATTR VkResult VKAPI_CALL loader_GetPhysicalDeviceSurfaceFormatsKHR(
53 VkPhysicalDevice physicalDevice,
54 VkSurfaceKHR surface,
55 uint32_t* pSurfaceFormatCount,
56 VkSurfaceFormatKHR* pSurfaceFormats);
57
58VKAPI_ATTR VkResult VKAPI_CALL loader_GetPhysicalDeviceSurfacePresentModesKHR(
59 VkPhysicalDevice physicalDevice,
60 VkSurfaceKHR surface,
61 uint32_t* pPresentModeCount,
62 VkPresentModeKHR* pPresentModes);
Ian Elliott4e309e92015-11-24 15:39:10 -070063
64#ifdef VK_USE_PLATFORM_WIN32_KHR
65VKAPI_ATTR VkBool32 VKAPI_CALL loader_GetPhysicalDeviceWin32PresentationSupportKHR(
66 VkPhysicalDevice physicalDevice,
67 uint32_t queueFamilyIndex);
68#endif
69#ifdef VK_USE_PLATFORM_MIR_KHR
70VKAPI_ATTR VkBool32 VKAPI_CALL loader_GetPhysicalDeviceMirPresentationSupportKHR(
71 VkPhysicalDevice physicalDevice,
72 uint32_t queueFamilyIndex,
73 MirConnection* connection);
74#endif
75#ifdef VK_USE_PLATFORM_WAYLAND_KHR
76VKAPI_ATTR VkBool32 VKAPI_CALL loader_GetPhysicalDeviceWaylandPresentationSupportKHR(
77 VkPhysicalDevice physicalDevice,
78 uint32_t queueFamilyIndex,
79 struct wl_display* display);
80#endif
81#ifdef VK_USE_PLATFORM_XCB_KHR
82VKAPI_ATTR VkBool32 VKAPI_CALL loader_GetPhysicalDeviceXcbPresentationSupportKHR(
83 VkPhysicalDevice physicalDevice,
84 uint32_t queueFamilyIndex,
85 xcb_connection_t* connection,
86 xcb_visualid_t visual_id);
87#endif
88#ifdef VK_USE_PLATFORM_XLIB_KHR
89VKAPI_ATTR VkBool32 VKAPI_CALL loader_GetPhysicalDeviceXlibPresentationSupportKHR(
90 VkPhysicalDevice physicalDevice,
91 uint32_t queueFamilyIndex,
92 Display* dpy,
93 VisualID visualID);
94#endif