Home | History | Annotate | Download | only in loader
      1 /*
      2  * Copyright (c) 2015-2016 The Khronos Group Inc.
      3  * Copyright (c) 2015-2016 Valve Corporation
      4  * Copyright (c) 2015-2016 LunarG, Inc.
      5  *
      6  * Permission is hereby granted, free of charge, to any person obtaining a copy
      7  * of this software and/or associated documentation files (the "Materials"), to
      8  * deal in the Materials without restriction, including without limitation the
      9  * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
     10  * sell copies of the Materials, and to permit persons to whom the Materials are
     11  * furnished to do so, subject to the following conditions:
     12  *
     13  * The above copyright notice(s) and this permission notice shall be included in
     14  * all copies or substantial portions of the Materials.
     15  *
     16  * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     17  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     18  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
     19  *
     20  * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
     21  * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
     22  * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE
     23  * USE OR OTHER DEALINGS IN THE MATERIALS.
     24  *
     25  * Author: Ian Elliott <ian (at) lunarg.com>
     26  *
     27  */
     28 
     29 #include "vk_loader_platform.h"
     30 #include "loader.h"
     31 
     32 bool wsi_swapchain_instance_gpa(struct loader_instance *ptr_instance,
     33                                 const char *name, void **addr);
     34 void wsi_add_instance_extensions(const struct loader_instance *inst,
     35                                  struct loader_extension_list *ext_list);
     36 
     37 void wsi_create_instance(struct loader_instance *ptr_instance,
     38                          const VkInstanceCreateInfo *pCreateInfo);
     39 
     40 VKAPI_ATTR void VKAPI_CALL
     41 terminator_DestroySurfaceKHR(VkInstance instance, VkSurfaceKHR surface,
     42                              const VkAllocationCallbacks *pAllocator);
     43 
     44 VKAPI_ATTR VkResult VKAPI_CALL
     45 terminator_GetPhysicalDeviceSurfaceSupportKHR(VkPhysicalDevice physicalDevice,
     46                                               uint32_t queueFamilyIndex,
     47                                               VkSurfaceKHR surface,
     48                                               VkBool32 *pSupported);
     49 
     50 VKAPI_ATTR VkResult VKAPI_CALL
     51 terminator_GetPhysicalDeviceSurfaceCapabilitiesKHR(
     52     VkPhysicalDevice physicalDevice, VkSurfaceKHR surface,
     53     VkSurfaceCapabilitiesKHR *pSurfaceCapabilities);
     54 
     55 VKAPI_ATTR VkResult VKAPI_CALL terminator_GetPhysicalDeviceSurfaceFormatsKHR(
     56     VkPhysicalDevice physicalDevice, VkSurfaceKHR surface,
     57     uint32_t *pSurfaceFormatCount, VkSurfaceFormatKHR *pSurfaceFormats);
     58 
     59 VKAPI_ATTR VkResult VKAPI_CALL
     60 terminator_GetPhysicalDeviceSurfacePresentModesKHR(
     61     VkPhysicalDevice physicalDevice, VkSurfaceKHR surface,
     62     uint32_t *pPresentModeCount, VkPresentModeKHR *pPresentModes);
     63 
     64 #ifdef VK_USE_PLATFORM_WIN32_KHR
     65 VKAPI_ATTR VkResult VKAPI_CALL
     66 terminator_CreateWin32SurfaceKHR(VkInstance instance,
     67                                  const VkWin32SurfaceCreateInfoKHR *pCreateInfo,
     68                                  const VkAllocationCallbacks *pAllocator,
     69                                  VkSurfaceKHR *pSurface);
     70 VKAPI_ATTR VkBool32 VKAPI_CALL
     71 terminator_GetPhysicalDeviceWin32PresentationSupportKHR(
     72     VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex);
     73 #endif
     74 #ifdef VK_USE_PLATFORM_MIR_KHR
     75 VKAPI_ATTR VkResult VKAPI_CALL
     76 terminator_CreateMirSurfaceKHR(VkInstance instance,
     77                                const VkMirSurfaceCreateInfoKHR *pCreateInfo,
     78                                const VkAllocationCallbacks *pAllocator,
     79                                VkSurfaceKHR *pSurface);
     80 VKAPI_ATTR VkBool32 VKAPI_CALL
     81 terminator_GetPhysicalDeviceMirPresentationSupportKHR(
     82     VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex,
     83     MirConnection *connection);
     84 #endif
     85 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
     86 VKAPI_ATTR VkResult VKAPI_CALL terminator_CreateWaylandSurfaceKHR(
     87     VkInstance instance, const VkWaylandSurfaceCreateInfoKHR *pCreateInfo,
     88     const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface);
     89 VKAPI_ATTR VkBool32 VKAPI_CALL
     90 terminator_GetPhysicalDeviceWaylandPresentationSupportKHR(
     91     VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex,
     92     struct wl_display *display);
     93 #endif
     94 #ifdef VK_USE_PLATFORM_XCB_KHR
     95 VKAPI_ATTR VkResult VKAPI_CALL
     96 terminator_CreateXcbSurfaceKHR(VkInstance instance,
     97                                const VkXcbSurfaceCreateInfoKHR *pCreateInfo,
     98                                const VkAllocationCallbacks *pAllocator,
     99                                VkSurfaceKHR *pSurface);
    100 
    101 VKAPI_ATTR VkBool32 VKAPI_CALL
    102 terminator_GetPhysicalDeviceXcbPresentationSupportKHR(
    103     VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex,
    104     xcb_connection_t *connection, xcb_visualid_t visual_id);
    105 #endif
    106 #ifdef VK_USE_PLATFORM_XLIB_KHR
    107 VKAPI_ATTR VkResult VKAPI_CALL
    108 terminator_CreateXlibSurfaceKHR(VkInstance instance,
    109                                 const VkXlibSurfaceCreateInfoKHR *pCreateInfo,
    110                                 const VkAllocationCallbacks *pAllocator,
    111                                 VkSurfaceKHR *pSurface);
    112 VKAPI_ATTR VkBool32 VKAPI_CALL
    113 terminator_GetPhysicalDeviceXlibPresentationSupportKHR(
    114     VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, Display *dpy,
    115     VisualID visualID);
    116 #endif
    117 VKAPI_ATTR VkResult VKAPI_CALL
    118 terminator_GetPhysicalDeviceDisplayPropertiesKHR(
    119     VkPhysicalDevice                            physicalDevice,
    120     uint32_t*                                   pPropertyCount,
    121     VkDisplayPropertiesKHR*                     pProperties);
    122 VKAPI_ATTR VkResult VKAPI_CALL
    123 terminator_GetPhysicalDeviceDisplayPlanePropertiesKHR(
    124     VkPhysicalDevice                            physicalDevice,
    125     uint32_t*                                   pPropertyCount,
    126     VkDisplayPlanePropertiesKHR*                pProperties);
    127 VKAPI_ATTR VkResult VKAPI_CALL
    128 terminator_GetDisplayPlaneSupportedDisplaysKHR(
    129     VkPhysicalDevice                            physicalDevice,
    130     uint32_t                                    planeIndex,
    131     uint32_t*                                   pDisplayCount,
    132     VkDisplayKHR*                               pDisplays);
    133 VKAPI_ATTR VkResult VKAPI_CALL
    134 terminator_GetDisplayModePropertiesKHR(
    135     VkPhysicalDevice                            physicalDevice,
    136     VkDisplayKHR                                display,
    137     uint32_t*                                   pPropertyCount,
    138     VkDisplayModePropertiesKHR*                 pProperties);
    139 VKAPI_ATTR VkResult VKAPI_CALL
    140 terminator_CreateDisplayModeKHR(
    141     VkPhysicalDevice                            physicalDevice,
    142     VkDisplayKHR                                display,
    143     const VkDisplayModeCreateInfoKHR*           pCreateInfo,
    144     const VkAllocationCallbacks*                pAllocator,
    145     VkDisplayModeKHR*                           pMode);
    146 VKAPI_ATTR VkResult VKAPI_CALL
    147 terminator_GetDisplayPlaneCapabilitiesKHR(
    148     VkPhysicalDevice                            physicalDevice,
    149     VkDisplayModeKHR                            mode,
    150     uint32_t                                    planeIndex,
    151     VkDisplayPlaneCapabilitiesKHR*              pCapabilities);
    152 VKAPI_ATTR VkResult VKAPI_CALL
    153 terminator_CreateDisplayPlaneSurfaceKHR(
    154     VkInstance                                  instance,
    155     const VkDisplaySurfaceCreateInfoKHR*        pCreateInfo,
    156     const VkAllocationCallbacks*                pAllocator,
    157     VkSurfaceKHR*                               pSurface);