1 /*
2  * Copyright (c) 2015-2017 The Khronos Group Inc.
3  * Copyright (c) 2015-2017 Valve Corporation
4  * Copyright (c) 2015-2017 LunarG, Inc.
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  *     http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  *
18  * Author: Mark Young <marky@lunarg.com>
19  */
20 
21 #pragma once
22 
23 // ---- Manually added trampoline/terminator functions
24 
25 // These functions, for whatever reason, require more complex changes than
26 // can easily be automatically generated.
27 
28 VKAPI_ATTR VkResult VKAPI_CALL EnumeratePhysicalDeviceGroupsKHX(
29     VkInstance instance, uint32_t *pPhysicalDeviceGroupCount,
30     VkPhysicalDeviceGroupPropertiesKHX *pPhysicalDeviceGroupProperties);
31 
32 VKAPI_ATTR VkResult VKAPI_CALL terminator_EnumeratePhysicalDeviceGroupsKHX(
33     VkInstance instance, uint32_t *pPhysicalDeviceGroupCount,
34     VkPhysicalDeviceGroupPropertiesKHX *pPhysicalDeviceGroupProperties);
35 
36 VKAPI_ATTR VkResult VKAPI_CALL
37 GetPhysicalDeviceExternalImageFormatPropertiesNV(
38     VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type,
39     VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags,
40     VkExternalMemoryHandleTypeFlagsNV externalHandleType,
41     VkExternalImageFormatPropertiesNV *pExternalImageFormatProperties);
42 
43 VKAPI_ATTR VkResult VKAPI_CALL
44 terminator_GetPhysicalDeviceExternalImageFormatPropertiesNV(
45     VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type,
46     VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags,
47     VkExternalMemoryHandleTypeFlagsNV externalHandleType,
48     VkExternalImageFormatPropertiesNV *pExternalImageFormatProperties);
49 
50 VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceFeatures2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2KHR* pFeatures);
51 
52 VKAPI_ATTR void VKAPI_CALL terminator_GetPhysicalDeviceFeatures2KHR(VkPhysicalDevice physicalDevice,
53                                                                     VkPhysicalDeviceFeatures2KHR* pFeatures);
54 
55 VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceProperties2KHR(VkPhysicalDevice physicalDevice,
56                                                            VkPhysicalDeviceProperties2KHR* pProperties);
57 
58 VKAPI_ATTR void VKAPI_CALL terminator_GetPhysicalDeviceProperties2KHR(VkPhysicalDevice physicalDevice,
59                                                                       VkPhysicalDeviceProperties2KHR* pProperties);
60 
61 VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceFormatProperties2KHR(VkPhysicalDevice physicalDevice, VkFormat format,
62                                                                  VkFormatProperties2KHR* pFormatProperties);
63 
64 VKAPI_ATTR void VKAPI_CALL terminator_GetPhysicalDeviceFormatProperties2KHR(VkPhysicalDevice physicalDevice, VkFormat format,
65                                                                             VkFormatProperties2KHR* pFormatProperties);
66 
67 VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceImageFormatProperties2KHR(
68     VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2KHR* pImageFormatInfo,
69     VkImageFormatProperties2KHR* pImageFormatProperties);
70 
71 VKAPI_ATTR VkResult VKAPI_CALL terminator_GetPhysicalDeviceImageFormatProperties2KHR(
72     VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2KHR* pImageFormatInfo,
73     VkImageFormatProperties2KHR* pImageFormatProperties);
74 
75 VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceQueueFamilyProperties2KHR(VkPhysicalDevice physicalDevice,
76                                                                       uint32_t* pQueueFamilyPropertyCount,
77                                                                       VkQueueFamilyProperties2KHR* pQueueFamilyProperties);
78 
79 VKAPI_ATTR void VKAPI_CALL terminator_GetPhysicalDeviceQueueFamilyProperties2KHR(
80     VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2KHR* pQueueFamilyProperties);
81 
82 VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceMemoryProperties2KHR(VkPhysicalDevice physicalDevice,
83                                                                  VkPhysicalDeviceMemoryProperties2KHR* pMemoryProperties);
84 
85 VKAPI_ATTR void VKAPI_CALL terminator_GetPhysicalDeviceMemoryProperties2KHR(
86     VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2KHR* pMemoryProperties);
87 
88 VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceSparseImageFormatProperties2KHR(
89     VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2KHR* pFormatInfo, uint32_t* pPropertyCount,
90     VkSparseImageFormatProperties2KHR* pProperties);
91 
92 VKAPI_ATTR void VKAPI_CALL terminator_GetPhysicalDeviceSparseImageFormatProperties2KHR(
93     VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2KHR* pFormatInfo, uint32_t* pPropertyCount,
94     VkSparseImageFormatProperties2KHR* pProperties);
95 
96 VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfaceCapabilities2KHR(VkPhysicalDevice physicalDevice,
97                                                                         const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
98                                                                         VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
99 
100 VKAPI_ATTR VkResult VKAPI_CALL terminator_GetPhysicalDeviceSurfaceCapabilities2KHR(
101     VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
102     VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
103 
104 VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfaceFormats2KHR(VkPhysicalDevice physicalDevice,
105                                                                    const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
106                                                                    uint32_t* pSurfaceFormatCount,
107                                                                    VkSurfaceFormat2KHR* pSurfaceFormats);
108 
109 VKAPI_ATTR VkResult VKAPI_CALL terminator_GetPhysicalDeviceSurfaceFormats2KHR(VkPhysicalDevice physicalDevice,
110                                                                               const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
111                                                                               uint32_t* pSurfaceFormatCount,
112                                                                               VkSurfaceFormat2KHR* pSurfaceFormats);
113 
114 VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfaceCapabilities2EXT(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface,
115                                                                         VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
116 
117 VKAPI_ATTR VkResult VKAPI_CALL terminator_GetPhysicalDeviceSurfaceCapabilities2EXT(VkPhysicalDevice physicalDevice,
118                                                                                    VkSurfaceKHR surface,
119                                                                                    VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
120 
121 VKAPI_ATTR VkResult VKAPI_CALL ReleaseDisplayEXT(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
122 
123 VKAPI_ATTR VkResult VKAPI_CALL terminator_ReleaseDisplayEXT(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
124 
125 #ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT
126 VKAPI_ATTR VkResult VKAPI_CALL AcquireXlibDisplayEXT(VkPhysicalDevice physicalDevice, Display* dpy, VkDisplayKHR display);
127 
128 VKAPI_ATTR VkResult VKAPI_CALL terminator_AcquireXlibDisplayEXT(VkPhysicalDevice physicalDevice, Display* dpy,
129                                                                 VkDisplayKHR display);
130 
131 VKAPI_ATTR VkResult VKAPI_CALL GetRandROutputDisplayEXT(VkPhysicalDevice physicalDevice, Display* dpy, RROutput rrOutput,
132                                                         VkDisplayKHR* pDisplay);
133 
134 VKAPI_ATTR VkResult VKAPI_CALL terminator_GetRandROutputDisplayEXT(VkPhysicalDevice physicalDevice, Display* dpy, RROutput rrOutput,
135                                                                    VkDisplayKHR* pDisplay);
136 #endif  // VK_USE_PLATFORM_XLIB_XRANDR_EXT
137 
138 VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceExternalBufferPropertiesKHR(
139     VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfoKHR* pExternalBufferInfo,
140     VkExternalBufferPropertiesKHR* pExternalBufferProperties);
141 
142 VKAPI_ATTR void VKAPI_CALL terminator_GetPhysicalDeviceExternalBufferPropertiesKHR(
143     VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfoKHR* pExternalBufferInfo,
144     VkExternalBufferPropertiesKHR* pExternalBufferProperties);
145 
146 VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceExternalSemaphorePropertiesKHR(
147     VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfoKHR* pExternalSemaphoreInfo,
148     VkExternalSemaphorePropertiesKHR* pExternalSemaphoreProperties);
149 
150 VKAPI_ATTR void VKAPI_CALL terminator_GetPhysicalDeviceExternalSemaphorePropertiesKHR(
151     VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfoKHR* pExternalSemaphoreInfo,
152     VkExternalSemaphorePropertiesKHR* pExternalSemaphoreProperties);
153 
154 VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceExternalFencePropertiesKHR(
155     VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfoKHR* pExternalFenceInfo,
156     VkExternalFencePropertiesKHR* pExternalFenceProperties);
157 
158 VKAPI_ATTR void VKAPI_CALL terminator_GetPhysicalDeviceExternalFencePropertiesKHR(
159     VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfoKHR* pExternalFenceInfo,
160     VkExternalFencePropertiesKHR* pExternalFenceProperties);
161