SDL 2.0
vulkan_win32.h
Go to the documentation of this file.
1#ifndef VULKAN_WIN32_H_
2#define VULKAN_WIN32_H_ 1
3
4#ifdef __cplusplus
5extern "C" {
6#endif
7
8/*
9** Copyright (c) 2015-2018 The Khronos Group Inc.
10**
11** Licensed under the Apache License, Version 2.0 (the "License");
12** you may not use this file except in compliance with the License.
13** You may obtain a copy of the License at
14**
15** http://www.apache.org/licenses/LICENSE-2.0
16**
17** Unless required by applicable law or agreed to in writing, software
18** distributed under the License is distributed on an "AS IS" BASIS,
19** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20** See the License for the specific language governing permissions and
21** limitations under the License.
22*/
23
24/*
25** This header is generated from the Khronos Vulkan XML API Registry.
26**
27*/
28
29
30#define VK_KHR_win32_surface 1
31#define VK_KHR_WIN32_SURFACE_SPEC_VERSION 6
32#define VK_KHR_WIN32_SURFACE_EXTENSION_NAME "VK_KHR_win32_surface"
33
35
38 const void* pNext;
40 HINSTANCE hinstance;
41 HWND hwnd;
43
44
45typedef VkResult (VKAPI_PTR *PFN_vkCreateWin32SurfaceKHR)(VkInstance instance, const VkWin32SurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
46typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex);
47
48#ifndef VK_NO_PROTOTYPES
50 VkInstance instance,
51 const VkWin32SurfaceCreateInfoKHR* pCreateInfo,
52 const VkAllocationCallbacks* pAllocator,
53 VkSurfaceKHR* pSurface);
54
56 VkPhysicalDevice physicalDevice,
57 uint32_t queueFamilyIndex);
58#endif
59
60#define VK_KHR_external_memory_win32 1
61#define VK_KHR_EXTERNAL_MEMORY_WIN32_SPEC_VERSION 1
62#define VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME "VK_KHR_external_memory_win32"
63
66 const void* pNext;
68 HANDLE handle;
69 LPCWSTR name;
71
74 const void* pNext;
75 const SECURITY_ATTRIBUTES* pAttributes;
76 DWORD dwAccess;
77 LPCWSTR name;
79
82 void* pNext;
85
88 const void* pNext;
89 VkDeviceMemory memory;
92
93
94typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryWin32HandleKHR)(VkDevice device, const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle);
96
97#ifndef VK_NO_PROTOTYPES
99 VkDevice device,
100 const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo,
101 HANDLE* pHandle);
102
104 VkDevice device,
106 HANDLE handle,
107 VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties);
108#endif
109
110#define VK_KHR_win32_keyed_mutex 1
111#define VK_KHR_WIN32_KEYED_MUTEX_SPEC_VERSION 1
112#define VK_KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME "VK_KHR_win32_keyed_mutex"
113
116 const void* pNext;
118 const VkDeviceMemory* pAcquireSyncs;
122 const VkDeviceMemory* pReleaseSyncs;
125
126
127
128#define VK_KHR_external_semaphore_win32 1
129#define VK_KHR_EXTERNAL_SEMAPHORE_WIN32_SPEC_VERSION 1
130#define VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME "VK_KHR_external_semaphore_win32"
131
134 const void* pNext;
135 VkSemaphore semaphore;
138 HANDLE handle;
139 LPCWSTR name;
141
144 const void* pNext;
145 const SECURITY_ATTRIBUTES* pAttributes;
146 DWORD dwAccess;
147 LPCWSTR name;
149
152 const void* pNext;
158
161 const void* pNext;
162 VkSemaphore semaphore;
165
166
167typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreWin32HandleKHR)(VkDevice device, const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo);
168typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreWin32HandleKHR)(VkDevice device, const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle);
169
170#ifndef VK_NO_PROTOTYPES
172 VkDevice device,
173 const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo);
174
176 VkDevice device,
177 const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo,
178 HANDLE* pHandle);
179#endif
180
181#define VK_KHR_external_fence_win32 1
182#define VK_KHR_EXTERNAL_FENCE_WIN32_SPEC_VERSION 1
183#define VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME "VK_KHR_external_fence_win32"
184
187 const void* pNext;
188 VkFence fence;
191 HANDLE handle;
192 LPCWSTR name;
194
197 const void* pNext;
198 const SECURITY_ATTRIBUTES* pAttributes;
199 DWORD dwAccess;
200 LPCWSTR name;
202
205 const void* pNext;
206 VkFence fence;
209
210
211typedef VkResult (VKAPI_PTR *PFN_vkImportFenceWin32HandleKHR)(VkDevice device, const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo);
212typedef VkResult (VKAPI_PTR *PFN_vkGetFenceWin32HandleKHR)(VkDevice device, const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle);
213
214#ifndef VK_NO_PROTOTYPES
216 VkDevice device,
217 const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo);
218
220 VkDevice device,
221 const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo,
222 HANDLE* pHandle);
223#endif
224
225#define VK_NV_external_memory_win32 1
226#define VK_NV_EXTERNAL_MEMORY_WIN32_SPEC_VERSION 1
227#define VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME "VK_NV_external_memory_win32"
228
231 const void* pNext;
233 HANDLE handle;
235
238 const void* pNext;
239 const SECURITY_ATTRIBUTES* pAttributes;
240 DWORD dwAccess;
242
243
245
246#ifndef VK_NO_PROTOTYPES
248 VkDevice device,
249 VkDeviceMemory memory,
251 HANDLE* pHandle);
252#endif
253
254#define VK_NV_win32_keyed_mutex 1
255#define VK_NV_WIN32_KEYED_MUTEX_SPEC_VERSION 1
256#define VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME "VK_NV_win32_keyed_mutex"
257
260 const void* pNext;
262 const VkDeviceMemory* pAcquireSyncs;
266 const VkDeviceMemory* pReleaseSyncs;
269
270
271
272#ifdef __cplusplus
273}
274#endif
275
276#endif
unsigned int uint32_t
unsigned long long uint64_t
EGLImageKHR EGLint EGLint * handle
Definition: eglext.h:937
GLsizei GLenum GLsizei GLsizei GLuint memory
Definition: gl2ext.h:1474
GLuint64 GLenum handleType
Definition: gl2ext.h:1508
static SDL_AudioDeviceID device
Definition: loopwave.c:37
const uint64_t * pWaitSemaphoreValues
Definition: vulkan_win32.h:154
const uint64_t * pSignalSemaphoreValues
Definition: vulkan_win32.h:156
const SECURITY_ATTRIBUTES * pAttributes
Definition: vulkan_win32.h:198
const SECURITY_ATTRIBUTES * pAttributes
Definition: vulkan_win32.h:75
const SECURITY_ATTRIBUTES * pAttributes
Definition: vulkan_win32.h:239
const SECURITY_ATTRIBUTES * pAttributes
Definition: vulkan_win32.h:145
VkExternalFenceHandleTypeFlagBits handleType
Definition: vulkan_win32.h:207
VkExternalFenceHandleTypeFlagBits handleType
Definition: vulkan_win32.h:190
VkExternalMemoryHandleTypeFlagBits handleType
Definition: vulkan_win32.h:67
VkExternalMemoryHandleTypeFlagsNV handleType
Definition: vulkan_win32.h:232
VkExternalSemaphoreHandleTypeFlagBits handleType
Definition: vulkan_win32.h:137
VkSemaphoreImportFlags flags
Definition: vulkan_win32.h:136
VkExternalMemoryHandleTypeFlagBits handleType
Definition: vulkan_win32.h:90
VkExternalSemaphoreHandleTypeFlagBits handleType
Definition: vulkan_win32.h:163
const VkDeviceMemory * pReleaseSyncs
Definition: vulkan_win32.h:122
const VkDeviceMemory * pAcquireSyncs
Definition: vulkan_win32.h:118
const VkDeviceMemory * pAcquireSyncs
Definition: vulkan_win32.h:262
const uint32_t * pAcquireTimeoutMilliseconds
Definition: vulkan_win32.h:264
const VkDeviceMemory * pReleaseSyncs
Definition: vulkan_win32.h:266
VkWin32SurfaceCreateFlagsKHR flags
Definition: vulkan_win32.h:39
#define VKAPI_CALL
Definition: vk_platform.h:52
#define VKAPI_ATTR
Definition: vk_platform.h:51
#define VKAPI_PTR
Definition: vk_platform.h:53
VkFlags VkExternalMemoryHandleTypeFlagsNV
Definition: vulkan_core.h:6610
VkExternalMemoryHandleTypeFlagBits
Definition: vulkan_core.h:3908
VkFlags VkFenceImportFlags
Definition: vulkan_core.h:3969
VkFlags VkSemaphoreImportFlags
Definition: vulkan_core.h:3976
VkExternalFenceHandleTypeFlagBits
Definition: vulkan_core.h:3942
uint32_t VkFlags
Definition: vulkan_core.h:64
VkResult
Definition: vulkan_core.h:120
uint32_t VkBool32
Definition: vulkan_core.h:65
VkExternalSemaphoreHandleTypeFlagBits
Definition: vulkan_core.h:3978
VkStructureType
Definition: vulkan_core.h:159
VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreWin32HandleKHR(VkDevice device, const VkSemaphoreGetWin32HandleInfoKHR *pGetWin32HandleInfo, HANDLE *pHandle)
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:168
VkResult(VKAPI_PTR * PFN_vkGetMemoryWin32HandlePropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, HANDLE handle, VkMemoryWin32HandlePropertiesKHR *pMemoryWin32HandleProperties)
Definition: vulkan_win32.h:95
VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryWin32HandleKHR(VkDevice device, const VkMemoryGetWin32HandleInfoKHR *pGetWin32HandleInfo, HANDLE *pHandle)
VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreWin32HandleKHR(VkDevice device, const VkImportSemaphoreWin32HandleInfoKHR *pImportSemaphoreWin32HandleInfo)
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:244
VkResult(VKAPI_PTR * PFN_vkGetMemoryWin32HandleKHR)(VkDevice device, const VkMemoryGetWin32HandleInfoKHR *pGetWin32HandleInfo, HANDLE *pHandle)
Definition: vulkan_win32.h:94
VkResult(VKAPI_PTR * PFN_vkCreateWin32SurfaceKHR)(VkInstance instance, const VkWin32SurfaceCreateInfoKHR *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface)
Definition: vulkan_win32.h:45
VKAPI_ATTR VkResult VKAPI_CALL vkCreateWin32SurfaceKHR(VkInstance instance, const VkWin32SurfaceCreateInfoKHR *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface)
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:46
VkFlags VkWin32SurfaceCreateFlagsKHR
Definition: vulkan_win32.h:34
VkResult(VKAPI_PTR * PFN_vkImportFenceWin32HandleKHR)(VkDevice device, const VkImportFenceWin32HandleInfoKHR *pImportFenceWin32HandleInfo)
Definition: vulkan_win32.h:211
VkResult(VKAPI_PTR * PFN_vkImportSemaphoreWin32HandleKHR)(VkDevice device, const VkImportSemaphoreWin32HandleInfoKHR *pImportSemaphoreWin32HandleInfo)
Definition: vulkan_win32.h:167
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)
VkResult(VKAPI_PTR * PFN_vkGetFenceWin32HandleKHR)(VkDevice device, const VkFenceGetWin32HandleInfoKHR *pGetWin32HandleInfo, HANDLE *pHandle)
Definition: vulkan_win32.h:212