VirtualBox

source: vbox/trunk/src/libs/dxvk-native-1.9.2a/include/vulkan/vulkan_win32.h@ 102478

Last change on this file since 102478 was 96497, checked in by vboxsync, 2 years ago

libs/dxvk-native-1.9.2a: export to OSE

  • Property svn:eol-style set to native
File size: 13.2 KB
Line 
1#ifndef VULKAN_WIN32_H_
2#define VULKAN_WIN32_H_ 1
3
4/*
5** Copyright 2015-2021 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#define VK_KHR_win32_surface 1
23#define VK_KHR_WIN32_SURFACE_SPEC_VERSION 6
24#define VK_KHR_WIN32_SURFACE_EXTENSION_NAME "VK_KHR_win32_surface"
25typedef VkFlags VkWin32SurfaceCreateFlagsKHR;
26typedef struct VkWin32SurfaceCreateInfoKHR {
27 VkStructureType sType;
28 const void* pNext;
29 VkWin32SurfaceCreateFlagsKHR flags;
30 HINSTANCE hinstance;
31 HWND hwnd;
32} VkWin32SurfaceCreateInfoKHR;
33
34typedef VkResult (VKAPI_PTR *PFN_vkCreateWin32SurfaceKHR)(VkInstance instance, const VkWin32SurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
35typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex);
36
37#ifndef VK_NO_PROTOTYPES
38VKAPI_ATTR VkResult VKAPI_CALL vkCreateWin32SurfaceKHR(
39 VkInstance instance,
40 const VkWin32SurfaceCreateInfoKHR* pCreateInfo,
41 const VkAllocationCallbacks* pAllocator,
42 VkSurfaceKHR* pSurface);
43
44VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceWin32PresentationSupportKHR(
45 VkPhysicalDevice physicalDevice,
46 uint32_t queueFamilyIndex);
47#endif
48
49
50#define VK_KHR_external_memory_win32 1
51#define VK_KHR_EXTERNAL_MEMORY_WIN32_SPEC_VERSION 1
52#define VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME "VK_KHR_external_memory_win32"
53typedef struct VkImportMemoryWin32HandleInfoKHR {
54 VkStructureType sType;
55 const void* pNext;
56 VkExternalMemoryHandleTypeFlagBits handleType;
57 HANDLE handle;
58 LPCWSTR name;
59} VkImportMemoryWin32HandleInfoKHR;
60
61typedef struct VkExportMemoryWin32HandleInfoKHR {
62 VkStructureType sType;
63 const void* pNext;
64 const SECURITY_ATTRIBUTES* pAttributes;
65 DWORD dwAccess;
66 LPCWSTR name;
67} VkExportMemoryWin32HandleInfoKHR;
68
69typedef struct VkMemoryWin32HandlePropertiesKHR {
70 VkStructureType sType;
71 void* pNext;
72 uint32_t memoryTypeBits;
73} VkMemoryWin32HandlePropertiesKHR;
74
75typedef struct VkMemoryGetWin32HandleInfoKHR {
76 VkStructureType sType;
77 const void* pNext;
78 VkDeviceMemory memory;
79 VkExternalMemoryHandleTypeFlagBits handleType;
80} VkMemoryGetWin32HandleInfoKHR;
81
82typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryWin32HandleKHR)(VkDevice device, const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle);
83typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryWin32HandlePropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, HANDLE handle, VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties);
84
85#ifndef VK_NO_PROTOTYPES
86VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryWin32HandleKHR(
87 VkDevice device,
88 const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo,
89 HANDLE* pHandle);
90
91VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryWin32HandlePropertiesKHR(
92 VkDevice device,
93 VkExternalMemoryHandleTypeFlagBits handleType,
94 HANDLE handle,
95 VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties);
96#endif
97
98
99#define VK_KHR_win32_keyed_mutex 1
100#define VK_KHR_WIN32_KEYED_MUTEX_SPEC_VERSION 1
101#define VK_KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME "VK_KHR_win32_keyed_mutex"
102typedef struct VkWin32KeyedMutexAcquireReleaseInfoKHR {
103 VkStructureType sType;
104 const void* pNext;
105 uint32_t acquireCount;
106 const VkDeviceMemory* pAcquireSyncs;
107 const uint64_t* pAcquireKeys;
108 const uint32_t* pAcquireTimeouts;
109 uint32_t releaseCount;
110 const VkDeviceMemory* pReleaseSyncs;
111 const uint64_t* pReleaseKeys;
112} VkWin32KeyedMutexAcquireReleaseInfoKHR;
113
114
115
116#define VK_KHR_external_semaphore_win32 1
117#define VK_KHR_EXTERNAL_SEMAPHORE_WIN32_SPEC_VERSION 1
118#define VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME "VK_KHR_external_semaphore_win32"
119typedef struct VkImportSemaphoreWin32HandleInfoKHR {
120 VkStructureType sType;
121 const void* pNext;
122 VkSemaphore semaphore;
123 VkSemaphoreImportFlags flags;
124 VkExternalSemaphoreHandleTypeFlagBits handleType;
125 HANDLE handle;
126 LPCWSTR name;
127} VkImportSemaphoreWin32HandleInfoKHR;
128
129typedef struct VkExportSemaphoreWin32HandleInfoKHR {
130 VkStructureType sType;
131 const void* pNext;
132 const SECURITY_ATTRIBUTES* pAttributes;
133 DWORD dwAccess;
134 LPCWSTR name;
135} VkExportSemaphoreWin32HandleInfoKHR;
136
137typedef struct VkD3D12FenceSubmitInfoKHR {
138 VkStructureType sType;
139 const void* pNext;
140 uint32_t waitSemaphoreValuesCount;
141 const uint64_t* pWaitSemaphoreValues;
142 uint32_t signalSemaphoreValuesCount;
143 const uint64_t* pSignalSemaphoreValues;
144} VkD3D12FenceSubmitInfoKHR;
145
146typedef struct VkSemaphoreGetWin32HandleInfoKHR {
147 VkStructureType sType;
148 const void* pNext;
149 VkSemaphore semaphore;
150 VkExternalSemaphoreHandleTypeFlagBits handleType;
151} VkSemaphoreGetWin32HandleInfoKHR;
152
153typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreWin32HandleKHR)(VkDevice device, const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo);
154typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreWin32HandleKHR)(VkDevice device, const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle);
155
156#ifndef VK_NO_PROTOTYPES
157VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreWin32HandleKHR(
158 VkDevice device,
159 const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo);
160
161VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreWin32HandleKHR(
162 VkDevice device,
163 const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo,
164 HANDLE* pHandle);
165#endif
166
167
168#define VK_KHR_external_fence_win32 1
169#define VK_KHR_EXTERNAL_FENCE_WIN32_SPEC_VERSION 1
170#define VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME "VK_KHR_external_fence_win32"
171typedef struct VkImportFenceWin32HandleInfoKHR {
172 VkStructureType sType;
173 const void* pNext;
174 VkFence fence;
175 VkFenceImportFlags flags;
176 VkExternalFenceHandleTypeFlagBits handleType;
177 HANDLE handle;
178 LPCWSTR name;
179} VkImportFenceWin32HandleInfoKHR;
180
181typedef struct VkExportFenceWin32HandleInfoKHR {
182 VkStructureType sType;
183 const void* pNext;
184 const SECURITY_ATTRIBUTES* pAttributes;
185 DWORD dwAccess;
186 LPCWSTR name;
187} VkExportFenceWin32HandleInfoKHR;
188
189typedef struct VkFenceGetWin32HandleInfoKHR {
190 VkStructureType sType;
191 const void* pNext;
192 VkFence fence;
193 VkExternalFenceHandleTypeFlagBits handleType;
194} VkFenceGetWin32HandleInfoKHR;
195
196typedef VkResult (VKAPI_PTR *PFN_vkImportFenceWin32HandleKHR)(VkDevice device, const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo);
197typedef VkResult (VKAPI_PTR *PFN_vkGetFenceWin32HandleKHR)(VkDevice device, const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle);
198
199#ifndef VK_NO_PROTOTYPES
200VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceWin32HandleKHR(
201 VkDevice device,
202 const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo);
203
204VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceWin32HandleKHR(
205 VkDevice device,
206 const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo,
207 HANDLE* pHandle);
208#endif
209
210
211#define VK_NV_external_memory_win32 1
212#define VK_NV_EXTERNAL_MEMORY_WIN32_SPEC_VERSION 1
213#define VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME "VK_NV_external_memory_win32"
214typedef struct VkImportMemoryWin32HandleInfoNV {
215 VkStructureType sType;
216 const void* pNext;
217 VkExternalMemoryHandleTypeFlagsNV handleType;
218 HANDLE handle;
219} VkImportMemoryWin32HandleInfoNV;
220
221typedef struct VkExportMemoryWin32HandleInfoNV {
222 VkStructureType sType;
223 const void* pNext;
224 const SECURITY_ATTRIBUTES* pAttributes;
225 DWORD dwAccess;
226} VkExportMemoryWin32HandleInfoNV;
227
228typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryWin32HandleNV)(VkDevice device, VkDeviceMemory memory, VkExternalMemoryHandleTypeFlagsNV handleType, HANDLE* pHandle);
229
230#ifndef VK_NO_PROTOTYPES
231VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryWin32HandleNV(
232 VkDevice device,
233 VkDeviceMemory memory,
234 VkExternalMemoryHandleTypeFlagsNV handleType,
235 HANDLE* pHandle);
236#endif
237
238
239#define VK_NV_win32_keyed_mutex 1
240#define VK_NV_WIN32_KEYED_MUTEX_SPEC_VERSION 2
241#define VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME "VK_NV_win32_keyed_mutex"
242typedef struct VkWin32KeyedMutexAcquireReleaseInfoNV {
243 VkStructureType sType;
244 const void* pNext;
245 uint32_t acquireCount;
246 const VkDeviceMemory* pAcquireSyncs;
247 const uint64_t* pAcquireKeys;
248 const uint32_t* pAcquireTimeoutMilliseconds;
249 uint32_t releaseCount;
250 const VkDeviceMemory* pReleaseSyncs;
251 const uint64_t* pReleaseKeys;
252} VkWin32KeyedMutexAcquireReleaseInfoNV;
253
254
255
256#define VK_EXT_full_screen_exclusive 1
257#define VK_EXT_FULL_SCREEN_EXCLUSIVE_SPEC_VERSION 4
258#define VK_EXT_FULL_SCREEN_EXCLUSIVE_EXTENSION_NAME "VK_EXT_full_screen_exclusive"
259
260typedef enum VkFullScreenExclusiveEXT {
261 VK_FULL_SCREEN_EXCLUSIVE_DEFAULT_EXT = 0,
262 VK_FULL_SCREEN_EXCLUSIVE_ALLOWED_EXT = 1,
263 VK_FULL_SCREEN_EXCLUSIVE_DISALLOWED_EXT = 2,
264 VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT = 3,
265 VK_FULL_SCREEN_EXCLUSIVE_MAX_ENUM_EXT = 0x7FFFFFFF
266} VkFullScreenExclusiveEXT;
267typedef struct VkSurfaceFullScreenExclusiveInfoEXT {
268 VkStructureType sType;
269 void* pNext;
270 VkFullScreenExclusiveEXT fullScreenExclusive;
271} VkSurfaceFullScreenExclusiveInfoEXT;
272
273typedef struct VkSurfaceCapabilitiesFullScreenExclusiveEXT {
274 VkStructureType sType;
275 void* pNext;
276 VkBool32 fullScreenExclusiveSupported;
277} VkSurfaceCapabilitiesFullScreenExclusiveEXT;
278
279typedef struct VkSurfaceFullScreenExclusiveWin32InfoEXT {
280 VkStructureType sType;
281 const void* pNext;
282 HMONITOR hmonitor;
283} VkSurfaceFullScreenExclusiveWin32InfoEXT;
284
285typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes);
286typedef VkResult (VKAPI_PTR *PFN_vkAcquireFullScreenExclusiveModeEXT)(VkDevice device, VkSwapchainKHR swapchain);
287typedef VkResult (VKAPI_PTR *PFN_vkReleaseFullScreenExclusiveModeEXT)(VkDevice device, VkSwapchainKHR swapchain);
288typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModes2EXT)(VkDevice device, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkDeviceGroupPresentModeFlagsKHR* pModes);
289
290#ifndef VK_NO_PROTOTYPES
291VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModes2EXT(
292 VkPhysicalDevice physicalDevice,
293 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
294 uint32_t* pPresentModeCount,
295 VkPresentModeKHR* pPresentModes);
296
297VKAPI_ATTR VkResult VKAPI_CALL vkAcquireFullScreenExclusiveModeEXT(
298 VkDevice device,
299 VkSwapchainKHR swapchain);
300
301VKAPI_ATTR VkResult VKAPI_CALL vkReleaseFullScreenExclusiveModeEXT(
302 VkDevice device,
303 VkSwapchainKHR swapchain);
304
305VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModes2EXT(
306 VkDevice device,
307 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
308 VkDeviceGroupPresentModeFlagsKHR* pModes);
309#endif
310
311#ifdef __cplusplus
312}
313#endif
314
315#endif
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette