diff options
Diffstat (limited to 'contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_win32.h')
| -rw-r--r-- | contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_win32.h | 342 |
1 files changed, 342 insertions, 0 deletions
diff --git a/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_win32.h b/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_win32.h new file mode 100644 index 0000000..d7a0b2b --- /dev/null +++ b/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_win32.h | |||
| @@ -0,0 +1,342 @@ | |||
| 1 | #ifndef VULKAN_WIN32_H_ | ||
| 2 | #define VULKAN_WIN32_H_ 1 | ||
| 3 | |||
| 4 | /* | ||
| 5 | ** Copyright 2015-2024 The Khronos Group Inc. | ||
| 6 | ** | ||
| 7 | ** SPDX-License-Identifier: Apache-2.0 | ||
| 8 | */ | ||
| 9 | |||
| 10 | /* | ||
| 11 | ** This header is generated from the Khronos Vulkan XML API Registry. | ||
| 12 | ** | ||
| 13 | */ | ||
| 14 | |||
| 15 | |||
| 16 | #ifdef __cplusplus | ||
| 17 | extern "C" { | ||
| 18 | #endif | ||
| 19 | |||
| 20 | |||
| 21 | |||
| 22 | // VK_KHR_win32_surface is a preprocessor guard. Do not pass it to API calls. | ||
| 23 | #define VK_KHR_win32_surface 1 | ||
| 24 | #define VK_KHR_WIN32_SURFACE_SPEC_VERSION 6 | ||
| 25 | #define VK_KHR_WIN32_SURFACE_EXTENSION_NAME "VK_KHR_win32_surface" | ||
| 26 | typedef VkFlags VkWin32SurfaceCreateFlagsKHR; | ||
| 27 | typedef struct VkWin32SurfaceCreateInfoKHR { | ||
| 28 | VkStructureType sType; | ||
| 29 | const void* pNext; | ||
| 30 | VkWin32SurfaceCreateFlagsKHR flags; | ||
| 31 | HINSTANCE hinstance; | ||
| 32 | HWND hwnd; | ||
| 33 | } VkWin32SurfaceCreateInfoKHR; | ||
| 34 | |||
| 35 | typedef VkResult (VKAPI_PTR *PFN_vkCreateWin32SurfaceKHR)(VkInstance instance, const VkWin32SurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); | ||
| 36 | typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex); | ||
| 37 | |||
| 38 | #ifndef VK_NO_PROTOTYPES | ||
| 39 | VKAPI_ATTR VkResult VKAPI_CALL vkCreateWin32SurfaceKHR( | ||
| 40 | VkInstance instance, | ||
| 41 | const VkWin32SurfaceCreateInfoKHR* pCreateInfo, | ||
| 42 | const VkAllocationCallbacks* pAllocator, | ||
| 43 | VkSurfaceKHR* pSurface); | ||
| 44 | |||
| 45 | VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceWin32PresentationSupportKHR( | ||
| 46 | VkPhysicalDevice physicalDevice, | ||
| 47 | uint32_t queueFamilyIndex); | ||
| 48 | #endif | ||
| 49 | |||
| 50 | |||
| 51 | // VK_KHR_external_memory_win32 is a preprocessor guard. Do not pass it to API calls. | ||
| 52 | #define VK_KHR_external_memory_win32 1 | ||
| 53 | #define VK_KHR_EXTERNAL_MEMORY_WIN32_SPEC_VERSION 1 | ||
| 54 | #define VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME "VK_KHR_external_memory_win32" | ||
| 55 | typedef struct VkImportMemoryWin32HandleInfoKHR { | ||
| 56 | VkStructureType sType; | ||
| 57 | const void* pNext; | ||
| 58 | VkExternalMemoryHandleTypeFlagBits handleType; | ||
| 59 | HANDLE handle; | ||
| 60 | LPCWSTR name; | ||
| 61 | } VkImportMemoryWin32HandleInfoKHR; | ||
| 62 | |||
| 63 | typedef struct VkExportMemoryWin32HandleInfoKHR { | ||
| 64 | VkStructureType sType; | ||
| 65 | const void* pNext; | ||
| 66 | const SECURITY_ATTRIBUTES* pAttributes; | ||
| 67 | DWORD dwAccess; | ||
| 68 | LPCWSTR name; | ||
| 69 | } VkExportMemoryWin32HandleInfoKHR; | ||
| 70 | |||
| 71 | typedef struct VkMemoryWin32HandlePropertiesKHR { | ||
| 72 | VkStructureType sType; | ||
| 73 | void* pNext; | ||
| 74 | uint32_t memoryTypeBits; | ||
| 75 | } VkMemoryWin32HandlePropertiesKHR; | ||
| 76 | |||
| 77 | typedef struct VkMemoryGetWin32HandleInfoKHR { | ||
| 78 | VkStructureType sType; | ||
| 79 | const void* pNext; | ||
| 80 | VkDeviceMemory memory; | ||
| 81 | VkExternalMemoryHandleTypeFlagBits handleType; | ||
| 82 | } VkMemoryGetWin32HandleInfoKHR; | ||
| 83 | |||
| 84 | typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryWin32HandleKHR)(VkDevice device, const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle); | ||
| 85 | typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryWin32HandlePropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, HANDLE handle, VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties); | ||
| 86 | |||
| 87 | #ifndef VK_NO_PROTOTYPES | ||
| 88 | VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryWin32HandleKHR( | ||
| 89 | VkDevice device, | ||
| 90 | const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo, | ||
| 91 | HANDLE* pHandle); | ||
| 92 | |||
| 93 | VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryWin32HandlePropertiesKHR( | ||
| 94 | VkDevice device, | ||
| 95 | VkExternalMemoryHandleTypeFlagBits handleType, | ||
| 96 | HANDLE handle, | ||
| 97 | VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties); | ||
| 98 | #endif | ||
| 99 | |||
| 100 | |||
| 101 | // VK_KHR_win32_keyed_mutex is a preprocessor guard. Do not pass it to API calls. | ||
| 102 | #define VK_KHR_win32_keyed_mutex 1 | ||
| 103 | #define VK_KHR_WIN32_KEYED_MUTEX_SPEC_VERSION 1 | ||
| 104 | #define VK_KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME "VK_KHR_win32_keyed_mutex" | ||
| 105 | typedef struct VkWin32KeyedMutexAcquireReleaseInfoKHR { | ||
| 106 | VkStructureType sType; | ||
| 107 | const void* pNext; | ||
| 108 | uint32_t acquireCount; | ||
| 109 | const VkDeviceMemory* pAcquireSyncs; | ||
| 110 | const uint64_t* pAcquireKeys; | ||
| 111 | const uint32_t* pAcquireTimeouts; | ||
| 112 | uint32_t releaseCount; | ||
| 113 | const VkDeviceMemory* pReleaseSyncs; | ||
| 114 | const uint64_t* pReleaseKeys; | ||
| 115 | } VkWin32KeyedMutexAcquireReleaseInfoKHR; | ||
| 116 | |||
| 117 | |||
| 118 | |||
| 119 | // VK_KHR_external_semaphore_win32 is a preprocessor guard. Do not pass it to API calls. | ||
| 120 | #define VK_KHR_external_semaphore_win32 1 | ||
| 121 | #define VK_KHR_EXTERNAL_SEMAPHORE_WIN32_SPEC_VERSION 1 | ||
| 122 | #define VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME "VK_KHR_external_semaphore_win32" | ||
| 123 | typedef struct VkImportSemaphoreWin32HandleInfoKHR { | ||
| 124 | VkStructureType sType; | ||
| 125 | const void* pNext; | ||
| 126 | VkSemaphore semaphore; | ||
| 127 | VkSemaphoreImportFlags flags; | ||
| 128 | VkExternalSemaphoreHandleTypeFlagBits handleType; | ||
| 129 | HANDLE handle; | ||
| 130 | LPCWSTR name; | ||
| 131 | } VkImportSemaphoreWin32HandleInfoKHR; | ||
| 132 | |||
| 133 | typedef struct VkExportSemaphoreWin32HandleInfoKHR { | ||
| 134 | VkStructureType sType; | ||
| 135 | const void* pNext; | ||
| 136 | const SECURITY_ATTRIBUTES* pAttributes; | ||
| 137 | DWORD dwAccess; | ||
| 138 | LPCWSTR name; | ||
| 139 | } VkExportSemaphoreWin32HandleInfoKHR; | ||
| 140 | |||
| 141 | typedef struct VkD3D12FenceSubmitInfoKHR { | ||
| 142 | VkStructureType sType; | ||
| 143 | const void* pNext; | ||
| 144 | uint32_t waitSemaphoreValuesCount; | ||
| 145 | const uint64_t* pWaitSemaphoreValues; | ||
| 146 | uint32_t signalSemaphoreValuesCount; | ||
| 147 | const uint64_t* pSignalSemaphoreValues; | ||
| 148 | } VkD3D12FenceSubmitInfoKHR; | ||
| 149 | |||
| 150 | typedef struct VkSemaphoreGetWin32HandleInfoKHR { | ||
| 151 | VkStructureType sType; | ||
| 152 | const void* pNext; | ||
| 153 | VkSemaphore semaphore; | ||
| 154 | VkExternalSemaphoreHandleTypeFlagBits handleType; | ||
| 155 | } VkSemaphoreGetWin32HandleInfoKHR; | ||
| 156 | |||
| 157 | typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreWin32HandleKHR)(VkDevice device, const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo); | ||
| 158 | typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreWin32HandleKHR)(VkDevice device, const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle); | ||
| 159 | |||
| 160 | #ifndef VK_NO_PROTOTYPES | ||
| 161 | VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreWin32HandleKHR( | ||
| 162 | VkDevice device, | ||
| 163 | const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo); | ||
| 164 | |||
| 165 | VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreWin32HandleKHR( | ||
| 166 | VkDevice device, | ||
| 167 | const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo, | ||
| 168 | HANDLE* pHandle); | ||
| 169 | #endif | ||
| 170 | |||
| 171 | |||
| 172 | // VK_KHR_external_fence_win32 is a preprocessor guard. Do not pass it to API calls. | ||
| 173 | #define VK_KHR_external_fence_win32 1 | ||
| 174 | #define VK_KHR_EXTERNAL_FENCE_WIN32_SPEC_VERSION 1 | ||
| 175 | #define VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME "VK_KHR_external_fence_win32" | ||
| 176 | typedef struct VkImportFenceWin32HandleInfoKHR { | ||
| 177 | VkStructureType sType; | ||
| 178 | const void* pNext; | ||
| 179 | VkFence fence; | ||
| 180 | VkFenceImportFlags flags; | ||
| 181 | VkExternalFenceHandleTypeFlagBits handleType; | ||
| 182 | HANDLE handle; | ||
| 183 | LPCWSTR name; | ||
| 184 | } VkImportFenceWin32HandleInfoKHR; | ||
| 185 | |||
| 186 | typedef struct VkExportFenceWin32HandleInfoKHR { | ||
| 187 | VkStructureType sType; | ||
| 188 | const void* pNext; | ||
| 189 | const SECURITY_ATTRIBUTES* pAttributes; | ||
| 190 | DWORD dwAccess; | ||
| 191 | LPCWSTR name; | ||
| 192 | } VkExportFenceWin32HandleInfoKHR; | ||
| 193 | |||
| 194 | typedef struct VkFenceGetWin32HandleInfoKHR { | ||
| 195 | VkStructureType sType; | ||
| 196 | const void* pNext; | ||
| 197 | VkFence fence; | ||
| 198 | VkExternalFenceHandleTypeFlagBits handleType; | ||
| 199 | } VkFenceGetWin32HandleInfoKHR; | ||
| 200 | |||
| 201 | typedef VkResult (VKAPI_PTR *PFN_vkImportFenceWin32HandleKHR)(VkDevice device, const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo); | ||
| 202 | typedef VkResult (VKAPI_PTR *PFN_vkGetFenceWin32HandleKHR)(VkDevice device, const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle); | ||
| 203 | |||
| 204 | #ifndef VK_NO_PROTOTYPES | ||
| 205 | VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceWin32HandleKHR( | ||
| 206 | VkDevice device, | ||
| 207 | const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo); | ||
| 208 | |||
| 209 | VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceWin32HandleKHR( | ||
| 210 | VkDevice device, | ||
| 211 | const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo, | ||
| 212 | HANDLE* pHandle); | ||
| 213 | #endif | ||
| 214 | |||
| 215 | |||
| 216 | // VK_NV_external_memory_win32 is a preprocessor guard. Do not pass it to API calls. | ||
| 217 | #define VK_NV_external_memory_win32 1 | ||
| 218 | #define VK_NV_EXTERNAL_MEMORY_WIN32_SPEC_VERSION 1 | ||
| 219 | #define VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME "VK_NV_external_memory_win32" | ||
| 220 | typedef struct VkImportMemoryWin32HandleInfoNV { | ||
| 221 | VkStructureType sType; | ||
| 222 | const void* pNext; | ||
| 223 | VkExternalMemoryHandleTypeFlagsNV handleType; | ||
| 224 | HANDLE handle; | ||
| 225 | } VkImportMemoryWin32HandleInfoNV; | ||
| 226 | |||
| 227 | typedef struct VkExportMemoryWin32HandleInfoNV { | ||
| 228 | VkStructureType sType; | ||
| 229 | const void* pNext; | ||
| 230 | const SECURITY_ATTRIBUTES* pAttributes; | ||
| 231 | DWORD dwAccess; | ||
| 232 | } VkExportMemoryWin32HandleInfoNV; | ||
| 233 | |||
| 234 | typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryWin32HandleNV)(VkDevice device, VkDeviceMemory memory, VkExternalMemoryHandleTypeFlagsNV handleType, HANDLE* pHandle); | ||
| 235 | |||
| 236 | #ifndef VK_NO_PROTOTYPES | ||
| 237 | VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryWin32HandleNV( | ||
| 238 | VkDevice device, | ||
| 239 | VkDeviceMemory memory, | ||
| 240 | VkExternalMemoryHandleTypeFlagsNV handleType, | ||
| 241 | HANDLE* pHandle); | ||
| 242 | #endif | ||
| 243 | |||
| 244 | |||
| 245 | // VK_NV_win32_keyed_mutex is a preprocessor guard. Do not pass it to API calls. | ||
| 246 | #define VK_NV_win32_keyed_mutex 1 | ||
| 247 | #define VK_NV_WIN32_KEYED_MUTEX_SPEC_VERSION 2 | ||
| 248 | #define VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME "VK_NV_win32_keyed_mutex" | ||
| 249 | typedef struct VkWin32KeyedMutexAcquireReleaseInfoNV { | ||
| 250 | VkStructureType sType; | ||
| 251 | const void* pNext; | ||
| 252 | uint32_t acquireCount; | ||
| 253 | const VkDeviceMemory* pAcquireSyncs; | ||
| 254 | const uint64_t* pAcquireKeys; | ||
| 255 | const uint32_t* pAcquireTimeoutMilliseconds; | ||
| 256 | uint32_t releaseCount; | ||
| 257 | const VkDeviceMemory* pReleaseSyncs; | ||
| 258 | const uint64_t* pReleaseKeys; | ||
| 259 | } VkWin32KeyedMutexAcquireReleaseInfoNV; | ||
| 260 | |||
| 261 | |||
| 262 | |||
| 263 | // VK_EXT_full_screen_exclusive is a preprocessor guard. Do not pass it to API calls. | ||
| 264 | #define VK_EXT_full_screen_exclusive 1 | ||
| 265 | #define VK_EXT_FULL_SCREEN_EXCLUSIVE_SPEC_VERSION 4 | ||
| 266 | #define VK_EXT_FULL_SCREEN_EXCLUSIVE_EXTENSION_NAME "VK_EXT_full_screen_exclusive" | ||
| 267 | |||
| 268 | typedef enum VkFullScreenExclusiveEXT { | ||
| 269 | VK_FULL_SCREEN_EXCLUSIVE_DEFAULT_EXT = 0, | ||
| 270 | VK_FULL_SCREEN_EXCLUSIVE_ALLOWED_EXT = 1, | ||
| 271 | VK_FULL_SCREEN_EXCLUSIVE_DISALLOWED_EXT = 2, | ||
| 272 | VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT = 3, | ||
| 273 | VK_FULL_SCREEN_EXCLUSIVE_MAX_ENUM_EXT = 0x7FFFFFFF | ||
| 274 | } VkFullScreenExclusiveEXT; | ||
| 275 | typedef struct VkSurfaceFullScreenExclusiveInfoEXT { | ||
| 276 | VkStructureType sType; | ||
| 277 | void* pNext; | ||
| 278 | VkFullScreenExclusiveEXT fullScreenExclusive; | ||
| 279 | } VkSurfaceFullScreenExclusiveInfoEXT; | ||
| 280 | |||
| 281 | typedef struct VkSurfaceCapabilitiesFullScreenExclusiveEXT { | ||
| 282 | VkStructureType sType; | ||
| 283 | void* pNext; | ||
| 284 | VkBool32 fullScreenExclusiveSupported; | ||
| 285 | } VkSurfaceCapabilitiesFullScreenExclusiveEXT; | ||
| 286 | |||
| 287 | typedef struct VkSurfaceFullScreenExclusiveWin32InfoEXT { | ||
| 288 | VkStructureType sType; | ||
| 289 | const void* pNext; | ||
| 290 | HMONITOR hmonitor; | ||
| 291 | } VkSurfaceFullScreenExclusiveWin32InfoEXT; | ||
| 292 | |||
| 293 | typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes); | ||
| 294 | typedef VkResult (VKAPI_PTR *PFN_vkAcquireFullScreenExclusiveModeEXT)(VkDevice device, VkSwapchainKHR swapchain); | ||
| 295 | typedef VkResult (VKAPI_PTR *PFN_vkReleaseFullScreenExclusiveModeEXT)(VkDevice device, VkSwapchainKHR swapchain); | ||
| 296 | typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModes2EXT)(VkDevice device, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkDeviceGroupPresentModeFlagsKHR* pModes); | ||
| 297 | |||
| 298 | #ifndef VK_NO_PROTOTYPES | ||
| 299 | VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModes2EXT( | ||
| 300 | VkPhysicalDevice physicalDevice, | ||
| 301 | const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, | ||
| 302 | uint32_t* pPresentModeCount, | ||
| 303 | VkPresentModeKHR* pPresentModes); | ||
| 304 | |||
| 305 | VKAPI_ATTR VkResult VKAPI_CALL vkAcquireFullScreenExclusiveModeEXT( | ||
| 306 | VkDevice device, | ||
| 307 | VkSwapchainKHR swapchain); | ||
| 308 | |||
| 309 | VKAPI_ATTR VkResult VKAPI_CALL vkReleaseFullScreenExclusiveModeEXT( | ||
| 310 | VkDevice device, | ||
| 311 | VkSwapchainKHR swapchain); | ||
| 312 | |||
| 313 | VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModes2EXT( | ||
| 314 | VkDevice device, | ||
| 315 | const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, | ||
| 316 | VkDeviceGroupPresentModeFlagsKHR* pModes); | ||
| 317 | #endif | ||
| 318 | |||
| 319 | |||
| 320 | // VK_NV_acquire_winrt_display is a preprocessor guard. Do not pass it to API calls. | ||
| 321 | #define VK_NV_acquire_winrt_display 1 | ||
| 322 | #define VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION 1 | ||
| 323 | #define VK_NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME "VK_NV_acquire_winrt_display" | ||
| 324 | typedef VkResult (VKAPI_PTR *PFN_vkAcquireWinrtDisplayNV)(VkPhysicalDevice physicalDevice, VkDisplayKHR display); | ||
| 325 | typedef VkResult (VKAPI_PTR *PFN_vkGetWinrtDisplayNV)(VkPhysicalDevice physicalDevice, uint32_t deviceRelativeId, VkDisplayKHR* pDisplay); | ||
| 326 | |||
| 327 | #ifndef VK_NO_PROTOTYPES | ||
| 328 | VKAPI_ATTR VkResult VKAPI_CALL vkAcquireWinrtDisplayNV( | ||
| 329 | VkPhysicalDevice physicalDevice, | ||
| 330 | VkDisplayKHR display); | ||
| 331 | |||
| 332 | VKAPI_ATTR VkResult VKAPI_CALL vkGetWinrtDisplayNV( | ||
| 333 | VkPhysicalDevice physicalDevice, | ||
| 334 | uint32_t deviceRelativeId, | ||
| 335 | VkDisplayKHR* pDisplay); | ||
| 336 | #endif | ||
| 337 | |||
| 338 | #ifdef __cplusplus | ||
| 339 | } | ||
| 340 | #endif | ||
| 341 | |||
| 342 | #endif | ||
