Flutter Engine
The Flutter Engine
vulkan_win32.h
Go to the documentation of this file.
1#ifndef VULKAN_WIN32_H_
2#define VULKAN_WIN32_H_ 1
3
4/*
5** Copyright 2015-2023 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
17extern "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"
29 const void* pNext;
31 HINSTANCE hinstance;
32 HWND hwnd;
34
35typedef VkResult (VKAPI_PTR *PFN_vkCreateWin32SurfaceKHR)(VkInstance instance, const VkWin32SurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
36typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex);
37
38#ifndef VK_NO_PROTOTYPES
40 VkInstance instance,
41 const VkWin32SurfaceCreateInfoKHR* pCreateInfo,
42 const VkAllocationCallbacks* pAllocator,
43 VkSurfaceKHR* pSurface);
44
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"
57 const void* pNext;
60 LPCWSTR name;
62
65 const void* pNext;
66 const SECURITY_ATTRIBUTES* pAttributes;
68 LPCWSTR name;
70
73 void* pNext;
76
79 const void* pNext;
80 VkDeviceMemory memory;
83
84typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryWin32HandleKHR)(VkDevice device, const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle);
86
87#ifndef VK_NO_PROTOTYPES
89 VkDevice device,
90 const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo,
91 HANDLE* pHandle);
92
94 VkDevice device,
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"
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;
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"
125 const void* pNext;
126 VkSemaphore semaphore;
130 LPCWSTR name;
132
135 const void* pNext;
136 const SECURITY_ATTRIBUTES* pAttributes;
138 LPCWSTR name;
140
143 const void* pNext;
145 const uint64_t* pWaitSemaphoreValues;
147 const uint64_t* pSignalSemaphoreValues;
149
152 const void* pNext;
153 VkSemaphore semaphore;
156
157typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreWin32HandleKHR)(VkDevice device, const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo);
158typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreWin32HandleKHR)(VkDevice device, const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle);
159
160#ifndef VK_NO_PROTOTYPES
162 VkDevice device,
163 const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo);
164
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"
178 const void* pNext;
179 VkFence fence;
183 LPCWSTR name;
185
188 const void* pNext;
189 const SECURITY_ATTRIBUTES* pAttributes;
191 LPCWSTR name;
193
196 const void* pNext;
197 VkFence fence;
200
201typedef VkResult (VKAPI_PTR *PFN_vkImportFenceWin32HandleKHR)(VkDevice device, const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo);
202typedef VkResult (VKAPI_PTR *PFN_vkGetFenceWin32HandleKHR)(VkDevice device, const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle);
203
204#ifndef VK_NO_PROTOTYPES
206 VkDevice device,
207 const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo);
208
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"
222 const void* pNext;
226
229 const void* pNext;
230 const SECURITY_ATTRIBUTES* pAttributes;
233
234typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryWin32HandleNV)(VkDevice device, VkDeviceMemory memory, VkExternalMemoryHandleTypeFlagsNV handleType, HANDLE* pHandle);
235
236#ifndef VK_NO_PROTOTYPES
238 VkDevice device,
239 VkDeviceMemory memory,
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"
251 const void* pNext;
252 uint32_t acquireCount;
253 const VkDeviceMemory* pAcquireSyncs;
254 const uint64_t* pAcquireKeys;
256 uint32_t releaseCount;
257 const VkDeviceMemory* pReleaseSyncs;
258 const uint64_t* pReleaseKeys;
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
277 void* pNext;
280
283 void* pNext;
286
289 const void* pNext;
290 HMONITOR hmonitor;
292
293typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes);
297
298#ifndef VK_NO_PROTOTYPES
300 VkPhysicalDevice physicalDevice,
301 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
302 uint32_t* pPresentModeCount,
303 VkPresentModeKHR* pPresentModes);
304
306 VkDevice device,
307 VkSwapchainKHR swapchain);
308
310 VkDevice device,
311 VkSwapchainKHR swapchain);
312
314 VkDevice device,
315 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
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"
324typedef VkResult (VKAPI_PTR *PFN_vkAcquireWinrtDisplayNV)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
325typedef VkResult (VKAPI_PTR *PFN_vkGetWinrtDisplayNV)(VkPhysicalDevice physicalDevice, uint32_t deviceRelativeId, VkDisplayKHR* pDisplay);
326
327#ifndef VK_NO_PROTOTYPES
329 VkPhysicalDevice physicalDevice,
330 VkDisplayKHR display);
331
333 VkPhysicalDevice physicalDevice,
334 uint32_t deviceRelativeId,
335 VkDisplayKHR* pDisplay);
336#endif
337
338#ifdef __cplusplus
339}
340#endif
341
342#endif
VkSwapchainKHR swapchain
Definition: main.cc:64
VkDevice device
Definition: main.cc:53
VkInstance instance
Definition: main.cc:48
const uint64_t * pWaitSemaphoreValues
Definition: vulkan_win32.h:145
const uint64_t * pSignalSemaphoreValues
Definition: vulkan_win32.h:147
const SECURITY_ATTRIBUTES * pAttributes
Definition: vulkan_win32.h:189
const SECURITY_ATTRIBUTES * pAttributes
Definition: vulkan_win32.h:66
const SECURITY_ATTRIBUTES * pAttributes
Definition: vulkan_win32.h:230
const SECURITY_ATTRIBUTES * pAttributes
Definition: vulkan_win32.h:136
VkExternalFenceHandleTypeFlagBits handleType
Definition: vulkan_win32.h:198
VkExternalFenceHandleTypeFlagBits handleType
Definition: vulkan_win32.h:181
VkExternalMemoryHandleTypeFlagBits handleType
Definition: vulkan_win32.h:58
VkExternalMemoryHandleTypeFlagsNV handleType
Definition: vulkan_win32.h:223
VkExternalSemaphoreHandleTypeFlagBits handleType
Definition: vulkan_win32.h:128
VkSemaphoreImportFlags flags
Definition: vulkan_win32.h:127
VkExternalMemoryHandleTypeFlagBits handleType
Definition: vulkan_win32.h:81
VkExternalSemaphoreHandleTypeFlagBits handleType
Definition: vulkan_win32.h:154
VkFullScreenExclusiveEXT fullScreenExclusive
Definition: vulkan_win32.h:278
const VkDeviceMemory * pReleaseSyncs
Definition: vulkan_win32.h:113
const VkDeviceMemory * pAcquireSyncs
Definition: vulkan_win32.h:109
const VkDeviceMemory * pAcquireSyncs
Definition: vulkan_win32.h:253
const uint32_t * pAcquireTimeoutMilliseconds
Definition: vulkan_win32.h:255
const VkDeviceMemory * pReleaseSyncs
Definition: vulkan_win32.h:257
VkWin32SurfaceCreateFlagsKHR flags
Definition: vulkan_win32.h:30
#define VKAPI_CALL
Definition: vk_platform.h:57
#define VKAPI_ATTR
Definition: vk_platform.h:56
#define VKAPI_PTR
Definition: vk_platform.h:58
VkFlags VkExternalMemoryHandleTypeFlagsNV
VkExternalMemoryHandleTypeFlagBits
Definition: vulkan_core.h:5022
VkFlags VkFenceImportFlags
Definition: vulkan_core.h:5086
VkFlags VkSemaphoreImportFlags
Definition: vulkan_core.h:5093
VkExternalFenceHandleTypeFlagBits
Definition: vulkan_core.h:5059
VkFlags VkDeviceGroupPresentModeFlagsKHR
Definition: vulkan_core.h:7725
uint32_t VkFlags
Definition: vulkan_core.h:97
VkResult
Definition: vulkan_core.h:140
VkPresentModeKHR
Definition: vulkan_core.h:7594
uint32_t VkBool32
Definition: vulkan_core.h:94
VkExternalSemaphoreHandleTypeFlagBits
Definition: vulkan_core.h:5095
VkStructureType
Definition: vulkan_core.h:201
struct VkWin32SurfaceCreateInfoKHR VkWin32SurfaceCreateInfoKHR
struct VkWin32KeyedMutexAcquireReleaseInfoNV VkWin32KeyedMutexAcquireReleaseInfoNV
VkFullScreenExclusiveEXT
Definition: vulkan_win32.h:268
@ VK_FULL_SCREEN_EXCLUSIVE_DEFAULT_EXT
Definition: vulkan_win32.h:269
@ VK_FULL_SCREEN_EXCLUSIVE_ALLOWED_EXT
Definition: vulkan_win32.h:270
@ VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT
Definition: vulkan_win32.h:272
@ VK_FULL_SCREEN_EXCLUSIVE_MAX_ENUM_EXT
Definition: vulkan_win32.h:273
@ VK_FULL_SCREEN_EXCLUSIVE_DISALLOWED_EXT
Definition: vulkan_win32.h:271
VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreWin32HandleKHR(VkDevice device, const VkSemaphoreGetWin32HandleInfoKHR *pGetWin32HandleInfo, HANDLE *pHandle)
struct VkMemoryGetWin32HandleInfoKHR VkMemoryGetWin32HandleInfoKHR
VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceWin32HandleKHR(VkDevice device, const VkFenceGetWin32HandleInfoKHR *pGetWin32HandleInfo, HANDLE *pHandle)
VkResult(VKAPI_PTR * PFN_vkGetSemaphoreWin32HandleKHR)(VkDevice device, const VkSemaphoreGetWin32HandleInfoKHR *pGetWin32HandleInfo, HANDLE *pHandle)
Definition: vulkan_win32.h:158
VkResult(VKAPI_PTR * PFN_vkReleaseFullScreenExclusiveModeEXT)(VkDevice device, VkSwapchainKHR swapchain)
Definition: vulkan_win32.h:295
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModes2EXT(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR *pSurfaceInfo, uint32_t *pPresentModeCount, VkPresentModeKHR *pPresentModes)
VkResult(VKAPI_PTR * PFN_vkGetMemoryWin32HandlePropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, HANDLE handle, VkMemoryWin32HandlePropertiesKHR *pMemoryWin32HandleProperties)
Definition: vulkan_win32.h:85
VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryWin32HandleKHR(VkDevice device, const VkMemoryGetWin32HandleInfoKHR *pGetWin32HandleInfo, HANDLE *pHandle)
VKAPI_ATTR VkResult VKAPI_CALL vkAcquireWinrtDisplayNV(VkPhysicalDevice physicalDevice, VkDisplayKHR display)
struct VkSurfaceFullScreenExclusiveInfoEXT VkSurfaceFullScreenExclusiveInfoEXT
VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreWin32HandleKHR(VkDevice device, const VkImportSemaphoreWin32HandleInfoKHR *pImportSemaphoreWin32HandleInfo)
VkResult(VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR *pSurfaceInfo, uint32_t *pPresentModeCount, VkPresentModeKHR *pPresentModes)
Definition: vulkan_win32.h:293
struct VkWin32KeyedMutexAcquireReleaseInfoKHR VkWin32KeyedMutexAcquireReleaseInfoKHR
VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceWin32HandleKHR(VkDevice device, const VkImportFenceWin32HandleInfoKHR *pImportFenceWin32HandleInfo)
VkResult(VKAPI_PTR * PFN_vkGetMemoryWin32HandleNV)(VkDevice device, VkDeviceMemory memory, VkExternalMemoryHandleTypeFlagsNV handleType, HANDLE *pHandle)
Definition: vulkan_win32.h:234
struct VkExportFenceWin32HandleInfoKHR VkExportFenceWin32HandleInfoKHR
VkResult(VKAPI_PTR * PFN_vkGetMemoryWin32HandleKHR)(VkDevice device, const VkMemoryGetWin32HandleInfoKHR *pGetWin32HandleInfo, HANDLE *pHandle)
Definition: vulkan_win32.h:84
struct VkImportFenceWin32HandleInfoKHR VkImportFenceWin32HandleInfoKHR
VkResult(VKAPI_PTR * PFN_vkCreateWin32SurfaceKHR)(VkInstance instance, const VkWin32SurfaceCreateInfoKHR *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface)
Definition: vulkan_win32.h:35
struct VkFenceGetWin32HandleInfoKHR VkFenceGetWin32HandleInfoKHR
VKAPI_ATTR VkResult VKAPI_CALL vkReleaseFullScreenExclusiveModeEXT(VkDevice device, VkSwapchainKHR swapchain)
VKAPI_ATTR VkResult VKAPI_CALL vkAcquireFullScreenExclusiveModeEXT(VkDevice device, VkSwapchainKHR swapchain)
VkResult(VKAPI_PTR * PFN_vkAcquireFullScreenExclusiveModeEXT)(VkDevice device, VkSwapchainKHR swapchain)
Definition: vulkan_win32.h:294
VKAPI_ATTR VkResult VKAPI_CALL vkCreateWin32SurfaceKHR(VkInstance instance, const VkWin32SurfaceCreateInfoKHR *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface)
struct VkSemaphoreGetWin32HandleInfoKHR VkSemaphoreGetWin32HandleInfoKHR
VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceWin32PresentationSupportKHR(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex)
VkBool32(VKAPI_PTR * PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex)
Definition: vulkan_win32.h:36
struct VkExportMemoryWin32HandleInfoNV VkExportMemoryWin32HandleInfoNV
struct VkImportMemoryWin32HandleInfoNV VkImportMemoryWin32HandleInfoNV
struct VkImportMemoryWin32HandleInfoKHR VkImportMemoryWin32HandleInfoKHR
struct VkMemoryWin32HandlePropertiesKHR VkMemoryWin32HandlePropertiesKHR
struct VkImportSemaphoreWin32HandleInfoKHR VkImportSemaphoreWin32HandleInfoKHR
struct VkSurfaceFullScreenExclusiveWin32InfoEXT VkSurfaceFullScreenExclusiveWin32InfoEXT
VkFlags VkWin32SurfaceCreateFlagsKHR
Definition: vulkan_win32.h:26
VkResult(VKAPI_PTR * PFN_vkImportFenceWin32HandleKHR)(VkDevice device, const VkImportFenceWin32HandleInfoKHR *pImportFenceWin32HandleInfo)
Definition: vulkan_win32.h:201
VKAPI_ATTR VkResult VKAPI_CALL vkGetWinrtDisplayNV(VkPhysicalDevice physicalDevice, uint32_t deviceRelativeId, VkDisplayKHR *pDisplay)
struct VkExportSemaphoreWin32HandleInfoKHR VkExportSemaphoreWin32HandleInfoKHR
VkResult(VKAPI_PTR * PFN_vkImportSemaphoreWin32HandleKHR)(VkDevice device, const VkImportSemaphoreWin32HandleInfoKHR *pImportSemaphoreWin32HandleInfo)
Definition: vulkan_win32.h:157
VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryWin32HandlePropertiesKHR(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, HANDLE handle, VkMemoryWin32HandlePropertiesKHR *pMemoryWin32HandleProperties)
VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryWin32HandleNV(VkDevice device, VkDeviceMemory memory, VkExternalMemoryHandleTypeFlagsNV handleType, HANDLE *pHandle)
struct VkD3D12FenceSubmitInfoKHR VkD3D12FenceSubmitInfoKHR
VkResult(VKAPI_PTR * PFN_vkGetWinrtDisplayNV)(VkPhysicalDevice physicalDevice, uint32_t deviceRelativeId, VkDisplayKHR *pDisplay)
Definition: vulkan_win32.h:325
VkResult(VKAPI_PTR * PFN_vkGetFenceWin32HandleKHR)(VkDevice device, const VkFenceGetWin32HandleInfoKHR *pGetWin32HandleInfo, HANDLE *pHandle)
Definition: vulkan_win32.h:202
struct VkSurfaceCapabilitiesFullScreenExclusiveEXT VkSurfaceCapabilitiesFullScreenExclusiveEXT
struct VkExportMemoryWin32HandleInfoKHR VkExportMemoryWin32HandleInfoKHR
VkResult(VKAPI_PTR * PFN_vkGetDeviceGroupSurfacePresentModes2EXT)(VkDevice device, const VkPhysicalDeviceSurfaceInfo2KHR *pSurfaceInfo, VkDeviceGroupPresentModeFlagsKHR *pModes)
Definition: vulkan_win32.h:296
VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModes2EXT(VkDevice device, const VkPhysicalDeviceSurfaceInfo2KHR *pSurfaceInfo, VkDeviceGroupPresentModeFlagsKHR *pModes)
VkResult(VKAPI_PTR * PFN_vkAcquireWinrtDisplayNV)(VkPhysicalDevice physicalDevice, VkDisplayKHR display)
Definition: vulkan_win32.h:324
void * HANDLE
Definition: windows_types.h:36
unsigned long DWORD
Definition: windows_types.h:22