Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Tetragramm
GitHub Repository: Tetragramm/opencv
Path: blob/master/3rdparty/include/vulkan/vulkan_core.h
16354 views
1
#ifndef VULKAN_CORE_H_
2
#define VULKAN_CORE_H_ 1
3
4
#ifdef __cplusplus
5
extern "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_VERSION_1_0 1
31
#include "vk_platform.h"
32
33
#define VK_MAKE_VERSION(major, minor, patch) \
34
(((major) << 22) | ((minor) << 12) | (patch))
35
36
// DEPRECATED: This define has been removed. Specific version defines (e.g. VK_API_VERSION_1_0), or the VK_MAKE_VERSION macro, should be used instead.
37
//#define VK_API_VERSION VK_MAKE_VERSION(1, 0, 0) // Patch version should always be set to 0
38
39
// Vulkan 1.0 version number
40
#define VK_API_VERSION_1_0 VK_MAKE_VERSION(1, 0, 0)// Patch version should always be set to 0
41
42
#define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22)
43
#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff)
44
#define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff)
45
// Version of this file
46
#define VK_HEADER_VERSION 87
47
48
49
#define VK_NULL_HANDLE 0
50
51
52
53
#define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;
54
55
56
#if !defined(VK_DEFINE_NON_DISPATCHABLE_HANDLE)
57
#if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__)
58
#define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object;
59
#else
60
#define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object;
61
#endif
62
#endif
63
64
65
66
typedef uint32_t VkFlags;
67
typedef uint32_t VkBool32;
68
typedef uint64_t VkDeviceSize;
69
typedef uint32_t VkSampleMask;
70
71
VK_DEFINE_HANDLE(VkInstance)
72
VK_DEFINE_HANDLE(VkPhysicalDevice)
73
VK_DEFINE_HANDLE(VkDevice)
74
VK_DEFINE_HANDLE(VkQueue)
75
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore)
76
VK_DEFINE_HANDLE(VkCommandBuffer)
77
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence)
78
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory)
79
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer)
80
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage)
81
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent)
82
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool)
83
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView)
84
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView)
85
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule)
86
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache)
87
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout)
88
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass)
89
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline)
90
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout)
91
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler)
92
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool)
93
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet)
94
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer)
95
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool)
96
97
#define VK_LOD_CLAMP_NONE 1000.0f
98
#define VK_REMAINING_MIP_LEVELS (~0U)
99
#define VK_REMAINING_ARRAY_LAYERS (~0U)
100
#define VK_WHOLE_SIZE (~0ULL)
101
#define VK_ATTACHMENT_UNUSED (~0U)
102
#define VK_TRUE 1
103
#define VK_FALSE 0
104
#define VK_QUEUE_FAMILY_IGNORED (~0U)
105
#define VK_SUBPASS_EXTERNAL (~0U)
106
#define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256
107
#define VK_UUID_SIZE 16
108
#define VK_MAX_MEMORY_TYPES 32
109
#define VK_MAX_MEMORY_HEAPS 16
110
#define VK_MAX_EXTENSION_NAME_SIZE 256
111
#define VK_MAX_DESCRIPTION_SIZE 256
112
113
114
typedef enum VkPipelineCacheHeaderVersion {
115
VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,
116
VK_PIPELINE_CACHE_HEADER_VERSION_BEGIN_RANGE = VK_PIPELINE_CACHE_HEADER_VERSION_ONE,
117
VK_PIPELINE_CACHE_HEADER_VERSION_END_RANGE = VK_PIPELINE_CACHE_HEADER_VERSION_ONE,
118
VK_PIPELINE_CACHE_HEADER_VERSION_RANGE_SIZE = (VK_PIPELINE_CACHE_HEADER_VERSION_ONE - VK_PIPELINE_CACHE_HEADER_VERSION_ONE + 1),
119
VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF
120
} VkPipelineCacheHeaderVersion;
121
122
typedef enum VkResult {
123
VK_SUCCESS = 0,
124
VK_NOT_READY = 1,
125
VK_TIMEOUT = 2,
126
VK_EVENT_SET = 3,
127
VK_EVENT_RESET = 4,
128
VK_INCOMPLETE = 5,
129
VK_ERROR_OUT_OF_HOST_MEMORY = -1,
130
VK_ERROR_OUT_OF_DEVICE_MEMORY = -2,
131
VK_ERROR_INITIALIZATION_FAILED = -3,
132
VK_ERROR_DEVICE_LOST = -4,
133
VK_ERROR_MEMORY_MAP_FAILED = -5,
134
VK_ERROR_LAYER_NOT_PRESENT = -6,
135
VK_ERROR_EXTENSION_NOT_PRESENT = -7,
136
VK_ERROR_FEATURE_NOT_PRESENT = -8,
137
VK_ERROR_INCOMPATIBLE_DRIVER = -9,
138
VK_ERROR_TOO_MANY_OBJECTS = -10,
139
VK_ERROR_FORMAT_NOT_SUPPORTED = -11,
140
VK_ERROR_FRAGMENTED_POOL = -12,
141
VK_ERROR_OUT_OF_POOL_MEMORY = -1000069000,
142
VK_ERROR_INVALID_EXTERNAL_HANDLE = -1000072003,
143
VK_ERROR_SURFACE_LOST_KHR = -1000000000,
144
VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001,
145
VK_SUBOPTIMAL_KHR = 1000001003,
146
VK_ERROR_OUT_OF_DATE_KHR = -1000001004,
147
VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001,
148
VK_ERROR_VALIDATION_FAILED_EXT = -1000011001,
149
VK_ERROR_INVALID_SHADER_NV = -1000012000,
150
VK_ERROR_FRAGMENTATION_EXT = -1000161000,
151
VK_ERROR_NOT_PERMITTED_EXT = -1000174001,
152
VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VK_ERROR_OUT_OF_POOL_MEMORY,
153
VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = VK_ERROR_INVALID_EXTERNAL_HANDLE,
154
VK_RESULT_BEGIN_RANGE = VK_ERROR_FRAGMENTED_POOL,
155
VK_RESULT_END_RANGE = VK_INCOMPLETE,
156
VK_RESULT_RANGE_SIZE = (VK_INCOMPLETE - VK_ERROR_FRAGMENTED_POOL + 1),
157
VK_RESULT_MAX_ENUM = 0x7FFFFFFF
158
} VkResult;
159
160
typedef enum VkStructureType {
161
VK_STRUCTURE_TYPE_APPLICATION_INFO = 0,
162
VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1,
163
VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2,
164
VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3,
165
VK_STRUCTURE_TYPE_SUBMIT_INFO = 4,
166
VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5,
167
VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6,
168
VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = 7,
169
VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8,
170
VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9,
171
VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10,
172
VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11,
173
VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12,
174
VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13,
175
VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14,
176
VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15,
177
VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16,
178
VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17,
179
VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18,
180
VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19,
181
VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20,
182
VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21,
183
VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22,
184
VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23,
185
VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24,
186
VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25,
187
VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26,
188
VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27,
189
VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28,
190
VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29,
191
VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30,
192
VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31,
193
VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32,
194
VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33,
195
VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34,
196
VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35,
197
VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36,
198
VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37,
199
VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38,
200
VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39,
201
VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40,
202
VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41,
203
VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42,
204
VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43,
205
VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44,
206
VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45,
207
VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46,
208
VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47,
209
VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48,
210
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES = 1000094000,
211
VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO = 1000157000,
212
VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO = 1000157001,
213
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000,
214
VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS = 1000127000,
215
VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001,
216
VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO = 1000060000,
217
VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO = 1000060003,
218
VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO = 1000060004,
219
VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO = 1000060005,
220
VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO = 1000060006,
221
VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO = 1000060013,
222
VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO = 1000060014,
223
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES = 1000070000,
224
VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO = 1000070001,
225
VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 = 1000146000,
226
VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 = 1000146001,
227
VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 = 1000146002,
228
VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 = 1000146003,
229
VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 = 1000146004,
230
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 = 1000059000,
231
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 = 1000059001,
232
VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 = 1000059002,
233
VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 = 1000059003,
234
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 = 1000059004,
235
VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 = 1000059005,
236
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 = 1000059006,
237
VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 = 1000059007,
238
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 = 1000059008,
239
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES = 1000117000,
240
VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO = 1000117001,
241
VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO = 1000117002,
242
VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO = 1000117003,
243
VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO = 1000053000,
244
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES = 1000053001,
245
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES = 1000053002,
246
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = 1000120000,
247
VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO = 1000145000,
248
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES = 1000145001,
249
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES = 1000145002,
250
VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 = 1000145003,
251
VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO = 1000156000,
252
VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO = 1000156001,
253
VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO = 1000156002,
254
VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO = 1000156003,
255
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES = 1000156004,
256
VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES = 1000156005,
257
VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO = 1000085000,
258
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO = 1000071000,
259
VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES = 1000071001,
260
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO = 1000071002,
261
VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES = 1000071003,
262
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES = 1000071004,
263
VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO = 1000072000,
264
VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO = 1000072001,
265
VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO = 1000072002,
266
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO = 1000112000,
267
VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES = 1000112001,
268
VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO = 1000113000,
269
VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO = 1000077000,
270
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO = 1000076000,
271
VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES = 1000076001,
272
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES = 1000168000,
273
VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT = 1000168001,
274
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = 1000063000,
275
VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000,
276
VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001,
277
VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR = 1000060007,
278
VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR = 1000060008,
279
VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR = 1000060009,
280
VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR = 1000060010,
281
VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR = 1000060011,
282
VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR = 1000060012,
283
VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000,
284
VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001,
285
VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = 1000003000,
286
VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000,
287
VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR = 1000005000,
288
VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR = 1000006000,
289
VK_STRUCTURE_TYPE_MIR_SURFACE_CREATE_INFO_KHR = 1000007000,
290
VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000,
291
VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000,
292
VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000,
293
VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = 1000018000,
294
VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000,
295
VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001,
296
VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002,
297
VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000,
298
VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001,
299
VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002,
300
VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000,
301
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000,
302
VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000,
303
VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001,
304
VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000,
305
VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001,
306
VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000,
307
VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000,
308
VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN = 1000062000,
309
VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT = 1000067000,
310
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT = 1000067001,
311
VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073000,
312
VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073001,
313
VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR = 1000073002,
314
VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR = 1000073003,
315
VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR = 1000074000,
316
VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR = 1000074001,
317
VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR = 1000074002,
318
VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR = 1000075000,
319
VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078000,
320
VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078001,
321
VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR = 1000078002,
322
VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR = 1000078003,
323
VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR = 1000079000,
324
VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR = 1000079001,
325
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = 1000080000,
326
VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT = 1000081000,
327
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT = 1000081001,
328
VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT = 1000081002,
329
VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000,
330
VK_STRUCTURE_TYPE_OBJECT_TABLE_CREATE_INFO_NVX = 1000086000,
331
VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX = 1000086001,
332
VK_STRUCTURE_TYPE_CMD_PROCESS_COMMANDS_INFO_NVX = 1000086002,
333
VK_STRUCTURE_TYPE_CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX = 1000086003,
334
VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_LIMITS_NVX = 1000086004,
335
VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_FEATURES_NVX = 1000086005,
336
VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = 1000087000,
337
VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT = 1000090000,
338
VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT = 1000091000,
339
VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT = 1000091001,
340
VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT = 1000091002,
341
VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003,
342
VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE = 1000092000,
343
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = 1000097000,
344
VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000,
345
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000,
346
VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001,
347
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT = 1000101000,
348
VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT = 1000101001,
349
VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000,
350
VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR = 1000109000,
351
VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR = 1000109001,
352
VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR = 1000109002,
353
VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR = 1000109003,
354
VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR = 1000109004,
355
VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR = 1000109005,
356
VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR = 1000109006,
357
VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000,
358
VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114000,
359
VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114001,
360
VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR = 1000114002,
361
VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR = 1000115000,
362
VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR = 1000115001,
363
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = 1000119000,
364
VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR = 1000119001,
365
VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR = 1000119002,
366
VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR = 1000121000,
367
VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR = 1000121001,
368
VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR = 1000121002,
369
VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR = 1000121003,
370
VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR = 1000121004,
371
VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000,
372
VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000,
373
VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT = 1000128000,
374
VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT = 1000128001,
375
VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT = 1000128002,
376
VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT = 1000128003,
377
VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000128004,
378
VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID = 1000129000,
379
VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID = 1000129001,
380
VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID = 1000129002,
381
VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129003,
382
VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004,
383
VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID = 1000129005,
384
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = 1000130000,
385
VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = 1000130001,
386
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT = 1000138000,
387
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT = 1000138001,
388
VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT = 1000138002,
389
VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT = 1000138003,
390
VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000,
391
VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT = 1000143001,
392
VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = 1000143002,
393
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT = 1000143003,
394
VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT = 1000143004,
395
VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR = 1000147000,
396
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = 1000148000,
397
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = 1000148001,
398
VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002,
399
VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = 1000149000,
400
VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000,
401
VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160000,
402
VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160001,
403
VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT = 1000161000,
404
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT = 1000161001,
405
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = 1000161002,
406
VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT = 1000161003,
407
VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = 1000161004,
408
VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000,
409
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV = 1000164001,
410
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV = 1000164002,
411
VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV = 1000164005,
412
VK_STRUCTURE_TYPE_RAYTRACING_PIPELINE_CREATE_INFO_NVX = 1000165000,
413
VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NVX = 1000165001,
414
VK_STRUCTURE_TYPE_GEOMETRY_INSTANCE_NVX = 1000165002,
415
VK_STRUCTURE_TYPE_GEOMETRY_NVX = 1000165003,
416
VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NVX = 1000165004,
417
VK_STRUCTURE_TYPE_GEOMETRY_AABB_NVX = 1000165005,
418
VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NVX = 1000165006,
419
VK_STRUCTURE_TYPE_DESCRIPTOR_ACCELERATION_STRUCTURE_INFO_NVX = 1000165007,
420
VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NVX = 1000165008,
421
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAYTRACING_PROPERTIES_NVX = 1000165009,
422
VK_STRUCTURE_TYPE_HIT_SHADER_MODULE_CREATE_INFO_NVX = 1000165010,
423
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV = 1000166000,
424
VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV = 1000166001,
425
VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = 1000174000,
426
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = 1000177000,
427
VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT = 1000178000,
428
VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001,
429
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002,
430
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = 1000180000,
431
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000,
432
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000,
433
VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = 1000190001,
434
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = 1000190002,
435
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = 1000196000,
436
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV = 1000201000,
437
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV = 1000202000,
438
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV = 1000202001,
439
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV = 1000203000,
440
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV = 1000204000,
441
VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV = 1000205000,
442
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV = 1000205002,
443
VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV = 1000206000,
444
VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV = 1000206001,
445
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = 1000211000,
446
VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA = 1000214000,
447
VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
448
VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
449
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
450
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
451
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,
452
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,
453
VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2,
454
VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2,
455
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
456
VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2,
457
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
458
VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2,
459
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
460
VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO,
461
VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
462
VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
463
VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO,
464
VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO,
465
VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,
466
VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,
467
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES,
468
VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO,
469
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
470
VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES,
471
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
472
VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES,
473
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES,
474
VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
475
VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
476
VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO,
477
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
478
VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,
479
VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO,
480
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
481
VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
482
VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT,
483
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
484
VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,
485
VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,
486
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
487
VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
488
VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,
489
VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
490
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES,
491
VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS,
492
VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,
493
VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,
494
VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,
495
VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
496
VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,
497
VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
498
VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
499
VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO,
500
VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,
501
VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
502
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
503
VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
504
VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,
505
VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO,
506
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
507
VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,
508
VK_STRUCTURE_TYPE_BEGIN_RANGE = VK_STRUCTURE_TYPE_APPLICATION_INFO,
509
VK_STRUCTURE_TYPE_END_RANGE = VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO,
510
VK_STRUCTURE_TYPE_RANGE_SIZE = (VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO - VK_STRUCTURE_TYPE_APPLICATION_INFO + 1),
511
VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
512
} VkStructureType;
513
514
typedef enum VkSystemAllocationScope {
515
VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0,
516
VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1,
517
VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2,
518
VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3,
519
VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4,
520
VK_SYSTEM_ALLOCATION_SCOPE_BEGIN_RANGE = VK_SYSTEM_ALLOCATION_SCOPE_COMMAND,
521
VK_SYSTEM_ALLOCATION_SCOPE_END_RANGE = VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE,
522
VK_SYSTEM_ALLOCATION_SCOPE_RANGE_SIZE = (VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE - VK_SYSTEM_ALLOCATION_SCOPE_COMMAND + 1),
523
VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF
524
} VkSystemAllocationScope;
525
526
typedef enum VkInternalAllocationType {
527
VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0,
528
VK_INTERNAL_ALLOCATION_TYPE_BEGIN_RANGE = VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE,
529
VK_INTERNAL_ALLOCATION_TYPE_END_RANGE = VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE,
530
VK_INTERNAL_ALLOCATION_TYPE_RANGE_SIZE = (VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE - VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE + 1),
531
VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF
532
} VkInternalAllocationType;
533
534
typedef enum VkFormat {
535
VK_FORMAT_UNDEFINED = 0,
536
VK_FORMAT_R4G4_UNORM_PACK8 = 1,
537
VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2,
538
VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3,
539
VK_FORMAT_R5G6B5_UNORM_PACK16 = 4,
540
VK_FORMAT_B5G6R5_UNORM_PACK16 = 5,
541
VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6,
542
VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7,
543
VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8,
544
VK_FORMAT_R8_UNORM = 9,
545
VK_FORMAT_R8_SNORM = 10,
546
VK_FORMAT_R8_USCALED = 11,
547
VK_FORMAT_R8_SSCALED = 12,
548
VK_FORMAT_R8_UINT = 13,
549
VK_FORMAT_R8_SINT = 14,
550
VK_FORMAT_R8_SRGB = 15,
551
VK_FORMAT_R8G8_UNORM = 16,
552
VK_FORMAT_R8G8_SNORM = 17,
553
VK_FORMAT_R8G8_USCALED = 18,
554
VK_FORMAT_R8G8_SSCALED = 19,
555
VK_FORMAT_R8G8_UINT = 20,
556
VK_FORMAT_R8G8_SINT = 21,
557
VK_FORMAT_R8G8_SRGB = 22,
558
VK_FORMAT_R8G8B8_UNORM = 23,
559
VK_FORMAT_R8G8B8_SNORM = 24,
560
VK_FORMAT_R8G8B8_USCALED = 25,
561
VK_FORMAT_R8G8B8_SSCALED = 26,
562
VK_FORMAT_R8G8B8_UINT = 27,
563
VK_FORMAT_R8G8B8_SINT = 28,
564
VK_FORMAT_R8G8B8_SRGB = 29,
565
VK_FORMAT_B8G8R8_UNORM = 30,
566
VK_FORMAT_B8G8R8_SNORM = 31,
567
VK_FORMAT_B8G8R8_USCALED = 32,
568
VK_FORMAT_B8G8R8_SSCALED = 33,
569
VK_FORMAT_B8G8R8_UINT = 34,
570
VK_FORMAT_B8G8R8_SINT = 35,
571
VK_FORMAT_B8G8R8_SRGB = 36,
572
VK_FORMAT_R8G8B8A8_UNORM = 37,
573
VK_FORMAT_R8G8B8A8_SNORM = 38,
574
VK_FORMAT_R8G8B8A8_USCALED = 39,
575
VK_FORMAT_R8G8B8A8_SSCALED = 40,
576
VK_FORMAT_R8G8B8A8_UINT = 41,
577
VK_FORMAT_R8G8B8A8_SINT = 42,
578
VK_FORMAT_R8G8B8A8_SRGB = 43,
579
VK_FORMAT_B8G8R8A8_UNORM = 44,
580
VK_FORMAT_B8G8R8A8_SNORM = 45,
581
VK_FORMAT_B8G8R8A8_USCALED = 46,
582
VK_FORMAT_B8G8R8A8_SSCALED = 47,
583
VK_FORMAT_B8G8R8A8_UINT = 48,
584
VK_FORMAT_B8G8R8A8_SINT = 49,
585
VK_FORMAT_B8G8R8A8_SRGB = 50,
586
VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51,
587
VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52,
588
VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53,
589
VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54,
590
VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55,
591
VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56,
592
VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57,
593
VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58,
594
VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59,
595
VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60,
596
VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61,
597
VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62,
598
VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63,
599
VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64,
600
VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65,
601
VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66,
602
VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67,
603
VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68,
604
VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69,
605
VK_FORMAT_R16_UNORM = 70,
606
VK_FORMAT_R16_SNORM = 71,
607
VK_FORMAT_R16_USCALED = 72,
608
VK_FORMAT_R16_SSCALED = 73,
609
VK_FORMAT_R16_UINT = 74,
610
VK_FORMAT_R16_SINT = 75,
611
VK_FORMAT_R16_SFLOAT = 76,
612
VK_FORMAT_R16G16_UNORM = 77,
613
VK_FORMAT_R16G16_SNORM = 78,
614
VK_FORMAT_R16G16_USCALED = 79,
615
VK_FORMAT_R16G16_SSCALED = 80,
616
VK_FORMAT_R16G16_UINT = 81,
617
VK_FORMAT_R16G16_SINT = 82,
618
VK_FORMAT_R16G16_SFLOAT = 83,
619
VK_FORMAT_R16G16B16_UNORM = 84,
620
VK_FORMAT_R16G16B16_SNORM = 85,
621
VK_FORMAT_R16G16B16_USCALED = 86,
622
VK_FORMAT_R16G16B16_SSCALED = 87,
623
VK_FORMAT_R16G16B16_UINT = 88,
624
VK_FORMAT_R16G16B16_SINT = 89,
625
VK_FORMAT_R16G16B16_SFLOAT = 90,
626
VK_FORMAT_R16G16B16A16_UNORM = 91,
627
VK_FORMAT_R16G16B16A16_SNORM = 92,
628
VK_FORMAT_R16G16B16A16_USCALED = 93,
629
VK_FORMAT_R16G16B16A16_SSCALED = 94,
630
VK_FORMAT_R16G16B16A16_UINT = 95,
631
VK_FORMAT_R16G16B16A16_SINT = 96,
632
VK_FORMAT_R16G16B16A16_SFLOAT = 97,
633
VK_FORMAT_R32_UINT = 98,
634
VK_FORMAT_R32_SINT = 99,
635
VK_FORMAT_R32_SFLOAT = 100,
636
VK_FORMAT_R32G32_UINT = 101,
637
VK_FORMAT_R32G32_SINT = 102,
638
VK_FORMAT_R32G32_SFLOAT = 103,
639
VK_FORMAT_R32G32B32_UINT = 104,
640
VK_FORMAT_R32G32B32_SINT = 105,
641
VK_FORMAT_R32G32B32_SFLOAT = 106,
642
VK_FORMAT_R32G32B32A32_UINT = 107,
643
VK_FORMAT_R32G32B32A32_SINT = 108,
644
VK_FORMAT_R32G32B32A32_SFLOAT = 109,
645
VK_FORMAT_R64_UINT = 110,
646
VK_FORMAT_R64_SINT = 111,
647
VK_FORMAT_R64_SFLOAT = 112,
648
VK_FORMAT_R64G64_UINT = 113,
649
VK_FORMAT_R64G64_SINT = 114,
650
VK_FORMAT_R64G64_SFLOAT = 115,
651
VK_FORMAT_R64G64B64_UINT = 116,
652
VK_FORMAT_R64G64B64_SINT = 117,
653
VK_FORMAT_R64G64B64_SFLOAT = 118,
654
VK_FORMAT_R64G64B64A64_UINT = 119,
655
VK_FORMAT_R64G64B64A64_SINT = 120,
656
VK_FORMAT_R64G64B64A64_SFLOAT = 121,
657
VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122,
658
VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123,
659
VK_FORMAT_D16_UNORM = 124,
660
VK_FORMAT_X8_D24_UNORM_PACK32 = 125,
661
VK_FORMAT_D32_SFLOAT = 126,
662
VK_FORMAT_S8_UINT = 127,
663
VK_FORMAT_D16_UNORM_S8_UINT = 128,
664
VK_FORMAT_D24_UNORM_S8_UINT = 129,
665
VK_FORMAT_D32_SFLOAT_S8_UINT = 130,
666
VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131,
667
VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132,
668
VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133,
669
VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134,
670
VK_FORMAT_BC2_UNORM_BLOCK = 135,
671
VK_FORMAT_BC2_SRGB_BLOCK = 136,
672
VK_FORMAT_BC3_UNORM_BLOCK = 137,
673
VK_FORMAT_BC3_SRGB_BLOCK = 138,
674
VK_FORMAT_BC4_UNORM_BLOCK = 139,
675
VK_FORMAT_BC4_SNORM_BLOCK = 140,
676
VK_FORMAT_BC5_UNORM_BLOCK = 141,
677
VK_FORMAT_BC5_SNORM_BLOCK = 142,
678
VK_FORMAT_BC6H_UFLOAT_BLOCK = 143,
679
VK_FORMAT_BC6H_SFLOAT_BLOCK = 144,
680
VK_FORMAT_BC7_UNORM_BLOCK = 145,
681
VK_FORMAT_BC7_SRGB_BLOCK = 146,
682
VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147,
683
VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148,
684
VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149,
685
VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150,
686
VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151,
687
VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152,
688
VK_FORMAT_EAC_R11_UNORM_BLOCK = 153,
689
VK_FORMAT_EAC_R11_SNORM_BLOCK = 154,
690
VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155,
691
VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156,
692
VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157,
693
VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158,
694
VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159,
695
VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160,
696
VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161,
697
VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162,
698
VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163,
699
VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164,
700
VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165,
701
VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166,
702
VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167,
703
VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168,
704
VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169,
705
VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170,
706
VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171,
707
VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172,
708
VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173,
709
VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174,
710
VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175,
711
VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176,
712
VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177,
713
VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178,
714
VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179,
715
VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180,
716
VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181,
717
VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182,
718
VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183,
719
VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184,
720
VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000,
721
VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001,
722
VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002,
723
VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003,
724
VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004,
725
VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005,
726
VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006,
727
VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007,
728
VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008,
729
VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009,
730
VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010,
731
VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011,
732
VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012,
733
VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013,
734
VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014,
735
VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015,
736
VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016,
737
VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017,
738
VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018,
739
VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019,
740
VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020,
741
VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021,
742
VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022,
743
VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023,
744
VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024,
745
VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025,
746
VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026,
747
VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027,
748
VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028,
749
VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029,
750
VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030,
751
VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031,
752
VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032,
753
VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033,
754
VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000,
755
VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001,
756
VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002,
757
VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003,
758
VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004,
759
VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005,
760
VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006,
761
VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007,
762
VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VK_FORMAT_G8B8G8R8_422_UNORM,
763
VK_FORMAT_B8G8R8G8_422_UNORM_KHR = VK_FORMAT_B8G8R8G8_422_UNORM,
764
VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,
765
VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,
766
VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,
767
VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,
768
VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,
769
VK_FORMAT_R10X6_UNORM_PACK16_KHR = VK_FORMAT_R10X6_UNORM_PACK16,
770
VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16,
771
VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,
772
VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,
773
VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,
774
VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,
775
VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,
776
VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,
777
VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,
778
VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,
779
VK_FORMAT_R12X4_UNORM_PACK16_KHR = VK_FORMAT_R12X4_UNORM_PACK16,
780
VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16,
781
VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,
782
VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,
783
VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,
784
VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,
785
VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,
786
VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,
787
VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,
788
VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,
789
VK_FORMAT_G16B16G16R16_422_UNORM_KHR = VK_FORMAT_G16B16G16R16_422_UNORM,
790
VK_FORMAT_B16G16R16G16_422_UNORM_KHR = VK_FORMAT_B16G16R16G16_422_UNORM,
791
VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,
792
VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,
793
VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,
794
VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,
795
VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,
796
VK_FORMAT_BEGIN_RANGE = VK_FORMAT_UNDEFINED,
797
VK_FORMAT_END_RANGE = VK_FORMAT_ASTC_12x12_SRGB_BLOCK,
798
VK_FORMAT_RANGE_SIZE = (VK_FORMAT_ASTC_12x12_SRGB_BLOCK - VK_FORMAT_UNDEFINED + 1),
799
VK_FORMAT_MAX_ENUM = 0x7FFFFFFF
800
} VkFormat;
801
802
typedef enum VkImageType {
803
VK_IMAGE_TYPE_1D = 0,
804
VK_IMAGE_TYPE_2D = 1,
805
VK_IMAGE_TYPE_3D = 2,
806
VK_IMAGE_TYPE_BEGIN_RANGE = VK_IMAGE_TYPE_1D,
807
VK_IMAGE_TYPE_END_RANGE = VK_IMAGE_TYPE_3D,
808
VK_IMAGE_TYPE_RANGE_SIZE = (VK_IMAGE_TYPE_3D - VK_IMAGE_TYPE_1D + 1),
809
VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF
810
} VkImageType;
811
812
typedef enum VkImageTiling {
813
VK_IMAGE_TILING_OPTIMAL = 0,
814
VK_IMAGE_TILING_LINEAR = 1,
815
VK_IMAGE_TILING_BEGIN_RANGE = VK_IMAGE_TILING_OPTIMAL,
816
VK_IMAGE_TILING_END_RANGE = VK_IMAGE_TILING_LINEAR,
817
VK_IMAGE_TILING_RANGE_SIZE = (VK_IMAGE_TILING_LINEAR - VK_IMAGE_TILING_OPTIMAL + 1),
818
VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF
819
} VkImageTiling;
820
821
typedef enum VkPhysicalDeviceType {
822
VK_PHYSICAL_DEVICE_TYPE_OTHER = 0,
823
VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1,
824
VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2,
825
VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3,
826
VK_PHYSICAL_DEVICE_TYPE_CPU = 4,
827
VK_PHYSICAL_DEVICE_TYPE_BEGIN_RANGE = VK_PHYSICAL_DEVICE_TYPE_OTHER,
828
VK_PHYSICAL_DEVICE_TYPE_END_RANGE = VK_PHYSICAL_DEVICE_TYPE_CPU,
829
VK_PHYSICAL_DEVICE_TYPE_RANGE_SIZE = (VK_PHYSICAL_DEVICE_TYPE_CPU - VK_PHYSICAL_DEVICE_TYPE_OTHER + 1),
830
VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF
831
} VkPhysicalDeviceType;
832
833
typedef enum VkQueryType {
834
VK_QUERY_TYPE_OCCLUSION = 0,
835
VK_QUERY_TYPE_PIPELINE_STATISTICS = 1,
836
VK_QUERY_TYPE_TIMESTAMP = 2,
837
VK_QUERY_TYPE_COMPACTED_SIZE_NVX = 1000165000,
838
VK_QUERY_TYPE_BEGIN_RANGE = VK_QUERY_TYPE_OCCLUSION,
839
VK_QUERY_TYPE_END_RANGE = VK_QUERY_TYPE_TIMESTAMP,
840
VK_QUERY_TYPE_RANGE_SIZE = (VK_QUERY_TYPE_TIMESTAMP - VK_QUERY_TYPE_OCCLUSION + 1),
841
VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF
842
} VkQueryType;
843
844
typedef enum VkSharingMode {
845
VK_SHARING_MODE_EXCLUSIVE = 0,
846
VK_SHARING_MODE_CONCURRENT = 1,
847
VK_SHARING_MODE_BEGIN_RANGE = VK_SHARING_MODE_EXCLUSIVE,
848
VK_SHARING_MODE_END_RANGE = VK_SHARING_MODE_CONCURRENT,
849
VK_SHARING_MODE_RANGE_SIZE = (VK_SHARING_MODE_CONCURRENT - VK_SHARING_MODE_EXCLUSIVE + 1),
850
VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF
851
} VkSharingMode;
852
853
typedef enum VkImageLayout {
854
VK_IMAGE_LAYOUT_UNDEFINED = 0,
855
VK_IMAGE_LAYOUT_GENERAL = 1,
856
VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2,
857
VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3,
858
VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4,
859
VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5,
860
VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6,
861
VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7,
862
VK_IMAGE_LAYOUT_PREINITIALIZED = 8,
863
VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000,
864
VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001,
865
VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002,
866
VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000,
867
VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003,
868
VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
869
VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
870
VK_IMAGE_LAYOUT_BEGIN_RANGE = VK_IMAGE_LAYOUT_UNDEFINED,
871
VK_IMAGE_LAYOUT_END_RANGE = VK_IMAGE_LAYOUT_PREINITIALIZED,
872
VK_IMAGE_LAYOUT_RANGE_SIZE = (VK_IMAGE_LAYOUT_PREINITIALIZED - VK_IMAGE_LAYOUT_UNDEFINED + 1),
873
VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF
874
} VkImageLayout;
875
876
typedef enum VkImageViewType {
877
VK_IMAGE_VIEW_TYPE_1D = 0,
878
VK_IMAGE_VIEW_TYPE_2D = 1,
879
VK_IMAGE_VIEW_TYPE_3D = 2,
880
VK_IMAGE_VIEW_TYPE_CUBE = 3,
881
VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4,
882
VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5,
883
VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6,
884
VK_IMAGE_VIEW_TYPE_BEGIN_RANGE = VK_IMAGE_VIEW_TYPE_1D,
885
VK_IMAGE_VIEW_TYPE_END_RANGE = VK_IMAGE_VIEW_TYPE_CUBE_ARRAY,
886
VK_IMAGE_VIEW_TYPE_RANGE_SIZE = (VK_IMAGE_VIEW_TYPE_CUBE_ARRAY - VK_IMAGE_VIEW_TYPE_1D + 1),
887
VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF
888
} VkImageViewType;
889
890
typedef enum VkComponentSwizzle {
891
VK_COMPONENT_SWIZZLE_IDENTITY = 0,
892
VK_COMPONENT_SWIZZLE_ZERO = 1,
893
VK_COMPONENT_SWIZZLE_ONE = 2,
894
VK_COMPONENT_SWIZZLE_R = 3,
895
VK_COMPONENT_SWIZZLE_G = 4,
896
VK_COMPONENT_SWIZZLE_B = 5,
897
VK_COMPONENT_SWIZZLE_A = 6,
898
VK_COMPONENT_SWIZZLE_BEGIN_RANGE = VK_COMPONENT_SWIZZLE_IDENTITY,
899
VK_COMPONENT_SWIZZLE_END_RANGE = VK_COMPONENT_SWIZZLE_A,
900
VK_COMPONENT_SWIZZLE_RANGE_SIZE = (VK_COMPONENT_SWIZZLE_A - VK_COMPONENT_SWIZZLE_IDENTITY + 1),
901
VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF
902
} VkComponentSwizzle;
903
904
typedef enum VkVertexInputRate {
905
VK_VERTEX_INPUT_RATE_VERTEX = 0,
906
VK_VERTEX_INPUT_RATE_INSTANCE = 1,
907
VK_VERTEX_INPUT_RATE_BEGIN_RANGE = VK_VERTEX_INPUT_RATE_VERTEX,
908
VK_VERTEX_INPUT_RATE_END_RANGE = VK_VERTEX_INPUT_RATE_INSTANCE,
909
VK_VERTEX_INPUT_RATE_RANGE_SIZE = (VK_VERTEX_INPUT_RATE_INSTANCE - VK_VERTEX_INPUT_RATE_VERTEX + 1),
910
VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF
911
} VkVertexInputRate;
912
913
typedef enum VkPrimitiveTopology {
914
VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0,
915
VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1,
916
VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2,
917
VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3,
918
VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4,
919
VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5,
920
VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6,
921
VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7,
922
VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8,
923
VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9,
924
VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10,
925
VK_PRIMITIVE_TOPOLOGY_BEGIN_RANGE = VK_PRIMITIVE_TOPOLOGY_POINT_LIST,
926
VK_PRIMITIVE_TOPOLOGY_END_RANGE = VK_PRIMITIVE_TOPOLOGY_PATCH_LIST,
927
VK_PRIMITIVE_TOPOLOGY_RANGE_SIZE = (VK_PRIMITIVE_TOPOLOGY_PATCH_LIST - VK_PRIMITIVE_TOPOLOGY_POINT_LIST + 1),
928
VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF
929
} VkPrimitiveTopology;
930
931
typedef enum VkPolygonMode {
932
VK_POLYGON_MODE_FILL = 0,
933
VK_POLYGON_MODE_LINE = 1,
934
VK_POLYGON_MODE_POINT = 2,
935
VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000,
936
VK_POLYGON_MODE_BEGIN_RANGE = VK_POLYGON_MODE_FILL,
937
VK_POLYGON_MODE_END_RANGE = VK_POLYGON_MODE_POINT,
938
VK_POLYGON_MODE_RANGE_SIZE = (VK_POLYGON_MODE_POINT - VK_POLYGON_MODE_FILL + 1),
939
VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF
940
} VkPolygonMode;
941
942
typedef enum VkFrontFace {
943
VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,
944
VK_FRONT_FACE_CLOCKWISE = 1,
945
VK_FRONT_FACE_BEGIN_RANGE = VK_FRONT_FACE_COUNTER_CLOCKWISE,
946
VK_FRONT_FACE_END_RANGE = VK_FRONT_FACE_CLOCKWISE,
947
VK_FRONT_FACE_RANGE_SIZE = (VK_FRONT_FACE_CLOCKWISE - VK_FRONT_FACE_COUNTER_CLOCKWISE + 1),
948
VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF
949
} VkFrontFace;
950
951
typedef enum VkCompareOp {
952
VK_COMPARE_OP_NEVER = 0,
953
VK_COMPARE_OP_LESS = 1,
954
VK_COMPARE_OP_EQUAL = 2,
955
VK_COMPARE_OP_LESS_OR_EQUAL = 3,
956
VK_COMPARE_OP_GREATER = 4,
957
VK_COMPARE_OP_NOT_EQUAL = 5,
958
VK_COMPARE_OP_GREATER_OR_EQUAL = 6,
959
VK_COMPARE_OP_ALWAYS = 7,
960
VK_COMPARE_OP_BEGIN_RANGE = VK_COMPARE_OP_NEVER,
961
VK_COMPARE_OP_END_RANGE = VK_COMPARE_OP_ALWAYS,
962
VK_COMPARE_OP_RANGE_SIZE = (VK_COMPARE_OP_ALWAYS - VK_COMPARE_OP_NEVER + 1),
963
VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF
964
} VkCompareOp;
965
966
typedef enum VkStencilOp {
967
VK_STENCIL_OP_KEEP = 0,
968
VK_STENCIL_OP_ZERO = 1,
969
VK_STENCIL_OP_REPLACE = 2,
970
VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3,
971
VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4,
972
VK_STENCIL_OP_INVERT = 5,
973
VK_STENCIL_OP_INCREMENT_AND_WRAP = 6,
974
VK_STENCIL_OP_DECREMENT_AND_WRAP = 7,
975
VK_STENCIL_OP_BEGIN_RANGE = VK_STENCIL_OP_KEEP,
976
VK_STENCIL_OP_END_RANGE = VK_STENCIL_OP_DECREMENT_AND_WRAP,
977
VK_STENCIL_OP_RANGE_SIZE = (VK_STENCIL_OP_DECREMENT_AND_WRAP - VK_STENCIL_OP_KEEP + 1),
978
VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF
979
} VkStencilOp;
980
981
typedef enum VkLogicOp {
982
VK_LOGIC_OP_CLEAR = 0,
983
VK_LOGIC_OP_AND = 1,
984
VK_LOGIC_OP_AND_REVERSE = 2,
985
VK_LOGIC_OP_COPY = 3,
986
VK_LOGIC_OP_AND_INVERTED = 4,
987
VK_LOGIC_OP_NO_OP = 5,
988
VK_LOGIC_OP_XOR = 6,
989
VK_LOGIC_OP_OR = 7,
990
VK_LOGIC_OP_NOR = 8,
991
VK_LOGIC_OP_EQUIVALENT = 9,
992
VK_LOGIC_OP_INVERT = 10,
993
VK_LOGIC_OP_OR_REVERSE = 11,
994
VK_LOGIC_OP_COPY_INVERTED = 12,
995
VK_LOGIC_OP_OR_INVERTED = 13,
996
VK_LOGIC_OP_NAND = 14,
997
VK_LOGIC_OP_SET = 15,
998
VK_LOGIC_OP_BEGIN_RANGE = VK_LOGIC_OP_CLEAR,
999
VK_LOGIC_OP_END_RANGE = VK_LOGIC_OP_SET,
1000
VK_LOGIC_OP_RANGE_SIZE = (VK_LOGIC_OP_SET - VK_LOGIC_OP_CLEAR + 1),
1001
VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF
1002
} VkLogicOp;
1003
1004
typedef enum VkBlendFactor {
1005
VK_BLEND_FACTOR_ZERO = 0,
1006
VK_BLEND_FACTOR_ONE = 1,
1007
VK_BLEND_FACTOR_SRC_COLOR = 2,
1008
VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3,
1009
VK_BLEND_FACTOR_DST_COLOR = 4,
1010
VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5,
1011
VK_BLEND_FACTOR_SRC_ALPHA = 6,
1012
VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7,
1013
VK_BLEND_FACTOR_DST_ALPHA = 8,
1014
VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9,
1015
VK_BLEND_FACTOR_CONSTANT_COLOR = 10,
1016
VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11,
1017
VK_BLEND_FACTOR_CONSTANT_ALPHA = 12,
1018
VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13,
1019
VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14,
1020
VK_BLEND_FACTOR_SRC1_COLOR = 15,
1021
VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16,
1022
VK_BLEND_FACTOR_SRC1_ALPHA = 17,
1023
VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18,
1024
VK_BLEND_FACTOR_BEGIN_RANGE = VK_BLEND_FACTOR_ZERO,
1025
VK_BLEND_FACTOR_END_RANGE = VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA,
1026
VK_BLEND_FACTOR_RANGE_SIZE = (VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA - VK_BLEND_FACTOR_ZERO + 1),
1027
VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF
1028
} VkBlendFactor;
1029
1030
typedef enum VkBlendOp {
1031
VK_BLEND_OP_ADD = 0,
1032
VK_BLEND_OP_SUBTRACT = 1,
1033
VK_BLEND_OP_REVERSE_SUBTRACT = 2,
1034
VK_BLEND_OP_MIN = 3,
1035
VK_BLEND_OP_MAX = 4,
1036
VK_BLEND_OP_ZERO_EXT = 1000148000,
1037
VK_BLEND_OP_SRC_EXT = 1000148001,
1038
VK_BLEND_OP_DST_EXT = 1000148002,
1039
VK_BLEND_OP_SRC_OVER_EXT = 1000148003,
1040
VK_BLEND_OP_DST_OVER_EXT = 1000148004,
1041
VK_BLEND_OP_SRC_IN_EXT = 1000148005,
1042
VK_BLEND_OP_DST_IN_EXT = 1000148006,
1043
VK_BLEND_OP_SRC_OUT_EXT = 1000148007,
1044
VK_BLEND_OP_DST_OUT_EXT = 1000148008,
1045
VK_BLEND_OP_SRC_ATOP_EXT = 1000148009,
1046
VK_BLEND_OP_DST_ATOP_EXT = 1000148010,
1047
VK_BLEND_OP_XOR_EXT = 1000148011,
1048
VK_BLEND_OP_MULTIPLY_EXT = 1000148012,
1049
VK_BLEND_OP_SCREEN_EXT = 1000148013,
1050
VK_BLEND_OP_OVERLAY_EXT = 1000148014,
1051
VK_BLEND_OP_DARKEN_EXT = 1000148015,
1052
VK_BLEND_OP_LIGHTEN_EXT = 1000148016,
1053
VK_BLEND_OP_COLORDODGE_EXT = 1000148017,
1054
VK_BLEND_OP_COLORBURN_EXT = 1000148018,
1055
VK_BLEND_OP_HARDLIGHT_EXT = 1000148019,
1056
VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020,
1057
VK_BLEND_OP_DIFFERENCE_EXT = 1000148021,
1058
VK_BLEND_OP_EXCLUSION_EXT = 1000148022,
1059
VK_BLEND_OP_INVERT_EXT = 1000148023,
1060
VK_BLEND_OP_INVERT_RGB_EXT = 1000148024,
1061
VK_BLEND_OP_LINEARDODGE_EXT = 1000148025,
1062
VK_BLEND_OP_LINEARBURN_EXT = 1000148026,
1063
VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027,
1064
VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028,
1065
VK_BLEND_OP_PINLIGHT_EXT = 1000148029,
1066
VK_BLEND_OP_HARDMIX_EXT = 1000148030,
1067
VK_BLEND_OP_HSL_HUE_EXT = 1000148031,
1068
VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032,
1069
VK_BLEND_OP_HSL_COLOR_EXT = 1000148033,
1070
VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034,
1071
VK_BLEND_OP_PLUS_EXT = 1000148035,
1072
VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036,
1073
VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037,
1074
VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038,
1075
VK_BLEND_OP_MINUS_EXT = 1000148039,
1076
VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040,
1077
VK_BLEND_OP_CONTRAST_EXT = 1000148041,
1078
VK_BLEND_OP_INVERT_OVG_EXT = 1000148042,
1079
VK_BLEND_OP_RED_EXT = 1000148043,
1080
VK_BLEND_OP_GREEN_EXT = 1000148044,
1081
VK_BLEND_OP_BLUE_EXT = 1000148045,
1082
VK_BLEND_OP_BEGIN_RANGE = VK_BLEND_OP_ADD,
1083
VK_BLEND_OP_END_RANGE = VK_BLEND_OP_MAX,
1084
VK_BLEND_OP_RANGE_SIZE = (VK_BLEND_OP_MAX - VK_BLEND_OP_ADD + 1),
1085
VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF
1086
} VkBlendOp;
1087
1088
typedef enum VkDynamicState {
1089
VK_DYNAMIC_STATE_VIEWPORT = 0,
1090
VK_DYNAMIC_STATE_SCISSOR = 1,
1091
VK_DYNAMIC_STATE_LINE_WIDTH = 2,
1092
VK_DYNAMIC_STATE_DEPTH_BIAS = 3,
1093
VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4,
1094
VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5,
1095
VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6,
1096
VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7,
1097
VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8,
1098
VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000,
1099
VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000,
1100
VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000,
1101
VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004,
1102
VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006,
1103
VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001,
1104
VK_DYNAMIC_STATE_BEGIN_RANGE = VK_DYNAMIC_STATE_VIEWPORT,
1105
VK_DYNAMIC_STATE_END_RANGE = VK_DYNAMIC_STATE_STENCIL_REFERENCE,
1106
VK_DYNAMIC_STATE_RANGE_SIZE = (VK_DYNAMIC_STATE_STENCIL_REFERENCE - VK_DYNAMIC_STATE_VIEWPORT + 1),
1107
VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF
1108
} VkDynamicState;
1109
1110
typedef enum VkFilter {
1111
VK_FILTER_NEAREST = 0,
1112
VK_FILTER_LINEAR = 1,
1113
VK_FILTER_CUBIC_IMG = 1000015000,
1114
VK_FILTER_BEGIN_RANGE = VK_FILTER_NEAREST,
1115
VK_FILTER_END_RANGE = VK_FILTER_LINEAR,
1116
VK_FILTER_RANGE_SIZE = (VK_FILTER_LINEAR - VK_FILTER_NEAREST + 1),
1117
VK_FILTER_MAX_ENUM = 0x7FFFFFFF
1118
} VkFilter;
1119
1120
typedef enum VkSamplerMipmapMode {
1121
VK_SAMPLER_MIPMAP_MODE_NEAREST = 0,
1122
VK_SAMPLER_MIPMAP_MODE_LINEAR = 1,
1123
VK_SAMPLER_MIPMAP_MODE_BEGIN_RANGE = VK_SAMPLER_MIPMAP_MODE_NEAREST,
1124
VK_SAMPLER_MIPMAP_MODE_END_RANGE = VK_SAMPLER_MIPMAP_MODE_LINEAR,
1125
VK_SAMPLER_MIPMAP_MODE_RANGE_SIZE = (VK_SAMPLER_MIPMAP_MODE_LINEAR - VK_SAMPLER_MIPMAP_MODE_NEAREST + 1),
1126
VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF
1127
} VkSamplerMipmapMode;
1128
1129
typedef enum VkSamplerAddressMode {
1130
VK_SAMPLER_ADDRESS_MODE_REPEAT = 0,
1131
VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1,
1132
VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2,
1133
VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3,
1134
VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4,
1135
VK_SAMPLER_ADDRESS_MODE_BEGIN_RANGE = VK_SAMPLER_ADDRESS_MODE_REPEAT,
1136
VK_SAMPLER_ADDRESS_MODE_END_RANGE = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER,
1137
VK_SAMPLER_ADDRESS_MODE_RANGE_SIZE = (VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER - VK_SAMPLER_ADDRESS_MODE_REPEAT + 1),
1138
VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF
1139
} VkSamplerAddressMode;
1140
1141
typedef enum VkBorderColor {
1142
VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0,
1143
VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1,
1144
VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2,
1145
VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3,
1146
VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4,
1147
VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5,
1148
VK_BORDER_COLOR_BEGIN_RANGE = VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK,
1149
VK_BORDER_COLOR_END_RANGE = VK_BORDER_COLOR_INT_OPAQUE_WHITE,
1150
VK_BORDER_COLOR_RANGE_SIZE = (VK_BORDER_COLOR_INT_OPAQUE_WHITE - VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK + 1),
1151
VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF
1152
} VkBorderColor;
1153
1154
typedef enum VkDescriptorType {
1155
VK_DESCRIPTOR_TYPE_SAMPLER = 0,
1156
VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1,
1157
VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2,
1158
VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3,
1159
VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4,
1160
VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5,
1161
VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6,
1162
VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7,
1163
VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8,
1164
VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9,
1165
VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10,
1166
VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = 1000138000,
1167
VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NVX = 1000165000,
1168
VK_DESCRIPTOR_TYPE_BEGIN_RANGE = VK_DESCRIPTOR_TYPE_SAMPLER,
1169
VK_DESCRIPTOR_TYPE_END_RANGE = VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT,
1170
VK_DESCRIPTOR_TYPE_RANGE_SIZE = (VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT - VK_DESCRIPTOR_TYPE_SAMPLER + 1),
1171
VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF
1172
} VkDescriptorType;
1173
1174
typedef enum VkAttachmentLoadOp {
1175
VK_ATTACHMENT_LOAD_OP_LOAD = 0,
1176
VK_ATTACHMENT_LOAD_OP_CLEAR = 1,
1177
VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2,
1178
VK_ATTACHMENT_LOAD_OP_BEGIN_RANGE = VK_ATTACHMENT_LOAD_OP_LOAD,
1179
VK_ATTACHMENT_LOAD_OP_END_RANGE = VK_ATTACHMENT_LOAD_OP_DONT_CARE,
1180
VK_ATTACHMENT_LOAD_OP_RANGE_SIZE = (VK_ATTACHMENT_LOAD_OP_DONT_CARE - VK_ATTACHMENT_LOAD_OP_LOAD + 1),
1181
VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF
1182
} VkAttachmentLoadOp;
1183
1184
typedef enum VkAttachmentStoreOp {
1185
VK_ATTACHMENT_STORE_OP_STORE = 0,
1186
VK_ATTACHMENT_STORE_OP_DONT_CARE = 1,
1187
VK_ATTACHMENT_STORE_OP_BEGIN_RANGE = VK_ATTACHMENT_STORE_OP_STORE,
1188
VK_ATTACHMENT_STORE_OP_END_RANGE = VK_ATTACHMENT_STORE_OP_DONT_CARE,
1189
VK_ATTACHMENT_STORE_OP_RANGE_SIZE = (VK_ATTACHMENT_STORE_OP_DONT_CARE - VK_ATTACHMENT_STORE_OP_STORE + 1),
1190
VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF
1191
} VkAttachmentStoreOp;
1192
1193
typedef enum VkPipelineBindPoint {
1194
VK_PIPELINE_BIND_POINT_GRAPHICS = 0,
1195
VK_PIPELINE_BIND_POINT_COMPUTE = 1,
1196
VK_PIPELINE_BIND_POINT_RAYTRACING_NVX = 1000165000,
1197
VK_PIPELINE_BIND_POINT_BEGIN_RANGE = VK_PIPELINE_BIND_POINT_GRAPHICS,
1198
VK_PIPELINE_BIND_POINT_END_RANGE = VK_PIPELINE_BIND_POINT_COMPUTE,
1199
VK_PIPELINE_BIND_POINT_RANGE_SIZE = (VK_PIPELINE_BIND_POINT_COMPUTE - VK_PIPELINE_BIND_POINT_GRAPHICS + 1),
1200
VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF
1201
} VkPipelineBindPoint;
1202
1203
typedef enum VkCommandBufferLevel {
1204
VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0,
1205
VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1,
1206
VK_COMMAND_BUFFER_LEVEL_BEGIN_RANGE = VK_COMMAND_BUFFER_LEVEL_PRIMARY,
1207
VK_COMMAND_BUFFER_LEVEL_END_RANGE = VK_COMMAND_BUFFER_LEVEL_SECONDARY,
1208
VK_COMMAND_BUFFER_LEVEL_RANGE_SIZE = (VK_COMMAND_BUFFER_LEVEL_SECONDARY - VK_COMMAND_BUFFER_LEVEL_PRIMARY + 1),
1209
VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF
1210
} VkCommandBufferLevel;
1211
1212
typedef enum VkIndexType {
1213
VK_INDEX_TYPE_UINT16 = 0,
1214
VK_INDEX_TYPE_UINT32 = 1,
1215
VK_INDEX_TYPE_BEGIN_RANGE = VK_INDEX_TYPE_UINT16,
1216
VK_INDEX_TYPE_END_RANGE = VK_INDEX_TYPE_UINT32,
1217
VK_INDEX_TYPE_RANGE_SIZE = (VK_INDEX_TYPE_UINT32 - VK_INDEX_TYPE_UINT16 + 1),
1218
VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF
1219
} VkIndexType;
1220
1221
typedef enum VkSubpassContents {
1222
VK_SUBPASS_CONTENTS_INLINE = 0,
1223
VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1,
1224
VK_SUBPASS_CONTENTS_BEGIN_RANGE = VK_SUBPASS_CONTENTS_INLINE,
1225
VK_SUBPASS_CONTENTS_END_RANGE = VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS,
1226
VK_SUBPASS_CONTENTS_RANGE_SIZE = (VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS - VK_SUBPASS_CONTENTS_INLINE + 1),
1227
VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF
1228
} VkSubpassContents;
1229
1230
typedef enum VkObjectType {
1231
VK_OBJECT_TYPE_UNKNOWN = 0,
1232
VK_OBJECT_TYPE_INSTANCE = 1,
1233
VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2,
1234
VK_OBJECT_TYPE_DEVICE = 3,
1235
VK_OBJECT_TYPE_QUEUE = 4,
1236
VK_OBJECT_TYPE_SEMAPHORE = 5,
1237
VK_OBJECT_TYPE_COMMAND_BUFFER = 6,
1238
VK_OBJECT_TYPE_FENCE = 7,
1239
VK_OBJECT_TYPE_DEVICE_MEMORY = 8,
1240
VK_OBJECT_TYPE_BUFFER = 9,
1241
VK_OBJECT_TYPE_IMAGE = 10,
1242
VK_OBJECT_TYPE_EVENT = 11,
1243
VK_OBJECT_TYPE_QUERY_POOL = 12,
1244
VK_OBJECT_TYPE_BUFFER_VIEW = 13,
1245
VK_OBJECT_TYPE_IMAGE_VIEW = 14,
1246
VK_OBJECT_TYPE_SHADER_MODULE = 15,
1247
VK_OBJECT_TYPE_PIPELINE_CACHE = 16,
1248
VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17,
1249
VK_OBJECT_TYPE_RENDER_PASS = 18,
1250
VK_OBJECT_TYPE_PIPELINE = 19,
1251
VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20,
1252
VK_OBJECT_TYPE_SAMPLER = 21,
1253
VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22,
1254
VK_OBJECT_TYPE_DESCRIPTOR_SET = 23,
1255
VK_OBJECT_TYPE_FRAMEBUFFER = 24,
1256
VK_OBJECT_TYPE_COMMAND_POOL = 25,
1257
VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000,
1258
VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000,
1259
VK_OBJECT_TYPE_SURFACE_KHR = 1000000000,
1260
VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000,
1261
VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000,
1262
VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001,
1263
VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000,
1264
VK_OBJECT_TYPE_OBJECT_TABLE_NVX = 1000086000,
1265
VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX = 1000086001,
1266
VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000,
1267
VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000,
1268
VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NVX = 1000165000,
1269
VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
1270
VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
1271
VK_OBJECT_TYPE_BEGIN_RANGE = VK_OBJECT_TYPE_UNKNOWN,
1272
VK_OBJECT_TYPE_END_RANGE = VK_OBJECT_TYPE_COMMAND_POOL,
1273
VK_OBJECT_TYPE_RANGE_SIZE = (VK_OBJECT_TYPE_COMMAND_POOL - VK_OBJECT_TYPE_UNKNOWN + 1),
1274
VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
1275
} VkObjectType;
1276
1277
typedef enum VkVendorId {
1278
VK_VENDOR_ID_VIV = 0x10001,
1279
VK_VENDOR_ID_VSI = 0x10002,
1280
VK_VENDOR_ID_KAZAN = 0x10003,
1281
VK_VENDOR_ID_BEGIN_RANGE = VK_VENDOR_ID_VIV,
1282
VK_VENDOR_ID_END_RANGE = VK_VENDOR_ID_KAZAN,
1283
VK_VENDOR_ID_RANGE_SIZE = (VK_VENDOR_ID_KAZAN - VK_VENDOR_ID_VIV + 1),
1284
VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF
1285
} VkVendorId;
1286
1287
typedef VkFlags VkInstanceCreateFlags;
1288
1289
typedef enum VkFormatFeatureFlagBits {
1290
VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001,
1291
VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002,
1292
VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004,
1293
VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008,
1294
VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010,
1295
VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020,
1296
VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040,
1297
VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080,
1298
VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100,
1299
VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200,
1300
VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400,
1301
VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800,
1302
VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000,
1303
VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 0x00004000,
1304
VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 0x00008000,
1305
VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000,
1306
VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000,
1307
VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000,
1308
VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000,
1309
VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000,
1310
VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000,
1311
VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000,
1312
VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 0x00002000,
1313
VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = 0x00010000,
1314
VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,
1315
VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT,
1316
VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,
1317
VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,
1318
VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,
1319
VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,
1320
VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT,
1321
VK_FORMAT_FEATURE_DISJOINT_BIT_KHR = VK_FORMAT_FEATURE_DISJOINT_BIT,
1322
VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,
1323
VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1324
} VkFormatFeatureFlagBits;
1325
typedef VkFlags VkFormatFeatureFlags;
1326
1327
typedef enum VkImageUsageFlagBits {
1328
VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001,
1329
VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002,
1330
VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004,
1331
VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008,
1332
VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010,
1333
VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020,
1334
VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040,
1335
VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080,
1336
VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = 0x00000100,
1337
VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1338
} VkImageUsageFlagBits;
1339
typedef VkFlags VkImageUsageFlags;
1340
1341
typedef enum VkImageCreateFlagBits {
1342
VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001,
1343
VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
1344
VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
1345
VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008,
1346
VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010,
1347
VK_IMAGE_CREATE_ALIAS_BIT = 0x00000400,
1348
VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 0x00000040,
1349
VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 0x00000020,
1350
VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 0x00000080,
1351
VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 0x00000100,
1352
VK_IMAGE_CREATE_PROTECTED_BIT = 0x00000800,
1353
VK_IMAGE_CREATE_DISJOINT_BIT = 0x00000200,
1354
VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000,
1355
VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000,
1356
VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,
1357
VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT,
1358
VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT,
1359
VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT,
1360
VK_IMAGE_CREATE_DISJOINT_BIT_KHR = VK_IMAGE_CREATE_DISJOINT_BIT,
1361
VK_IMAGE_CREATE_ALIAS_BIT_KHR = VK_IMAGE_CREATE_ALIAS_BIT,
1362
VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1363
} VkImageCreateFlagBits;
1364
typedef VkFlags VkImageCreateFlags;
1365
1366
typedef enum VkSampleCountFlagBits {
1367
VK_SAMPLE_COUNT_1_BIT = 0x00000001,
1368
VK_SAMPLE_COUNT_2_BIT = 0x00000002,
1369
VK_SAMPLE_COUNT_4_BIT = 0x00000004,
1370
VK_SAMPLE_COUNT_8_BIT = 0x00000008,
1371
VK_SAMPLE_COUNT_16_BIT = 0x00000010,
1372
VK_SAMPLE_COUNT_32_BIT = 0x00000020,
1373
VK_SAMPLE_COUNT_64_BIT = 0x00000040,
1374
VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1375
} VkSampleCountFlagBits;
1376
typedef VkFlags VkSampleCountFlags;
1377
1378
typedef enum VkQueueFlagBits {
1379
VK_QUEUE_GRAPHICS_BIT = 0x00000001,
1380
VK_QUEUE_COMPUTE_BIT = 0x00000002,
1381
VK_QUEUE_TRANSFER_BIT = 0x00000004,
1382
VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008,
1383
VK_QUEUE_PROTECTED_BIT = 0x00000010,
1384
VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1385
} VkQueueFlagBits;
1386
typedef VkFlags VkQueueFlags;
1387
1388
typedef enum VkMemoryPropertyFlagBits {
1389
VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001,
1390
VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002,
1391
VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004,
1392
VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008,
1393
VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010,
1394
VK_MEMORY_PROPERTY_PROTECTED_BIT = 0x00000020,
1395
VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1396
} VkMemoryPropertyFlagBits;
1397
typedef VkFlags VkMemoryPropertyFlags;
1398
1399
typedef enum VkMemoryHeapFlagBits {
1400
VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001,
1401
VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002,
1402
VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,
1403
VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1404
} VkMemoryHeapFlagBits;
1405
typedef VkFlags VkMemoryHeapFlags;
1406
typedef VkFlags VkDeviceCreateFlags;
1407
1408
typedef enum VkDeviceQueueCreateFlagBits {
1409
VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 0x00000001,
1410
VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1411
} VkDeviceQueueCreateFlagBits;
1412
typedef VkFlags VkDeviceQueueCreateFlags;
1413
1414
typedef enum VkPipelineStageFlagBits {
1415
VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001,
1416
VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002,
1417
VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004,
1418
VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008,
1419
VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010,
1420
VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020,
1421
VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040,
1422
VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080,
1423
VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100,
1424
VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200,
1425
VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400,
1426
VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800,
1427
VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000,
1428
VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000,
1429
VK_PIPELINE_STAGE_HOST_BIT = 0x00004000,
1430
VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000,
1431
VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000,
1432
VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000,
1433
VK_PIPELINE_STAGE_COMMAND_PROCESS_BIT_NVX = 0x00020000,
1434
VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = 0x00400000,
1435
VK_PIPELINE_STAGE_RAYTRACING_BIT_NVX = 0x00200000,
1436
VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = 0x00080000,
1437
VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = 0x00100000,
1438
VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1439
} VkPipelineStageFlagBits;
1440
typedef VkFlags VkPipelineStageFlags;
1441
typedef VkFlags VkMemoryMapFlags;
1442
1443
typedef enum VkImageAspectFlagBits {
1444
VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001,
1445
VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002,
1446
VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004,
1447
VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008,
1448
VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010,
1449
VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020,
1450
VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040,
1451
VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT,
1452
VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT,
1453
VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT,
1454
VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1455
} VkImageAspectFlagBits;
1456
typedef VkFlags VkImageAspectFlags;
1457
1458
typedef enum VkSparseImageFormatFlagBits {
1459
VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001,
1460
VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002,
1461
VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004,
1462
VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1463
} VkSparseImageFormatFlagBits;
1464
typedef VkFlags VkSparseImageFormatFlags;
1465
1466
typedef enum VkSparseMemoryBindFlagBits {
1467
VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001,
1468
VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1469
} VkSparseMemoryBindFlagBits;
1470
typedef VkFlags VkSparseMemoryBindFlags;
1471
1472
typedef enum VkFenceCreateFlagBits {
1473
VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001,
1474
VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1475
} VkFenceCreateFlagBits;
1476
typedef VkFlags VkFenceCreateFlags;
1477
typedef VkFlags VkSemaphoreCreateFlags;
1478
typedef VkFlags VkEventCreateFlags;
1479
typedef VkFlags VkQueryPoolCreateFlags;
1480
1481
typedef enum VkQueryPipelineStatisticFlagBits {
1482
VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001,
1483
VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002,
1484
VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004,
1485
VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008,
1486
VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010,
1487
VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020,
1488
VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040,
1489
VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080,
1490
VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100,
1491
VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200,
1492
VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400,
1493
VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1494
} VkQueryPipelineStatisticFlagBits;
1495
typedef VkFlags VkQueryPipelineStatisticFlags;
1496
1497
typedef enum VkQueryResultFlagBits {
1498
VK_QUERY_RESULT_64_BIT = 0x00000001,
1499
VK_QUERY_RESULT_WAIT_BIT = 0x00000002,
1500
VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004,
1501
VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008,
1502
VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1503
} VkQueryResultFlagBits;
1504
typedef VkFlags VkQueryResultFlags;
1505
1506
typedef enum VkBufferCreateFlagBits {
1507
VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001,
1508
VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
1509
VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
1510
VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008,
1511
VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1512
} VkBufferCreateFlagBits;
1513
typedef VkFlags VkBufferCreateFlags;
1514
1515
typedef enum VkBufferUsageFlagBits {
1516
VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001,
1517
VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002,
1518
VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004,
1519
VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008,
1520
VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010,
1521
VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020,
1522
VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040,
1523
VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080,
1524
VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100,
1525
VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200,
1526
VK_BUFFER_USAGE_RAYTRACING_BIT_NVX = 0x00000400,
1527
VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1528
} VkBufferUsageFlagBits;
1529
typedef VkFlags VkBufferUsageFlags;
1530
typedef VkFlags VkBufferViewCreateFlags;
1531
typedef VkFlags VkImageViewCreateFlags;
1532
typedef VkFlags VkShaderModuleCreateFlags;
1533
typedef VkFlags VkPipelineCacheCreateFlags;
1534
1535
typedef enum VkPipelineCreateFlagBits {
1536
VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001,
1537
VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002,
1538
VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004,
1539
VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008,
1540
VK_PIPELINE_CREATE_DISPATCH_BASE = 0x00000010,
1541
VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NVX = 0x00000020,
1542
VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,
1543
VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = VK_PIPELINE_CREATE_DISPATCH_BASE,
1544
VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1545
} VkPipelineCreateFlagBits;
1546
typedef VkFlags VkPipelineCreateFlags;
1547
typedef VkFlags VkPipelineShaderStageCreateFlags;
1548
1549
typedef enum VkShaderStageFlagBits {
1550
VK_SHADER_STAGE_VERTEX_BIT = 0x00000001,
1551
VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002,
1552
VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004,
1553
VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008,
1554
VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010,
1555
VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020,
1556
VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F,
1557
VK_SHADER_STAGE_ALL = 0x7FFFFFFF,
1558
VK_SHADER_STAGE_RAYGEN_BIT_NVX = 0x00000100,
1559
VK_SHADER_STAGE_ANY_HIT_BIT_NVX = 0x00000200,
1560
VK_SHADER_STAGE_CLOSEST_HIT_BIT_NVX = 0x00000400,
1561
VK_SHADER_STAGE_MISS_BIT_NVX = 0x00000800,
1562
VK_SHADER_STAGE_INTERSECTION_BIT_NVX = 0x00001000,
1563
VK_SHADER_STAGE_CALLABLE_BIT_NVX = 0x00002000,
1564
VK_SHADER_STAGE_TASK_BIT_NV = 0x00000040,
1565
VK_SHADER_STAGE_MESH_BIT_NV = 0x00000080,
1566
VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1567
} VkShaderStageFlagBits;
1568
typedef VkFlags VkPipelineVertexInputStateCreateFlags;
1569
typedef VkFlags VkPipelineInputAssemblyStateCreateFlags;
1570
typedef VkFlags VkPipelineTessellationStateCreateFlags;
1571
typedef VkFlags VkPipelineViewportStateCreateFlags;
1572
typedef VkFlags VkPipelineRasterizationStateCreateFlags;
1573
1574
typedef enum VkCullModeFlagBits {
1575
VK_CULL_MODE_NONE = 0,
1576
VK_CULL_MODE_FRONT_BIT = 0x00000001,
1577
VK_CULL_MODE_BACK_BIT = 0x00000002,
1578
VK_CULL_MODE_FRONT_AND_BACK = 0x00000003,
1579
VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1580
} VkCullModeFlagBits;
1581
typedef VkFlags VkCullModeFlags;
1582
typedef VkFlags VkPipelineMultisampleStateCreateFlags;
1583
typedef VkFlags VkPipelineDepthStencilStateCreateFlags;
1584
typedef VkFlags VkPipelineColorBlendStateCreateFlags;
1585
1586
typedef enum VkColorComponentFlagBits {
1587
VK_COLOR_COMPONENT_R_BIT = 0x00000001,
1588
VK_COLOR_COMPONENT_G_BIT = 0x00000002,
1589
VK_COLOR_COMPONENT_B_BIT = 0x00000004,
1590
VK_COLOR_COMPONENT_A_BIT = 0x00000008,
1591
VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1592
} VkColorComponentFlagBits;
1593
typedef VkFlags VkColorComponentFlags;
1594
typedef VkFlags VkPipelineDynamicStateCreateFlags;
1595
typedef VkFlags VkPipelineLayoutCreateFlags;
1596
typedef VkFlags VkShaderStageFlags;
1597
typedef VkFlags VkSamplerCreateFlags;
1598
1599
typedef enum VkDescriptorSetLayoutCreateFlagBits {
1600
VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001,
1601
VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = 0x00000002,
1602
VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1603
} VkDescriptorSetLayoutCreateFlagBits;
1604
typedef VkFlags VkDescriptorSetLayoutCreateFlags;
1605
1606
typedef enum VkDescriptorPoolCreateFlagBits {
1607
VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001,
1608
VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = 0x00000002,
1609
VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1610
} VkDescriptorPoolCreateFlagBits;
1611
typedef VkFlags VkDescriptorPoolCreateFlags;
1612
typedef VkFlags VkDescriptorPoolResetFlags;
1613
typedef VkFlags VkFramebufferCreateFlags;
1614
typedef VkFlags VkRenderPassCreateFlags;
1615
1616
typedef enum VkAttachmentDescriptionFlagBits {
1617
VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001,
1618
VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1619
} VkAttachmentDescriptionFlagBits;
1620
typedef VkFlags VkAttachmentDescriptionFlags;
1621
1622
typedef enum VkSubpassDescriptionFlagBits {
1623
VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001,
1624
VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002,
1625
VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1626
} VkSubpassDescriptionFlagBits;
1627
typedef VkFlags VkSubpassDescriptionFlags;
1628
1629
typedef enum VkAccessFlagBits {
1630
VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001,
1631
VK_ACCESS_INDEX_READ_BIT = 0x00000002,
1632
VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004,
1633
VK_ACCESS_UNIFORM_READ_BIT = 0x00000008,
1634
VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010,
1635
VK_ACCESS_SHADER_READ_BIT = 0x00000020,
1636
VK_ACCESS_SHADER_WRITE_BIT = 0x00000040,
1637
VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080,
1638
VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100,
1639
VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200,
1640
VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400,
1641
VK_ACCESS_TRANSFER_READ_BIT = 0x00000800,
1642
VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000,
1643
VK_ACCESS_HOST_READ_BIT = 0x00002000,
1644
VK_ACCESS_HOST_WRITE_BIT = 0x00004000,
1645
VK_ACCESS_MEMORY_READ_BIT = 0x00008000,
1646
VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000,
1647
VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000,
1648
VK_ACCESS_COMMAND_PROCESS_READ_BIT_NVX = 0x00020000,
1649
VK_ACCESS_COMMAND_PROCESS_WRITE_BIT_NVX = 0x00040000,
1650
VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000,
1651
VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000,
1652
VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NVX = 0x00200000,
1653
VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NVX = 0x00400000,
1654
VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1655
} VkAccessFlagBits;
1656
typedef VkFlags VkAccessFlags;
1657
1658
typedef enum VkDependencyFlagBits {
1659
VK_DEPENDENCY_BY_REGION_BIT = 0x00000001,
1660
VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004,
1661
VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002,
1662
VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = VK_DEPENDENCY_VIEW_LOCAL_BIT,
1663
VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT,
1664
VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1665
} VkDependencyFlagBits;
1666
typedef VkFlags VkDependencyFlags;
1667
1668
typedef enum VkCommandPoolCreateFlagBits {
1669
VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001,
1670
VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002,
1671
VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 0x00000004,
1672
VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1673
} VkCommandPoolCreateFlagBits;
1674
typedef VkFlags VkCommandPoolCreateFlags;
1675
1676
typedef enum VkCommandPoolResetFlagBits {
1677
VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
1678
VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1679
} VkCommandPoolResetFlagBits;
1680
typedef VkFlags VkCommandPoolResetFlags;
1681
1682
typedef enum VkCommandBufferUsageFlagBits {
1683
VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001,
1684
VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002,
1685
VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004,
1686
VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1687
} VkCommandBufferUsageFlagBits;
1688
typedef VkFlags VkCommandBufferUsageFlags;
1689
1690
typedef enum VkQueryControlFlagBits {
1691
VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001,
1692
VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1693
} VkQueryControlFlagBits;
1694
typedef VkFlags VkQueryControlFlags;
1695
1696
typedef enum VkCommandBufferResetFlagBits {
1697
VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
1698
VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1699
} VkCommandBufferResetFlagBits;
1700
typedef VkFlags VkCommandBufferResetFlags;
1701
1702
typedef enum VkStencilFaceFlagBits {
1703
VK_STENCIL_FACE_FRONT_BIT = 0x00000001,
1704
VK_STENCIL_FACE_BACK_BIT = 0x00000002,
1705
VK_STENCIL_FRONT_AND_BACK = 0x00000003,
1706
VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
1707
} VkStencilFaceFlagBits;
1708
typedef VkFlags VkStencilFaceFlags;
1709
1710
typedef struct VkApplicationInfo {
1711
VkStructureType sType;
1712
const void* pNext;
1713
const char* pApplicationName;
1714
uint32_t applicationVersion;
1715
const char* pEngineName;
1716
uint32_t engineVersion;
1717
uint32_t apiVersion;
1718
} VkApplicationInfo;
1719
1720
typedef struct VkInstanceCreateInfo {
1721
VkStructureType sType;
1722
const void* pNext;
1723
VkInstanceCreateFlags flags;
1724
const VkApplicationInfo* pApplicationInfo;
1725
uint32_t enabledLayerCount;
1726
const char* const* ppEnabledLayerNames;
1727
uint32_t enabledExtensionCount;
1728
const char* const* ppEnabledExtensionNames;
1729
} VkInstanceCreateInfo;
1730
1731
typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
1732
void* pUserData,
1733
size_t size,
1734
size_t alignment,
1735
VkSystemAllocationScope allocationScope);
1736
1737
typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
1738
void* pUserData,
1739
void* pOriginal,
1740
size_t size,
1741
size_t alignment,
1742
VkSystemAllocationScope allocationScope);
1743
1744
typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
1745
void* pUserData,
1746
void* pMemory);
1747
1748
typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
1749
void* pUserData,
1750
size_t size,
1751
VkInternalAllocationType allocationType,
1752
VkSystemAllocationScope allocationScope);
1753
1754
typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
1755
void* pUserData,
1756
size_t size,
1757
VkInternalAllocationType allocationType,
1758
VkSystemAllocationScope allocationScope);
1759
1760
typedef struct VkAllocationCallbacks {
1761
void* pUserData;
1762
PFN_vkAllocationFunction pfnAllocation;
1763
PFN_vkReallocationFunction pfnReallocation;
1764
PFN_vkFreeFunction pfnFree;
1765
PFN_vkInternalAllocationNotification pfnInternalAllocation;
1766
PFN_vkInternalFreeNotification pfnInternalFree;
1767
} VkAllocationCallbacks;
1768
1769
typedef struct VkPhysicalDeviceFeatures {
1770
VkBool32 robustBufferAccess;
1771
VkBool32 fullDrawIndexUint32;
1772
VkBool32 imageCubeArray;
1773
VkBool32 independentBlend;
1774
VkBool32 geometryShader;
1775
VkBool32 tessellationShader;
1776
VkBool32 sampleRateShading;
1777
VkBool32 dualSrcBlend;
1778
VkBool32 logicOp;
1779
VkBool32 multiDrawIndirect;
1780
VkBool32 drawIndirectFirstInstance;
1781
VkBool32 depthClamp;
1782
VkBool32 depthBiasClamp;
1783
VkBool32 fillModeNonSolid;
1784
VkBool32 depthBounds;
1785
VkBool32 wideLines;
1786
VkBool32 largePoints;
1787
VkBool32 alphaToOne;
1788
VkBool32 multiViewport;
1789
VkBool32 samplerAnisotropy;
1790
VkBool32 textureCompressionETC2;
1791
VkBool32 textureCompressionASTC_LDR;
1792
VkBool32 textureCompressionBC;
1793
VkBool32 occlusionQueryPrecise;
1794
VkBool32 pipelineStatisticsQuery;
1795
VkBool32 vertexPipelineStoresAndAtomics;
1796
VkBool32 fragmentStoresAndAtomics;
1797
VkBool32 shaderTessellationAndGeometryPointSize;
1798
VkBool32 shaderImageGatherExtended;
1799
VkBool32 shaderStorageImageExtendedFormats;
1800
VkBool32 shaderStorageImageMultisample;
1801
VkBool32 shaderStorageImageReadWithoutFormat;
1802
VkBool32 shaderStorageImageWriteWithoutFormat;
1803
VkBool32 shaderUniformBufferArrayDynamicIndexing;
1804
VkBool32 shaderSampledImageArrayDynamicIndexing;
1805
VkBool32 shaderStorageBufferArrayDynamicIndexing;
1806
VkBool32 shaderStorageImageArrayDynamicIndexing;
1807
VkBool32 shaderClipDistance;
1808
VkBool32 shaderCullDistance;
1809
VkBool32 shaderFloat64;
1810
VkBool32 shaderInt64;
1811
VkBool32 shaderInt16;
1812
VkBool32 shaderResourceResidency;
1813
VkBool32 shaderResourceMinLod;
1814
VkBool32 sparseBinding;
1815
VkBool32 sparseResidencyBuffer;
1816
VkBool32 sparseResidencyImage2D;
1817
VkBool32 sparseResidencyImage3D;
1818
VkBool32 sparseResidency2Samples;
1819
VkBool32 sparseResidency4Samples;
1820
VkBool32 sparseResidency8Samples;
1821
VkBool32 sparseResidency16Samples;
1822
VkBool32 sparseResidencyAliased;
1823
VkBool32 variableMultisampleRate;
1824
VkBool32 inheritedQueries;
1825
} VkPhysicalDeviceFeatures;
1826
1827
typedef struct VkFormatProperties {
1828
VkFormatFeatureFlags linearTilingFeatures;
1829
VkFormatFeatureFlags optimalTilingFeatures;
1830
VkFormatFeatureFlags bufferFeatures;
1831
} VkFormatProperties;
1832
1833
typedef struct VkExtent3D {
1834
uint32_t width;
1835
uint32_t height;
1836
uint32_t depth;
1837
} VkExtent3D;
1838
1839
typedef struct VkImageFormatProperties {
1840
VkExtent3D maxExtent;
1841
uint32_t maxMipLevels;
1842
uint32_t maxArrayLayers;
1843
VkSampleCountFlags sampleCounts;
1844
VkDeviceSize maxResourceSize;
1845
} VkImageFormatProperties;
1846
1847
typedef struct VkPhysicalDeviceLimits {
1848
uint32_t maxImageDimension1D;
1849
uint32_t maxImageDimension2D;
1850
uint32_t maxImageDimension3D;
1851
uint32_t maxImageDimensionCube;
1852
uint32_t maxImageArrayLayers;
1853
uint32_t maxTexelBufferElements;
1854
uint32_t maxUniformBufferRange;
1855
uint32_t maxStorageBufferRange;
1856
uint32_t maxPushConstantsSize;
1857
uint32_t maxMemoryAllocationCount;
1858
uint32_t maxSamplerAllocationCount;
1859
VkDeviceSize bufferImageGranularity;
1860
VkDeviceSize sparseAddressSpaceSize;
1861
uint32_t maxBoundDescriptorSets;
1862
uint32_t maxPerStageDescriptorSamplers;
1863
uint32_t maxPerStageDescriptorUniformBuffers;
1864
uint32_t maxPerStageDescriptorStorageBuffers;
1865
uint32_t maxPerStageDescriptorSampledImages;
1866
uint32_t maxPerStageDescriptorStorageImages;
1867
uint32_t maxPerStageDescriptorInputAttachments;
1868
uint32_t maxPerStageResources;
1869
uint32_t maxDescriptorSetSamplers;
1870
uint32_t maxDescriptorSetUniformBuffers;
1871
uint32_t maxDescriptorSetUniformBuffersDynamic;
1872
uint32_t maxDescriptorSetStorageBuffers;
1873
uint32_t maxDescriptorSetStorageBuffersDynamic;
1874
uint32_t maxDescriptorSetSampledImages;
1875
uint32_t maxDescriptorSetStorageImages;
1876
uint32_t maxDescriptorSetInputAttachments;
1877
uint32_t maxVertexInputAttributes;
1878
uint32_t maxVertexInputBindings;
1879
uint32_t maxVertexInputAttributeOffset;
1880
uint32_t maxVertexInputBindingStride;
1881
uint32_t maxVertexOutputComponents;
1882
uint32_t maxTessellationGenerationLevel;
1883
uint32_t maxTessellationPatchSize;
1884
uint32_t maxTessellationControlPerVertexInputComponents;
1885
uint32_t maxTessellationControlPerVertexOutputComponents;
1886
uint32_t maxTessellationControlPerPatchOutputComponents;
1887
uint32_t maxTessellationControlTotalOutputComponents;
1888
uint32_t maxTessellationEvaluationInputComponents;
1889
uint32_t maxTessellationEvaluationOutputComponents;
1890
uint32_t maxGeometryShaderInvocations;
1891
uint32_t maxGeometryInputComponents;
1892
uint32_t maxGeometryOutputComponents;
1893
uint32_t maxGeometryOutputVertices;
1894
uint32_t maxGeometryTotalOutputComponents;
1895
uint32_t maxFragmentInputComponents;
1896
uint32_t maxFragmentOutputAttachments;
1897
uint32_t maxFragmentDualSrcAttachments;
1898
uint32_t maxFragmentCombinedOutputResources;
1899
uint32_t maxComputeSharedMemorySize;
1900
uint32_t maxComputeWorkGroupCount[3];
1901
uint32_t maxComputeWorkGroupInvocations;
1902
uint32_t maxComputeWorkGroupSize[3];
1903
uint32_t subPixelPrecisionBits;
1904
uint32_t subTexelPrecisionBits;
1905
uint32_t mipmapPrecisionBits;
1906
uint32_t maxDrawIndexedIndexValue;
1907
uint32_t maxDrawIndirectCount;
1908
float maxSamplerLodBias;
1909
float maxSamplerAnisotropy;
1910
uint32_t maxViewports;
1911
uint32_t maxViewportDimensions[2];
1912
float viewportBoundsRange[2];
1913
uint32_t viewportSubPixelBits;
1914
size_t minMemoryMapAlignment;
1915
VkDeviceSize minTexelBufferOffsetAlignment;
1916
VkDeviceSize minUniformBufferOffsetAlignment;
1917
VkDeviceSize minStorageBufferOffsetAlignment;
1918
int32_t minTexelOffset;
1919
uint32_t maxTexelOffset;
1920
int32_t minTexelGatherOffset;
1921
uint32_t maxTexelGatherOffset;
1922
float minInterpolationOffset;
1923
float maxInterpolationOffset;
1924
uint32_t subPixelInterpolationOffsetBits;
1925
uint32_t maxFramebufferWidth;
1926
uint32_t maxFramebufferHeight;
1927
uint32_t maxFramebufferLayers;
1928
VkSampleCountFlags framebufferColorSampleCounts;
1929
VkSampleCountFlags framebufferDepthSampleCounts;
1930
VkSampleCountFlags framebufferStencilSampleCounts;
1931
VkSampleCountFlags framebufferNoAttachmentsSampleCounts;
1932
uint32_t maxColorAttachments;
1933
VkSampleCountFlags sampledImageColorSampleCounts;
1934
VkSampleCountFlags sampledImageIntegerSampleCounts;
1935
VkSampleCountFlags sampledImageDepthSampleCounts;
1936
VkSampleCountFlags sampledImageStencilSampleCounts;
1937
VkSampleCountFlags storageImageSampleCounts;
1938
uint32_t maxSampleMaskWords;
1939
VkBool32 timestampComputeAndGraphics;
1940
float timestampPeriod;
1941
uint32_t maxClipDistances;
1942
uint32_t maxCullDistances;
1943
uint32_t maxCombinedClipAndCullDistances;
1944
uint32_t discreteQueuePriorities;
1945
float pointSizeRange[2];
1946
float lineWidthRange[2];
1947
float pointSizeGranularity;
1948
float lineWidthGranularity;
1949
VkBool32 strictLines;
1950
VkBool32 standardSampleLocations;
1951
VkDeviceSize optimalBufferCopyOffsetAlignment;
1952
VkDeviceSize optimalBufferCopyRowPitchAlignment;
1953
VkDeviceSize nonCoherentAtomSize;
1954
} VkPhysicalDeviceLimits;
1955
1956
typedef struct VkPhysicalDeviceSparseProperties {
1957
VkBool32 residencyStandard2DBlockShape;
1958
VkBool32 residencyStandard2DMultisampleBlockShape;
1959
VkBool32 residencyStandard3DBlockShape;
1960
VkBool32 residencyAlignedMipSize;
1961
VkBool32 residencyNonResidentStrict;
1962
} VkPhysicalDeviceSparseProperties;
1963
1964
typedef struct VkPhysicalDeviceProperties {
1965
uint32_t apiVersion;
1966
uint32_t driverVersion;
1967
uint32_t vendorID;
1968
uint32_t deviceID;
1969
VkPhysicalDeviceType deviceType;
1970
char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
1971
uint8_t pipelineCacheUUID[VK_UUID_SIZE];
1972
VkPhysicalDeviceLimits limits;
1973
VkPhysicalDeviceSparseProperties sparseProperties;
1974
} VkPhysicalDeviceProperties;
1975
1976
typedef struct VkQueueFamilyProperties {
1977
VkQueueFlags queueFlags;
1978
uint32_t queueCount;
1979
uint32_t timestampValidBits;
1980
VkExtent3D minImageTransferGranularity;
1981
} VkQueueFamilyProperties;
1982
1983
typedef struct VkMemoryType {
1984
VkMemoryPropertyFlags propertyFlags;
1985
uint32_t heapIndex;
1986
} VkMemoryType;
1987
1988
typedef struct VkMemoryHeap {
1989
VkDeviceSize size;
1990
VkMemoryHeapFlags flags;
1991
} VkMemoryHeap;
1992
1993
typedef struct VkPhysicalDeviceMemoryProperties {
1994
uint32_t memoryTypeCount;
1995
VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES];
1996
uint32_t memoryHeapCount;
1997
VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS];
1998
} VkPhysicalDeviceMemoryProperties;
1999
2000
typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
2001
typedef struct VkDeviceQueueCreateInfo {
2002
VkStructureType sType;
2003
const void* pNext;
2004
VkDeviceQueueCreateFlags flags;
2005
uint32_t queueFamilyIndex;
2006
uint32_t queueCount;
2007
const float* pQueuePriorities;
2008
} VkDeviceQueueCreateInfo;
2009
2010
typedef struct VkDeviceCreateInfo {
2011
VkStructureType sType;
2012
const void* pNext;
2013
VkDeviceCreateFlags flags;
2014
uint32_t queueCreateInfoCount;
2015
const VkDeviceQueueCreateInfo* pQueueCreateInfos;
2016
uint32_t enabledLayerCount;
2017
const char* const* ppEnabledLayerNames;
2018
uint32_t enabledExtensionCount;
2019
const char* const* ppEnabledExtensionNames;
2020
const VkPhysicalDeviceFeatures* pEnabledFeatures;
2021
} VkDeviceCreateInfo;
2022
2023
typedef struct VkExtensionProperties {
2024
char extensionName[VK_MAX_EXTENSION_NAME_SIZE];
2025
uint32_t specVersion;
2026
} VkExtensionProperties;
2027
2028
typedef struct VkLayerProperties {
2029
char layerName[VK_MAX_EXTENSION_NAME_SIZE];
2030
uint32_t specVersion;
2031
uint32_t implementationVersion;
2032
char description[VK_MAX_DESCRIPTION_SIZE];
2033
} VkLayerProperties;
2034
2035
typedef struct VkSubmitInfo {
2036
VkStructureType sType;
2037
const void* pNext;
2038
uint32_t waitSemaphoreCount;
2039
const VkSemaphore* pWaitSemaphores;
2040
const VkPipelineStageFlags* pWaitDstStageMask;
2041
uint32_t commandBufferCount;
2042
const VkCommandBuffer* pCommandBuffers;
2043
uint32_t signalSemaphoreCount;
2044
const VkSemaphore* pSignalSemaphores;
2045
} VkSubmitInfo;
2046
2047
typedef struct VkMemoryAllocateInfo {
2048
VkStructureType sType;
2049
const void* pNext;
2050
VkDeviceSize allocationSize;
2051
uint32_t memoryTypeIndex;
2052
} VkMemoryAllocateInfo;
2053
2054
typedef struct VkMappedMemoryRange {
2055
VkStructureType sType;
2056
const void* pNext;
2057
VkDeviceMemory memory;
2058
VkDeviceSize offset;
2059
VkDeviceSize size;
2060
} VkMappedMemoryRange;
2061
2062
typedef struct VkMemoryRequirements {
2063
VkDeviceSize size;
2064
VkDeviceSize alignment;
2065
uint32_t memoryTypeBits;
2066
} VkMemoryRequirements;
2067
2068
typedef struct VkSparseImageFormatProperties {
2069
VkImageAspectFlags aspectMask;
2070
VkExtent3D imageGranularity;
2071
VkSparseImageFormatFlags flags;
2072
} VkSparseImageFormatProperties;
2073
2074
typedef struct VkSparseImageMemoryRequirements {
2075
VkSparseImageFormatProperties formatProperties;
2076
uint32_t imageMipTailFirstLod;
2077
VkDeviceSize imageMipTailSize;
2078
VkDeviceSize imageMipTailOffset;
2079
VkDeviceSize imageMipTailStride;
2080
} VkSparseImageMemoryRequirements;
2081
2082
typedef struct VkSparseMemoryBind {
2083
VkDeviceSize resourceOffset;
2084
VkDeviceSize size;
2085
VkDeviceMemory memory;
2086
VkDeviceSize memoryOffset;
2087
VkSparseMemoryBindFlags flags;
2088
} VkSparseMemoryBind;
2089
2090
typedef struct VkSparseBufferMemoryBindInfo {
2091
VkBuffer buffer;
2092
uint32_t bindCount;
2093
const VkSparseMemoryBind* pBinds;
2094
} VkSparseBufferMemoryBindInfo;
2095
2096
typedef struct VkSparseImageOpaqueMemoryBindInfo {
2097
VkImage image;
2098
uint32_t bindCount;
2099
const VkSparseMemoryBind* pBinds;
2100
} VkSparseImageOpaqueMemoryBindInfo;
2101
2102
typedef struct VkImageSubresource {
2103
VkImageAspectFlags aspectMask;
2104
uint32_t mipLevel;
2105
uint32_t arrayLayer;
2106
} VkImageSubresource;
2107
2108
typedef struct VkOffset3D {
2109
int32_t x;
2110
int32_t y;
2111
int32_t z;
2112
} VkOffset3D;
2113
2114
typedef struct VkSparseImageMemoryBind {
2115
VkImageSubresource subresource;
2116
VkOffset3D offset;
2117
VkExtent3D extent;
2118
VkDeviceMemory memory;
2119
VkDeviceSize memoryOffset;
2120
VkSparseMemoryBindFlags flags;
2121
} VkSparseImageMemoryBind;
2122
2123
typedef struct VkSparseImageMemoryBindInfo {
2124
VkImage image;
2125
uint32_t bindCount;
2126
const VkSparseImageMemoryBind* pBinds;
2127
} VkSparseImageMemoryBindInfo;
2128
2129
typedef struct VkBindSparseInfo {
2130
VkStructureType sType;
2131
const void* pNext;
2132
uint32_t waitSemaphoreCount;
2133
const VkSemaphore* pWaitSemaphores;
2134
uint32_t bufferBindCount;
2135
const VkSparseBufferMemoryBindInfo* pBufferBinds;
2136
uint32_t imageOpaqueBindCount;
2137
const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds;
2138
uint32_t imageBindCount;
2139
const VkSparseImageMemoryBindInfo* pImageBinds;
2140
uint32_t signalSemaphoreCount;
2141
const VkSemaphore* pSignalSemaphores;
2142
} VkBindSparseInfo;
2143
2144
typedef struct VkFenceCreateInfo {
2145
VkStructureType sType;
2146
const void* pNext;
2147
VkFenceCreateFlags flags;
2148
} VkFenceCreateInfo;
2149
2150
typedef struct VkSemaphoreCreateInfo {
2151
VkStructureType sType;
2152
const void* pNext;
2153
VkSemaphoreCreateFlags flags;
2154
} VkSemaphoreCreateInfo;
2155
2156
typedef struct VkEventCreateInfo {
2157
VkStructureType sType;
2158
const void* pNext;
2159
VkEventCreateFlags flags;
2160
} VkEventCreateInfo;
2161
2162
typedef struct VkQueryPoolCreateInfo {
2163
VkStructureType sType;
2164
const void* pNext;
2165
VkQueryPoolCreateFlags flags;
2166
VkQueryType queryType;
2167
uint32_t queryCount;
2168
VkQueryPipelineStatisticFlags pipelineStatistics;
2169
} VkQueryPoolCreateInfo;
2170
2171
typedef struct VkBufferCreateInfo {
2172
VkStructureType sType;
2173
const void* pNext;
2174
VkBufferCreateFlags flags;
2175
VkDeviceSize size;
2176
VkBufferUsageFlags usage;
2177
VkSharingMode sharingMode;
2178
uint32_t queueFamilyIndexCount;
2179
const uint32_t* pQueueFamilyIndices;
2180
} VkBufferCreateInfo;
2181
2182
typedef struct VkBufferViewCreateInfo {
2183
VkStructureType sType;
2184
const void* pNext;
2185
VkBufferViewCreateFlags flags;
2186
VkBuffer buffer;
2187
VkFormat format;
2188
VkDeviceSize offset;
2189
VkDeviceSize range;
2190
} VkBufferViewCreateInfo;
2191
2192
typedef struct VkImageCreateInfo {
2193
VkStructureType sType;
2194
const void* pNext;
2195
VkImageCreateFlags flags;
2196
VkImageType imageType;
2197
VkFormat format;
2198
VkExtent3D extent;
2199
uint32_t mipLevels;
2200
uint32_t arrayLayers;
2201
VkSampleCountFlagBits samples;
2202
VkImageTiling tiling;
2203
VkImageUsageFlags usage;
2204
VkSharingMode sharingMode;
2205
uint32_t queueFamilyIndexCount;
2206
const uint32_t* pQueueFamilyIndices;
2207
VkImageLayout initialLayout;
2208
} VkImageCreateInfo;
2209
2210
typedef struct VkSubresourceLayout {
2211
VkDeviceSize offset;
2212
VkDeviceSize size;
2213
VkDeviceSize rowPitch;
2214
VkDeviceSize arrayPitch;
2215
VkDeviceSize depthPitch;
2216
} VkSubresourceLayout;
2217
2218
typedef struct VkComponentMapping {
2219
VkComponentSwizzle r;
2220
VkComponentSwizzle g;
2221
VkComponentSwizzle b;
2222
VkComponentSwizzle a;
2223
} VkComponentMapping;
2224
2225
typedef struct VkImageSubresourceRange {
2226
VkImageAspectFlags aspectMask;
2227
uint32_t baseMipLevel;
2228
uint32_t levelCount;
2229
uint32_t baseArrayLayer;
2230
uint32_t layerCount;
2231
} VkImageSubresourceRange;
2232
2233
typedef struct VkImageViewCreateInfo {
2234
VkStructureType sType;
2235
const void* pNext;
2236
VkImageViewCreateFlags flags;
2237
VkImage image;
2238
VkImageViewType viewType;
2239
VkFormat format;
2240
VkComponentMapping components;
2241
VkImageSubresourceRange subresourceRange;
2242
} VkImageViewCreateInfo;
2243
2244
typedef struct VkShaderModuleCreateInfo {
2245
VkStructureType sType;
2246
const void* pNext;
2247
VkShaderModuleCreateFlags flags;
2248
size_t codeSize;
2249
const uint32_t* pCode;
2250
} VkShaderModuleCreateInfo;
2251
2252
typedef struct VkPipelineCacheCreateInfo {
2253
VkStructureType sType;
2254
const void* pNext;
2255
VkPipelineCacheCreateFlags flags;
2256
size_t initialDataSize;
2257
const void* pInitialData;
2258
} VkPipelineCacheCreateInfo;
2259
2260
typedef struct VkSpecializationMapEntry {
2261
uint32_t constantID;
2262
uint32_t offset;
2263
size_t size;
2264
} VkSpecializationMapEntry;
2265
2266
typedef struct VkSpecializationInfo {
2267
uint32_t mapEntryCount;
2268
const VkSpecializationMapEntry* pMapEntries;
2269
size_t dataSize;
2270
const void* pData;
2271
} VkSpecializationInfo;
2272
2273
typedef struct VkPipelineShaderStageCreateInfo {
2274
VkStructureType sType;
2275
const void* pNext;
2276
VkPipelineShaderStageCreateFlags flags;
2277
VkShaderStageFlagBits stage;
2278
VkShaderModule module;
2279
const char* pName;
2280
const VkSpecializationInfo* pSpecializationInfo;
2281
} VkPipelineShaderStageCreateInfo;
2282
2283
typedef struct VkVertexInputBindingDescription {
2284
uint32_t binding;
2285
uint32_t stride;
2286
VkVertexInputRate inputRate;
2287
} VkVertexInputBindingDescription;
2288
2289
typedef struct VkVertexInputAttributeDescription {
2290
uint32_t location;
2291
uint32_t binding;
2292
VkFormat format;
2293
uint32_t offset;
2294
} VkVertexInputAttributeDescription;
2295
2296
typedef struct VkPipelineVertexInputStateCreateInfo {
2297
VkStructureType sType;
2298
const void* pNext;
2299
VkPipelineVertexInputStateCreateFlags flags;
2300
uint32_t vertexBindingDescriptionCount;
2301
const VkVertexInputBindingDescription* pVertexBindingDescriptions;
2302
uint32_t vertexAttributeDescriptionCount;
2303
const VkVertexInputAttributeDescription* pVertexAttributeDescriptions;
2304
} VkPipelineVertexInputStateCreateInfo;
2305
2306
typedef struct VkPipelineInputAssemblyStateCreateInfo {
2307
VkStructureType sType;
2308
const void* pNext;
2309
VkPipelineInputAssemblyStateCreateFlags flags;
2310
VkPrimitiveTopology topology;
2311
VkBool32 primitiveRestartEnable;
2312
} VkPipelineInputAssemblyStateCreateInfo;
2313
2314
typedef struct VkPipelineTessellationStateCreateInfo {
2315
VkStructureType sType;
2316
const void* pNext;
2317
VkPipelineTessellationStateCreateFlags flags;
2318
uint32_t patchControlPoints;
2319
} VkPipelineTessellationStateCreateInfo;
2320
2321
typedef struct VkViewport {
2322
float x;
2323
float y;
2324
float width;
2325
float height;
2326
float minDepth;
2327
float maxDepth;
2328
} VkViewport;
2329
2330
typedef struct VkOffset2D {
2331
int32_t x;
2332
int32_t y;
2333
} VkOffset2D;
2334
2335
typedef struct VkExtent2D {
2336
uint32_t width;
2337
uint32_t height;
2338
} VkExtent2D;
2339
2340
typedef struct VkRect2D {
2341
VkOffset2D offset;
2342
VkExtent2D extent;
2343
} VkRect2D;
2344
2345
typedef struct VkPipelineViewportStateCreateInfo {
2346
VkStructureType sType;
2347
const void* pNext;
2348
VkPipelineViewportStateCreateFlags flags;
2349
uint32_t viewportCount;
2350
const VkViewport* pViewports;
2351
uint32_t scissorCount;
2352
const VkRect2D* pScissors;
2353
} VkPipelineViewportStateCreateInfo;
2354
2355
typedef struct VkPipelineRasterizationStateCreateInfo {
2356
VkStructureType sType;
2357
const void* pNext;
2358
VkPipelineRasterizationStateCreateFlags flags;
2359
VkBool32 depthClampEnable;
2360
VkBool32 rasterizerDiscardEnable;
2361
VkPolygonMode polygonMode;
2362
VkCullModeFlags cullMode;
2363
VkFrontFace frontFace;
2364
VkBool32 depthBiasEnable;
2365
float depthBiasConstantFactor;
2366
float depthBiasClamp;
2367
float depthBiasSlopeFactor;
2368
float lineWidth;
2369
} VkPipelineRasterizationStateCreateInfo;
2370
2371
typedef struct VkPipelineMultisampleStateCreateInfo {
2372
VkStructureType sType;
2373
const void* pNext;
2374
VkPipelineMultisampleStateCreateFlags flags;
2375
VkSampleCountFlagBits rasterizationSamples;
2376
VkBool32 sampleShadingEnable;
2377
float minSampleShading;
2378
const VkSampleMask* pSampleMask;
2379
VkBool32 alphaToCoverageEnable;
2380
VkBool32 alphaToOneEnable;
2381
} VkPipelineMultisampleStateCreateInfo;
2382
2383
typedef struct VkStencilOpState {
2384
VkStencilOp failOp;
2385
VkStencilOp passOp;
2386
VkStencilOp depthFailOp;
2387
VkCompareOp compareOp;
2388
uint32_t compareMask;
2389
uint32_t writeMask;
2390
uint32_t reference;
2391
} VkStencilOpState;
2392
2393
typedef struct VkPipelineDepthStencilStateCreateInfo {
2394
VkStructureType sType;
2395
const void* pNext;
2396
VkPipelineDepthStencilStateCreateFlags flags;
2397
VkBool32 depthTestEnable;
2398
VkBool32 depthWriteEnable;
2399
VkCompareOp depthCompareOp;
2400
VkBool32 depthBoundsTestEnable;
2401
VkBool32 stencilTestEnable;
2402
VkStencilOpState front;
2403
VkStencilOpState back;
2404
float minDepthBounds;
2405
float maxDepthBounds;
2406
} VkPipelineDepthStencilStateCreateInfo;
2407
2408
typedef struct VkPipelineColorBlendAttachmentState {
2409
VkBool32 blendEnable;
2410
VkBlendFactor srcColorBlendFactor;
2411
VkBlendFactor dstColorBlendFactor;
2412
VkBlendOp colorBlendOp;
2413
VkBlendFactor srcAlphaBlendFactor;
2414
VkBlendFactor dstAlphaBlendFactor;
2415
VkBlendOp alphaBlendOp;
2416
VkColorComponentFlags colorWriteMask;
2417
} VkPipelineColorBlendAttachmentState;
2418
2419
typedef struct VkPipelineColorBlendStateCreateInfo {
2420
VkStructureType sType;
2421
const void* pNext;
2422
VkPipelineColorBlendStateCreateFlags flags;
2423
VkBool32 logicOpEnable;
2424
VkLogicOp logicOp;
2425
uint32_t attachmentCount;
2426
const VkPipelineColorBlendAttachmentState* pAttachments;
2427
float blendConstants[4];
2428
} VkPipelineColorBlendStateCreateInfo;
2429
2430
typedef struct VkPipelineDynamicStateCreateInfo {
2431
VkStructureType sType;
2432
const void* pNext;
2433
VkPipelineDynamicStateCreateFlags flags;
2434
uint32_t dynamicStateCount;
2435
const VkDynamicState* pDynamicStates;
2436
} VkPipelineDynamicStateCreateInfo;
2437
2438
typedef struct VkGraphicsPipelineCreateInfo {
2439
VkStructureType sType;
2440
const void* pNext;
2441
VkPipelineCreateFlags flags;
2442
uint32_t stageCount;
2443
const VkPipelineShaderStageCreateInfo* pStages;
2444
const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
2445
const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState;
2446
const VkPipelineTessellationStateCreateInfo* pTessellationState;
2447
const VkPipelineViewportStateCreateInfo* pViewportState;
2448
const VkPipelineRasterizationStateCreateInfo* pRasterizationState;
2449
const VkPipelineMultisampleStateCreateInfo* pMultisampleState;
2450
const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState;
2451
const VkPipelineColorBlendStateCreateInfo* pColorBlendState;
2452
const VkPipelineDynamicStateCreateInfo* pDynamicState;
2453
VkPipelineLayout layout;
2454
VkRenderPass renderPass;
2455
uint32_t subpass;
2456
VkPipeline basePipelineHandle;
2457
int32_t basePipelineIndex;
2458
} VkGraphicsPipelineCreateInfo;
2459
2460
typedef struct VkComputePipelineCreateInfo {
2461
VkStructureType sType;
2462
const void* pNext;
2463
VkPipelineCreateFlags flags;
2464
VkPipelineShaderStageCreateInfo stage;
2465
VkPipelineLayout layout;
2466
VkPipeline basePipelineHandle;
2467
int32_t basePipelineIndex;
2468
} VkComputePipelineCreateInfo;
2469
2470
typedef struct VkPushConstantRange {
2471
VkShaderStageFlags stageFlags;
2472
uint32_t offset;
2473
uint32_t size;
2474
} VkPushConstantRange;
2475
2476
typedef struct VkPipelineLayoutCreateInfo {
2477
VkStructureType sType;
2478
const void* pNext;
2479
VkPipelineLayoutCreateFlags flags;
2480
uint32_t setLayoutCount;
2481
const VkDescriptorSetLayout* pSetLayouts;
2482
uint32_t pushConstantRangeCount;
2483
const VkPushConstantRange* pPushConstantRanges;
2484
} VkPipelineLayoutCreateInfo;
2485
2486
typedef struct VkSamplerCreateInfo {
2487
VkStructureType sType;
2488
const void* pNext;
2489
VkSamplerCreateFlags flags;
2490
VkFilter magFilter;
2491
VkFilter minFilter;
2492
VkSamplerMipmapMode mipmapMode;
2493
VkSamplerAddressMode addressModeU;
2494
VkSamplerAddressMode addressModeV;
2495
VkSamplerAddressMode addressModeW;
2496
float mipLodBias;
2497
VkBool32 anisotropyEnable;
2498
float maxAnisotropy;
2499
VkBool32 compareEnable;
2500
VkCompareOp compareOp;
2501
float minLod;
2502
float maxLod;
2503
VkBorderColor borderColor;
2504
VkBool32 unnormalizedCoordinates;
2505
} VkSamplerCreateInfo;
2506
2507
typedef struct VkDescriptorSetLayoutBinding {
2508
uint32_t binding;
2509
VkDescriptorType descriptorType;
2510
uint32_t descriptorCount;
2511
VkShaderStageFlags stageFlags;
2512
const VkSampler* pImmutableSamplers;
2513
} VkDescriptorSetLayoutBinding;
2514
2515
typedef struct VkDescriptorSetLayoutCreateInfo {
2516
VkStructureType sType;
2517
const void* pNext;
2518
VkDescriptorSetLayoutCreateFlags flags;
2519
uint32_t bindingCount;
2520
const VkDescriptorSetLayoutBinding* pBindings;
2521
} VkDescriptorSetLayoutCreateInfo;
2522
2523
typedef struct VkDescriptorPoolSize {
2524
VkDescriptorType type;
2525
uint32_t descriptorCount;
2526
} VkDescriptorPoolSize;
2527
2528
typedef struct VkDescriptorPoolCreateInfo {
2529
VkStructureType sType;
2530
const void* pNext;
2531
VkDescriptorPoolCreateFlags flags;
2532
uint32_t maxSets;
2533
uint32_t poolSizeCount;
2534
const VkDescriptorPoolSize* pPoolSizes;
2535
} VkDescriptorPoolCreateInfo;
2536
2537
typedef struct VkDescriptorSetAllocateInfo {
2538
VkStructureType sType;
2539
const void* pNext;
2540
VkDescriptorPool descriptorPool;
2541
uint32_t descriptorSetCount;
2542
const VkDescriptorSetLayout* pSetLayouts;
2543
} VkDescriptorSetAllocateInfo;
2544
2545
typedef struct VkDescriptorImageInfo {
2546
VkSampler sampler;
2547
VkImageView imageView;
2548
VkImageLayout imageLayout;
2549
} VkDescriptorImageInfo;
2550
2551
typedef struct VkDescriptorBufferInfo {
2552
VkBuffer buffer;
2553
VkDeviceSize offset;
2554
VkDeviceSize range;
2555
} VkDescriptorBufferInfo;
2556
2557
typedef struct VkWriteDescriptorSet {
2558
VkStructureType sType;
2559
const void* pNext;
2560
VkDescriptorSet dstSet;
2561
uint32_t dstBinding;
2562
uint32_t dstArrayElement;
2563
uint32_t descriptorCount;
2564
VkDescriptorType descriptorType;
2565
const VkDescriptorImageInfo* pImageInfo;
2566
const VkDescriptorBufferInfo* pBufferInfo;
2567
const VkBufferView* pTexelBufferView;
2568
} VkWriteDescriptorSet;
2569
2570
typedef struct VkCopyDescriptorSet {
2571
VkStructureType sType;
2572
const void* pNext;
2573
VkDescriptorSet srcSet;
2574
uint32_t srcBinding;
2575
uint32_t srcArrayElement;
2576
VkDescriptorSet dstSet;
2577
uint32_t dstBinding;
2578
uint32_t dstArrayElement;
2579
uint32_t descriptorCount;
2580
} VkCopyDescriptorSet;
2581
2582
typedef struct VkFramebufferCreateInfo {
2583
VkStructureType sType;
2584
const void* pNext;
2585
VkFramebufferCreateFlags flags;
2586
VkRenderPass renderPass;
2587
uint32_t attachmentCount;
2588
const VkImageView* pAttachments;
2589
uint32_t width;
2590
uint32_t height;
2591
uint32_t layers;
2592
} VkFramebufferCreateInfo;
2593
2594
typedef struct VkAttachmentDescription {
2595
VkAttachmentDescriptionFlags flags;
2596
VkFormat format;
2597
VkSampleCountFlagBits samples;
2598
VkAttachmentLoadOp loadOp;
2599
VkAttachmentStoreOp storeOp;
2600
VkAttachmentLoadOp stencilLoadOp;
2601
VkAttachmentStoreOp stencilStoreOp;
2602
VkImageLayout initialLayout;
2603
VkImageLayout finalLayout;
2604
} VkAttachmentDescription;
2605
2606
typedef struct VkAttachmentReference {
2607
uint32_t attachment;
2608
VkImageLayout layout;
2609
} VkAttachmentReference;
2610
2611
typedef struct VkSubpassDescription {
2612
VkSubpassDescriptionFlags flags;
2613
VkPipelineBindPoint pipelineBindPoint;
2614
uint32_t inputAttachmentCount;
2615
const VkAttachmentReference* pInputAttachments;
2616
uint32_t colorAttachmentCount;
2617
const VkAttachmentReference* pColorAttachments;
2618
const VkAttachmentReference* pResolveAttachments;
2619
const VkAttachmentReference* pDepthStencilAttachment;
2620
uint32_t preserveAttachmentCount;
2621
const uint32_t* pPreserveAttachments;
2622
} VkSubpassDescription;
2623
2624
typedef struct VkSubpassDependency {
2625
uint32_t srcSubpass;
2626
uint32_t dstSubpass;
2627
VkPipelineStageFlags srcStageMask;
2628
VkPipelineStageFlags dstStageMask;
2629
VkAccessFlags srcAccessMask;
2630
VkAccessFlags dstAccessMask;
2631
VkDependencyFlags dependencyFlags;
2632
} VkSubpassDependency;
2633
2634
typedef struct VkRenderPassCreateInfo {
2635
VkStructureType sType;
2636
const void* pNext;
2637
VkRenderPassCreateFlags flags;
2638
uint32_t attachmentCount;
2639
const VkAttachmentDescription* pAttachments;
2640
uint32_t subpassCount;
2641
const VkSubpassDescription* pSubpasses;
2642
uint32_t dependencyCount;
2643
const VkSubpassDependency* pDependencies;
2644
} VkRenderPassCreateInfo;
2645
2646
typedef struct VkCommandPoolCreateInfo {
2647
VkStructureType sType;
2648
const void* pNext;
2649
VkCommandPoolCreateFlags flags;
2650
uint32_t queueFamilyIndex;
2651
} VkCommandPoolCreateInfo;
2652
2653
typedef struct VkCommandBufferAllocateInfo {
2654
VkStructureType sType;
2655
const void* pNext;
2656
VkCommandPool commandPool;
2657
VkCommandBufferLevel level;
2658
uint32_t commandBufferCount;
2659
} VkCommandBufferAllocateInfo;
2660
2661
typedef struct VkCommandBufferInheritanceInfo {
2662
VkStructureType sType;
2663
const void* pNext;
2664
VkRenderPass renderPass;
2665
uint32_t subpass;
2666
VkFramebuffer framebuffer;
2667
VkBool32 occlusionQueryEnable;
2668
VkQueryControlFlags queryFlags;
2669
VkQueryPipelineStatisticFlags pipelineStatistics;
2670
} VkCommandBufferInheritanceInfo;
2671
2672
typedef struct VkCommandBufferBeginInfo {
2673
VkStructureType sType;
2674
const void* pNext;
2675
VkCommandBufferUsageFlags flags;
2676
const VkCommandBufferInheritanceInfo* pInheritanceInfo;
2677
} VkCommandBufferBeginInfo;
2678
2679
typedef struct VkBufferCopy {
2680
VkDeviceSize srcOffset;
2681
VkDeviceSize dstOffset;
2682
VkDeviceSize size;
2683
} VkBufferCopy;
2684
2685
typedef struct VkImageSubresourceLayers {
2686
VkImageAspectFlags aspectMask;
2687
uint32_t mipLevel;
2688
uint32_t baseArrayLayer;
2689
uint32_t layerCount;
2690
} VkImageSubresourceLayers;
2691
2692
typedef struct VkImageCopy {
2693
VkImageSubresourceLayers srcSubresource;
2694
VkOffset3D srcOffset;
2695
VkImageSubresourceLayers dstSubresource;
2696
VkOffset3D dstOffset;
2697
VkExtent3D extent;
2698
} VkImageCopy;
2699
2700
typedef struct VkImageBlit {
2701
VkImageSubresourceLayers srcSubresource;
2702
VkOffset3D srcOffsets[2];
2703
VkImageSubresourceLayers dstSubresource;
2704
VkOffset3D dstOffsets[2];
2705
} VkImageBlit;
2706
2707
typedef struct VkBufferImageCopy {
2708
VkDeviceSize bufferOffset;
2709
uint32_t bufferRowLength;
2710
uint32_t bufferImageHeight;
2711
VkImageSubresourceLayers imageSubresource;
2712
VkOffset3D imageOffset;
2713
VkExtent3D imageExtent;
2714
} VkBufferImageCopy;
2715
2716
typedef union VkClearColorValue {
2717
float float32[4];
2718
int32_t int32[4];
2719
uint32_t uint32[4];
2720
} VkClearColorValue;
2721
2722
typedef struct VkClearDepthStencilValue {
2723
float depth;
2724
uint32_t stencil;
2725
} VkClearDepthStencilValue;
2726
2727
typedef union VkClearValue {
2728
VkClearColorValue color;
2729
VkClearDepthStencilValue depthStencil;
2730
} VkClearValue;
2731
2732
typedef struct VkClearAttachment {
2733
VkImageAspectFlags aspectMask;
2734
uint32_t colorAttachment;
2735
VkClearValue clearValue;
2736
} VkClearAttachment;
2737
2738
typedef struct VkClearRect {
2739
VkRect2D rect;
2740
uint32_t baseArrayLayer;
2741
uint32_t layerCount;
2742
} VkClearRect;
2743
2744
typedef struct VkImageResolve {
2745
VkImageSubresourceLayers srcSubresource;
2746
VkOffset3D srcOffset;
2747
VkImageSubresourceLayers dstSubresource;
2748
VkOffset3D dstOffset;
2749
VkExtent3D extent;
2750
} VkImageResolve;
2751
2752
typedef struct VkMemoryBarrier {
2753
VkStructureType sType;
2754
const void* pNext;
2755
VkAccessFlags srcAccessMask;
2756
VkAccessFlags dstAccessMask;
2757
} VkMemoryBarrier;
2758
2759
typedef struct VkBufferMemoryBarrier {
2760
VkStructureType sType;
2761
const void* pNext;
2762
VkAccessFlags srcAccessMask;
2763
VkAccessFlags dstAccessMask;
2764
uint32_t srcQueueFamilyIndex;
2765
uint32_t dstQueueFamilyIndex;
2766
VkBuffer buffer;
2767
VkDeviceSize offset;
2768
VkDeviceSize size;
2769
} VkBufferMemoryBarrier;
2770
2771
typedef struct VkImageMemoryBarrier {
2772
VkStructureType sType;
2773
const void* pNext;
2774
VkAccessFlags srcAccessMask;
2775
VkAccessFlags dstAccessMask;
2776
VkImageLayout oldLayout;
2777
VkImageLayout newLayout;
2778
uint32_t srcQueueFamilyIndex;
2779
uint32_t dstQueueFamilyIndex;
2780
VkImage image;
2781
VkImageSubresourceRange subresourceRange;
2782
} VkImageMemoryBarrier;
2783
2784
typedef struct VkRenderPassBeginInfo {
2785
VkStructureType sType;
2786
const void* pNext;
2787
VkRenderPass renderPass;
2788
VkFramebuffer framebuffer;
2789
VkRect2D renderArea;
2790
uint32_t clearValueCount;
2791
const VkClearValue* pClearValues;
2792
} VkRenderPassBeginInfo;
2793
2794
typedef struct VkDispatchIndirectCommand {
2795
uint32_t x;
2796
uint32_t y;
2797
uint32_t z;
2798
} VkDispatchIndirectCommand;
2799
2800
typedef struct VkDrawIndexedIndirectCommand {
2801
uint32_t indexCount;
2802
uint32_t instanceCount;
2803
uint32_t firstIndex;
2804
int32_t vertexOffset;
2805
uint32_t firstInstance;
2806
} VkDrawIndexedIndirectCommand;
2807
2808
typedef struct VkDrawIndirectCommand {
2809
uint32_t vertexCount;
2810
uint32_t instanceCount;
2811
uint32_t firstVertex;
2812
uint32_t firstInstance;
2813
} VkDrawIndirectCommand;
2814
2815
typedef struct VkBaseOutStructure {
2816
VkStructureType sType;
2817
struct VkBaseOutStructure* pNext;
2818
} VkBaseOutStructure;
2819
2820
typedef struct VkBaseInStructure {
2821
VkStructureType sType;
2822
const struct VkBaseInStructure* pNext;
2823
} VkBaseInStructure;
2824
2825
2826
typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance);
2827
typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator);
2828
typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices);
2829
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures);
2830
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties);
2831
typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties);
2832
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties);
2833
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties);
2834
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties);
2835
typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName);
2836
typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName);
2837
typedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice);
2838
typedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks* pAllocator);
2839
typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties);
2840
typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties);
2841
typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(uint32_t* pPropertyCount, VkLayerProperties* pProperties);
2842
typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties);
2843
typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue);
2844
typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence);
2845
typedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue queue);
2846
typedef VkResult (VKAPI_PTR *PFN_vkDeviceWaitIdle)(VkDevice device);
2847
typedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory);
2848
typedef void (VKAPI_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator);
2849
typedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData);
2850
typedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory);
2851
typedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
2852
typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
2853
typedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes);
2854
typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset);
2855
typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset);
2856
typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements);
2857
typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements);
2858
typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
2859
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties);
2860
typedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence);
2861
typedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
2862
typedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator);
2863
typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences);
2864
typedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence);
2865
typedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout);
2866
typedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore);
2867
typedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator);
2868
typedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent);
2869
typedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator);
2870
typedef VkResult (VKAPI_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event);
2871
typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event);
2872
typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event);
2873
typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool);
2874
typedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator);
2875
typedef VkResult (VKAPI_PTR *PFN_vkGetQueryPoolResults)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags);
2876
typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer);
2877
typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator);
2878
typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView);
2879
typedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator);
2880
typedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage);
2881
typedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator);
2882
typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout);
2883
typedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView);
2884
typedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator);
2885
typedef VkResult (VKAPI_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule);
2886
typedef void (VKAPI_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator);
2887
typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache);
2888
typedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator);
2889
typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData);
2890
typedef VkResult (VKAPI_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches);
2891
typedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
2892
typedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
2893
typedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator);
2894
typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout);
2895
typedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator);
2896
typedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler);
2897
typedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator);
2898
typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout);
2899
typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator);
2900
typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool);
2901
typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator);
2902
typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags);
2903
typedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets);
2904
typedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets);
2905
typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies);
2906
typedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer);
2907
typedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator);
2908
typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
2909
typedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator);
2910
typedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity);
2911
typedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool);
2912
typedef void (VKAPI_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator);
2913
typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags);
2914
typedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers);
2915
typedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers);
2916
typedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo);
2917
typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer);
2918
typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags);
2919
typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);
2920
typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports);
2921
typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors);
2922
typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth);
2923
typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor);
2924
typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]);
2925
typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds);
2926
typedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask);
2927
typedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask);
2928
typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference);
2929
typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets);
2930
typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType);
2931
typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets);
2932
typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance);
2933
typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance);
2934
typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
2935
typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
2936
typedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
2937
typedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset);
2938
typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions);
2939
typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions);
2940
typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter);
2941
typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions);
2942
typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions);
2943
typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData);
2944
typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data);
2945
typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges);
2946
typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges);
2947
typedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects);
2948
typedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions);
2949
typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
2950
typedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
2951
typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers);
2952
typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier)(VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers);
2953
typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags);
2954
typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query);
2955
typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
2956
typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query);
2957
typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags);
2958
typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues);
2959
typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents);
2960
typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents);
2961
typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer);
2962
typedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers);
2963
2964
#ifndef VK_NO_PROTOTYPES
2965
VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance(
2966
const VkInstanceCreateInfo* pCreateInfo,
2967
const VkAllocationCallbacks* pAllocator,
2968
VkInstance* pInstance);
2969
2970
VKAPI_ATTR void VKAPI_CALL vkDestroyInstance(
2971
VkInstance instance,
2972
const VkAllocationCallbacks* pAllocator);
2973
2974
VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices(
2975
VkInstance instance,
2976
uint32_t* pPhysicalDeviceCount,
2977
VkPhysicalDevice* pPhysicalDevices);
2978
2979
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures(
2980
VkPhysicalDevice physicalDevice,
2981
VkPhysicalDeviceFeatures* pFeatures);
2982
2983
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties(
2984
VkPhysicalDevice physicalDevice,
2985
VkFormat format,
2986
VkFormatProperties* pFormatProperties);
2987
2988
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties(
2989
VkPhysicalDevice physicalDevice,
2990
VkFormat format,
2991
VkImageType type,
2992
VkImageTiling tiling,
2993
VkImageUsageFlags usage,
2994
VkImageCreateFlags flags,
2995
VkImageFormatProperties* pImageFormatProperties);
2996
2997
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties(
2998
VkPhysicalDevice physicalDevice,
2999
VkPhysicalDeviceProperties* pProperties);
3000
3001
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties(
3002
VkPhysicalDevice physicalDevice,
3003
uint32_t* pQueueFamilyPropertyCount,
3004
VkQueueFamilyProperties* pQueueFamilyProperties);
3005
3006
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties(
3007
VkPhysicalDevice physicalDevice,
3008
VkPhysicalDeviceMemoryProperties* pMemoryProperties);
3009
3010
VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr(
3011
VkInstance instance,
3012
const char* pName);
3013
3014
VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr(
3015
VkDevice device,
3016
const char* pName);
3017
3018
VKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice(
3019
VkPhysicalDevice physicalDevice,
3020
const VkDeviceCreateInfo* pCreateInfo,
3021
const VkAllocationCallbacks* pAllocator,
3022
VkDevice* pDevice);
3023
3024
VKAPI_ATTR void VKAPI_CALL vkDestroyDevice(
3025
VkDevice device,
3026
const VkAllocationCallbacks* pAllocator);
3027
3028
VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties(
3029
const char* pLayerName,
3030
uint32_t* pPropertyCount,
3031
VkExtensionProperties* pProperties);
3032
3033
VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties(
3034
VkPhysicalDevice physicalDevice,
3035
const char* pLayerName,
3036
uint32_t* pPropertyCount,
3037
VkExtensionProperties* pProperties);
3038
3039
VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties(
3040
uint32_t* pPropertyCount,
3041
VkLayerProperties* pProperties);
3042
3043
VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties(
3044
VkPhysicalDevice physicalDevice,
3045
uint32_t* pPropertyCount,
3046
VkLayerProperties* pProperties);
3047
3048
VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue(
3049
VkDevice device,
3050
uint32_t queueFamilyIndex,
3051
uint32_t queueIndex,
3052
VkQueue* pQueue);
3053
3054
VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit(
3055
VkQueue queue,
3056
uint32_t submitCount,
3057
const VkSubmitInfo* pSubmits,
3058
VkFence fence);
3059
3060
VKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle(
3061
VkQueue queue);
3062
3063
VKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle(
3064
VkDevice device);
3065
3066
VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory(
3067
VkDevice device,
3068
const VkMemoryAllocateInfo* pAllocateInfo,
3069
const VkAllocationCallbacks* pAllocator,
3070
VkDeviceMemory* pMemory);
3071
3072
VKAPI_ATTR void VKAPI_CALL vkFreeMemory(
3073
VkDevice device,
3074
VkDeviceMemory memory,
3075
const VkAllocationCallbacks* pAllocator);
3076
3077
VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory(
3078
VkDevice device,
3079
VkDeviceMemory memory,
3080
VkDeviceSize offset,
3081
VkDeviceSize size,
3082
VkMemoryMapFlags flags,
3083
void** ppData);
3084
3085
VKAPI_ATTR void VKAPI_CALL vkUnmapMemory(
3086
VkDevice device,
3087
VkDeviceMemory memory);
3088
3089
VKAPI_ATTR VkResult VKAPI_CALL vkFlushMappedMemoryRanges(
3090
VkDevice device,
3091
uint32_t memoryRangeCount,
3092
const VkMappedMemoryRange* pMemoryRanges);
3093
3094
VKAPI_ATTR VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges(
3095
VkDevice device,
3096
uint32_t memoryRangeCount,
3097
const VkMappedMemoryRange* pMemoryRanges);
3098
3099
VKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment(
3100
VkDevice device,
3101
VkDeviceMemory memory,
3102
VkDeviceSize* pCommittedMemoryInBytes);
3103
3104
VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory(
3105
VkDevice device,
3106
VkBuffer buffer,
3107
VkDeviceMemory memory,
3108
VkDeviceSize memoryOffset);
3109
3110
VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory(
3111
VkDevice device,
3112
VkImage image,
3113
VkDeviceMemory memory,
3114
VkDeviceSize memoryOffset);
3115
3116
VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements(
3117
VkDevice device,
3118
VkBuffer buffer,
3119
VkMemoryRequirements* pMemoryRequirements);
3120
3121
VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements(
3122
VkDevice device,
3123
VkImage image,
3124
VkMemoryRequirements* pMemoryRequirements);
3125
3126
VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements(
3127
VkDevice device,
3128
VkImage image,
3129
uint32_t* pSparseMemoryRequirementCount,
3130
VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
3131
3132
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties(
3133
VkPhysicalDevice physicalDevice,
3134
VkFormat format,
3135
VkImageType type,
3136
VkSampleCountFlagBits samples,
3137
VkImageUsageFlags usage,
3138
VkImageTiling tiling,
3139
uint32_t* pPropertyCount,
3140
VkSparseImageFormatProperties* pProperties);
3141
3142
VKAPI_ATTR VkResult VKAPI_CALL vkQueueBindSparse(
3143
VkQueue queue,
3144
uint32_t bindInfoCount,
3145
const VkBindSparseInfo* pBindInfo,
3146
VkFence fence);
3147
3148
VKAPI_ATTR VkResult VKAPI_CALL vkCreateFence(
3149
VkDevice device,
3150
const VkFenceCreateInfo* pCreateInfo,
3151
const VkAllocationCallbacks* pAllocator,
3152
VkFence* pFence);
3153
3154
VKAPI_ATTR void VKAPI_CALL vkDestroyFence(
3155
VkDevice device,
3156
VkFence fence,
3157
const VkAllocationCallbacks* pAllocator);
3158
3159
VKAPI_ATTR VkResult VKAPI_CALL vkResetFences(
3160
VkDevice device,
3161
uint32_t fenceCount,
3162
const VkFence* pFences);
3163
3164
VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus(
3165
VkDevice device,
3166
VkFence fence);
3167
3168
VKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences(
3169
VkDevice device,
3170
uint32_t fenceCount,
3171
const VkFence* pFences,
3172
VkBool32 waitAll,
3173
uint64_t timeout);
3174
3175
VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore(
3176
VkDevice device,
3177
const VkSemaphoreCreateInfo* pCreateInfo,
3178
const VkAllocationCallbacks* pAllocator,
3179
VkSemaphore* pSemaphore);
3180
3181
VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore(
3182
VkDevice device,
3183
VkSemaphore semaphore,
3184
const VkAllocationCallbacks* pAllocator);
3185
3186
VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent(
3187
VkDevice device,
3188
const VkEventCreateInfo* pCreateInfo,
3189
const VkAllocationCallbacks* pAllocator,
3190
VkEvent* pEvent);
3191
3192
VKAPI_ATTR void VKAPI_CALL vkDestroyEvent(
3193
VkDevice device,
3194
VkEvent event,
3195
const VkAllocationCallbacks* pAllocator);
3196
3197
VKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus(
3198
VkDevice device,
3199
VkEvent event);
3200
3201
VKAPI_ATTR VkResult VKAPI_CALL vkSetEvent(
3202
VkDevice device,
3203
VkEvent event);
3204
3205
VKAPI_ATTR VkResult VKAPI_CALL vkResetEvent(
3206
VkDevice device,
3207
VkEvent event);
3208
3209
VKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool(
3210
VkDevice device,
3211
const VkQueryPoolCreateInfo* pCreateInfo,
3212
const VkAllocationCallbacks* pAllocator,
3213
VkQueryPool* pQueryPool);
3214
3215
VKAPI_ATTR void VKAPI_CALL vkDestroyQueryPool(
3216
VkDevice device,
3217
VkQueryPool queryPool,
3218
const VkAllocationCallbacks* pAllocator);
3219
3220
VKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults(
3221
VkDevice device,
3222
VkQueryPool queryPool,
3223
uint32_t firstQuery,
3224
uint32_t queryCount,
3225
size_t dataSize,
3226
void* pData,
3227
VkDeviceSize stride,
3228
VkQueryResultFlags flags);
3229
3230
VKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer(
3231
VkDevice device,
3232
const VkBufferCreateInfo* pCreateInfo,
3233
const VkAllocationCallbacks* pAllocator,
3234
VkBuffer* pBuffer);
3235
3236
VKAPI_ATTR void VKAPI_CALL vkDestroyBuffer(
3237
VkDevice device,
3238
VkBuffer buffer,
3239
const VkAllocationCallbacks* pAllocator);
3240
3241
VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView(
3242
VkDevice device,
3243
const VkBufferViewCreateInfo* pCreateInfo,
3244
const VkAllocationCallbacks* pAllocator,
3245
VkBufferView* pView);
3246
3247
VKAPI_ATTR void VKAPI_CALL vkDestroyBufferView(
3248
VkDevice device,
3249
VkBufferView bufferView,
3250
const VkAllocationCallbacks* pAllocator);
3251
3252
VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage(
3253
VkDevice device,
3254
const VkImageCreateInfo* pCreateInfo,
3255
const VkAllocationCallbacks* pAllocator,
3256
VkImage* pImage);
3257
3258
VKAPI_ATTR void VKAPI_CALL vkDestroyImage(
3259
VkDevice device,
3260
VkImage image,
3261
const VkAllocationCallbacks* pAllocator);
3262
3263
VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout(
3264
VkDevice device,
3265
VkImage image,
3266
const VkImageSubresource* pSubresource,
3267
VkSubresourceLayout* pLayout);
3268
3269
VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView(
3270
VkDevice device,
3271
const VkImageViewCreateInfo* pCreateInfo,
3272
const VkAllocationCallbacks* pAllocator,
3273
VkImageView* pView);
3274
3275
VKAPI_ATTR void VKAPI_CALL vkDestroyImageView(
3276
VkDevice device,
3277
VkImageView imageView,
3278
const VkAllocationCallbacks* pAllocator);
3279
3280
VKAPI_ATTR VkResult VKAPI_CALL vkCreateShaderModule(
3281
VkDevice device,
3282
const VkShaderModuleCreateInfo* pCreateInfo,
3283
const VkAllocationCallbacks* pAllocator,
3284
VkShaderModule* pShaderModule);
3285
3286
VKAPI_ATTR void VKAPI_CALL vkDestroyShaderModule(
3287
VkDevice device,
3288
VkShaderModule shaderModule,
3289
const VkAllocationCallbacks* pAllocator);
3290
3291
VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineCache(
3292
VkDevice device,
3293
const VkPipelineCacheCreateInfo* pCreateInfo,
3294
const VkAllocationCallbacks* pAllocator,
3295
VkPipelineCache* pPipelineCache);
3296
3297
VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache(
3298
VkDevice device,
3299
VkPipelineCache pipelineCache,
3300
const VkAllocationCallbacks* pAllocator);
3301
3302
VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineCacheData(
3303
VkDevice device,
3304
VkPipelineCache pipelineCache,
3305
size_t* pDataSize,
3306
void* pData);
3307
3308
VKAPI_ATTR VkResult VKAPI_CALL vkMergePipelineCaches(
3309
VkDevice device,
3310
VkPipelineCache dstCache,
3311
uint32_t srcCacheCount,
3312
const VkPipelineCache* pSrcCaches);
3313
3314
VKAPI_ATTR VkResult VKAPI_CALL vkCreateGraphicsPipelines(
3315
VkDevice device,
3316
VkPipelineCache pipelineCache,
3317
uint32_t createInfoCount,
3318
const VkGraphicsPipelineCreateInfo* pCreateInfos,
3319
const VkAllocationCallbacks* pAllocator,
3320
VkPipeline* pPipelines);
3321
3322
VKAPI_ATTR VkResult VKAPI_CALL vkCreateComputePipelines(
3323
VkDevice device,
3324
VkPipelineCache pipelineCache,
3325
uint32_t createInfoCount,
3326
const VkComputePipelineCreateInfo* pCreateInfos,
3327
const VkAllocationCallbacks* pAllocator,
3328
VkPipeline* pPipelines);
3329
3330
VKAPI_ATTR void VKAPI_CALL vkDestroyPipeline(
3331
VkDevice device,
3332
VkPipeline pipeline,
3333
const VkAllocationCallbacks* pAllocator);
3334
3335
VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineLayout(
3336
VkDevice device,
3337
const VkPipelineLayoutCreateInfo* pCreateInfo,
3338
const VkAllocationCallbacks* pAllocator,
3339
VkPipelineLayout* pPipelineLayout);
3340
3341
VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout(
3342
VkDevice device,
3343
VkPipelineLayout pipelineLayout,
3344
const VkAllocationCallbacks* pAllocator);
3345
3346
VKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler(
3347
VkDevice device,
3348
const VkSamplerCreateInfo* pCreateInfo,
3349
const VkAllocationCallbacks* pAllocator,
3350
VkSampler* pSampler);
3351
3352
VKAPI_ATTR void VKAPI_CALL vkDestroySampler(
3353
VkDevice device,
3354
VkSampler sampler,
3355
const VkAllocationCallbacks* pAllocator);
3356
3357
VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout(
3358
VkDevice device,
3359
const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
3360
const VkAllocationCallbacks* pAllocator,
3361
VkDescriptorSetLayout* pSetLayout);
3362
3363
VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout(
3364
VkDevice device,
3365
VkDescriptorSetLayout descriptorSetLayout,
3366
const VkAllocationCallbacks* pAllocator);
3367
3368
VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorPool(
3369
VkDevice device,
3370
const VkDescriptorPoolCreateInfo* pCreateInfo,
3371
const VkAllocationCallbacks* pAllocator,
3372
VkDescriptorPool* pDescriptorPool);
3373
3374
VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorPool(
3375
VkDevice device,
3376
VkDescriptorPool descriptorPool,
3377
const VkAllocationCallbacks* pAllocator);
3378
3379
VKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool(
3380
VkDevice device,
3381
VkDescriptorPool descriptorPool,
3382
VkDescriptorPoolResetFlags flags);
3383
3384
VKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets(
3385
VkDevice device,
3386
const VkDescriptorSetAllocateInfo* pAllocateInfo,
3387
VkDescriptorSet* pDescriptorSets);
3388
3389
VKAPI_ATTR VkResult VKAPI_CALL vkFreeDescriptorSets(
3390
VkDevice device,
3391
VkDescriptorPool descriptorPool,
3392
uint32_t descriptorSetCount,
3393
const VkDescriptorSet* pDescriptorSets);
3394
3395
VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSets(
3396
VkDevice device,
3397
uint32_t descriptorWriteCount,
3398
const VkWriteDescriptorSet* pDescriptorWrites,
3399
uint32_t descriptorCopyCount,
3400
const VkCopyDescriptorSet* pDescriptorCopies);
3401
3402
VKAPI_ATTR VkResult VKAPI_CALL vkCreateFramebuffer(
3403
VkDevice device,
3404
const VkFramebufferCreateInfo* pCreateInfo,
3405
const VkAllocationCallbacks* pAllocator,
3406
VkFramebuffer* pFramebuffer);
3407
3408
VKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer(
3409
VkDevice device,
3410
VkFramebuffer framebuffer,
3411
const VkAllocationCallbacks* pAllocator);
3412
3413
VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass(
3414
VkDevice device,
3415
const VkRenderPassCreateInfo* pCreateInfo,
3416
const VkAllocationCallbacks* pAllocator,
3417
VkRenderPass* pRenderPass);
3418
3419
VKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass(
3420
VkDevice device,
3421
VkRenderPass renderPass,
3422
const VkAllocationCallbacks* pAllocator);
3423
3424
VKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity(
3425
VkDevice device,
3426
VkRenderPass renderPass,
3427
VkExtent2D* pGranularity);
3428
3429
VKAPI_ATTR VkResult VKAPI_CALL vkCreateCommandPool(
3430
VkDevice device,
3431
const VkCommandPoolCreateInfo* pCreateInfo,
3432
const VkAllocationCallbacks* pAllocator,
3433
VkCommandPool* pCommandPool);
3434
3435
VKAPI_ATTR void VKAPI_CALL vkDestroyCommandPool(
3436
VkDevice device,
3437
VkCommandPool commandPool,
3438
const VkAllocationCallbacks* pAllocator);
3439
3440
VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool(
3441
VkDevice device,
3442
VkCommandPool commandPool,
3443
VkCommandPoolResetFlags flags);
3444
3445
VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers(
3446
VkDevice device,
3447
const VkCommandBufferAllocateInfo* pAllocateInfo,
3448
VkCommandBuffer* pCommandBuffers);
3449
3450
VKAPI_ATTR void VKAPI_CALL vkFreeCommandBuffers(
3451
VkDevice device,
3452
VkCommandPool commandPool,
3453
uint32_t commandBufferCount,
3454
const VkCommandBuffer* pCommandBuffers);
3455
3456
VKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer(
3457
VkCommandBuffer commandBuffer,
3458
const VkCommandBufferBeginInfo* pBeginInfo);
3459
3460
VKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer(
3461
VkCommandBuffer commandBuffer);
3462
3463
VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer(
3464
VkCommandBuffer commandBuffer,
3465
VkCommandBufferResetFlags flags);
3466
3467
VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline(
3468
VkCommandBuffer commandBuffer,
3469
VkPipelineBindPoint pipelineBindPoint,
3470
VkPipeline pipeline);
3471
3472
VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport(
3473
VkCommandBuffer commandBuffer,
3474
uint32_t firstViewport,
3475
uint32_t viewportCount,
3476
const VkViewport* pViewports);
3477
3478
VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor(
3479
VkCommandBuffer commandBuffer,
3480
uint32_t firstScissor,
3481
uint32_t scissorCount,
3482
const VkRect2D* pScissors);
3483
3484
VKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth(
3485
VkCommandBuffer commandBuffer,
3486
float lineWidth);
3487
3488
VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias(
3489
VkCommandBuffer commandBuffer,
3490
float depthBiasConstantFactor,
3491
float depthBiasClamp,
3492
float depthBiasSlopeFactor);
3493
3494
VKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants(
3495
VkCommandBuffer commandBuffer,
3496
const float blendConstants[4]);
3497
3498
VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds(
3499
VkCommandBuffer commandBuffer,
3500
float minDepthBounds,
3501
float maxDepthBounds);
3502
3503
VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask(
3504
VkCommandBuffer commandBuffer,
3505
VkStencilFaceFlags faceMask,
3506
uint32_t compareMask);
3507
3508
VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask(
3509
VkCommandBuffer commandBuffer,
3510
VkStencilFaceFlags faceMask,
3511
uint32_t writeMask);
3512
3513
VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference(
3514
VkCommandBuffer commandBuffer,
3515
VkStencilFaceFlags faceMask,
3516
uint32_t reference);
3517
3518
VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets(
3519
VkCommandBuffer commandBuffer,
3520
VkPipelineBindPoint pipelineBindPoint,
3521
VkPipelineLayout layout,
3522
uint32_t firstSet,
3523
uint32_t descriptorSetCount,
3524
const VkDescriptorSet* pDescriptorSets,
3525
uint32_t dynamicOffsetCount,
3526
const uint32_t* pDynamicOffsets);
3527
3528
VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer(
3529
VkCommandBuffer commandBuffer,
3530
VkBuffer buffer,
3531
VkDeviceSize offset,
3532
VkIndexType indexType);
3533
3534
VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers(
3535
VkCommandBuffer commandBuffer,
3536
uint32_t firstBinding,
3537
uint32_t bindingCount,
3538
const VkBuffer* pBuffers,
3539
const VkDeviceSize* pOffsets);
3540
3541
VKAPI_ATTR void VKAPI_CALL vkCmdDraw(
3542
VkCommandBuffer commandBuffer,
3543
uint32_t vertexCount,
3544
uint32_t instanceCount,
3545
uint32_t firstVertex,
3546
uint32_t firstInstance);
3547
3548
VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed(
3549
VkCommandBuffer commandBuffer,
3550
uint32_t indexCount,
3551
uint32_t instanceCount,
3552
uint32_t firstIndex,
3553
int32_t vertexOffset,
3554
uint32_t firstInstance);
3555
3556
VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect(
3557
VkCommandBuffer commandBuffer,
3558
VkBuffer buffer,
3559
VkDeviceSize offset,
3560
uint32_t drawCount,
3561
uint32_t stride);
3562
3563
VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect(
3564
VkCommandBuffer commandBuffer,
3565
VkBuffer buffer,
3566
VkDeviceSize offset,
3567
uint32_t drawCount,
3568
uint32_t stride);
3569
3570
VKAPI_ATTR void VKAPI_CALL vkCmdDispatch(
3571
VkCommandBuffer commandBuffer,
3572
uint32_t groupCountX,
3573
uint32_t groupCountY,
3574
uint32_t groupCountZ);
3575
3576
VKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect(
3577
VkCommandBuffer commandBuffer,
3578
VkBuffer buffer,
3579
VkDeviceSize offset);
3580
3581
VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer(
3582
VkCommandBuffer commandBuffer,
3583
VkBuffer srcBuffer,
3584
VkBuffer dstBuffer,
3585
uint32_t regionCount,
3586
const VkBufferCopy* pRegions);
3587
3588
VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage(
3589
VkCommandBuffer commandBuffer,
3590
VkImage srcImage,
3591
VkImageLayout srcImageLayout,
3592
VkImage dstImage,
3593
VkImageLayout dstImageLayout,
3594
uint32_t regionCount,
3595
const VkImageCopy* pRegions);
3596
3597
VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage(
3598
VkCommandBuffer commandBuffer,
3599
VkImage srcImage,
3600
VkImageLayout srcImageLayout,
3601
VkImage dstImage,
3602
VkImageLayout dstImageLayout,
3603
uint32_t regionCount,
3604
const VkImageBlit* pRegions,
3605
VkFilter filter);
3606
3607
VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage(
3608
VkCommandBuffer commandBuffer,
3609
VkBuffer srcBuffer,
3610
VkImage dstImage,
3611
VkImageLayout dstImageLayout,
3612
uint32_t regionCount,
3613
const VkBufferImageCopy* pRegions);
3614
3615
VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer(
3616
VkCommandBuffer commandBuffer,
3617
VkImage srcImage,
3618
VkImageLayout srcImageLayout,
3619
VkBuffer dstBuffer,
3620
uint32_t regionCount,
3621
const VkBufferImageCopy* pRegions);
3622
3623
VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer(
3624
VkCommandBuffer commandBuffer,
3625
VkBuffer dstBuffer,
3626
VkDeviceSize dstOffset,
3627
VkDeviceSize dataSize,
3628
const void* pData);
3629
3630
VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer(
3631
VkCommandBuffer commandBuffer,
3632
VkBuffer dstBuffer,
3633
VkDeviceSize dstOffset,
3634
VkDeviceSize size,
3635
uint32_t data);
3636
3637
VKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage(
3638
VkCommandBuffer commandBuffer,
3639
VkImage image,
3640
VkImageLayout imageLayout,
3641
const VkClearColorValue* pColor,
3642
uint32_t rangeCount,
3643
const VkImageSubresourceRange* pRanges);
3644
3645
VKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage(
3646
VkCommandBuffer commandBuffer,
3647
VkImage image,
3648
VkImageLayout imageLayout,
3649
const VkClearDepthStencilValue* pDepthStencil,
3650
uint32_t rangeCount,
3651
const VkImageSubresourceRange* pRanges);
3652
3653
VKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments(
3654
VkCommandBuffer commandBuffer,
3655
uint32_t attachmentCount,
3656
const VkClearAttachment* pAttachments,
3657
uint32_t rectCount,
3658
const VkClearRect* pRects);
3659
3660
VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage(
3661
VkCommandBuffer commandBuffer,
3662
VkImage srcImage,
3663
VkImageLayout srcImageLayout,
3664
VkImage dstImage,
3665
VkImageLayout dstImageLayout,
3666
uint32_t regionCount,
3667
const VkImageResolve* pRegions);
3668
3669
VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent(
3670
VkCommandBuffer commandBuffer,
3671
VkEvent event,
3672
VkPipelineStageFlags stageMask);
3673
3674
VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent(
3675
VkCommandBuffer commandBuffer,
3676
VkEvent event,
3677
VkPipelineStageFlags stageMask);
3678
3679
VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents(
3680
VkCommandBuffer commandBuffer,
3681
uint32_t eventCount,
3682
const VkEvent* pEvents,
3683
VkPipelineStageFlags srcStageMask,
3684
VkPipelineStageFlags dstStageMask,
3685
uint32_t memoryBarrierCount,
3686
const VkMemoryBarrier* pMemoryBarriers,
3687
uint32_t bufferMemoryBarrierCount,
3688
const VkBufferMemoryBarrier* pBufferMemoryBarriers,
3689
uint32_t imageMemoryBarrierCount,
3690
const VkImageMemoryBarrier* pImageMemoryBarriers);
3691
3692
VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier(
3693
VkCommandBuffer commandBuffer,
3694
VkPipelineStageFlags srcStageMask,
3695
VkPipelineStageFlags dstStageMask,
3696
VkDependencyFlags dependencyFlags,
3697
uint32_t memoryBarrierCount,
3698
const VkMemoryBarrier* pMemoryBarriers,
3699
uint32_t bufferMemoryBarrierCount,
3700
const VkBufferMemoryBarrier* pBufferMemoryBarriers,
3701
uint32_t imageMemoryBarrierCount,
3702
const VkImageMemoryBarrier* pImageMemoryBarriers);
3703
3704
VKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery(
3705
VkCommandBuffer commandBuffer,
3706
VkQueryPool queryPool,
3707
uint32_t query,
3708
VkQueryControlFlags flags);
3709
3710
VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery(
3711
VkCommandBuffer commandBuffer,
3712
VkQueryPool queryPool,
3713
uint32_t query);
3714
3715
VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool(
3716
VkCommandBuffer commandBuffer,
3717
VkQueryPool queryPool,
3718
uint32_t firstQuery,
3719
uint32_t queryCount);
3720
3721
VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp(
3722
VkCommandBuffer commandBuffer,
3723
VkPipelineStageFlagBits pipelineStage,
3724
VkQueryPool queryPool,
3725
uint32_t query);
3726
3727
VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults(
3728
VkCommandBuffer commandBuffer,
3729
VkQueryPool queryPool,
3730
uint32_t firstQuery,
3731
uint32_t queryCount,
3732
VkBuffer dstBuffer,
3733
VkDeviceSize dstOffset,
3734
VkDeviceSize stride,
3735
VkQueryResultFlags flags);
3736
3737
VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants(
3738
VkCommandBuffer commandBuffer,
3739
VkPipelineLayout layout,
3740
VkShaderStageFlags stageFlags,
3741
uint32_t offset,
3742
uint32_t size,
3743
const void* pValues);
3744
3745
VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass(
3746
VkCommandBuffer commandBuffer,
3747
const VkRenderPassBeginInfo* pRenderPassBegin,
3748
VkSubpassContents contents);
3749
3750
VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass(
3751
VkCommandBuffer commandBuffer,
3752
VkSubpassContents contents);
3753
3754
VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass(
3755
VkCommandBuffer commandBuffer);
3756
3757
VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands(
3758
VkCommandBuffer commandBuffer,
3759
uint32_t commandBufferCount,
3760
const VkCommandBuffer* pCommandBuffers);
3761
#endif
3762
3763
#define VK_VERSION_1_1 1
3764
// Vulkan 1.1 version number
3765
#define VK_API_VERSION_1_1 VK_MAKE_VERSION(1, 1, 0)// Patch version should always be set to 0
3766
3767
3768
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion)
3769
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate)
3770
3771
#define VK_MAX_DEVICE_GROUP_SIZE 32
3772
#define VK_LUID_SIZE 8
3773
#define VK_QUEUE_FAMILY_EXTERNAL (~0U-1)
3774
3775
3776
typedef enum VkPointClippingBehavior {
3777
VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0,
3778
VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1,
3779
VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,
3780
VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY,
3781
VK_POINT_CLIPPING_BEHAVIOR_BEGIN_RANGE = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,
3782
VK_POINT_CLIPPING_BEHAVIOR_END_RANGE = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY,
3783
VK_POINT_CLIPPING_BEHAVIOR_RANGE_SIZE = (VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY - VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES + 1),
3784
VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF
3785
} VkPointClippingBehavior;
3786
3787
typedef enum VkTessellationDomainOrigin {
3788
VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0,
3789
VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1,
3790
VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,
3791
VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT,
3792
VK_TESSELLATION_DOMAIN_ORIGIN_BEGIN_RANGE = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,
3793
VK_TESSELLATION_DOMAIN_ORIGIN_END_RANGE = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT,
3794
VK_TESSELLATION_DOMAIN_ORIGIN_RANGE_SIZE = (VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT - VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT + 1),
3795
VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM = 0x7FFFFFFF
3796
} VkTessellationDomainOrigin;
3797
3798
typedef enum VkSamplerYcbcrModelConversion {
3799
VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0,
3800
VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1,
3801
VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2,
3802
VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3,
3803
VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4,
3804
VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,
3805
VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY,
3806
VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709,
3807
VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601,
3808
VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020,
3809
VK_SAMPLER_YCBCR_MODEL_CONVERSION_BEGIN_RANGE = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,
3810
VK_SAMPLER_YCBCR_MODEL_CONVERSION_END_RANGE = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020,
3811
VK_SAMPLER_YCBCR_MODEL_CONVERSION_RANGE_SIZE = (VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 - VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY + 1),
3812
VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM = 0x7FFFFFFF
3813
} VkSamplerYcbcrModelConversion;
3814
3815
typedef enum VkSamplerYcbcrRange {
3816
VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0,
3817
VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1,
3818
VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,
3819
VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW,
3820
VK_SAMPLER_YCBCR_RANGE_BEGIN_RANGE = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,
3821
VK_SAMPLER_YCBCR_RANGE_END_RANGE = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW,
3822
VK_SAMPLER_YCBCR_RANGE_RANGE_SIZE = (VK_SAMPLER_YCBCR_RANGE_ITU_NARROW - VK_SAMPLER_YCBCR_RANGE_ITU_FULL + 1),
3823
VK_SAMPLER_YCBCR_RANGE_MAX_ENUM = 0x7FFFFFFF
3824
} VkSamplerYcbcrRange;
3825
3826
typedef enum VkChromaLocation {
3827
VK_CHROMA_LOCATION_COSITED_EVEN = 0,
3828
VK_CHROMA_LOCATION_MIDPOINT = 1,
3829
VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VK_CHROMA_LOCATION_COSITED_EVEN,
3830
VK_CHROMA_LOCATION_MIDPOINT_KHR = VK_CHROMA_LOCATION_MIDPOINT,
3831
VK_CHROMA_LOCATION_BEGIN_RANGE = VK_CHROMA_LOCATION_COSITED_EVEN,
3832
VK_CHROMA_LOCATION_END_RANGE = VK_CHROMA_LOCATION_MIDPOINT,
3833
VK_CHROMA_LOCATION_RANGE_SIZE = (VK_CHROMA_LOCATION_MIDPOINT - VK_CHROMA_LOCATION_COSITED_EVEN + 1),
3834
VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF
3835
} VkChromaLocation;
3836
3837
typedef enum VkDescriptorUpdateTemplateType {
3838
VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0,
3839
VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1,
3840
VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
3841
VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_BEGIN_RANGE = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
3842
VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_END_RANGE = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
3843
VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_RANGE_SIZE = (VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET - VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET + 1),
3844
VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM = 0x7FFFFFFF
3845
} VkDescriptorUpdateTemplateType;
3846
3847
3848
typedef enum VkSubgroupFeatureFlagBits {
3849
VK_SUBGROUP_FEATURE_BASIC_BIT = 0x00000001,
3850
VK_SUBGROUP_FEATURE_VOTE_BIT = 0x00000002,
3851
VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 0x00000004,
3852
VK_SUBGROUP_FEATURE_BALLOT_BIT = 0x00000008,
3853
VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 0x00000010,
3854
VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020,
3855
VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040,
3856
VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080,
3857
VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100,
3858
VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3859
} VkSubgroupFeatureFlagBits;
3860
typedef VkFlags VkSubgroupFeatureFlags;
3861
3862
typedef enum VkPeerMemoryFeatureFlagBits {
3863
VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 0x00000001,
3864
VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 0x00000002,
3865
VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 0x00000004,
3866
VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 0x00000008,
3867
VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT,
3868
VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT,
3869
VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT,
3870
VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT,
3871
VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3872
} VkPeerMemoryFeatureFlagBits;
3873
typedef VkFlags VkPeerMemoryFeatureFlags;
3874
3875
typedef enum VkMemoryAllocateFlagBits {
3876
VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 0x00000001,
3877
VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT,
3878
VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3879
} VkMemoryAllocateFlagBits;
3880
typedef VkFlags VkMemoryAllocateFlags;
3881
typedef VkFlags VkCommandPoolTrimFlags;
3882
typedef VkFlags VkDescriptorUpdateTemplateCreateFlags;
3883
3884
typedef enum VkExternalMemoryHandleTypeFlagBits {
3885
VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
3886
VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
3887
VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
3888
VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 0x00000008,
3889
VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 0x00000010,
3890
VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0x00000020,
3891
VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0x00000040,
3892
VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT = 0x00000200,
3893
VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400,
3894
VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 0x00000080,
3895
VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100,
3896
VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT,
3897
VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT,
3898
VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
3899
VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT,
3900
VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT,
3901
VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT,
3902
VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT,
3903
VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3904
} VkExternalMemoryHandleTypeFlagBits;
3905
typedef VkFlags VkExternalMemoryHandleTypeFlags;
3906
3907
typedef enum VkExternalMemoryFeatureFlagBits {
3908
VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 0x00000001,
3909
VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 0x00000002,
3910
VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 0x00000004,
3911
VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT,
3912
VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT,
3913
VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT,
3914
VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3915
} VkExternalMemoryFeatureFlagBits;
3916
typedef VkFlags VkExternalMemoryFeatureFlags;
3917
3918
typedef enum VkExternalFenceHandleTypeFlagBits {
3919
VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
3920
VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
3921
VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
3922
VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000008,
3923
VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT,
3924
VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
3925
VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
3926
VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT,
3927
VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3928
} VkExternalFenceHandleTypeFlagBits;
3929
typedef VkFlags VkExternalFenceHandleTypeFlags;
3930
3931
typedef enum VkExternalFenceFeatureFlagBits {
3932
VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 0x00000001,
3933
VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 0x00000002,
3934
VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT,
3935
VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT,
3936
VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3937
} VkExternalFenceFeatureFlagBits;
3938
typedef VkFlags VkExternalFenceFeatureFlags;
3939
3940
typedef enum VkFenceImportFlagBits {
3941
VK_FENCE_IMPORT_TEMPORARY_BIT = 0x00000001,
3942
VK_FENCE_IMPORT_TEMPORARY_BIT_KHR = VK_FENCE_IMPORT_TEMPORARY_BIT,
3943
VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3944
} VkFenceImportFlagBits;
3945
typedef VkFlags VkFenceImportFlags;
3946
3947
typedef enum VkSemaphoreImportFlagBits {
3948
VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 0x00000001,
3949
VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT,
3950
VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3951
} VkSemaphoreImportFlagBits;
3952
typedef VkFlags VkSemaphoreImportFlags;
3953
3954
typedef enum VkExternalSemaphoreHandleTypeFlagBits {
3955
VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
3956
VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
3957
VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
3958
VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 0x00000008,
3959
VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000010,
3960
VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT,
3961
VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
3962
VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
3963
VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
3964
VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT,
3965
VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3966
} VkExternalSemaphoreHandleTypeFlagBits;
3967
typedef VkFlags VkExternalSemaphoreHandleTypeFlags;
3968
3969
typedef enum VkExternalSemaphoreFeatureFlagBits {
3970
VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 0x00000001,
3971
VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 0x00000002,
3972
VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT,
3973
VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT,
3974
VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3975
} VkExternalSemaphoreFeatureFlagBits;
3976
typedef VkFlags VkExternalSemaphoreFeatureFlags;
3977
3978
typedef struct VkPhysicalDeviceSubgroupProperties {
3979
VkStructureType sType;
3980
void* pNext;
3981
uint32_t subgroupSize;
3982
VkShaderStageFlags supportedStages;
3983
VkSubgroupFeatureFlags supportedOperations;
3984
VkBool32 quadOperationsInAllStages;
3985
} VkPhysicalDeviceSubgroupProperties;
3986
3987
typedef struct VkBindBufferMemoryInfo {
3988
VkStructureType sType;
3989
const void* pNext;
3990
VkBuffer buffer;
3991
VkDeviceMemory memory;
3992
VkDeviceSize memoryOffset;
3993
} VkBindBufferMemoryInfo;
3994
3995
typedef struct VkBindImageMemoryInfo {
3996
VkStructureType sType;
3997
const void* pNext;
3998
VkImage image;
3999
VkDeviceMemory memory;
4000
VkDeviceSize memoryOffset;
4001
} VkBindImageMemoryInfo;
4002
4003
typedef struct VkPhysicalDevice16BitStorageFeatures {
4004
VkStructureType sType;
4005
void* pNext;
4006
VkBool32 storageBuffer16BitAccess;
4007
VkBool32 uniformAndStorageBuffer16BitAccess;
4008
VkBool32 storagePushConstant16;
4009
VkBool32 storageInputOutput16;
4010
} VkPhysicalDevice16BitStorageFeatures;
4011
4012
typedef struct VkMemoryDedicatedRequirements {
4013
VkStructureType sType;
4014
void* pNext;
4015
VkBool32 prefersDedicatedAllocation;
4016
VkBool32 requiresDedicatedAllocation;
4017
} VkMemoryDedicatedRequirements;
4018
4019
typedef struct VkMemoryDedicatedAllocateInfo {
4020
VkStructureType sType;
4021
const void* pNext;
4022
VkImage image;
4023
VkBuffer buffer;
4024
} VkMemoryDedicatedAllocateInfo;
4025
4026
typedef struct VkMemoryAllocateFlagsInfo {
4027
VkStructureType sType;
4028
const void* pNext;
4029
VkMemoryAllocateFlags flags;
4030
uint32_t deviceMask;
4031
} VkMemoryAllocateFlagsInfo;
4032
4033
typedef struct VkDeviceGroupRenderPassBeginInfo {
4034
VkStructureType sType;
4035
const void* pNext;
4036
uint32_t deviceMask;
4037
uint32_t deviceRenderAreaCount;
4038
const VkRect2D* pDeviceRenderAreas;
4039
} VkDeviceGroupRenderPassBeginInfo;
4040
4041
typedef struct VkDeviceGroupCommandBufferBeginInfo {
4042
VkStructureType sType;
4043
const void* pNext;
4044
uint32_t deviceMask;
4045
} VkDeviceGroupCommandBufferBeginInfo;
4046
4047
typedef struct VkDeviceGroupSubmitInfo {
4048
VkStructureType sType;
4049
const void* pNext;
4050
uint32_t waitSemaphoreCount;
4051
const uint32_t* pWaitSemaphoreDeviceIndices;
4052
uint32_t commandBufferCount;
4053
const uint32_t* pCommandBufferDeviceMasks;
4054
uint32_t signalSemaphoreCount;
4055
const uint32_t* pSignalSemaphoreDeviceIndices;
4056
} VkDeviceGroupSubmitInfo;
4057
4058
typedef struct VkDeviceGroupBindSparseInfo {
4059
VkStructureType sType;
4060
const void* pNext;
4061
uint32_t resourceDeviceIndex;
4062
uint32_t memoryDeviceIndex;
4063
} VkDeviceGroupBindSparseInfo;
4064
4065
typedef struct VkBindBufferMemoryDeviceGroupInfo {
4066
VkStructureType sType;
4067
const void* pNext;
4068
uint32_t deviceIndexCount;
4069
const uint32_t* pDeviceIndices;
4070
} VkBindBufferMemoryDeviceGroupInfo;
4071
4072
typedef struct VkBindImageMemoryDeviceGroupInfo {
4073
VkStructureType sType;
4074
const void* pNext;
4075
uint32_t deviceIndexCount;
4076
const uint32_t* pDeviceIndices;
4077
uint32_t splitInstanceBindRegionCount;
4078
const VkRect2D* pSplitInstanceBindRegions;
4079
} VkBindImageMemoryDeviceGroupInfo;
4080
4081
typedef struct VkPhysicalDeviceGroupProperties {
4082
VkStructureType sType;
4083
void* pNext;
4084
uint32_t physicalDeviceCount;
4085
VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];
4086
VkBool32 subsetAllocation;
4087
} VkPhysicalDeviceGroupProperties;
4088
4089
typedef struct VkDeviceGroupDeviceCreateInfo {
4090
VkStructureType sType;
4091
const void* pNext;
4092
uint32_t physicalDeviceCount;
4093
const VkPhysicalDevice* pPhysicalDevices;
4094
} VkDeviceGroupDeviceCreateInfo;
4095
4096
typedef struct VkBufferMemoryRequirementsInfo2 {
4097
VkStructureType sType;
4098
const void* pNext;
4099
VkBuffer buffer;
4100
} VkBufferMemoryRequirementsInfo2;
4101
4102
typedef struct VkImageMemoryRequirementsInfo2 {
4103
VkStructureType sType;
4104
const void* pNext;
4105
VkImage image;
4106
} VkImageMemoryRequirementsInfo2;
4107
4108
typedef struct VkImageSparseMemoryRequirementsInfo2 {
4109
VkStructureType sType;
4110
const void* pNext;
4111
VkImage image;
4112
} VkImageSparseMemoryRequirementsInfo2;
4113
4114
typedef struct VkMemoryRequirements2 {
4115
VkStructureType sType;
4116
void* pNext;
4117
VkMemoryRequirements memoryRequirements;
4118
} VkMemoryRequirements2;
4119
4120
typedef VkMemoryRequirements2 VkMemoryRequirements2KHR;
4121
4122
typedef struct VkSparseImageMemoryRequirements2 {
4123
VkStructureType sType;
4124
void* pNext;
4125
VkSparseImageMemoryRequirements memoryRequirements;
4126
} VkSparseImageMemoryRequirements2;
4127
4128
typedef struct VkPhysicalDeviceFeatures2 {
4129
VkStructureType sType;
4130
void* pNext;
4131
VkPhysicalDeviceFeatures features;
4132
} VkPhysicalDeviceFeatures2;
4133
4134
typedef struct VkPhysicalDeviceProperties2 {
4135
VkStructureType sType;
4136
void* pNext;
4137
VkPhysicalDeviceProperties properties;
4138
} VkPhysicalDeviceProperties2;
4139
4140
typedef struct VkFormatProperties2 {
4141
VkStructureType sType;
4142
void* pNext;
4143
VkFormatProperties formatProperties;
4144
} VkFormatProperties2;
4145
4146
typedef struct VkImageFormatProperties2 {
4147
VkStructureType sType;
4148
void* pNext;
4149
VkImageFormatProperties imageFormatProperties;
4150
} VkImageFormatProperties2;
4151
4152
typedef struct VkPhysicalDeviceImageFormatInfo2 {
4153
VkStructureType sType;
4154
const void* pNext;
4155
VkFormat format;
4156
VkImageType type;
4157
VkImageTiling tiling;
4158
VkImageUsageFlags usage;
4159
VkImageCreateFlags flags;
4160
} VkPhysicalDeviceImageFormatInfo2;
4161
4162
typedef struct VkQueueFamilyProperties2 {
4163
VkStructureType sType;
4164
void* pNext;
4165
VkQueueFamilyProperties queueFamilyProperties;
4166
} VkQueueFamilyProperties2;
4167
4168
typedef struct VkPhysicalDeviceMemoryProperties2 {
4169
VkStructureType sType;
4170
void* pNext;
4171
VkPhysicalDeviceMemoryProperties memoryProperties;
4172
} VkPhysicalDeviceMemoryProperties2;
4173
4174
typedef struct VkSparseImageFormatProperties2 {
4175
VkStructureType sType;
4176
void* pNext;
4177
VkSparseImageFormatProperties properties;
4178
} VkSparseImageFormatProperties2;
4179
4180
typedef struct VkPhysicalDeviceSparseImageFormatInfo2 {
4181
VkStructureType sType;
4182
const void* pNext;
4183
VkFormat format;
4184
VkImageType type;
4185
VkSampleCountFlagBits samples;
4186
VkImageUsageFlags usage;
4187
VkImageTiling tiling;
4188
} VkPhysicalDeviceSparseImageFormatInfo2;
4189
4190
typedef struct VkPhysicalDevicePointClippingProperties {
4191
VkStructureType sType;
4192
void* pNext;
4193
VkPointClippingBehavior pointClippingBehavior;
4194
} VkPhysicalDevicePointClippingProperties;
4195
4196
typedef struct VkInputAttachmentAspectReference {
4197
uint32_t subpass;
4198
uint32_t inputAttachmentIndex;
4199
VkImageAspectFlags aspectMask;
4200
} VkInputAttachmentAspectReference;
4201
4202
typedef struct VkRenderPassInputAttachmentAspectCreateInfo {
4203
VkStructureType sType;
4204
const void* pNext;
4205
uint32_t aspectReferenceCount;
4206
const VkInputAttachmentAspectReference* pAspectReferences;
4207
} VkRenderPassInputAttachmentAspectCreateInfo;
4208
4209
typedef struct VkImageViewUsageCreateInfo {
4210
VkStructureType sType;
4211
const void* pNext;
4212
VkImageUsageFlags usage;
4213
} VkImageViewUsageCreateInfo;
4214
4215
typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
4216
VkStructureType sType;
4217
const void* pNext;
4218
VkTessellationDomainOrigin domainOrigin;
4219
} VkPipelineTessellationDomainOriginStateCreateInfo;
4220
4221
typedef struct VkRenderPassMultiviewCreateInfo {
4222
VkStructureType sType;
4223
const void* pNext;
4224
uint32_t subpassCount;
4225
const uint32_t* pViewMasks;
4226
uint32_t dependencyCount;
4227
const int32_t* pViewOffsets;
4228
uint32_t correlationMaskCount;
4229
const uint32_t* pCorrelationMasks;
4230
} VkRenderPassMultiviewCreateInfo;
4231
4232
typedef struct VkPhysicalDeviceMultiviewFeatures {
4233
VkStructureType sType;
4234
void* pNext;
4235
VkBool32 multiview;
4236
VkBool32 multiviewGeometryShader;
4237
VkBool32 multiviewTessellationShader;
4238
} VkPhysicalDeviceMultiviewFeatures;
4239
4240
typedef struct VkPhysicalDeviceMultiviewProperties {
4241
VkStructureType sType;
4242
void* pNext;
4243
uint32_t maxMultiviewViewCount;
4244
uint32_t maxMultiviewInstanceIndex;
4245
} VkPhysicalDeviceMultiviewProperties;
4246
4247
typedef struct VkPhysicalDeviceVariablePointerFeatures {
4248
VkStructureType sType;
4249
void* pNext;
4250
VkBool32 variablePointersStorageBuffer;
4251
VkBool32 variablePointers;
4252
} VkPhysicalDeviceVariablePointerFeatures;
4253
4254
typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
4255
VkStructureType sType;
4256
void* pNext;
4257
VkBool32 protectedMemory;
4258
} VkPhysicalDeviceProtectedMemoryFeatures;
4259
4260
typedef struct VkPhysicalDeviceProtectedMemoryProperties {
4261
VkStructureType sType;
4262
void* pNext;
4263
VkBool32 protectedNoFault;
4264
} VkPhysicalDeviceProtectedMemoryProperties;
4265
4266
typedef struct VkDeviceQueueInfo2 {
4267
VkStructureType sType;
4268
const void* pNext;
4269
VkDeviceQueueCreateFlags flags;
4270
uint32_t queueFamilyIndex;
4271
uint32_t queueIndex;
4272
} VkDeviceQueueInfo2;
4273
4274
typedef struct VkProtectedSubmitInfo {
4275
VkStructureType sType;
4276
const void* pNext;
4277
VkBool32 protectedSubmit;
4278
} VkProtectedSubmitInfo;
4279
4280
typedef struct VkSamplerYcbcrConversionCreateInfo {
4281
VkStructureType sType;
4282
const void* pNext;
4283
VkFormat format;
4284
VkSamplerYcbcrModelConversion ycbcrModel;
4285
VkSamplerYcbcrRange ycbcrRange;
4286
VkComponentMapping components;
4287
VkChromaLocation xChromaOffset;
4288
VkChromaLocation yChromaOffset;
4289
VkFilter chromaFilter;
4290
VkBool32 forceExplicitReconstruction;
4291
} VkSamplerYcbcrConversionCreateInfo;
4292
4293
typedef struct VkSamplerYcbcrConversionInfo {
4294
VkStructureType sType;
4295
const void* pNext;
4296
VkSamplerYcbcrConversion conversion;
4297
} VkSamplerYcbcrConversionInfo;
4298
4299
typedef struct VkBindImagePlaneMemoryInfo {
4300
VkStructureType sType;
4301
const void* pNext;
4302
VkImageAspectFlagBits planeAspect;
4303
} VkBindImagePlaneMemoryInfo;
4304
4305
typedef struct VkImagePlaneMemoryRequirementsInfo {
4306
VkStructureType sType;
4307
const void* pNext;
4308
VkImageAspectFlagBits planeAspect;
4309
} VkImagePlaneMemoryRequirementsInfo;
4310
4311
typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
4312
VkStructureType sType;
4313
void* pNext;
4314
VkBool32 samplerYcbcrConversion;
4315
} VkPhysicalDeviceSamplerYcbcrConversionFeatures;
4316
4317
typedef struct VkSamplerYcbcrConversionImageFormatProperties {
4318
VkStructureType sType;
4319
void* pNext;
4320
uint32_t combinedImageSamplerDescriptorCount;
4321
} VkSamplerYcbcrConversionImageFormatProperties;
4322
4323
typedef struct VkDescriptorUpdateTemplateEntry {
4324
uint32_t dstBinding;
4325
uint32_t dstArrayElement;
4326
uint32_t descriptorCount;
4327
VkDescriptorType descriptorType;
4328
size_t offset;
4329
size_t stride;
4330
} VkDescriptorUpdateTemplateEntry;
4331
4332
typedef struct VkDescriptorUpdateTemplateCreateInfo {
4333
VkStructureType sType;
4334
void* pNext;
4335
VkDescriptorUpdateTemplateCreateFlags flags;
4336
uint32_t descriptorUpdateEntryCount;
4337
const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries;
4338
VkDescriptorUpdateTemplateType templateType;
4339
VkDescriptorSetLayout descriptorSetLayout;
4340
VkPipelineBindPoint pipelineBindPoint;
4341
VkPipelineLayout pipelineLayout;
4342
uint32_t set;
4343
} VkDescriptorUpdateTemplateCreateInfo;
4344
4345
typedef struct VkExternalMemoryProperties {
4346
VkExternalMemoryFeatureFlags externalMemoryFeatures;
4347
VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;
4348
VkExternalMemoryHandleTypeFlags compatibleHandleTypes;
4349
} VkExternalMemoryProperties;
4350
4351
typedef struct VkPhysicalDeviceExternalImageFormatInfo {
4352
VkStructureType sType;
4353
const void* pNext;
4354
VkExternalMemoryHandleTypeFlagBits handleType;
4355
} VkPhysicalDeviceExternalImageFormatInfo;
4356
4357
typedef struct VkExternalImageFormatProperties {
4358
VkStructureType sType;
4359
void* pNext;
4360
VkExternalMemoryProperties externalMemoryProperties;
4361
} VkExternalImageFormatProperties;
4362
4363
typedef struct VkPhysicalDeviceExternalBufferInfo {
4364
VkStructureType sType;
4365
const void* pNext;
4366
VkBufferCreateFlags flags;
4367
VkBufferUsageFlags usage;
4368
VkExternalMemoryHandleTypeFlagBits handleType;
4369
} VkPhysicalDeviceExternalBufferInfo;
4370
4371
typedef struct VkExternalBufferProperties {
4372
VkStructureType sType;
4373
void* pNext;
4374
VkExternalMemoryProperties externalMemoryProperties;
4375
} VkExternalBufferProperties;
4376
4377
typedef struct VkPhysicalDeviceIDProperties {
4378
VkStructureType sType;
4379
void* pNext;
4380
uint8_t deviceUUID[VK_UUID_SIZE];
4381
uint8_t driverUUID[VK_UUID_SIZE];
4382
uint8_t deviceLUID[VK_LUID_SIZE];
4383
uint32_t deviceNodeMask;
4384
VkBool32 deviceLUIDValid;
4385
} VkPhysicalDeviceIDProperties;
4386
4387
typedef struct VkExternalMemoryImageCreateInfo {
4388
VkStructureType sType;
4389
const void* pNext;
4390
VkExternalMemoryHandleTypeFlags handleTypes;
4391
} VkExternalMemoryImageCreateInfo;
4392
4393
typedef struct VkExternalMemoryBufferCreateInfo {
4394
VkStructureType sType;
4395
const void* pNext;
4396
VkExternalMemoryHandleTypeFlags handleTypes;
4397
} VkExternalMemoryBufferCreateInfo;
4398
4399
typedef struct VkExportMemoryAllocateInfo {
4400
VkStructureType sType;
4401
const void* pNext;
4402
VkExternalMemoryHandleTypeFlags handleTypes;
4403
} VkExportMemoryAllocateInfo;
4404
4405
typedef struct VkPhysicalDeviceExternalFenceInfo {
4406
VkStructureType sType;
4407
const void* pNext;
4408
VkExternalFenceHandleTypeFlagBits handleType;
4409
} VkPhysicalDeviceExternalFenceInfo;
4410
4411
typedef struct VkExternalFenceProperties {
4412
VkStructureType sType;
4413
void* pNext;
4414
VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes;
4415
VkExternalFenceHandleTypeFlags compatibleHandleTypes;
4416
VkExternalFenceFeatureFlags externalFenceFeatures;
4417
} VkExternalFenceProperties;
4418
4419
typedef struct VkExportFenceCreateInfo {
4420
VkStructureType sType;
4421
const void* pNext;
4422
VkExternalFenceHandleTypeFlags handleTypes;
4423
} VkExportFenceCreateInfo;
4424
4425
typedef struct VkExportSemaphoreCreateInfo {
4426
VkStructureType sType;
4427
const void* pNext;
4428
VkExternalSemaphoreHandleTypeFlags handleTypes;
4429
} VkExportSemaphoreCreateInfo;
4430
4431
typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
4432
VkStructureType sType;
4433
const void* pNext;
4434
VkExternalSemaphoreHandleTypeFlagBits handleType;
4435
} VkPhysicalDeviceExternalSemaphoreInfo;
4436
4437
typedef struct VkExternalSemaphoreProperties {
4438
VkStructureType sType;
4439
void* pNext;
4440
VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes;
4441
VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes;
4442
VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures;
4443
} VkExternalSemaphoreProperties;
4444
4445
typedef struct VkPhysicalDeviceMaintenance3Properties {
4446
VkStructureType sType;
4447
void* pNext;
4448
uint32_t maxPerSetDescriptors;
4449
VkDeviceSize maxMemoryAllocationSize;
4450
} VkPhysicalDeviceMaintenance3Properties;
4451
4452
typedef struct VkDescriptorSetLayoutSupport {
4453
VkStructureType sType;
4454
void* pNext;
4455
VkBool32 supported;
4456
} VkDescriptorSetLayoutSupport;
4457
4458
typedef struct VkPhysicalDeviceShaderDrawParameterFeatures {
4459
VkStructureType sType;
4460
void* pNext;
4461
VkBool32 shaderDrawParameters;
4462
} VkPhysicalDeviceShaderDrawParameterFeatures;
4463
4464
4465
typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceVersion)(uint32_t* pApiVersion);
4466
typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
4467
typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
4468
typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
4469
typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, uint32_t deviceMask);
4470
typedef void (VKAPI_PTR *PFN_vkCmdDispatchBase)(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
4471
typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
4472
typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
4473
typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
4474
typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
4475
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
4476
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
4477
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
4478
typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
4479
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
4480
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
4481
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
4482
typedef void (VKAPI_PTR *PFN_vkTrimCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
4483
typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue);
4484
typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
4485
typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
4486
typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplate)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
4487
typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
4488
typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
4489
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
4490
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
4491
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
4492
typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
4493
4494
#ifndef VK_NO_PROTOTYPES
4495
VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceVersion(
4496
uint32_t* pApiVersion);
4497
4498
VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2(
4499
VkDevice device,
4500
uint32_t bindInfoCount,
4501
const VkBindBufferMemoryInfo* pBindInfos);
4502
4503
VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2(
4504
VkDevice device,
4505
uint32_t bindInfoCount,
4506
const VkBindImageMemoryInfo* pBindInfos);
4507
4508
VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeatures(
4509
VkDevice device,
4510
uint32_t heapIndex,
4511
uint32_t localDeviceIndex,
4512
uint32_t remoteDeviceIndex,
4513
VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
4514
4515
VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMask(
4516
VkCommandBuffer commandBuffer,
4517
uint32_t deviceMask);
4518
4519
VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBase(
4520
VkCommandBuffer commandBuffer,
4521
uint32_t baseGroupX,
4522
uint32_t baseGroupY,
4523
uint32_t baseGroupZ,
4524
uint32_t groupCountX,
4525
uint32_t groupCountY,
4526
uint32_t groupCountZ);
4527
4528
VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroups(
4529
VkInstance instance,
4530
uint32_t* pPhysicalDeviceGroupCount,
4531
VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
4532
4533
VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2(
4534
VkDevice device,
4535
const VkImageMemoryRequirementsInfo2* pInfo,
4536
VkMemoryRequirements2* pMemoryRequirements);
4537
4538
VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2(
4539
VkDevice device,
4540
const VkBufferMemoryRequirementsInfo2* pInfo,
4541
VkMemoryRequirements2* pMemoryRequirements);
4542
4543
VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2(
4544
VkDevice device,
4545
const VkImageSparseMemoryRequirementsInfo2* pInfo,
4546
uint32_t* pSparseMemoryRequirementCount,
4547
VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
4548
4549
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2(
4550
VkPhysicalDevice physicalDevice,
4551
VkPhysicalDeviceFeatures2* pFeatures);
4552
4553
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2(
4554
VkPhysicalDevice physicalDevice,
4555
VkPhysicalDeviceProperties2* pProperties);
4556
4557
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2(
4558
VkPhysicalDevice physicalDevice,
4559
VkFormat format,
4560
VkFormatProperties2* pFormatProperties);
4561
4562
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2(
4563
VkPhysicalDevice physicalDevice,
4564
const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
4565
VkImageFormatProperties2* pImageFormatProperties);
4566
4567
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2(
4568
VkPhysicalDevice physicalDevice,
4569
uint32_t* pQueueFamilyPropertyCount,
4570
VkQueueFamilyProperties2* pQueueFamilyProperties);
4571
4572
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2(
4573
VkPhysicalDevice physicalDevice,
4574
VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
4575
4576
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2(
4577
VkPhysicalDevice physicalDevice,
4578
const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
4579
uint32_t* pPropertyCount,
4580
VkSparseImageFormatProperties2* pProperties);
4581
4582
VKAPI_ATTR void VKAPI_CALL vkTrimCommandPool(
4583
VkDevice device,
4584
VkCommandPool commandPool,
4585
VkCommandPoolTrimFlags flags);
4586
4587
VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue2(
4588
VkDevice device,
4589
const VkDeviceQueueInfo2* pQueueInfo,
4590
VkQueue* pQueue);
4591
4592
VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversion(
4593
VkDevice device,
4594
const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
4595
const VkAllocationCallbacks* pAllocator,
4596
VkSamplerYcbcrConversion* pYcbcrConversion);
4597
4598
VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversion(
4599
VkDevice device,
4600
VkSamplerYcbcrConversion ycbcrConversion,
4601
const VkAllocationCallbacks* pAllocator);
4602
4603
VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplate(
4604
VkDevice device,
4605
const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
4606
const VkAllocationCallbacks* pAllocator,
4607
VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
4608
4609
VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplate(
4610
VkDevice device,
4611
VkDescriptorUpdateTemplate descriptorUpdateTemplate,
4612
const VkAllocationCallbacks* pAllocator);
4613
4614
VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplate(
4615
VkDevice device,
4616
VkDescriptorSet descriptorSet,
4617
VkDescriptorUpdateTemplate descriptorUpdateTemplate,
4618
const void* pData);
4619
4620
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferProperties(
4621
VkPhysicalDevice physicalDevice,
4622
const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
4623
VkExternalBufferProperties* pExternalBufferProperties);
4624
4625
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFenceProperties(
4626
VkPhysicalDevice physicalDevice,
4627
const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
4628
VkExternalFenceProperties* pExternalFenceProperties);
4629
4630
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphoreProperties(
4631
VkPhysicalDevice physicalDevice,
4632
const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
4633
VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
4634
4635
VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupport(
4636
VkDevice device,
4637
const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
4638
VkDescriptorSetLayoutSupport* pSupport);
4639
#endif
4640
4641
#define VK_KHR_surface 1
4642
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR)
4643
4644
#define VK_KHR_SURFACE_SPEC_VERSION 25
4645
#define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface"
4646
4647
4648
typedef enum VkColorSpaceKHR {
4649
VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0,
4650
VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001,
4651
VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002,
4652
VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = 1000104003,
4653
VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004,
4654
VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005,
4655
VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006,
4656
VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007,
4657
VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008,
4658
VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009,
4659
VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010,
4660
VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011,
4661
VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012,
4662
VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013,
4663
VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014,
4664
VK_COLORSPACE_SRGB_NONLINEAR_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
4665
VK_COLOR_SPACE_BEGIN_RANGE_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
4666
VK_COLOR_SPACE_END_RANGE_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
4667
VK_COLOR_SPACE_RANGE_SIZE_KHR = (VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - VK_COLOR_SPACE_SRGB_NONLINEAR_KHR + 1),
4668
VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF
4669
} VkColorSpaceKHR;
4670
4671
typedef enum VkPresentModeKHR {
4672
VK_PRESENT_MODE_IMMEDIATE_KHR = 0,
4673
VK_PRESENT_MODE_MAILBOX_KHR = 1,
4674
VK_PRESENT_MODE_FIFO_KHR = 2,
4675
VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3,
4676
VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000,
4677
VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001,
4678
VK_PRESENT_MODE_BEGIN_RANGE_KHR = VK_PRESENT_MODE_IMMEDIATE_KHR,
4679
VK_PRESENT_MODE_END_RANGE_KHR = VK_PRESENT_MODE_FIFO_RELAXED_KHR,
4680
VK_PRESENT_MODE_RANGE_SIZE_KHR = (VK_PRESENT_MODE_FIFO_RELAXED_KHR - VK_PRESENT_MODE_IMMEDIATE_KHR + 1),
4681
VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
4682
} VkPresentModeKHR;
4683
4684
4685
typedef enum VkSurfaceTransformFlagBitsKHR {
4686
VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001,
4687
VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002,
4688
VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004,
4689
VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008,
4690
VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010,
4691
VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020,
4692
VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040,
4693
VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080,
4694
VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100,
4695
VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
4696
} VkSurfaceTransformFlagBitsKHR;
4697
typedef VkFlags VkSurfaceTransformFlagsKHR;
4698
4699
typedef enum VkCompositeAlphaFlagBitsKHR {
4700
VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
4701
VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002,
4702
VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004,
4703
VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008,
4704
VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
4705
} VkCompositeAlphaFlagBitsKHR;
4706
typedef VkFlags VkCompositeAlphaFlagsKHR;
4707
4708
typedef struct VkSurfaceCapabilitiesKHR {
4709
uint32_t minImageCount;
4710
uint32_t maxImageCount;
4711
VkExtent2D currentExtent;
4712
VkExtent2D minImageExtent;
4713
VkExtent2D maxImageExtent;
4714
uint32_t maxImageArrayLayers;
4715
VkSurfaceTransformFlagsKHR supportedTransforms;
4716
VkSurfaceTransformFlagBitsKHR currentTransform;
4717
VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
4718
VkImageUsageFlags supportedUsageFlags;
4719
} VkSurfaceCapabilitiesKHR;
4720
4721
typedef struct VkSurfaceFormatKHR {
4722
VkFormat format;
4723
VkColorSpaceKHR colorSpace;
4724
} VkSurfaceFormatKHR;
4725
4726
4727
typedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator);
4728
typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported);
4729
typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
4730
typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats);
4731
typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes);
4732
4733
#ifndef VK_NO_PROTOTYPES
4734
VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR(
4735
VkInstance instance,
4736
VkSurfaceKHR surface,
4737
const VkAllocationCallbacks* pAllocator);
4738
4739
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR(
4740
VkPhysicalDevice physicalDevice,
4741
uint32_t queueFamilyIndex,
4742
VkSurfaceKHR surface,
4743
VkBool32* pSupported);
4744
4745
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
4746
VkPhysicalDevice physicalDevice,
4747
VkSurfaceKHR surface,
4748
VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
4749
4750
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR(
4751
VkPhysicalDevice physicalDevice,
4752
VkSurfaceKHR surface,
4753
uint32_t* pSurfaceFormatCount,
4754
VkSurfaceFormatKHR* pSurfaceFormats);
4755
4756
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR(
4757
VkPhysicalDevice physicalDevice,
4758
VkSurfaceKHR surface,
4759
uint32_t* pPresentModeCount,
4760
VkPresentModeKHR* pPresentModes);
4761
#endif
4762
4763
#define VK_KHR_swapchain 1
4764
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR)
4765
4766
#define VK_KHR_SWAPCHAIN_SPEC_VERSION 70
4767
#define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain"
4768
4769
4770
typedef enum VkSwapchainCreateFlagBitsKHR {
4771
VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001,
4772
VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0x00000002,
4773
VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
4774
} VkSwapchainCreateFlagBitsKHR;
4775
typedef VkFlags VkSwapchainCreateFlagsKHR;
4776
4777
typedef enum VkDeviceGroupPresentModeFlagBitsKHR {
4778
VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 0x00000001,
4779
VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 0x00000002,
4780
VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 0x00000004,
4781
VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 0x00000008,
4782
VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
4783
} VkDeviceGroupPresentModeFlagBitsKHR;
4784
typedef VkFlags VkDeviceGroupPresentModeFlagsKHR;
4785
4786
typedef struct VkSwapchainCreateInfoKHR {
4787
VkStructureType sType;
4788
const void* pNext;
4789
VkSwapchainCreateFlagsKHR flags;
4790
VkSurfaceKHR surface;
4791
uint32_t minImageCount;
4792
VkFormat imageFormat;
4793
VkColorSpaceKHR imageColorSpace;
4794
VkExtent2D imageExtent;
4795
uint32_t imageArrayLayers;
4796
VkImageUsageFlags imageUsage;
4797
VkSharingMode imageSharingMode;
4798
uint32_t queueFamilyIndexCount;
4799
const uint32_t* pQueueFamilyIndices;
4800
VkSurfaceTransformFlagBitsKHR preTransform;
4801
VkCompositeAlphaFlagBitsKHR compositeAlpha;
4802
VkPresentModeKHR presentMode;
4803
VkBool32 clipped;
4804
VkSwapchainKHR oldSwapchain;
4805
} VkSwapchainCreateInfoKHR;
4806
4807
typedef struct VkPresentInfoKHR {
4808
VkStructureType sType;
4809
const void* pNext;
4810
uint32_t waitSemaphoreCount;
4811
const VkSemaphore* pWaitSemaphores;
4812
uint32_t swapchainCount;
4813
const VkSwapchainKHR* pSwapchains;
4814
const uint32_t* pImageIndices;
4815
VkResult* pResults;
4816
} VkPresentInfoKHR;
4817
4818
typedef struct VkImageSwapchainCreateInfoKHR {
4819
VkStructureType sType;
4820
const void* pNext;
4821
VkSwapchainKHR swapchain;
4822
} VkImageSwapchainCreateInfoKHR;
4823
4824
typedef struct VkBindImageMemorySwapchainInfoKHR {
4825
VkStructureType sType;
4826
const void* pNext;
4827
VkSwapchainKHR swapchain;
4828
uint32_t imageIndex;
4829
} VkBindImageMemorySwapchainInfoKHR;
4830
4831
typedef struct VkAcquireNextImageInfoKHR {
4832
VkStructureType sType;
4833
const void* pNext;
4834
VkSwapchainKHR swapchain;
4835
uint64_t timeout;
4836
VkSemaphore semaphore;
4837
VkFence fence;
4838
uint32_t deviceMask;
4839
} VkAcquireNextImageInfoKHR;
4840
4841
typedef struct VkDeviceGroupPresentCapabilitiesKHR {
4842
VkStructureType sType;
4843
const void* pNext;
4844
uint32_t presentMask[VK_MAX_DEVICE_GROUP_SIZE];
4845
VkDeviceGroupPresentModeFlagsKHR modes;
4846
} VkDeviceGroupPresentCapabilitiesKHR;
4847
4848
typedef struct VkDeviceGroupPresentInfoKHR {
4849
VkStructureType sType;
4850
const void* pNext;
4851
uint32_t swapchainCount;
4852
const uint32_t* pDeviceMasks;
4853
VkDeviceGroupPresentModeFlagBitsKHR mode;
4854
} VkDeviceGroupPresentInfoKHR;
4855
4856
typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
4857
VkStructureType sType;
4858
const void* pNext;
4859
VkDeviceGroupPresentModeFlagsKHR modes;
4860
} VkDeviceGroupSwapchainCreateInfoKHR;
4861
4862
4863
typedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain);
4864
typedef void (VKAPI_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator);
4865
typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages);
4866
typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex);
4867
typedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR* pPresentInfo);
4868
typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
4869
typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes);
4870
typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pRectCount, VkRect2D* pRects);
4871
typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex);
4872
4873
#ifndef VK_NO_PROTOTYPES
4874
VKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR(
4875
VkDevice device,
4876
const VkSwapchainCreateInfoKHR* pCreateInfo,
4877
const VkAllocationCallbacks* pAllocator,
4878
VkSwapchainKHR* pSwapchain);
4879
4880
VKAPI_ATTR void VKAPI_CALL vkDestroySwapchainKHR(
4881
VkDevice device,
4882
VkSwapchainKHR swapchain,
4883
const VkAllocationCallbacks* pAllocator);
4884
4885
VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR(
4886
VkDevice device,
4887
VkSwapchainKHR swapchain,
4888
uint32_t* pSwapchainImageCount,
4889
VkImage* pSwapchainImages);
4890
4891
VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR(
4892
VkDevice device,
4893
VkSwapchainKHR swapchain,
4894
uint64_t timeout,
4895
VkSemaphore semaphore,
4896
VkFence fence,
4897
uint32_t* pImageIndex);
4898
4899
VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR(
4900
VkQueue queue,
4901
const VkPresentInfoKHR* pPresentInfo);
4902
4903
VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupPresentCapabilitiesKHR(
4904
VkDevice device,
4905
VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
4906
4907
VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModesKHR(
4908
VkDevice device,
4909
VkSurfaceKHR surface,
4910
VkDeviceGroupPresentModeFlagsKHR* pModes);
4911
4912
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDevicePresentRectanglesKHR(
4913
VkPhysicalDevice physicalDevice,
4914
VkSurfaceKHR surface,
4915
uint32_t* pRectCount,
4916
VkRect2D* pRects);
4917
4918
VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImage2KHR(
4919
VkDevice device,
4920
const VkAcquireNextImageInfoKHR* pAcquireInfo,
4921
uint32_t* pImageIndex);
4922
#endif
4923
4924
#define VK_KHR_display 1
4925
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR)
4926
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR)
4927
4928
#define VK_KHR_DISPLAY_SPEC_VERSION 21
4929
#define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display"
4930
4931
4932
typedef enum VkDisplayPlaneAlphaFlagBitsKHR {
4933
VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
4934
VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002,
4935
VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004,
4936
VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008,
4937
VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
4938
} VkDisplayPlaneAlphaFlagBitsKHR;
4939
typedef VkFlags VkDisplayPlaneAlphaFlagsKHR;
4940
typedef VkFlags VkDisplayModeCreateFlagsKHR;
4941
typedef VkFlags VkDisplaySurfaceCreateFlagsKHR;
4942
4943
typedef struct VkDisplayPropertiesKHR {
4944
VkDisplayKHR display;
4945
const char* displayName;
4946
VkExtent2D physicalDimensions;
4947
VkExtent2D physicalResolution;
4948
VkSurfaceTransformFlagsKHR supportedTransforms;
4949
VkBool32 planeReorderPossible;
4950
VkBool32 persistentContent;
4951
} VkDisplayPropertiesKHR;
4952
4953
typedef struct VkDisplayModeParametersKHR {
4954
VkExtent2D visibleRegion;
4955
uint32_t refreshRate;
4956
} VkDisplayModeParametersKHR;
4957
4958
typedef struct VkDisplayModePropertiesKHR {
4959
VkDisplayModeKHR displayMode;
4960
VkDisplayModeParametersKHR parameters;
4961
} VkDisplayModePropertiesKHR;
4962
4963
typedef struct VkDisplayModeCreateInfoKHR {
4964
VkStructureType sType;
4965
const void* pNext;
4966
VkDisplayModeCreateFlagsKHR flags;
4967
VkDisplayModeParametersKHR parameters;
4968
} VkDisplayModeCreateInfoKHR;
4969
4970
typedef struct VkDisplayPlaneCapabilitiesKHR {
4971
VkDisplayPlaneAlphaFlagsKHR supportedAlpha;
4972
VkOffset2D minSrcPosition;
4973
VkOffset2D maxSrcPosition;
4974
VkExtent2D minSrcExtent;
4975
VkExtent2D maxSrcExtent;
4976
VkOffset2D minDstPosition;
4977
VkOffset2D maxDstPosition;
4978
VkExtent2D minDstExtent;
4979
VkExtent2D maxDstExtent;
4980
} VkDisplayPlaneCapabilitiesKHR;
4981
4982
typedef struct VkDisplayPlanePropertiesKHR {
4983
VkDisplayKHR currentDisplay;
4984
uint32_t currentStackIndex;
4985
} VkDisplayPlanePropertiesKHR;
4986
4987
typedef struct VkDisplaySurfaceCreateInfoKHR {
4988
VkStructureType sType;
4989
const void* pNext;
4990
VkDisplaySurfaceCreateFlagsKHR flags;
4991
VkDisplayModeKHR displayMode;
4992
uint32_t planeIndex;
4993
uint32_t planeStackIndex;
4994
VkSurfaceTransformFlagBitsKHR transform;
4995
float globalAlpha;
4996
VkDisplayPlaneAlphaFlagBitsKHR alphaMode;
4997
VkExtent2D imageExtent;
4998
} VkDisplaySurfaceCreateInfoKHR;
4999
5000
5001
typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPropertiesKHR* pProperties);
5002
typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties);
5003
typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, uint32_t planeIndex, uint32_t* pDisplayCount, VkDisplayKHR* pDisplays);
5004
typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModePropertiesKHR* pProperties);
5005
typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode);
5006
typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, uint32_t planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities);
5007
typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
5008
5009
#ifndef VK_NO_PROTOTYPES
5010
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPropertiesKHR(
5011
VkPhysicalDevice physicalDevice,
5012
uint32_t* pPropertyCount,
5013
VkDisplayPropertiesKHR* pProperties);
5014
5015
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
5016
VkPhysicalDevice physicalDevice,
5017
uint32_t* pPropertyCount,
5018
VkDisplayPlanePropertiesKHR* pProperties);
5019
5020
VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneSupportedDisplaysKHR(
5021
VkPhysicalDevice physicalDevice,
5022
uint32_t planeIndex,
5023
uint32_t* pDisplayCount,
5024
VkDisplayKHR* pDisplays);
5025
5026
VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModePropertiesKHR(
5027
VkPhysicalDevice physicalDevice,
5028
VkDisplayKHR display,
5029
uint32_t* pPropertyCount,
5030
VkDisplayModePropertiesKHR* pProperties);
5031
5032
VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayModeKHR(
5033
VkPhysicalDevice physicalDevice,
5034
VkDisplayKHR display,
5035
const VkDisplayModeCreateInfoKHR* pCreateInfo,
5036
const VkAllocationCallbacks* pAllocator,
5037
VkDisplayModeKHR* pMode);
5038
5039
VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilitiesKHR(
5040
VkPhysicalDevice physicalDevice,
5041
VkDisplayModeKHR mode,
5042
uint32_t planeIndex,
5043
VkDisplayPlaneCapabilitiesKHR* pCapabilities);
5044
5045
VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR(
5046
VkInstance instance,
5047
const VkDisplaySurfaceCreateInfoKHR* pCreateInfo,
5048
const VkAllocationCallbacks* pAllocator,
5049
VkSurfaceKHR* pSurface);
5050
#endif
5051
5052
#define VK_KHR_display_swapchain 1
5053
#define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 9
5054
#define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain"
5055
5056
typedef struct VkDisplayPresentInfoKHR {
5057
VkStructureType sType;
5058
const void* pNext;
5059
VkRect2D srcRect;
5060
VkRect2D dstRect;
5061
VkBool32 persistent;
5062
} VkDisplayPresentInfoKHR;
5063
5064
5065
typedef VkResult (VKAPI_PTR *PFN_vkCreateSharedSwapchainsKHR)(VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains);
5066
5067
#ifndef VK_NO_PROTOTYPES
5068
VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR(
5069
VkDevice device,
5070
uint32_t swapchainCount,
5071
const VkSwapchainCreateInfoKHR* pCreateInfos,
5072
const VkAllocationCallbacks* pAllocator,
5073
VkSwapchainKHR* pSwapchains);
5074
#endif
5075
5076
#define VK_KHR_sampler_mirror_clamp_to_edge 1
5077
#define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 1
5078
#define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge"
5079
5080
5081
#define VK_KHR_multiview 1
5082
#define VK_KHR_MULTIVIEW_SPEC_VERSION 1
5083
#define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview"
5084
5085
typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR;
5086
5087
typedef VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeaturesKHR;
5088
5089
typedef VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewPropertiesKHR;
5090
5091
5092
5093
#define VK_KHR_get_physical_device_properties2 1
5094
#define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 1
5095
#define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2"
5096
5097
typedef VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2KHR;
5098
5099
typedef VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2KHR;
5100
5101
typedef VkFormatProperties2 VkFormatProperties2KHR;
5102
5103
typedef VkImageFormatProperties2 VkImageFormatProperties2KHR;
5104
5105
typedef VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR;
5106
5107
typedef VkQueueFamilyProperties2 VkQueueFamilyProperties2KHR;
5108
5109
typedef VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2KHR;
5110
5111
typedef VkSparseImageFormatProperties2 VkSparseImageFormatProperties2KHR;
5112
5113
typedef VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2KHR;
5114
5115
5116
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
5117
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
5118
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
5119
typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
5120
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
5121
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
5122
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
5123
5124
#ifndef VK_NO_PROTOTYPES
5125
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR(
5126
VkPhysicalDevice physicalDevice,
5127
VkPhysicalDeviceFeatures2* pFeatures);
5128
5129
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR(
5130
VkPhysicalDevice physicalDevice,
5131
VkPhysicalDeviceProperties2* pProperties);
5132
5133
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR(
5134
VkPhysicalDevice physicalDevice,
5135
VkFormat format,
5136
VkFormatProperties2* pFormatProperties);
5137
5138
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR(
5139
VkPhysicalDevice physicalDevice,
5140
const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
5141
VkImageFormatProperties2* pImageFormatProperties);
5142
5143
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR(
5144
VkPhysicalDevice physicalDevice,
5145
uint32_t* pQueueFamilyPropertyCount,
5146
VkQueueFamilyProperties2* pQueueFamilyProperties);
5147
5148
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR(
5149
VkPhysicalDevice physicalDevice,
5150
VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
5151
5152
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
5153
VkPhysicalDevice physicalDevice,
5154
const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
5155
uint32_t* pPropertyCount,
5156
VkSparseImageFormatProperties2* pProperties);
5157
#endif
5158
5159
#define VK_KHR_device_group 1
5160
#define VK_KHR_DEVICE_GROUP_SPEC_VERSION 3
5161
#define VK_KHR_DEVICE_GROUP_EXTENSION_NAME "VK_KHR_device_group"
5162
5163
typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR;
5164
5165
typedef VkPeerMemoryFeatureFlagBits VkPeerMemoryFeatureFlagBitsKHR;
5166
5167
typedef VkMemoryAllocateFlags VkMemoryAllocateFlagsKHR;
5168
5169
typedef VkMemoryAllocateFlagBits VkMemoryAllocateFlagBitsKHR;
5170
5171
5172
typedef VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfoKHR;
5173
5174
typedef VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfoKHR;
5175
5176
typedef VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfoKHR;
5177
5178
typedef VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfoKHR;
5179
5180
typedef VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfoKHR;
5181
5182
typedef VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfoKHR;
5183
5184
typedef VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfoKHR;
5185
5186
5187
typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
5188
typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMaskKHR)(VkCommandBuffer commandBuffer, uint32_t deviceMask);
5189
typedef void (VKAPI_PTR *PFN_vkCmdDispatchBaseKHR)(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
5190
5191
#ifndef VK_NO_PROTOTYPES
5192
VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeaturesKHR(
5193
VkDevice device,
5194
uint32_t heapIndex,
5195
uint32_t localDeviceIndex,
5196
uint32_t remoteDeviceIndex,
5197
VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
5198
5199
VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMaskKHR(
5200
VkCommandBuffer commandBuffer,
5201
uint32_t deviceMask);
5202
5203
VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBaseKHR(
5204
VkCommandBuffer commandBuffer,
5205
uint32_t baseGroupX,
5206
uint32_t baseGroupY,
5207
uint32_t baseGroupZ,
5208
uint32_t groupCountX,
5209
uint32_t groupCountY,
5210
uint32_t groupCountZ);
5211
#endif
5212
5213
#define VK_KHR_shader_draw_parameters 1
5214
#define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1
5215
#define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters"
5216
5217
5218
#define VK_KHR_maintenance1 1
5219
#define VK_KHR_MAINTENANCE1_SPEC_VERSION 2
5220
#define VK_KHR_MAINTENANCE1_EXTENSION_NAME "VK_KHR_maintenance1"
5221
5222
typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR;
5223
5224
5225
typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
5226
5227
#ifndef VK_NO_PROTOTYPES
5228
VKAPI_ATTR void VKAPI_CALL vkTrimCommandPoolKHR(
5229
VkDevice device,
5230
VkCommandPool commandPool,
5231
VkCommandPoolTrimFlags flags);
5232
#endif
5233
5234
#define VK_KHR_device_group_creation 1
5235
#define VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION 1
5236
#define VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHR_device_group_creation"
5237
#define VK_MAX_DEVICE_GROUP_SIZE_KHR VK_MAX_DEVICE_GROUP_SIZE
5238
5239
typedef VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupPropertiesKHR;
5240
5241
typedef VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfoKHR;
5242
5243
5244
typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroupsKHR)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
5245
5246
#ifndef VK_NO_PROTOTYPES
5247
VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroupsKHR(
5248
VkInstance instance,
5249
uint32_t* pPhysicalDeviceGroupCount,
5250
VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
5251
#endif
5252
5253
#define VK_KHR_external_memory_capabilities 1
5254
#define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
5255
#define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_memory_capabilities"
5256
#define VK_LUID_SIZE_KHR VK_LUID_SIZE
5257
5258
typedef VkExternalMemoryHandleTypeFlags VkExternalMemoryHandleTypeFlagsKHR;
5259
5260
typedef VkExternalMemoryHandleTypeFlagBits VkExternalMemoryHandleTypeFlagBitsKHR;
5261
5262
typedef VkExternalMemoryFeatureFlags VkExternalMemoryFeatureFlagsKHR;
5263
5264
typedef VkExternalMemoryFeatureFlagBits VkExternalMemoryFeatureFlagBitsKHR;
5265
5266
5267
typedef VkExternalMemoryProperties VkExternalMemoryPropertiesKHR;
5268
5269
typedef VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfoKHR;
5270
5271
typedef VkExternalImageFormatProperties VkExternalImageFormatPropertiesKHR;
5272
5273
typedef VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfoKHR;
5274
5275
typedef VkExternalBufferProperties VkExternalBufferPropertiesKHR;
5276
5277
typedef VkPhysicalDeviceIDProperties VkPhysicalDeviceIDPropertiesKHR;
5278
5279
5280
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
5281
5282
#ifndef VK_NO_PROTOTYPES
5283
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferPropertiesKHR(
5284
VkPhysicalDevice physicalDevice,
5285
const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
5286
VkExternalBufferProperties* pExternalBufferProperties);
5287
#endif
5288
5289
#define VK_KHR_external_memory 1
5290
#define VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION 1
5291
#define VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME "VK_KHR_external_memory"
5292
#define VK_QUEUE_FAMILY_EXTERNAL_KHR VK_QUEUE_FAMILY_EXTERNAL
5293
5294
typedef VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfoKHR;
5295
5296
typedef VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfoKHR;
5297
5298
typedef VkExportMemoryAllocateInfo VkExportMemoryAllocateInfoKHR;
5299
5300
5301
5302
#define VK_KHR_external_memory_fd 1
5303
#define VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION 1
5304
#define VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME "VK_KHR_external_memory_fd"
5305
5306
typedef struct VkImportMemoryFdInfoKHR {
5307
VkStructureType sType;
5308
const void* pNext;
5309
VkExternalMemoryHandleTypeFlagBits handleType;
5310
int fd;
5311
} VkImportMemoryFdInfoKHR;
5312
5313
typedef struct VkMemoryFdPropertiesKHR {
5314
VkStructureType sType;
5315
void* pNext;
5316
uint32_t memoryTypeBits;
5317
} VkMemoryFdPropertiesKHR;
5318
5319
typedef struct VkMemoryGetFdInfoKHR {
5320
VkStructureType sType;
5321
const void* pNext;
5322
VkDeviceMemory memory;
5323
VkExternalMemoryHandleTypeFlagBits handleType;
5324
} VkMemoryGetFdInfoKHR;
5325
5326
5327
typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdKHR)(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd);
5328
typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdPropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties);
5329
5330
#ifndef VK_NO_PROTOTYPES
5331
VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdKHR(
5332
VkDevice device,
5333
const VkMemoryGetFdInfoKHR* pGetFdInfo,
5334
int* pFd);
5335
5336
VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdPropertiesKHR(
5337
VkDevice device,
5338
VkExternalMemoryHandleTypeFlagBits handleType,
5339
int fd,
5340
VkMemoryFdPropertiesKHR* pMemoryFdProperties);
5341
#endif
5342
5343
#define VK_KHR_external_semaphore_capabilities 1
5344
#define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1
5345
#define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_semaphore_capabilities"
5346
5347
typedef VkExternalSemaphoreHandleTypeFlags VkExternalSemaphoreHandleTypeFlagsKHR;
5348
5349
typedef VkExternalSemaphoreHandleTypeFlagBits VkExternalSemaphoreHandleTypeFlagBitsKHR;
5350
5351
typedef VkExternalSemaphoreFeatureFlags VkExternalSemaphoreFeatureFlagsKHR;
5352
5353
typedef VkExternalSemaphoreFeatureFlagBits VkExternalSemaphoreFeatureFlagBitsKHR;
5354
5355
5356
typedef VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfoKHR;
5357
5358
typedef VkExternalSemaphoreProperties VkExternalSemaphorePropertiesKHR;
5359
5360
5361
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
5362
5363
#ifndef VK_NO_PROTOTYPES
5364
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
5365
VkPhysicalDevice physicalDevice,
5366
const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
5367
VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
5368
#endif
5369
5370
#define VK_KHR_external_semaphore 1
5371
#define VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION 1
5372
#define VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_KHR_external_semaphore"
5373
5374
typedef VkSemaphoreImportFlags VkSemaphoreImportFlagsKHR;
5375
5376
typedef VkSemaphoreImportFlagBits VkSemaphoreImportFlagBitsKHR;
5377
5378
5379
typedef VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfoKHR;
5380
5381
5382
5383
#define VK_KHR_external_semaphore_fd 1
5384
#define VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1
5385
#define VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME "VK_KHR_external_semaphore_fd"
5386
5387
typedef struct VkImportSemaphoreFdInfoKHR {
5388
VkStructureType sType;
5389
const void* pNext;
5390
VkSemaphore semaphore;
5391
VkSemaphoreImportFlags flags;
5392
VkExternalSemaphoreHandleTypeFlagBits handleType;
5393
int fd;
5394
} VkImportSemaphoreFdInfoKHR;
5395
5396
typedef struct VkSemaphoreGetFdInfoKHR {
5397
VkStructureType sType;
5398
const void* pNext;
5399
VkSemaphore semaphore;
5400
VkExternalSemaphoreHandleTypeFlagBits handleType;
5401
} VkSemaphoreGetFdInfoKHR;
5402
5403
5404
typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreFdKHR)(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
5405
typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreFdKHR)(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd);
5406
5407
#ifndef VK_NO_PROTOTYPES
5408
VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreFdKHR(
5409
VkDevice device,
5410
const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
5411
5412
VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreFdKHR(
5413
VkDevice device,
5414
const VkSemaphoreGetFdInfoKHR* pGetFdInfo,
5415
int* pFd);
5416
#endif
5417
5418
#define VK_KHR_push_descriptor 1
5419
#define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2
5420
#define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor"
5421
5422
typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
5423
VkStructureType sType;
5424
void* pNext;
5425
uint32_t maxPushDescriptors;
5426
} VkPhysicalDevicePushDescriptorPropertiesKHR;
5427
5428
5429
typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetKHR)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites);
5430
typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData);
5431
5432
#ifndef VK_NO_PROTOTYPES
5433
VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetKHR(
5434
VkCommandBuffer commandBuffer,
5435
VkPipelineBindPoint pipelineBindPoint,
5436
VkPipelineLayout layout,
5437
uint32_t set,
5438
uint32_t descriptorWriteCount,
5439
const VkWriteDescriptorSet* pDescriptorWrites);
5440
5441
VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplateKHR(
5442
VkCommandBuffer commandBuffer,
5443
VkDescriptorUpdateTemplate descriptorUpdateTemplate,
5444
VkPipelineLayout layout,
5445
uint32_t set,
5446
const void* pData);
5447
#endif
5448
5449
#define VK_KHR_16bit_storage 1
5450
#define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1
5451
#define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage"
5452
5453
typedef VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeaturesKHR;
5454
5455
5456
5457
#define VK_KHR_incremental_present 1
5458
#define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 1
5459
#define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present"
5460
5461
typedef struct VkRectLayerKHR {
5462
VkOffset2D offset;
5463
VkExtent2D extent;
5464
uint32_t layer;
5465
} VkRectLayerKHR;
5466
5467
typedef struct VkPresentRegionKHR {
5468
uint32_t rectangleCount;
5469
const VkRectLayerKHR* pRectangles;
5470
} VkPresentRegionKHR;
5471
5472
typedef struct VkPresentRegionsKHR {
5473
VkStructureType sType;
5474
const void* pNext;
5475
uint32_t swapchainCount;
5476
const VkPresentRegionKHR* pRegions;
5477
} VkPresentRegionsKHR;
5478
5479
5480
5481
#define VK_KHR_descriptor_update_template 1
5482
typedef VkDescriptorUpdateTemplate VkDescriptorUpdateTemplateKHR;
5483
5484
5485
#define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1
5486
#define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template"
5487
5488
typedef VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateTypeKHR;
5489
5490
5491
typedef VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlagsKHR;
5492
5493
5494
typedef VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntryKHR;
5495
5496
typedef VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfoKHR;
5497
5498
5499
typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplateKHR)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
5500
typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
5501
typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
5502
5503
#ifndef VK_NO_PROTOTYPES
5504
VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplateKHR(
5505
VkDevice device,
5506
const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
5507
const VkAllocationCallbacks* pAllocator,
5508
VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
5509
5510
VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplateKHR(
5511
VkDevice device,
5512
VkDescriptorUpdateTemplate descriptorUpdateTemplate,
5513
const VkAllocationCallbacks* pAllocator);
5514
5515
VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplateKHR(
5516
VkDevice device,
5517
VkDescriptorSet descriptorSet,
5518
VkDescriptorUpdateTemplate descriptorUpdateTemplate,
5519
const void* pData);
5520
#endif
5521
5522
#define VK_KHR_create_renderpass2 1
5523
#define VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION 1
5524
#define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2"
5525
5526
typedef struct VkAttachmentDescription2KHR {
5527
VkStructureType sType;
5528
const void* pNext;
5529
VkAttachmentDescriptionFlags flags;
5530
VkFormat format;
5531
VkSampleCountFlagBits samples;
5532
VkAttachmentLoadOp loadOp;
5533
VkAttachmentStoreOp storeOp;
5534
VkAttachmentLoadOp stencilLoadOp;
5535
VkAttachmentStoreOp stencilStoreOp;
5536
VkImageLayout initialLayout;
5537
VkImageLayout finalLayout;
5538
} VkAttachmentDescription2KHR;
5539
5540
typedef struct VkAttachmentReference2KHR {
5541
VkStructureType sType;
5542
const void* pNext;
5543
uint32_t attachment;
5544
VkImageLayout layout;
5545
VkImageAspectFlags aspectMask;
5546
} VkAttachmentReference2KHR;
5547
5548
typedef struct VkSubpassDescription2KHR {
5549
VkStructureType sType;
5550
const void* pNext;
5551
VkSubpassDescriptionFlags flags;
5552
VkPipelineBindPoint pipelineBindPoint;
5553
uint32_t viewMask;
5554
uint32_t inputAttachmentCount;
5555
const VkAttachmentReference2KHR* pInputAttachments;
5556
uint32_t colorAttachmentCount;
5557
const VkAttachmentReference2KHR* pColorAttachments;
5558
const VkAttachmentReference2KHR* pResolveAttachments;
5559
const VkAttachmentReference2KHR* pDepthStencilAttachment;
5560
uint32_t preserveAttachmentCount;
5561
const uint32_t* pPreserveAttachments;
5562
} VkSubpassDescription2KHR;
5563
5564
typedef struct VkSubpassDependency2KHR {
5565
VkStructureType sType;
5566
const void* pNext;
5567
uint32_t srcSubpass;
5568
uint32_t dstSubpass;
5569
VkPipelineStageFlags srcStageMask;
5570
VkPipelineStageFlags dstStageMask;
5571
VkAccessFlags srcAccessMask;
5572
VkAccessFlags dstAccessMask;
5573
VkDependencyFlags dependencyFlags;
5574
int32_t viewOffset;
5575
} VkSubpassDependency2KHR;
5576
5577
typedef struct VkRenderPassCreateInfo2KHR {
5578
VkStructureType sType;
5579
const void* pNext;
5580
VkRenderPassCreateFlags flags;
5581
uint32_t attachmentCount;
5582
const VkAttachmentDescription2KHR* pAttachments;
5583
uint32_t subpassCount;
5584
const VkSubpassDescription2KHR* pSubpasses;
5585
uint32_t dependencyCount;
5586
const VkSubpassDependency2KHR* pDependencies;
5587
uint32_t correlatedViewMaskCount;
5588
const uint32_t* pCorrelatedViewMasks;
5589
} VkRenderPassCreateInfo2KHR;
5590
5591
typedef struct VkSubpassBeginInfoKHR {
5592
VkStructureType sType;
5593
const void* pNext;
5594
VkSubpassContents contents;
5595
} VkSubpassBeginInfoKHR;
5596
5597
typedef struct VkSubpassEndInfoKHR {
5598
VkStructureType sType;
5599
const void* pNext;
5600
} VkSubpassEndInfoKHR;
5601
5602
5603
typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2KHR)(VkDevice device, const VkRenderPassCreateInfo2KHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
5604
typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfoKHR* pSubpassBeginInfo);
5605
typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfoKHR* pSubpassBeginInfo, const VkSubpassEndInfoKHR* pSubpassEndInfo);
5606
typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassEndInfoKHR* pSubpassEndInfo);
5607
5608
#ifndef VK_NO_PROTOTYPES
5609
VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2KHR(
5610
VkDevice device,
5611
const VkRenderPassCreateInfo2KHR* pCreateInfo,
5612
const VkAllocationCallbacks* pAllocator,
5613
VkRenderPass* pRenderPass);
5614
5615
VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2KHR(
5616
VkCommandBuffer commandBuffer,
5617
const VkRenderPassBeginInfo* pRenderPassBegin,
5618
const VkSubpassBeginInfoKHR* pSubpassBeginInfo);
5619
5620
VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2KHR(
5621
VkCommandBuffer commandBuffer,
5622
const VkSubpassBeginInfoKHR* pSubpassBeginInfo,
5623
const VkSubpassEndInfoKHR* pSubpassEndInfo);
5624
5625
VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2KHR(
5626
VkCommandBuffer commandBuffer,
5627
const VkSubpassEndInfoKHR* pSubpassEndInfo);
5628
#endif
5629
5630
#define VK_KHR_shared_presentable_image 1
5631
#define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1
5632
#define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image"
5633
5634
typedef struct VkSharedPresentSurfaceCapabilitiesKHR {
5635
VkStructureType sType;
5636
void* pNext;
5637
VkImageUsageFlags sharedPresentSupportedUsageFlags;
5638
} VkSharedPresentSurfaceCapabilitiesKHR;
5639
5640
5641
typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainStatusKHR)(VkDevice device, VkSwapchainKHR swapchain);
5642
5643
#ifndef VK_NO_PROTOTYPES
5644
VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainStatusKHR(
5645
VkDevice device,
5646
VkSwapchainKHR swapchain);
5647
#endif
5648
5649
#define VK_KHR_external_fence_capabilities 1
5650
#define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1
5651
#define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_fence_capabilities"
5652
5653
typedef VkExternalFenceHandleTypeFlags VkExternalFenceHandleTypeFlagsKHR;
5654
5655
typedef VkExternalFenceHandleTypeFlagBits VkExternalFenceHandleTypeFlagBitsKHR;
5656
5657
typedef VkExternalFenceFeatureFlags VkExternalFenceFeatureFlagsKHR;
5658
5659
typedef VkExternalFenceFeatureFlagBits VkExternalFenceFeatureFlagBitsKHR;
5660
5661
5662
typedef VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfoKHR;
5663
5664
typedef VkExternalFenceProperties VkExternalFencePropertiesKHR;
5665
5666
5667
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
5668
5669
#ifndef VK_NO_PROTOTYPES
5670
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFencePropertiesKHR(
5671
VkPhysicalDevice physicalDevice,
5672
const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
5673
VkExternalFenceProperties* pExternalFenceProperties);
5674
#endif
5675
5676
#define VK_KHR_external_fence 1
5677
#define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1
5678
#define VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME "VK_KHR_external_fence"
5679
5680
typedef VkFenceImportFlags VkFenceImportFlagsKHR;
5681
5682
typedef VkFenceImportFlagBits VkFenceImportFlagBitsKHR;
5683
5684
5685
typedef VkExportFenceCreateInfo VkExportFenceCreateInfoKHR;
5686
5687
5688
5689
#define VK_KHR_external_fence_fd 1
5690
#define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1
5691
#define VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME "VK_KHR_external_fence_fd"
5692
5693
typedef struct VkImportFenceFdInfoKHR {
5694
VkStructureType sType;
5695
const void* pNext;
5696
VkFence fence;
5697
VkFenceImportFlags flags;
5698
VkExternalFenceHandleTypeFlagBits handleType;
5699
int fd;
5700
} VkImportFenceFdInfoKHR;
5701
5702
typedef struct VkFenceGetFdInfoKHR {
5703
VkStructureType sType;
5704
const void* pNext;
5705
VkFence fence;
5706
VkExternalFenceHandleTypeFlagBits handleType;
5707
} VkFenceGetFdInfoKHR;
5708
5709
5710
typedef VkResult (VKAPI_PTR *PFN_vkImportFenceFdKHR)(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
5711
typedef VkResult (VKAPI_PTR *PFN_vkGetFenceFdKHR)(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd);
5712
5713
#ifndef VK_NO_PROTOTYPES
5714
VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceFdKHR(
5715
VkDevice device,
5716
const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
5717
5718
VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceFdKHR(
5719
VkDevice device,
5720
const VkFenceGetFdInfoKHR* pGetFdInfo,
5721
int* pFd);
5722
#endif
5723
5724
#define VK_KHR_maintenance2 1
5725
#define VK_KHR_MAINTENANCE2_SPEC_VERSION 1
5726
#define VK_KHR_MAINTENANCE2_EXTENSION_NAME "VK_KHR_maintenance2"
5727
5728
typedef VkPointClippingBehavior VkPointClippingBehaviorKHR;
5729
5730
typedef VkTessellationDomainOrigin VkTessellationDomainOriginKHR;
5731
5732
5733
typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR;
5734
5735
typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR;
5736
5737
typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR;
5738
5739
typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR;
5740
5741
typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR;
5742
5743
5744
5745
#define VK_KHR_get_surface_capabilities2 1
5746
#define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1
5747
#define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2"
5748
5749
typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
5750
VkStructureType sType;
5751
const void* pNext;
5752
VkSurfaceKHR surface;
5753
} VkPhysicalDeviceSurfaceInfo2KHR;
5754
5755
typedef struct VkSurfaceCapabilities2KHR {
5756
VkStructureType sType;
5757
void* pNext;
5758
VkSurfaceCapabilitiesKHR surfaceCapabilities;
5759
} VkSurfaceCapabilities2KHR;
5760
5761
typedef struct VkSurfaceFormat2KHR {
5762
VkStructureType sType;
5763
void* pNext;
5764
VkSurfaceFormatKHR surfaceFormat;
5765
} VkSurfaceFormat2KHR;
5766
5767
5768
typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
5769
typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats);
5770
5771
#ifndef VK_NO_PROTOTYPES
5772
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2KHR(
5773
VkPhysicalDevice physicalDevice,
5774
const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
5775
VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
5776
5777
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormats2KHR(
5778
VkPhysicalDevice physicalDevice,
5779
const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
5780
uint32_t* pSurfaceFormatCount,
5781
VkSurfaceFormat2KHR* pSurfaceFormats);
5782
#endif
5783
5784
#define VK_KHR_variable_pointers 1
5785
#define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1
5786
#define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers"
5787
5788
typedef VkPhysicalDeviceVariablePointerFeatures VkPhysicalDeviceVariablePointerFeaturesKHR;
5789
5790
5791
5792
#define VK_KHR_get_display_properties2 1
5793
#define VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION 1
5794
#define VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_display_properties2"
5795
5796
typedef struct VkDisplayProperties2KHR {
5797
VkStructureType sType;
5798
void* pNext;
5799
VkDisplayPropertiesKHR displayProperties;
5800
} VkDisplayProperties2KHR;
5801
5802
typedef struct VkDisplayPlaneProperties2KHR {
5803
VkStructureType sType;
5804
void* pNext;
5805
VkDisplayPlanePropertiesKHR displayPlaneProperties;
5806
} VkDisplayPlaneProperties2KHR;
5807
5808
typedef struct VkDisplayModeProperties2KHR {
5809
VkStructureType sType;
5810
void* pNext;
5811
VkDisplayModePropertiesKHR displayModeProperties;
5812
} VkDisplayModeProperties2KHR;
5813
5814
typedef struct VkDisplayPlaneInfo2KHR {
5815
VkStructureType sType;
5816
const void* pNext;
5817
VkDisplayModeKHR mode;
5818
uint32_t planeIndex;
5819
} VkDisplayPlaneInfo2KHR;
5820
5821
typedef struct VkDisplayPlaneCapabilities2KHR {
5822
VkStructureType sType;
5823
void* pNext;
5824
VkDisplayPlaneCapabilitiesKHR capabilities;
5825
} VkDisplayPlaneCapabilities2KHR;
5826
5827
5828
typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayProperties2KHR* pProperties);
5829
typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties);
5830
typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModeProperties2KHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModeProperties2KHR* pProperties);
5831
typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities);
5832
5833
#ifndef VK_NO_PROTOTYPES
5834
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayProperties2KHR(
5835
VkPhysicalDevice physicalDevice,
5836
uint32_t* pPropertyCount,
5837
VkDisplayProperties2KHR* pProperties);
5838
5839
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
5840
VkPhysicalDevice physicalDevice,
5841
uint32_t* pPropertyCount,
5842
VkDisplayPlaneProperties2KHR* pProperties);
5843
5844
VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModeProperties2KHR(
5845
VkPhysicalDevice physicalDevice,
5846
VkDisplayKHR display,
5847
uint32_t* pPropertyCount,
5848
VkDisplayModeProperties2KHR* pProperties);
5849
5850
VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilities2KHR(
5851
VkPhysicalDevice physicalDevice,
5852
const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo,
5853
VkDisplayPlaneCapabilities2KHR* pCapabilities);
5854
#endif
5855
5856
#define VK_KHR_dedicated_allocation 1
5857
#define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3
5858
#define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation"
5859
5860
typedef VkMemoryDedicatedRequirements VkMemoryDedicatedRequirementsKHR;
5861
5862
typedef VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfoKHR;
5863
5864
5865
5866
#define VK_KHR_storage_buffer_storage_class 1
5867
#define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1
5868
#define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class"
5869
5870
5871
#define VK_KHR_relaxed_block_layout 1
5872
#define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1
5873
#define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout"
5874
5875
5876
#define VK_KHR_get_memory_requirements2 1
5877
#define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1
5878
#define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2"
5879
5880
typedef VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2KHR;
5881
5882
typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR;
5883
5884
typedef VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR;
5885
5886
typedef VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR;
5887
5888
5889
typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2KHR)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
5890
typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2KHR)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
5891
typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2KHR)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
5892
5893
#ifndef VK_NO_PROTOTYPES
5894
VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2KHR(
5895
VkDevice device,
5896
const VkImageMemoryRequirementsInfo2* pInfo,
5897
VkMemoryRequirements2* pMemoryRequirements);
5898
5899
VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2KHR(
5900
VkDevice device,
5901
const VkBufferMemoryRequirementsInfo2* pInfo,
5902
VkMemoryRequirements2* pMemoryRequirements);
5903
5904
VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2KHR(
5905
VkDevice device,
5906
const VkImageSparseMemoryRequirementsInfo2* pInfo,
5907
uint32_t* pSparseMemoryRequirementCount,
5908
VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
5909
#endif
5910
5911
#define VK_KHR_image_format_list 1
5912
#define VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION 1
5913
#define VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME "VK_KHR_image_format_list"
5914
5915
typedef struct VkImageFormatListCreateInfoKHR {
5916
VkStructureType sType;
5917
const void* pNext;
5918
uint32_t viewFormatCount;
5919
const VkFormat* pViewFormats;
5920
} VkImageFormatListCreateInfoKHR;
5921
5922
5923
5924
#define VK_KHR_sampler_ycbcr_conversion 1
5925
typedef VkSamplerYcbcrConversion VkSamplerYcbcrConversionKHR;
5926
5927
5928
#define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 1
5929
#define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion"
5930
5931
typedef VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversionKHR;
5932
5933
typedef VkSamplerYcbcrRange VkSamplerYcbcrRangeKHR;
5934
5935
typedef VkChromaLocation VkChromaLocationKHR;
5936
5937
5938
typedef VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfoKHR;
5939
5940
typedef VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfoKHR;
5941
5942
typedef VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfoKHR;
5943
5944
typedef VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfoKHR;
5945
5946
typedef VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR;
5947
5948
typedef VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatPropertiesKHR;
5949
5950
5951
typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversionKHR)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
5952
typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversionKHR)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
5953
5954
#ifndef VK_NO_PROTOTYPES
5955
VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversionKHR(
5956
VkDevice device,
5957
const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
5958
const VkAllocationCallbacks* pAllocator,
5959
VkSamplerYcbcrConversion* pYcbcrConversion);
5960
5961
VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversionKHR(
5962
VkDevice device,
5963
VkSamplerYcbcrConversion ycbcrConversion,
5964
const VkAllocationCallbacks* pAllocator);
5965
#endif
5966
5967
#define VK_KHR_bind_memory2 1
5968
#define VK_KHR_BIND_MEMORY_2_SPEC_VERSION 1
5969
#define VK_KHR_BIND_MEMORY_2_EXTENSION_NAME "VK_KHR_bind_memory2"
5970
5971
typedef VkBindBufferMemoryInfo VkBindBufferMemoryInfoKHR;
5972
5973
typedef VkBindImageMemoryInfo VkBindImageMemoryInfoKHR;
5974
5975
5976
typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
5977
typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
5978
5979
#ifndef VK_NO_PROTOTYPES
5980
VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2KHR(
5981
VkDevice device,
5982
uint32_t bindInfoCount,
5983
const VkBindBufferMemoryInfo* pBindInfos);
5984
5985
VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2KHR(
5986
VkDevice device,
5987
uint32_t bindInfoCount,
5988
const VkBindImageMemoryInfo* pBindInfos);
5989
#endif
5990
5991
#define VK_KHR_maintenance3 1
5992
#define VK_KHR_MAINTENANCE3_SPEC_VERSION 1
5993
#define VK_KHR_MAINTENANCE3_EXTENSION_NAME "VK_KHR_maintenance3"
5994
5995
typedef VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR;
5996
5997
typedef VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR;
5998
5999
6000
typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupportKHR)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
6001
6002
#ifndef VK_NO_PROTOTYPES
6003
VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupportKHR(
6004
VkDevice device,
6005
const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
6006
VkDescriptorSetLayoutSupport* pSupport);
6007
#endif
6008
6009
#define VK_KHR_draw_indirect_count 1
6010
#define VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION 1
6011
#define VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_KHR_draw_indirect_count"
6012
6013
typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
6014
typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
6015
6016
#ifndef VK_NO_PROTOTYPES
6017
VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountKHR(
6018
VkCommandBuffer commandBuffer,
6019
VkBuffer buffer,
6020
VkDeviceSize offset,
6021
VkBuffer countBuffer,
6022
VkDeviceSize countBufferOffset,
6023
uint32_t maxDrawCount,
6024
uint32_t stride);
6025
6026
VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountKHR(
6027
VkCommandBuffer commandBuffer,
6028
VkBuffer buffer,
6029
VkDeviceSize offset,
6030
VkBuffer countBuffer,
6031
VkDeviceSize countBufferOffset,
6032
uint32_t maxDrawCount,
6033
uint32_t stride);
6034
#endif
6035
6036
#define VK_KHR_8bit_storage 1
6037
#define VK_KHR_8BIT_STORAGE_SPEC_VERSION 1
6038
#define VK_KHR_8BIT_STORAGE_EXTENSION_NAME "VK_KHR_8bit_storage"
6039
6040
typedef struct VkPhysicalDevice8BitStorageFeaturesKHR {
6041
VkStructureType sType;
6042
void* pNext;
6043
VkBool32 storageBuffer8BitAccess;
6044
VkBool32 uniformAndStorageBuffer8BitAccess;
6045
VkBool32 storagePushConstant8;
6046
} VkPhysicalDevice8BitStorageFeaturesKHR;
6047
6048
6049
6050
#define VK_KHR_shader_atomic_int64 1
6051
#define VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION 1
6052
#define VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME "VK_KHR_shader_atomic_int64"
6053
6054
typedef struct VkPhysicalDeviceShaderAtomicInt64FeaturesKHR {
6055
VkStructureType sType;
6056
void* pNext;
6057
VkBool32 shaderBufferInt64Atomics;
6058
VkBool32 shaderSharedInt64Atomics;
6059
} VkPhysicalDeviceShaderAtomicInt64FeaturesKHR;
6060
6061
6062
6063
#define VK_KHR_driver_properties 1
6064
#define VK_MAX_DRIVER_NAME_SIZE_KHR 256
6065
#define VK_MAX_DRIVER_INFO_SIZE_KHR 256
6066
#define VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION 1
6067
#define VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME "VK_KHR_driver_properties"
6068
6069
6070
typedef enum VkDriverIdKHR {
6071
VK_DRIVER_ID_AMD_PROPRIETARY_KHR = 1,
6072
VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = 2,
6073
VK_DRIVER_ID_MESA_RADV_KHR = 3,
6074
VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR = 4,
6075
VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR = 5,
6076
VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR = 6,
6077
VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR = 7,
6078
VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR = 8,
6079
VK_DRIVER_ID_ARM_PROPRIETARY_KHR = 9,
6080
VK_DRIVER_ID_BEGIN_RANGE_KHR = VK_DRIVER_ID_AMD_PROPRIETARY_KHR,
6081
VK_DRIVER_ID_END_RANGE_KHR = VK_DRIVER_ID_ARM_PROPRIETARY_KHR,
6082
VK_DRIVER_ID_RANGE_SIZE_KHR = (VK_DRIVER_ID_ARM_PROPRIETARY_KHR - VK_DRIVER_ID_AMD_PROPRIETARY_KHR + 1),
6083
VK_DRIVER_ID_MAX_ENUM_KHR = 0x7FFFFFFF
6084
} VkDriverIdKHR;
6085
6086
typedef struct VkConformanceVersionKHR {
6087
uint8_t major;
6088
uint8_t minor;
6089
uint8_t subminor;
6090
uint8_t patch;
6091
} VkConformanceVersionKHR;
6092
6093
typedef struct VkPhysicalDeviceDriverPropertiesKHR {
6094
VkStructureType sType;
6095
void* pNext;
6096
uint32_t driverID;
6097
char driverName[VK_MAX_DRIVER_NAME_SIZE_KHR];
6098
char driverInfo[VK_MAX_DRIVER_INFO_SIZE_KHR];
6099
VkConformanceVersionKHR conformanceVersion;
6100
} VkPhysicalDeviceDriverPropertiesKHR;
6101
6102
6103
6104
#define VK_KHR_vulkan_memory_model 1
6105
#define VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION 2
6106
#define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model"
6107
6108
typedef struct VkPhysicalDeviceVulkanMemoryModelFeaturesKHR {
6109
VkStructureType sType;
6110
void* pNext;
6111
VkBool32 vulkanMemoryModel;
6112
VkBool32 vulkanMemoryModelDeviceScope;
6113
} VkPhysicalDeviceVulkanMemoryModelFeaturesKHR;
6114
6115
6116
6117
#define VK_EXT_debug_report 1
6118
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT)
6119
6120
#define VK_EXT_DEBUG_REPORT_SPEC_VERSION 9
6121
#define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report"
6122
6123
6124
typedef enum VkDebugReportObjectTypeEXT {
6125
VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0,
6126
VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1,
6127
VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2,
6128
VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3,
6129
VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4,
6130
VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5,
6131
VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6,
6132
VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7,
6133
VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8,
6134
VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9,
6135
VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10,
6136
VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11,
6137
VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12,
6138
VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13,
6139
VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14,
6140
VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15,
6141
VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16,
6142
VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17,
6143
VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18,
6144
VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19,
6145
VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20,
6146
VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21,
6147
VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22,
6148
VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23,
6149
VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24,
6150
VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25,
6151
VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26,
6152
VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27,
6153
VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28,
6154
VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29,
6155
VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30,
6156
VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT = 31,
6157
VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT = 32,
6158
VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33,
6159
VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000,
6160
VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000,
6161
VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NVX_EXT = 1000165000,
6162
VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,
6163
VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
6164
VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT,
6165
VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT,
6166
VK_DEBUG_REPORT_OBJECT_TYPE_BEGIN_RANGE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT,
6167
VK_DEBUG_REPORT_OBJECT_TYPE_END_RANGE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
6168
VK_DEBUG_REPORT_OBJECT_TYPE_RANGE_SIZE_EXT = (VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT - VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT + 1),
6169
VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
6170
} VkDebugReportObjectTypeEXT;
6171
6172
6173
typedef enum VkDebugReportFlagBitsEXT {
6174
VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x00000001,
6175
VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x00000002,
6176
VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004,
6177
VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008,
6178
VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010,
6179
VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
6180
} VkDebugReportFlagBitsEXT;
6181
typedef VkFlags VkDebugReportFlagsEXT;
6182
6183
typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)(
6184
VkDebugReportFlagsEXT flags,
6185
VkDebugReportObjectTypeEXT objectType,
6186
uint64_t object,
6187
size_t location,
6188
int32_t messageCode,
6189
const char* pLayerPrefix,
6190
const char* pMessage,
6191
void* pUserData);
6192
6193
typedef struct VkDebugReportCallbackCreateInfoEXT {
6194
VkStructureType sType;
6195
const void* pNext;
6196
VkDebugReportFlagsEXT flags;
6197
PFN_vkDebugReportCallbackEXT pfnCallback;
6198
void* pUserData;
6199
} VkDebugReportCallbackCreateInfoEXT;
6200
6201
6202
typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback);
6203
typedef void (VKAPI_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator);
6204
typedef void (VKAPI_PTR *PFN_vkDebugReportMessageEXT)(VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char* pLayerPrefix, const char* pMessage);
6205
6206
#ifndef VK_NO_PROTOTYPES
6207
VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugReportCallbackEXT(
6208
VkInstance instance,
6209
const VkDebugReportCallbackCreateInfoEXT* pCreateInfo,
6210
const VkAllocationCallbacks* pAllocator,
6211
VkDebugReportCallbackEXT* pCallback);
6212
6213
VKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackEXT(
6214
VkInstance instance,
6215
VkDebugReportCallbackEXT callback,
6216
const VkAllocationCallbacks* pAllocator);
6217
6218
VKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT(
6219
VkInstance instance,
6220
VkDebugReportFlagsEXT flags,
6221
VkDebugReportObjectTypeEXT objectType,
6222
uint64_t object,
6223
size_t location,
6224
int32_t messageCode,
6225
const char* pLayerPrefix,
6226
const char* pMessage);
6227
#endif
6228
6229
#define VK_NV_glsl_shader 1
6230
#define VK_NV_GLSL_SHADER_SPEC_VERSION 1
6231
#define VK_NV_GLSL_SHADER_EXTENSION_NAME "VK_NV_glsl_shader"
6232
6233
6234
#define VK_EXT_depth_range_unrestricted 1
6235
#define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1
6236
#define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted"
6237
6238
6239
#define VK_IMG_filter_cubic 1
6240
#define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1
6241
#define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic"
6242
6243
6244
#define VK_AMD_rasterization_order 1
6245
#define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1
6246
#define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order"
6247
6248
6249
typedef enum VkRasterizationOrderAMD {
6250
VK_RASTERIZATION_ORDER_STRICT_AMD = 0,
6251
VK_RASTERIZATION_ORDER_RELAXED_AMD = 1,
6252
VK_RASTERIZATION_ORDER_BEGIN_RANGE_AMD = VK_RASTERIZATION_ORDER_STRICT_AMD,
6253
VK_RASTERIZATION_ORDER_END_RANGE_AMD = VK_RASTERIZATION_ORDER_RELAXED_AMD,
6254
VK_RASTERIZATION_ORDER_RANGE_SIZE_AMD = (VK_RASTERIZATION_ORDER_RELAXED_AMD - VK_RASTERIZATION_ORDER_STRICT_AMD + 1),
6255
VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF
6256
} VkRasterizationOrderAMD;
6257
6258
typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {
6259
VkStructureType sType;
6260
const void* pNext;
6261
VkRasterizationOrderAMD rasterizationOrder;
6262
} VkPipelineRasterizationStateRasterizationOrderAMD;
6263
6264
6265
6266
#define VK_AMD_shader_trinary_minmax 1
6267
#define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1
6268
#define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax"
6269
6270
6271
#define VK_AMD_shader_explicit_vertex_parameter 1
6272
#define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1
6273
#define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter"
6274
6275
6276
#define VK_EXT_debug_marker 1
6277
#define VK_EXT_DEBUG_MARKER_SPEC_VERSION 4
6278
#define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker"
6279
6280
typedef struct VkDebugMarkerObjectNameInfoEXT {
6281
VkStructureType sType;
6282
const void* pNext;
6283
VkDebugReportObjectTypeEXT objectType;
6284
uint64_t object;
6285
const char* pObjectName;
6286
} VkDebugMarkerObjectNameInfoEXT;
6287
6288
typedef struct VkDebugMarkerObjectTagInfoEXT {
6289
VkStructureType sType;
6290
const void* pNext;
6291
VkDebugReportObjectTypeEXT objectType;
6292
uint64_t object;
6293
uint64_t tagName;
6294
size_t tagSize;
6295
const void* pTag;
6296
} VkDebugMarkerObjectTagInfoEXT;
6297
6298
typedef struct VkDebugMarkerMarkerInfoEXT {
6299
VkStructureType sType;
6300
const void* pNext;
6301
const char* pMarkerName;
6302
float color[4];
6303
} VkDebugMarkerMarkerInfoEXT;
6304
6305
6306
typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
6307
typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
6308
typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
6309
typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer commandBuffer);
6310
typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
6311
6312
#ifndef VK_NO_PROTOTYPES
6313
VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT(
6314
VkDevice device,
6315
const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
6316
6317
VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT(
6318
VkDevice device,
6319
const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
6320
6321
VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerBeginEXT(
6322
VkCommandBuffer commandBuffer,
6323
const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
6324
6325
VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerEndEXT(
6326
VkCommandBuffer commandBuffer);
6327
6328
VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT(
6329
VkCommandBuffer commandBuffer,
6330
const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
6331
#endif
6332
6333
#define VK_AMD_gcn_shader 1
6334
#define VK_AMD_GCN_SHADER_SPEC_VERSION 1
6335
#define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader"
6336
6337
6338
#define VK_NV_dedicated_allocation 1
6339
#define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1
6340
#define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation"
6341
6342
typedef struct VkDedicatedAllocationImageCreateInfoNV {
6343
VkStructureType sType;
6344
const void* pNext;
6345
VkBool32 dedicatedAllocation;
6346
} VkDedicatedAllocationImageCreateInfoNV;
6347
6348
typedef struct VkDedicatedAllocationBufferCreateInfoNV {
6349
VkStructureType sType;
6350
const void* pNext;
6351
VkBool32 dedicatedAllocation;
6352
} VkDedicatedAllocationBufferCreateInfoNV;
6353
6354
typedef struct VkDedicatedAllocationMemoryAllocateInfoNV {
6355
VkStructureType sType;
6356
const void* pNext;
6357
VkImage image;
6358
VkBuffer buffer;
6359
} VkDedicatedAllocationMemoryAllocateInfoNV;
6360
6361
6362
6363
#define VK_AMD_draw_indirect_count 1
6364
#define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 1
6365
#define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count"
6366
6367
typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
6368
typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
6369
6370
#ifndef VK_NO_PROTOTYPES
6371
VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountAMD(
6372
VkCommandBuffer commandBuffer,
6373
VkBuffer buffer,
6374
VkDeviceSize offset,
6375
VkBuffer countBuffer,
6376
VkDeviceSize countBufferOffset,
6377
uint32_t maxDrawCount,
6378
uint32_t stride);
6379
6380
VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD(
6381
VkCommandBuffer commandBuffer,
6382
VkBuffer buffer,
6383
VkDeviceSize offset,
6384
VkBuffer countBuffer,
6385
VkDeviceSize countBufferOffset,
6386
uint32_t maxDrawCount,
6387
uint32_t stride);
6388
#endif
6389
6390
#define VK_AMD_negative_viewport_height 1
6391
#define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1
6392
#define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height"
6393
6394
6395
#define VK_AMD_gpu_shader_half_float 1
6396
#define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 1
6397
#define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float"
6398
6399
6400
#define VK_AMD_shader_ballot 1
6401
#define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1
6402
#define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot"
6403
6404
6405
#define VK_AMD_texture_gather_bias_lod 1
6406
#define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1
6407
#define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod"
6408
6409
typedef struct VkTextureLODGatherFormatPropertiesAMD {
6410
VkStructureType sType;
6411
void* pNext;
6412
VkBool32 supportsTextureGatherLODBiasAMD;
6413
} VkTextureLODGatherFormatPropertiesAMD;
6414
6415
6416
6417
#define VK_AMD_shader_info 1
6418
#define VK_AMD_SHADER_INFO_SPEC_VERSION 1
6419
#define VK_AMD_SHADER_INFO_EXTENSION_NAME "VK_AMD_shader_info"
6420
6421
6422
typedef enum VkShaderInfoTypeAMD {
6423
VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0,
6424
VK_SHADER_INFO_TYPE_BINARY_AMD = 1,
6425
VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2,
6426
VK_SHADER_INFO_TYPE_BEGIN_RANGE_AMD = VK_SHADER_INFO_TYPE_STATISTICS_AMD,
6427
VK_SHADER_INFO_TYPE_END_RANGE_AMD = VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD,
6428
VK_SHADER_INFO_TYPE_RANGE_SIZE_AMD = (VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD - VK_SHADER_INFO_TYPE_STATISTICS_AMD + 1),
6429
VK_SHADER_INFO_TYPE_MAX_ENUM_AMD = 0x7FFFFFFF
6430
} VkShaderInfoTypeAMD;
6431
6432
typedef struct VkShaderResourceUsageAMD {
6433
uint32_t numUsedVgprs;
6434
uint32_t numUsedSgprs;
6435
uint32_t ldsSizePerLocalWorkGroup;
6436
size_t ldsUsageSizeInBytes;
6437
size_t scratchMemUsageInBytes;
6438
} VkShaderResourceUsageAMD;
6439
6440
typedef struct VkShaderStatisticsInfoAMD {
6441
VkShaderStageFlags shaderStageMask;
6442
VkShaderResourceUsageAMD resourceUsage;
6443
uint32_t numPhysicalVgprs;
6444
uint32_t numPhysicalSgprs;
6445
uint32_t numAvailableVgprs;
6446
uint32_t numAvailableSgprs;
6447
uint32_t computeWorkGroupSize[3];
6448
} VkShaderStatisticsInfoAMD;
6449
6450
6451
typedef VkResult (VKAPI_PTR *PFN_vkGetShaderInfoAMD)(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, size_t* pInfoSize, void* pInfo);
6452
6453
#ifndef VK_NO_PROTOTYPES
6454
VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderInfoAMD(
6455
VkDevice device,
6456
VkPipeline pipeline,
6457
VkShaderStageFlagBits shaderStage,
6458
VkShaderInfoTypeAMD infoType,
6459
size_t* pInfoSize,
6460
void* pInfo);
6461
#endif
6462
6463
#define VK_AMD_shader_image_load_store_lod 1
6464
#define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION 1
6465
#define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME "VK_AMD_shader_image_load_store_lod"
6466
6467
6468
#define VK_NV_corner_sampled_image 1
6469
#define VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION 2
6470
#define VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME "VK_NV_corner_sampled_image"
6471
6472
typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV {
6473
VkStructureType sType;
6474
void* pNext;
6475
VkBool32 cornerSampledImage;
6476
} VkPhysicalDeviceCornerSampledImageFeaturesNV;
6477
6478
6479
6480
#define VK_IMG_format_pvrtc 1
6481
#define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1
6482
#define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc"
6483
6484
6485
#define VK_NV_external_memory_capabilities 1
6486
#define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
6487
#define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities"
6488
6489
6490
typedef enum VkExternalMemoryHandleTypeFlagBitsNV {
6491
VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001,
6492
VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002,
6493
VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004,
6494
VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008,
6495
VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
6496
} VkExternalMemoryHandleTypeFlagBitsNV;
6497
typedef VkFlags VkExternalMemoryHandleTypeFlagsNV;
6498
6499
typedef enum VkExternalMemoryFeatureFlagBitsNV {
6500
VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001,
6501
VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002,
6502
VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004,
6503
VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
6504
} VkExternalMemoryFeatureFlagBitsNV;
6505
typedef VkFlags VkExternalMemoryFeatureFlagsNV;
6506
6507
typedef struct VkExternalImageFormatPropertiesNV {
6508
VkImageFormatProperties imageFormatProperties;
6509
VkExternalMemoryFeatureFlagsNV externalMemoryFeatures;
6510
VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes;
6511
VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes;
6512
} VkExternalImageFormatPropertiesNV;
6513
6514
6515
typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
6516
6517
#ifndef VK_NO_PROTOTYPES
6518
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
6519
VkPhysicalDevice physicalDevice,
6520
VkFormat format,
6521
VkImageType type,
6522
VkImageTiling tiling,
6523
VkImageUsageFlags usage,
6524
VkImageCreateFlags flags,
6525
VkExternalMemoryHandleTypeFlagsNV externalHandleType,
6526
VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
6527
#endif
6528
6529
#define VK_NV_external_memory 1
6530
#define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1
6531
#define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory"
6532
6533
typedef struct VkExternalMemoryImageCreateInfoNV {
6534
VkStructureType sType;
6535
const void* pNext;
6536
VkExternalMemoryHandleTypeFlagsNV handleTypes;
6537
} VkExternalMemoryImageCreateInfoNV;
6538
6539
typedef struct VkExportMemoryAllocateInfoNV {
6540
VkStructureType sType;
6541
const void* pNext;
6542
VkExternalMemoryHandleTypeFlagsNV handleTypes;
6543
} VkExportMemoryAllocateInfoNV;
6544
6545
6546
6547
#define VK_EXT_validation_flags 1
6548
#define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 1
6549
#define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags"
6550
6551
6552
typedef enum VkValidationCheckEXT {
6553
VK_VALIDATION_CHECK_ALL_EXT = 0,
6554
VK_VALIDATION_CHECK_SHADERS_EXT = 1,
6555
VK_VALIDATION_CHECK_BEGIN_RANGE_EXT = VK_VALIDATION_CHECK_ALL_EXT,
6556
VK_VALIDATION_CHECK_END_RANGE_EXT = VK_VALIDATION_CHECK_SHADERS_EXT,
6557
VK_VALIDATION_CHECK_RANGE_SIZE_EXT = (VK_VALIDATION_CHECK_SHADERS_EXT - VK_VALIDATION_CHECK_ALL_EXT + 1),
6558
VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF
6559
} VkValidationCheckEXT;
6560
6561
typedef struct VkValidationFlagsEXT {
6562
VkStructureType sType;
6563
const void* pNext;
6564
uint32_t disabledValidationCheckCount;
6565
const VkValidationCheckEXT* pDisabledValidationChecks;
6566
} VkValidationFlagsEXT;
6567
6568
6569
6570
#define VK_EXT_shader_subgroup_ballot 1
6571
#define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1
6572
#define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot"
6573
6574
6575
#define VK_EXT_shader_subgroup_vote 1
6576
#define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1
6577
#define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote"
6578
6579
6580
#define VK_EXT_astc_decode_mode 1
6581
#define VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION 1
6582
#define VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME "VK_EXT_astc_decode_mode"
6583
6584
typedef struct VkImageViewASTCDecodeModeEXT {
6585
VkStructureType sType;
6586
const void* pNext;
6587
VkFormat decodeMode;
6588
} VkImageViewASTCDecodeModeEXT;
6589
6590
typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT {
6591
VkStructureType sType;
6592
void* pNext;
6593
VkBool32 decodeModeSharedExponent;
6594
} VkPhysicalDeviceASTCDecodeFeaturesEXT;
6595
6596
6597
6598
#define VK_EXT_conditional_rendering 1
6599
#define VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION 1
6600
#define VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME "VK_EXT_conditional_rendering"
6601
6602
6603
typedef enum VkConditionalRenderingFlagBitsEXT {
6604
VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT = 0x00000001,
6605
VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
6606
} VkConditionalRenderingFlagBitsEXT;
6607
typedef VkFlags VkConditionalRenderingFlagsEXT;
6608
6609
typedef struct VkConditionalRenderingBeginInfoEXT {
6610
VkStructureType sType;
6611
const void* pNext;
6612
VkBuffer buffer;
6613
VkDeviceSize offset;
6614
VkConditionalRenderingFlagsEXT flags;
6615
} VkConditionalRenderingBeginInfoEXT;
6616
6617
typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT {
6618
VkStructureType sType;
6619
void* pNext;
6620
VkBool32 conditionalRendering;
6621
VkBool32 inheritedConditionalRendering;
6622
} VkPhysicalDeviceConditionalRenderingFeaturesEXT;
6623
6624
typedef struct VkCommandBufferInheritanceConditionalRenderingInfoEXT {
6625
VkStructureType sType;
6626
const void* pNext;
6627
VkBool32 conditionalRenderingEnable;
6628
} VkCommandBufferInheritanceConditionalRenderingInfoEXT;
6629
6630
6631
typedef void (VKAPI_PTR *PFN_vkCmdBeginConditionalRenderingEXT)(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
6632
typedef void (VKAPI_PTR *PFN_vkCmdEndConditionalRenderingEXT)(VkCommandBuffer commandBuffer);
6633
6634
#ifndef VK_NO_PROTOTYPES
6635
VKAPI_ATTR void VKAPI_CALL vkCmdBeginConditionalRenderingEXT(
6636
VkCommandBuffer commandBuffer,
6637
const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
6638
6639
VKAPI_ATTR void VKAPI_CALL vkCmdEndConditionalRenderingEXT(
6640
VkCommandBuffer commandBuffer);
6641
#endif
6642
6643
#define VK_NVX_device_generated_commands 1
6644
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkObjectTableNVX)
6645
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNVX)
6646
6647
#define VK_NVX_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3
6648
#define VK_NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NVX_device_generated_commands"
6649
6650
6651
typedef enum VkIndirectCommandsTokenTypeNVX {
6652
VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX = 0,
6653
VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX = 1,
6654
VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX = 2,
6655
VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX = 3,
6656
VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX = 4,
6657
VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX = 5,
6658
VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX = 6,
6659
VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX = 7,
6660
VK_INDIRECT_COMMANDS_TOKEN_TYPE_BEGIN_RANGE_NVX = VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX,
6661
VK_INDIRECT_COMMANDS_TOKEN_TYPE_END_RANGE_NVX = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX,
6662
VK_INDIRECT_COMMANDS_TOKEN_TYPE_RANGE_SIZE_NVX = (VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX - VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX + 1),
6663
VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NVX = 0x7FFFFFFF
6664
} VkIndirectCommandsTokenTypeNVX;
6665
6666
typedef enum VkObjectEntryTypeNVX {
6667
VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX = 0,
6668
VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX = 1,
6669
VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX = 2,
6670
VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX = 3,
6671
VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX = 4,
6672
VK_OBJECT_ENTRY_TYPE_BEGIN_RANGE_NVX = VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX,
6673
VK_OBJECT_ENTRY_TYPE_END_RANGE_NVX = VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX,
6674
VK_OBJECT_ENTRY_TYPE_RANGE_SIZE_NVX = (VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX - VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX + 1),
6675
VK_OBJECT_ENTRY_TYPE_MAX_ENUM_NVX = 0x7FFFFFFF
6676
} VkObjectEntryTypeNVX;
6677
6678
6679
typedef enum VkIndirectCommandsLayoutUsageFlagBitsNVX {
6680
VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX = 0x00000001,
6681
VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX = 0x00000002,
6682
VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX = 0x00000004,
6683
VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX = 0x00000008,
6684
VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NVX = 0x7FFFFFFF
6685
} VkIndirectCommandsLayoutUsageFlagBitsNVX;
6686
typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNVX;
6687
6688
typedef enum VkObjectEntryUsageFlagBitsNVX {
6689
VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX = 0x00000001,
6690
VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX = 0x00000002,
6691
VK_OBJECT_ENTRY_USAGE_FLAG_BITS_MAX_ENUM_NVX = 0x7FFFFFFF
6692
} VkObjectEntryUsageFlagBitsNVX;
6693
typedef VkFlags VkObjectEntryUsageFlagsNVX;
6694
6695
typedef struct VkDeviceGeneratedCommandsFeaturesNVX {
6696
VkStructureType sType;
6697
const void* pNext;
6698
VkBool32 computeBindingPointSupport;
6699
} VkDeviceGeneratedCommandsFeaturesNVX;
6700
6701
typedef struct VkDeviceGeneratedCommandsLimitsNVX {
6702
VkStructureType sType;
6703
const void* pNext;
6704
uint32_t maxIndirectCommandsLayoutTokenCount;
6705
uint32_t maxObjectEntryCounts;
6706
uint32_t minSequenceCountBufferOffsetAlignment;
6707
uint32_t minSequenceIndexBufferOffsetAlignment;
6708
uint32_t minCommandsTokenBufferOffsetAlignment;
6709
} VkDeviceGeneratedCommandsLimitsNVX;
6710
6711
typedef struct VkIndirectCommandsTokenNVX {
6712
VkIndirectCommandsTokenTypeNVX tokenType;
6713
VkBuffer buffer;
6714
VkDeviceSize offset;
6715
} VkIndirectCommandsTokenNVX;
6716
6717
typedef struct VkIndirectCommandsLayoutTokenNVX {
6718
VkIndirectCommandsTokenTypeNVX tokenType;
6719
uint32_t bindingUnit;
6720
uint32_t dynamicCount;
6721
uint32_t divisor;
6722
} VkIndirectCommandsLayoutTokenNVX;
6723
6724
typedef struct VkIndirectCommandsLayoutCreateInfoNVX {
6725
VkStructureType sType;
6726
const void* pNext;
6727
VkPipelineBindPoint pipelineBindPoint;
6728
VkIndirectCommandsLayoutUsageFlagsNVX flags;
6729
uint32_t tokenCount;
6730
const VkIndirectCommandsLayoutTokenNVX* pTokens;
6731
} VkIndirectCommandsLayoutCreateInfoNVX;
6732
6733
typedef struct VkCmdProcessCommandsInfoNVX {
6734
VkStructureType sType;
6735
const void* pNext;
6736
VkObjectTableNVX objectTable;
6737
VkIndirectCommandsLayoutNVX indirectCommandsLayout;
6738
uint32_t indirectCommandsTokenCount;
6739
const VkIndirectCommandsTokenNVX* pIndirectCommandsTokens;
6740
uint32_t maxSequencesCount;
6741
VkCommandBuffer targetCommandBuffer;
6742
VkBuffer sequencesCountBuffer;
6743
VkDeviceSize sequencesCountOffset;
6744
VkBuffer sequencesIndexBuffer;
6745
VkDeviceSize sequencesIndexOffset;
6746
} VkCmdProcessCommandsInfoNVX;
6747
6748
typedef struct VkCmdReserveSpaceForCommandsInfoNVX {
6749
VkStructureType sType;
6750
const void* pNext;
6751
VkObjectTableNVX objectTable;
6752
VkIndirectCommandsLayoutNVX indirectCommandsLayout;
6753
uint32_t maxSequencesCount;
6754
} VkCmdReserveSpaceForCommandsInfoNVX;
6755
6756
typedef struct VkObjectTableCreateInfoNVX {
6757
VkStructureType sType;
6758
const void* pNext;
6759
uint32_t objectCount;
6760
const VkObjectEntryTypeNVX* pObjectEntryTypes;
6761
const uint32_t* pObjectEntryCounts;
6762
const VkObjectEntryUsageFlagsNVX* pObjectEntryUsageFlags;
6763
uint32_t maxUniformBuffersPerDescriptor;
6764
uint32_t maxStorageBuffersPerDescriptor;
6765
uint32_t maxStorageImagesPerDescriptor;
6766
uint32_t maxSampledImagesPerDescriptor;
6767
uint32_t maxPipelineLayouts;
6768
} VkObjectTableCreateInfoNVX;
6769
6770
typedef struct VkObjectTableEntryNVX {
6771
VkObjectEntryTypeNVX type;
6772
VkObjectEntryUsageFlagsNVX flags;
6773
} VkObjectTableEntryNVX;
6774
6775
typedef struct VkObjectTablePipelineEntryNVX {
6776
VkObjectEntryTypeNVX type;
6777
VkObjectEntryUsageFlagsNVX flags;
6778
VkPipeline pipeline;
6779
} VkObjectTablePipelineEntryNVX;
6780
6781
typedef struct VkObjectTableDescriptorSetEntryNVX {
6782
VkObjectEntryTypeNVX type;
6783
VkObjectEntryUsageFlagsNVX flags;
6784
VkPipelineLayout pipelineLayout;
6785
VkDescriptorSet descriptorSet;
6786
} VkObjectTableDescriptorSetEntryNVX;
6787
6788
typedef struct VkObjectTableVertexBufferEntryNVX {
6789
VkObjectEntryTypeNVX type;
6790
VkObjectEntryUsageFlagsNVX flags;
6791
VkBuffer buffer;
6792
} VkObjectTableVertexBufferEntryNVX;
6793
6794
typedef struct VkObjectTableIndexBufferEntryNVX {
6795
VkObjectEntryTypeNVX type;
6796
VkObjectEntryUsageFlagsNVX flags;
6797
VkBuffer buffer;
6798
VkIndexType indexType;
6799
} VkObjectTableIndexBufferEntryNVX;
6800
6801
typedef struct VkObjectTablePushConstantEntryNVX {
6802
VkObjectEntryTypeNVX type;
6803
VkObjectEntryUsageFlagsNVX flags;
6804
VkPipelineLayout pipelineLayout;
6805
VkShaderStageFlags stageFlags;
6806
} VkObjectTablePushConstantEntryNVX;
6807
6808
6809
typedef void (VKAPI_PTR *PFN_vkCmdProcessCommandsNVX)(VkCommandBuffer commandBuffer, const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo);
6810
typedef void (VKAPI_PTR *PFN_vkCmdReserveSpaceForCommandsNVX)(VkCommandBuffer commandBuffer, const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo);
6811
typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutNVX)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout);
6812
typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutNVX)(VkDevice device, VkIndirectCommandsLayoutNVX indirectCommandsLayout, const VkAllocationCallbacks* pAllocator);
6813
typedef VkResult (VKAPI_PTR *PFN_vkCreateObjectTableNVX)(VkDevice device, const VkObjectTableCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkObjectTableNVX* pObjectTable);
6814
typedef void (VKAPI_PTR *PFN_vkDestroyObjectTableNVX)(VkDevice device, VkObjectTableNVX objectTable, const VkAllocationCallbacks* pAllocator);
6815
typedef VkResult (VKAPI_PTR *PFN_vkRegisterObjectsNVX)(VkDevice device, VkObjectTableNVX objectTable, uint32_t objectCount, const VkObjectTableEntryNVX* const* ppObjectTableEntries, const uint32_t* pObjectIndices);
6816
typedef VkResult (VKAPI_PTR *PFN_vkUnregisterObjectsNVX)(VkDevice device, VkObjectTableNVX objectTable, uint32_t objectCount, const VkObjectEntryTypeNVX* pObjectEntryTypes, const uint32_t* pObjectIndices);
6817
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX)(VkPhysicalDevice physicalDevice, VkDeviceGeneratedCommandsFeaturesNVX* pFeatures, VkDeviceGeneratedCommandsLimitsNVX* pLimits);
6818
6819
#ifndef VK_NO_PROTOTYPES
6820
VKAPI_ATTR void VKAPI_CALL vkCmdProcessCommandsNVX(
6821
VkCommandBuffer commandBuffer,
6822
const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo);
6823
6824
VKAPI_ATTR void VKAPI_CALL vkCmdReserveSpaceForCommandsNVX(
6825
VkCommandBuffer commandBuffer,
6826
const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo);
6827
6828
VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNVX(
6829
VkDevice device,
6830
const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo,
6831
const VkAllocationCallbacks* pAllocator,
6832
VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout);
6833
6834
VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNVX(
6835
VkDevice device,
6836
VkIndirectCommandsLayoutNVX indirectCommandsLayout,
6837
const VkAllocationCallbacks* pAllocator);
6838
6839
VKAPI_ATTR VkResult VKAPI_CALL vkCreateObjectTableNVX(
6840
VkDevice device,
6841
const VkObjectTableCreateInfoNVX* pCreateInfo,
6842
const VkAllocationCallbacks* pAllocator,
6843
VkObjectTableNVX* pObjectTable);
6844
6845
VKAPI_ATTR void VKAPI_CALL vkDestroyObjectTableNVX(
6846
VkDevice device,
6847
VkObjectTableNVX objectTable,
6848
const VkAllocationCallbacks* pAllocator);
6849
6850
VKAPI_ATTR VkResult VKAPI_CALL vkRegisterObjectsNVX(
6851
VkDevice device,
6852
VkObjectTableNVX objectTable,
6853
uint32_t objectCount,
6854
const VkObjectTableEntryNVX* const* ppObjectTableEntries,
6855
const uint32_t* pObjectIndices);
6856
6857
VKAPI_ATTR VkResult VKAPI_CALL vkUnregisterObjectsNVX(
6858
VkDevice device,
6859
VkObjectTableNVX objectTable,
6860
uint32_t objectCount,
6861
const VkObjectEntryTypeNVX* pObjectEntryTypes,
6862
const uint32_t* pObjectIndices);
6863
6864
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX(
6865
VkPhysicalDevice physicalDevice,
6866
VkDeviceGeneratedCommandsFeaturesNVX* pFeatures,
6867
VkDeviceGeneratedCommandsLimitsNVX* pLimits);
6868
#endif
6869
6870
#define VK_NV_clip_space_w_scaling 1
6871
#define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1
6872
#define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling"
6873
6874
typedef struct VkViewportWScalingNV {
6875
float xcoeff;
6876
float ycoeff;
6877
} VkViewportWScalingNV;
6878
6879
typedef struct VkPipelineViewportWScalingStateCreateInfoNV {
6880
VkStructureType sType;
6881
const void* pNext;
6882
VkBool32 viewportWScalingEnable;
6883
uint32_t viewportCount;
6884
const VkViewportWScalingNV* pViewportWScalings;
6885
} VkPipelineViewportWScalingStateCreateInfoNV;
6886
6887
6888
typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportWScalingNV* pViewportWScalings);
6889
6890
#ifndef VK_NO_PROTOTYPES
6891
VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingNV(
6892
VkCommandBuffer commandBuffer,
6893
uint32_t firstViewport,
6894
uint32_t viewportCount,
6895
const VkViewportWScalingNV* pViewportWScalings);
6896
#endif
6897
6898
#define VK_EXT_direct_mode_display 1
6899
#define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1
6900
#define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display"
6901
6902
typedef VkResult (VKAPI_PTR *PFN_vkReleaseDisplayEXT)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
6903
6904
#ifndef VK_NO_PROTOTYPES
6905
VKAPI_ATTR VkResult VKAPI_CALL vkReleaseDisplayEXT(
6906
VkPhysicalDevice physicalDevice,
6907
VkDisplayKHR display);
6908
#endif
6909
6910
#define VK_EXT_display_surface_counter 1
6911
#define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1
6912
#define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter"
6913
6914
6915
typedef enum VkSurfaceCounterFlagBitsEXT {
6916
VK_SURFACE_COUNTER_VBLANK_EXT = 0x00000001,
6917
VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
6918
} VkSurfaceCounterFlagBitsEXT;
6919
typedef VkFlags VkSurfaceCounterFlagsEXT;
6920
6921
typedef struct VkSurfaceCapabilities2EXT {
6922
VkStructureType sType;
6923
void* pNext;
6924
uint32_t minImageCount;
6925
uint32_t maxImageCount;
6926
VkExtent2D currentExtent;
6927
VkExtent2D minImageExtent;
6928
VkExtent2D maxImageExtent;
6929
uint32_t maxImageArrayLayers;
6930
VkSurfaceTransformFlagsKHR supportedTransforms;
6931
VkSurfaceTransformFlagBitsKHR currentTransform;
6932
VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
6933
VkImageUsageFlags supportedUsageFlags;
6934
VkSurfaceCounterFlagsEXT supportedSurfaceCounters;
6935
} VkSurfaceCapabilities2EXT;
6936
6937
6938
typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
6939
6940
#ifndef VK_NO_PROTOTYPES
6941
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2EXT(
6942
VkPhysicalDevice physicalDevice,
6943
VkSurfaceKHR surface,
6944
VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
6945
#endif
6946
6947
#define VK_EXT_display_control 1
6948
#define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1
6949
#define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control"
6950
6951
6952
typedef enum VkDisplayPowerStateEXT {
6953
VK_DISPLAY_POWER_STATE_OFF_EXT = 0,
6954
VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1,
6955
VK_DISPLAY_POWER_STATE_ON_EXT = 2,
6956
VK_DISPLAY_POWER_STATE_BEGIN_RANGE_EXT = VK_DISPLAY_POWER_STATE_OFF_EXT,
6957
VK_DISPLAY_POWER_STATE_END_RANGE_EXT = VK_DISPLAY_POWER_STATE_ON_EXT,
6958
VK_DISPLAY_POWER_STATE_RANGE_SIZE_EXT = (VK_DISPLAY_POWER_STATE_ON_EXT - VK_DISPLAY_POWER_STATE_OFF_EXT + 1),
6959
VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF
6960
} VkDisplayPowerStateEXT;
6961
6962
typedef enum VkDeviceEventTypeEXT {
6963
VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0,
6964
VK_DEVICE_EVENT_TYPE_BEGIN_RANGE_EXT = VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT,
6965
VK_DEVICE_EVENT_TYPE_END_RANGE_EXT = VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT,
6966
VK_DEVICE_EVENT_TYPE_RANGE_SIZE_EXT = (VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT - VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT + 1),
6967
VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
6968
} VkDeviceEventTypeEXT;
6969
6970
typedef enum VkDisplayEventTypeEXT {
6971
VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0,
6972
VK_DISPLAY_EVENT_TYPE_BEGIN_RANGE_EXT = VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT,
6973
VK_DISPLAY_EVENT_TYPE_END_RANGE_EXT = VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT,
6974
VK_DISPLAY_EVENT_TYPE_RANGE_SIZE_EXT = (VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT - VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT + 1),
6975
VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
6976
} VkDisplayEventTypeEXT;
6977
6978
typedef struct VkDisplayPowerInfoEXT {
6979
VkStructureType sType;
6980
const void* pNext;
6981
VkDisplayPowerStateEXT powerState;
6982
} VkDisplayPowerInfoEXT;
6983
6984
typedef struct VkDeviceEventInfoEXT {
6985
VkStructureType sType;
6986
const void* pNext;
6987
VkDeviceEventTypeEXT deviceEvent;
6988
} VkDeviceEventInfoEXT;
6989
6990
typedef struct VkDisplayEventInfoEXT {
6991
VkStructureType sType;
6992
const void* pNext;
6993
VkDisplayEventTypeEXT displayEvent;
6994
} VkDisplayEventInfoEXT;
6995
6996
typedef struct VkSwapchainCounterCreateInfoEXT {
6997
VkStructureType sType;
6998
const void* pNext;
6999
VkSurfaceCounterFlagsEXT surfaceCounters;
7000
} VkSwapchainCounterCreateInfoEXT;
7001
7002
7003
typedef VkResult (VKAPI_PTR *PFN_vkDisplayPowerControlEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
7004
typedef VkResult (VKAPI_PTR *PFN_vkRegisterDeviceEventEXT)(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
7005
typedef VkResult (VKAPI_PTR *PFN_vkRegisterDisplayEventEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
7006
typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainCounterEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue);
7007
7008
#ifndef VK_NO_PROTOTYPES
7009
VKAPI_ATTR VkResult VKAPI_CALL vkDisplayPowerControlEXT(
7010
VkDevice device,
7011
VkDisplayKHR display,
7012
const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
7013
7014
VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDeviceEventEXT(
7015
VkDevice device,
7016
const VkDeviceEventInfoEXT* pDeviceEventInfo,
7017
const VkAllocationCallbacks* pAllocator,
7018
VkFence* pFence);
7019
7020
VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDisplayEventEXT(
7021
VkDevice device,
7022
VkDisplayKHR display,
7023
const VkDisplayEventInfoEXT* pDisplayEventInfo,
7024
const VkAllocationCallbacks* pAllocator,
7025
VkFence* pFence);
7026
7027
VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainCounterEXT(
7028
VkDevice device,
7029
VkSwapchainKHR swapchain,
7030
VkSurfaceCounterFlagBitsEXT counter,
7031
uint64_t* pCounterValue);
7032
#endif
7033
7034
#define VK_GOOGLE_display_timing 1
7035
#define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1
7036
#define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing"
7037
7038
typedef struct VkRefreshCycleDurationGOOGLE {
7039
uint64_t refreshDuration;
7040
} VkRefreshCycleDurationGOOGLE;
7041
7042
typedef struct VkPastPresentationTimingGOOGLE {
7043
uint32_t presentID;
7044
uint64_t desiredPresentTime;
7045
uint64_t actualPresentTime;
7046
uint64_t earliestPresentTime;
7047
uint64_t presentMargin;
7048
} VkPastPresentationTimingGOOGLE;
7049
7050
typedef struct VkPresentTimeGOOGLE {
7051
uint32_t presentID;
7052
uint64_t desiredPresentTime;
7053
} VkPresentTimeGOOGLE;
7054
7055
typedef struct VkPresentTimesInfoGOOGLE {
7056
VkStructureType sType;
7057
const void* pNext;
7058
uint32_t swapchainCount;
7059
const VkPresentTimeGOOGLE* pTimes;
7060
} VkPresentTimesInfoGOOGLE;
7061
7062
7063
typedef VkResult (VKAPI_PTR *PFN_vkGetRefreshCycleDurationGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
7064
typedef VkResult (VKAPI_PTR *PFN_vkGetPastPresentationTimingGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings);
7065
7066
#ifndef VK_NO_PROTOTYPES
7067
VKAPI_ATTR VkResult VKAPI_CALL vkGetRefreshCycleDurationGOOGLE(
7068
VkDevice device,
7069
VkSwapchainKHR swapchain,
7070
VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
7071
7072
VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE(
7073
VkDevice device,
7074
VkSwapchainKHR swapchain,
7075
uint32_t* pPresentationTimingCount,
7076
VkPastPresentationTimingGOOGLE* pPresentationTimings);
7077
#endif
7078
7079
#define VK_NV_sample_mask_override_coverage 1
7080
#define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1
7081
#define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage"
7082
7083
7084
#define VK_NV_geometry_shader_passthrough 1
7085
#define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1
7086
#define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough"
7087
7088
7089
#define VK_NV_viewport_array2 1
7090
#define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION 1
7091
#define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME "VK_NV_viewport_array2"
7092
7093
7094
#define VK_NVX_multiview_per_view_attributes 1
7095
#define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION 1
7096
#define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME "VK_NVX_multiview_per_view_attributes"
7097
7098
typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
7099
VkStructureType sType;
7100
void* pNext;
7101
VkBool32 perViewPositionAllComponents;
7102
} VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
7103
7104
7105
7106
#define VK_NV_viewport_swizzle 1
7107
#define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1
7108
#define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle"
7109
7110
7111
typedef enum VkViewportCoordinateSwizzleNV {
7112
VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0,
7113
VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1,
7114
VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2,
7115
VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3,
7116
VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4,
7117
VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5,
7118
VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6,
7119
VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7,
7120
VK_VIEWPORT_COORDINATE_SWIZZLE_BEGIN_RANGE_NV = VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV,
7121
VK_VIEWPORT_COORDINATE_SWIZZLE_END_RANGE_NV = VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV,
7122
VK_VIEWPORT_COORDINATE_SWIZZLE_RANGE_SIZE_NV = (VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV - VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV + 1),
7123
VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = 0x7FFFFFFF
7124
} VkViewportCoordinateSwizzleNV;
7125
7126
typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV;
7127
7128
typedef struct VkViewportSwizzleNV {
7129
VkViewportCoordinateSwizzleNV x;
7130
VkViewportCoordinateSwizzleNV y;
7131
VkViewportCoordinateSwizzleNV z;
7132
VkViewportCoordinateSwizzleNV w;
7133
} VkViewportSwizzleNV;
7134
7135
typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {
7136
VkStructureType sType;
7137
const void* pNext;
7138
VkPipelineViewportSwizzleStateCreateFlagsNV flags;
7139
uint32_t viewportCount;
7140
const VkViewportSwizzleNV* pViewportSwizzles;
7141
} VkPipelineViewportSwizzleStateCreateInfoNV;
7142
7143
7144
7145
#define VK_EXT_discard_rectangles 1
7146
#define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 1
7147
#define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles"
7148
7149
7150
typedef enum VkDiscardRectangleModeEXT {
7151
VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0,
7152
VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1,
7153
VK_DISCARD_RECTANGLE_MODE_BEGIN_RANGE_EXT = VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT,
7154
VK_DISCARD_RECTANGLE_MODE_END_RANGE_EXT = VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT,
7155
VK_DISCARD_RECTANGLE_MODE_RANGE_SIZE_EXT = (VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT - VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT + 1),
7156
VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
7157
} VkDiscardRectangleModeEXT;
7158
7159
typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT;
7160
7161
typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
7162
VkStructureType sType;
7163
void* pNext;
7164
uint32_t maxDiscardRectangles;
7165
} VkPhysicalDeviceDiscardRectanglePropertiesEXT;
7166
7167
typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT {
7168
VkStructureType sType;
7169
const void* pNext;
7170
VkPipelineDiscardRectangleStateCreateFlagsEXT flags;
7171
VkDiscardRectangleModeEXT discardRectangleMode;
7172
uint32_t discardRectangleCount;
7173
const VkRect2D* pDiscardRectangles;
7174
} VkPipelineDiscardRectangleStateCreateInfoEXT;
7175
7176
7177
typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D* pDiscardRectangles);
7178
7179
#ifndef VK_NO_PROTOTYPES
7180
VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT(
7181
VkCommandBuffer commandBuffer,
7182
uint32_t firstDiscardRectangle,
7183
uint32_t discardRectangleCount,
7184
const VkRect2D* pDiscardRectangles);
7185
#endif
7186
7187
#define VK_EXT_conservative_rasterization 1
7188
#define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1
7189
#define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization"
7190
7191
7192
typedef enum VkConservativeRasterizationModeEXT {
7193
VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0,
7194
VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1,
7195
VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2,
7196
VK_CONSERVATIVE_RASTERIZATION_MODE_BEGIN_RANGE_EXT = VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT,
7197
VK_CONSERVATIVE_RASTERIZATION_MODE_END_RANGE_EXT = VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT,
7198
VK_CONSERVATIVE_RASTERIZATION_MODE_RANGE_SIZE_EXT = (VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT - VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT + 1),
7199
VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
7200
} VkConservativeRasterizationModeEXT;
7201
7202
typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT;
7203
7204
typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {
7205
VkStructureType sType;
7206
void* pNext;
7207
float primitiveOverestimationSize;
7208
float maxExtraPrimitiveOverestimationSize;
7209
float extraPrimitiveOverestimationSizeGranularity;
7210
VkBool32 primitiveUnderestimation;
7211
VkBool32 conservativePointAndLineRasterization;
7212
VkBool32 degenerateTrianglesRasterized;
7213
VkBool32 degenerateLinesRasterized;
7214
VkBool32 fullyCoveredFragmentShaderInputVariable;
7215
VkBool32 conservativeRasterizationPostDepthCoverage;
7216
} VkPhysicalDeviceConservativeRasterizationPropertiesEXT;
7217
7218
typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
7219
VkStructureType sType;
7220
const void* pNext;
7221
VkPipelineRasterizationConservativeStateCreateFlagsEXT flags;
7222
VkConservativeRasterizationModeEXT conservativeRasterizationMode;
7223
float extraPrimitiveOverestimationSize;
7224
} VkPipelineRasterizationConservativeStateCreateInfoEXT;
7225
7226
7227
7228
#define VK_EXT_swapchain_colorspace 1
7229
#define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 3
7230
#define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace"
7231
7232
7233
#define VK_EXT_hdr_metadata 1
7234
#define VK_EXT_HDR_METADATA_SPEC_VERSION 1
7235
#define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata"
7236
7237
typedef struct VkXYColorEXT {
7238
float x;
7239
float y;
7240
} VkXYColorEXT;
7241
7242
typedef struct VkHdrMetadataEXT {
7243
VkStructureType sType;
7244
const void* pNext;
7245
VkXYColorEXT displayPrimaryRed;
7246
VkXYColorEXT displayPrimaryGreen;
7247
VkXYColorEXT displayPrimaryBlue;
7248
VkXYColorEXT whitePoint;
7249
float maxLuminance;
7250
float minLuminance;
7251
float maxContentLightLevel;
7252
float maxFrameAverageLightLevel;
7253
} VkHdrMetadataEXT;
7254
7255
7256
typedef void (VKAPI_PTR *PFN_vkSetHdrMetadataEXT)(VkDevice device, uint32_t swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata);
7257
7258
#ifndef VK_NO_PROTOTYPES
7259
VKAPI_ATTR void VKAPI_CALL vkSetHdrMetadataEXT(
7260
VkDevice device,
7261
uint32_t swapchainCount,
7262
const VkSwapchainKHR* pSwapchains,
7263
const VkHdrMetadataEXT* pMetadata);
7264
#endif
7265
7266
#define VK_EXT_external_memory_dma_buf 1
7267
#define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION 1
7268
#define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME "VK_EXT_external_memory_dma_buf"
7269
7270
7271
#define VK_EXT_queue_family_foreign 1
7272
#define VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION 1
7273
#define VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME "VK_EXT_queue_family_foreign"
7274
#define VK_QUEUE_FAMILY_FOREIGN_EXT (~0U-2)
7275
7276
7277
#define VK_EXT_debug_utils 1
7278
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT)
7279
7280
#define VK_EXT_DEBUG_UTILS_SPEC_VERSION 1
7281
#define VK_EXT_DEBUG_UTILS_EXTENSION_NAME "VK_EXT_debug_utils"
7282
7283
typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT;
7284
typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT;
7285
7286
typedef enum VkDebugUtilsMessageSeverityFlagBitsEXT {
7287
VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 0x00000001,
7288
VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 0x00000010,
7289
VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = 0x00000100,
7290
VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 0x00001000,
7291
VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
7292
} VkDebugUtilsMessageSeverityFlagBitsEXT;
7293
typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT;
7294
7295
typedef enum VkDebugUtilsMessageTypeFlagBitsEXT {
7296
VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0x00000001,
7297
VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 0x00000002,
7298
VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 0x00000004,
7299
VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
7300
} VkDebugUtilsMessageTypeFlagBitsEXT;
7301
typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT;
7302
7303
typedef struct VkDebugUtilsObjectNameInfoEXT {
7304
VkStructureType sType;
7305
const void* pNext;
7306
VkObjectType objectType;
7307
uint64_t objectHandle;
7308
const char* pObjectName;
7309
} VkDebugUtilsObjectNameInfoEXT;
7310
7311
typedef struct VkDebugUtilsObjectTagInfoEXT {
7312
VkStructureType sType;
7313
const void* pNext;
7314
VkObjectType objectType;
7315
uint64_t objectHandle;
7316
uint64_t tagName;
7317
size_t tagSize;
7318
const void* pTag;
7319
} VkDebugUtilsObjectTagInfoEXT;
7320
7321
typedef struct VkDebugUtilsLabelEXT {
7322
VkStructureType sType;
7323
const void* pNext;
7324
const char* pLabelName;
7325
float color[4];
7326
} VkDebugUtilsLabelEXT;
7327
7328
typedef struct VkDebugUtilsMessengerCallbackDataEXT {
7329
VkStructureType sType;
7330
const void* pNext;
7331
VkDebugUtilsMessengerCallbackDataFlagsEXT flags;
7332
const char* pMessageIdName;
7333
int32_t messageIdNumber;
7334
const char* pMessage;
7335
uint32_t queueLabelCount;
7336
VkDebugUtilsLabelEXT* pQueueLabels;
7337
uint32_t cmdBufLabelCount;
7338
VkDebugUtilsLabelEXT* pCmdBufLabels;
7339
uint32_t objectCount;
7340
VkDebugUtilsObjectNameInfoEXT* pObjects;
7341
} VkDebugUtilsMessengerCallbackDataEXT;
7342
7343
typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
7344
VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
7345
VkDebugUtilsMessageTypeFlagsEXT messageType,
7346
const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData,
7347
void* pUserData);
7348
7349
typedef struct VkDebugUtilsMessengerCreateInfoEXT {
7350
VkStructureType sType;
7351
const void* pNext;
7352
VkDebugUtilsMessengerCreateFlagsEXT flags;
7353
VkDebugUtilsMessageSeverityFlagsEXT messageSeverity;
7354
VkDebugUtilsMessageTypeFlagsEXT messageType;
7355
PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback;
7356
void* pUserData;
7357
} VkDebugUtilsMessengerCreateInfoEXT;
7358
7359
7360
typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectNameEXT)(VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
7361
typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectTagEXT)(VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
7362
typedef void (VKAPI_PTR *PFN_vkQueueBeginDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
7363
typedef void (VKAPI_PTR *PFN_vkQueueEndDebugUtilsLabelEXT)(VkQueue queue);
7364
typedef void (VKAPI_PTR *PFN_vkQueueInsertDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
7365
typedef void (VKAPI_PTR *PFN_vkCmdBeginDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
7366
typedef void (VKAPI_PTR *PFN_vkCmdEndDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer);
7367
typedef void (VKAPI_PTR *PFN_vkCmdInsertDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
7368
typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugUtilsMessengerEXT)(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger);
7369
typedef void (VKAPI_PTR *PFN_vkDestroyDebugUtilsMessengerEXT)(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator);
7370
typedef void (VKAPI_PTR *PFN_vkSubmitDebugUtilsMessageEXT)(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
7371
7372
#ifndef VK_NO_PROTOTYPES
7373
VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectNameEXT(
7374
VkDevice device,
7375
const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
7376
7377
VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectTagEXT(
7378
VkDevice device,
7379
const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
7380
7381
VKAPI_ATTR void VKAPI_CALL vkQueueBeginDebugUtilsLabelEXT(
7382
VkQueue queue,
7383
const VkDebugUtilsLabelEXT* pLabelInfo);
7384
7385
VKAPI_ATTR void VKAPI_CALL vkQueueEndDebugUtilsLabelEXT(
7386
VkQueue queue);
7387
7388
VKAPI_ATTR void VKAPI_CALL vkQueueInsertDebugUtilsLabelEXT(
7389
VkQueue queue,
7390
const VkDebugUtilsLabelEXT* pLabelInfo);
7391
7392
VKAPI_ATTR void VKAPI_CALL vkCmdBeginDebugUtilsLabelEXT(
7393
VkCommandBuffer commandBuffer,
7394
const VkDebugUtilsLabelEXT* pLabelInfo);
7395
7396
VKAPI_ATTR void VKAPI_CALL vkCmdEndDebugUtilsLabelEXT(
7397
VkCommandBuffer commandBuffer);
7398
7399
VKAPI_ATTR void VKAPI_CALL vkCmdInsertDebugUtilsLabelEXT(
7400
VkCommandBuffer commandBuffer,
7401
const VkDebugUtilsLabelEXT* pLabelInfo);
7402
7403
VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugUtilsMessengerEXT(
7404
VkInstance instance,
7405
const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo,
7406
const VkAllocationCallbacks* pAllocator,
7407
VkDebugUtilsMessengerEXT* pMessenger);
7408
7409
VKAPI_ATTR void VKAPI_CALL vkDestroyDebugUtilsMessengerEXT(
7410
VkInstance instance,
7411
VkDebugUtilsMessengerEXT messenger,
7412
const VkAllocationCallbacks* pAllocator);
7413
7414
VKAPI_ATTR void VKAPI_CALL vkSubmitDebugUtilsMessageEXT(
7415
VkInstance instance,
7416
VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
7417
VkDebugUtilsMessageTypeFlagsEXT messageTypes,
7418
const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
7419
#endif
7420
7421
#define VK_EXT_sampler_filter_minmax 1
7422
#define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 1
7423
#define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax"
7424
7425
7426
typedef enum VkSamplerReductionModeEXT {
7427
VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = 0,
7428
VK_SAMPLER_REDUCTION_MODE_MIN_EXT = 1,
7429
VK_SAMPLER_REDUCTION_MODE_MAX_EXT = 2,
7430
VK_SAMPLER_REDUCTION_MODE_BEGIN_RANGE_EXT = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT,
7431
VK_SAMPLER_REDUCTION_MODE_END_RANGE_EXT = VK_SAMPLER_REDUCTION_MODE_MAX_EXT,
7432
VK_SAMPLER_REDUCTION_MODE_RANGE_SIZE_EXT = (VK_SAMPLER_REDUCTION_MODE_MAX_EXT - VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT + 1),
7433
VK_SAMPLER_REDUCTION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
7434
} VkSamplerReductionModeEXT;
7435
7436
typedef struct VkSamplerReductionModeCreateInfoEXT {
7437
VkStructureType sType;
7438
const void* pNext;
7439
VkSamplerReductionModeEXT reductionMode;
7440
} VkSamplerReductionModeCreateInfoEXT;
7441
7442
typedef struct VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT {
7443
VkStructureType sType;
7444
void* pNext;
7445
VkBool32 filterMinmaxSingleComponentFormats;
7446
VkBool32 filterMinmaxImageComponentMapping;
7447
} VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
7448
7449
7450
7451
#define VK_AMD_gpu_shader_int16 1
7452
#define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 1
7453
#define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16"
7454
7455
7456
#define VK_AMD_mixed_attachment_samples 1
7457
#define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1
7458
#define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples"
7459
7460
7461
#define VK_AMD_shader_fragment_mask 1
7462
#define VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION 1
7463
#define VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME "VK_AMD_shader_fragment_mask"
7464
7465
7466
#define VK_EXT_inline_uniform_block 1
7467
#define VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION 1
7468
#define VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME "VK_EXT_inline_uniform_block"
7469
7470
typedef struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT {
7471
VkStructureType sType;
7472
void* pNext;
7473
VkBool32 inlineUniformBlock;
7474
VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind;
7475
} VkPhysicalDeviceInlineUniformBlockFeaturesEXT;
7476
7477
typedef struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT {
7478
VkStructureType sType;
7479
void* pNext;
7480
uint32_t maxInlineUniformBlockSize;
7481
uint32_t maxPerStageDescriptorInlineUniformBlocks;
7482
uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
7483
uint32_t maxDescriptorSetInlineUniformBlocks;
7484
uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
7485
} VkPhysicalDeviceInlineUniformBlockPropertiesEXT;
7486
7487
typedef struct VkWriteDescriptorSetInlineUniformBlockEXT {
7488
VkStructureType sType;
7489
const void* pNext;
7490
uint32_t dataSize;
7491
const void* pData;
7492
} VkWriteDescriptorSetInlineUniformBlockEXT;
7493
7494
typedef struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT {
7495
VkStructureType sType;
7496
const void* pNext;
7497
uint32_t maxInlineUniformBlockBindings;
7498
} VkDescriptorPoolInlineUniformBlockCreateInfoEXT;
7499
7500
7501
7502
#define VK_EXT_shader_stencil_export 1
7503
#define VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION 1
7504
#define VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME "VK_EXT_shader_stencil_export"
7505
7506
7507
#define VK_EXT_sample_locations 1
7508
#define VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION 1
7509
#define VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME "VK_EXT_sample_locations"
7510
7511
typedef struct VkSampleLocationEXT {
7512
float x;
7513
float y;
7514
} VkSampleLocationEXT;
7515
7516
typedef struct VkSampleLocationsInfoEXT {
7517
VkStructureType sType;
7518
const void* pNext;
7519
VkSampleCountFlagBits sampleLocationsPerPixel;
7520
VkExtent2D sampleLocationGridSize;
7521
uint32_t sampleLocationsCount;
7522
const VkSampleLocationEXT* pSampleLocations;
7523
} VkSampleLocationsInfoEXT;
7524
7525
typedef struct VkAttachmentSampleLocationsEXT {
7526
uint32_t attachmentIndex;
7527
VkSampleLocationsInfoEXT sampleLocationsInfo;
7528
} VkAttachmentSampleLocationsEXT;
7529
7530
typedef struct VkSubpassSampleLocationsEXT {
7531
uint32_t subpassIndex;
7532
VkSampleLocationsInfoEXT sampleLocationsInfo;
7533
} VkSubpassSampleLocationsEXT;
7534
7535
typedef struct VkRenderPassSampleLocationsBeginInfoEXT {
7536
VkStructureType sType;
7537
const void* pNext;
7538
uint32_t attachmentInitialSampleLocationsCount;
7539
const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations;
7540
uint32_t postSubpassSampleLocationsCount;
7541
const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations;
7542
} VkRenderPassSampleLocationsBeginInfoEXT;
7543
7544
typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {
7545
VkStructureType sType;
7546
const void* pNext;
7547
VkBool32 sampleLocationsEnable;
7548
VkSampleLocationsInfoEXT sampleLocationsInfo;
7549
} VkPipelineSampleLocationsStateCreateInfoEXT;
7550
7551
typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT {
7552
VkStructureType sType;
7553
void* pNext;
7554
VkSampleCountFlags sampleLocationSampleCounts;
7555
VkExtent2D maxSampleLocationGridSize;
7556
float sampleLocationCoordinateRange[2];
7557
uint32_t sampleLocationSubPixelBits;
7558
VkBool32 variableSampleLocations;
7559
} VkPhysicalDeviceSampleLocationsPropertiesEXT;
7560
7561
typedef struct VkMultisamplePropertiesEXT {
7562
VkStructureType sType;
7563
void* pNext;
7564
VkExtent2D maxSampleLocationGridSize;
7565
} VkMultisamplePropertiesEXT;
7566
7567
7568
typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEXT)(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
7569
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties);
7570
7571
#ifndef VK_NO_PROTOTYPES
7572
VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEXT(
7573
VkCommandBuffer commandBuffer,
7574
const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
7575
7576
VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMultisamplePropertiesEXT(
7577
VkPhysicalDevice physicalDevice,
7578
VkSampleCountFlagBits samples,
7579
VkMultisamplePropertiesEXT* pMultisampleProperties);
7580
#endif
7581
7582
#define VK_EXT_blend_operation_advanced 1
7583
#define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2
7584
#define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced"
7585
7586
7587
typedef enum VkBlendOverlapEXT {
7588
VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0,
7589
VK_BLEND_OVERLAP_DISJOINT_EXT = 1,
7590
VK_BLEND_OVERLAP_CONJOINT_EXT = 2,
7591
VK_BLEND_OVERLAP_BEGIN_RANGE_EXT = VK_BLEND_OVERLAP_UNCORRELATED_EXT,
7592
VK_BLEND_OVERLAP_END_RANGE_EXT = VK_BLEND_OVERLAP_CONJOINT_EXT,
7593
VK_BLEND_OVERLAP_RANGE_SIZE_EXT = (VK_BLEND_OVERLAP_CONJOINT_EXT - VK_BLEND_OVERLAP_UNCORRELATED_EXT + 1),
7594
VK_BLEND_OVERLAP_MAX_ENUM_EXT = 0x7FFFFFFF
7595
} VkBlendOverlapEXT;
7596
7597
typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
7598
VkStructureType sType;
7599
void* pNext;
7600
VkBool32 advancedBlendCoherentOperations;
7601
} VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
7602
7603
typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {
7604
VkStructureType sType;
7605
void* pNext;
7606
uint32_t advancedBlendMaxColorAttachments;
7607
VkBool32 advancedBlendIndependentBlend;
7608
VkBool32 advancedBlendNonPremultipliedSrcColor;
7609
VkBool32 advancedBlendNonPremultipliedDstColor;
7610
VkBool32 advancedBlendCorrelatedOverlap;
7611
VkBool32 advancedBlendAllOperations;
7612
} VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;
7613
7614
typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
7615
VkStructureType sType;
7616
const void* pNext;
7617
VkBool32 srcPremultiplied;
7618
VkBool32 dstPremultiplied;
7619
VkBlendOverlapEXT blendOverlap;
7620
} VkPipelineColorBlendAdvancedStateCreateInfoEXT;
7621
7622
7623
7624
#define VK_NV_fragment_coverage_to_color 1
7625
#define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION 1
7626
#define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME "VK_NV_fragment_coverage_to_color"
7627
7628
typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV;
7629
7630
typedef struct VkPipelineCoverageToColorStateCreateInfoNV {
7631
VkStructureType sType;
7632
const void* pNext;
7633
VkPipelineCoverageToColorStateCreateFlagsNV flags;
7634
VkBool32 coverageToColorEnable;
7635
uint32_t coverageToColorLocation;
7636
} VkPipelineCoverageToColorStateCreateInfoNV;
7637
7638
7639
7640
#define VK_NV_framebuffer_mixed_samples 1
7641
#define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION 1
7642
#define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME "VK_NV_framebuffer_mixed_samples"
7643
7644
7645
typedef enum VkCoverageModulationModeNV {
7646
VK_COVERAGE_MODULATION_MODE_NONE_NV = 0,
7647
VK_COVERAGE_MODULATION_MODE_RGB_NV = 1,
7648
VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2,
7649
VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3,
7650
VK_COVERAGE_MODULATION_MODE_BEGIN_RANGE_NV = VK_COVERAGE_MODULATION_MODE_NONE_NV,
7651
VK_COVERAGE_MODULATION_MODE_END_RANGE_NV = VK_COVERAGE_MODULATION_MODE_RGBA_NV,
7652
VK_COVERAGE_MODULATION_MODE_RANGE_SIZE_NV = (VK_COVERAGE_MODULATION_MODE_RGBA_NV - VK_COVERAGE_MODULATION_MODE_NONE_NV + 1),
7653
VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
7654
} VkCoverageModulationModeNV;
7655
7656
typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV;
7657
7658
typedef struct VkPipelineCoverageModulationStateCreateInfoNV {
7659
VkStructureType sType;
7660
const void* pNext;
7661
VkPipelineCoverageModulationStateCreateFlagsNV flags;
7662
VkCoverageModulationModeNV coverageModulationMode;
7663
VkBool32 coverageModulationTableEnable;
7664
uint32_t coverageModulationTableCount;
7665
const float* pCoverageModulationTable;
7666
} VkPipelineCoverageModulationStateCreateInfoNV;
7667
7668
7669
7670
#define VK_NV_fill_rectangle 1
7671
#define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1
7672
#define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle"
7673
7674
7675
#define VK_EXT_post_depth_coverage 1
7676
#define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1
7677
#define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage"
7678
7679
7680
#define VK_EXT_validation_cache 1
7681
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT)
7682
7683
#define VK_EXT_VALIDATION_CACHE_SPEC_VERSION 1
7684
#define VK_EXT_VALIDATION_CACHE_EXTENSION_NAME "VK_EXT_validation_cache"
7685
7686
7687
typedef enum VkValidationCacheHeaderVersionEXT {
7688
VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1,
7689
VK_VALIDATION_CACHE_HEADER_VERSION_BEGIN_RANGE_EXT = VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT,
7690
VK_VALIDATION_CACHE_HEADER_VERSION_END_RANGE_EXT = VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT,
7691
VK_VALIDATION_CACHE_HEADER_VERSION_RANGE_SIZE_EXT = (VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT - VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT + 1),
7692
VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF
7693
} VkValidationCacheHeaderVersionEXT;
7694
7695
typedef VkFlags VkValidationCacheCreateFlagsEXT;
7696
7697
typedef struct VkValidationCacheCreateInfoEXT {
7698
VkStructureType sType;
7699
const void* pNext;
7700
VkValidationCacheCreateFlagsEXT flags;
7701
size_t initialDataSize;
7702
const void* pInitialData;
7703
} VkValidationCacheCreateInfoEXT;
7704
7705
typedef struct VkShaderModuleValidationCacheCreateInfoEXT {
7706
VkStructureType sType;
7707
const void* pNext;
7708
VkValidationCacheEXT validationCache;
7709
} VkShaderModuleValidationCacheCreateInfoEXT;
7710
7711
7712
typedef VkResult (VKAPI_PTR *PFN_vkCreateValidationCacheEXT)(VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache);
7713
typedef void (VKAPI_PTR *PFN_vkDestroyValidationCacheEXT)(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator);
7714
typedef VkResult (VKAPI_PTR *PFN_vkMergeValidationCachesEXT)(VkDevice device, VkValidationCacheEXT dstCache, uint32_t srcCacheCount, const VkValidationCacheEXT* pSrcCaches);
7715
typedef VkResult (VKAPI_PTR *PFN_vkGetValidationCacheDataEXT)(VkDevice device, VkValidationCacheEXT validationCache, size_t* pDataSize, void* pData);
7716
7717
#ifndef VK_NO_PROTOTYPES
7718
VKAPI_ATTR VkResult VKAPI_CALL vkCreateValidationCacheEXT(
7719
VkDevice device,
7720
const VkValidationCacheCreateInfoEXT* pCreateInfo,
7721
const VkAllocationCallbacks* pAllocator,
7722
VkValidationCacheEXT* pValidationCache);
7723
7724
VKAPI_ATTR void VKAPI_CALL vkDestroyValidationCacheEXT(
7725
VkDevice device,
7726
VkValidationCacheEXT validationCache,
7727
const VkAllocationCallbacks* pAllocator);
7728
7729
VKAPI_ATTR VkResult VKAPI_CALL vkMergeValidationCachesEXT(
7730
VkDevice device,
7731
VkValidationCacheEXT dstCache,
7732
uint32_t srcCacheCount,
7733
const VkValidationCacheEXT* pSrcCaches);
7734
7735
VKAPI_ATTR VkResult VKAPI_CALL vkGetValidationCacheDataEXT(
7736
VkDevice device,
7737
VkValidationCacheEXT validationCache,
7738
size_t* pDataSize,
7739
void* pData);
7740
#endif
7741
7742
#define VK_EXT_descriptor_indexing 1
7743
#define VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION 2
7744
#define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing"
7745
7746
7747
typedef enum VkDescriptorBindingFlagBitsEXT {
7748
VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT = 0x00000001,
7749
VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT = 0x00000002,
7750
VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT = 0x00000004,
7751
VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT = 0x00000008,
7752
VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
7753
} VkDescriptorBindingFlagBitsEXT;
7754
typedef VkFlags VkDescriptorBindingFlagsEXT;
7755
7756
typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfoEXT {
7757
VkStructureType sType;
7758
const void* pNext;
7759
uint32_t bindingCount;
7760
const VkDescriptorBindingFlagsEXT* pBindingFlags;
7761
} VkDescriptorSetLayoutBindingFlagsCreateInfoEXT;
7762
7763
typedef struct VkPhysicalDeviceDescriptorIndexingFeaturesEXT {
7764
VkStructureType sType;
7765
void* pNext;
7766
VkBool32 shaderInputAttachmentArrayDynamicIndexing;
7767
VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
7768
VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
7769
VkBool32 shaderUniformBufferArrayNonUniformIndexing;
7770
VkBool32 shaderSampledImageArrayNonUniformIndexing;
7771
VkBool32 shaderStorageBufferArrayNonUniformIndexing;
7772
VkBool32 shaderStorageImageArrayNonUniformIndexing;
7773
VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
7774
VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
7775
VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
7776
VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
7777
VkBool32 descriptorBindingSampledImageUpdateAfterBind;
7778
VkBool32 descriptorBindingStorageImageUpdateAfterBind;
7779
VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
7780
VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
7781
VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
7782
VkBool32 descriptorBindingUpdateUnusedWhilePending;
7783
VkBool32 descriptorBindingPartiallyBound;
7784
VkBool32 descriptorBindingVariableDescriptorCount;
7785
VkBool32 runtimeDescriptorArray;
7786
} VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
7787
7788
typedef struct VkPhysicalDeviceDescriptorIndexingPropertiesEXT {
7789
VkStructureType sType;
7790
void* pNext;
7791
uint32_t maxUpdateAfterBindDescriptorsInAllPools;
7792
VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
7793
VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
7794
VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
7795
VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
7796
VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
7797
VkBool32 robustBufferAccessUpdateAfterBind;
7798
VkBool32 quadDivergentImplicitLod;
7799
uint32_t maxPerStageDescriptorUpdateAfterBindSamplers;
7800
uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers;
7801
uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers;
7802
uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages;
7803
uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages;
7804
uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments;
7805
uint32_t maxPerStageUpdateAfterBindResources;
7806
uint32_t maxDescriptorSetUpdateAfterBindSamplers;
7807
uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers;
7808
uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
7809
uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers;
7810
uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
7811
uint32_t maxDescriptorSetUpdateAfterBindSampledImages;
7812
uint32_t maxDescriptorSetUpdateAfterBindStorageImages;
7813
uint32_t maxDescriptorSetUpdateAfterBindInputAttachments;
7814
} VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
7815
7816
typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfoEXT {
7817
VkStructureType sType;
7818
const void* pNext;
7819
uint32_t descriptorSetCount;
7820
const uint32_t* pDescriptorCounts;
7821
} VkDescriptorSetVariableDescriptorCountAllocateInfoEXT;
7822
7823
typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupportEXT {
7824
VkStructureType sType;
7825
void* pNext;
7826
uint32_t maxVariableDescriptorCount;
7827
} VkDescriptorSetVariableDescriptorCountLayoutSupportEXT;
7828
7829
7830
7831
#define VK_EXT_shader_viewport_index_layer 1
7832
#define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION 1
7833
#define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME "VK_EXT_shader_viewport_index_layer"
7834
7835
7836
#define VK_NV_shading_rate_image 1
7837
#define VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION 3
7838
#define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image"
7839
7840
7841
typedef enum VkShadingRatePaletteEntryNV {
7842
VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV = 0,
7843
VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV = 1,
7844
VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV = 2,
7845
VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV = 3,
7846
VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV = 4,
7847
VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV = 5,
7848
VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV = 6,
7849
VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV = 7,
7850
VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV = 8,
7851
VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
7852
VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV = 10,
7853
VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV = 11,
7854
VK_SHADING_RATE_PALETTE_ENTRY_BEGIN_RANGE_NV = VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV,
7855
VK_SHADING_RATE_PALETTE_ENTRY_END_RANGE_NV = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV,
7856
VK_SHADING_RATE_PALETTE_ENTRY_RANGE_SIZE_NV = (VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV - VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV + 1),
7857
VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV = 0x7FFFFFFF
7858
} VkShadingRatePaletteEntryNV;
7859
7860
typedef enum VkCoarseSampleOrderTypeNV {
7861
VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV = 0,
7862
VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV = 1,
7863
VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV = 2,
7864
VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV = 3,
7865
VK_COARSE_SAMPLE_ORDER_TYPE_BEGIN_RANGE_NV = VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV,
7866
VK_COARSE_SAMPLE_ORDER_TYPE_END_RANGE_NV = VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV,
7867
VK_COARSE_SAMPLE_ORDER_TYPE_RANGE_SIZE_NV = (VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV - VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV + 1),
7868
VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
7869
} VkCoarseSampleOrderTypeNV;
7870
7871
typedef struct VkShadingRatePaletteNV {
7872
uint32_t shadingRatePaletteEntryCount;
7873
const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries;
7874
} VkShadingRatePaletteNV;
7875
7876
typedef struct VkPipelineViewportShadingRateImageStateCreateInfoNV {
7877
VkStructureType sType;
7878
const void* pNext;
7879
VkBool32 shadingRateImageEnable;
7880
uint32_t viewportCount;
7881
const VkShadingRatePaletteNV* pShadingRatePalettes;
7882
} VkPipelineViewportShadingRateImageStateCreateInfoNV;
7883
7884
typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV {
7885
VkStructureType sType;
7886
void* pNext;
7887
VkBool32 shadingRateImage;
7888
VkBool32 shadingRateCoarseSampleOrder;
7889
} VkPhysicalDeviceShadingRateImageFeaturesNV;
7890
7891
typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV {
7892
VkStructureType sType;
7893
void* pNext;
7894
VkExtent2D shadingRateTexelSize;
7895
uint32_t shadingRatePaletteSize;
7896
uint32_t shadingRateMaxCoarseSamples;
7897
} VkPhysicalDeviceShadingRateImagePropertiesNV;
7898
7899
typedef struct VkCoarseSampleLocationNV {
7900
uint32_t pixelX;
7901
uint32_t pixelY;
7902
uint32_t sample;
7903
} VkCoarseSampleLocationNV;
7904
7905
typedef struct VkCoarseSampleOrderCustomNV {
7906
VkShadingRatePaletteEntryNV shadingRate;
7907
uint32_t sampleCount;
7908
uint32_t sampleLocationCount;
7909
const VkCoarseSampleLocationNV* pSampleLocations;
7910
} VkCoarseSampleOrderCustomNV;
7911
7912
typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV {
7913
VkStructureType sType;
7914
const void* pNext;
7915
VkCoarseSampleOrderTypeNV sampleOrderType;
7916
uint32_t customSampleOrderCount;
7917
const VkCoarseSampleOrderCustomNV* pCustomSampleOrders;
7918
} VkPipelineViewportCoarseSampleOrderStateCreateInfoNV;
7919
7920
7921
typedef void (VKAPI_PTR *PFN_vkCmdBindShadingRateImageNV)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout);
7922
typedef void (VKAPI_PTR *PFN_vkCmdSetViewportShadingRatePaletteNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes);
7923
typedef void (VKAPI_PTR *PFN_vkCmdSetCoarseSampleOrderNV)(VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, uint32_t customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
7924
7925
#ifndef VK_NO_PROTOTYPES
7926
VKAPI_ATTR void VKAPI_CALL vkCmdBindShadingRateImageNV(
7927
VkCommandBuffer commandBuffer,
7928
VkImageView imageView,
7929
VkImageLayout imageLayout);
7930
7931
VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportShadingRatePaletteNV(
7932
VkCommandBuffer commandBuffer,
7933
uint32_t firstViewport,
7934
uint32_t viewportCount,
7935
const VkShadingRatePaletteNV* pShadingRatePalettes);
7936
7937
VKAPI_ATTR void VKAPI_CALL vkCmdSetCoarseSampleOrderNV(
7938
VkCommandBuffer commandBuffer,
7939
VkCoarseSampleOrderTypeNV sampleOrderType,
7940
uint32_t customSampleOrderCount,
7941
const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
7942
#endif
7943
7944
#define VK_NVX_raytracing 1
7945
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureNVX)
7946
7947
#define VK_NVX_RAYTRACING_SPEC_VERSION 1
7948
#define VK_NVX_RAYTRACING_EXTENSION_NAME "VK_NVX_raytracing"
7949
7950
7951
typedef enum VkGeometryTypeNVX {
7952
VK_GEOMETRY_TYPE_TRIANGLES_NVX = 0,
7953
VK_GEOMETRY_TYPE_AABBS_NVX = 1,
7954
VK_GEOMETRY_TYPE_BEGIN_RANGE_NVX = VK_GEOMETRY_TYPE_TRIANGLES_NVX,
7955
VK_GEOMETRY_TYPE_END_RANGE_NVX = VK_GEOMETRY_TYPE_AABBS_NVX,
7956
VK_GEOMETRY_TYPE_RANGE_SIZE_NVX = (VK_GEOMETRY_TYPE_AABBS_NVX - VK_GEOMETRY_TYPE_TRIANGLES_NVX + 1),
7957
VK_GEOMETRY_TYPE_MAX_ENUM_NVX = 0x7FFFFFFF
7958
} VkGeometryTypeNVX;
7959
7960
typedef enum VkAccelerationStructureTypeNVX {
7961
VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NVX = 0,
7962
VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NVX = 1,
7963
VK_ACCELERATION_STRUCTURE_TYPE_BEGIN_RANGE_NVX = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NVX,
7964
VK_ACCELERATION_STRUCTURE_TYPE_END_RANGE_NVX = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NVX,
7965
VK_ACCELERATION_STRUCTURE_TYPE_RANGE_SIZE_NVX = (VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NVX - VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NVX + 1),
7966
VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_NVX = 0x7FFFFFFF
7967
} VkAccelerationStructureTypeNVX;
7968
7969
typedef enum VkCopyAccelerationStructureModeNVX {
7970
VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NVX = 0,
7971
VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NVX = 1,
7972
VK_COPY_ACCELERATION_STRUCTURE_MODE_BEGIN_RANGE_NVX = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NVX,
7973
VK_COPY_ACCELERATION_STRUCTURE_MODE_END_RANGE_NVX = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NVX,
7974
VK_COPY_ACCELERATION_STRUCTURE_MODE_RANGE_SIZE_NVX = (VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NVX - VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NVX + 1),
7975
VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_NVX = 0x7FFFFFFF
7976
} VkCopyAccelerationStructureModeNVX;
7977
7978
7979
typedef enum VkGeometryFlagBitsNVX {
7980
VK_GEOMETRY_OPAQUE_BIT_NVX = 0x00000001,
7981
VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NVX = 0x00000002,
7982
VK_GEOMETRY_FLAG_BITS_MAX_ENUM_NVX = 0x7FFFFFFF
7983
} VkGeometryFlagBitsNVX;
7984
typedef VkFlags VkGeometryFlagsNVX;
7985
7986
typedef enum VkGeometryInstanceFlagBitsNVX {
7987
VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NVX = 0x00000001,
7988
VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_FLIP_WINDING_BIT_NVX = 0x00000002,
7989
VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NVX = 0x00000004,
7990
VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NVX = 0x00000008,
7991
VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_NVX = 0x7FFFFFFF
7992
} VkGeometryInstanceFlagBitsNVX;
7993
typedef VkFlags VkGeometryInstanceFlagsNVX;
7994
7995
typedef enum VkBuildAccelerationStructureFlagBitsNVX {
7996
VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NVX = 0x00000001,
7997
VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NVX = 0x00000002,
7998
VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NVX = 0x00000004,
7999
VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NVX = 0x00000008,
8000
VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NVX = 0x00000010,
8001
VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_NVX = 0x7FFFFFFF
8002
} VkBuildAccelerationStructureFlagBitsNVX;
8003
typedef VkFlags VkBuildAccelerationStructureFlagsNVX;
8004
8005
typedef struct VkRaytracingPipelineCreateInfoNVX {
8006
VkStructureType sType;
8007
const void* pNext;
8008
VkPipelineCreateFlags flags;
8009
uint32_t stageCount;
8010
const VkPipelineShaderStageCreateInfo* pStages;
8011
const uint32_t* pGroupNumbers;
8012
uint32_t maxRecursionDepth;
8013
VkPipelineLayout layout;
8014
VkPipeline basePipelineHandle;
8015
int32_t basePipelineIndex;
8016
} VkRaytracingPipelineCreateInfoNVX;
8017
8018
typedef struct VkGeometryTrianglesNVX {
8019
VkStructureType sType;
8020
const void* pNext;
8021
VkBuffer vertexData;
8022
VkDeviceSize vertexOffset;
8023
uint32_t vertexCount;
8024
VkDeviceSize vertexStride;
8025
VkFormat vertexFormat;
8026
VkBuffer indexData;
8027
VkDeviceSize indexOffset;
8028
uint32_t indexCount;
8029
VkIndexType indexType;
8030
VkBuffer transformData;
8031
VkDeviceSize transformOffset;
8032
} VkGeometryTrianglesNVX;
8033
8034
typedef struct VkGeometryAABBNVX {
8035
VkStructureType sType;
8036
const void* pNext;
8037
VkBuffer aabbData;
8038
uint32_t numAABBs;
8039
uint32_t stride;
8040
VkDeviceSize offset;
8041
} VkGeometryAABBNVX;
8042
8043
typedef struct VkGeometryDataNVX {
8044
VkGeometryTrianglesNVX triangles;
8045
VkGeometryAABBNVX aabbs;
8046
} VkGeometryDataNVX;
8047
8048
typedef struct VkGeometryNVX {
8049
VkStructureType sType;
8050
const void* pNext;
8051
VkGeometryTypeNVX geometryType;
8052
VkGeometryDataNVX geometry;
8053
VkGeometryFlagsNVX flags;
8054
} VkGeometryNVX;
8055
8056
typedef struct VkAccelerationStructureCreateInfoNVX {
8057
VkStructureType sType;
8058
const void* pNext;
8059
VkAccelerationStructureTypeNVX type;
8060
VkBuildAccelerationStructureFlagsNVX flags;
8061
VkDeviceSize compactedSize;
8062
uint32_t instanceCount;
8063
uint32_t geometryCount;
8064
const VkGeometryNVX* pGeometries;
8065
} VkAccelerationStructureCreateInfoNVX;
8066
8067
typedef struct VkBindAccelerationStructureMemoryInfoNVX {
8068
VkStructureType sType;
8069
const void* pNext;
8070
VkAccelerationStructureNVX accelerationStructure;
8071
VkDeviceMemory memory;
8072
VkDeviceSize memoryOffset;
8073
uint32_t deviceIndexCount;
8074
const uint32_t* pDeviceIndices;
8075
} VkBindAccelerationStructureMemoryInfoNVX;
8076
8077
typedef struct VkDescriptorAccelerationStructureInfoNVX {
8078
VkStructureType sType;
8079
const void* pNext;
8080
uint32_t accelerationStructureCount;
8081
const VkAccelerationStructureNVX* pAccelerationStructures;
8082
} VkDescriptorAccelerationStructureInfoNVX;
8083
8084
typedef struct VkAccelerationStructureMemoryRequirementsInfoNVX {
8085
VkStructureType sType;
8086
const void* pNext;
8087
VkAccelerationStructureNVX accelerationStructure;
8088
} VkAccelerationStructureMemoryRequirementsInfoNVX;
8089
8090
typedef struct VkPhysicalDeviceRaytracingPropertiesNVX {
8091
VkStructureType sType;
8092
void* pNext;
8093
uint32_t shaderHeaderSize;
8094
uint32_t maxRecursionDepth;
8095
uint32_t maxGeometryCount;
8096
} VkPhysicalDeviceRaytracingPropertiesNVX;
8097
8098
8099
typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureNVX)(VkDevice device, const VkAccelerationStructureCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNVX* pAccelerationStructure);
8100
typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureNVX)(VkDevice device, VkAccelerationStructureNVX accelerationStructure, const VkAllocationCallbacks* pAllocator);
8101
typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureMemoryRequirementsNVX)(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNVX* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements);
8102
typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureScratchMemoryRequirementsNVX)(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNVX* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements);
8103
typedef VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryNVX)(VkDevice device, uint32_t bindInfoCount, const VkBindAccelerationStructureMemoryInfoNVX* pBindInfos);
8104
typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructureNVX)(VkCommandBuffer commandBuffer, VkAccelerationStructureTypeNVX type, uint32_t instanceCount, VkBuffer instanceData, VkDeviceSize instanceOffset, uint32_t geometryCount, const VkGeometryNVX* pGeometries, VkBuildAccelerationStructureFlagsNVX flags, VkBool32 update, VkAccelerationStructureNVX dst, VkAccelerationStructureNVX src, VkBuffer scratch, VkDeviceSize scratchOffset);
8105
typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureNVX)(VkCommandBuffer commandBuffer, VkAccelerationStructureNVX dst, VkAccelerationStructureNVX src, VkCopyAccelerationStructureModeNVX mode);
8106
typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysNVX)(VkCommandBuffer commandBuffer, VkBuffer raygenShaderBindingTableBuffer, VkDeviceSize raygenShaderBindingOffset, VkBuffer missShaderBindingTableBuffer, VkDeviceSize missShaderBindingOffset, VkDeviceSize missShaderBindingStride, VkBuffer hitShaderBindingTableBuffer, VkDeviceSize hitShaderBindingOffset, VkDeviceSize hitShaderBindingStride, uint32_t width, uint32_t height);
8107
typedef VkResult (VKAPI_PTR *PFN_vkCreateRaytracingPipelinesNVX)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRaytracingPipelineCreateInfoNVX* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
8108
typedef VkResult (VKAPI_PTR *PFN_vkGetRaytracingShaderHandlesNVX)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData);
8109
typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureHandleNVX)(VkDevice device, VkAccelerationStructureNVX accelerationStructure, size_t dataSize, void* pData);
8110
typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructurePropertiesNVX)(VkCommandBuffer commandBuffer, VkAccelerationStructureNVX accelerationStructure, VkQueryType queryType, VkQueryPool queryPool, uint32_t query);
8111
typedef VkResult (VKAPI_PTR *PFN_vkCompileDeferredNVX)(VkDevice device, VkPipeline pipeline, uint32_t shader);
8112
8113
#ifndef VK_NO_PROTOTYPES
8114
VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureNVX(
8115
VkDevice device,
8116
const VkAccelerationStructureCreateInfoNVX* pCreateInfo,
8117
const VkAllocationCallbacks* pAllocator,
8118
VkAccelerationStructureNVX* pAccelerationStructure);
8119
8120
VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureNVX(
8121
VkDevice device,
8122
VkAccelerationStructureNVX accelerationStructure,
8123
const VkAllocationCallbacks* pAllocator);
8124
8125
VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsNVX(
8126
VkDevice device,
8127
const VkAccelerationStructureMemoryRequirementsInfoNVX* pInfo,
8128
VkMemoryRequirements2KHR* pMemoryRequirements);
8129
8130
VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureScratchMemoryRequirementsNVX(
8131
VkDevice device,
8132
const VkAccelerationStructureMemoryRequirementsInfoNVX* pInfo,
8133
VkMemoryRequirements2KHR* pMemoryRequirements);
8134
8135
VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryNVX(
8136
VkDevice device,
8137
uint32_t bindInfoCount,
8138
const VkBindAccelerationStructureMemoryInfoNVX* pBindInfos);
8139
8140
VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureNVX(
8141
VkCommandBuffer commandBuffer,
8142
VkAccelerationStructureTypeNVX type,
8143
uint32_t instanceCount,
8144
VkBuffer instanceData,
8145
VkDeviceSize instanceOffset,
8146
uint32_t geometryCount,
8147
const VkGeometryNVX* pGeometries,
8148
VkBuildAccelerationStructureFlagsNVX flags,
8149
VkBool32 update,
8150
VkAccelerationStructureNVX dst,
8151
VkAccelerationStructureNVX src,
8152
VkBuffer scratch,
8153
VkDeviceSize scratchOffset);
8154
8155
VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureNVX(
8156
VkCommandBuffer commandBuffer,
8157
VkAccelerationStructureNVX dst,
8158
VkAccelerationStructureNVX src,
8159
VkCopyAccelerationStructureModeNVX mode);
8160
8161
VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysNVX(
8162
VkCommandBuffer commandBuffer,
8163
VkBuffer raygenShaderBindingTableBuffer,
8164
VkDeviceSize raygenShaderBindingOffset,
8165
VkBuffer missShaderBindingTableBuffer,
8166
VkDeviceSize missShaderBindingOffset,
8167
VkDeviceSize missShaderBindingStride,
8168
VkBuffer hitShaderBindingTableBuffer,
8169
VkDeviceSize hitShaderBindingOffset,
8170
VkDeviceSize hitShaderBindingStride,
8171
uint32_t width,
8172
uint32_t height);
8173
8174
VKAPI_ATTR VkResult VKAPI_CALL vkCreateRaytracingPipelinesNVX(
8175
VkDevice device,
8176
VkPipelineCache pipelineCache,
8177
uint32_t createInfoCount,
8178
const VkRaytracingPipelineCreateInfoNVX* pCreateInfos,
8179
const VkAllocationCallbacks* pAllocator,
8180
VkPipeline* pPipelines);
8181
8182
VKAPI_ATTR VkResult VKAPI_CALL vkGetRaytracingShaderHandlesNVX(
8183
VkDevice device,
8184
VkPipeline pipeline,
8185
uint32_t firstGroup,
8186
uint32_t groupCount,
8187
size_t dataSize,
8188
void* pData);
8189
8190
VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureHandleNVX(
8191
VkDevice device,
8192
VkAccelerationStructureNVX accelerationStructure,
8193
size_t dataSize,
8194
void* pData);
8195
8196
VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructurePropertiesNVX(
8197
VkCommandBuffer commandBuffer,
8198
VkAccelerationStructureNVX accelerationStructure,
8199
VkQueryType queryType,
8200
VkQueryPool queryPool,
8201
uint32_t query);
8202
8203
VKAPI_ATTR VkResult VKAPI_CALL vkCompileDeferredNVX(
8204
VkDevice device,
8205
VkPipeline pipeline,
8206
uint32_t shader);
8207
#endif
8208
8209
#define VK_NV_representative_fragment_test 1
8210
#define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION 1
8211
#define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME "VK_NV_representative_fragment_test"
8212
8213
typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV {
8214
VkStructureType sType;
8215
void* pNext;
8216
VkBool32 representativeFragmentTest;
8217
} VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV;
8218
8219
typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV {
8220
VkStructureType sType;
8221
const void* pNext;
8222
VkBool32 representativeFragmentTestEnable;
8223
} VkPipelineRepresentativeFragmentTestStateCreateInfoNV;
8224
8225
8226
8227
#define VK_EXT_global_priority 1
8228
#define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2
8229
#define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority"
8230
8231
8232
typedef enum VkQueueGlobalPriorityEXT {
8233
VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = 128,
8234
VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = 256,
8235
VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = 512,
8236
VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = 1024,
8237
VK_QUEUE_GLOBAL_PRIORITY_BEGIN_RANGE_EXT = VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT,
8238
VK_QUEUE_GLOBAL_PRIORITY_END_RANGE_EXT = VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT,
8239
VK_QUEUE_GLOBAL_PRIORITY_RANGE_SIZE_EXT = (VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT - VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT + 1),
8240
VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_EXT = 0x7FFFFFFF
8241
} VkQueueGlobalPriorityEXT;
8242
8243
typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT {
8244
VkStructureType sType;
8245
const void* pNext;
8246
VkQueueGlobalPriorityEXT globalPriority;
8247
} VkDeviceQueueGlobalPriorityCreateInfoEXT;
8248
8249
8250
8251
#define VK_EXT_external_memory_host 1
8252
#define VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION 1
8253
#define VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME "VK_EXT_external_memory_host"
8254
8255
typedef struct VkImportMemoryHostPointerInfoEXT {
8256
VkStructureType sType;
8257
const void* pNext;
8258
VkExternalMemoryHandleTypeFlagBits handleType;
8259
void* pHostPointer;
8260
} VkImportMemoryHostPointerInfoEXT;
8261
8262
typedef struct VkMemoryHostPointerPropertiesEXT {
8263
VkStructureType sType;
8264
void* pNext;
8265
uint32_t memoryTypeBits;
8266
} VkMemoryHostPointerPropertiesEXT;
8267
8268
typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
8269
VkStructureType sType;
8270
void* pNext;
8271
VkDeviceSize minImportedHostPointerAlignment;
8272
} VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
8273
8274
8275
typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryHostPointerPropertiesEXT)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
8276
8277
#ifndef VK_NO_PROTOTYPES
8278
VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryHostPointerPropertiesEXT(
8279
VkDevice device,
8280
VkExternalMemoryHandleTypeFlagBits handleType,
8281
const void* pHostPointer,
8282
VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
8283
#endif
8284
8285
#define VK_AMD_buffer_marker 1
8286
#define VK_AMD_BUFFER_MARKER_SPEC_VERSION 1
8287
#define VK_AMD_BUFFER_MARKER_EXTENSION_NAME "VK_AMD_buffer_marker"
8288
8289
typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarkerAMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker);
8290
8291
#ifndef VK_NO_PROTOTYPES
8292
VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarkerAMD(
8293
VkCommandBuffer commandBuffer,
8294
VkPipelineStageFlagBits pipelineStage,
8295
VkBuffer dstBuffer,
8296
VkDeviceSize dstOffset,
8297
uint32_t marker);
8298
#endif
8299
8300
#define VK_AMD_shader_core_properties 1
8301
#define VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION 1
8302
#define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties"
8303
8304
typedef struct VkPhysicalDeviceShaderCorePropertiesAMD {
8305
VkStructureType sType;
8306
void* pNext;
8307
uint32_t shaderEngineCount;
8308
uint32_t shaderArraysPerEngineCount;
8309
uint32_t computeUnitsPerShaderArray;
8310
uint32_t simdPerComputeUnit;
8311
uint32_t wavefrontsPerSimd;
8312
uint32_t wavefrontSize;
8313
uint32_t sgprsPerSimd;
8314
uint32_t minSgprAllocation;
8315
uint32_t maxSgprAllocation;
8316
uint32_t sgprAllocationGranularity;
8317
uint32_t vgprsPerSimd;
8318
uint32_t minVgprAllocation;
8319
uint32_t maxVgprAllocation;
8320
uint32_t vgprAllocationGranularity;
8321
} VkPhysicalDeviceShaderCorePropertiesAMD;
8322
8323
8324
8325
#define VK_EXT_vertex_attribute_divisor 1
8326
#define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 3
8327
#define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor"
8328
8329
typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
8330
VkStructureType sType;
8331
void* pNext;
8332
uint32_t maxVertexAttribDivisor;
8333
} VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
8334
8335
typedef struct VkVertexInputBindingDivisorDescriptionEXT {
8336
uint32_t binding;
8337
uint32_t divisor;
8338
} VkVertexInputBindingDivisorDescriptionEXT;
8339
8340
typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
8341
VkStructureType sType;
8342
const void* pNext;
8343
uint32_t vertexBindingDivisorCount;
8344
const VkVertexInputBindingDivisorDescriptionEXT* pVertexBindingDivisors;
8345
} VkPipelineVertexInputDivisorStateCreateInfoEXT;
8346
8347
typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT {
8348
VkStructureType sType;
8349
void* pNext;
8350
VkBool32 vertexAttributeInstanceRateDivisor;
8351
VkBool32 vertexAttributeInstanceRateZeroDivisor;
8352
} VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT;
8353
8354
8355
8356
#define VK_NV_shader_subgroup_partitioned 1
8357
#define VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1
8358
#define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned"
8359
8360
8361
#define VK_NV_compute_shader_derivatives 1
8362
#define VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION 1
8363
#define VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_NV_compute_shader_derivatives"
8364
8365
typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV {
8366
VkStructureType sType;
8367
void* pNext;
8368
VkBool32 computeDerivativeGroupQuads;
8369
VkBool32 computeDerivativeGroupLinear;
8370
} VkPhysicalDeviceComputeShaderDerivativesFeaturesNV;
8371
8372
8373
8374
#define VK_NV_mesh_shader 1
8375
#define VK_NV_MESH_SHADER_SPEC_VERSION 1
8376
#define VK_NV_MESH_SHADER_EXTENSION_NAME "VK_NV_mesh_shader"
8377
8378
typedef struct VkPhysicalDeviceMeshShaderFeaturesNV {
8379
VkStructureType sType;
8380
void* pNext;
8381
VkBool32 taskShader;
8382
VkBool32 meshShader;
8383
} VkPhysicalDeviceMeshShaderFeaturesNV;
8384
8385
typedef struct VkPhysicalDeviceMeshShaderPropertiesNV {
8386
VkStructureType sType;
8387
void* pNext;
8388
uint32_t maxDrawMeshTasksCount;
8389
uint32_t maxTaskWorkGroupInvocations;
8390
uint32_t maxTaskWorkGroupSize[3];
8391
uint32_t maxTaskTotalMemorySize;
8392
uint32_t maxTaskOutputCount;
8393
uint32_t maxMeshWorkGroupInvocations;
8394
uint32_t maxMeshWorkGroupSize[3];
8395
uint32_t maxMeshTotalMemorySize;
8396
uint32_t maxMeshOutputVertices;
8397
uint32_t maxMeshOutputPrimitives;
8398
uint32_t maxMeshMultiviewViewCount;
8399
uint32_t meshOutputPerVertexGranularity;
8400
uint32_t meshOutputPerPrimitiveGranularity;
8401
} VkPhysicalDeviceMeshShaderPropertiesNV;
8402
8403
typedef struct VkDrawMeshTasksIndirectCommandNV {
8404
uint32_t taskCount;
8405
uint32_t firstTask;
8406
} VkDrawMeshTasksIndirectCommandNV;
8407
8408
8409
typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksNV)(VkCommandBuffer commandBuffer, uint32_t taskCount, uint32_t firstTask);
8410
typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
8411
typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
8412
8413
#ifndef VK_NO_PROTOTYPES
8414
VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksNV(
8415
VkCommandBuffer commandBuffer,
8416
uint32_t taskCount,
8417
uint32_t firstTask);
8418
8419
VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectNV(
8420
VkCommandBuffer commandBuffer,
8421
VkBuffer buffer,
8422
VkDeviceSize offset,
8423
uint32_t drawCount,
8424
uint32_t stride);
8425
8426
VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountNV(
8427
VkCommandBuffer commandBuffer,
8428
VkBuffer buffer,
8429
VkDeviceSize offset,
8430
VkBuffer countBuffer,
8431
VkDeviceSize countBufferOffset,
8432
uint32_t maxDrawCount,
8433
uint32_t stride);
8434
#endif
8435
8436
#define VK_NV_fragment_shader_barycentric 1
8437
#define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1
8438
#define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric"
8439
8440
typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV {
8441
VkStructureType sType;
8442
void* pNext;
8443
VkBool32 fragmentShaderBarycentric;
8444
} VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
8445
8446
8447
8448
#define VK_NV_shader_image_footprint 1
8449
#define VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION 1
8450
#define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint"
8451
8452
typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV {
8453
VkStructureType sType;
8454
void* pNext;
8455
VkBool32 imageFootprint;
8456
} VkPhysicalDeviceShaderImageFootprintFeaturesNV;
8457
8458
8459
8460
#define VK_NV_scissor_exclusive 1
8461
#define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 1
8462
#define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive"
8463
8464
typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV {
8465
VkStructureType sType;
8466
const void* pNext;
8467
uint32_t exclusiveScissorCount;
8468
const VkRect2D* pExclusiveScissors;
8469
} VkPipelineViewportExclusiveScissorStateCreateInfoNV;
8470
8471
typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV {
8472
VkStructureType sType;
8473
void* pNext;
8474
VkBool32 exclusiveScissor;
8475
} VkPhysicalDeviceExclusiveScissorFeaturesNV;
8476
8477
8478
typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorNV)(VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkRect2D* pExclusiveScissors);
8479
8480
#ifndef VK_NO_PROTOTYPES
8481
VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorNV(
8482
VkCommandBuffer commandBuffer,
8483
uint32_t firstExclusiveScissor,
8484
uint32_t exclusiveScissorCount,
8485
const VkRect2D* pExclusiveScissors);
8486
#endif
8487
8488
#define VK_NV_device_diagnostic_checkpoints 1
8489
#define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION 2
8490
#define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME "VK_NV_device_diagnostic_checkpoints"
8491
8492
typedef struct VkQueueFamilyCheckpointPropertiesNV {
8493
VkStructureType sType;
8494
void* pNext;
8495
VkPipelineStageFlags checkpointExecutionStageMask;
8496
} VkQueueFamilyCheckpointPropertiesNV;
8497
8498
typedef struct VkCheckpointDataNV {
8499
VkStructureType sType;
8500
void* pNext;
8501
VkPipelineStageFlagBits stage;
8502
void* pCheckpointMarker;
8503
} VkCheckpointDataNV;
8504
8505
8506
typedef void (VKAPI_PTR *PFN_vkCmdSetCheckpointNV)(VkCommandBuffer commandBuffer, const void* pCheckpointMarker);
8507
typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointDataNV)(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData);
8508
8509
#ifndef VK_NO_PROTOTYPES
8510
VKAPI_ATTR void VKAPI_CALL vkCmdSetCheckpointNV(
8511
VkCommandBuffer commandBuffer,
8512
const void* pCheckpointMarker);
8513
8514
VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointDataNV(
8515
VkQueue queue,
8516
uint32_t* pCheckpointDataCount,
8517
VkCheckpointDataNV* pCheckpointData);
8518
#endif
8519
8520
#ifdef __cplusplus
8521
}
8522
#endif
8523
8524
#endif
8525
8526