1pub const VK_VERSION_1_0: u32 = 1;
2
3pub const fn VK_MAKE_VERSION(major: u32, minor: u32, patch: u32) -> u32 {
4 (major << 22) | (minor << 12) | patch
5}
6
7pub const VK_API_VERSION_1_0: u32 = VK_MAKE_VERSION(1, 0, 0);
8
9pub const fn VK_VERSION_MAJOR(version: u32) -> u32 {
10 version >> 22
11}
12
13pub const fn VK_VERSION_MINOR(version: u32) -> u32 {
14 (version >> 12) & 0x3ff
15}
16
17pub const fn VK_VERSION_PATCH(version: u32) -> u32 {
18 version & 0xfff
19}
20
21pub const VK_HEADER_VERSION: u32 = 106;
22
23pub type VkFlags = u32;
24pub type VkBool32 = u32;
25pub type VkDeviceSize = u64;
26pub type VkSampleMask = u32;
27
28#[repr(C)]
29#[derive(Copy, Clone)]
30pub struct VkInstance_T {
31 _unused: [u8; 0],
32}
33pub type VkInstance = *mut VkInstance_T;
34#[repr(C)]
35#[derive(Copy, Clone)]
36pub struct VkPhysicalDevice_T {
37 _unused: [u8; 0],
38}
39pub type VkPhysicalDevice = *mut VkPhysicalDevice_T;
40#[repr(C)]
41#[derive(Copy, Clone)]
42pub struct VkDevice_T {
43 _unused: [u8; 0],
44}
45pub type VkDevice = *mut VkDevice_T;
46#[repr(C)]
47#[derive(Copy, Clone)]
48pub struct VkQueue_T {
49 _unused: [u8; 0],
50}
51pub type VkQueue = *mut VkQueue_T;
52#[repr(C)]
53#[derive(Copy, Clone)]
54pub struct VkSemaphore_T {
55 _unused: [u8; 0],
56}
57pub type VkSemaphore = *mut VkSemaphore_T;
58#[repr(C)]
59#[derive(Copy, Clone)]
60pub struct VkCommandBuffer_T {
61 _unused: [u8; 0],
62}
63pub type VkCommandBuffer = *mut VkCommandBuffer_T;
64#[repr(C)]
65#[derive(Copy, Clone)]
66pub struct VkFence_T {
67 _unused: [u8; 0],
68}
69pub type VkFence = *mut VkFence_T;
70#[repr(C)]
71#[derive(Copy, Clone)]
72pub struct VkDeviceMemory_T {
73 _unused: [u8; 0],
74}
75pub type VkDeviceMemory = *mut VkDeviceMemory_T;
76#[repr(C)]
77#[derive(Copy, Clone)]
78pub struct VkBuffer_T {
79 _unused: [u8; 0],
80}
81pub type VkBuffer = *mut VkBuffer_T;
82#[repr(C)]
83#[derive(Copy, Clone)]
84pub struct VkImage_T {
85 _unused: [u8; 0],
86}
87pub type VkImage = *mut VkImage_T;
88#[repr(C)]
89#[derive(Copy, Clone)]
90pub struct VkEvent_T {
91 _unused: [u8; 0],
92}
93pub type VkEvent = *mut VkEvent_T;
94#[repr(C)]
95#[derive(Copy, Clone)]
96pub struct VkQueryPool_T {
97 _unused: [u8; 0],
98}
99pub type VkQueryPool = *mut VkQueryPool_T;
100#[repr(C)]
101#[derive(Copy, Clone)]
102pub struct VkBufferView_T {
103 _unused: [u8; 0],
104}
105pub type VkBufferView = *mut VkBufferView_T;
106#[repr(C)]
107#[derive(Copy, Clone)]
108pub struct VkImageView_T {
109 _unused: [u8; 0],
110}
111pub type VkImageView = *mut VkImageView_T;
112#[repr(C)]
113#[derive(Copy, Clone)]
114pub struct VkShaderModule_T {
115 _unused: [u8; 0],
116}
117pub type VkShaderModule = *mut VkShaderModule_T;
118#[repr(C)]
119#[derive(Copy, Clone)]
120pub struct VkPipelineCache_T {
121 _unused: [u8; 0],
122}
123pub type VkPipelineCache = *mut VkPipelineCache_T;
124#[repr(C)]
125#[derive(Copy, Clone)]
126pub struct VkPipelineLayout_T {
127 _unused: [u8; 0],
128}
129pub type VkPipelineLayout = *mut VkPipelineLayout_T;
130#[repr(C)]
131#[derive(Copy, Clone)]
132pub struct VkRenderPass_T {
133 _unused: [u8; 0],
134}
135pub type VkRenderPass = *mut VkRenderPass_T;
136#[repr(C)]
137#[derive(Copy, Clone)]
138pub struct VkPipeline_T {
139 _unused: [u8; 0],
140}
141pub type VkPipeline = *mut VkPipeline_T;
142#[repr(C)]
143#[derive(Copy, Clone)]
144pub struct VkDescriptorSetLayout_T {
145 _unused: [u8; 0],
146}
147pub type VkDescriptorSetLayout = *mut VkDescriptorSetLayout_T;
148#[repr(C)]
149#[derive(Copy, Clone)]
150pub struct VkSampler_T {
151 _unused: [u8; 0],
152}
153pub type VkSampler = *mut VkSampler_T;
154#[repr(C)]
155#[derive(Copy, Clone)]
156pub struct VkDescriptorPool_T {
157 _unused: [u8; 0],
158}
159pub type VkDescriptorPool = *mut VkDescriptorPool_T;
160#[repr(C)]
161#[derive(Copy, Clone)]
162pub struct VkDescriptorSet_T {
163 _unused: [u8; 0],
164}
165pub type VkDescriptorSet = *mut VkDescriptorSet_T;
166#[repr(C)]
167#[derive(Copy, Clone)]
168pub struct VkFramebuffer_T {
169 _unused: [u8; 0],
170}
171pub type VkFramebuffer = *mut VkFramebuffer_T;
172#[repr(C)]
173#[derive(Copy, Clone)]
174pub struct VkCommandPool_T {
175 _unused: [u8; 0],
176}
177pub type VkCommandPool = *mut VkCommandPool_T;
178
179pub const VK_LOD_CLAMP_NONE: f32 = 1_000.0;
180pub const VK_REMAINING_MIP_LEVELS: u32 = !0;
181pub const VK_REMAINING_ARRAY_LAYERS: u32 = !0;
182pub const VK_WHOLE_SIZE: u64 = !0;
183pub const VK_ATTACHMENT_UNUSED: u32 = !0;
184pub const VK_TRUE: u32 = 1;
185pub const VK_FALSE: u32 = 0;
186pub const VK_QUEUE_FAMILY_IGNORED: u32 = !0;
187pub const VK_SUBPASS_EXTERNAL: u32 = !0;
188pub const VK_MAX_PHYSICAL_DEVICE_NAME_SIZE: usize = 256;
189pub const VK_UUID_SIZE: usize = 16;
190pub const VK_MAX_MEMORY_TYPES: usize = 32;
191pub const VK_MAX_MEMORY_HEAPS: usize = 16;
192pub const VK_MAX_EXTENSION_NAME_SIZE: usize = 256;
193pub const VK_MAX_DESCRIPTION_SIZE: usize = 256;
194
195pub type VkPipelineCacheHeaderVersion = u32;
196pub const VK_PIPELINE_CACHE_HEADER_VERSION_ONE: VkPipelineCacheHeaderVersion = 1;
197pub const VK_PIPELINE_CACHE_HEADER_VERSION_BEGIN_RANGE: VkPipelineCacheHeaderVersion =
198 VK_PIPELINE_CACHE_HEADER_VERSION_ONE;
199pub const VK_PIPELINE_CACHE_HEADER_VERSION_END_RANGE: VkPipelineCacheHeaderVersion =
200 VK_PIPELINE_CACHE_HEADER_VERSION_ONE;
201pub const VK_PIPELINE_CACHE_HEADER_VERSION_RANGE_SIZE: VkPipelineCacheHeaderVersion =
202 VK_PIPELINE_CACHE_HEADER_VERSION_END_RANGE - VK_PIPELINE_CACHE_HEADER_VERSION_BEGIN_RANGE + 1;
203pub const VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM: VkPipelineCacheHeaderVersion = 0x7FFF_FFFF;
204
205pub type VkResult = i32;
206pub const VK_SUCCESS: VkResult = 0;
207pub const VK_NOT_READY: VkResult = 1;
208pub const VK_TIMEOUT: VkResult = 2;
209pub const VK_EVENT_SET: VkResult = 3;
210pub const VK_EVENT_RESET: VkResult = 4;
211pub const VK_INCOMPLETE: VkResult = 5;
212pub const VK_ERROR_OUT_OF_HOST_MEMORY: VkResult = -1;
213pub const VK_ERROR_OUT_OF_DEVICE_MEMORY: VkResult = -2;
214pub const VK_ERROR_INITIALIZATION_FAILED: VkResult = -3;
215pub const VK_ERROR_DEVICE_LOST: VkResult = -4;
216pub const VK_ERROR_MEMORY_MAP_FAILED: VkResult = -5;
217pub const VK_ERROR_LAYER_NOT_PRESENT: VkResult = -6;
218pub const VK_ERROR_EXTENSION_NOT_PRESENT: VkResult = -7;
219pub const VK_ERROR_FEATURE_NOT_PRESENT: VkResult = -8;
220pub const VK_ERROR_INCOMPATIBLE_DRIVER: VkResult = -9;
221pub const VK_ERROR_TOO_MANY_OBJECTS: VkResult = -10;
222pub const VK_ERROR_FORMAT_NOT_SUPPORTED: VkResult = -11;
223pub const VK_ERROR_FRAGMENTED_POOL: VkResult = -12;
224pub const VK_ERROR_OUT_OF_POOL_MEMORY: VkResult = -1_000_069_000;
225pub const VK_ERROR_INVALID_EXTERNAL_HANDLE: VkResult = -1_000_072_003;
226pub const VK_ERROR_SURFACE_LOST_KHR: VkResult = -1_000_000_000;
227pub const VK_ERROR_NATIVE_WINDOW_IN_USE_KHR: VkResult = -1_000_000_001;
228pub const VK_SUBOPTIMAL_KHR: VkResult = 1_000_001_003;
229pub const VK_ERROR_OUT_OF_DATE_KHR: VkResult = -1_000_001_004;
230pub const VK_ERROR_INCOMPATIBLE_DISPLAY_KHR: VkResult = -1_000_003_001;
231pub const VK_ERROR_VALIDATION_FAILED_EXT: VkResult = -1_000_011_001;
232pub const VK_ERROR_INVALID_SHADER_NV: VkResult = -1_000_012_000;
233pub const VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT: VkResult = -1_000_158_000;
234pub const VK_ERROR_FRAGMENTATION_EXT: VkResult = -1_000_161_000;
235pub const VK_ERROR_NOT_PERMITTED_EXT: VkResult = -1_000_174_001;
236pub const VK_ERROR_INVALID_DEVICE_ADDRESS_EXT: VkResult = -1_000_244_000;
237pub const VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT: VkResult = -1_000_255_000;
238pub const VK_ERROR_OUT_OF_POOL_MEMORY_KHR: VkResult = VK_ERROR_OUT_OF_POOL_MEMORY;
239pub const VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR: VkResult = VK_ERROR_INVALID_EXTERNAL_HANDLE;
240pub const VK_RESULT_BEGIN_RANGE: VkResult = VK_ERROR_FRAGMENTED_POOL;
241pub const VK_RESULT_END_RANGE: VkResult = VK_INCOMPLETE;
242pub const VK_RESULT_RANGE_SIZE: VkResult = VK_RESULT_END_RANGE - VK_RESULT_BEGIN_RANGE + 1;
243pub const VK_RESULT_MAX_ENUM: VkResult = 0x7FFF_FFFF;
244
245pub type VkStructureType = u32;
246pub const VK_STRUCTURE_TYPE_APPLICATION_INFO: VkStructureType = 0;
247pub const VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO: VkStructureType = 1;
248pub const VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO: VkStructureType = 2;
249pub const VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO: VkStructureType = 3;
250pub const VK_STRUCTURE_TYPE_SUBMIT_INFO: VkStructureType = 4;
251pub const VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: VkStructureType = 5;
252pub const VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE: VkStructureType = 6;
253pub const VK_STRUCTURE_TYPE_BIND_SPARSE_INFO: VkStructureType = 7;
254pub const VK_STRUCTURE_TYPE_FENCE_CREATE_INFO: VkStructureType = 8;
255pub const VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO: VkStructureType = 9;
256pub const VK_STRUCTURE_TYPE_EVENT_CREATE_INFO: VkStructureType = 10;
257pub const VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO: VkStructureType = 11;
258pub const VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO: VkStructureType = 12;
259pub const VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO: VkStructureType = 13;
260pub const VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO: VkStructureType = 14;
261pub const VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO: VkStructureType = 15;
262pub const VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO: VkStructureType = 16;
263pub const VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO: VkStructureType = 17;
264pub const VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO: VkStructureType = 18;
265pub const VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO: VkStructureType = 19;
266pub const VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO: VkStructureType = 20;
267pub const VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO: VkStructureType = 21;
268pub const VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO: VkStructureType = 22;
269pub const VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO: VkStructureType = 23;
270pub const VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO: VkStructureType = 24;
271pub const VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO: VkStructureType = 25;
272pub const VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO: VkStructureType = 26;
273pub const VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO: VkStructureType = 27;
274pub const VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO: VkStructureType = 28;
275pub const VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO: VkStructureType = 29;
276pub const VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO: VkStructureType = 30;
277pub const VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO: VkStructureType = 31;
278pub const VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO: VkStructureType = 32;
279pub const VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO: VkStructureType = 33;
280pub const VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO: VkStructureType = 34;
281pub const VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET: VkStructureType = 35;
282pub const VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET: VkStructureType = 36;
283pub const VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO: VkStructureType = 37;
284pub const VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO: VkStructureType = 38;
285pub const VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO: VkStructureType = 39;
286pub const VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO: VkStructureType = 40;
287pub const VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO: VkStructureType = 41;
288pub const VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO: VkStructureType = 42;
289pub const VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO: VkStructureType = 43;
290pub const VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER: VkStructureType = 44;
291pub const VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER: VkStructureType = 45;
292pub const VK_STRUCTURE_TYPE_MEMORY_BARRIER: VkStructureType = 46;
293pub const VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO: VkStructureType = 47;
294pub const VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO: VkStructureType = 48;
295pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES: VkStructureType = 1000094000;
296pub const VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO: VkStructureType = 1000157000;
297pub const VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO: VkStructureType = 1000157001;
298pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES: VkStructureType = 1000083000;
299pub const VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS: VkStructureType = 1000127000;
300pub const VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO: VkStructureType = 1000127001;
301pub const VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO: VkStructureType = 1000060000;
302pub const VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO: VkStructureType = 1000060003;
303pub const VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO: VkStructureType = 1000060004;
304pub const VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO: VkStructureType = 1000060005;
305pub const VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO: VkStructureType = 1000060006;
306pub const VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO: VkStructureType = 1000060013;
307pub const VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO: VkStructureType = 1000060014;
308pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES: VkStructureType = 1000070000;
309pub const VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO: VkStructureType = 1000070001;
310pub const VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2: VkStructureType = 1000146000;
311pub const VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2: VkStructureType = 1000146001;
312pub const VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2: VkStructureType = 1000146002;
313pub const VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2: VkStructureType = 1000146003;
314pub const VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2: VkStructureType = 1000146004;
315pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: VkStructureType = 1000059000;
316pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2: VkStructureType = 1000059001;
317pub const VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2: VkStructureType = 1000059002;
318pub const VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2: VkStructureType = 1000059003;
319pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2: VkStructureType = 1000059004;
320pub const VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2: VkStructureType = 1000059005;
321pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2: VkStructureType = 1000059006;
322pub const VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2: VkStructureType = 1000059007;
323pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2: VkStructureType =
324 1000059008;
325pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES: VkStructureType = 1000117000;
326pub const VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO: VkStructureType =
327 1000117001;
328pub const VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO: VkStructureType = 1000117002;
329pub const VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO: VkStructureType =
330 1000117003;
331pub const VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO: VkStructureType = 1000053000;
332pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES: VkStructureType = 1000053001;
333pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES: VkStructureType = 1000053002;
334pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES: VkStructureType =
335 1000120000;
336pub const VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO: VkStructureType = 1000145000;
337pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES: VkStructureType = 1000145001;
338pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES: VkStructureType =
339 1000145002;
340pub const VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2: VkStructureType = 1000145003;
341pub const VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO: VkStructureType = 1000156000;
342pub const VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO: VkStructureType = 1000156001;
343pub const VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO: VkStructureType = 1000156002;
344pub const VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO: VkStructureType = 1000156003;
345pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES: VkStructureType =
346 1000156004;
347pub const VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES: VkStructureType =
348 1000156005;
349pub const VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO: VkStructureType = 1000085000;
350pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO: VkStructureType =
351 1000071000;
352pub const VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES: VkStructureType = 1000071001;
353pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO: VkStructureType = 1000071002;
354pub const VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES: VkStructureType = 1000071003;
355pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES: VkStructureType = 1000071004;
356pub const VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO: VkStructureType = 1000072000;
357pub const VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO: VkStructureType = 1000072001;
358pub const VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO: VkStructureType = 1000072002;
359pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO: VkStructureType = 1000112000;
360pub const VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES: VkStructureType = 1000112001;
361pub const VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO: VkStructureType = 1000113000;
362pub const VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO: VkStructureType = 1000077000;
363pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO: VkStructureType = 1000076000;
364pub const VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES: VkStructureType = 1000076001;
365pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES: VkStructureType = 1000168000;
366pub const VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT: VkStructureType = 1000168001;
367pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES: VkStructureType =
368 1000063000;
369pub const VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR: VkStructureType = 1000001000;
370pub const VK_STRUCTURE_TYPE_PRESENT_INFO_KHR: VkStructureType = 1000001001;
371pub const VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR: VkStructureType = 1000060007;
372pub const VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR: VkStructureType = 1000060008;
373pub const VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR: VkStructureType = 1000060009;
374pub const VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR: VkStructureType = 1000060010;
375pub const VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR: VkStructureType = 1000060011;
376pub const VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR: VkStructureType = 1000060012;
377pub const VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR: VkStructureType = 1000002000;
378pub const VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR: VkStructureType = 1000002001;
379pub const VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR: VkStructureType = 1000003000;
380pub const VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR: VkStructureType = 1000004000;
381pub const VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR: VkStructureType = 1000005000;
382pub const VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR: VkStructureType = 1000006000;
383pub const VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR: VkStructureType = 1000008000;
384pub const VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR: VkStructureType = 1000009000;
385pub const VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT: VkStructureType = 1000011000;
386pub const VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD: VkStructureType =
387 1000018000;
388pub const VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT: VkStructureType = 1000022000;
389pub const VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT: VkStructureType = 1000022001;
390pub const VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT: VkStructureType = 1000022002;
391pub const VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV: VkStructureType = 1000026000;
392pub const VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV: VkStructureType =
393 1000026001;
394pub const VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV: VkStructureType =
395 1000026002;
396pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT: VkStructureType =
397 1000028000;
398pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT: VkStructureType =
399 1000028001;
400pub const VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT: VkStructureType =
401 1000028002;
402pub const VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX: VkStructureType = 1000030000;
403pub const VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD: VkStructureType = 1000041000;
404pub const VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP: VkStructureType = 1000049000;
405pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV: VkStructureType =
406 1000050000;
407pub const VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV: VkStructureType = 1000056000;
408pub const VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV: VkStructureType = 1000056001;
409pub const VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV: VkStructureType = 1000057000;
410pub const VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV: VkStructureType = 1000057001;
411pub const VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV: VkStructureType = 1000058000;
412pub const VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT: VkStructureType = 1000061000;
413pub const VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN: VkStructureType = 1000062000;
414pub const VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT: VkStructureType = 1000067000;
415pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT: VkStructureType = 1000067001;
416pub const VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR: VkStructureType = 1000073000;
417pub const VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR: VkStructureType = 1000073001;
418pub const VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR: VkStructureType = 1000073002;
419pub const VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR: VkStructureType = 1000073003;
420pub const VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR: VkStructureType = 1000074000;
421pub const VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR: VkStructureType = 1000074001;
422pub const VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR: VkStructureType = 1000074002;
423pub const VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR: VkStructureType =
424 1000075000;
425pub const VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR: VkStructureType = 1000078000;
426pub const VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR: VkStructureType = 1000078001;
427pub const VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR: VkStructureType = 1000078002;
428pub const VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR: VkStructureType = 1000078003;
429pub const VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR: VkStructureType = 1000079000;
430pub const VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR: VkStructureType = 1000079001;
431pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR: VkStructureType =
432 1000080000;
433pub const VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT:
434 VkStructureType = 1000081000;
435pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT: VkStructureType =
436 1000081001;
437pub const VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT: VkStructureType = 1000081002;
438pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR: VkStructureType = 1000082000;
439pub const VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR: VkStructureType = 1000084000;
440pub const VK_STRUCTURE_TYPE_OBJECT_TABLE_CREATE_INFO_NVX: VkStructureType = 1000086000;
441pub const VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX: VkStructureType = 1000086001;
442pub const VK_STRUCTURE_TYPE_CMD_PROCESS_COMMANDS_INFO_NVX: VkStructureType = 1000086002;
443pub const VK_STRUCTURE_TYPE_CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX: VkStructureType = 1000086003;
444pub const VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_LIMITS_NVX: VkStructureType = 1000086004;
445pub const VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_FEATURES_NVX: VkStructureType = 1000086005;
446pub const VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV: VkStructureType =
447 1000087000;
448pub const VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT: VkStructureType = 1000090000;
449pub const VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT: VkStructureType = 1000091000;
450pub const VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT: VkStructureType = 1000091001;
451pub const VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT: VkStructureType = 1000091002;
452pub const VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT: VkStructureType = 1000091003;
453pub const VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE: VkStructureType = 1000092000;
454pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX:
455 VkStructureType = 1000097000;
456pub const VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV: VkStructureType =
457 1000098000;
458pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT: VkStructureType =
459 1000099000;
460pub const VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT: VkStructureType =
461 1000099001;
462pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT:
463 VkStructureType = 1000101000;
464pub const VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT:
465 VkStructureType = 1000101001;
466pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT: VkStructureType =
467 1000102000;
468pub const VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT:
469 VkStructureType = 1000102001;
470pub const VK_STRUCTURE_TYPE_HDR_METADATA_EXT: VkStructureType = 1000105000;
471pub const VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR: VkStructureType = 1000109000;
472pub const VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR: VkStructureType = 1000109001;
473pub const VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR: VkStructureType = 1000109002;
474pub const VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR: VkStructureType = 1000109003;
475pub const VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR: VkStructureType = 1000109004;
476pub const VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR: VkStructureType = 1000109005;
477pub const VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR: VkStructureType = 1000109006;
478pub const VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR: VkStructureType = 1000111000;
479pub const VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR: VkStructureType = 1000114000;
480pub const VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR: VkStructureType = 1000114001;
481pub const VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR: VkStructureType = 1000114002;
482pub const VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR: VkStructureType = 1000115000;
483pub const VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR: VkStructureType = 1000115001;
484pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR: VkStructureType = 1000119000;
485pub const VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR: VkStructureType = 1000119001;
486pub const VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR: VkStructureType = 1000119002;
487pub const VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR: VkStructureType = 1000121000;
488pub const VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR: VkStructureType = 1000121001;
489pub const VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR: VkStructureType = 1000121002;
490pub const VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR: VkStructureType = 1000121003;
491pub const VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR: VkStructureType = 1000121004;
492pub const VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK: VkStructureType = 1000122000;
493pub const VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK: VkStructureType = 1000123000;
494pub const VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT: VkStructureType = 1000128000;
495pub const VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT: VkStructureType = 1000128001;
496pub const VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT: VkStructureType = 1000128002;
497pub const VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT: VkStructureType = 1000128003;
498pub const VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT: VkStructureType = 1000128004;
499pub const VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID: VkStructureType = 1000129000;
500pub const VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID: VkStructureType =
501 1000129001;
502pub const VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID: VkStructureType =
503 1000129002;
504pub const VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID: VkStructureType =
505 1000129003;
506pub const VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID: VkStructureType =
507 1000129004;
508pub const VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID: VkStructureType = 1000129005;
509pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT: VkStructureType =
510 1000130000;
511pub const VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT: VkStructureType = 1000130001;
512pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT: VkStructureType =
513 1000138000;
514pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT: VkStructureType =
515 1000138001;
516pub const VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT: VkStructureType =
517 1000138002;
518pub const VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT: VkStructureType =
519 1000138003;
520pub const VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT: VkStructureType = 1000143000;
521pub const VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT: VkStructureType =
522 1000143001;
523pub const VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT: VkStructureType =
524 1000143002;
525pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT: VkStructureType =
526 1000143003;
527pub const VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT: VkStructureType = 1000143004;
528pub const VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR: VkStructureType = 1000147000;
529pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT: VkStructureType =
530 1000148000;
531pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT:
532 VkStructureType = 1000148001;
533pub const VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT: VkStructureType =
534 1000148002;
535pub const VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV: VkStructureType =
536 1000149000;
537pub const VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV: VkStructureType =
538 1000152000;
539pub const VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT: VkStructureType = 1000158000;
540pub const VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT: VkStructureType = 1000158001;
541pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT: VkStructureType =
542 1000158002;
543pub const VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT: VkStructureType =
544 1000158003;
545pub const VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT: VkStructureType =
546 1000158004;
547pub const VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT: VkStructureType = 1000158005;
548pub const VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT: VkStructureType = 1000160000;
549pub const VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT: VkStructureType =
550 1000160001;
551pub const VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT: VkStructureType =
552 1000161000;
553pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT: VkStructureType =
554 1000161001;
555pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT: VkStructureType =
556 1000161002;
557pub const VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT:
558 VkStructureType = 1000161003;
559pub const VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT:
560 VkStructureType = 1000161004;
561pub const VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV:
562 VkStructureType = 1000164000;
563pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV: VkStructureType =
564 1000164001;
565pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV: VkStructureType =
566 1000164002;
567pub const VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV:
568 VkStructureType = 1000164005;
569pub const VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV: VkStructureType = 1000165000;
570pub const VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV: VkStructureType = 1000165001;
571pub const VK_STRUCTURE_TYPE_GEOMETRY_NV: VkStructureType = 1000165003;
572pub const VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV: VkStructureType = 1000165004;
573pub const VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV: VkStructureType = 1000165005;
574pub const VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV: VkStructureType =
575 1000165006;
576pub const VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV: VkStructureType =
577 1000165007;
578pub const VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV: VkStructureType =
579 1000165008;
580pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV: VkStructureType = 1000165009;
581pub const VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV: VkStructureType = 1000165011;
582pub const VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV: VkStructureType = 1000165012;
583pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV:
584 VkStructureType = 1000166000;
585pub const VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV:
586 VkStructureType = 1000166001;
587pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT: VkStructureType =
588 1000170000;
589pub const VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT: VkStructureType =
590 1000170001;
591pub const VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT: VkStructureType =
592 1000174000;
593pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR: VkStructureType = 1000177000;
594pub const VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT: VkStructureType = 1000178000;
595pub const VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT: VkStructureType = 1000178001;
596pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT: VkStructureType =
597 1000178002;
598pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR: VkStructureType =
599 1000180000;
600pub const VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT: VkStructureType = 1000184000;
601pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD: VkStructureType =
602 1000185000;
603pub const VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD: VkStructureType =
604 1000189000;
605pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT:
606 VkStructureType = 1000190000;
607pub const VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT: VkStructureType =
608 1000190001;
609pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT: VkStructureType =
610 1000190002;
611pub const VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP: VkStructureType = 1000191000;
612pub const VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT: VkStructureType =
613 1000192000;
614pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR: VkStructureType = 1000196000;
615pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR: VkStructureType =
616 1000197000;
617pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR: VkStructureType =
618 1000199000;
619pub const VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR: VkStructureType =
620 1000199001;
621pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV:
622 VkStructureType = 1000201000;
623pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV: VkStructureType = 1000202000;
624pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV: VkStructureType = 1000202001;
625pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV:
626 VkStructureType = 1000203000;
627pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV: VkStructureType =
628 1000204000;
629pub const VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV:
630 VkStructureType = 1000205000;
631pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV: VkStructureType =
632 1000205002;
633pub const VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV: VkStructureType = 1000206000;
634pub const VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV: VkStructureType = 1000206001;
635pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR: VkStructureType =
636 1000211000;
637pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT: VkStructureType =
638 1000212000;
639pub const VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD: VkStructureType =
640 1000213000;
641pub const VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD: VkStructureType =
642 1000213001;
643pub const VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA: VkStructureType = 1000214000;
644pub const VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT: VkStructureType = 1000217000;
645pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT: VkStructureType =
646 1000218000;
647pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT: VkStructureType =
648 1000218001;
649pub const VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT: VkStructureType =
650 1000218002;
651pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT: VkStructureType =
652 1000221000;
653pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT: VkStructureType =
654 1000237000;
655pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT: VkStructureType =
656 1000238000;
657pub const VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT: VkStructureType = 1000238001;
658pub const VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR: VkStructureType = 1000239000;
659pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV:
660 VkStructureType = 1000240000;
661pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT: VkStructureType =
662 1000244000;
663pub const VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT: VkStructureType = 1000244001;
664pub const VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT: VkStructureType = 1000244002;
665pub const VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT: VkStructureType = 1000246000;
666pub const VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT: VkStructureType = 1000247000;
667pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV: VkStructureType =
668 1000249000;
669pub const VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV: VkStructureType = 1000249001;
670pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV: VkStructureType =
671 1000249002;
672pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV: VkStructureType =
673 1000250000;
674pub const VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV: VkStructureType =
675 1000250001;
676pub const VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV: VkStructureType = 1000250002;
677pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT: VkStructureType =
678 1000252000;
679pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR:
680 VkStructureType = 1000253000;
681pub const VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT: VkStructureType = 1000255000;
682pub const VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT: VkStructureType =
683 1000255002;
684pub const VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT: VkStructureType =
685 1000255001;
686pub const VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT: VkStructureType = 1000256000;
687pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT: VkStructureType =
688 1000261000;
689pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES: VkStructureType = 1000120000;
690pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES: VkStructureType =
691 1000063000;
692pub const VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT: VkStructureType = 1000011000;
693pub const VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR: VkStructureType = 1000053000;
694pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR: VkStructureType = 1000053001;
695pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR: VkStructureType = 1000053002;
696pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR: VkStructureType = 1000059000;
697pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR: VkStructureType = 1000059001;
698pub const VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR: VkStructureType = 1000059002;
699pub const VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR: VkStructureType = 1000059003;
700pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR: VkStructureType = 1000059004;
701pub const VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR: VkStructureType = 1000059005;
702pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR: VkStructureType = 1000059006;
703pub const VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR: VkStructureType = 1000059007;
704pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR: VkStructureType =
705 1000059008;
706pub const VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR: VkStructureType = 1000060000;
707pub const VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR: VkStructureType = 1000060003;
708pub const VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR: VkStructureType =
709 1000060004;
710pub const VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR: VkStructureType = 1000060005;
711pub const VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR: VkStructureType = 1000060006;
712pub const VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR: VkStructureType = 1000060013;
713pub const VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR: VkStructureType = 1000060014;
714pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR: VkStructureType = 1000070000;
715pub const VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR: VkStructureType = 1000070001;
716pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR: VkStructureType =
717 1000071000;
718pub const VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR: VkStructureType = 1000071001;
719pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR: VkStructureType = 1000071002;
720pub const VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR: VkStructureType = 1000071003;
721pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR: VkStructureType = 1000071004;
722pub const VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR: VkStructureType = 1000072000;
723pub const VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR: VkStructureType = 1000072001;
724pub const VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR: VkStructureType = 1000072002;
725pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR: VkStructureType =
726 1000076000;
727pub const VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR: VkStructureType = 1000076001;
728pub const VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR: VkStructureType = 1000077000;
729pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR: VkStructureType =
730 1000083000;
731pub const VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR: VkStructureType =
732 1000085000;
733pub const VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT: VkStructureType = 1000090000;
734pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR: VkStructureType = 1000112000;
735pub const VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR: VkStructureType = 1000112001;
736pub const VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR: VkStructureType = 1000113000;
737pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR: VkStructureType =
738 1000117000;
739pub const VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR: VkStructureType =
740 1000117001;
741pub const VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR: VkStructureType = 1000117002;
742pub const VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR:
743 VkStructureType = 1000117003;
744pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR: VkStructureType =
745 1000120000;
746pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR: VkStructureType =
747 1000120000;
748pub const VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR: VkStructureType = 1000127000;
749pub const VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR: VkStructureType = 1000127001;
750pub const VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR: VkStructureType = 1000146000;
751pub const VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR: VkStructureType = 1000146001;
752pub const VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR: VkStructureType =
753 1000146002;
754pub const VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR: VkStructureType = 1000146003;
755pub const VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR: VkStructureType = 1000146004;
756pub const VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR: VkStructureType = 1000156000;
757pub const VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR: VkStructureType = 1000156001;
758pub const VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR: VkStructureType = 1000156002;
759pub const VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR: VkStructureType = 1000156003;
760pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR: VkStructureType =
761 1000156004;
762pub const VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR: VkStructureType =
763 1000156005;
764pub const VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR: VkStructureType = 1000157000;
765pub const VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR: VkStructureType = 1000157001;
766pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR: VkStructureType =
767 1000168000;
768pub const VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR: VkStructureType = 1000168001;
769pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT: VkStructureType =
770 1000244000;
771pub const VK_STRUCTURE_TYPE_BEGIN_RANGE: VkStructureType = 0;
772pub const VK_STRUCTURE_TYPE_END_RANGE: VkStructureType = 48;
773pub const VK_STRUCTURE_TYPE_RANGE_SIZE: VkStructureType = 49;
774pub const VK_STRUCTURE_TYPE_MAX_ENUM: VkStructureType = 2147483647;
775
776pub type VkSystemAllocationScope = u32;
777pub const VK_SYSTEM_ALLOCATION_SCOPE_COMMAND: VkSystemAllocationScope = 0;
778pub const VK_SYSTEM_ALLOCATION_SCOPE_OBJECT: VkSystemAllocationScope = 1;
779pub const VK_SYSTEM_ALLOCATION_SCOPE_CACHE: VkSystemAllocationScope = 2;
780pub const VK_SYSTEM_ALLOCATION_SCOPE_DEVICE: VkSystemAllocationScope = 3;
781pub const VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE: VkSystemAllocationScope = 4;
782pub const VK_SYSTEM_ALLOCATION_SCOPE_BEGIN_RANGE: VkSystemAllocationScope = 0;
783pub const VK_SYSTEM_ALLOCATION_SCOPE_END_RANGE: VkSystemAllocationScope = 4;
784pub const VK_SYSTEM_ALLOCATION_SCOPE_RANGE_SIZE: VkSystemAllocationScope = 5;
785pub const VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM: VkSystemAllocationScope = 2147483647;
786
787pub type VkInternalAllocationType = u32;
788pub const VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE: VkInternalAllocationType = 0;
789pub const VK_INTERNAL_ALLOCATION_TYPE_BEGIN_RANGE: VkInternalAllocationType = 0;
790pub const VK_INTERNAL_ALLOCATION_TYPE_END_RANGE: VkInternalAllocationType = 0;
791pub const VK_INTERNAL_ALLOCATION_TYPE_RANGE_SIZE: VkInternalAllocationType = 1;
792pub const VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM: VkInternalAllocationType = 2147483647;
793
794pub type VkFormat = u32;
795pub const VK_FORMAT_UNDEFINED: VkFormat = 0;
796pub const VK_FORMAT_R4G4_UNORM_PACK8: VkFormat = 1;
797pub const VK_FORMAT_R4G4B4A4_UNORM_PACK16: VkFormat = 2;
798pub const VK_FORMAT_B4G4R4A4_UNORM_PACK16: VkFormat = 3;
799pub const VK_FORMAT_R5G6B5_UNORM_PACK16: VkFormat = 4;
800pub const VK_FORMAT_B5G6R5_UNORM_PACK16: VkFormat = 5;
801pub const VK_FORMAT_R5G5B5A1_UNORM_PACK16: VkFormat = 6;
802pub const VK_FORMAT_B5G5R5A1_UNORM_PACK16: VkFormat = 7;
803pub const VK_FORMAT_A1R5G5B5_UNORM_PACK16: VkFormat = 8;
804pub const VK_FORMAT_R8_UNORM: VkFormat = 9;
805pub const VK_FORMAT_R8_SNORM: VkFormat = 10;
806pub const VK_FORMAT_R8_USCALED: VkFormat = 11;
807pub const VK_FORMAT_R8_SSCALED: VkFormat = 12;
808pub const VK_FORMAT_R8_UINT: VkFormat = 13;
809pub const VK_FORMAT_R8_SINT: VkFormat = 14;
810pub const VK_FORMAT_R8_SRGB: VkFormat = 15;
811pub const VK_FORMAT_R8G8_UNORM: VkFormat = 16;
812pub const VK_FORMAT_R8G8_SNORM: VkFormat = 17;
813pub const VK_FORMAT_R8G8_USCALED: VkFormat = 18;
814pub const VK_FORMAT_R8G8_SSCALED: VkFormat = 19;
815pub const VK_FORMAT_R8G8_UINT: VkFormat = 20;
816pub const VK_FORMAT_R8G8_SINT: VkFormat = 21;
817pub const VK_FORMAT_R8G8_SRGB: VkFormat = 22;
818pub const VK_FORMAT_R8G8B8_UNORM: VkFormat = 23;
819pub const VK_FORMAT_R8G8B8_SNORM: VkFormat = 24;
820pub const VK_FORMAT_R8G8B8_USCALED: VkFormat = 25;
821pub const VK_FORMAT_R8G8B8_SSCALED: VkFormat = 26;
822pub const VK_FORMAT_R8G8B8_UINT: VkFormat = 27;
823pub const VK_FORMAT_R8G8B8_SINT: VkFormat = 28;
824pub const VK_FORMAT_R8G8B8_SRGB: VkFormat = 29;
825pub const VK_FORMAT_B8G8R8_UNORM: VkFormat = 30;
826pub const VK_FORMAT_B8G8R8_SNORM: VkFormat = 31;
827pub const VK_FORMAT_B8G8R8_USCALED: VkFormat = 32;
828pub const VK_FORMAT_B8G8R8_SSCALED: VkFormat = 33;
829pub const VK_FORMAT_B8G8R8_UINT: VkFormat = 34;
830pub const VK_FORMAT_B8G8R8_SINT: VkFormat = 35;
831pub const VK_FORMAT_B8G8R8_SRGB: VkFormat = 36;
832pub const VK_FORMAT_R8G8B8A8_UNORM: VkFormat = 37;
833pub const VK_FORMAT_R8G8B8A8_SNORM: VkFormat = 38;
834pub const VK_FORMAT_R8G8B8A8_USCALED: VkFormat = 39;
835pub const VK_FORMAT_R8G8B8A8_SSCALED: VkFormat = 40;
836pub const VK_FORMAT_R8G8B8A8_UINT: VkFormat = 41;
837pub const VK_FORMAT_R8G8B8A8_SINT: VkFormat = 42;
838pub const VK_FORMAT_R8G8B8A8_SRGB: VkFormat = 43;
839pub const VK_FORMAT_B8G8R8A8_UNORM: VkFormat = 44;
840pub const VK_FORMAT_B8G8R8A8_SNORM: VkFormat = 45;
841pub const VK_FORMAT_B8G8R8A8_USCALED: VkFormat = 46;
842pub const VK_FORMAT_B8G8R8A8_SSCALED: VkFormat = 47;
843pub const VK_FORMAT_B8G8R8A8_UINT: VkFormat = 48;
844pub const VK_FORMAT_B8G8R8A8_SINT: VkFormat = 49;
845pub const VK_FORMAT_B8G8R8A8_SRGB: VkFormat = 50;
846pub const VK_FORMAT_A8B8G8R8_UNORM_PACK32: VkFormat = 51;
847pub const VK_FORMAT_A8B8G8R8_SNORM_PACK32: VkFormat = 52;
848pub const VK_FORMAT_A8B8G8R8_USCALED_PACK32: VkFormat = 53;
849pub const VK_FORMAT_A8B8G8R8_SSCALED_PACK32: VkFormat = 54;
850pub const VK_FORMAT_A8B8G8R8_UINT_PACK32: VkFormat = 55;
851pub const VK_FORMAT_A8B8G8R8_SINT_PACK32: VkFormat = 56;
852pub const VK_FORMAT_A8B8G8R8_SRGB_PACK32: VkFormat = 57;
853pub const VK_FORMAT_A2R10G10B10_UNORM_PACK32: VkFormat = 58;
854pub const VK_FORMAT_A2R10G10B10_SNORM_PACK32: VkFormat = 59;
855pub const VK_FORMAT_A2R10G10B10_USCALED_PACK32: VkFormat = 60;
856pub const VK_FORMAT_A2R10G10B10_SSCALED_PACK32: VkFormat = 61;
857pub const VK_FORMAT_A2R10G10B10_UINT_PACK32: VkFormat = 62;
858pub const VK_FORMAT_A2R10G10B10_SINT_PACK32: VkFormat = 63;
859pub const VK_FORMAT_A2B10G10R10_UNORM_PACK32: VkFormat = 64;
860pub const VK_FORMAT_A2B10G10R10_SNORM_PACK32: VkFormat = 65;
861pub const VK_FORMAT_A2B10G10R10_USCALED_PACK32: VkFormat = 66;
862pub const VK_FORMAT_A2B10G10R10_SSCALED_PACK32: VkFormat = 67;
863pub const VK_FORMAT_A2B10G10R10_UINT_PACK32: VkFormat = 68;
864pub const VK_FORMAT_A2B10G10R10_SINT_PACK32: VkFormat = 69;
865pub const VK_FORMAT_R16_UNORM: VkFormat = 70;
866pub const VK_FORMAT_R16_SNORM: VkFormat = 71;
867pub const VK_FORMAT_R16_USCALED: VkFormat = 72;
868pub const VK_FORMAT_R16_SSCALED: VkFormat = 73;
869pub const VK_FORMAT_R16_UINT: VkFormat = 74;
870pub const VK_FORMAT_R16_SINT: VkFormat = 75;
871pub const VK_FORMAT_R16_SFLOAT: VkFormat = 76;
872pub const VK_FORMAT_R16G16_UNORM: VkFormat = 77;
873pub const VK_FORMAT_R16G16_SNORM: VkFormat = 78;
874pub const VK_FORMAT_R16G16_USCALED: VkFormat = 79;
875pub const VK_FORMAT_R16G16_SSCALED: VkFormat = 80;
876pub const VK_FORMAT_R16G16_UINT: VkFormat = 81;
877pub const VK_FORMAT_R16G16_SINT: VkFormat = 82;
878pub const VK_FORMAT_R16G16_SFLOAT: VkFormat = 83;
879pub const VK_FORMAT_R16G16B16_UNORM: VkFormat = 84;
880pub const VK_FORMAT_R16G16B16_SNORM: VkFormat = 85;
881pub const VK_FORMAT_R16G16B16_USCALED: VkFormat = 86;
882pub const VK_FORMAT_R16G16B16_SSCALED: VkFormat = 87;
883pub const VK_FORMAT_R16G16B16_UINT: VkFormat = 88;
884pub const VK_FORMAT_R16G16B16_SINT: VkFormat = 89;
885pub const VK_FORMAT_R16G16B16_SFLOAT: VkFormat = 90;
886pub const VK_FORMAT_R16G16B16A16_UNORM: VkFormat = 91;
887pub const VK_FORMAT_R16G16B16A16_SNORM: VkFormat = 92;
888pub const VK_FORMAT_R16G16B16A16_USCALED: VkFormat = 93;
889pub const VK_FORMAT_R16G16B16A16_SSCALED: VkFormat = 94;
890pub const VK_FORMAT_R16G16B16A16_UINT: VkFormat = 95;
891pub const VK_FORMAT_R16G16B16A16_SINT: VkFormat = 96;
892pub const VK_FORMAT_R16G16B16A16_SFLOAT: VkFormat = 97;
893pub const VK_FORMAT_R32_UINT: VkFormat = 98;
894pub const VK_FORMAT_R32_SINT: VkFormat = 99;
895pub const VK_FORMAT_R32_SFLOAT: VkFormat = 100;
896pub const VK_FORMAT_R32G32_UINT: VkFormat = 101;
897pub const VK_FORMAT_R32G32_SINT: VkFormat = 102;
898pub const VK_FORMAT_R32G32_SFLOAT: VkFormat = 103;
899pub const VK_FORMAT_R32G32B32_UINT: VkFormat = 104;
900pub const VK_FORMAT_R32G32B32_SINT: VkFormat = 105;
901pub const VK_FORMAT_R32G32B32_SFLOAT: VkFormat = 106;
902pub const VK_FORMAT_R32G32B32A32_UINT: VkFormat = 107;
903pub const VK_FORMAT_R32G32B32A32_SINT: VkFormat = 108;
904pub const VK_FORMAT_R32G32B32A32_SFLOAT: VkFormat = 109;
905pub const VK_FORMAT_R64_UINT: VkFormat = 110;
906pub const VK_FORMAT_R64_SINT: VkFormat = 111;
907pub const VK_FORMAT_R64_SFLOAT: VkFormat = 112;
908pub const VK_FORMAT_R64G64_UINT: VkFormat = 113;
909pub const VK_FORMAT_R64G64_SINT: VkFormat = 114;
910pub const VK_FORMAT_R64G64_SFLOAT: VkFormat = 115;
911pub const VK_FORMAT_R64G64B64_UINT: VkFormat = 116;
912pub const VK_FORMAT_R64G64B64_SINT: VkFormat = 117;
913pub const VK_FORMAT_R64G64B64_SFLOAT: VkFormat = 118;
914pub const VK_FORMAT_R64G64B64A64_UINT: VkFormat = 119;
915pub const VK_FORMAT_R64G64B64A64_SINT: VkFormat = 120;
916pub const VK_FORMAT_R64G64B64A64_SFLOAT: VkFormat = 121;
917pub const VK_FORMAT_B10G11R11_UFLOAT_PACK32: VkFormat = 122;
918pub const VK_FORMAT_E5B9G9R9_UFLOAT_PACK32: VkFormat = 123;
919pub const VK_FORMAT_D16_UNORM: VkFormat = 124;
920pub const VK_FORMAT_X8_D24_UNORM_PACK32: VkFormat = 125;
921pub const VK_FORMAT_D32_SFLOAT: VkFormat = 126;
922pub const VK_FORMAT_S8_UINT: VkFormat = 127;
923pub const VK_FORMAT_D16_UNORM_S8_UINT: VkFormat = 128;
924pub const VK_FORMAT_D24_UNORM_S8_UINT: VkFormat = 129;
925pub const VK_FORMAT_D32_SFLOAT_S8_UINT: VkFormat = 130;
926pub const VK_FORMAT_BC1_RGB_UNORM_BLOCK: VkFormat = 131;
927pub const VK_FORMAT_BC1_RGB_SRGB_BLOCK: VkFormat = 132;
928pub const VK_FORMAT_BC1_RGBA_UNORM_BLOCK: VkFormat = 133;
929pub const VK_FORMAT_BC1_RGBA_SRGB_BLOCK: VkFormat = 134;
930pub const VK_FORMAT_BC2_UNORM_BLOCK: VkFormat = 135;
931pub const VK_FORMAT_BC2_SRGB_BLOCK: VkFormat = 136;
932pub const VK_FORMAT_BC3_UNORM_BLOCK: VkFormat = 137;
933pub const VK_FORMAT_BC3_SRGB_BLOCK: VkFormat = 138;
934pub const VK_FORMAT_BC4_UNORM_BLOCK: VkFormat = 139;
935pub const VK_FORMAT_BC4_SNORM_BLOCK: VkFormat = 140;
936pub const VK_FORMAT_BC5_UNORM_BLOCK: VkFormat = 141;
937pub const VK_FORMAT_BC5_SNORM_BLOCK: VkFormat = 142;
938pub const VK_FORMAT_BC6H_UFLOAT_BLOCK: VkFormat = 143;
939pub const VK_FORMAT_BC6H_SFLOAT_BLOCK: VkFormat = 144;
940pub const VK_FORMAT_BC7_UNORM_BLOCK: VkFormat = 145;
941pub const VK_FORMAT_BC7_SRGB_BLOCK: VkFormat = 146;
942pub const VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK: VkFormat = 147;
943pub const VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK: VkFormat = 148;
944pub const VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK: VkFormat = 149;
945pub const VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK: VkFormat = 150;
946pub const VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK: VkFormat = 151;
947pub const VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK: VkFormat = 152;
948pub const VK_FORMAT_EAC_R11_UNORM_BLOCK: VkFormat = 153;
949pub const VK_FORMAT_EAC_R11_SNORM_BLOCK: VkFormat = 154;
950pub const VK_FORMAT_EAC_R11G11_UNORM_BLOCK: VkFormat = 155;
951pub const VK_FORMAT_EAC_R11G11_SNORM_BLOCK: VkFormat = 156;
952pub const VK_FORMAT_ASTC_4x4_UNORM_BLOCK: VkFormat = 157;
953pub const VK_FORMAT_ASTC_4x4_SRGB_BLOCK: VkFormat = 158;
954pub const VK_FORMAT_ASTC_5x4_UNORM_BLOCK: VkFormat = 159;
955pub const VK_FORMAT_ASTC_5x4_SRGB_BLOCK: VkFormat = 160;
956pub const VK_FORMAT_ASTC_5x5_UNORM_BLOCK: VkFormat = 161;
957pub const VK_FORMAT_ASTC_5x5_SRGB_BLOCK: VkFormat = 162;
958pub const VK_FORMAT_ASTC_6x5_UNORM_BLOCK: VkFormat = 163;
959pub const VK_FORMAT_ASTC_6x5_SRGB_BLOCK: VkFormat = 164;
960pub const VK_FORMAT_ASTC_6x6_UNORM_BLOCK: VkFormat = 165;
961pub const VK_FORMAT_ASTC_6x6_SRGB_BLOCK: VkFormat = 166;
962pub const VK_FORMAT_ASTC_8x5_UNORM_BLOCK: VkFormat = 167;
963pub const VK_FORMAT_ASTC_8x5_SRGB_BLOCK: VkFormat = 168;
964pub const VK_FORMAT_ASTC_8x6_UNORM_BLOCK: VkFormat = 169;
965pub const VK_FORMAT_ASTC_8x6_SRGB_BLOCK: VkFormat = 170;
966pub const VK_FORMAT_ASTC_8x8_UNORM_BLOCK: VkFormat = 171;
967pub const VK_FORMAT_ASTC_8x8_SRGB_BLOCK: VkFormat = 172;
968pub const VK_FORMAT_ASTC_10x5_UNORM_BLOCK: VkFormat = 173;
969pub const VK_FORMAT_ASTC_10x5_SRGB_BLOCK: VkFormat = 174;
970pub const VK_FORMAT_ASTC_10x6_UNORM_BLOCK: VkFormat = 175;
971pub const VK_FORMAT_ASTC_10x6_SRGB_BLOCK: VkFormat = 176;
972pub const VK_FORMAT_ASTC_10x8_UNORM_BLOCK: VkFormat = 177;
973pub const VK_FORMAT_ASTC_10x8_SRGB_BLOCK: VkFormat = 178;
974pub const VK_FORMAT_ASTC_10x10_UNORM_BLOCK: VkFormat = 179;
975pub const VK_FORMAT_ASTC_10x10_SRGB_BLOCK: VkFormat = 180;
976pub const VK_FORMAT_ASTC_12x10_UNORM_BLOCK: VkFormat = 181;
977pub const VK_FORMAT_ASTC_12x10_SRGB_BLOCK: VkFormat = 182;
978pub const VK_FORMAT_ASTC_12x12_UNORM_BLOCK: VkFormat = 183;
979pub const VK_FORMAT_ASTC_12x12_SRGB_BLOCK: VkFormat = 184;
980pub const VK_FORMAT_G8B8G8R8_422_UNORM: VkFormat = 1000156000;
981pub const VK_FORMAT_B8G8R8G8_422_UNORM: VkFormat = 1000156001;
982pub const VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM: VkFormat = 1000156002;
983pub const VK_FORMAT_G8_B8R8_2PLANE_420_UNORM: VkFormat = 1000156003;
984pub const VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM: VkFormat = 1000156004;
985pub const VK_FORMAT_G8_B8R8_2PLANE_422_UNORM: VkFormat = 1000156005;
986pub const VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM: VkFormat = 1000156006;
987pub const VK_FORMAT_R10X6_UNORM_PACK16: VkFormat = 1000156007;
988pub const VK_FORMAT_R10X6G10X6_UNORM_2PACK16: VkFormat = 1000156008;
989pub const VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16: VkFormat = 1000156009;
990pub const VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16: VkFormat = 1000156010;
991pub const VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16: VkFormat = 1000156011;
992pub const VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16: VkFormat = 1000156012;
993pub const VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16: VkFormat = 1000156013;
994pub const VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16: VkFormat = 1000156014;
995pub const VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16: VkFormat = 1000156015;
996pub const VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16: VkFormat = 1000156016;
997pub const VK_FORMAT_R12X4_UNORM_PACK16: VkFormat = 1000156017;
998pub const VK_FORMAT_R12X4G12X4_UNORM_2PACK16: VkFormat = 1000156018;
999pub const VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16: VkFormat = 1000156019;
1000pub const VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16: VkFormat = 1000156020;
1001pub const VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16: VkFormat = 1000156021;
1002pub const VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16: VkFormat = 1000156022;
1003pub const VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16: VkFormat = 1000156023;
1004pub const VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16: VkFormat = 1000156024;
1005pub const VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16: VkFormat = 1000156025;
1006pub const VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16: VkFormat = 1000156026;
1007pub const VK_FORMAT_G16B16G16R16_422_UNORM: VkFormat = 1000156027;
1008pub const VK_FORMAT_B16G16R16G16_422_UNORM: VkFormat = 1000156028;
1009pub const VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM: VkFormat = 1000156029;
1010pub const VK_FORMAT_G16_B16R16_2PLANE_420_UNORM: VkFormat = 1000156030;
1011pub const VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM: VkFormat = 1000156031;
1012pub const VK_FORMAT_G16_B16R16_2PLANE_422_UNORM: VkFormat = 1000156032;
1013pub const VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM: VkFormat = 1000156033;
1014pub const VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG: VkFormat = 1000054000;
1015pub const VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG: VkFormat = 1000054001;
1016pub const VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG: VkFormat = 1000054002;
1017pub const VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG: VkFormat = 1000054003;
1018pub const VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG: VkFormat = 1000054004;
1019pub const VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG: VkFormat = 1000054005;
1020pub const VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG: VkFormat = 1000054006;
1021pub const VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG: VkFormat = 1000054007;
1022pub const VK_FORMAT_G8B8G8R8_422_UNORM_KHR: VkFormat = 1000156000;
1023pub const VK_FORMAT_B8G8R8G8_422_UNORM_KHR: VkFormat = 1000156001;
1024pub const VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR: VkFormat = 1000156002;
1025pub const VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR: VkFormat = 1000156003;
1026pub const VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR: VkFormat = 1000156004;
1027pub const VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR: VkFormat = 1000156005;
1028pub const VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR: VkFormat = 1000156006;
1029pub const VK_FORMAT_R10X6_UNORM_PACK16_KHR: VkFormat = 1000156007;
1030pub const VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR: VkFormat = 1000156008;
1031pub const VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR: VkFormat = 1000156009;
1032pub const VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR: VkFormat = 1000156010;
1033pub const VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR: VkFormat = 1000156011;
1034pub const VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR: VkFormat = 1000156012;
1035pub const VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR: VkFormat = 1000156013;
1036pub const VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR: VkFormat = 1000156014;
1037pub const VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR: VkFormat = 1000156015;
1038pub const VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR: VkFormat = 1000156016;
1039pub const VK_FORMAT_R12X4_UNORM_PACK16_KHR: VkFormat = 1000156017;
1040pub const VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR: VkFormat = 1000156018;
1041pub const VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR: VkFormat = 1000156019;
1042pub const VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR: VkFormat = 1000156020;
1043pub const VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR: VkFormat = 1000156021;
1044pub const VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR: VkFormat = 1000156022;
1045pub const VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR: VkFormat = 1000156023;
1046pub const VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR: VkFormat = 1000156024;
1047pub const VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR: VkFormat = 1000156025;
1048pub const VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR: VkFormat = 1000156026;
1049pub const VK_FORMAT_G16B16G16R16_422_UNORM_KHR: VkFormat = 1000156027;
1050pub const VK_FORMAT_B16G16R16G16_422_UNORM_KHR: VkFormat = 1000156028;
1051pub const VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR: VkFormat = 1000156029;
1052pub const VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR: VkFormat = 1000156030;
1053pub const VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR: VkFormat = 1000156031;
1054pub const VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR: VkFormat = 1000156032;
1055pub const VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR: VkFormat = 1000156033;
1056pub const VK_FORMAT_BEGIN_RANGE: VkFormat = 0;
1057pub const VK_FORMAT_END_RANGE: VkFormat = 184;
1058pub const VK_FORMAT_RANGE_SIZE: VkFormat = 185;
1059pub const VK_FORMAT_MAX_ENUM: VkFormat = 2147483647;
1060
1061pub type VkImageType = u32;
1062pub const VK_IMAGE_TYPE_1D: VkImageType = 0;
1063pub const VK_IMAGE_TYPE_2D: VkImageType = 1;
1064pub const VK_IMAGE_TYPE_3D: VkImageType = 2;
1065pub const VK_IMAGE_TYPE_BEGIN_RANGE: VkImageType = 0;
1066pub const VK_IMAGE_TYPE_END_RANGE: VkImageType = 2;
1067pub const VK_IMAGE_TYPE_RANGE_SIZE: VkImageType = 3;
1068pub const VK_IMAGE_TYPE_MAX_ENUM: VkImageType = 2147483647;
1069
1070pub type VkImageTiling = u32;
1071pub const VK_IMAGE_TILING_OPTIMAL: VkImageTiling = 0;
1072pub const VK_IMAGE_TILING_LINEAR: VkImageTiling = 1;
1073pub const VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT: VkImageTiling = 1000158000;
1074pub const VK_IMAGE_TILING_BEGIN_RANGE: VkImageTiling = 0;
1075pub const VK_IMAGE_TILING_END_RANGE: VkImageTiling = 1;
1076pub const VK_IMAGE_TILING_RANGE_SIZE: VkImageTiling = 2;
1077pub const VK_IMAGE_TILING_MAX_ENUM: VkImageTiling = 2147483647;
1078
1079pub type VkPhysicalDeviceType = u32;
1080pub const VK_PHYSICAL_DEVICE_TYPE_OTHER: VkPhysicalDeviceType = 0;
1081pub const VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU: VkPhysicalDeviceType = 1;
1082pub const VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU: VkPhysicalDeviceType = 2;
1083pub const VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU: VkPhysicalDeviceType = 3;
1084pub const VK_PHYSICAL_DEVICE_TYPE_CPU: VkPhysicalDeviceType = 4;
1085pub const VK_PHYSICAL_DEVICE_TYPE_BEGIN_RANGE: VkPhysicalDeviceType = 0;
1086pub const VK_PHYSICAL_DEVICE_TYPE_END_RANGE: VkPhysicalDeviceType = 4;
1087pub const VK_PHYSICAL_DEVICE_TYPE_RANGE_SIZE: VkPhysicalDeviceType = 5;
1088pub const VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM: VkPhysicalDeviceType = 2147483647;
1089
1090pub type VkQueryType = u32;
1091pub const VK_QUERY_TYPE_OCCLUSION: VkQueryType = 0;
1092pub const VK_QUERY_TYPE_PIPELINE_STATISTICS: VkQueryType = 1;
1093pub const VK_QUERY_TYPE_TIMESTAMP: VkQueryType = 2;
1094pub const VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT: VkQueryType = 1000028004;
1095pub const VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV: VkQueryType = 1000165000;
1096pub const VK_QUERY_TYPE_BEGIN_RANGE: VkQueryType = 0;
1097pub const VK_QUERY_TYPE_END_RANGE: VkQueryType = 2;
1098pub const VK_QUERY_TYPE_RANGE_SIZE: VkQueryType = 3;
1099pub const VK_QUERY_TYPE_MAX_ENUM: VkQueryType = 2147483647;
1100
1101pub type VkSharingMode = u32;
1102pub const VK_SHARING_MODE_EXCLUSIVE: VkSharingMode = 0;
1103pub const VK_SHARING_MODE_CONCURRENT: VkSharingMode = 1;
1104pub const VK_SHARING_MODE_BEGIN_RANGE: VkSharingMode = 0;
1105pub const VK_SHARING_MODE_END_RANGE: VkSharingMode = 1;
1106pub const VK_SHARING_MODE_RANGE_SIZE: VkSharingMode = 2;
1107pub const VK_SHARING_MODE_MAX_ENUM: VkSharingMode = 2147483647;
1108
1109pub type VkImageLayout = u32;
1110pub const VK_IMAGE_LAYOUT_UNDEFINED: VkImageLayout = 0;
1111pub const VK_IMAGE_LAYOUT_GENERAL: VkImageLayout = 1;
1112pub const VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL: VkImageLayout = 2;
1113pub const VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL: VkImageLayout = 3;
1114pub const VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL: VkImageLayout = 4;
1115pub const VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL: VkImageLayout = 5;
1116pub const VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL: VkImageLayout = 6;
1117pub const VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL: VkImageLayout = 7;
1118pub const VK_IMAGE_LAYOUT_PREINITIALIZED: VkImageLayout = 8;
1119pub const VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL: VkImageLayout = 1000117000;
1120pub const VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL: VkImageLayout = 1000117001;
1121pub const VK_IMAGE_LAYOUT_PRESENT_SRC_KHR: VkImageLayout = 1000001002;
1122pub const VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR: VkImageLayout = 1000111000;
1123pub const VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV: VkImageLayout = 1000164003;
1124pub const VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT: VkImageLayout = 1000218000;
1125pub const VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR: VkImageLayout =
1126 1000117000;
1127pub const VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR: VkImageLayout =
1128 1000117001;
1129pub const VK_IMAGE_LAYOUT_BEGIN_RANGE: VkImageLayout = 0;
1130pub const VK_IMAGE_LAYOUT_END_RANGE: VkImageLayout = 8;
1131pub const VK_IMAGE_LAYOUT_RANGE_SIZE: VkImageLayout = 9;
1132pub const VK_IMAGE_LAYOUT_MAX_ENUM: VkImageLayout = 2147483647;
1133
1134pub type VkImageViewType = u32;
1135pub const VK_IMAGE_VIEW_TYPE_1D: VkImageViewType = 0;
1136pub const VK_IMAGE_VIEW_TYPE_2D: VkImageViewType = 1;
1137pub const VK_IMAGE_VIEW_TYPE_3D: VkImageViewType = 2;
1138pub const VK_IMAGE_VIEW_TYPE_CUBE: VkImageViewType = 3;
1139pub const VK_IMAGE_VIEW_TYPE_1D_ARRAY: VkImageViewType = 4;
1140pub const VK_IMAGE_VIEW_TYPE_2D_ARRAY: VkImageViewType = 5;
1141pub const VK_IMAGE_VIEW_TYPE_CUBE_ARRAY: VkImageViewType = 6;
1142pub const VK_IMAGE_VIEW_TYPE_BEGIN_RANGE: VkImageViewType = 0;
1143pub const VK_IMAGE_VIEW_TYPE_END_RANGE: VkImageViewType = 6;
1144pub const VK_IMAGE_VIEW_TYPE_RANGE_SIZE: VkImageViewType = 7;
1145pub const VK_IMAGE_VIEW_TYPE_MAX_ENUM: VkImageViewType = 2147483647;
1146
1147pub type VkComponentSwizzle = u32;
1148pub const VK_COMPONENT_SWIZZLE_IDENTITY: VkComponentSwizzle = 0;
1149pub const VK_COMPONENT_SWIZZLE_ZERO: VkComponentSwizzle = 1;
1150pub const VK_COMPONENT_SWIZZLE_ONE: VkComponentSwizzle = 2;
1151pub const VK_COMPONENT_SWIZZLE_R: VkComponentSwizzle = 3;
1152pub const VK_COMPONENT_SWIZZLE_G: VkComponentSwizzle = 4;
1153pub const VK_COMPONENT_SWIZZLE_B: VkComponentSwizzle = 5;
1154pub const VK_COMPONENT_SWIZZLE_A: VkComponentSwizzle = 6;
1155pub const VK_COMPONENT_SWIZZLE_BEGIN_RANGE: VkComponentSwizzle = 0;
1156pub const VK_COMPONENT_SWIZZLE_END_RANGE: VkComponentSwizzle = 6;
1157pub const VK_COMPONENT_SWIZZLE_RANGE_SIZE: VkComponentSwizzle = 7;
1158pub const VK_COMPONENT_SWIZZLE_MAX_ENUM: VkComponentSwizzle = 2147483647;
1159
1160pub type VkVertexInputRate = u32;
1161pub const VK_VERTEX_INPUT_RATE_VERTEX: VkVertexInputRate = 0;
1162pub const VK_VERTEX_INPUT_RATE_INSTANCE: VkVertexInputRate = 1;
1163pub const VK_VERTEX_INPUT_RATE_BEGIN_RANGE: VkVertexInputRate = 0;
1164pub const VK_VERTEX_INPUT_RATE_END_RANGE: VkVertexInputRate = 1;
1165pub const VK_VERTEX_INPUT_RATE_RANGE_SIZE: VkVertexInputRate = 2;
1166pub const VK_VERTEX_INPUT_RATE_MAX_ENUM: VkVertexInputRate = 2147483647;
1167
1168pub type VkPrimitiveTopology = u32;
1169pub const VK_PRIMITIVE_TOPOLOGY_POINT_LIST: VkPrimitiveTopology = 0;
1170pub const VK_PRIMITIVE_TOPOLOGY_LINE_LIST: VkPrimitiveTopology = 1;
1171pub const VK_PRIMITIVE_TOPOLOGY_LINE_STRIP: VkPrimitiveTopology = 2;
1172pub const VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST: VkPrimitiveTopology = 3;
1173pub const VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP: VkPrimitiveTopology = 4;
1174pub const VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN: VkPrimitiveTopology = 5;
1175pub const VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY: VkPrimitiveTopology = 6;
1176pub const VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY: VkPrimitiveTopology = 7;
1177pub const VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY: VkPrimitiveTopology = 8;
1178pub const VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY: VkPrimitiveTopology = 9;
1179pub const VK_PRIMITIVE_TOPOLOGY_PATCH_LIST: VkPrimitiveTopology = 10;
1180pub const VK_PRIMITIVE_TOPOLOGY_BEGIN_RANGE: VkPrimitiveTopology = 0;
1181pub const VK_PRIMITIVE_TOPOLOGY_END_RANGE: VkPrimitiveTopology = 10;
1182pub const VK_PRIMITIVE_TOPOLOGY_RANGE_SIZE: VkPrimitiveTopology = 11;
1183pub const VK_PRIMITIVE_TOPOLOGY_MAX_ENUM: VkPrimitiveTopology = 2147483647;
1184
1185pub type VkPolygonMode = u32;
1186pub const VK_POLYGON_MODE_FILL: VkPolygonMode = 0;
1187pub const VK_POLYGON_MODE_LINE: VkPolygonMode = 1;
1188pub const VK_POLYGON_MODE_POINT: VkPolygonMode = 2;
1189pub const VK_POLYGON_MODE_FILL_RECTANGLE_NV: VkPolygonMode = 1000153000;
1190pub const VK_POLYGON_MODE_BEGIN_RANGE: VkPolygonMode = 0;
1191pub const VK_POLYGON_MODE_END_RANGE: VkPolygonMode = 2;
1192pub const VK_POLYGON_MODE_RANGE_SIZE: VkPolygonMode = 3;
1193pub const VK_POLYGON_MODE_MAX_ENUM: VkPolygonMode = 2147483647;
1194
1195pub type VkFrontFace = u32;
1196pub const VK_FRONT_FACE_COUNTER_CLOCKWISE: VkFrontFace = 0;
1197pub const VK_FRONT_FACE_CLOCKWISE: VkFrontFace = 1;
1198pub const VK_FRONT_FACE_BEGIN_RANGE: VkFrontFace = 0;
1199pub const VK_FRONT_FACE_END_RANGE: VkFrontFace = 1;
1200pub const VK_FRONT_FACE_RANGE_SIZE: VkFrontFace = 2;
1201pub const VK_FRONT_FACE_MAX_ENUM: VkFrontFace = 2147483647;
1202
1203pub type VkCompareOp = u32;
1204pub const VK_COMPARE_OP_NEVER: VkCompareOp = 0;
1205pub const VK_COMPARE_OP_LESS: VkCompareOp = 1;
1206pub const VK_COMPARE_OP_EQUAL: VkCompareOp = 2;
1207pub const VK_COMPARE_OP_LESS_OR_EQUAL: VkCompareOp = 3;
1208pub const VK_COMPARE_OP_GREATER: VkCompareOp = 4;
1209pub const VK_COMPARE_OP_NOT_EQUAL: VkCompareOp = 5;
1210pub const VK_COMPARE_OP_GREATER_OR_EQUAL: VkCompareOp = 6;
1211pub const VK_COMPARE_OP_ALWAYS: VkCompareOp = 7;
1212pub const VK_COMPARE_OP_BEGIN_RANGE: VkCompareOp = 0;
1213pub const VK_COMPARE_OP_END_RANGE: VkCompareOp = 7;
1214pub const VK_COMPARE_OP_RANGE_SIZE: VkCompareOp = 8;
1215pub const VK_COMPARE_OP_MAX_ENUM: VkCompareOp = 2147483647;
1216
1217pub type VkStencilOp = u32;
1218pub const VK_STENCIL_OP_KEEP: VkStencilOp = 0;
1219pub const VK_STENCIL_OP_ZERO: VkStencilOp = 1;
1220pub const VK_STENCIL_OP_REPLACE: VkStencilOp = 2;
1221pub const VK_STENCIL_OP_INCREMENT_AND_CLAMP: VkStencilOp = 3;
1222pub const VK_STENCIL_OP_DECREMENT_AND_CLAMP: VkStencilOp = 4;
1223pub const VK_STENCIL_OP_INVERT: VkStencilOp = 5;
1224pub const VK_STENCIL_OP_INCREMENT_AND_WRAP: VkStencilOp = 6;
1225pub const VK_STENCIL_OP_DECREMENT_AND_WRAP: VkStencilOp = 7;
1226pub const VK_STENCIL_OP_BEGIN_RANGE: VkStencilOp = 0;
1227pub const VK_STENCIL_OP_END_RANGE: VkStencilOp = 7;
1228pub const VK_STENCIL_OP_RANGE_SIZE: VkStencilOp = 8;
1229pub const VK_STENCIL_OP_MAX_ENUM: VkStencilOp = 2147483647;
1230
1231pub type VkLogicOp = u32;
1232pub const VK_LOGIC_OP_CLEAR: VkLogicOp = 0;
1233pub const VK_LOGIC_OP_AND: VkLogicOp = 1;
1234pub const VK_LOGIC_OP_AND_REVERSE: VkLogicOp = 2;
1235pub const VK_LOGIC_OP_COPY: VkLogicOp = 3;
1236pub const VK_LOGIC_OP_AND_INVERTED: VkLogicOp = 4;
1237pub const VK_LOGIC_OP_NO_OP: VkLogicOp = 5;
1238pub const VK_LOGIC_OP_XOR: VkLogicOp = 6;
1239pub const VK_LOGIC_OP_OR: VkLogicOp = 7;
1240pub const VK_LOGIC_OP_NOR: VkLogicOp = 8;
1241pub const VK_LOGIC_OP_EQUIVALENT: VkLogicOp = 9;
1242pub const VK_LOGIC_OP_INVERT: VkLogicOp = 10;
1243pub const VK_LOGIC_OP_OR_REVERSE: VkLogicOp = 11;
1244pub const VK_LOGIC_OP_COPY_INVERTED: VkLogicOp = 12;
1245pub const VK_LOGIC_OP_OR_INVERTED: VkLogicOp = 13;
1246pub const VK_LOGIC_OP_NAND: VkLogicOp = 14;
1247pub const VK_LOGIC_OP_SET: VkLogicOp = 15;
1248pub const VK_LOGIC_OP_BEGIN_RANGE: VkLogicOp = 0;
1249pub const VK_LOGIC_OP_END_RANGE: VkLogicOp = 15;
1250pub const VK_LOGIC_OP_RANGE_SIZE: VkLogicOp = 16;
1251pub const VK_LOGIC_OP_MAX_ENUM: VkLogicOp = 2147483647;
1252
1253pub type VkBlendFactor = u32;
1254pub const VK_BLEND_FACTOR_ZERO: VkBlendFactor = 0;
1255pub const VK_BLEND_FACTOR_ONE: VkBlendFactor = 1;
1256pub const VK_BLEND_FACTOR_SRC_COLOR: VkBlendFactor = 2;
1257pub const VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR: VkBlendFactor = 3;
1258pub const VK_BLEND_FACTOR_DST_COLOR: VkBlendFactor = 4;
1259pub const VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR: VkBlendFactor = 5;
1260pub const VK_BLEND_FACTOR_SRC_ALPHA: VkBlendFactor = 6;
1261pub const VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA: VkBlendFactor = 7;
1262pub const VK_BLEND_FACTOR_DST_ALPHA: VkBlendFactor = 8;
1263pub const VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA: VkBlendFactor = 9;
1264pub const VK_BLEND_FACTOR_CONSTANT_COLOR: VkBlendFactor = 10;
1265pub const VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR: VkBlendFactor = 11;
1266pub const VK_BLEND_FACTOR_CONSTANT_ALPHA: VkBlendFactor = 12;
1267pub const VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA: VkBlendFactor = 13;
1268pub const VK_BLEND_FACTOR_SRC_ALPHA_SATURATE: VkBlendFactor = 14;
1269pub const VK_BLEND_FACTOR_SRC1_COLOR: VkBlendFactor = 15;
1270pub const VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR: VkBlendFactor = 16;
1271pub const VK_BLEND_FACTOR_SRC1_ALPHA: VkBlendFactor = 17;
1272pub const VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA: VkBlendFactor = 18;
1273pub const VK_BLEND_FACTOR_BEGIN_RANGE: VkBlendFactor = 0;
1274pub const VK_BLEND_FACTOR_END_RANGE: VkBlendFactor = 18;
1275pub const VK_BLEND_FACTOR_RANGE_SIZE: VkBlendFactor = 19;
1276pub const VK_BLEND_FACTOR_MAX_ENUM: VkBlendFactor = 2147483647;
1277
1278pub type VkBlendOp = u32;
1279pub const VK_BLEND_OP_ADD: VkBlendOp = 0;
1280pub const VK_BLEND_OP_SUBTRACT: VkBlendOp = 1;
1281pub const VK_BLEND_OP_REVERSE_SUBTRACT: VkBlendOp = 2;
1282pub const VK_BLEND_OP_MIN: VkBlendOp = 3;
1283pub const VK_BLEND_OP_MAX: VkBlendOp = 4;
1284pub const VK_BLEND_OP_ZERO_EXT: VkBlendOp = 1000148000;
1285pub const VK_BLEND_OP_SRC_EXT: VkBlendOp = 1000148001;
1286pub const VK_BLEND_OP_DST_EXT: VkBlendOp = 1000148002;
1287pub const VK_BLEND_OP_SRC_OVER_EXT: VkBlendOp = 1000148003;
1288pub const VK_BLEND_OP_DST_OVER_EXT: VkBlendOp = 1000148004;
1289pub const VK_BLEND_OP_SRC_IN_EXT: VkBlendOp = 1000148005;
1290pub const VK_BLEND_OP_DST_IN_EXT: VkBlendOp = 1000148006;
1291pub const VK_BLEND_OP_SRC_OUT_EXT: VkBlendOp = 1000148007;
1292pub const VK_BLEND_OP_DST_OUT_EXT: VkBlendOp = 1000148008;
1293pub const VK_BLEND_OP_SRC_ATOP_EXT: VkBlendOp = 1000148009;
1294pub const VK_BLEND_OP_DST_ATOP_EXT: VkBlendOp = 1000148010;
1295pub const VK_BLEND_OP_XOR_EXT: VkBlendOp = 1000148011;
1296pub const VK_BLEND_OP_MULTIPLY_EXT: VkBlendOp = 1000148012;
1297pub const VK_BLEND_OP_SCREEN_EXT: VkBlendOp = 1000148013;
1298pub const VK_BLEND_OP_OVERLAY_EXT: VkBlendOp = 1000148014;
1299pub const VK_BLEND_OP_DARKEN_EXT: VkBlendOp = 1000148015;
1300pub const VK_BLEND_OP_LIGHTEN_EXT: VkBlendOp = 1000148016;
1301pub const VK_BLEND_OP_COLORDODGE_EXT: VkBlendOp = 1000148017;
1302pub const VK_BLEND_OP_COLORBURN_EXT: VkBlendOp = 1000148018;
1303pub const VK_BLEND_OP_HARDLIGHT_EXT: VkBlendOp = 1000148019;
1304pub const VK_BLEND_OP_SOFTLIGHT_EXT: VkBlendOp = 1000148020;
1305pub const VK_BLEND_OP_DIFFERENCE_EXT: VkBlendOp = 1000148021;
1306pub const VK_BLEND_OP_EXCLUSION_EXT: VkBlendOp = 1000148022;
1307pub const VK_BLEND_OP_INVERT_EXT: VkBlendOp = 1000148023;
1308pub const VK_BLEND_OP_INVERT_RGB_EXT: VkBlendOp = 1000148024;
1309pub const VK_BLEND_OP_LINEARDODGE_EXT: VkBlendOp = 1000148025;
1310pub const VK_BLEND_OP_LINEARBURN_EXT: VkBlendOp = 1000148026;
1311pub const VK_BLEND_OP_VIVIDLIGHT_EXT: VkBlendOp = 1000148027;
1312pub const VK_BLEND_OP_LINEARLIGHT_EXT: VkBlendOp = 1000148028;
1313pub const VK_BLEND_OP_PINLIGHT_EXT: VkBlendOp = 1000148029;
1314pub const VK_BLEND_OP_HARDMIX_EXT: VkBlendOp = 1000148030;
1315pub const VK_BLEND_OP_HSL_HUE_EXT: VkBlendOp = 1000148031;
1316pub const VK_BLEND_OP_HSL_SATURATION_EXT: VkBlendOp = 1000148032;
1317pub const VK_BLEND_OP_HSL_COLOR_EXT: VkBlendOp = 1000148033;
1318pub const VK_BLEND_OP_HSL_LUMINOSITY_EXT: VkBlendOp = 1000148034;
1319pub const VK_BLEND_OP_PLUS_EXT: VkBlendOp = 1000148035;
1320pub const VK_BLEND_OP_PLUS_CLAMPED_EXT: VkBlendOp = 1000148036;
1321pub const VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT: VkBlendOp = 1000148037;
1322pub const VK_BLEND_OP_PLUS_DARKER_EXT: VkBlendOp = 1000148038;
1323pub const VK_BLEND_OP_MINUS_EXT: VkBlendOp = 1000148039;
1324pub const VK_BLEND_OP_MINUS_CLAMPED_EXT: VkBlendOp = 1000148040;
1325pub const VK_BLEND_OP_CONTRAST_EXT: VkBlendOp = 1000148041;
1326pub const VK_BLEND_OP_INVERT_OVG_EXT: VkBlendOp = 1000148042;
1327pub const VK_BLEND_OP_RED_EXT: VkBlendOp = 1000148043;
1328pub const VK_BLEND_OP_GREEN_EXT: VkBlendOp = 1000148044;
1329pub const VK_BLEND_OP_BLUE_EXT: VkBlendOp = 1000148045;
1330pub const VK_BLEND_OP_BEGIN_RANGE: VkBlendOp = 0;
1331pub const VK_BLEND_OP_END_RANGE: VkBlendOp = 4;
1332pub const VK_BLEND_OP_RANGE_SIZE: VkBlendOp = 5;
1333pub const VK_BLEND_OP_MAX_ENUM: VkBlendOp = 2147483647;
1334
1335pub type VkDynamicState = u32;
1336pub const VK_DYNAMIC_STATE_VIEWPORT: VkDynamicState = 0;
1337pub const VK_DYNAMIC_STATE_SCISSOR: VkDynamicState = 1;
1338pub const VK_DYNAMIC_STATE_LINE_WIDTH: VkDynamicState = 2;
1339pub const VK_DYNAMIC_STATE_DEPTH_BIAS: VkDynamicState = 3;
1340pub const VK_DYNAMIC_STATE_BLEND_CONSTANTS: VkDynamicState = 4;
1341pub const VK_DYNAMIC_STATE_DEPTH_BOUNDS: VkDynamicState = 5;
1342pub const VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK: VkDynamicState = 6;
1343pub const VK_DYNAMIC_STATE_STENCIL_WRITE_MASK: VkDynamicState = 7;
1344pub const VK_DYNAMIC_STATE_STENCIL_REFERENCE: VkDynamicState = 8;
1345pub const VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV: VkDynamicState = 1000087000;
1346pub const VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT: VkDynamicState = 1000099000;
1347pub const VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT: VkDynamicState = 1000143000;
1348pub const VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV: VkDynamicState = 1000164004;
1349pub const VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV: VkDynamicState = 1000164006;
1350pub const VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV: VkDynamicState = 1000205001;
1351pub const VK_DYNAMIC_STATE_BEGIN_RANGE: VkDynamicState = 0;
1352pub const VK_DYNAMIC_STATE_END_RANGE: VkDynamicState = 8;
1353pub const VK_DYNAMIC_STATE_RANGE_SIZE: VkDynamicState = 9;
1354pub const VK_DYNAMIC_STATE_MAX_ENUM: VkDynamicState = 2147483647;
1355
1356pub type VkFilter = u32;
1357pub const VK_FILTER_NEAREST: VkFilter = 0;
1358pub const VK_FILTER_LINEAR: VkFilter = 1;
1359pub const VK_FILTER_CUBIC_IMG: VkFilter = 1000015000;
1360pub const VK_FILTER_CUBIC_EXT: VkFilter = 1000015000;
1361pub const VK_FILTER_BEGIN_RANGE: VkFilter = 0;
1362pub const VK_FILTER_END_RANGE: VkFilter = 1;
1363pub const VK_FILTER_RANGE_SIZE: VkFilter = 2;
1364pub const VK_FILTER_MAX_ENUM: VkFilter = 2147483647;
1365
1366pub type VkSamplerMipmapMode = u32;
1367pub const VK_SAMPLER_MIPMAP_MODE_NEAREST: VkSamplerMipmapMode = 0;
1368pub const VK_SAMPLER_MIPMAP_MODE_LINEAR: VkSamplerMipmapMode = 1;
1369pub const VK_SAMPLER_MIPMAP_MODE_BEGIN_RANGE: VkSamplerMipmapMode = 0;
1370pub const VK_SAMPLER_MIPMAP_MODE_END_RANGE: VkSamplerMipmapMode = 1;
1371pub const VK_SAMPLER_MIPMAP_MODE_RANGE_SIZE: VkSamplerMipmapMode = 2;
1372pub const VK_SAMPLER_MIPMAP_MODE_MAX_ENUM: VkSamplerMipmapMode = 2147483647;
1373
1374pub type VkSamplerAddressMode = u32;
1375pub const VK_SAMPLER_ADDRESS_MODE_REPEAT: VkSamplerAddressMode = 0;
1376pub const VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT: VkSamplerAddressMode = 1;
1377pub const VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE: VkSamplerAddressMode = 2;
1378pub const VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER: VkSamplerAddressMode = 3;
1379pub const VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE: VkSamplerAddressMode = 4;
1380pub const VK_SAMPLER_ADDRESS_MODE_BEGIN_RANGE: VkSamplerAddressMode = 0;
1381pub const VK_SAMPLER_ADDRESS_MODE_END_RANGE: VkSamplerAddressMode = 3;
1382pub const VK_SAMPLER_ADDRESS_MODE_RANGE_SIZE: VkSamplerAddressMode = 4;
1383pub const VK_SAMPLER_ADDRESS_MODE_MAX_ENUM: VkSamplerAddressMode = 2147483647;
1384
1385pub type VkBorderColor = u32;
1386pub const VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK: VkBorderColor = 0;
1387pub const VK_BORDER_COLOR_INT_TRANSPARENT_BLACK: VkBorderColor = 1;
1388pub const VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK: VkBorderColor = 2;
1389pub const VK_BORDER_COLOR_INT_OPAQUE_BLACK: VkBorderColor = 3;
1390pub const VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE: VkBorderColor = 4;
1391pub const VK_BORDER_COLOR_INT_OPAQUE_WHITE: VkBorderColor = 5;
1392pub const VK_BORDER_COLOR_BEGIN_RANGE: VkBorderColor = 0;
1393pub const VK_BORDER_COLOR_END_RANGE: VkBorderColor = 5;
1394pub const VK_BORDER_COLOR_RANGE_SIZE: VkBorderColor = 6;
1395pub const VK_BORDER_COLOR_MAX_ENUM: VkBorderColor = 2147483647;
1396
1397pub type VkDescriptorType = u32;
1398pub const VK_DESCRIPTOR_TYPE_SAMPLER: VkDescriptorType = 0;
1399pub const VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER: VkDescriptorType = 1;
1400pub const VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE: VkDescriptorType = 2;
1401pub const VK_DESCRIPTOR_TYPE_STORAGE_IMAGE: VkDescriptorType = 3;
1402pub const VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER: VkDescriptorType = 4;
1403pub const VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER: VkDescriptorType = 5;
1404pub const VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER: VkDescriptorType = 6;
1405pub const VK_DESCRIPTOR_TYPE_STORAGE_BUFFER: VkDescriptorType = 7;
1406pub const VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC: VkDescriptorType = 8;
1407pub const VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC: VkDescriptorType = 9;
1408pub const VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT: VkDescriptorType = 10;
1409pub const VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT: VkDescriptorType = 1000138000;
1410pub const VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV: VkDescriptorType = 1000165000;
1411pub const VK_DESCRIPTOR_TYPE_BEGIN_RANGE: VkDescriptorType = 0;
1412pub const VK_DESCRIPTOR_TYPE_END_RANGE: VkDescriptorType = 10;
1413pub const VK_DESCRIPTOR_TYPE_RANGE_SIZE: VkDescriptorType = 11;
1414pub const VK_DESCRIPTOR_TYPE_MAX_ENUM: VkDescriptorType = 2147483647;
1415
1416pub type VkAttachmentLoadOp = u32;
1417pub const VK_ATTACHMENT_LOAD_OP_LOAD: VkAttachmentLoadOp = 0;
1418pub const VK_ATTACHMENT_LOAD_OP_CLEAR: VkAttachmentLoadOp = 1;
1419pub const VK_ATTACHMENT_LOAD_OP_DONT_CARE: VkAttachmentLoadOp = 2;
1420pub const VK_ATTACHMENT_LOAD_OP_BEGIN_RANGE: VkAttachmentLoadOp = 0;
1421pub const VK_ATTACHMENT_LOAD_OP_END_RANGE: VkAttachmentLoadOp = 2;
1422pub const VK_ATTACHMENT_LOAD_OP_RANGE_SIZE: VkAttachmentLoadOp = 3;
1423pub const VK_ATTACHMENT_LOAD_OP_MAX_ENUM: VkAttachmentLoadOp = 2147483647;
1424
1425pub type VkAttachmentStoreOp = u32;
1426pub const VK_ATTACHMENT_STORE_OP_STORE: VkAttachmentStoreOp = 0;
1427pub const VK_ATTACHMENT_STORE_OP_DONT_CARE: VkAttachmentStoreOp = 1;
1428pub const VK_ATTACHMENT_STORE_OP_BEGIN_RANGE: VkAttachmentStoreOp = 0;
1429pub const VK_ATTACHMENT_STORE_OP_END_RANGE: VkAttachmentStoreOp = 1;
1430pub const VK_ATTACHMENT_STORE_OP_RANGE_SIZE: VkAttachmentStoreOp = 2;
1431pub const VK_ATTACHMENT_STORE_OP_MAX_ENUM: VkAttachmentStoreOp = 2147483647;
1432
1433pub const VK_PIPELINE_BIND_POINT_GRAPHICS: VkPipelineBindPoint = 0;
1434pub const VK_PIPELINE_BIND_POINT_COMPUTE: VkPipelineBindPoint = 1;
1435pub const VK_PIPELINE_BIND_POINT_RAY_TRACING_NV: VkPipelineBindPoint = 1000165000;
1436pub const VK_PIPELINE_BIND_POINT_BEGIN_RANGE: VkPipelineBindPoint = 0;
1437pub const VK_PIPELINE_BIND_POINT_END_RANGE: VkPipelineBindPoint = 1;
1438pub const VK_PIPELINE_BIND_POINT_RANGE_SIZE: VkPipelineBindPoint = 2;
1439pub const VK_PIPELINE_BIND_POINT_MAX_ENUM: VkPipelineBindPoint = 2147483647;
1440pub type VkPipelineBindPoint = u32;
1441pub const VK_COMMAND_BUFFER_LEVEL_PRIMARY: VkCommandBufferLevel = 0;
1442pub const VK_COMMAND_BUFFER_LEVEL_SECONDARY: VkCommandBufferLevel = 1;
1443pub const VK_COMMAND_BUFFER_LEVEL_BEGIN_RANGE: VkCommandBufferLevel = 0;
1444pub const VK_COMMAND_BUFFER_LEVEL_END_RANGE: VkCommandBufferLevel = 1;
1445pub const VK_COMMAND_BUFFER_LEVEL_RANGE_SIZE: VkCommandBufferLevel = 2;
1446pub const VK_COMMAND_BUFFER_LEVEL_MAX_ENUM: VkCommandBufferLevel = 2147483647;
1447pub type VkCommandBufferLevel = u32;
1448pub const VK_INDEX_TYPE_UINT16: VkIndexType = 0;
1449pub const VK_INDEX_TYPE_UINT32: VkIndexType = 1;
1450pub const VK_INDEX_TYPE_NONE_NV: VkIndexType = 1000165000;
1451pub const VK_INDEX_TYPE_BEGIN_RANGE: VkIndexType = 0;
1452pub const VK_INDEX_TYPE_END_RANGE: VkIndexType = 1;
1453pub const VK_INDEX_TYPE_RANGE_SIZE: VkIndexType = 2;
1454pub const VK_INDEX_TYPE_MAX_ENUM: VkIndexType = 2147483647;
1455pub type VkIndexType = u32;
1456pub const VK_SUBPASS_CONTENTS_INLINE: VkSubpassContents = 0;
1457pub const VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS: VkSubpassContents = 1;
1458pub const VK_SUBPASS_CONTENTS_BEGIN_RANGE: VkSubpassContents = 0;
1459pub const VK_SUBPASS_CONTENTS_END_RANGE: VkSubpassContents = 1;
1460pub const VK_SUBPASS_CONTENTS_RANGE_SIZE: VkSubpassContents = 2;
1461pub const VK_SUBPASS_CONTENTS_MAX_ENUM: VkSubpassContents = 2147483647;
1462pub type VkSubpassContents = u32;
1463pub const VK_OBJECT_TYPE_UNKNOWN: VkObjectType = 0;
1464pub const VK_OBJECT_TYPE_INSTANCE: VkObjectType = 1;
1465pub const VK_OBJECT_TYPE_PHYSICAL_DEVICE: VkObjectType = 2;
1466pub const VK_OBJECT_TYPE_DEVICE: VkObjectType = 3;
1467pub const VK_OBJECT_TYPE_QUEUE: VkObjectType = 4;
1468pub const VK_OBJECT_TYPE_SEMAPHORE: VkObjectType = 5;
1469pub const VK_OBJECT_TYPE_COMMAND_BUFFER: VkObjectType = 6;
1470pub const VK_OBJECT_TYPE_FENCE: VkObjectType = 7;
1471pub const VK_OBJECT_TYPE_DEVICE_MEMORY: VkObjectType = 8;
1472pub const VK_OBJECT_TYPE_BUFFER: VkObjectType = 9;
1473pub const VK_OBJECT_TYPE_IMAGE: VkObjectType = 10;
1474pub const VK_OBJECT_TYPE_EVENT: VkObjectType = 11;
1475pub const VK_OBJECT_TYPE_QUERY_POOL: VkObjectType = 12;
1476pub const VK_OBJECT_TYPE_BUFFER_VIEW: VkObjectType = 13;
1477pub const VK_OBJECT_TYPE_IMAGE_VIEW: VkObjectType = 14;
1478pub const VK_OBJECT_TYPE_SHADER_MODULE: VkObjectType = 15;
1479pub const VK_OBJECT_TYPE_PIPELINE_CACHE: VkObjectType = 16;
1480pub const VK_OBJECT_TYPE_PIPELINE_LAYOUT: VkObjectType = 17;
1481pub const VK_OBJECT_TYPE_RENDER_PASS: VkObjectType = 18;
1482pub const VK_OBJECT_TYPE_PIPELINE: VkObjectType = 19;
1483pub const VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT: VkObjectType = 20;
1484pub const VK_OBJECT_TYPE_SAMPLER: VkObjectType = 21;
1485pub const VK_OBJECT_TYPE_DESCRIPTOR_POOL: VkObjectType = 22;
1486pub const VK_OBJECT_TYPE_DESCRIPTOR_SET: VkObjectType = 23;
1487pub const VK_OBJECT_TYPE_FRAMEBUFFER: VkObjectType = 24;
1488pub const VK_OBJECT_TYPE_COMMAND_POOL: VkObjectType = 25;
1489pub const VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION: VkObjectType = 1000156000;
1490pub const VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE: VkObjectType = 1000085000;
1491pub const VK_OBJECT_TYPE_SURFACE_KHR: VkObjectType = 1000000000;
1492pub const VK_OBJECT_TYPE_SWAPCHAIN_KHR: VkObjectType = 1000001000;
1493pub const VK_OBJECT_TYPE_DISPLAY_KHR: VkObjectType = 1000002000;
1494pub const VK_OBJECT_TYPE_DISPLAY_MODE_KHR: VkObjectType = 1000002001;
1495pub const VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT: VkObjectType = 1000011000;
1496pub const VK_OBJECT_TYPE_OBJECT_TABLE_NVX: VkObjectType = 1000086000;
1497pub const VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX: VkObjectType = 1000086001;
1498pub const VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT: VkObjectType = 1000128000;
1499pub const VK_OBJECT_TYPE_VALIDATION_CACHE_EXT: VkObjectType = 1000160000;
1500pub const VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV: VkObjectType = 1000165000;
1501pub const VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR: VkObjectType = 1000085000;
1502pub const VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR: VkObjectType = 1000156000;
1503pub const VK_OBJECT_TYPE_BEGIN_RANGE: VkObjectType = 0;
1504pub const VK_OBJECT_TYPE_END_RANGE: VkObjectType = 25;
1505pub const VK_OBJECT_TYPE_RANGE_SIZE: VkObjectType = 26;
1506pub const VK_OBJECT_TYPE_MAX_ENUM: VkObjectType = 2147483647;
1507pub type VkObjectType = u32;
1508pub const VK_VENDOR_ID_VIV: VkVendorId = 65537;
1509pub const VK_VENDOR_ID_VSI: VkVendorId = 65538;
1510pub const VK_VENDOR_ID_KAZAN: VkVendorId = 65539;
1511pub const VK_VENDOR_ID_BEGIN_RANGE: VkVendorId = 65537;
1512pub const VK_VENDOR_ID_END_RANGE: VkVendorId = 65539;
1513pub const VK_VENDOR_ID_RANGE_SIZE: VkVendorId = 3;
1514pub const VK_VENDOR_ID_MAX_ENUM: VkVendorId = 2147483647;
1515pub type VkVendorId = u32;
1516pub type VkInstanceCreateFlags = VkFlags;
1517pub const VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT: VkFormatFeatureFlagBits = 1;
1518pub const VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT: VkFormatFeatureFlagBits = 2;
1519pub const VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT: VkFormatFeatureFlagBits = 4;
1520pub const VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT: VkFormatFeatureFlagBits = 8;
1521pub const VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT: VkFormatFeatureFlagBits = 16;
1522pub const VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT: VkFormatFeatureFlagBits = 32;
1523pub const VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT: VkFormatFeatureFlagBits = 64;
1524pub const VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT: VkFormatFeatureFlagBits = 128;
1525pub const VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT: VkFormatFeatureFlagBits = 256;
1526pub const VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT: VkFormatFeatureFlagBits = 512;
1527pub const VK_FORMAT_FEATURE_BLIT_SRC_BIT: VkFormatFeatureFlagBits = 1024;
1528pub const VK_FORMAT_FEATURE_BLIT_DST_BIT: VkFormatFeatureFlagBits = 2048;
1529pub const VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT: VkFormatFeatureFlagBits = 4096;
1530pub const VK_FORMAT_FEATURE_TRANSFER_SRC_BIT: VkFormatFeatureFlagBits = 16384;
1531pub const VK_FORMAT_FEATURE_TRANSFER_DST_BIT: VkFormatFeatureFlagBits = 32768;
1532pub const VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT: VkFormatFeatureFlagBits = 131072;
1533pub const VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT:
1534 VkFormatFeatureFlagBits = 262144;
1535pub const VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT:
1536 VkFormatFeatureFlagBits = 524288;
1537pub const VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT:
1538 VkFormatFeatureFlagBits = 1048576;
1539pub const VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT : VkFormatFeatureFlagBits = 2097152 ;
1540pub const VK_FORMAT_FEATURE_DISJOINT_BIT: VkFormatFeatureFlagBits = 4194304;
1541pub const VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT: VkFormatFeatureFlagBits = 8388608;
1542pub const VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG: VkFormatFeatureFlagBits = 8192;
1543pub const VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT: VkFormatFeatureFlagBits = 65536;
1544pub const VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT: VkFormatFeatureFlagBits = 16777216;
1545pub const VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR: VkFormatFeatureFlagBits = 16384;
1546pub const VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR: VkFormatFeatureFlagBits = 32768;
1547pub const VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR: VkFormatFeatureFlagBits = 131072;
1548pub const VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR:
1549 VkFormatFeatureFlagBits = 262144;
1550pub const VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR : VkFormatFeatureFlagBits = 524288 ;
1551pub const VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR : VkFormatFeatureFlagBits = 1048576 ;
1552pub const VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR : VkFormatFeatureFlagBits = 2097152 ;
1553pub const VK_FORMAT_FEATURE_DISJOINT_BIT_KHR: VkFormatFeatureFlagBits = 4194304;
1554pub const VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR: VkFormatFeatureFlagBits = 8388608;
1555pub const VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT: VkFormatFeatureFlagBits = 8192;
1556pub const VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM: VkFormatFeatureFlagBits = 2147483647;
1557pub type VkFormatFeatureFlagBits = u32;
1558pub type VkFormatFeatureFlags = VkFlags;
1559pub const VK_IMAGE_USAGE_TRANSFER_SRC_BIT: VkImageUsageFlagBits = 1;
1560pub const VK_IMAGE_USAGE_TRANSFER_DST_BIT: VkImageUsageFlagBits = 2;
1561pub const VK_IMAGE_USAGE_SAMPLED_BIT: VkImageUsageFlagBits = 4;
1562pub const VK_IMAGE_USAGE_STORAGE_BIT: VkImageUsageFlagBits = 8;
1563pub const VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT: VkImageUsageFlagBits = 16;
1564pub const VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT: VkImageUsageFlagBits = 32;
1565pub const VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT: VkImageUsageFlagBits = 64;
1566pub const VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT: VkImageUsageFlagBits = 128;
1567pub const VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV: VkImageUsageFlagBits = 256;
1568pub const VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT: VkImageUsageFlagBits = 512;
1569pub const VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM: VkImageUsageFlagBits = 2147483647;
1570pub type VkImageUsageFlagBits = u32;
1571pub type VkImageUsageFlags = VkFlags;
1572pub const VK_IMAGE_CREATE_SPARSE_BINDING_BIT: VkImageCreateFlagBits = 1;
1573pub const VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT: VkImageCreateFlagBits = 2;
1574pub const VK_IMAGE_CREATE_SPARSE_ALIASED_BIT: VkImageCreateFlagBits = 4;
1575pub const VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT: VkImageCreateFlagBits = 8;
1576pub const VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT: VkImageCreateFlagBits = 16;
1577pub const VK_IMAGE_CREATE_ALIAS_BIT: VkImageCreateFlagBits = 1024;
1578pub const VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT: VkImageCreateFlagBits = 64;
1579pub const VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT: VkImageCreateFlagBits = 32;
1580pub const VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT: VkImageCreateFlagBits = 128;
1581pub const VK_IMAGE_CREATE_EXTENDED_USAGE_BIT: VkImageCreateFlagBits = 256;
1582pub const VK_IMAGE_CREATE_PROTECTED_BIT: VkImageCreateFlagBits = 2048;
1583pub const VK_IMAGE_CREATE_DISJOINT_BIT: VkImageCreateFlagBits = 512;
1584pub const VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV: VkImageCreateFlagBits = 8192;
1585pub const VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT: VkImageCreateFlagBits = 4096;
1586pub const VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT: VkImageCreateFlagBits = 16384;
1587pub const VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR: VkImageCreateFlagBits = 64;
1588pub const VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR: VkImageCreateFlagBits = 32;
1589pub const VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR: VkImageCreateFlagBits = 128;
1590pub const VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR: VkImageCreateFlagBits = 256;
1591pub const VK_IMAGE_CREATE_DISJOINT_BIT_KHR: VkImageCreateFlagBits = 512;
1592pub const VK_IMAGE_CREATE_ALIAS_BIT_KHR: VkImageCreateFlagBits = 1024;
1593pub const VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM: VkImageCreateFlagBits = 2147483647;
1594pub type VkImageCreateFlagBits = u32;
1595pub type VkImageCreateFlags = VkFlags;
1596pub const VK_SAMPLE_COUNT_1_BIT: VkSampleCountFlagBits = 1;
1597pub const VK_SAMPLE_COUNT_2_BIT: VkSampleCountFlagBits = 2;
1598pub const VK_SAMPLE_COUNT_4_BIT: VkSampleCountFlagBits = 4;
1599pub const VK_SAMPLE_COUNT_8_BIT: VkSampleCountFlagBits = 8;
1600pub const VK_SAMPLE_COUNT_16_BIT: VkSampleCountFlagBits = 16;
1601pub const VK_SAMPLE_COUNT_32_BIT: VkSampleCountFlagBits = 32;
1602pub const VK_SAMPLE_COUNT_64_BIT: VkSampleCountFlagBits = 64;
1603pub const VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM: VkSampleCountFlagBits = 2147483647;
1604pub type VkSampleCountFlagBits = u32;
1605pub type VkSampleCountFlags = VkFlags;
1606pub const VK_QUEUE_GRAPHICS_BIT: VkQueueFlagBits = 1;
1607pub const VK_QUEUE_COMPUTE_BIT: VkQueueFlagBits = 2;
1608pub const VK_QUEUE_TRANSFER_BIT: VkQueueFlagBits = 4;
1609pub const VK_QUEUE_SPARSE_BINDING_BIT: VkQueueFlagBits = 8;
1610pub const VK_QUEUE_PROTECTED_BIT: VkQueueFlagBits = 16;
1611pub const VK_QUEUE_FLAG_BITS_MAX_ENUM: VkQueueFlagBits = 2147483647;
1612pub type VkQueueFlagBits = u32;
1613pub type VkQueueFlags = VkFlags;
1614pub const VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT: VkMemoryPropertyFlagBits = 1;
1615pub const VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT: VkMemoryPropertyFlagBits = 2;
1616pub const VK_MEMORY_PROPERTY_HOST_COHERENT_BIT: VkMemoryPropertyFlagBits = 4;
1617pub const VK_MEMORY_PROPERTY_HOST_CACHED_BIT: VkMemoryPropertyFlagBits = 8;
1618pub const VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT: VkMemoryPropertyFlagBits = 16;
1619pub const VK_MEMORY_PROPERTY_PROTECTED_BIT: VkMemoryPropertyFlagBits = 32;
1620pub const VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM: VkMemoryPropertyFlagBits = 2147483647;
1621pub type VkMemoryPropertyFlagBits = u32;
1622pub type VkMemoryPropertyFlags = VkFlags;
1623pub const VK_MEMORY_HEAP_DEVICE_LOCAL_BIT: VkMemoryHeapFlagBits = 1;
1624pub const VK_MEMORY_HEAP_MULTI_INSTANCE_BIT: VkMemoryHeapFlagBits = 2;
1625pub const VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR: VkMemoryHeapFlagBits = 2;
1626pub const VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM: VkMemoryHeapFlagBits = 2147483647;
1627pub type VkMemoryHeapFlagBits = u32;
1628pub type VkMemoryHeapFlags = VkFlags;
1629pub type VkDeviceCreateFlags = VkFlags;
1630pub const VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT: VkDeviceQueueCreateFlagBits = 1;
1631pub const VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM: VkDeviceQueueCreateFlagBits = 2147483647;
1632pub type VkDeviceQueueCreateFlagBits = u32;
1633pub type VkDeviceQueueCreateFlags = VkFlags;
1634pub const VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT: VkPipelineStageFlagBits = 1;
1635pub const VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT: VkPipelineStageFlagBits = 2;
1636pub const VK_PIPELINE_STAGE_VERTEX_INPUT_BIT: VkPipelineStageFlagBits = 4;
1637pub const VK_PIPELINE_STAGE_VERTEX_SHADER_BIT: VkPipelineStageFlagBits = 8;
1638pub const VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT: VkPipelineStageFlagBits = 16;
1639pub const VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT: VkPipelineStageFlagBits = 32;
1640pub const VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT: VkPipelineStageFlagBits = 64;
1641pub const VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT: VkPipelineStageFlagBits = 128;
1642pub const VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT: VkPipelineStageFlagBits = 256;
1643pub const VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT: VkPipelineStageFlagBits = 512;
1644pub const VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT: VkPipelineStageFlagBits = 1024;
1645pub const VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT: VkPipelineStageFlagBits = 2048;
1646pub const VK_PIPELINE_STAGE_TRANSFER_BIT: VkPipelineStageFlagBits = 4096;
1647pub const VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT: VkPipelineStageFlagBits = 8192;
1648pub const VK_PIPELINE_STAGE_HOST_BIT: VkPipelineStageFlagBits = 16384;
1649pub const VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT: VkPipelineStageFlagBits = 32768;
1650pub const VK_PIPELINE_STAGE_ALL_COMMANDS_BIT: VkPipelineStageFlagBits = 65536;
1651pub const VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT: VkPipelineStageFlagBits = 16777216;
1652pub const VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT: VkPipelineStageFlagBits = 262144;
1653pub const VK_PIPELINE_STAGE_COMMAND_PROCESS_BIT_NVX: VkPipelineStageFlagBits = 131072;
1654pub const VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV: VkPipelineStageFlagBits = 4194304;
1655pub const VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV: VkPipelineStageFlagBits = 2097152;
1656pub const VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV: VkPipelineStageFlagBits = 33554432;
1657pub const VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV: VkPipelineStageFlagBits = 524288;
1658pub const VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV: VkPipelineStageFlagBits = 1048576;
1659pub const VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT: VkPipelineStageFlagBits = 8388608;
1660pub const VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM: VkPipelineStageFlagBits = 2147483647;
1661pub type VkPipelineStageFlagBits = u32;
1662pub type VkPipelineStageFlags = VkFlags;
1663pub type VkMemoryMapFlags = VkFlags;
1664pub const VK_IMAGE_ASPECT_COLOR_BIT: VkImageAspectFlagBits = 1;
1665pub const VK_IMAGE_ASPECT_DEPTH_BIT: VkImageAspectFlagBits = 2;
1666pub const VK_IMAGE_ASPECT_STENCIL_BIT: VkImageAspectFlagBits = 4;
1667pub const VK_IMAGE_ASPECT_METADATA_BIT: VkImageAspectFlagBits = 8;
1668pub const VK_IMAGE_ASPECT_PLANE_0_BIT: VkImageAspectFlagBits = 16;
1669pub const VK_IMAGE_ASPECT_PLANE_1_BIT: VkImageAspectFlagBits = 32;
1670pub const VK_IMAGE_ASPECT_PLANE_2_BIT: VkImageAspectFlagBits = 64;
1671pub const VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT: VkImageAspectFlagBits = 128;
1672pub const VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT: VkImageAspectFlagBits = 256;
1673pub const VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT: VkImageAspectFlagBits = 512;
1674pub const VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT: VkImageAspectFlagBits = 1024;
1675pub const VK_IMAGE_ASPECT_PLANE_0_BIT_KHR: VkImageAspectFlagBits = 16;
1676pub const VK_IMAGE_ASPECT_PLANE_1_BIT_KHR: VkImageAspectFlagBits = 32;
1677pub const VK_IMAGE_ASPECT_PLANE_2_BIT_KHR: VkImageAspectFlagBits = 64;
1678pub const VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM: VkImageAspectFlagBits = 2147483647;
1679pub type VkImageAspectFlagBits = u32;
1680pub type VkImageAspectFlags = VkFlags;
1681pub const VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT: VkSparseImageFormatFlagBits = 1;
1682pub const VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT: VkSparseImageFormatFlagBits = 2;
1683pub const VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT: VkSparseImageFormatFlagBits = 4;
1684pub const VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM: VkSparseImageFormatFlagBits = 2147483647;
1685pub type VkSparseImageFormatFlagBits = u32;
1686pub type VkSparseImageFormatFlags = VkFlags;
1687pub const VK_SPARSE_MEMORY_BIND_METADATA_BIT: VkSparseMemoryBindFlagBits = 1;
1688pub const VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM: VkSparseMemoryBindFlagBits = 2147483647;
1689pub type VkSparseMemoryBindFlagBits = u32;
1690pub type VkSparseMemoryBindFlags = VkFlags;
1691pub const VK_FENCE_CREATE_SIGNALED_BIT: VkFenceCreateFlagBits = 1;
1692pub const VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM: VkFenceCreateFlagBits = 2147483647;
1693pub type VkFenceCreateFlagBits = u32;
1694pub type VkFenceCreateFlags = VkFlags;
1695pub type VkSemaphoreCreateFlags = VkFlags;
1696pub type VkEventCreateFlags = VkFlags;
1697pub type VkQueryPoolCreateFlags = VkFlags;
1698pub const VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT:
1699 VkQueryPipelineStatisticFlagBits = 1;
1700pub const VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT:
1701 VkQueryPipelineStatisticFlagBits = 2;
1702pub const VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT:
1703 VkQueryPipelineStatisticFlagBits = 4;
1704pub const VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT:
1705 VkQueryPipelineStatisticFlagBits = 8;
1706pub const VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT:
1707 VkQueryPipelineStatisticFlagBits = 16;
1708pub const VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT: VkQueryPipelineStatisticFlagBits =
1709 32;
1710pub const VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT: VkQueryPipelineStatisticFlagBits =
1711 64;
1712pub const VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT:
1713 VkQueryPipelineStatisticFlagBits = 128;
1714pub const VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT:
1715 VkQueryPipelineStatisticFlagBits = 256;
1716pub const VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT:
1717 VkQueryPipelineStatisticFlagBits = 512;
1718pub const VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT:
1719 VkQueryPipelineStatisticFlagBits = 1024;
1720pub const VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM: VkQueryPipelineStatisticFlagBits =
1721 2147483647;
1722pub type VkQueryPipelineStatisticFlagBits = u32;
1723pub type VkQueryPipelineStatisticFlags = VkFlags;
1724pub const VK_QUERY_RESULT_64_BIT: VkQueryResultFlagBits = 1;
1725pub const VK_QUERY_RESULT_WAIT_BIT: VkQueryResultFlagBits = 2;
1726pub const VK_QUERY_RESULT_WITH_AVAILABILITY_BIT: VkQueryResultFlagBits = 4;
1727pub const VK_QUERY_RESULT_PARTIAL_BIT: VkQueryResultFlagBits = 8;
1728pub const VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM: VkQueryResultFlagBits = 2147483647;
1729pub type VkQueryResultFlagBits = u32;
1730pub type VkQueryResultFlags = VkFlags;
1731pub const VK_BUFFER_CREATE_SPARSE_BINDING_BIT: VkBufferCreateFlagBits = 1;
1732pub const VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT: VkBufferCreateFlagBits = 2;
1733pub const VK_BUFFER_CREATE_SPARSE_ALIASED_BIT: VkBufferCreateFlagBits = 4;
1734pub const VK_BUFFER_CREATE_PROTECTED_BIT: VkBufferCreateFlagBits = 8;
1735pub const VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT: VkBufferCreateFlagBits = 16;
1736pub const VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM: VkBufferCreateFlagBits = 2147483647;
1737pub type VkBufferCreateFlagBits = u32;
1738pub type VkBufferCreateFlags = VkFlags;
1739pub const VK_BUFFER_USAGE_TRANSFER_SRC_BIT: VkBufferUsageFlagBits = 1;
1740pub const VK_BUFFER_USAGE_TRANSFER_DST_BIT: VkBufferUsageFlagBits = 2;
1741pub const VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT: VkBufferUsageFlagBits = 4;
1742pub const VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT: VkBufferUsageFlagBits = 8;
1743pub const VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT: VkBufferUsageFlagBits = 16;
1744pub const VK_BUFFER_USAGE_STORAGE_BUFFER_BIT: VkBufferUsageFlagBits = 32;
1745pub const VK_BUFFER_USAGE_INDEX_BUFFER_BIT: VkBufferUsageFlagBits = 64;
1746pub const VK_BUFFER_USAGE_VERTEX_BUFFER_BIT: VkBufferUsageFlagBits = 128;
1747pub const VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT: VkBufferUsageFlagBits = 256;
1748pub const VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT: VkBufferUsageFlagBits = 2048;
1749pub const VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT: VkBufferUsageFlagBits = 4096;
1750pub const VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT: VkBufferUsageFlagBits = 512;
1751pub const VK_BUFFER_USAGE_RAY_TRACING_BIT_NV: VkBufferUsageFlagBits = 1024;
1752pub const VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT: VkBufferUsageFlagBits = 131072;
1753pub const VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM: VkBufferUsageFlagBits = 2147483647;
1754pub type VkBufferUsageFlagBits = u32;
1755pub type VkBufferUsageFlags = VkFlags;
1756pub type VkBufferViewCreateFlags = VkFlags;
1757pub const VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT: VkImageViewCreateFlagBits = 1;
1758pub const VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM: VkImageViewCreateFlagBits = 2147483647;
1759pub type VkImageViewCreateFlagBits = u32;
1760pub type VkImageViewCreateFlags = VkFlags;
1761pub type VkShaderModuleCreateFlags = VkFlags;
1762pub type VkPipelineCacheCreateFlags = VkFlags;
1763pub const VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT: VkPipelineCreateFlagBits = 1;
1764pub const VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT: VkPipelineCreateFlagBits = 2;
1765pub const VK_PIPELINE_CREATE_DERIVATIVE_BIT: VkPipelineCreateFlagBits = 4;
1766pub const VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT: VkPipelineCreateFlagBits = 8;
1767pub const VK_PIPELINE_CREATE_DISPATCH_BASE: VkPipelineCreateFlagBits = 16;
1768pub const VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV: VkPipelineCreateFlagBits = 32;
1769pub const VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR: VkPipelineCreateFlagBits = 8;
1770pub const VK_PIPELINE_CREATE_DISPATCH_BASE_KHR: VkPipelineCreateFlagBits = 16;
1771pub const VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM: VkPipelineCreateFlagBits = 2147483647;
1772pub type VkPipelineCreateFlagBits = u32;
1773pub type VkPipelineCreateFlags = VkFlags;
1774pub type VkPipelineShaderStageCreateFlags = VkFlags;
1775pub const VK_SHADER_STAGE_VERTEX_BIT: VkShaderStageFlagBits = 1;
1776pub const VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT: VkShaderStageFlagBits = 2;
1777pub const VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT: VkShaderStageFlagBits = 4;
1778pub const VK_SHADER_STAGE_GEOMETRY_BIT: VkShaderStageFlagBits = 8;
1779pub const VK_SHADER_STAGE_FRAGMENT_BIT: VkShaderStageFlagBits = 16;
1780pub const VK_SHADER_STAGE_COMPUTE_BIT: VkShaderStageFlagBits = 32;
1781pub const VK_SHADER_STAGE_ALL_GRAPHICS: VkShaderStageFlagBits = 31;
1782pub const VK_SHADER_STAGE_ALL: VkShaderStageFlagBits = 2147483647;
1783pub const VK_SHADER_STAGE_RAYGEN_BIT_NV: VkShaderStageFlagBits = 256;
1784pub const VK_SHADER_STAGE_ANY_HIT_BIT_NV: VkShaderStageFlagBits = 512;
1785pub const VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV: VkShaderStageFlagBits = 1024;
1786pub const VK_SHADER_STAGE_MISS_BIT_NV: VkShaderStageFlagBits = 2048;
1787pub const VK_SHADER_STAGE_INTERSECTION_BIT_NV: VkShaderStageFlagBits = 4096;
1788pub const VK_SHADER_STAGE_CALLABLE_BIT_NV: VkShaderStageFlagBits = 8192;
1789pub const VK_SHADER_STAGE_TASK_BIT_NV: VkShaderStageFlagBits = 64;
1790pub const VK_SHADER_STAGE_MESH_BIT_NV: VkShaderStageFlagBits = 128;
1791pub const VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM: VkShaderStageFlagBits = 2147483647;
1792pub type VkShaderStageFlagBits = u32;
1793pub type VkPipelineVertexInputStateCreateFlags = VkFlags;
1794pub type VkPipelineInputAssemblyStateCreateFlags = VkFlags;
1795pub type VkPipelineTessellationStateCreateFlags = VkFlags;
1796pub type VkPipelineViewportStateCreateFlags = VkFlags;
1797pub type VkPipelineRasterizationStateCreateFlags = VkFlags;
1798pub const VK_CULL_MODE_NONE: VkCullModeFlagBits = 0;
1799pub const VK_CULL_MODE_FRONT_BIT: VkCullModeFlagBits = 1;
1800pub const VK_CULL_MODE_BACK_BIT: VkCullModeFlagBits = 2;
1801pub const VK_CULL_MODE_FRONT_AND_BACK: VkCullModeFlagBits = 3;
1802pub const VK_CULL_MODE_FLAG_BITS_MAX_ENUM: VkCullModeFlagBits = 2147483647;
1803pub type VkCullModeFlagBits = u32;
1804pub type VkCullModeFlags = VkFlags;
1805pub type VkPipelineMultisampleStateCreateFlags = VkFlags;
1806pub type VkPipelineDepthStencilStateCreateFlags = VkFlags;
1807pub type VkPipelineColorBlendStateCreateFlags = VkFlags;
1808pub const VK_COLOR_COMPONENT_R_BIT: VkColorComponentFlagBits = 1;
1809pub const VK_COLOR_COMPONENT_G_BIT: VkColorComponentFlagBits = 2;
1810pub const VK_COLOR_COMPONENT_B_BIT: VkColorComponentFlagBits = 4;
1811pub const VK_COLOR_COMPONENT_A_BIT: VkColorComponentFlagBits = 8;
1812pub const VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM: VkColorComponentFlagBits = 2147483647;
1813pub type VkColorComponentFlagBits = u32;
1814pub type VkColorComponentFlags = VkFlags;
1815pub type VkPipelineDynamicStateCreateFlags = VkFlags;
1816pub type VkPipelineLayoutCreateFlags = VkFlags;
1817pub type VkShaderStageFlags = VkFlags;
1818pub const VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT: VkSamplerCreateFlagBits = 1;
1819pub const VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT: VkSamplerCreateFlagBits = 2;
1820pub const VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM: VkSamplerCreateFlagBits = 2147483647;
1821pub type VkSamplerCreateFlagBits = u32;
1822pub type VkSamplerCreateFlags = VkFlags;
1823pub const VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR:
1824 VkDescriptorSetLayoutCreateFlagBits = 1;
1825pub const VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT:
1826 VkDescriptorSetLayoutCreateFlagBits = 2;
1827pub const VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM: VkDescriptorSetLayoutCreateFlagBits =
1828 2147483647;
1829pub type VkDescriptorSetLayoutCreateFlagBits = u32;
1830pub type VkDescriptorSetLayoutCreateFlags = VkFlags;
1831pub const VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT: VkDescriptorPoolCreateFlagBits = 1;
1832pub const VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT: VkDescriptorPoolCreateFlagBits = 2;
1833pub const VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM: VkDescriptorPoolCreateFlagBits = 2147483647;
1834pub type VkDescriptorPoolCreateFlagBits = u32;
1835pub type VkDescriptorPoolCreateFlags = VkFlags;
1836pub type VkDescriptorPoolResetFlags = VkFlags;
1837pub type VkFramebufferCreateFlags = VkFlags;
1838pub type VkRenderPassCreateFlags = VkFlags;
1839pub const VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT: VkAttachmentDescriptionFlagBits = 1;
1840pub const VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM: VkAttachmentDescriptionFlagBits =
1841 2147483647;
1842pub type VkAttachmentDescriptionFlagBits = u32;
1843pub type VkAttachmentDescriptionFlags = VkFlags;
1844pub const VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX: VkSubpassDescriptionFlagBits = 1;
1845pub const VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX: VkSubpassDescriptionFlagBits = 2;
1846pub const VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM: VkSubpassDescriptionFlagBits = 2147483647;
1847pub type VkSubpassDescriptionFlagBits = u32;
1848pub type VkSubpassDescriptionFlags = VkFlags;
1849pub const VK_ACCESS_INDIRECT_COMMAND_READ_BIT: VkAccessFlagBits = 1;
1850pub const VK_ACCESS_INDEX_READ_BIT: VkAccessFlagBits = 2;
1851pub const VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT: VkAccessFlagBits = 4;
1852pub const VK_ACCESS_UNIFORM_READ_BIT: VkAccessFlagBits = 8;
1853pub const VK_ACCESS_INPUT_ATTACHMENT_READ_BIT: VkAccessFlagBits = 16;
1854pub const VK_ACCESS_SHADER_READ_BIT: VkAccessFlagBits = 32;
1855pub const VK_ACCESS_SHADER_WRITE_BIT: VkAccessFlagBits = 64;
1856pub const VK_ACCESS_COLOR_ATTACHMENT_READ_BIT: VkAccessFlagBits = 128;
1857pub const VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT: VkAccessFlagBits = 256;
1858pub const VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT: VkAccessFlagBits = 512;
1859pub const VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT: VkAccessFlagBits = 1024;
1860pub const VK_ACCESS_TRANSFER_READ_BIT: VkAccessFlagBits = 2048;
1861pub const VK_ACCESS_TRANSFER_WRITE_BIT: VkAccessFlagBits = 4096;
1862pub const VK_ACCESS_HOST_READ_BIT: VkAccessFlagBits = 8192;
1863pub const VK_ACCESS_HOST_WRITE_BIT: VkAccessFlagBits = 16384;
1864pub const VK_ACCESS_MEMORY_READ_BIT: VkAccessFlagBits = 32768;
1865pub const VK_ACCESS_MEMORY_WRITE_BIT: VkAccessFlagBits = 65536;
1866pub const VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT: VkAccessFlagBits = 33554432;
1867pub const VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT: VkAccessFlagBits = 67108864;
1868pub const VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT: VkAccessFlagBits = 134217728;
1869pub const VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT: VkAccessFlagBits = 1048576;
1870pub const VK_ACCESS_COMMAND_PROCESS_READ_BIT_NVX: VkAccessFlagBits = 131072;
1871pub const VK_ACCESS_COMMAND_PROCESS_WRITE_BIT_NVX: VkAccessFlagBits = 262144;
1872pub const VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT: VkAccessFlagBits = 524288;
1873pub const VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV: VkAccessFlagBits = 8388608;
1874pub const VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV: VkAccessFlagBits = 2097152;
1875pub const VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV: VkAccessFlagBits = 4194304;
1876pub const VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT: VkAccessFlagBits = 16777216;
1877pub const VK_ACCESS_FLAG_BITS_MAX_ENUM: VkAccessFlagBits = 2147483647;
1878pub type VkAccessFlagBits = u32;
1879pub type VkAccessFlags = VkFlags;
1880pub const VK_DEPENDENCY_BY_REGION_BIT: VkDependencyFlagBits = 1;
1881pub const VK_DEPENDENCY_DEVICE_GROUP_BIT: VkDependencyFlagBits = 4;
1882pub const VK_DEPENDENCY_VIEW_LOCAL_BIT: VkDependencyFlagBits = 2;
1883pub const VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR: VkDependencyFlagBits = 2;
1884pub const VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR: VkDependencyFlagBits = 4;
1885pub const VK_DEPENDENCY_FLAG_BITS_MAX_ENUM: VkDependencyFlagBits = 2147483647;
1886pub type VkDependencyFlagBits = u32;
1887pub type VkDependencyFlags = VkFlags;
1888pub const VK_COMMAND_POOL_CREATE_TRANSIENT_BIT: VkCommandPoolCreateFlagBits = 1;
1889pub const VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT: VkCommandPoolCreateFlagBits = 2;
1890pub const VK_COMMAND_POOL_CREATE_PROTECTED_BIT: VkCommandPoolCreateFlagBits = 4;
1891pub const VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM: VkCommandPoolCreateFlagBits = 2147483647;
1892pub type VkCommandPoolCreateFlagBits = u32;
1893pub type VkCommandPoolCreateFlags = VkFlags;
1894pub const VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT: VkCommandPoolResetFlagBits = 1;
1895pub const VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM: VkCommandPoolResetFlagBits = 2147483647;
1896pub type VkCommandPoolResetFlagBits = u32;
1897pub type VkCommandPoolResetFlags = VkFlags;
1898pub const VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT: VkCommandBufferUsageFlagBits = 1;
1899pub const VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT: VkCommandBufferUsageFlagBits = 2;
1900pub const VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT: VkCommandBufferUsageFlagBits = 4;
1901pub const VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM: VkCommandBufferUsageFlagBits = 2147483647;
1902pub type VkCommandBufferUsageFlagBits = u32;
1903pub type VkCommandBufferUsageFlags = VkFlags;
1904pub const VK_QUERY_CONTROL_PRECISE_BIT: VkQueryControlFlagBits = 1;
1905pub const VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM: VkQueryControlFlagBits = 2147483647;
1906pub type VkQueryControlFlagBits = u32;
1907pub type VkQueryControlFlags = VkFlags;
1908pub const VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT: VkCommandBufferResetFlagBits = 1;
1909pub const VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM: VkCommandBufferResetFlagBits = 2147483647;
1910pub type VkCommandBufferResetFlagBits = u32;
1911pub type VkCommandBufferResetFlags = VkFlags;
1912pub const VK_STENCIL_FACE_FRONT_BIT: VkStencilFaceFlagBits = 1;
1913pub const VK_STENCIL_FACE_BACK_BIT: VkStencilFaceFlagBits = 2;
1914pub const VK_STENCIL_FRONT_AND_BACK: VkStencilFaceFlagBits = 3;
1915pub const VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM: VkStencilFaceFlagBits = 2147483647;
1916pub type VkStencilFaceFlagBits = u32;
1917pub type VkStencilFaceFlags = VkFlags;
1918
1919#[repr(C)]
1920#[derive(Copy, Clone)]
1921pub struct VkApplicationInfo {
1922 pub sType: VkStructureType,
1923 pub pNext: *const ::std::os::raw::c_void,
1924 pub pApplicationName: *const ::std::os::raw::c_char,
1925 pub applicationVersion: u32,
1926 pub pEngineName: *const ::std::os::raw::c_char,
1927 pub engineVersion: u32,
1928 pub apiVersion: u32,
1929}
1930#[repr(C)]
1931#[derive(Copy, Clone)]
1932pub struct VkInstanceCreateInfo {
1933 pub sType: VkStructureType,
1934 pub pNext: *const ::std::os::raw::c_void,
1935 pub flags: VkInstanceCreateFlags,
1936 pub pApplicationInfo: *const VkApplicationInfo,
1937 pub enabledLayerCount: u32,
1938 pub ppEnabledLayerNames: *const *const ::std::os::raw::c_char,
1939 pub enabledExtensionCount: u32,
1940 pub ppEnabledExtensionNames: *const *const ::std::os::raw::c_char,
1941}
1942pub type PFN_vkAllocationFunction = ::std::option::Option<
1943 unsafe extern "system" fn(
1944 pUserData: *mut ::std::os::raw::c_void,
1945 size: usize,
1946 alignment: usize,
1947 allocationScope: VkSystemAllocationScope,
1948 ) -> *mut ::std::os::raw::c_void,
1949>;
1950pub type PFN_vkReallocationFunction = ::std::option::Option<
1951 unsafe extern "system" fn(
1952 pUserData: *mut ::std::os::raw::c_void,
1953 pOriginal: *mut ::std::os::raw::c_void,
1954 size: usize,
1955 alignment: usize,
1956 allocationScope: VkSystemAllocationScope,
1957 ) -> *mut ::std::os::raw::c_void,
1958>;
1959pub type PFN_vkFreeFunction = ::std::option::Option<
1960 unsafe extern "system" fn(
1961 pUserData: *mut ::std::os::raw::c_void,
1962 pMemory: *mut ::std::os::raw::c_void,
1963 ),
1964>;
1965pub type PFN_vkInternalAllocationNotification = ::std::option::Option<
1966 unsafe extern "system" fn(
1967 pUserData: *mut ::std::os::raw::c_void,
1968 size: usize,
1969 allocationType: VkInternalAllocationType,
1970 allocationScope: VkSystemAllocationScope,
1971 ),
1972>;
1973pub type PFN_vkInternalFreeNotification = ::std::option::Option<
1974 unsafe extern "system" fn(
1975 pUserData: *mut ::std::os::raw::c_void,
1976 size: usize,
1977 allocationType: VkInternalAllocationType,
1978 allocationScope: VkSystemAllocationScope,
1979 ),
1980>;
1981#[repr(C)]
1982#[derive(Copy, Clone)]
1983pub struct VkAllocationCallbacks {
1984 pub pUserData: *mut ::std::os::raw::c_void,
1985 pub pfnAllocation: PFN_vkAllocationFunction,
1986 pub pfnReallocation: PFN_vkReallocationFunction,
1987 pub pfnFree: PFN_vkFreeFunction,
1988 pub pfnInternalAllocation: PFN_vkInternalAllocationNotification,
1989 pub pfnInternalFree: PFN_vkInternalFreeNotification,
1990}
1991#[repr(C)]
1992#[derive(Copy, Clone)]
1993pub struct VkPhysicalDeviceFeatures {
1994 pub robustBufferAccess: VkBool32,
1995 pub fullDrawIndexUint32: VkBool32,
1996 pub imageCubeArray: VkBool32,
1997 pub independentBlend: VkBool32,
1998 pub geometryShader: VkBool32,
1999 pub tessellationShader: VkBool32,
2000 pub sampleRateShading: VkBool32,
2001 pub dualSrcBlend: VkBool32,
2002 pub logicOp: VkBool32,
2003 pub multiDrawIndirect: VkBool32,
2004 pub drawIndirectFirstInstance: VkBool32,
2005 pub depthClamp: VkBool32,
2006 pub depthBiasClamp: VkBool32,
2007 pub fillModeNonSolid: VkBool32,
2008 pub depthBounds: VkBool32,
2009 pub wideLines: VkBool32,
2010 pub largePoints: VkBool32,
2011 pub alphaToOne: VkBool32,
2012 pub multiViewport: VkBool32,
2013 pub samplerAnisotropy: VkBool32,
2014 pub textureCompressionETC2: VkBool32,
2015 pub textureCompressionASTC_LDR: VkBool32,
2016 pub textureCompressionBC: VkBool32,
2017 pub occlusionQueryPrecise: VkBool32,
2018 pub pipelineStatisticsQuery: VkBool32,
2019 pub vertexPipelineStoresAndAtomics: VkBool32,
2020 pub fragmentStoresAndAtomics: VkBool32,
2021 pub shaderTessellationAndGeometryPointSize: VkBool32,
2022 pub shaderImageGatherExtended: VkBool32,
2023 pub shaderStorageImageExtendedFormats: VkBool32,
2024 pub shaderStorageImageMultisample: VkBool32,
2025 pub shaderStorageImageReadWithoutFormat: VkBool32,
2026 pub shaderStorageImageWriteWithoutFormat: VkBool32,
2027 pub shaderUniformBufferArrayDynamicIndexing: VkBool32,
2028 pub shaderSampledImageArrayDynamicIndexing: VkBool32,
2029 pub shaderStorageBufferArrayDynamicIndexing: VkBool32,
2030 pub shaderStorageImageArrayDynamicIndexing: VkBool32,
2031 pub shaderClipDistance: VkBool32,
2032 pub shaderCullDistance: VkBool32,
2033 pub shaderFloat64: VkBool32,
2034 pub shaderInt64: VkBool32,
2035 pub shaderInt16: VkBool32,
2036 pub shaderResourceResidency: VkBool32,
2037 pub shaderResourceMinLod: VkBool32,
2038 pub sparseBinding: VkBool32,
2039 pub sparseResidencyBuffer: VkBool32,
2040 pub sparseResidencyImage2D: VkBool32,
2041 pub sparseResidencyImage3D: VkBool32,
2042 pub sparseResidency2Samples: VkBool32,
2043 pub sparseResidency4Samples: VkBool32,
2044 pub sparseResidency8Samples: VkBool32,
2045 pub sparseResidency16Samples: VkBool32,
2046 pub sparseResidencyAliased: VkBool32,
2047 pub variableMultisampleRate: VkBool32,
2048 pub inheritedQueries: VkBool32,
2049}
2050#[repr(C)]
2051#[derive(Copy, Clone)]
2052pub struct VkFormatProperties {
2053 pub linearTilingFeatures: VkFormatFeatureFlags,
2054 pub optimalTilingFeatures: VkFormatFeatureFlags,
2055 pub bufferFeatures: VkFormatFeatureFlags,
2056}
2057#[repr(C)]
2058#[derive(Copy, Clone)]
2059pub struct VkExtent3D {
2060 pub width: u32,
2061 pub height: u32,
2062 pub depth: u32,
2063}
2064#[repr(C)]
2065#[derive(Copy, Clone)]
2066pub struct VkImageFormatProperties {
2067 pub maxExtent: VkExtent3D,
2068 pub maxMipLevels: u32,
2069 pub maxArrayLayers: u32,
2070 pub sampleCounts: VkSampleCountFlags,
2071 pub maxResourceSize: VkDeviceSize,
2072}
2073#[repr(C)]
2074#[derive(Copy, Clone)]
2075pub struct VkPhysicalDeviceLimits {
2076 pub maxImageDimension1D: u32,
2077 pub maxImageDimension2D: u32,
2078 pub maxImageDimension3D: u32,
2079 pub maxImageDimensionCube: u32,
2080 pub maxImageArrayLayers: u32,
2081 pub maxTexelBufferElements: u32,
2082 pub maxUniformBufferRange: u32,
2083 pub maxStorageBufferRange: u32,
2084 pub maxPushConstantsSize: u32,
2085 pub maxMemoryAllocationCount: u32,
2086 pub maxSamplerAllocationCount: u32,
2087 pub bufferImageGranularity: VkDeviceSize,
2088 pub sparseAddressSpaceSize: VkDeviceSize,
2089 pub maxBoundDescriptorSets: u32,
2090 pub maxPerStageDescriptorSamplers: u32,
2091 pub maxPerStageDescriptorUniformBuffers: u32,
2092 pub maxPerStageDescriptorStorageBuffers: u32,
2093 pub maxPerStageDescriptorSampledImages: u32,
2094 pub maxPerStageDescriptorStorageImages: u32,
2095 pub maxPerStageDescriptorInputAttachments: u32,
2096 pub maxPerStageResources: u32,
2097 pub maxDescriptorSetSamplers: u32,
2098 pub maxDescriptorSetUniformBuffers: u32,
2099 pub maxDescriptorSetUniformBuffersDynamic: u32,
2100 pub maxDescriptorSetStorageBuffers: u32,
2101 pub maxDescriptorSetStorageBuffersDynamic: u32,
2102 pub maxDescriptorSetSampledImages: u32,
2103 pub maxDescriptorSetStorageImages: u32,
2104 pub maxDescriptorSetInputAttachments: u32,
2105 pub maxVertexInputAttributes: u32,
2106 pub maxVertexInputBindings: u32,
2107 pub maxVertexInputAttributeOffset: u32,
2108 pub maxVertexInputBindingStride: u32,
2109 pub maxVertexOutputComponents: u32,
2110 pub maxTessellationGenerationLevel: u32,
2111 pub maxTessellationPatchSize: u32,
2112 pub maxTessellationControlPerVertexInputComponents: u32,
2113 pub maxTessellationControlPerVertexOutputComponents: u32,
2114 pub maxTessellationControlPerPatchOutputComponents: u32,
2115 pub maxTessellationControlTotalOutputComponents: u32,
2116 pub maxTessellationEvaluationInputComponents: u32,
2117 pub maxTessellationEvaluationOutputComponents: u32,
2118 pub maxGeometryShaderInvocations: u32,
2119 pub maxGeometryInputComponents: u32,
2120 pub maxGeometryOutputComponents: u32,
2121 pub maxGeometryOutputVertices: u32,
2122 pub maxGeometryTotalOutputComponents: u32,
2123 pub maxFragmentInputComponents: u32,
2124 pub maxFragmentOutputAttachments: u32,
2125 pub maxFragmentDualSrcAttachments: u32,
2126 pub maxFragmentCombinedOutputResources: u32,
2127 pub maxComputeSharedMemorySize: u32,
2128 pub maxComputeWorkGroupCount: [u32; 3usize],
2129 pub maxComputeWorkGroupInvocations: u32,
2130 pub maxComputeWorkGroupSize: [u32; 3usize],
2131 pub subPixelPrecisionBits: u32,
2132 pub subTexelPrecisionBits: u32,
2133 pub mipmapPrecisionBits: u32,
2134 pub maxDrawIndexedIndexValue: u32,
2135 pub maxDrawIndirectCount: u32,
2136 pub maxSamplerLodBias: f32,
2137 pub maxSamplerAnisotropy: f32,
2138 pub maxViewports: u32,
2139 pub maxViewportDimensions: [u32; 2usize],
2140 pub viewportBoundsRange: [f32; 2usize],
2141 pub viewportSubPixelBits: u32,
2142 pub minMemoryMapAlignment: usize,
2143 pub minTexelBufferOffsetAlignment: VkDeviceSize,
2144 pub minUniformBufferOffsetAlignment: VkDeviceSize,
2145 pub minStorageBufferOffsetAlignment: VkDeviceSize,
2146 pub minTexelOffset: i32,
2147 pub maxTexelOffset: u32,
2148 pub minTexelGatherOffset: i32,
2149 pub maxTexelGatherOffset: u32,
2150 pub minInterpolationOffset: f32,
2151 pub maxInterpolationOffset: f32,
2152 pub subPixelInterpolationOffsetBits: u32,
2153 pub maxFramebufferWidth: u32,
2154 pub maxFramebufferHeight: u32,
2155 pub maxFramebufferLayers: u32,
2156 pub framebufferColorSampleCounts: VkSampleCountFlags,
2157 pub framebufferDepthSampleCounts: VkSampleCountFlags,
2158 pub framebufferStencilSampleCounts: VkSampleCountFlags,
2159 pub framebufferNoAttachmentsSampleCounts: VkSampleCountFlags,
2160 pub maxColorAttachments: u32,
2161 pub sampledImageColorSampleCounts: VkSampleCountFlags,
2162 pub sampledImageIntegerSampleCounts: VkSampleCountFlags,
2163 pub sampledImageDepthSampleCounts: VkSampleCountFlags,
2164 pub sampledImageStencilSampleCounts: VkSampleCountFlags,
2165 pub storageImageSampleCounts: VkSampleCountFlags,
2166 pub maxSampleMaskWords: u32,
2167 pub timestampComputeAndGraphics: VkBool32,
2168 pub timestampPeriod: f32,
2169 pub maxClipDistances: u32,
2170 pub maxCullDistances: u32,
2171 pub maxCombinedClipAndCullDistances: u32,
2172 pub discreteQueuePriorities: u32,
2173 pub pointSizeRange: [f32; 2usize],
2174 pub lineWidthRange: [f32; 2usize],
2175 pub pointSizeGranularity: f32,
2176 pub lineWidthGranularity: f32,
2177 pub strictLines: VkBool32,
2178 pub standardSampleLocations: VkBool32,
2179 pub optimalBufferCopyOffsetAlignment: VkDeviceSize,
2180 pub optimalBufferCopyRowPitchAlignment: VkDeviceSize,
2181 pub nonCoherentAtomSize: VkDeviceSize,
2182}
2183#[repr(C)]
2184#[derive(Copy, Clone)]
2185pub struct VkPhysicalDeviceSparseProperties {
2186 pub residencyStandard2DBlockShape: VkBool32,
2187 pub residencyStandard2DMultisampleBlockShape: VkBool32,
2188 pub residencyStandard3DBlockShape: VkBool32,
2189 pub residencyAlignedMipSize: VkBool32,
2190 pub residencyNonResidentStrict: VkBool32,
2191}
2192#[repr(C)]
2193#[derive(Copy, Clone)]
2194pub struct VkPhysicalDeviceProperties {
2195 pub apiVersion: u32,
2196 pub driverVersion: u32,
2197 pub vendorID: u32,
2198 pub deviceID: u32,
2199 pub deviceType: VkPhysicalDeviceType,
2200 pub deviceName: [::std::os::raw::c_char; 256usize],
2201 pub pipelineCacheUUID: [u8; 16usize],
2202 pub limits: VkPhysicalDeviceLimits,
2203 pub sparseProperties: VkPhysicalDeviceSparseProperties,
2204}
2205#[repr(C)]
2206#[derive(Copy, Clone)]
2207pub struct VkQueueFamilyProperties {
2208 pub queueFlags: VkQueueFlags,
2209 pub queueCount: u32,
2210 pub timestampValidBits: u32,
2211 pub minImageTransferGranularity: VkExtent3D,
2212}
2213#[repr(C)]
2214#[derive(Copy, Clone)]
2215pub struct VkMemoryType {
2216 pub propertyFlags: VkMemoryPropertyFlags,
2217 pub heapIndex: u32,
2218}
2219#[repr(C)]
2220#[derive(Copy, Clone)]
2221pub struct VkMemoryHeap {
2222 pub size: VkDeviceSize,
2223 pub flags: VkMemoryHeapFlags,
2224}
2225#[repr(C)]
2226#[derive(Copy, Clone)]
2227pub struct VkPhysicalDeviceMemoryProperties {
2228 pub memoryTypeCount: u32,
2229 pub memoryTypes: [VkMemoryType; 32usize],
2230 pub memoryHeapCount: u32,
2231 pub memoryHeaps: [VkMemoryHeap; 16usize],
2232}
2233pub type PFN_vkVoidFunction = ::std::option::Option<unsafe extern "system" fn()>;
2234#[repr(C)]
2235#[derive(Copy, Clone)]
2236pub struct VkDeviceQueueCreateInfo {
2237 pub sType: VkStructureType,
2238 pub pNext: *const ::std::os::raw::c_void,
2239 pub flags: VkDeviceQueueCreateFlags,
2240 pub queueFamilyIndex: u32,
2241 pub queueCount: u32,
2242 pub pQueuePriorities: *const f32,
2243}
2244#[repr(C)]
2245#[derive(Copy, Clone)]
2246pub struct VkDeviceCreateInfo {
2247 pub sType: VkStructureType,
2248 pub pNext: *const ::std::os::raw::c_void,
2249 pub flags: VkDeviceCreateFlags,
2250 pub queueCreateInfoCount: u32,
2251 pub pQueueCreateInfos: *const VkDeviceQueueCreateInfo,
2252 pub enabledLayerCount: u32,
2253 pub ppEnabledLayerNames: *const *const ::std::os::raw::c_char,
2254 pub enabledExtensionCount: u32,
2255 pub ppEnabledExtensionNames: *const *const ::std::os::raw::c_char,
2256 pub pEnabledFeatures: *const VkPhysicalDeviceFeatures,
2257}
2258#[repr(C)]
2259#[derive(Copy, Clone)]
2260pub struct VkExtensionProperties {
2261 pub extensionName: [::std::os::raw::c_char; 256usize],
2262 pub specVersion: u32,
2263}
2264#[repr(C)]
2265#[derive(Copy, Clone)]
2266pub struct VkLayerProperties {
2267 pub layerName: [::std::os::raw::c_char; 256usize],
2268 pub specVersion: u32,
2269 pub implementationVersion: u32,
2270 pub description: [::std::os::raw::c_char; 256usize],
2271}
2272#[repr(C)]
2273#[derive(Copy, Clone)]
2274pub struct VkSubmitInfo {
2275 pub sType: VkStructureType,
2276 pub pNext: *const ::std::os::raw::c_void,
2277 pub waitSemaphoreCount: u32,
2278 pub pWaitSemaphores: *const VkSemaphore,
2279 pub pWaitDstStageMask: *const VkPipelineStageFlags,
2280 pub commandBufferCount: u32,
2281 pub pCommandBuffers: *const VkCommandBuffer,
2282 pub signalSemaphoreCount: u32,
2283 pub pSignalSemaphores: *const VkSemaphore,
2284}
2285#[repr(C)]
2286#[derive(Copy, Clone)]
2287pub struct VkMemoryAllocateInfo {
2288 pub sType: VkStructureType,
2289 pub pNext: *const ::std::os::raw::c_void,
2290 pub allocationSize: VkDeviceSize,
2291 pub memoryTypeIndex: u32,
2292}
2293#[repr(C)]
2294#[derive(Copy, Clone)]
2295pub struct VkMappedMemoryRange {
2296 pub sType: VkStructureType,
2297 pub pNext: *const ::std::os::raw::c_void,
2298 pub memory: VkDeviceMemory,
2299 pub offset: VkDeviceSize,
2300 pub size: VkDeviceSize,
2301}
2302#[repr(C)]
2303#[derive(Copy, Clone)]
2304pub struct VkMemoryRequirements {
2305 pub size: VkDeviceSize,
2306 pub alignment: VkDeviceSize,
2307 pub memoryTypeBits: u32,
2308}
2309#[repr(C)]
2310#[derive(Copy, Clone)]
2311pub struct VkSparseImageFormatProperties {
2312 pub aspectMask: VkImageAspectFlags,
2313 pub imageGranularity: VkExtent3D,
2314 pub flags: VkSparseImageFormatFlags,
2315}
2316#[repr(C)]
2317#[derive(Copy, Clone)]
2318pub struct VkSparseImageMemoryRequirements {
2319 pub formatProperties: VkSparseImageFormatProperties,
2320 pub imageMipTailFirstLod: u32,
2321 pub imageMipTailSize: VkDeviceSize,
2322 pub imageMipTailOffset: VkDeviceSize,
2323 pub imageMipTailStride: VkDeviceSize,
2324}
2325#[repr(C)]
2326#[derive(Copy, Clone)]
2327pub struct VkSparseMemoryBind {
2328 pub resourceOffset: VkDeviceSize,
2329 pub size: VkDeviceSize,
2330 pub memory: VkDeviceMemory,
2331 pub memoryOffset: VkDeviceSize,
2332 pub flags: VkSparseMemoryBindFlags,
2333}
2334#[repr(C)]
2335#[derive(Copy, Clone)]
2336pub struct VkSparseBufferMemoryBindInfo {
2337 pub buffer: VkBuffer,
2338 pub bindCount: u32,
2339 pub pBinds: *const VkSparseMemoryBind,
2340}
2341#[repr(C)]
2342#[derive(Copy, Clone)]
2343pub struct VkSparseImageOpaqueMemoryBindInfo {
2344 pub image: VkImage,
2345 pub bindCount: u32,
2346 pub pBinds: *const VkSparseMemoryBind,
2347}
2348#[repr(C)]
2349#[derive(Copy, Clone)]
2350pub struct VkImageSubresource {
2351 pub aspectMask: VkImageAspectFlags,
2352 pub mipLevel: u32,
2353 pub arrayLayer: u32,
2354}
2355#[repr(C)]
2356#[derive(Copy, Clone)]
2357pub struct VkOffset3D {
2358 pub x: i32,
2359 pub y: i32,
2360 pub z: i32,
2361}
2362#[repr(C)]
2363#[derive(Copy, Clone)]
2364pub struct VkSparseImageMemoryBind {
2365 pub subresource: VkImageSubresource,
2366 pub offset: VkOffset3D,
2367 pub extent: VkExtent3D,
2368 pub memory: VkDeviceMemory,
2369 pub memoryOffset: VkDeviceSize,
2370 pub flags: VkSparseMemoryBindFlags,
2371}
2372#[repr(C)]
2373#[derive(Copy, Clone)]
2374pub struct VkSparseImageMemoryBindInfo {
2375 pub image: VkImage,
2376 pub bindCount: u32,
2377 pub pBinds: *const VkSparseImageMemoryBind,
2378}
2379#[repr(C)]
2380#[derive(Copy, Clone)]
2381pub struct VkBindSparseInfo {
2382 pub sType: VkStructureType,
2383 pub pNext: *const ::std::os::raw::c_void,
2384 pub waitSemaphoreCount: u32,
2385 pub pWaitSemaphores: *const VkSemaphore,
2386 pub bufferBindCount: u32,
2387 pub pBufferBinds: *const VkSparseBufferMemoryBindInfo,
2388 pub imageOpaqueBindCount: u32,
2389 pub pImageOpaqueBinds: *const VkSparseImageOpaqueMemoryBindInfo,
2390 pub imageBindCount: u32,
2391 pub pImageBinds: *const VkSparseImageMemoryBindInfo,
2392 pub signalSemaphoreCount: u32,
2393 pub pSignalSemaphores: *const VkSemaphore,
2394}
2395#[repr(C)]
2396#[derive(Copy, Clone)]
2397pub struct VkFenceCreateInfo {
2398 pub sType: VkStructureType,
2399 pub pNext: *const ::std::os::raw::c_void,
2400 pub flags: VkFenceCreateFlags,
2401}
2402#[repr(C)]
2403#[derive(Copy, Clone)]
2404pub struct VkSemaphoreCreateInfo {
2405 pub sType: VkStructureType,
2406 pub pNext: *const ::std::os::raw::c_void,
2407 pub flags: VkSemaphoreCreateFlags,
2408}
2409#[repr(C)]
2410#[derive(Copy, Clone)]
2411pub struct VkEventCreateInfo {
2412 pub sType: VkStructureType,
2413 pub pNext: *const ::std::os::raw::c_void,
2414 pub flags: VkEventCreateFlags,
2415}
2416#[repr(C)]
2417#[derive(Copy, Clone)]
2418pub struct VkQueryPoolCreateInfo {
2419 pub sType: VkStructureType,
2420 pub pNext: *const ::std::os::raw::c_void,
2421 pub flags: VkQueryPoolCreateFlags,
2422 pub queryType: VkQueryType,
2423 pub queryCount: u32,
2424 pub pipelineStatistics: VkQueryPipelineStatisticFlags,
2425}
2426#[repr(C)]
2427#[derive(Copy, Clone)]
2428pub struct VkBufferCreateInfo {
2429 pub sType: VkStructureType,
2430 pub pNext: *const ::std::os::raw::c_void,
2431 pub flags: VkBufferCreateFlags,
2432 pub size: VkDeviceSize,
2433 pub usage: VkBufferUsageFlags,
2434 pub sharingMode: VkSharingMode,
2435 pub queueFamilyIndexCount: u32,
2436 pub pQueueFamilyIndices: *const u32,
2437}
2438#[repr(C)]
2439#[derive(Copy, Clone)]
2440pub struct VkBufferViewCreateInfo {
2441 pub sType: VkStructureType,
2442 pub pNext: *const ::std::os::raw::c_void,
2443 pub flags: VkBufferViewCreateFlags,
2444 pub buffer: VkBuffer,
2445 pub format: VkFormat,
2446 pub offset: VkDeviceSize,
2447 pub range: VkDeviceSize,
2448}
2449#[repr(C)]
2450#[derive(Copy, Clone)]
2451pub struct VkImageCreateInfo {
2452 pub sType: VkStructureType,
2453 pub pNext: *const ::std::os::raw::c_void,
2454 pub flags: VkImageCreateFlags,
2455 pub imageType: VkImageType,
2456 pub format: VkFormat,
2457 pub extent: VkExtent3D,
2458 pub mipLevels: u32,
2459 pub arrayLayers: u32,
2460 pub samples: VkSampleCountFlagBits,
2461 pub tiling: VkImageTiling,
2462 pub usage: VkImageUsageFlags,
2463 pub sharingMode: VkSharingMode,
2464 pub queueFamilyIndexCount: u32,
2465 pub pQueueFamilyIndices: *const u32,
2466 pub initialLayout: VkImageLayout,
2467}
2468#[repr(C)]
2469#[derive(Copy, Clone)]
2470pub struct VkSubresourceLayout {
2471 pub offset: VkDeviceSize,
2472 pub size: VkDeviceSize,
2473 pub rowPitch: VkDeviceSize,
2474 pub arrayPitch: VkDeviceSize,
2475 pub depthPitch: VkDeviceSize,
2476}
2477#[repr(C)]
2478#[derive(Copy, Clone)]
2479pub struct VkComponentMapping {
2480 pub r: VkComponentSwizzle,
2481 pub g: VkComponentSwizzle,
2482 pub b: VkComponentSwizzle,
2483 pub a: VkComponentSwizzle,
2484}
2485#[repr(C)]
2486#[derive(Copy, Clone)]
2487pub struct VkImageSubresourceRange {
2488 pub aspectMask: VkImageAspectFlags,
2489 pub baseMipLevel: u32,
2490 pub levelCount: u32,
2491 pub baseArrayLayer: u32,
2492 pub layerCount: u32,
2493}
2494#[repr(C)]
2495#[derive(Copy, Clone)]
2496pub struct VkImageViewCreateInfo {
2497 pub sType: VkStructureType,
2498 pub pNext: *const ::std::os::raw::c_void,
2499 pub flags: VkImageViewCreateFlags,
2500 pub image: VkImage,
2501 pub viewType: VkImageViewType,
2502 pub format: VkFormat,
2503 pub components: VkComponentMapping,
2504 pub subresourceRange: VkImageSubresourceRange,
2505}
2506#[repr(C)]
2507#[derive(Copy, Clone)]
2508pub struct VkShaderModuleCreateInfo {
2509 pub sType: VkStructureType,
2510 pub pNext: *const ::std::os::raw::c_void,
2511 pub flags: VkShaderModuleCreateFlags,
2512 pub codeSize: usize,
2513 pub pCode: *const u32,
2514}
2515#[repr(C)]
2516#[derive(Copy, Clone)]
2517pub struct VkPipelineCacheCreateInfo {
2518 pub sType: VkStructureType,
2519 pub pNext: *const ::std::os::raw::c_void,
2520 pub flags: VkPipelineCacheCreateFlags,
2521 pub initialDataSize: usize,
2522 pub pInitialData: *const ::std::os::raw::c_void,
2523}
2524#[repr(C)]
2525#[derive(Copy, Clone)]
2526pub struct VkSpecializationMapEntry {
2527 pub constantID: u32,
2528 pub offset: u32,
2529 pub size: usize,
2530}
2531#[repr(C)]
2532#[derive(Copy, Clone)]
2533pub struct VkSpecializationInfo {
2534 pub mapEntryCount: u32,
2535 pub pMapEntries: *const VkSpecializationMapEntry,
2536 pub dataSize: usize,
2537 pub pData: *const ::std::os::raw::c_void,
2538}
2539#[repr(C)]
2540#[derive(Copy, Clone)]
2541pub struct VkPipelineShaderStageCreateInfo {
2542 pub sType: VkStructureType,
2543 pub pNext: *const ::std::os::raw::c_void,
2544 pub flags: VkPipelineShaderStageCreateFlags,
2545 pub stage: VkShaderStageFlagBits,
2546 pub module: VkShaderModule,
2547 pub pName: *const ::std::os::raw::c_char,
2548 pub pSpecializationInfo: *const VkSpecializationInfo,
2549}
2550#[repr(C)]
2551#[derive(Copy, Clone)]
2552pub struct VkVertexInputBindingDescription {
2553 pub binding: u32,
2554 pub stride: u32,
2555 pub inputRate: VkVertexInputRate,
2556}
2557#[repr(C)]
2558#[derive(Copy, Clone)]
2559pub struct VkVertexInputAttributeDescription {
2560 pub location: u32,
2561 pub binding: u32,
2562 pub format: VkFormat,
2563 pub offset: u32,
2564}
2565#[repr(C)]
2566#[derive(Copy, Clone)]
2567pub struct VkPipelineVertexInputStateCreateInfo {
2568 pub sType: VkStructureType,
2569 pub pNext: *const ::std::os::raw::c_void,
2570 pub flags: VkPipelineVertexInputStateCreateFlags,
2571 pub vertexBindingDescriptionCount: u32,
2572 pub pVertexBindingDescriptions: *const VkVertexInputBindingDescription,
2573 pub vertexAttributeDescriptionCount: u32,
2574 pub pVertexAttributeDescriptions: *const VkVertexInputAttributeDescription,
2575}
2576#[repr(C)]
2577#[derive(Copy, Clone)]
2578pub struct VkPipelineInputAssemblyStateCreateInfo {
2579 pub sType: VkStructureType,
2580 pub pNext: *const ::std::os::raw::c_void,
2581 pub flags: VkPipelineInputAssemblyStateCreateFlags,
2582 pub topology: VkPrimitiveTopology,
2583 pub primitiveRestartEnable: VkBool32,
2584}
2585#[repr(C)]
2586#[derive(Copy, Clone)]
2587pub struct VkPipelineTessellationStateCreateInfo {
2588 pub sType: VkStructureType,
2589 pub pNext: *const ::std::os::raw::c_void,
2590 pub flags: VkPipelineTessellationStateCreateFlags,
2591 pub patchControlPoints: u32,
2592}
2593#[repr(C)]
2594#[derive(Copy, Clone)]
2595pub struct VkViewport {
2596 pub x: f32,
2597 pub y: f32,
2598 pub width: f32,
2599 pub height: f32,
2600 pub minDepth: f32,
2601 pub maxDepth: f32,
2602}
2603#[repr(C)]
2604#[derive(Copy, Clone)]
2605pub struct VkOffset2D {
2606 pub x: i32,
2607 pub y: i32,
2608}
2609#[repr(C)]
2610#[derive(Copy, Clone)]
2611pub struct VkExtent2D {
2612 pub width: u32,
2613 pub height: u32,
2614}
2615#[repr(C)]
2616#[derive(Copy, Clone)]
2617pub struct VkRect2D {
2618 pub offset: VkOffset2D,
2619 pub extent: VkExtent2D,
2620}
2621#[repr(C)]
2622#[derive(Copy, Clone)]
2623pub struct VkPipelineViewportStateCreateInfo {
2624 pub sType: VkStructureType,
2625 pub pNext: *const ::std::os::raw::c_void,
2626 pub flags: VkPipelineViewportStateCreateFlags,
2627 pub viewportCount: u32,
2628 pub pViewports: *const VkViewport,
2629 pub scissorCount: u32,
2630 pub pScissors: *const VkRect2D,
2631}
2632#[repr(C)]
2633#[derive(Copy, Clone)]
2634pub struct VkPipelineRasterizationStateCreateInfo {
2635 pub sType: VkStructureType,
2636 pub pNext: *const ::std::os::raw::c_void,
2637 pub flags: VkPipelineRasterizationStateCreateFlags,
2638 pub depthClampEnable: VkBool32,
2639 pub rasterizerDiscardEnable: VkBool32,
2640 pub polygonMode: VkPolygonMode,
2641 pub cullMode: VkCullModeFlags,
2642 pub frontFace: VkFrontFace,
2643 pub depthBiasEnable: VkBool32,
2644 pub depthBiasConstantFactor: f32,
2645 pub depthBiasClamp: f32,
2646 pub depthBiasSlopeFactor: f32,
2647 pub lineWidth: f32,
2648}
2649#[repr(C)]
2650#[derive(Copy, Clone)]
2651pub struct VkPipelineMultisampleStateCreateInfo {
2652 pub sType: VkStructureType,
2653 pub pNext: *const ::std::os::raw::c_void,
2654 pub flags: VkPipelineMultisampleStateCreateFlags,
2655 pub rasterizationSamples: VkSampleCountFlagBits,
2656 pub sampleShadingEnable: VkBool32,
2657 pub minSampleShading: f32,
2658 pub pSampleMask: *const VkSampleMask,
2659 pub alphaToCoverageEnable: VkBool32,
2660 pub alphaToOneEnable: VkBool32,
2661}
2662#[repr(C)]
2663#[derive(Copy, Clone)]
2664pub struct VkStencilOpState {
2665 pub failOp: VkStencilOp,
2666 pub passOp: VkStencilOp,
2667 pub depthFailOp: VkStencilOp,
2668 pub compareOp: VkCompareOp,
2669 pub compareMask: u32,
2670 pub writeMask: u32,
2671 pub reference: u32,
2672}
2673#[repr(C)]
2674#[derive(Copy, Clone)]
2675pub struct VkPipelineDepthStencilStateCreateInfo {
2676 pub sType: VkStructureType,
2677 pub pNext: *const ::std::os::raw::c_void,
2678 pub flags: VkPipelineDepthStencilStateCreateFlags,
2679 pub depthTestEnable: VkBool32,
2680 pub depthWriteEnable: VkBool32,
2681 pub depthCompareOp: VkCompareOp,
2682 pub depthBoundsTestEnable: VkBool32,
2683 pub stencilTestEnable: VkBool32,
2684 pub front: VkStencilOpState,
2685 pub back: VkStencilOpState,
2686 pub minDepthBounds: f32,
2687 pub maxDepthBounds: f32,
2688}
2689#[repr(C)]
2690#[derive(Copy, Clone)]
2691pub struct VkPipelineColorBlendAttachmentState {
2692 pub blendEnable: VkBool32,
2693 pub srcColorBlendFactor: VkBlendFactor,
2694 pub dstColorBlendFactor: VkBlendFactor,
2695 pub colorBlendOp: VkBlendOp,
2696 pub srcAlphaBlendFactor: VkBlendFactor,
2697 pub dstAlphaBlendFactor: VkBlendFactor,
2698 pub alphaBlendOp: VkBlendOp,
2699 pub colorWriteMask: VkColorComponentFlags,
2700}
2701#[repr(C)]
2702#[derive(Copy, Clone)]
2703pub struct VkPipelineColorBlendStateCreateInfo {
2704 pub sType: VkStructureType,
2705 pub pNext: *const ::std::os::raw::c_void,
2706 pub flags: VkPipelineColorBlendStateCreateFlags,
2707 pub logicOpEnable: VkBool32,
2708 pub logicOp: VkLogicOp,
2709 pub attachmentCount: u32,
2710 pub pAttachments: *const VkPipelineColorBlendAttachmentState,
2711 pub blendConstants: [f32; 4usize],
2712}
2713#[repr(C)]
2714#[derive(Copy, Clone)]
2715pub struct VkPipelineDynamicStateCreateInfo {
2716 pub sType: VkStructureType,
2717 pub pNext: *const ::std::os::raw::c_void,
2718 pub flags: VkPipelineDynamicStateCreateFlags,
2719 pub dynamicStateCount: u32,
2720 pub pDynamicStates: *const VkDynamicState,
2721}
2722#[repr(C)]
2723#[derive(Copy, Clone)]
2724pub struct VkGraphicsPipelineCreateInfo {
2725 pub sType: VkStructureType,
2726 pub pNext: *const ::std::os::raw::c_void,
2727 pub flags: VkPipelineCreateFlags,
2728 pub stageCount: u32,
2729 pub pStages: *const VkPipelineShaderStageCreateInfo,
2730 pub pVertexInputState: *const VkPipelineVertexInputStateCreateInfo,
2731 pub pInputAssemblyState: *const VkPipelineInputAssemblyStateCreateInfo,
2732 pub pTessellationState: *const VkPipelineTessellationStateCreateInfo,
2733 pub pViewportState: *const VkPipelineViewportStateCreateInfo,
2734 pub pRasterizationState: *const VkPipelineRasterizationStateCreateInfo,
2735 pub pMultisampleState: *const VkPipelineMultisampleStateCreateInfo,
2736 pub pDepthStencilState: *const VkPipelineDepthStencilStateCreateInfo,
2737 pub pColorBlendState: *const VkPipelineColorBlendStateCreateInfo,
2738 pub pDynamicState: *const VkPipelineDynamicStateCreateInfo,
2739 pub layout: VkPipelineLayout,
2740 pub renderPass: VkRenderPass,
2741 pub subpass: u32,
2742 pub basePipelineHandle: VkPipeline,
2743 pub basePipelineIndex: i32,
2744}
2745#[repr(C)]
2746#[derive(Copy, Clone)]
2747pub struct VkComputePipelineCreateInfo {
2748 pub sType: VkStructureType,
2749 pub pNext: *const ::std::os::raw::c_void,
2750 pub flags: VkPipelineCreateFlags,
2751 pub stage: VkPipelineShaderStageCreateInfo,
2752 pub layout: VkPipelineLayout,
2753 pub basePipelineHandle: VkPipeline,
2754 pub basePipelineIndex: i32,
2755}
2756#[repr(C)]
2757#[derive(Copy, Clone)]
2758pub struct VkPushConstantRange {
2759 pub stageFlags: VkShaderStageFlags,
2760 pub offset: u32,
2761 pub size: u32,
2762}
2763#[repr(C)]
2764#[derive(Copy, Clone)]
2765pub struct VkPipelineLayoutCreateInfo {
2766 pub sType: VkStructureType,
2767 pub pNext: *const ::std::os::raw::c_void,
2768 pub flags: VkPipelineLayoutCreateFlags,
2769 pub setLayoutCount: u32,
2770 pub pSetLayouts: *const VkDescriptorSetLayout,
2771 pub pushConstantRangeCount: u32,
2772 pub pPushConstantRanges: *const VkPushConstantRange,
2773}
2774#[repr(C)]
2775#[derive(Copy, Clone)]
2776pub struct VkSamplerCreateInfo {
2777 pub sType: VkStructureType,
2778 pub pNext: *const ::std::os::raw::c_void,
2779 pub flags: VkSamplerCreateFlags,
2780 pub magFilter: VkFilter,
2781 pub minFilter: VkFilter,
2782 pub mipmapMode: VkSamplerMipmapMode,
2783 pub addressModeU: VkSamplerAddressMode,
2784 pub addressModeV: VkSamplerAddressMode,
2785 pub addressModeW: VkSamplerAddressMode,
2786 pub mipLodBias: f32,
2787 pub anisotropyEnable: VkBool32,
2788 pub maxAnisotropy: f32,
2789 pub compareEnable: VkBool32,
2790 pub compareOp: VkCompareOp,
2791 pub minLod: f32,
2792 pub maxLod: f32,
2793 pub borderColor: VkBorderColor,
2794 pub unnormalizedCoordinates: VkBool32,
2795}
2796#[repr(C)]
2797#[derive(Copy, Clone)]
2798pub struct VkDescriptorSetLayoutBinding {
2799 pub binding: u32,
2800 pub descriptorType: VkDescriptorType,
2801 pub descriptorCount: u32,
2802 pub stageFlags: VkShaderStageFlags,
2803 pub pImmutableSamplers: *const VkSampler,
2804}
2805#[repr(C)]
2806#[derive(Copy, Clone)]
2807pub struct VkDescriptorSetLayoutCreateInfo {
2808 pub sType: VkStructureType,
2809 pub pNext: *const ::std::os::raw::c_void,
2810 pub flags: VkDescriptorSetLayoutCreateFlags,
2811 pub bindingCount: u32,
2812 pub pBindings: *const VkDescriptorSetLayoutBinding,
2813}
2814#[repr(C)]
2815#[derive(Copy, Clone)]
2816pub struct VkDescriptorPoolSize {
2817 pub type_: VkDescriptorType,
2818 pub descriptorCount: u32,
2819}
2820#[repr(C)]
2821#[derive(Copy, Clone)]
2822pub struct VkDescriptorPoolCreateInfo {
2823 pub sType: VkStructureType,
2824 pub pNext: *const ::std::os::raw::c_void,
2825 pub flags: VkDescriptorPoolCreateFlags,
2826 pub maxSets: u32,
2827 pub poolSizeCount: u32,
2828 pub pPoolSizes: *const VkDescriptorPoolSize,
2829}
2830#[repr(C)]
2831#[derive(Copy, Clone)]
2832pub struct VkDescriptorSetAllocateInfo {
2833 pub sType: VkStructureType,
2834 pub pNext: *const ::std::os::raw::c_void,
2835 pub descriptorPool: VkDescriptorPool,
2836 pub descriptorSetCount: u32,
2837 pub pSetLayouts: *const VkDescriptorSetLayout,
2838}
2839#[repr(C)]
2840#[derive(Copy, Clone)]
2841pub struct VkDescriptorImageInfo {
2842 pub sampler: VkSampler,
2843 pub imageView: VkImageView,
2844 pub imageLayout: VkImageLayout,
2845}
2846#[repr(C)]
2847#[derive(Copy, Clone)]
2848pub struct VkDescriptorBufferInfo {
2849 pub buffer: VkBuffer,
2850 pub offset: VkDeviceSize,
2851 pub range: VkDeviceSize,
2852}
2853#[repr(C)]
2854#[derive(Copy, Clone)]
2855pub struct VkWriteDescriptorSet {
2856 pub sType: VkStructureType,
2857 pub pNext: *const ::std::os::raw::c_void,
2858 pub dstSet: VkDescriptorSet,
2859 pub dstBinding: u32,
2860 pub dstArrayElement: u32,
2861 pub descriptorCount: u32,
2862 pub descriptorType: VkDescriptorType,
2863 pub pImageInfo: *const VkDescriptorImageInfo,
2864 pub pBufferInfo: *const VkDescriptorBufferInfo,
2865 pub pTexelBufferView: *const VkBufferView,
2866}
2867#[repr(C)]
2868#[derive(Copy, Clone)]
2869pub struct VkCopyDescriptorSet {
2870 pub sType: VkStructureType,
2871 pub pNext: *const ::std::os::raw::c_void,
2872 pub srcSet: VkDescriptorSet,
2873 pub srcBinding: u32,
2874 pub srcArrayElement: u32,
2875 pub dstSet: VkDescriptorSet,
2876 pub dstBinding: u32,
2877 pub dstArrayElement: u32,
2878 pub descriptorCount: u32,
2879}
2880#[repr(C)]
2881#[derive(Copy, Clone)]
2882pub struct VkFramebufferCreateInfo {
2883 pub sType: VkStructureType,
2884 pub pNext: *const ::std::os::raw::c_void,
2885 pub flags: VkFramebufferCreateFlags,
2886 pub renderPass: VkRenderPass,
2887 pub attachmentCount: u32,
2888 pub pAttachments: *const VkImageView,
2889 pub width: u32,
2890 pub height: u32,
2891 pub layers: u32,
2892}
2893#[repr(C)]
2894#[derive(Copy, Clone)]
2895pub struct VkAttachmentDescription {
2896 pub flags: VkAttachmentDescriptionFlags,
2897 pub format: VkFormat,
2898 pub samples: VkSampleCountFlagBits,
2899 pub loadOp: VkAttachmentLoadOp,
2900 pub storeOp: VkAttachmentStoreOp,
2901 pub stencilLoadOp: VkAttachmentLoadOp,
2902 pub stencilStoreOp: VkAttachmentStoreOp,
2903 pub initialLayout: VkImageLayout,
2904 pub finalLayout: VkImageLayout,
2905}
2906#[repr(C)]
2907#[derive(Copy, Clone)]
2908pub struct VkAttachmentReference {
2909 pub attachment: u32,
2910 pub layout: VkImageLayout,
2911}
2912#[repr(C)]
2913#[derive(Copy, Clone)]
2914pub struct VkSubpassDescription {
2915 pub flags: VkSubpassDescriptionFlags,
2916 pub pipelineBindPoint: VkPipelineBindPoint,
2917 pub inputAttachmentCount: u32,
2918 pub pInputAttachments: *const VkAttachmentReference,
2919 pub colorAttachmentCount: u32,
2920 pub pColorAttachments: *const VkAttachmentReference,
2921 pub pResolveAttachments: *const VkAttachmentReference,
2922 pub pDepthStencilAttachment: *const VkAttachmentReference,
2923 pub preserveAttachmentCount: u32,
2924 pub pPreserveAttachments: *const u32,
2925}
2926#[repr(C)]
2927#[derive(Copy, Clone)]
2928pub struct VkSubpassDependency {
2929 pub srcSubpass: u32,
2930 pub dstSubpass: u32,
2931 pub srcStageMask: VkPipelineStageFlags,
2932 pub dstStageMask: VkPipelineStageFlags,
2933 pub srcAccessMask: VkAccessFlags,
2934 pub dstAccessMask: VkAccessFlags,
2935 pub dependencyFlags: VkDependencyFlags,
2936}
2937#[repr(C)]
2938#[derive(Copy, Clone)]
2939pub struct VkRenderPassCreateInfo {
2940 pub sType: VkStructureType,
2941 pub pNext: *const ::std::os::raw::c_void,
2942 pub flags: VkRenderPassCreateFlags,
2943 pub attachmentCount: u32,
2944 pub pAttachments: *const VkAttachmentDescription,
2945 pub subpassCount: u32,
2946 pub pSubpasses: *const VkSubpassDescription,
2947 pub dependencyCount: u32,
2948 pub pDependencies: *const VkSubpassDependency,
2949}
2950#[repr(C)]
2951#[derive(Copy, Clone)]
2952pub struct VkCommandPoolCreateInfo {
2953 pub sType: VkStructureType,
2954 pub pNext: *const ::std::os::raw::c_void,
2955 pub flags: VkCommandPoolCreateFlags,
2956 pub queueFamilyIndex: u32,
2957}
2958#[repr(C)]
2959#[derive(Copy, Clone)]
2960pub struct VkCommandBufferAllocateInfo {
2961 pub sType: VkStructureType,
2962 pub pNext: *const ::std::os::raw::c_void,
2963 pub commandPool: VkCommandPool,
2964 pub level: VkCommandBufferLevel,
2965 pub commandBufferCount: u32,
2966}
2967#[repr(C)]
2968#[derive(Copy, Clone)]
2969pub struct VkCommandBufferInheritanceInfo {
2970 pub sType: VkStructureType,
2971 pub pNext: *const ::std::os::raw::c_void,
2972 pub renderPass: VkRenderPass,
2973 pub subpass: u32,
2974 pub framebuffer: VkFramebuffer,
2975 pub occlusionQueryEnable: VkBool32,
2976 pub queryFlags: VkQueryControlFlags,
2977 pub pipelineStatistics: VkQueryPipelineStatisticFlags,
2978}
2979#[repr(C)]
2980#[derive(Copy, Clone)]
2981pub struct VkCommandBufferBeginInfo {
2982 pub sType: VkStructureType,
2983 pub pNext: *const ::std::os::raw::c_void,
2984 pub flags: VkCommandBufferUsageFlags,
2985 pub pInheritanceInfo: *const VkCommandBufferInheritanceInfo,
2986}
2987#[repr(C)]
2988#[derive(Copy, Clone)]
2989pub struct VkBufferCopy {
2990 pub srcOffset: VkDeviceSize,
2991 pub dstOffset: VkDeviceSize,
2992 pub size: VkDeviceSize,
2993}
2994#[repr(C)]
2995#[derive(Copy, Clone)]
2996pub struct VkImageSubresourceLayers {
2997 pub aspectMask: VkImageAspectFlags,
2998 pub mipLevel: u32,
2999 pub baseArrayLayer: u32,
3000 pub layerCount: u32,
3001}
3002#[repr(C)]
3003#[derive(Copy, Clone)]
3004pub struct VkImageCopy {
3005 pub srcSubresource: VkImageSubresourceLayers,
3006 pub srcOffset: VkOffset3D,
3007 pub dstSubresource: VkImageSubresourceLayers,
3008 pub dstOffset: VkOffset3D,
3009 pub extent: VkExtent3D,
3010}
3011#[repr(C)]
3012#[derive(Copy, Clone)]
3013pub struct VkImageBlit {
3014 pub srcSubresource: VkImageSubresourceLayers,
3015 pub srcOffsets: [VkOffset3D; 2usize],
3016 pub dstSubresource: VkImageSubresourceLayers,
3017 pub dstOffsets: [VkOffset3D; 2usize],
3018}
3019#[repr(C)]
3020#[derive(Copy, Clone)]
3021pub struct VkBufferImageCopy {
3022 pub bufferOffset: VkDeviceSize,
3023 pub bufferRowLength: u32,
3024 pub bufferImageHeight: u32,
3025 pub imageSubresource: VkImageSubresourceLayers,
3026 pub imageOffset: VkOffset3D,
3027 pub imageExtent: VkExtent3D,
3028}
3029#[repr(C)]
3030#[derive(Copy, Clone)]
3031pub union VkClearColorValue {
3032 pub float32: [f32; 4usize],
3033 pub int32: [i32; 4usize],
3034 pub uint32: [u32; 4usize],
3035 _bindgen_union_align: [u32; 4usize],
3036}
3037#[repr(C)]
3038#[derive(Copy, Clone)]
3039pub struct VkClearDepthStencilValue {
3040 pub depth: f32,
3041 pub stencil: u32,
3042}
3043#[repr(C)]
3044#[derive(Copy, Clone)]
3045pub union VkClearValue {
3046 pub color: VkClearColorValue,
3047 pub depthStencil: VkClearDepthStencilValue,
3048 _bindgen_union_align: [u32; 4usize],
3049}
3050#[repr(C)]
3051#[derive(Copy, Clone)]
3052pub struct VkClearAttachment {
3053 pub aspectMask: VkImageAspectFlags,
3054 pub colorAttachment: u32,
3055 pub clearValue: VkClearValue,
3056}
3057#[repr(C)]
3058#[derive(Copy, Clone)]
3059pub struct VkClearRect {
3060 pub rect: VkRect2D,
3061 pub baseArrayLayer: u32,
3062 pub layerCount: u32,
3063}
3064#[repr(C)]
3065#[derive(Copy, Clone)]
3066pub struct VkImageResolve {
3067 pub srcSubresource: VkImageSubresourceLayers,
3068 pub srcOffset: VkOffset3D,
3069 pub dstSubresource: VkImageSubresourceLayers,
3070 pub dstOffset: VkOffset3D,
3071 pub extent: VkExtent3D,
3072}
3073#[repr(C)]
3074#[derive(Copy, Clone)]
3075pub struct VkMemoryBarrier {
3076 pub sType: VkStructureType,
3077 pub pNext: *const ::std::os::raw::c_void,
3078 pub srcAccessMask: VkAccessFlags,
3079 pub dstAccessMask: VkAccessFlags,
3080}
3081#[repr(C)]
3082#[derive(Copy, Clone)]
3083pub struct VkBufferMemoryBarrier {
3084 pub sType: VkStructureType,
3085 pub pNext: *const ::std::os::raw::c_void,
3086 pub srcAccessMask: VkAccessFlags,
3087 pub dstAccessMask: VkAccessFlags,
3088 pub srcQueueFamilyIndex: u32,
3089 pub dstQueueFamilyIndex: u32,
3090 pub buffer: VkBuffer,
3091 pub offset: VkDeviceSize,
3092 pub size: VkDeviceSize,
3093}
3094#[repr(C)]
3095#[derive(Copy, Clone)]
3096pub struct VkImageMemoryBarrier {
3097 pub sType: VkStructureType,
3098 pub pNext: *const ::std::os::raw::c_void,
3099 pub srcAccessMask: VkAccessFlags,
3100 pub dstAccessMask: VkAccessFlags,
3101 pub oldLayout: VkImageLayout,
3102 pub newLayout: VkImageLayout,
3103 pub srcQueueFamilyIndex: u32,
3104 pub dstQueueFamilyIndex: u32,
3105 pub image: VkImage,
3106 pub subresourceRange: VkImageSubresourceRange,
3107}
3108#[repr(C)]
3109#[derive(Copy, Clone)]
3110pub struct VkRenderPassBeginInfo {
3111 pub sType: VkStructureType,
3112 pub pNext: *const ::std::os::raw::c_void,
3113 pub renderPass: VkRenderPass,
3114 pub framebuffer: VkFramebuffer,
3115 pub renderArea: VkRect2D,
3116 pub clearValueCount: u32,
3117 pub pClearValues: *const VkClearValue,
3118}
3119#[repr(C)]
3120#[derive(Copy, Clone)]
3121pub struct VkDispatchIndirectCommand {
3122 pub x: u32,
3123 pub y: u32,
3124 pub z: u32,
3125}
3126#[repr(C)]
3127#[derive(Copy, Clone)]
3128pub struct VkDrawIndexedIndirectCommand {
3129 pub indexCount: u32,
3130 pub instanceCount: u32,
3131 pub firstIndex: u32,
3132 pub vertexOffset: i32,
3133 pub firstInstance: u32,
3134}
3135#[repr(C)]
3136#[derive(Copy, Clone)]
3137pub struct VkDrawIndirectCommand {
3138 pub vertexCount: u32,
3139 pub instanceCount: u32,
3140 pub firstVertex: u32,
3141 pub firstInstance: u32,
3142}
3143#[repr(C)]
3144#[derive(Copy, Clone)]
3145pub struct VkBaseOutStructure {
3146 pub sType: VkStructureType,
3147 pub pNext: *mut VkBaseOutStructure,
3148}
3149#[repr(C)]
3150#[derive(Copy, Clone)]
3151pub struct VkBaseInStructure {
3152 pub sType: VkStructureType,
3153 pub pNext: *const VkBaseInStructure,
3154}
3155
3156pub type PFN_vkCreateInstance = ::std::option::Option<
3157 unsafe extern "system" fn(
3158 pCreateInfo: *const VkInstanceCreateInfo,
3159 pAllocator: *const VkAllocationCallbacks,
3160 pInstance: *mut VkInstance,
3161 ) -> VkResult,
3162>;
3163pub type PFN_vkDestroyInstance = ::std::option::Option<
3164 unsafe extern "system" fn(instance: VkInstance, pAllocator: *const VkAllocationCallbacks),
3165>;
3166pub type PFN_vkEnumeratePhysicalDevices = ::std::option::Option<
3167 unsafe extern "system" fn(
3168 instance: VkInstance,
3169 pPhysicalDeviceCount: *mut u32,
3170 pPhysicalDevices: *mut VkPhysicalDevice,
3171 ) -> VkResult,
3172>;
3173pub type PFN_vkGetPhysicalDeviceFeatures = ::std::option::Option<
3174 unsafe extern "system" fn(
3175 physicalDevice: VkPhysicalDevice,
3176 pFeatures: *mut VkPhysicalDeviceFeatures,
3177 ),
3178>;
3179pub type PFN_vkGetPhysicalDeviceFormatProperties = ::std::option::Option<
3180 unsafe extern "system" fn(
3181 physicalDevice: VkPhysicalDevice,
3182 format: VkFormat,
3183 pFormatProperties: *mut VkFormatProperties,
3184 ),
3185>;
3186pub type PFN_vkGetPhysicalDeviceImageFormatProperties = ::std::option::Option<
3187 unsafe extern "system" fn(
3188 physicalDevice: VkPhysicalDevice,
3189 format: VkFormat,
3190 type_: VkImageType,
3191 tiling: VkImageTiling,
3192 usage: VkImageUsageFlags,
3193 flags: VkImageCreateFlags,
3194 pImageFormatProperties: *mut VkImageFormatProperties,
3195 ) -> VkResult,
3196>;
3197pub type PFN_vkGetPhysicalDeviceProperties = ::std::option::Option<
3198 unsafe extern "system" fn(
3199 physicalDevice: VkPhysicalDevice,
3200 pProperties: *mut VkPhysicalDeviceProperties,
3201 ),
3202>;
3203pub type PFN_vkGetPhysicalDeviceQueueFamilyProperties = ::std::option::Option<
3204 unsafe extern "system" fn(
3205 physicalDevice: VkPhysicalDevice,
3206 pQueueFamilyPropertyCount: *mut u32,
3207 pQueueFamilyProperties: *mut VkQueueFamilyProperties,
3208 ),
3209>;
3210pub type PFN_vkGetPhysicalDeviceMemoryProperties = ::std::option::Option<
3211 unsafe extern "system" fn(
3212 physicalDevice: VkPhysicalDevice,
3213 pMemoryProperties: *mut VkPhysicalDeviceMemoryProperties,
3214 ),
3215>;
3216pub type PFN_vkGetInstanceProcAddr = ::std::option::Option<
3217 unsafe extern "system" fn(
3218 instance: VkInstance,
3219 pName: *const ::std::os::raw::c_char,
3220 ) -> PFN_vkVoidFunction,
3221>;
3222pub type PFN_vkGetDeviceProcAddr = ::std::option::Option<
3223 unsafe extern "system" fn(
3224 device: VkDevice,
3225 pName: *const ::std::os::raw::c_char,
3226 ) -> PFN_vkVoidFunction,
3227>;
3228pub type PFN_vkCreateDevice = ::std::option::Option<
3229 unsafe extern "system" fn(
3230 physicalDevice: VkPhysicalDevice,
3231 pCreateInfo: *const VkDeviceCreateInfo,
3232 pAllocator: *const VkAllocationCallbacks,
3233 pDevice: *mut VkDevice,
3234 ) -> VkResult,
3235>;
3236pub type PFN_vkDestroyDevice = ::std::option::Option<
3237 unsafe extern "system" fn(device: VkDevice, pAllocator: *const VkAllocationCallbacks),
3238>;
3239pub type PFN_vkEnumerateInstanceExtensionProperties = ::std::option::Option<
3240 unsafe extern "system" fn(
3241 pLayerName: *const ::std::os::raw::c_char,
3242 pPropertyCount: *mut u32,
3243 pProperties: *mut VkExtensionProperties,
3244 ) -> VkResult,
3245>;
3246pub type PFN_vkEnumerateDeviceExtensionProperties = ::std::option::Option<
3247 unsafe extern "system" fn(
3248 physicalDevice: VkPhysicalDevice,
3249 pLayerName: *const ::std::os::raw::c_char,
3250 pPropertyCount: *mut u32,
3251 pProperties: *mut VkExtensionProperties,
3252 ) -> VkResult,
3253>;
3254pub type PFN_vkEnumerateInstanceLayerProperties = ::std::option::Option<
3255 unsafe extern "system" fn(
3256 pPropertyCount: *mut u32,
3257 pProperties: *mut VkLayerProperties,
3258 ) -> VkResult,
3259>;
3260pub type PFN_vkEnumerateDeviceLayerProperties = ::std::option::Option<
3261 unsafe extern "system" fn(
3262 physicalDevice: VkPhysicalDevice,
3263 pPropertyCount: *mut u32,
3264 pProperties: *mut VkLayerProperties,
3265 ) -> VkResult,
3266>;
3267pub type PFN_vkGetDeviceQueue = ::std::option::Option<
3268 unsafe extern "system" fn(
3269 device: VkDevice,
3270 queueFamilyIndex: u32,
3271 queueIndex: u32,
3272 pQueue: *mut VkQueue,
3273 ),
3274>;
3275pub type PFN_vkQueueSubmit = ::std::option::Option<
3276 unsafe extern "system" fn(
3277 queue: VkQueue,
3278 submitCount: u32,
3279 pSubmits: *const VkSubmitInfo,
3280 fence: VkFence,
3281 ) -> VkResult,
3282>;
3283pub type PFN_vkQueueWaitIdle =
3284 ::std::option::Option<unsafe extern "system" fn(queue: VkQueue) -> VkResult>;
3285pub type PFN_vkDeviceWaitIdle =
3286 ::std::option::Option<unsafe extern "system" fn(device: VkDevice) -> VkResult>;
3287pub type PFN_vkAllocateMemory = ::std::option::Option<
3288 unsafe extern "system" fn(
3289 device: VkDevice,
3290 pAllocateInfo: *const VkMemoryAllocateInfo,
3291 pAllocator: *const VkAllocationCallbacks,
3292 pMemory: *mut VkDeviceMemory,
3293 ) -> VkResult,
3294>;
3295pub type PFN_vkFreeMemory = ::std::option::Option<
3296 unsafe extern "system" fn(
3297 device: VkDevice,
3298 memory: VkDeviceMemory,
3299 pAllocator: *const VkAllocationCallbacks,
3300 ),
3301>;
3302pub type PFN_vkMapMemory = ::std::option::Option<
3303 unsafe extern "system" fn(
3304 device: VkDevice,
3305 memory: VkDeviceMemory,
3306 offset: VkDeviceSize,
3307 size: VkDeviceSize,
3308 flags: VkMemoryMapFlags,
3309 ppData: *mut *mut ::std::os::raw::c_void,
3310 ) -> VkResult,
3311>;
3312pub type PFN_vkUnmapMemory =
3313 ::std::option::Option<unsafe extern "system" fn(device: VkDevice, memory: VkDeviceMemory)>;
3314pub type PFN_vkFlushMappedMemoryRanges = ::std::option::Option<
3315 unsafe extern "system" fn(
3316 device: VkDevice,
3317 memoryRangeCount: u32,
3318 pMemoryRanges: *const VkMappedMemoryRange,
3319 ) -> VkResult,
3320>;
3321pub type PFN_vkInvalidateMappedMemoryRanges = ::std::option::Option<
3322 unsafe extern "system" fn(
3323 device: VkDevice,
3324 memoryRangeCount: u32,
3325 pMemoryRanges: *const VkMappedMemoryRange,
3326 ) -> VkResult,
3327>;
3328pub type PFN_vkGetDeviceMemoryCommitment = ::std::option::Option<
3329 unsafe extern "system" fn(
3330 device: VkDevice,
3331 memory: VkDeviceMemory,
3332 pCommittedMemoryInBytes: *mut VkDeviceSize,
3333 ),
3334>;
3335pub type PFN_vkBindBufferMemory = ::std::option::Option<
3336 unsafe extern "system" fn(
3337 device: VkDevice,
3338 buffer: VkBuffer,
3339 memory: VkDeviceMemory,
3340 memoryOffset: VkDeviceSize,
3341 ) -> VkResult,
3342>;
3343pub type PFN_vkBindImageMemory = ::std::option::Option<
3344 unsafe extern "system" fn(
3345 device: VkDevice,
3346 image: VkImage,
3347 memory: VkDeviceMemory,
3348 memoryOffset: VkDeviceSize,
3349 ) -> VkResult,
3350>;
3351pub type PFN_vkGetBufferMemoryRequirements = ::std::option::Option<
3352 unsafe extern "system" fn(
3353 device: VkDevice,
3354 buffer: VkBuffer,
3355 pMemoryRequirements: *mut VkMemoryRequirements,
3356 ),
3357>;
3358pub type PFN_vkGetImageMemoryRequirements = ::std::option::Option<
3359 unsafe extern "system" fn(
3360 device: VkDevice,
3361 image: VkImage,
3362 pMemoryRequirements: *mut VkMemoryRequirements,
3363 ),
3364>;
3365pub type PFN_vkGetImageSparseMemoryRequirements = ::std::option::Option<
3366 unsafe extern "system" fn(
3367 device: VkDevice,
3368 image: VkImage,
3369 pSparseMemoryRequirementCount: *mut u32,
3370 pSparseMemoryRequirements: *mut VkSparseImageMemoryRequirements,
3371 ),
3372>;
3373pub type PFN_vkGetPhysicalDeviceSparseImageFormatProperties = ::std::option::Option<
3374 unsafe extern "system" fn(
3375 physicalDevice: VkPhysicalDevice,
3376 format: VkFormat,
3377 type_: VkImageType,
3378 samples: VkSampleCountFlagBits,
3379 usage: VkImageUsageFlags,
3380 tiling: VkImageTiling,
3381 pPropertyCount: *mut u32,
3382 pProperties: *mut VkSparseImageFormatProperties,
3383 ),
3384>;
3385pub type PFN_vkQueueBindSparse = ::std::option::Option<
3386 unsafe extern "system" fn(
3387 queue: VkQueue,
3388 bindInfoCount: u32,
3389 pBindInfo: *const VkBindSparseInfo,
3390 fence: VkFence,
3391 ) -> VkResult,
3392>;
3393pub type PFN_vkCreateFence = ::std::option::Option<
3394 unsafe extern "system" fn(
3395 device: VkDevice,
3396 pCreateInfo: *const VkFenceCreateInfo,
3397 pAllocator: *const VkAllocationCallbacks,
3398 pFence: *mut VkFence,
3399 ) -> VkResult,
3400>;
3401pub type PFN_vkDestroyFence = ::std::option::Option<
3402 unsafe extern "system" fn(
3403 device: VkDevice,
3404 fence: VkFence,
3405 pAllocator: *const VkAllocationCallbacks,
3406 ),
3407>;
3408pub type PFN_vkResetFences = ::std::option::Option<
3409 unsafe extern "system" fn(
3410 device: VkDevice,
3411 fenceCount: u32,
3412 pFences: *const VkFence,
3413 ) -> VkResult,
3414>;
3415pub type PFN_vkGetFenceStatus =
3416 ::std::option::Option<unsafe extern "system" fn(device: VkDevice, fence: VkFence) -> VkResult>;
3417pub type PFN_vkWaitForFences = ::std::option::Option<
3418 unsafe extern "system" fn(
3419 device: VkDevice,
3420 fenceCount: u32,
3421 pFences: *const VkFence,
3422 waitAll: VkBool32,
3423 timeout: u64,
3424 ) -> VkResult,
3425>;
3426pub type PFN_vkCreateSemaphore = ::std::option::Option<
3427 unsafe extern "system" fn(
3428 device: VkDevice,
3429 pCreateInfo: *const VkSemaphoreCreateInfo,
3430 pAllocator: *const VkAllocationCallbacks,
3431 pSemaphore: *mut VkSemaphore,
3432 ) -> VkResult,
3433>;
3434pub type PFN_vkDestroySemaphore = ::std::option::Option<
3435 unsafe extern "system" fn(
3436 device: VkDevice,
3437 semaphore: VkSemaphore,
3438 pAllocator: *const VkAllocationCallbacks,
3439 ),
3440>;
3441pub type PFN_vkCreateEvent = ::std::option::Option<
3442 unsafe extern "system" fn(
3443 device: VkDevice,
3444 pCreateInfo: *const VkEventCreateInfo,
3445 pAllocator: *const VkAllocationCallbacks,
3446 pEvent: *mut VkEvent,
3447 ) -> VkResult,
3448>;
3449pub type PFN_vkDestroyEvent = ::std::option::Option<
3450 unsafe extern "system" fn(
3451 device: VkDevice,
3452 event: VkEvent,
3453 pAllocator: *const VkAllocationCallbacks,
3454 ),
3455>;
3456pub type PFN_vkGetEventStatus =
3457 ::std::option::Option<unsafe extern "system" fn(device: VkDevice, event: VkEvent) -> VkResult>;
3458pub type PFN_vkSetEvent =
3459 ::std::option::Option<unsafe extern "system" fn(device: VkDevice, event: VkEvent) -> VkResult>;
3460pub type PFN_vkResetEvent =
3461 ::std::option::Option<unsafe extern "system" fn(device: VkDevice, event: VkEvent) -> VkResult>;
3462pub type PFN_vkCreateQueryPool = ::std::option::Option<
3463 unsafe extern "system" fn(
3464 device: VkDevice,
3465 pCreateInfo: *const VkQueryPoolCreateInfo,
3466 pAllocator: *const VkAllocationCallbacks,
3467 pQueryPool: *mut VkQueryPool,
3468 ) -> VkResult,
3469>;
3470pub type PFN_vkDestroyQueryPool = ::std::option::Option<
3471 unsafe extern "system" fn(
3472 device: VkDevice,
3473 queryPool: VkQueryPool,
3474 pAllocator: *const VkAllocationCallbacks,
3475 ),
3476>;
3477pub type PFN_vkGetQueryPoolResults = ::std::option::Option<
3478 unsafe extern "system" fn(
3479 device: VkDevice,
3480 queryPool: VkQueryPool,
3481 firstQuery: u32,
3482 queryCount: u32,
3483 dataSize: usize,
3484 pData: *mut ::std::os::raw::c_void,
3485 stride: VkDeviceSize,
3486 flags: VkQueryResultFlags,
3487 ) -> VkResult,
3488>;
3489pub type PFN_vkCreateBuffer = ::std::option::Option<
3490 unsafe extern "system" fn(
3491 device: VkDevice,
3492 pCreateInfo: *const VkBufferCreateInfo,
3493 pAllocator: *const VkAllocationCallbacks,
3494 pBuffer: *mut VkBuffer,
3495 ) -> VkResult,
3496>;
3497pub type PFN_vkDestroyBuffer = ::std::option::Option<
3498 unsafe extern "system" fn(
3499 device: VkDevice,
3500 buffer: VkBuffer,
3501 pAllocator: *const VkAllocationCallbacks,
3502 ),
3503>;
3504pub type PFN_vkCreateBufferView = ::std::option::Option<
3505 unsafe extern "system" fn(
3506 device: VkDevice,
3507 pCreateInfo: *const VkBufferViewCreateInfo,
3508 pAllocator: *const VkAllocationCallbacks,
3509 pView: *mut VkBufferView,
3510 ) -> VkResult,
3511>;
3512pub type PFN_vkDestroyBufferView = ::std::option::Option<
3513 unsafe extern "system" fn(
3514 device: VkDevice,
3515 bufferView: VkBufferView,
3516 pAllocator: *const VkAllocationCallbacks,
3517 ),
3518>;
3519pub type PFN_vkCreateImage = ::std::option::Option<
3520 unsafe extern "system" fn(
3521 device: VkDevice,
3522 pCreateInfo: *const VkImageCreateInfo,
3523 pAllocator: *const VkAllocationCallbacks,
3524 pImage: *mut VkImage,
3525 ) -> VkResult,
3526>;
3527pub type PFN_vkDestroyImage = ::std::option::Option<
3528 unsafe extern "system" fn(
3529 device: VkDevice,
3530 image: VkImage,
3531 pAllocator: *const VkAllocationCallbacks,
3532 ),
3533>;
3534pub type PFN_vkGetImageSubresourceLayout = ::std::option::Option<
3535 unsafe extern "system" fn(
3536 device: VkDevice,
3537 image: VkImage,
3538 pSubresource: *const VkImageSubresource,
3539 pLayout: *mut VkSubresourceLayout,
3540 ),
3541>;
3542pub type PFN_vkCreateImageView = ::std::option::Option<
3543 unsafe extern "system" fn(
3544 device: VkDevice,
3545 pCreateInfo: *const VkImageViewCreateInfo,
3546 pAllocator: *const VkAllocationCallbacks,
3547 pView: *mut VkImageView,
3548 ) -> VkResult,
3549>;
3550pub type PFN_vkDestroyImageView = ::std::option::Option<
3551 unsafe extern "system" fn(
3552 device: VkDevice,
3553 imageView: VkImageView,
3554 pAllocator: *const VkAllocationCallbacks,
3555 ),
3556>;
3557pub type PFN_vkCreateShaderModule = ::std::option::Option<
3558 unsafe extern "system" fn(
3559 device: VkDevice,
3560 pCreateInfo: *const VkShaderModuleCreateInfo,
3561 pAllocator: *const VkAllocationCallbacks,
3562 pShaderModule: *mut VkShaderModule,
3563 ) -> VkResult,
3564>;
3565pub type PFN_vkDestroyShaderModule = ::std::option::Option<
3566 unsafe extern "system" fn(
3567 device: VkDevice,
3568 shaderModule: VkShaderModule,
3569 pAllocator: *const VkAllocationCallbacks,
3570 ),
3571>;
3572pub type PFN_vkCreatePipelineCache = ::std::option::Option<
3573 unsafe extern "system" fn(
3574 device: VkDevice,
3575 pCreateInfo: *const VkPipelineCacheCreateInfo,
3576 pAllocator: *const VkAllocationCallbacks,
3577 pPipelineCache: *mut VkPipelineCache,
3578 ) -> VkResult,
3579>;
3580pub type PFN_vkDestroyPipelineCache = ::std::option::Option<
3581 unsafe extern "system" fn(
3582 device: VkDevice,
3583 pipelineCache: VkPipelineCache,
3584 pAllocator: *const VkAllocationCallbacks,
3585 ),
3586>;
3587pub type PFN_vkGetPipelineCacheData = ::std::option::Option<
3588 unsafe extern "system" fn(
3589 device: VkDevice,
3590 pipelineCache: VkPipelineCache,
3591 pDataSize: *mut usize,
3592 pData: *mut ::std::os::raw::c_void,
3593 ) -> VkResult,
3594>;
3595pub type PFN_vkMergePipelineCaches = ::std::option::Option<
3596 unsafe extern "system" fn(
3597 device: VkDevice,
3598 dstCache: VkPipelineCache,
3599 srcCacheCount: u32,
3600 pSrcCaches: *const VkPipelineCache,
3601 ) -> VkResult,
3602>;
3603pub type PFN_vkCreateGraphicsPipelines = ::std::option::Option<
3604 unsafe extern "system" fn(
3605 device: VkDevice,
3606 pipelineCache: VkPipelineCache,
3607 createInfoCount: u32,
3608 pCreateInfos: *const VkGraphicsPipelineCreateInfo,
3609 pAllocator: *const VkAllocationCallbacks,
3610 pPipelines: *mut VkPipeline,
3611 ) -> VkResult,
3612>;
3613pub type PFN_vkCreateComputePipelines = ::std::option::Option<
3614 unsafe extern "system" fn(
3615 device: VkDevice,
3616 pipelineCache: VkPipelineCache,
3617 createInfoCount: u32,
3618 pCreateInfos: *const VkComputePipelineCreateInfo,
3619 pAllocator: *const VkAllocationCallbacks,
3620 pPipelines: *mut VkPipeline,
3621 ) -> VkResult,
3622>;
3623pub type PFN_vkDestroyPipeline = ::std::option::Option<
3624 unsafe extern "system" fn(
3625 device: VkDevice,
3626 pipeline: VkPipeline,
3627 pAllocator: *const VkAllocationCallbacks,
3628 ),
3629>;
3630pub type PFN_vkCreatePipelineLayout = ::std::option::Option<
3631 unsafe extern "system" fn(
3632 device: VkDevice,
3633 pCreateInfo: *const VkPipelineLayoutCreateInfo,
3634 pAllocator: *const VkAllocationCallbacks,
3635 pPipelineLayout: *mut VkPipelineLayout,
3636 ) -> VkResult,
3637>;
3638pub type PFN_vkDestroyPipelineLayout = ::std::option::Option<
3639 unsafe extern "system" fn(
3640 device: VkDevice,
3641 pipelineLayout: VkPipelineLayout,
3642 pAllocator: *const VkAllocationCallbacks,
3643 ),
3644>;
3645pub type PFN_vkCreateSampler = ::std::option::Option<
3646 unsafe extern "system" fn(
3647 device: VkDevice,
3648 pCreateInfo: *const VkSamplerCreateInfo,
3649 pAllocator: *const VkAllocationCallbacks,
3650 pSampler: *mut VkSampler,
3651 ) -> VkResult,
3652>;
3653pub type PFN_vkDestroySampler = ::std::option::Option<
3654 unsafe extern "system" fn(
3655 device: VkDevice,
3656 sampler: VkSampler,
3657 pAllocator: *const VkAllocationCallbacks,
3658 ),
3659>;
3660pub type PFN_vkCreateDescriptorSetLayout = ::std::option::Option<
3661 unsafe extern "system" fn(
3662 device: VkDevice,
3663 pCreateInfo: *const VkDescriptorSetLayoutCreateInfo,
3664 pAllocator: *const VkAllocationCallbacks,
3665 pSetLayout: *mut VkDescriptorSetLayout,
3666 ) -> VkResult,
3667>;
3668pub type PFN_vkDestroyDescriptorSetLayout = ::std::option::Option<
3669 unsafe extern "system" fn(
3670 device: VkDevice,
3671 descriptorSetLayout: VkDescriptorSetLayout,
3672 pAllocator: *const VkAllocationCallbacks,
3673 ),
3674>;
3675pub type PFN_vkCreateDescriptorPool = ::std::option::Option<
3676 unsafe extern "system" fn(
3677 device: VkDevice,
3678 pCreateInfo: *const VkDescriptorPoolCreateInfo,
3679 pAllocator: *const VkAllocationCallbacks,
3680 pDescriptorPool: *mut VkDescriptorPool,
3681 ) -> VkResult,
3682>;
3683pub type PFN_vkDestroyDescriptorPool = ::std::option::Option<
3684 unsafe extern "system" fn(
3685 device: VkDevice,
3686 descriptorPool: VkDescriptorPool,
3687 pAllocator: *const VkAllocationCallbacks,
3688 ),
3689>;
3690pub type PFN_vkResetDescriptorPool = ::std::option::Option<
3691 unsafe extern "system" fn(
3692 device: VkDevice,
3693 descriptorPool: VkDescriptorPool,
3694 flags: VkDescriptorPoolResetFlags,
3695 ) -> VkResult,
3696>;
3697pub type PFN_vkAllocateDescriptorSets = ::std::option::Option<
3698 unsafe extern "system" fn(
3699 device: VkDevice,
3700 pAllocateInfo: *const VkDescriptorSetAllocateInfo,
3701 pDescriptorSets: *mut VkDescriptorSet,
3702 ) -> VkResult,
3703>;
3704pub type PFN_vkFreeDescriptorSets = ::std::option::Option<
3705 unsafe extern "system" fn(
3706 device: VkDevice,
3707 descriptorPool: VkDescriptorPool,
3708 descriptorSetCount: u32,
3709 pDescriptorSets: *const VkDescriptorSet,
3710 ) -> VkResult,
3711>;
3712pub type PFN_vkUpdateDescriptorSets = ::std::option::Option<
3713 unsafe extern "system" fn(
3714 device: VkDevice,
3715 descriptorWriteCount: u32,
3716 pDescriptorWrites: *const VkWriteDescriptorSet,
3717 descriptorCopyCount: u32,
3718 pDescriptorCopies: *const VkCopyDescriptorSet,
3719 ),
3720>;
3721pub type PFN_vkCreateFramebuffer = ::std::option::Option<
3722 unsafe extern "system" fn(
3723 device: VkDevice,
3724 pCreateInfo: *const VkFramebufferCreateInfo,
3725 pAllocator: *const VkAllocationCallbacks,
3726 pFramebuffer: *mut VkFramebuffer,
3727 ) -> VkResult,
3728>;
3729pub type PFN_vkDestroyFramebuffer = ::std::option::Option<
3730 unsafe extern "system" fn(
3731 device: VkDevice,
3732 framebuffer: VkFramebuffer,
3733 pAllocator: *const VkAllocationCallbacks,
3734 ),
3735>;
3736pub type PFN_vkCreateRenderPass = ::std::option::Option<
3737 unsafe extern "system" fn(
3738 device: VkDevice,
3739 pCreateInfo: *const VkRenderPassCreateInfo,
3740 pAllocator: *const VkAllocationCallbacks,
3741 pRenderPass: *mut VkRenderPass,
3742 ) -> VkResult,
3743>;
3744pub type PFN_vkDestroyRenderPass = ::std::option::Option<
3745 unsafe extern "system" fn(
3746 device: VkDevice,
3747 renderPass: VkRenderPass,
3748 pAllocator: *const VkAllocationCallbacks,
3749 ),
3750>;
3751pub type PFN_vkGetRenderAreaGranularity = ::std::option::Option<
3752 unsafe extern "system" fn(
3753 device: VkDevice,
3754 renderPass: VkRenderPass,
3755 pGranularity: *mut VkExtent2D,
3756 ),
3757>;
3758pub type PFN_vkCreateCommandPool = ::std::option::Option<
3759 unsafe extern "system" fn(
3760 device: VkDevice,
3761 pCreateInfo: *const VkCommandPoolCreateInfo,
3762 pAllocator: *const VkAllocationCallbacks,
3763 pCommandPool: *mut VkCommandPool,
3764 ) -> VkResult,
3765>;
3766pub type PFN_vkDestroyCommandPool = ::std::option::Option<
3767 unsafe extern "system" fn(
3768 device: VkDevice,
3769 commandPool: VkCommandPool,
3770 pAllocator: *const VkAllocationCallbacks,
3771 ),
3772>;
3773pub type PFN_vkResetCommandPool = ::std::option::Option<
3774 unsafe extern "system" fn(
3775 device: VkDevice,
3776 commandPool: VkCommandPool,
3777 flags: VkCommandPoolResetFlags,
3778 ) -> VkResult,
3779>;
3780pub type PFN_vkAllocateCommandBuffers = ::std::option::Option<
3781 unsafe extern "system" fn(
3782 device: VkDevice,
3783 pAllocateInfo: *const VkCommandBufferAllocateInfo,
3784 pCommandBuffers: *mut VkCommandBuffer,
3785 ) -> VkResult,
3786>;
3787pub type PFN_vkFreeCommandBuffers = ::std::option::Option<
3788 unsafe extern "system" fn(
3789 device: VkDevice,
3790 commandPool: VkCommandPool,
3791 commandBufferCount: u32,
3792 pCommandBuffers: *const VkCommandBuffer,
3793 ),
3794>;
3795pub type PFN_vkBeginCommandBuffer = ::std::option::Option<
3796 unsafe extern "system" fn(
3797 commandBuffer: VkCommandBuffer,
3798 pBeginInfo: *const VkCommandBufferBeginInfo,
3799 ) -> VkResult,
3800>;
3801pub type PFN_vkEndCommandBuffer =
3802 ::std::option::Option<unsafe extern "system" fn(commandBuffer: VkCommandBuffer) -> VkResult>;
3803pub type PFN_vkResetCommandBuffer = ::std::option::Option<
3804 unsafe extern "system" fn(
3805 commandBuffer: VkCommandBuffer,
3806 flags: VkCommandBufferResetFlags,
3807 ) -> VkResult,
3808>;
3809pub type PFN_vkCmdBindPipeline = ::std::option::Option<
3810 unsafe extern "system" fn(
3811 commandBuffer: VkCommandBuffer,
3812 pipelineBindPoint: VkPipelineBindPoint,
3813 pipeline: VkPipeline,
3814 ),
3815>;
3816pub type PFN_vkCmdSetViewport = ::std::option::Option<
3817 unsafe extern "system" fn(
3818 commandBuffer: VkCommandBuffer,
3819 firstViewport: u32,
3820 viewportCount: u32,
3821 pViewports: *const VkViewport,
3822 ),
3823>;
3824pub type PFN_vkCmdSetScissor = ::std::option::Option<
3825 unsafe extern "system" fn(
3826 commandBuffer: VkCommandBuffer,
3827 firstScissor: u32,
3828 scissorCount: u32,
3829 pScissors: *const VkRect2D,
3830 ),
3831>;
3832pub type PFN_vkCmdSetLineWidth = ::std::option::Option<
3833 unsafe extern "system" fn(commandBuffer: VkCommandBuffer, lineWidth: f32),
3834>;
3835pub type PFN_vkCmdSetDepthBias = ::std::option::Option<
3836 unsafe extern "system" fn(
3837 commandBuffer: VkCommandBuffer,
3838 depthBiasConstantFactor: f32,
3839 depthBiasClamp: f32,
3840 depthBiasSlopeFactor: f32,
3841 ),
3842>;
3843pub type PFN_vkCmdSetBlendConstants = ::std::option::Option<
3844 unsafe extern "system" fn(commandBuffer: VkCommandBuffer, blendConstants: *const f32),
3845>;
3846pub type PFN_vkCmdSetDepthBounds = ::std::option::Option<
3847 unsafe extern "system" fn(
3848 commandBuffer: VkCommandBuffer,
3849 minDepthBounds: f32,
3850 maxDepthBounds: f32,
3851 ),
3852>;
3853pub type PFN_vkCmdSetStencilCompareMask = ::std::option::Option<
3854 unsafe extern "system" fn(
3855 commandBuffer: VkCommandBuffer,
3856 faceMask: VkStencilFaceFlags,
3857 compareMask: u32,
3858 ),
3859>;
3860pub type PFN_vkCmdSetStencilWriteMask = ::std::option::Option<
3861 unsafe extern "system" fn(
3862 commandBuffer: VkCommandBuffer,
3863 faceMask: VkStencilFaceFlags,
3864 writeMask: u32,
3865 ),
3866>;
3867pub type PFN_vkCmdSetStencilReference = ::std::option::Option<
3868 unsafe extern "system" fn(
3869 commandBuffer: VkCommandBuffer,
3870 faceMask: VkStencilFaceFlags,
3871 reference: u32,
3872 ),
3873>;
3874pub type PFN_vkCmdBindDescriptorSets = ::std::option::Option<
3875 unsafe extern "system" fn(
3876 commandBuffer: VkCommandBuffer,
3877 pipelineBindPoint: VkPipelineBindPoint,
3878 layout: VkPipelineLayout,
3879 firstSet: u32,
3880 descriptorSetCount: u32,
3881 pDescriptorSets: *const VkDescriptorSet,
3882 dynamicOffsetCount: u32,
3883 pDynamicOffsets: *const u32,
3884 ),
3885>;
3886pub type PFN_vkCmdBindIndexBuffer = ::std::option::Option<
3887 unsafe extern "system" fn(
3888 commandBuffer: VkCommandBuffer,
3889 buffer: VkBuffer,
3890 offset: VkDeviceSize,
3891 indexType: VkIndexType,
3892 ),
3893>;
3894pub type PFN_vkCmdBindVertexBuffers = ::std::option::Option<
3895 unsafe extern "system" fn(
3896 commandBuffer: VkCommandBuffer,
3897 firstBinding: u32,
3898 bindingCount: u32,
3899 pBuffers: *const VkBuffer,
3900 pOffsets: *const VkDeviceSize,
3901 ),
3902>;
3903pub type PFN_vkCmdDraw = ::std::option::Option<
3904 unsafe extern "system" fn(
3905 commandBuffer: VkCommandBuffer,
3906 vertexCount: u32,
3907 instanceCount: u32,
3908 firstVertex: u32,
3909 firstInstance: u32,
3910 ),
3911>;
3912pub type PFN_vkCmdDrawIndexed = ::std::option::Option<
3913 unsafe extern "system" fn(
3914 commandBuffer: VkCommandBuffer,
3915 indexCount: u32,
3916 instanceCount: u32,
3917 firstIndex: u32,
3918 vertexOffset: i32,
3919 firstInstance: u32,
3920 ),
3921>;
3922pub type PFN_vkCmdDrawIndirect = ::std::option::Option<
3923 unsafe extern "system" fn(
3924 commandBuffer: VkCommandBuffer,
3925 buffer: VkBuffer,
3926 offset: VkDeviceSize,
3927 drawCount: u32,
3928 stride: u32,
3929 ),
3930>;
3931pub type PFN_vkCmdDrawIndexedIndirect = ::std::option::Option<
3932 unsafe extern "system" fn(
3933 commandBuffer: VkCommandBuffer,
3934 buffer: VkBuffer,
3935 offset: VkDeviceSize,
3936 drawCount: u32,
3937 stride: u32,
3938 ),
3939>;
3940pub type PFN_vkCmdDispatch = ::std::option::Option<
3941 unsafe extern "system" fn(
3942 commandBuffer: VkCommandBuffer,
3943 groupCountX: u32,
3944 groupCountY: u32,
3945 groupCountZ: u32,
3946 ),
3947>;
3948pub type PFN_vkCmdDispatchIndirect = ::std::option::Option<
3949 unsafe extern "system" fn(
3950 commandBuffer: VkCommandBuffer,
3951 buffer: VkBuffer,
3952 offset: VkDeviceSize,
3953 ),
3954>;
3955pub type PFN_vkCmdCopyBuffer = ::std::option::Option<
3956 unsafe extern "system" fn(
3957 commandBuffer: VkCommandBuffer,
3958 srcBuffer: VkBuffer,
3959 dstBuffer: VkBuffer,
3960 regionCount: u32,
3961 pRegions: *const VkBufferCopy,
3962 ),
3963>;
3964pub type PFN_vkCmdCopyImage = ::std::option::Option<
3965 unsafe extern "system" fn(
3966 commandBuffer: VkCommandBuffer,
3967 srcImage: VkImage,
3968 srcImageLayout: VkImageLayout,
3969 dstImage: VkImage,
3970 dstImageLayout: VkImageLayout,
3971 regionCount: u32,
3972 pRegions: *const VkImageCopy,
3973 ),
3974>;
3975pub type PFN_vkCmdBlitImage = ::std::option::Option<
3976 unsafe extern "system" fn(
3977 commandBuffer: VkCommandBuffer,
3978 srcImage: VkImage,
3979 srcImageLayout: VkImageLayout,
3980 dstImage: VkImage,
3981 dstImageLayout: VkImageLayout,
3982 regionCount: u32,
3983 pRegions: *const VkImageBlit,
3984 filter: VkFilter,
3985 ),
3986>;
3987pub type PFN_vkCmdCopyBufferToImage = ::std::option::Option<
3988 unsafe extern "system" fn(
3989 commandBuffer: VkCommandBuffer,
3990 srcBuffer: VkBuffer,
3991 dstImage: VkImage,
3992 dstImageLayout: VkImageLayout,
3993 regionCount: u32,
3994 pRegions: *const VkBufferImageCopy,
3995 ),
3996>;
3997pub type PFN_vkCmdCopyImageToBuffer = ::std::option::Option<
3998 unsafe extern "system" fn(
3999 commandBuffer: VkCommandBuffer,
4000 srcImage: VkImage,
4001 srcImageLayout: VkImageLayout,
4002 dstBuffer: VkBuffer,
4003 regionCount: u32,
4004 pRegions: *const VkBufferImageCopy,
4005 ),
4006>;
4007pub type PFN_vkCmdUpdateBuffer = ::std::option::Option<
4008 unsafe extern "system" fn(
4009 commandBuffer: VkCommandBuffer,
4010 dstBuffer: VkBuffer,
4011 dstOffset: VkDeviceSize,
4012 dataSize: VkDeviceSize,
4013 pData: *const ::std::os::raw::c_void,
4014 ),
4015>;
4016pub type PFN_vkCmdFillBuffer = ::std::option::Option<
4017 unsafe extern "system" fn(
4018 commandBuffer: VkCommandBuffer,
4019 dstBuffer: VkBuffer,
4020 dstOffset: VkDeviceSize,
4021 size: VkDeviceSize,
4022 data: u32,
4023 ),
4024>;
4025pub type PFN_vkCmdClearColorImage = ::std::option::Option<
4026 unsafe extern "system" fn(
4027 commandBuffer: VkCommandBuffer,
4028 image: VkImage,
4029 imageLayout: VkImageLayout,
4030 pColor: *const VkClearColorValue,
4031 rangeCount: u32,
4032 pRanges: *const VkImageSubresourceRange,
4033 ),
4034>;
4035pub type PFN_vkCmdClearDepthStencilImage = ::std::option::Option<
4036 unsafe extern "system" fn(
4037 commandBuffer: VkCommandBuffer,
4038 image: VkImage,
4039 imageLayout: VkImageLayout,
4040 pDepthStencil: *const VkClearDepthStencilValue,
4041 rangeCount: u32,
4042 pRanges: *const VkImageSubresourceRange,
4043 ),
4044>;
4045pub type PFN_vkCmdClearAttachments = ::std::option::Option<
4046 unsafe extern "system" fn(
4047 commandBuffer: VkCommandBuffer,
4048 attachmentCount: u32,
4049 pAttachments: *const VkClearAttachment,
4050 rectCount: u32,
4051 pRects: *const VkClearRect,
4052 ),
4053>;
4054pub type PFN_vkCmdResolveImage = ::std::option::Option<
4055 unsafe extern "system" fn(
4056 commandBuffer: VkCommandBuffer,
4057 srcImage: VkImage,
4058 srcImageLayout: VkImageLayout,
4059 dstImage: VkImage,
4060 dstImageLayout: VkImageLayout,
4061 regionCount: u32,
4062 pRegions: *const VkImageResolve,
4063 ),
4064>;
4065pub type PFN_vkCmdSetEvent = ::std::option::Option<
4066 unsafe extern "system" fn(
4067 commandBuffer: VkCommandBuffer,
4068 event: VkEvent,
4069 stageMask: VkPipelineStageFlags,
4070 ),
4071>;
4072pub type PFN_vkCmdResetEvent = ::std::option::Option<
4073 unsafe extern "system" fn(
4074 commandBuffer: VkCommandBuffer,
4075 event: VkEvent,
4076 stageMask: VkPipelineStageFlags,
4077 ),
4078>;
4079pub type PFN_vkCmdWaitEvents = ::std::option::Option<
4080 unsafe extern "system" fn(
4081 commandBuffer: VkCommandBuffer,
4082 eventCount: u32,
4083 pEvents: *const VkEvent,
4084 srcStageMask: VkPipelineStageFlags,
4085 dstStageMask: VkPipelineStageFlags,
4086 memoryBarrierCount: u32,
4087 pMemoryBarriers: *const VkMemoryBarrier,
4088 bufferMemoryBarrierCount: u32,
4089 pBufferMemoryBarriers: *const VkBufferMemoryBarrier,
4090 imageMemoryBarrierCount: u32,
4091 pImageMemoryBarriers: *const VkImageMemoryBarrier,
4092 ),
4093>;
4094pub type PFN_vkCmdPipelineBarrier = ::std::option::Option<
4095 unsafe extern "system" fn(
4096 commandBuffer: VkCommandBuffer,
4097 srcStageMask: VkPipelineStageFlags,
4098 dstStageMask: VkPipelineStageFlags,
4099 dependencyFlags: VkDependencyFlags,
4100 memoryBarrierCount: u32,
4101 pMemoryBarriers: *const VkMemoryBarrier,
4102 bufferMemoryBarrierCount: u32,
4103 pBufferMemoryBarriers: *const VkBufferMemoryBarrier,
4104 imageMemoryBarrierCount: u32,
4105 pImageMemoryBarriers: *const VkImageMemoryBarrier,
4106 ),
4107>;
4108pub type PFN_vkCmdBeginQuery = ::std::option::Option<
4109 unsafe extern "system" fn(
4110 commandBuffer: VkCommandBuffer,
4111 queryPool: VkQueryPool,
4112 query: u32,
4113 flags: VkQueryControlFlags,
4114 ),
4115>;
4116pub type PFN_vkCmdEndQuery = ::std::option::Option<
4117 unsafe extern "system" fn(commandBuffer: VkCommandBuffer, queryPool: VkQueryPool, query: u32),
4118>;
4119pub type PFN_vkCmdResetQueryPool = ::std::option::Option<
4120 unsafe extern "system" fn(
4121 commandBuffer: VkCommandBuffer,
4122 queryPool: VkQueryPool,
4123 firstQuery: u32,
4124 queryCount: u32,
4125 ),
4126>;
4127pub type PFN_vkCmdWriteTimestamp = ::std::option::Option<
4128 unsafe extern "system" fn(
4129 commandBuffer: VkCommandBuffer,
4130 pipelineStage: VkPipelineStageFlagBits,
4131 queryPool: VkQueryPool,
4132 query: u32,
4133 ),
4134>;
4135pub type PFN_vkCmdCopyQueryPoolResults = ::std::option::Option<
4136 unsafe extern "system" fn(
4137 commandBuffer: VkCommandBuffer,
4138 queryPool: VkQueryPool,
4139 firstQuery: u32,
4140 queryCount: u32,
4141 dstBuffer: VkBuffer,
4142 dstOffset: VkDeviceSize,
4143 stride: VkDeviceSize,
4144 flags: VkQueryResultFlags,
4145 ),
4146>;
4147pub type PFN_vkCmdPushConstants = ::std::option::Option<
4148 unsafe extern "system" fn(
4149 commandBuffer: VkCommandBuffer,
4150 layout: VkPipelineLayout,
4151 stageFlags: VkShaderStageFlags,
4152 offset: u32,
4153 size: u32,
4154 pValues: *const ::std::os::raw::c_void,
4155 ),
4156>;
4157pub type PFN_vkCmdBeginRenderPass = ::std::option::Option<
4158 unsafe extern "system" fn(
4159 commandBuffer: VkCommandBuffer,
4160 pRenderPassBegin: *const VkRenderPassBeginInfo,
4161 contents: VkSubpassContents,
4162 ),
4163>;
4164pub type PFN_vkCmdNextSubpass = ::std::option::Option<
4165 unsafe extern "system" fn(commandBuffer: VkCommandBuffer, contents: VkSubpassContents),
4166>;
4167pub type PFN_vkCmdEndRenderPass =
4168 ::std::option::Option<unsafe extern "system" fn(commandBuffer: VkCommandBuffer)>;
4169pub type PFN_vkCmdExecuteCommands = ::std::option::Option<
4170 unsafe extern "system" fn(
4171 commandBuffer: VkCommandBuffer,
4172 commandBufferCount: u32,
4173 pCommandBuffers: *const VkCommandBuffer,
4174 ),
4175>;
4176extern "system" {
4177 pub fn vkCreateInstance(
4178 pCreateInfo: *const VkInstanceCreateInfo,
4179 pAllocator: *const VkAllocationCallbacks,
4180 pInstance: *mut VkInstance,
4181 ) -> VkResult;
4182}
4183extern "system" {
4184 pub fn vkDestroyInstance(instance: VkInstance, pAllocator: *const VkAllocationCallbacks);
4185}
4186extern "system" {
4187 pub fn vkEnumeratePhysicalDevices(
4188 instance: VkInstance,
4189 pPhysicalDeviceCount: *mut u32,
4190 pPhysicalDevices: *mut VkPhysicalDevice,
4191 ) -> VkResult;
4192}
4193extern "system" {
4194 pub fn vkGetPhysicalDeviceFeatures(
4195 physicalDevice: VkPhysicalDevice,
4196 pFeatures: *mut VkPhysicalDeviceFeatures,
4197 );
4198}
4199extern "system" {
4200 pub fn vkGetPhysicalDeviceFormatProperties(
4201 physicalDevice: VkPhysicalDevice,
4202 format: VkFormat,
4203 pFormatProperties: *mut VkFormatProperties,
4204 );
4205}
4206extern "system" {
4207 pub fn vkGetPhysicalDeviceImageFormatProperties(
4208 physicalDevice: VkPhysicalDevice,
4209 format: VkFormat,
4210 type_: VkImageType,
4211 tiling: VkImageTiling,
4212 usage: VkImageUsageFlags,
4213 flags: VkImageCreateFlags,
4214 pImageFormatProperties: *mut VkImageFormatProperties,
4215 ) -> VkResult;
4216}
4217extern "system" {
4218 pub fn vkGetPhysicalDeviceProperties(
4219 physicalDevice: VkPhysicalDevice,
4220 pProperties: *mut VkPhysicalDeviceProperties,
4221 );
4222}
4223extern "system" {
4224 pub fn vkGetPhysicalDeviceQueueFamilyProperties(
4225 physicalDevice: VkPhysicalDevice,
4226 pQueueFamilyPropertyCount: *mut u32,
4227 pQueueFamilyProperties: *mut VkQueueFamilyProperties,
4228 );
4229}
4230extern "system" {
4231 pub fn vkGetPhysicalDeviceMemoryProperties(
4232 physicalDevice: VkPhysicalDevice,
4233 pMemoryProperties: *mut VkPhysicalDeviceMemoryProperties,
4234 );
4235}
4236extern "system" {
4237 pub fn vkGetInstanceProcAddr(
4238 instance: VkInstance,
4239 pName: *const ::std::os::raw::c_char,
4240 ) -> PFN_vkVoidFunction;
4241}
4242extern "system" {
4243 pub fn vkGetDeviceProcAddr(
4244 device: VkDevice,
4245 pName: *const ::std::os::raw::c_char,
4246 ) -> PFN_vkVoidFunction;
4247}
4248extern "system" {
4249 pub fn vkCreateDevice(
4250 physicalDevice: VkPhysicalDevice,
4251 pCreateInfo: *const VkDeviceCreateInfo,
4252 pAllocator: *const VkAllocationCallbacks,
4253 pDevice: *mut VkDevice,
4254 ) -> VkResult;
4255}
4256extern "system" {
4257 pub fn vkDestroyDevice(device: VkDevice, pAllocator: *const VkAllocationCallbacks);
4258}
4259#[allow(dead_code)]
4260extern "system" {
4261 pub fn vkEnumerateInstanceExtensionProperties(
4262 pLayerName: *const std::os::raw::c_char,
4263 pPropertyCount: *mut u32,
4264 pProperties: *mut VkExtensionProperties,
4265 ) -> VkResult;
4266}
4267extern "system" {
4268 pub fn vkEnumerateDeviceExtensionProperties(
4269 physicalDevice: VkPhysicalDevice,
4270 pLayerName: *const ::std::os::raw::c_char,
4271 pPropertyCount: *mut u32,
4272 pProperties: *mut VkExtensionProperties,
4273 ) -> VkResult;
4274}
4275extern "system" {
4276 pub fn vkEnumerateInstanceLayerProperties(
4277 pPropertyCount: *mut u32,
4278 pProperties: *mut VkLayerProperties,
4279 ) -> VkResult;
4280}
4281extern "system" {
4282 pub fn vkEnumerateDeviceLayerProperties(
4283 physicalDevice: VkPhysicalDevice,
4284 pPropertyCount: *mut u32,
4285 pProperties: *mut VkLayerProperties,
4286 ) -> VkResult;
4287}
4288extern "system" {
4289 pub fn vkGetDeviceQueue(
4290 device: VkDevice,
4291 queueFamilyIndex: u32,
4292 queueIndex: u32,
4293 pQueue: *mut VkQueue,
4294 );
4295}
4296extern "system" {
4297 pub fn vkQueueSubmit(
4298 queue: VkQueue,
4299 submitCount: u32,
4300 pSubmits: *const VkSubmitInfo,
4301 fence: VkFence,
4302 ) -> VkResult;
4303}
4304extern "system" {
4305 pub fn vkQueueWaitIdle(queue: VkQueue) -> VkResult;
4306}
4307extern "system" {
4308 pub fn vkDeviceWaitIdle(device: VkDevice) -> VkResult;
4309}
4310extern "system" {
4311 pub fn vkAllocateMemory(
4312 device: VkDevice,
4313 pAllocateInfo: *const VkMemoryAllocateInfo,
4314 pAllocator: *const VkAllocationCallbacks,
4315 pMemory: *mut VkDeviceMemory,
4316 ) -> VkResult;
4317}
4318extern "system" {
4319 pub fn vkFreeMemory(
4320 device: VkDevice,
4321 memory: VkDeviceMemory,
4322 pAllocator: *const VkAllocationCallbacks,
4323 );
4324}
4325extern "system" {
4326 pub fn vkMapMemory(
4327 device: VkDevice,
4328 memory: VkDeviceMemory,
4329 offset: VkDeviceSize,
4330 size: VkDeviceSize,
4331 flags: VkMemoryMapFlags,
4332 ppData: *mut *mut ::std::os::raw::c_void,
4333 ) -> VkResult;
4334}
4335extern "system" {
4336 pub fn vkUnmapMemory(device: VkDevice, memory: VkDeviceMemory);
4337}
4338extern "system" {
4339 pub fn vkFlushMappedMemoryRanges(
4340 device: VkDevice,
4341 memoryRangeCount: u32,
4342 pMemoryRanges: *const VkMappedMemoryRange,
4343 ) -> VkResult;
4344}
4345extern "system" {
4346 pub fn vkInvalidateMappedMemoryRanges(
4347 device: VkDevice,
4348 memoryRangeCount: u32,
4349 pMemoryRanges: *const VkMappedMemoryRange,
4350 ) -> VkResult;
4351}
4352extern "system" {
4353 pub fn vkGetDeviceMemoryCommitment(
4354 device: VkDevice,
4355 memory: VkDeviceMemory,
4356 pCommittedMemoryInBytes: *mut VkDeviceSize,
4357 );
4358}
4359extern "system" {
4360 pub fn vkBindBufferMemory(
4361 device: VkDevice,
4362 buffer: VkBuffer,
4363 memory: VkDeviceMemory,
4364 memoryOffset: VkDeviceSize,
4365 ) -> VkResult;
4366}
4367extern "system" {
4368 pub fn vkBindImageMemory(
4369 device: VkDevice,
4370 image: VkImage,
4371 memory: VkDeviceMemory,
4372 memoryOffset: VkDeviceSize,
4373 ) -> VkResult;
4374}
4375extern "system" {
4376 pub fn vkGetBufferMemoryRequirements(
4377 device: VkDevice,
4378 buffer: VkBuffer,
4379 pMemoryRequirements: *mut VkMemoryRequirements,
4380 );
4381}
4382extern "system" {
4383 pub fn vkGetImageMemoryRequirements(
4384 device: VkDevice,
4385 image: VkImage,
4386 pMemoryRequirements: *mut VkMemoryRequirements,
4387 );
4388}
4389extern "system" {
4390 pub fn vkGetImageSparseMemoryRequirements(
4391 device: VkDevice,
4392 image: VkImage,
4393 pSparseMemoryRequirementCount: *mut u32,
4394 pSparseMemoryRequirements: *mut VkSparseImageMemoryRequirements,
4395 );
4396}
4397extern "system" {
4398 pub fn vkGetPhysicalDeviceSparseImageFormatProperties(
4399 physicalDevice: VkPhysicalDevice,
4400 format: VkFormat,
4401 type_: VkImageType,
4402 samples: VkSampleCountFlagBits,
4403 usage: VkImageUsageFlags,
4404 tiling: VkImageTiling,
4405 pPropertyCount: *mut u32,
4406 pProperties: *mut VkSparseImageFormatProperties,
4407 );
4408}
4409extern "system" {
4410 pub fn vkQueueBindSparse(
4411 queue: VkQueue,
4412 bindInfoCount: u32,
4413 pBindInfo: *const VkBindSparseInfo,
4414 fence: VkFence,
4415 ) -> VkResult;
4416}
4417extern "system" {
4418 pub fn vkCreateFence(
4419 device: VkDevice,
4420 pCreateInfo: *const VkFenceCreateInfo,
4421 pAllocator: *const VkAllocationCallbacks,
4422 pFence: *mut VkFence,
4423 ) -> VkResult;
4424}
4425extern "system" {
4426 pub fn vkDestroyFence(
4427 device: VkDevice,
4428 fence: VkFence,
4429 pAllocator: *const VkAllocationCallbacks,
4430 );
4431}
4432extern "system" {
4433 pub fn vkResetFences(device: VkDevice, fenceCount: u32, pFences: *const VkFence) -> VkResult;
4434}
4435extern "system" {
4436 pub fn vkGetFenceStatus(device: VkDevice, fence: VkFence) -> VkResult;
4437}
4438extern "system" {
4439 pub fn vkWaitForFences(
4440 device: VkDevice,
4441 fenceCount: u32,
4442 pFences: *const VkFence,
4443 waitAll: VkBool32,
4444 timeout: u64,
4445 ) -> VkResult;
4446}
4447extern "system" {
4448 pub fn vkCreateSemaphore(
4449 device: VkDevice,
4450 pCreateInfo: *const VkSemaphoreCreateInfo,
4451 pAllocator: *const VkAllocationCallbacks,
4452 pSemaphore: *mut VkSemaphore,
4453 ) -> VkResult;
4454}
4455extern "system" {
4456 pub fn vkDestroySemaphore(
4457 device: VkDevice,
4458 semaphore: VkSemaphore,
4459 pAllocator: *const VkAllocationCallbacks,
4460 );
4461}
4462extern "system" {
4463 pub fn vkCreateEvent(
4464 device: VkDevice,
4465 pCreateInfo: *const VkEventCreateInfo,
4466 pAllocator: *const VkAllocationCallbacks,
4467 pEvent: *mut VkEvent,
4468 ) -> VkResult;
4469}
4470extern "system" {
4471 pub fn vkDestroyEvent(
4472 device: VkDevice,
4473 event: VkEvent,
4474 pAllocator: *const VkAllocationCallbacks,
4475 );
4476}
4477extern "system" {
4478 pub fn vkGetEventStatus(device: VkDevice, event: VkEvent) -> VkResult;
4479}
4480extern "system" {
4481 pub fn vkSetEvent(device: VkDevice, event: VkEvent) -> VkResult;
4482}
4483extern "system" {
4484 pub fn vkResetEvent(device: VkDevice, event: VkEvent) -> VkResult;
4485}
4486extern "system" {
4487 pub fn vkCreateQueryPool(
4488 device: VkDevice,
4489 pCreateInfo: *const VkQueryPoolCreateInfo,
4490 pAllocator: *const VkAllocationCallbacks,
4491 pQueryPool: *mut VkQueryPool,
4492 ) -> VkResult;
4493}
4494extern "system" {
4495 pub fn vkDestroyQueryPool(
4496 device: VkDevice,
4497 queryPool: VkQueryPool,
4498 pAllocator: *const VkAllocationCallbacks,
4499 );
4500}
4501extern "system" {
4502 pub fn vkGetQueryPoolResults(
4503 device: VkDevice,
4504 queryPool: VkQueryPool,
4505 firstQuery: u32,
4506 queryCount: u32,
4507 dataSize: usize,
4508 pData: *mut ::std::os::raw::c_void,
4509 stride: VkDeviceSize,
4510 flags: VkQueryResultFlags,
4511 ) -> VkResult;
4512}
4513extern "system" {
4514 pub fn vkCreateBuffer(
4515 device: VkDevice,
4516 pCreateInfo: *const VkBufferCreateInfo,
4517 pAllocator: *const VkAllocationCallbacks,
4518 pBuffer: *mut VkBuffer,
4519 ) -> VkResult;
4520}
4521extern "system" {
4522 pub fn vkDestroyBuffer(
4523 device: VkDevice,
4524 buffer: VkBuffer,
4525 pAllocator: *const VkAllocationCallbacks,
4526 );
4527}
4528extern "system" {
4529 pub fn vkCreateBufferView(
4530 device: VkDevice,
4531 pCreateInfo: *const VkBufferViewCreateInfo,
4532 pAllocator: *const VkAllocationCallbacks,
4533 pView: *mut VkBufferView,
4534 ) -> VkResult;
4535}
4536extern "system" {
4537 pub fn vkDestroyBufferView(
4538 device: VkDevice,
4539 bufferView: VkBufferView,
4540 pAllocator: *const VkAllocationCallbacks,
4541 );
4542}
4543extern "system" {
4544 pub fn vkCreateImage(
4545 device: VkDevice,
4546 pCreateInfo: *const VkImageCreateInfo,
4547 pAllocator: *const VkAllocationCallbacks,
4548 pImage: *mut VkImage,
4549 ) -> VkResult;
4550}
4551extern "system" {
4552 pub fn vkDestroyImage(
4553 device: VkDevice,
4554 image: VkImage,
4555 pAllocator: *const VkAllocationCallbacks,
4556 );
4557}
4558extern "system" {
4559 pub fn vkGetImageSubresourceLayout(
4560 device: VkDevice,
4561 image: VkImage,
4562 pSubresource: *const VkImageSubresource,
4563 pLayout: *mut VkSubresourceLayout,
4564 );
4565}
4566extern "system" {
4567 pub fn vkCreateImageView(
4568 device: VkDevice,
4569 pCreateInfo: *const VkImageViewCreateInfo,
4570 pAllocator: *const VkAllocationCallbacks,
4571 pView: *mut VkImageView,
4572 ) -> VkResult;
4573}
4574extern "system" {
4575 pub fn vkDestroyImageView(
4576 device: VkDevice,
4577 imageView: VkImageView,
4578 pAllocator: *const VkAllocationCallbacks,
4579 );
4580}
4581extern "system" {
4582 pub fn vkCreateShaderModule(
4583 device: VkDevice,
4584 pCreateInfo: *const VkShaderModuleCreateInfo,
4585 pAllocator: *const VkAllocationCallbacks,
4586 pShaderModule: *mut VkShaderModule,
4587 ) -> VkResult;
4588}
4589extern "system" {
4590 pub fn vkDestroyShaderModule(
4591 device: VkDevice,
4592 shaderModule: VkShaderModule,
4593 pAllocator: *const VkAllocationCallbacks,
4594 );
4595}
4596extern "system" {
4597 pub fn vkCreatePipelineCache(
4598 device: VkDevice,
4599 pCreateInfo: *const VkPipelineCacheCreateInfo,
4600 pAllocator: *const VkAllocationCallbacks,
4601 pPipelineCache: *mut VkPipelineCache,
4602 ) -> VkResult;
4603}
4604extern "system" {
4605 pub fn vkDestroyPipelineCache(
4606 device: VkDevice,
4607 pipelineCache: VkPipelineCache,
4608 pAllocator: *const VkAllocationCallbacks,
4609 );
4610}
4611extern "system" {
4612 pub fn vkGetPipelineCacheData(
4613 device: VkDevice,
4614 pipelineCache: VkPipelineCache,
4615 pDataSize: *mut usize,
4616 pData: *mut ::std::os::raw::c_void,
4617 ) -> VkResult;
4618}
4619extern "system" {
4620 pub fn vkMergePipelineCaches(
4621 device: VkDevice,
4622 dstCache: VkPipelineCache,
4623 srcCacheCount: u32,
4624 pSrcCaches: *const VkPipelineCache,
4625 ) -> VkResult;
4626}
4627extern "system" {
4628 pub fn vkCreateGraphicsPipelines(
4629 device: VkDevice,
4630 pipelineCache: VkPipelineCache,
4631 createInfoCount: u32,
4632 pCreateInfos: *const VkGraphicsPipelineCreateInfo,
4633 pAllocator: *const VkAllocationCallbacks,
4634 pPipelines: *mut VkPipeline,
4635 ) -> VkResult;
4636}
4637extern "system" {
4638 pub fn vkCreateComputePipelines(
4639 device: VkDevice,
4640 pipelineCache: VkPipelineCache,
4641 createInfoCount: u32,
4642 pCreateInfos: *const VkComputePipelineCreateInfo,
4643 pAllocator: *const VkAllocationCallbacks,
4644 pPipelines: *mut VkPipeline,
4645 ) -> VkResult;
4646}
4647extern "system" {
4648 pub fn vkDestroyPipeline(
4649 device: VkDevice,
4650 pipeline: VkPipeline,
4651 pAllocator: *const VkAllocationCallbacks,
4652 );
4653}
4654extern "system" {
4655 pub fn vkCreatePipelineLayout(
4656 device: VkDevice,
4657 pCreateInfo: *const VkPipelineLayoutCreateInfo,
4658 pAllocator: *const VkAllocationCallbacks,
4659 pPipelineLayout: *mut VkPipelineLayout,
4660 ) -> VkResult;
4661}
4662extern "system" {
4663 pub fn vkDestroyPipelineLayout(
4664 device: VkDevice,
4665 pipelineLayout: VkPipelineLayout,
4666 pAllocator: *const VkAllocationCallbacks,
4667 );
4668}
4669extern "system" {
4670 pub fn vkCreateSampler(
4671 device: VkDevice,
4672 pCreateInfo: *const VkSamplerCreateInfo,
4673 pAllocator: *const VkAllocationCallbacks,
4674 pSampler: *mut VkSampler,
4675 ) -> VkResult;
4676}
4677extern "system" {
4678 pub fn vkDestroySampler(
4679 device: VkDevice,
4680 sampler: VkSampler,
4681 pAllocator: *const VkAllocationCallbacks,
4682 );
4683}
4684extern "system" {
4685 pub fn vkCreateDescriptorSetLayout(
4686 device: VkDevice,
4687 pCreateInfo: *const VkDescriptorSetLayoutCreateInfo,
4688 pAllocator: *const VkAllocationCallbacks,
4689 pSetLayout: *mut VkDescriptorSetLayout,
4690 ) -> VkResult;
4691}
4692extern "system" {
4693 pub fn vkDestroyDescriptorSetLayout(
4694 device: VkDevice,
4695 descriptorSetLayout: VkDescriptorSetLayout,
4696 pAllocator: *const VkAllocationCallbacks,
4697 );
4698}
4699extern "system" {
4700 pub fn vkCreateDescriptorPool(
4701 device: VkDevice,
4702 pCreateInfo: *const VkDescriptorPoolCreateInfo,
4703 pAllocator: *const VkAllocationCallbacks,
4704 pDescriptorPool: *mut VkDescriptorPool,
4705 ) -> VkResult;
4706}
4707extern "system" {
4708 pub fn vkDestroyDescriptorPool(
4709 device: VkDevice,
4710 descriptorPool: VkDescriptorPool,
4711 pAllocator: *const VkAllocationCallbacks,
4712 );
4713}
4714extern "system" {
4715 pub fn vkResetDescriptorPool(
4716 device: VkDevice,
4717 descriptorPool: VkDescriptorPool,
4718 flags: VkDescriptorPoolResetFlags,
4719 ) -> VkResult;
4720}
4721extern "system" {
4722 pub fn vkAllocateDescriptorSets(
4723 device: VkDevice,
4724 pAllocateInfo: *const VkDescriptorSetAllocateInfo,
4725 pDescriptorSets: *mut VkDescriptorSet,
4726 ) -> VkResult;
4727}
4728extern "system" {
4729 pub fn vkFreeDescriptorSets(
4730 device: VkDevice,
4731 descriptorPool: VkDescriptorPool,
4732 descriptorSetCount: u32,
4733 pDescriptorSets: *const VkDescriptorSet,
4734 ) -> VkResult;
4735}
4736extern "system" {
4737 pub fn vkUpdateDescriptorSets(
4738 device: VkDevice,
4739 descriptorWriteCount: u32,
4740 pDescriptorWrites: *const VkWriteDescriptorSet,
4741 descriptorCopyCount: u32,
4742 pDescriptorCopies: *const VkCopyDescriptorSet,
4743 );
4744}
4745extern "system" {
4746 pub fn vkCreateFramebuffer(
4747 device: VkDevice,
4748 pCreateInfo: *const VkFramebufferCreateInfo,
4749 pAllocator: *const VkAllocationCallbacks,
4750 pFramebuffer: *mut VkFramebuffer,
4751 ) -> VkResult;
4752}
4753extern "system" {
4754 pub fn vkDestroyFramebuffer(
4755 device: VkDevice,
4756 framebuffer: VkFramebuffer,
4757 pAllocator: *const VkAllocationCallbacks,
4758 );
4759}
4760extern "system" {
4761 pub fn vkCreateRenderPass(
4762 device: VkDevice,
4763 pCreateInfo: *const VkRenderPassCreateInfo,
4764 pAllocator: *const VkAllocationCallbacks,
4765 pRenderPass: *mut VkRenderPass,
4766 ) -> VkResult;
4767}
4768extern "system" {
4769 pub fn vkDestroyRenderPass(
4770 device: VkDevice,
4771 renderPass: VkRenderPass,
4772 pAllocator: *const VkAllocationCallbacks,
4773 );
4774}
4775extern "system" {
4776 pub fn vkGetRenderAreaGranularity(
4777 device: VkDevice,
4778 renderPass: VkRenderPass,
4779 pGranularity: *mut VkExtent2D,
4780 );
4781}
4782extern "system" {
4783 pub fn vkCreateCommandPool(
4784 device: VkDevice,
4785 pCreateInfo: *const VkCommandPoolCreateInfo,
4786 pAllocator: *const VkAllocationCallbacks,
4787 pCommandPool: *mut VkCommandPool,
4788 ) -> VkResult;
4789}
4790extern "system" {
4791 pub fn vkDestroyCommandPool(
4792 device: VkDevice,
4793 commandPool: VkCommandPool,
4794 pAllocator: *const VkAllocationCallbacks,
4795 );
4796}
4797extern "system" {
4798 pub fn vkResetCommandPool(
4799 device: VkDevice,
4800 commandPool: VkCommandPool,
4801 flags: VkCommandPoolResetFlags,
4802 ) -> VkResult;
4803}
4804extern "system" {
4805 pub fn vkAllocateCommandBuffers(
4806 device: VkDevice,
4807 pAllocateInfo: *const VkCommandBufferAllocateInfo,
4808 pCommandBuffers: *mut VkCommandBuffer,
4809 ) -> VkResult;
4810}
4811extern "system" {
4812 pub fn vkFreeCommandBuffers(
4813 device: VkDevice,
4814 commandPool: VkCommandPool,
4815 commandBufferCount: u32,
4816 pCommandBuffers: *const VkCommandBuffer,
4817 );
4818}
4819extern "system" {
4820 pub fn vkBeginCommandBuffer(
4821 commandBuffer: VkCommandBuffer,
4822 pBeginInfo: *const VkCommandBufferBeginInfo,
4823 ) -> VkResult;
4824}
4825extern "system" {
4826 pub fn vkEndCommandBuffer(commandBuffer: VkCommandBuffer) -> VkResult;
4827}
4828extern "system" {
4829 pub fn vkResetCommandBuffer(
4830 commandBuffer: VkCommandBuffer,
4831 flags: VkCommandBufferResetFlags,
4832 ) -> VkResult;
4833}
4834extern "system" {
4835 pub fn vkCmdBindPipeline(
4836 commandBuffer: VkCommandBuffer,
4837 pipelineBindPoint: VkPipelineBindPoint,
4838 pipeline: VkPipeline,
4839 );
4840}
4841extern "system" {
4842 pub fn vkCmdSetViewport(
4843 commandBuffer: VkCommandBuffer,
4844 firstViewport: u32,
4845 viewportCount: u32,
4846 pViewports: *const VkViewport,
4847 );
4848}
4849extern "system" {
4850 pub fn vkCmdSetScissor(
4851 commandBuffer: VkCommandBuffer,
4852 firstScissor: u32,
4853 scissorCount: u32,
4854 pScissors: *const VkRect2D,
4855 );
4856}
4857extern "system" {
4858 pub fn vkCmdSetLineWidth(commandBuffer: VkCommandBuffer, lineWidth: f32);
4859}
4860extern "system" {
4861 pub fn vkCmdSetDepthBias(
4862 commandBuffer: VkCommandBuffer,
4863 depthBiasConstantFactor: f32,
4864 depthBiasClamp: f32,
4865 depthBiasSlopeFactor: f32,
4866 );
4867}
4868extern "system" {
4869 pub fn vkCmdSetBlendConstants(commandBuffer: VkCommandBuffer, blendConstants: *const f32);
4870}
4871extern "system" {
4872 pub fn vkCmdSetDepthBounds(
4873 commandBuffer: VkCommandBuffer,
4874 minDepthBounds: f32,
4875 maxDepthBounds: f32,
4876 );
4877}
4878extern "system" {
4879 pub fn vkCmdSetStencilCompareMask(
4880 commandBuffer: VkCommandBuffer,
4881 faceMask: VkStencilFaceFlags,
4882 compareMask: u32,
4883 );
4884}
4885extern "system" {
4886 pub fn vkCmdSetStencilWriteMask(
4887 commandBuffer: VkCommandBuffer,
4888 faceMask: VkStencilFaceFlags,
4889 writeMask: u32,
4890 );
4891}
4892extern "system" {
4893 pub fn vkCmdSetStencilReference(
4894 commandBuffer: VkCommandBuffer,
4895 faceMask: VkStencilFaceFlags,
4896 reference: u32,
4897 );
4898}
4899extern "system" {
4900 pub fn vkCmdBindDescriptorSets(
4901 commandBuffer: VkCommandBuffer,
4902 pipelineBindPoint: VkPipelineBindPoint,
4903 layout: VkPipelineLayout,
4904 firstSet: u32,
4905 descriptorSetCount: u32,
4906 pDescriptorSets: *const VkDescriptorSet,
4907 dynamicOffsetCount: u32,
4908 pDynamicOffsets: *const u32,
4909 );
4910}
4911extern "system" {
4912 pub fn vkCmdBindIndexBuffer(
4913 commandBuffer: VkCommandBuffer,
4914 buffer: VkBuffer,
4915 offset: VkDeviceSize,
4916 indexType: VkIndexType,
4917 );
4918}
4919extern "system" {
4920 pub fn vkCmdBindVertexBuffers(
4921 commandBuffer: VkCommandBuffer,
4922 firstBinding: u32,
4923 bindingCount: u32,
4924 pBuffers: *const VkBuffer,
4925 pOffsets: *const VkDeviceSize,
4926 );
4927}
4928extern "system" {
4929 pub fn vkCmdDraw(
4930 commandBuffer: VkCommandBuffer,
4931 vertexCount: u32,
4932 instanceCount: u32,
4933 firstVertex: u32,
4934 firstInstance: u32,
4935 );
4936}
4937extern "system" {
4938 pub fn vkCmdDrawIndexed(
4939 commandBuffer: VkCommandBuffer,
4940 indexCount: u32,
4941 instanceCount: u32,
4942 firstIndex: u32,
4943 vertexOffset: i32,
4944 firstInstance: u32,
4945 );
4946}
4947extern "system" {
4948 pub fn vkCmdDrawIndirect(
4949 commandBuffer: VkCommandBuffer,
4950 buffer: VkBuffer,
4951 offset: VkDeviceSize,
4952 drawCount: u32,
4953 stride: u32,
4954 );
4955}
4956extern "system" {
4957 pub fn vkCmdDrawIndexedIndirect(
4958 commandBuffer: VkCommandBuffer,
4959 buffer: VkBuffer,
4960 offset: VkDeviceSize,
4961 drawCount: u32,
4962 stride: u32,
4963 );
4964}
4965extern "system" {
4966 pub fn vkCmdDispatch(
4967 commandBuffer: VkCommandBuffer,
4968 groupCountX: u32,
4969 groupCountY: u32,
4970 groupCountZ: u32,
4971 );
4972}
4973extern "system" {
4974 pub fn vkCmdDispatchIndirect(
4975 commandBuffer: VkCommandBuffer,
4976 buffer: VkBuffer,
4977 offset: VkDeviceSize,
4978 );
4979}
4980extern "system" {
4981 pub fn vkCmdCopyBuffer(
4982 commandBuffer: VkCommandBuffer,
4983 srcBuffer: VkBuffer,
4984 dstBuffer: VkBuffer,
4985 regionCount: u32,
4986 pRegions: *const VkBufferCopy,
4987 );
4988}
4989extern "system" {
4990 pub fn vkCmdCopyImage(
4991 commandBuffer: VkCommandBuffer,
4992 srcImage: VkImage,
4993 srcImageLayout: VkImageLayout,
4994 dstImage: VkImage,
4995 dstImageLayout: VkImageLayout,
4996 regionCount: u32,
4997 pRegions: *const VkImageCopy,
4998 );
4999}
5000extern "system" {
5001 pub fn vkCmdBlitImage(
5002 commandBuffer: VkCommandBuffer,
5003 srcImage: VkImage,
5004 srcImageLayout: VkImageLayout,
5005 dstImage: VkImage,
5006 dstImageLayout: VkImageLayout,
5007 regionCount: u32,
5008 pRegions: *const VkImageBlit,
5009 filter: VkFilter,
5010 );
5011}
5012extern "system" {
5013 pub fn vkCmdCopyBufferToImage(
5014 commandBuffer: VkCommandBuffer,
5015 srcBuffer: VkBuffer,
5016 dstImage: VkImage,
5017 dstImageLayout: VkImageLayout,
5018 regionCount: u32,
5019 pRegions: *const VkBufferImageCopy,
5020 );
5021}
5022extern "system" {
5023 pub fn vkCmdCopyImageToBuffer(
5024 commandBuffer: VkCommandBuffer,
5025 srcImage: VkImage,
5026 srcImageLayout: VkImageLayout,
5027 dstBuffer: VkBuffer,
5028 regionCount: u32,
5029 pRegions: *const VkBufferImageCopy,
5030 );
5031}
5032extern "system" {
5033 pub fn vkCmdUpdateBuffer(
5034 commandBuffer: VkCommandBuffer,
5035 dstBuffer: VkBuffer,
5036 dstOffset: VkDeviceSize,
5037 dataSize: VkDeviceSize,
5038 pData: *const ::std::os::raw::c_void,
5039 );
5040}
5041extern "system" {
5042 pub fn vkCmdFillBuffer(
5043 commandBuffer: VkCommandBuffer,
5044 dstBuffer: VkBuffer,
5045 dstOffset: VkDeviceSize,
5046 size: VkDeviceSize,
5047 data: u32,
5048 );
5049}
5050extern "system" {
5051 pub fn vkCmdClearColorImage(
5052 commandBuffer: VkCommandBuffer,
5053 image: VkImage,
5054 imageLayout: VkImageLayout,
5055 pColor: *const VkClearColorValue,
5056 rangeCount: u32,
5057 pRanges: *const VkImageSubresourceRange,
5058 );
5059}
5060extern "system" {
5061 pub fn vkCmdClearDepthStencilImage(
5062 commandBuffer: VkCommandBuffer,
5063 image: VkImage,
5064 imageLayout: VkImageLayout,
5065 pDepthStencil: *const VkClearDepthStencilValue,
5066 rangeCount: u32,
5067 pRanges: *const VkImageSubresourceRange,
5068 );
5069}
5070extern "system" {
5071 pub fn vkCmdClearAttachments(
5072 commandBuffer: VkCommandBuffer,
5073 attachmentCount: u32,
5074 pAttachments: *const VkClearAttachment,
5075 rectCount: u32,
5076 pRects: *const VkClearRect,
5077 );
5078}
5079extern "system" {
5080 pub fn vkCmdResolveImage(
5081 commandBuffer: VkCommandBuffer,
5082 srcImage: VkImage,
5083 srcImageLayout: VkImageLayout,
5084 dstImage: VkImage,
5085 dstImageLayout: VkImageLayout,
5086 regionCount: u32,
5087 pRegions: *const VkImageResolve,
5088 );
5089}
5090extern "system" {
5091 pub fn vkCmdSetEvent(
5092 commandBuffer: VkCommandBuffer,
5093 event: VkEvent,
5094 stageMask: VkPipelineStageFlags,
5095 );
5096}
5097extern "system" {
5098 pub fn vkCmdResetEvent(
5099 commandBuffer: VkCommandBuffer,
5100 event: VkEvent,
5101 stageMask: VkPipelineStageFlags,
5102 );
5103}
5104extern "system" {
5105 pub fn vkCmdWaitEvents(
5106 commandBuffer: VkCommandBuffer,
5107 eventCount: u32,
5108 pEvents: *const VkEvent,
5109 srcStageMask: VkPipelineStageFlags,
5110 dstStageMask: VkPipelineStageFlags,
5111 memoryBarrierCount: u32,
5112 pMemoryBarriers: *const VkMemoryBarrier,
5113 bufferMemoryBarrierCount: u32,
5114 pBufferMemoryBarriers: *const VkBufferMemoryBarrier,
5115 imageMemoryBarrierCount: u32,
5116 pImageMemoryBarriers: *const VkImageMemoryBarrier,
5117 );
5118}
5119extern "system" {
5120 pub fn vkCmdPipelineBarrier(
5121 commandBuffer: VkCommandBuffer,
5122 srcStageMask: VkPipelineStageFlags,
5123 dstStageMask: VkPipelineStageFlags,
5124 dependencyFlags: VkDependencyFlags,
5125 memoryBarrierCount: u32,
5126 pMemoryBarriers: *const VkMemoryBarrier,
5127 bufferMemoryBarrierCount: u32,
5128 pBufferMemoryBarriers: *const VkBufferMemoryBarrier,
5129 imageMemoryBarrierCount: u32,
5130 pImageMemoryBarriers: *const VkImageMemoryBarrier,
5131 );
5132}
5133extern "system" {
5134 pub fn vkCmdBeginQuery(
5135 commandBuffer: VkCommandBuffer,
5136 queryPool: VkQueryPool,
5137 query: u32,
5138 flags: VkQueryControlFlags,
5139 );
5140}
5141extern "system" {
5142 pub fn vkCmdEndQuery(commandBuffer: VkCommandBuffer, queryPool: VkQueryPool, query: u32);
5143}
5144extern "system" {
5145 pub fn vkCmdResetQueryPool(
5146 commandBuffer: VkCommandBuffer,
5147 queryPool: VkQueryPool,
5148 firstQuery: u32,
5149 queryCount: u32,
5150 );
5151}
5152extern "system" {
5153 pub fn vkCmdWriteTimestamp(
5154 commandBuffer: VkCommandBuffer,
5155 pipelineStage: VkPipelineStageFlagBits,
5156 queryPool: VkQueryPool,
5157 query: u32,
5158 );
5159}
5160extern "system" {
5161 pub fn vkCmdCopyQueryPoolResults(
5162 commandBuffer: VkCommandBuffer,
5163 queryPool: VkQueryPool,
5164 firstQuery: u32,
5165 queryCount: u32,
5166 dstBuffer: VkBuffer,
5167 dstOffset: VkDeviceSize,
5168 stride: VkDeviceSize,
5169 flags: VkQueryResultFlags,
5170 );
5171}
5172extern "system" {
5173 pub fn vkCmdPushConstants(
5174 commandBuffer: VkCommandBuffer,
5175 layout: VkPipelineLayout,
5176 stageFlags: VkShaderStageFlags,
5177 offset: u32,
5178 size: u32,
5179 pValues: *const ::std::os::raw::c_void,
5180 );
5181}
5182extern "system" {
5183 pub fn vkCmdBeginRenderPass(
5184 commandBuffer: VkCommandBuffer,
5185 pRenderPassBegin: *const VkRenderPassBeginInfo,
5186 contents: VkSubpassContents,
5187 );
5188}
5189extern "system" {
5190 pub fn vkCmdNextSubpass(commandBuffer: VkCommandBuffer, contents: VkSubpassContents);
5191}
5192extern "system" {
5193 pub fn vkCmdEndRenderPass(commandBuffer: VkCommandBuffer);
5194}
5195extern "system" {
5196 pub fn vkCmdExecuteCommands(
5197 commandBuffer: VkCommandBuffer,
5198 commandBufferCount: u32,
5199 pCommandBuffers: *const VkCommandBuffer,
5200 );
5201}
5202
5203pub const VK_VERSION_1_1: u32 = 1;
5204pub const VK_API_VERSION_1_1: u32 = VK_MAKE_VERSION(1, 1, 0);
5205
5206#[repr(C)]
5207#[derive(Copy, Clone)]
5208pub struct VkSamplerYcbcrConversion_T {
5209 _unused: [u8; 0],
5210}
5211pub type VkSamplerYcbcrConversion = *mut VkSamplerYcbcrConversion_T;
5212#[repr(C)]
5213#[derive(Copy, Clone)]
5214pub struct VkDescriptorUpdateTemplate_T {
5215 _unused: [u8; 0],
5216}
5217pub type VkDescriptorUpdateTemplate = *mut VkDescriptorUpdateTemplate_T;
5218
5219pub const VK_MAX_DEVICE_GROUP_SIZE: u32 = 32;
5220pub const VK_LUID_SIZE: u32 = 8;
5221pub const VK_QUEUE_FAMILY_EXTERNAL: u32 = !0 - 1;
5222
5223pub const VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES: VkPointClippingBehavior = 0;
5224pub const VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY: VkPointClippingBehavior = 1;
5225pub const VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR: VkPointClippingBehavior = 0;
5226pub const VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR: VkPointClippingBehavior = 1;
5227pub const VK_POINT_CLIPPING_BEHAVIOR_BEGIN_RANGE: VkPointClippingBehavior = 0;
5228pub const VK_POINT_CLIPPING_BEHAVIOR_END_RANGE: VkPointClippingBehavior = 1;
5229pub const VK_POINT_CLIPPING_BEHAVIOR_RANGE_SIZE: VkPointClippingBehavior = 2;
5230pub const VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM: VkPointClippingBehavior = 2147483647;
5231pub type VkPointClippingBehavior = i32;
5232pub const VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT: VkTessellationDomainOrigin = 0;
5233pub const VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT: VkTessellationDomainOrigin = 1;
5234pub const VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR: VkTessellationDomainOrigin = 0;
5235pub const VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR: VkTessellationDomainOrigin = 1;
5236pub const VK_TESSELLATION_DOMAIN_ORIGIN_BEGIN_RANGE: VkTessellationDomainOrigin = 0;
5237pub const VK_TESSELLATION_DOMAIN_ORIGIN_END_RANGE: VkTessellationDomainOrigin = 1;
5238pub const VK_TESSELLATION_DOMAIN_ORIGIN_RANGE_SIZE: VkTessellationDomainOrigin = 2;
5239pub const VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM: VkTessellationDomainOrigin = 2147483647;
5240pub type VkTessellationDomainOrigin = i32;
5241pub const VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY: VkSamplerYcbcrModelConversion = 0;
5242pub const VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY: VkSamplerYcbcrModelConversion = 1;
5243pub const VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709: VkSamplerYcbcrModelConversion = 2;
5244pub const VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601: VkSamplerYcbcrModelConversion = 3;
5245pub const VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020: VkSamplerYcbcrModelConversion = 4;
5246pub const VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR: VkSamplerYcbcrModelConversion = 0;
5247pub const VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR: VkSamplerYcbcrModelConversion = 1;
5248pub const VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR: VkSamplerYcbcrModelConversion = 2;
5249pub const VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR: VkSamplerYcbcrModelConversion = 3;
5250pub const VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR: VkSamplerYcbcrModelConversion = 4;
5251pub const VK_SAMPLER_YCBCR_MODEL_CONVERSION_BEGIN_RANGE: VkSamplerYcbcrModelConversion = 0;
5252pub const VK_SAMPLER_YCBCR_MODEL_CONVERSION_END_RANGE: VkSamplerYcbcrModelConversion = 4;
5253pub const VK_SAMPLER_YCBCR_MODEL_CONVERSION_RANGE_SIZE: VkSamplerYcbcrModelConversion = 5;
5254pub const VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM: VkSamplerYcbcrModelConversion = 2147483647;
5255pub type VkSamplerYcbcrModelConversion = i32;
5256pub const VK_SAMPLER_YCBCR_RANGE_ITU_FULL: VkSamplerYcbcrRange = 0;
5257pub const VK_SAMPLER_YCBCR_RANGE_ITU_NARROW: VkSamplerYcbcrRange = 1;
5258pub const VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR: VkSamplerYcbcrRange = 0;
5259pub const VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR: VkSamplerYcbcrRange = 1;
5260pub const VK_SAMPLER_YCBCR_RANGE_BEGIN_RANGE: VkSamplerYcbcrRange = 0;
5261pub const VK_SAMPLER_YCBCR_RANGE_END_RANGE: VkSamplerYcbcrRange = 1;
5262pub const VK_SAMPLER_YCBCR_RANGE_RANGE_SIZE: VkSamplerYcbcrRange = 2;
5263pub const VK_SAMPLER_YCBCR_RANGE_MAX_ENUM: VkSamplerYcbcrRange = 2147483647;
5264pub type VkSamplerYcbcrRange = i32;
5265pub const VK_CHROMA_LOCATION_COSITED_EVEN: VkChromaLocation = 0;
5266pub const VK_CHROMA_LOCATION_MIDPOINT: VkChromaLocation = 1;
5267pub const VK_CHROMA_LOCATION_COSITED_EVEN_KHR: VkChromaLocation = 0;
5268pub const VK_CHROMA_LOCATION_MIDPOINT_KHR: VkChromaLocation = 1;
5269pub const VK_CHROMA_LOCATION_BEGIN_RANGE: VkChromaLocation = 0;
5270pub const VK_CHROMA_LOCATION_END_RANGE: VkChromaLocation = 1;
5271pub const VK_CHROMA_LOCATION_RANGE_SIZE: VkChromaLocation = 2;
5272pub const VK_CHROMA_LOCATION_MAX_ENUM: VkChromaLocation = 2147483647;
5273pub type VkChromaLocation = i32;
5274pub const VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET: VkDescriptorUpdateTemplateType = 0;
5275pub const VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR: VkDescriptorUpdateTemplateType =
5276 1;
5277pub const VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR: VkDescriptorUpdateTemplateType = 0;
5278pub const VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_BEGIN_RANGE: VkDescriptorUpdateTemplateType = 0;
5279pub const VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_END_RANGE: VkDescriptorUpdateTemplateType = 0;
5280pub const VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_RANGE_SIZE: VkDescriptorUpdateTemplateType = 1;
5281pub const VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM: VkDescriptorUpdateTemplateType = 2147483647;
5282pub type VkDescriptorUpdateTemplateType = i32;
5283pub const VK_SUBGROUP_FEATURE_BASIC_BIT: VkSubgroupFeatureFlagBits = 1;
5284pub const VK_SUBGROUP_FEATURE_VOTE_BIT: VkSubgroupFeatureFlagBits = 2;
5285pub const VK_SUBGROUP_FEATURE_ARITHMETIC_BIT: VkSubgroupFeatureFlagBits = 4;
5286pub const VK_SUBGROUP_FEATURE_BALLOT_BIT: VkSubgroupFeatureFlagBits = 8;
5287pub const VK_SUBGROUP_FEATURE_SHUFFLE_BIT: VkSubgroupFeatureFlagBits = 16;
5288pub const VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT: VkSubgroupFeatureFlagBits = 32;
5289pub const VK_SUBGROUP_FEATURE_CLUSTERED_BIT: VkSubgroupFeatureFlagBits = 64;
5290pub const VK_SUBGROUP_FEATURE_QUAD_BIT: VkSubgroupFeatureFlagBits = 128;
5291pub const VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV: VkSubgroupFeatureFlagBits = 256;
5292pub const VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM: VkSubgroupFeatureFlagBits = 2147483647;
5293pub type VkSubgroupFeatureFlagBits = i32;
5294pub type VkSubgroupFeatureFlags = VkFlags;
5295pub const VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT: VkPeerMemoryFeatureFlagBits = 1;
5296pub const VK_PEER_MEMORY_FEATURE_COPY_DST_BIT: VkPeerMemoryFeatureFlagBits = 2;
5297pub const VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT: VkPeerMemoryFeatureFlagBits = 4;
5298pub const VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT: VkPeerMemoryFeatureFlagBits = 8;
5299pub const VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR: VkPeerMemoryFeatureFlagBits = 1;
5300pub const VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR: VkPeerMemoryFeatureFlagBits = 2;
5301pub const VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR: VkPeerMemoryFeatureFlagBits = 4;
5302pub const VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR: VkPeerMemoryFeatureFlagBits = 8;
5303pub const VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM: VkPeerMemoryFeatureFlagBits = 2147483647;
5304pub type VkPeerMemoryFeatureFlagBits = i32;
5305pub type VkPeerMemoryFeatureFlags = VkFlags;
5306pub const VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT: VkMemoryAllocateFlagBits = 1;
5307pub const VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR: VkMemoryAllocateFlagBits = 1;
5308pub const VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM: VkMemoryAllocateFlagBits = 2147483647;
5309pub type VkMemoryAllocateFlagBits = i32;
5310pub type VkMemoryAllocateFlags = VkFlags;
5311pub type VkCommandPoolTrimFlags = VkFlags;
5312pub type VkDescriptorUpdateTemplateCreateFlags = VkFlags;
5313pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT: VkExternalMemoryHandleTypeFlagBits = 1;
5314pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT: VkExternalMemoryHandleTypeFlagBits = 2;
5315pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT: VkExternalMemoryHandleTypeFlagBits =
5316 4;
5317pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT: VkExternalMemoryHandleTypeFlagBits = 8;
5318pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT: VkExternalMemoryHandleTypeFlagBits =
5319 16;
5320pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT: VkExternalMemoryHandleTypeFlagBits = 32;
5321pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT: VkExternalMemoryHandleTypeFlagBits =
5322 64;
5323pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT: VkExternalMemoryHandleTypeFlagBits = 512;
5324pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID:
5325 VkExternalMemoryHandleTypeFlagBits = 1024;
5326pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT:
5327 VkExternalMemoryHandleTypeFlagBits = 128;
5328pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT:
5329 VkExternalMemoryHandleTypeFlagBits = 256;
5330pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR: VkExternalMemoryHandleTypeFlagBits = 1;
5331pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR: VkExternalMemoryHandleTypeFlagBits =
5332 2;
5333pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR:
5334 VkExternalMemoryHandleTypeFlagBits = 4;
5335pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR: VkExternalMemoryHandleTypeFlagBits =
5336 8;
5337pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR:
5338 VkExternalMemoryHandleTypeFlagBits = 16;
5339pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR: VkExternalMemoryHandleTypeFlagBits =
5340 32;
5341pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR:
5342 VkExternalMemoryHandleTypeFlagBits = 64;
5343pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM: VkExternalMemoryHandleTypeFlagBits =
5344 2147483647;
5345pub type VkExternalMemoryHandleTypeFlagBits = i32;
5346pub type VkExternalMemoryHandleTypeFlags = VkFlags;
5347pub const VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT: VkExternalMemoryFeatureFlagBits = 1;
5348pub const VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT: VkExternalMemoryFeatureFlagBits = 2;
5349pub const VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT: VkExternalMemoryFeatureFlagBits = 4;
5350pub const VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR: VkExternalMemoryFeatureFlagBits = 1;
5351pub const VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR: VkExternalMemoryFeatureFlagBits = 2;
5352pub const VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR: VkExternalMemoryFeatureFlagBits = 4;
5353pub const VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM: VkExternalMemoryFeatureFlagBits =
5354 2147483647;
5355pub type VkExternalMemoryFeatureFlagBits = i32;
5356pub type VkExternalMemoryFeatureFlags = VkFlags;
5357pub const VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT: VkExternalFenceHandleTypeFlagBits = 1;
5358pub const VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT: VkExternalFenceHandleTypeFlagBits = 2;
5359pub const VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT: VkExternalFenceHandleTypeFlagBits = 4;
5360pub const VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT: VkExternalFenceHandleTypeFlagBits = 8;
5361pub const VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR: VkExternalFenceHandleTypeFlagBits = 1;
5362pub const VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR: VkExternalFenceHandleTypeFlagBits = 2;
5363pub const VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR:
5364 VkExternalFenceHandleTypeFlagBits = 4;
5365pub const VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR: VkExternalFenceHandleTypeFlagBits = 8;
5366pub const VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM: VkExternalFenceHandleTypeFlagBits =
5367 2147483647;
5368pub type VkExternalFenceHandleTypeFlagBits = i32;
5369pub type VkExternalFenceHandleTypeFlags = VkFlags;
5370pub const VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT: VkExternalFenceFeatureFlagBits = 1;
5371pub const VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT: VkExternalFenceFeatureFlagBits = 2;
5372pub const VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR: VkExternalFenceFeatureFlagBits = 1;
5373pub const VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR: VkExternalFenceFeatureFlagBits = 2;
5374pub const VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM: VkExternalFenceFeatureFlagBits = 2147483647;
5375pub type VkExternalFenceFeatureFlagBits = i32;
5376pub type VkExternalFenceFeatureFlags = VkFlags;
5377pub const VK_FENCE_IMPORT_TEMPORARY_BIT: VkFenceImportFlagBits = 1;
5378pub const VK_FENCE_IMPORT_TEMPORARY_BIT_KHR: VkFenceImportFlagBits = 1;
5379pub const VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM: VkFenceImportFlagBits = 2147483647;
5380pub type VkFenceImportFlagBits = i32;
5381pub type VkFenceImportFlags = VkFlags;
5382pub const VK_SEMAPHORE_IMPORT_TEMPORARY_BIT: VkSemaphoreImportFlagBits = 1;
5383pub const VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR: VkSemaphoreImportFlagBits = 1;
5384pub const VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM: VkSemaphoreImportFlagBits = 2147483647;
5385pub type VkSemaphoreImportFlagBits = i32;
5386pub type VkSemaphoreImportFlags = VkFlags;
5387pub const VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT: VkExternalSemaphoreHandleTypeFlagBits =
5388 1;
5389pub const VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT:
5390 VkExternalSemaphoreHandleTypeFlagBits = 2;
5391pub const VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT:
5392 VkExternalSemaphoreHandleTypeFlagBits = 4;
5393pub const VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT: VkExternalSemaphoreHandleTypeFlagBits =
5394 8;
5395pub const VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT: VkExternalSemaphoreHandleTypeFlagBits = 16;
5396pub const VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR:
5397 VkExternalSemaphoreHandleTypeFlagBits = 1;
5398pub const VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR:
5399 VkExternalSemaphoreHandleTypeFlagBits = 2;
5400pub const VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR:
5401 VkExternalSemaphoreHandleTypeFlagBits = 4;
5402pub const VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR:
5403 VkExternalSemaphoreHandleTypeFlagBits = 8;
5404pub const VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR: VkExternalSemaphoreHandleTypeFlagBits =
5405 16;
5406pub const VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM:
5407 VkExternalSemaphoreHandleTypeFlagBits = 2147483647;
5408pub type VkExternalSemaphoreHandleTypeFlagBits = i32;
5409pub type VkExternalSemaphoreHandleTypeFlags = VkFlags;
5410pub const VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT: VkExternalSemaphoreFeatureFlagBits = 1;
5411pub const VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT: VkExternalSemaphoreFeatureFlagBits = 2;
5412pub const VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR: VkExternalSemaphoreFeatureFlagBits = 1;
5413pub const VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR: VkExternalSemaphoreFeatureFlagBits = 2;
5414pub const VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM: VkExternalSemaphoreFeatureFlagBits =
5415 2147483647;
5416pub type VkExternalSemaphoreFeatureFlagBits = i32;
5417pub type VkExternalSemaphoreFeatureFlags = VkFlags;
5418#[repr(C)]
5419#[derive(Copy, Clone)]
5420pub struct VkPhysicalDeviceSubgroupProperties {
5421 pub sType: VkStructureType,
5422 pub pNext: *mut ::std::os::raw::c_void,
5423 pub subgroupSize: u32,
5424 pub supportedStages: VkShaderStageFlags,
5425 pub supportedOperations: VkSubgroupFeatureFlags,
5426 pub quadOperationsInAllStages: VkBool32,
5427}
5428#[repr(C)]
5429#[derive(Copy, Clone)]
5430pub struct VkBindBufferMemoryInfo {
5431 pub sType: VkStructureType,
5432 pub pNext: *const ::std::os::raw::c_void,
5433 pub buffer: VkBuffer,
5434 pub memory: VkDeviceMemory,
5435 pub memoryOffset: VkDeviceSize,
5436}
5437#[repr(C)]
5438#[derive(Copy, Clone)]
5439pub struct VkBindImageMemoryInfo {
5440 pub sType: VkStructureType,
5441 pub pNext: *const ::std::os::raw::c_void,
5442 pub image: VkImage,
5443 pub memory: VkDeviceMemory,
5444 pub memoryOffset: VkDeviceSize,
5445}
5446#[repr(C)]
5447#[derive(Copy, Clone)]
5448pub struct VkPhysicalDevice16BitStorageFeatures {
5449 pub sType: VkStructureType,
5450 pub pNext: *mut ::std::os::raw::c_void,
5451 pub storageBuffer16BitAccess: VkBool32,
5452 pub uniformAndStorageBuffer16BitAccess: VkBool32,
5453 pub storagePushConstant16: VkBool32,
5454 pub storageInputOutput16: VkBool32,
5455}
5456#[repr(C)]
5457#[derive(Copy, Clone)]
5458pub struct VkMemoryDedicatedRequirements {
5459 pub sType: VkStructureType,
5460 pub pNext: *mut ::std::os::raw::c_void,
5461 pub prefersDedicatedAllocation: VkBool32,
5462 pub requiresDedicatedAllocation: VkBool32,
5463}
5464#[repr(C)]
5465#[derive(Copy, Clone)]
5466pub struct VkMemoryDedicatedAllocateInfo {
5467 pub sType: VkStructureType,
5468 pub pNext: *const ::std::os::raw::c_void,
5469 pub image: VkImage,
5470 pub buffer: VkBuffer,
5471}
5472#[repr(C)]
5473#[derive(Copy, Clone)]
5474pub struct VkMemoryAllocateFlagsInfo {
5475 pub sType: VkStructureType,
5476 pub pNext: *const ::std::os::raw::c_void,
5477 pub flags: VkMemoryAllocateFlags,
5478 pub deviceMask: u32,
5479}
5480#[repr(C)]
5481#[derive(Copy, Clone)]
5482pub struct VkDeviceGroupRenderPassBeginInfo {
5483 pub sType: VkStructureType,
5484 pub pNext: *const ::std::os::raw::c_void,
5485 pub deviceMask: u32,
5486 pub deviceRenderAreaCount: u32,
5487 pub pDeviceRenderAreas: *const VkRect2D,
5488}
5489#[repr(C)]
5490#[derive(Copy, Clone)]
5491pub struct VkDeviceGroupCommandBufferBeginInfo {
5492 pub sType: VkStructureType,
5493 pub pNext: *const ::std::os::raw::c_void,
5494 pub deviceMask: u32,
5495}
5496#[repr(C)]
5497#[derive(Copy, Clone)]
5498pub struct VkDeviceGroupSubmitInfo {
5499 pub sType: VkStructureType,
5500 pub pNext: *const ::std::os::raw::c_void,
5501 pub waitSemaphoreCount: u32,
5502 pub pWaitSemaphoreDeviceIndices: *const u32,
5503 pub commandBufferCount: u32,
5504 pub pCommandBufferDeviceMasks: *const u32,
5505 pub signalSemaphoreCount: u32,
5506 pub pSignalSemaphoreDeviceIndices: *const u32,
5507}
5508#[repr(C)]
5509#[derive(Copy, Clone)]
5510pub struct VkDeviceGroupBindSparseInfo {
5511 pub sType: VkStructureType,
5512 pub pNext: *const ::std::os::raw::c_void,
5513 pub resourceDeviceIndex: u32,
5514 pub memoryDeviceIndex: u32,
5515}
5516#[repr(C)]
5517#[derive(Copy, Clone)]
5518pub struct VkBindBufferMemoryDeviceGroupInfo {
5519 pub sType: VkStructureType,
5520 pub pNext: *const ::std::os::raw::c_void,
5521 pub deviceIndexCount: u32,
5522 pub pDeviceIndices: *const u32,
5523}
5524#[repr(C)]
5525#[derive(Copy, Clone)]
5526pub struct VkBindImageMemoryDeviceGroupInfo {
5527 pub sType: VkStructureType,
5528 pub pNext: *const ::std::os::raw::c_void,
5529 pub deviceIndexCount: u32,
5530 pub pDeviceIndices: *const u32,
5531 pub splitInstanceBindRegionCount: u32,
5532 pub pSplitInstanceBindRegions: *const VkRect2D,
5533}
5534#[repr(C)]
5535#[derive(Copy, Clone)]
5536pub struct VkPhysicalDeviceGroupProperties {
5537 pub sType: VkStructureType,
5538 pub pNext: *mut ::std::os::raw::c_void,
5539 pub physicalDeviceCount: u32,
5540 pub physicalDevices: [VkPhysicalDevice; 32usize],
5541 pub subsetAllocation: VkBool32,
5542}
5543#[repr(C)]
5544#[derive(Copy, Clone)]
5545pub struct VkDeviceGroupDeviceCreateInfo {
5546 pub sType: VkStructureType,
5547 pub pNext: *const ::std::os::raw::c_void,
5548 pub physicalDeviceCount: u32,
5549 pub pPhysicalDevices: *const VkPhysicalDevice,
5550}
5551#[repr(C)]
5552#[derive(Copy, Clone)]
5553pub struct VkBufferMemoryRequirementsInfo2 {
5554 pub sType: VkStructureType,
5555 pub pNext: *const ::std::os::raw::c_void,
5556 pub buffer: VkBuffer,
5557}
5558#[repr(C)]
5559#[derive(Copy, Clone)]
5560pub struct VkImageMemoryRequirementsInfo2 {
5561 pub sType: VkStructureType,
5562 pub pNext: *const ::std::os::raw::c_void,
5563 pub image: VkImage,
5564}
5565#[repr(C)]
5566#[derive(Copy, Clone)]
5567pub struct VkImageSparseMemoryRequirementsInfo2 {
5568 pub sType: VkStructureType,
5569 pub pNext: *const ::std::os::raw::c_void,
5570 pub image: VkImage,
5571}
5572#[repr(C)]
5573#[derive(Copy, Clone)]
5574pub struct VkMemoryRequirements2 {
5575 pub sType: VkStructureType,
5576 pub pNext: *mut ::std::os::raw::c_void,
5577 pub memoryRequirements: VkMemoryRequirements,
5578}
5579pub type VkMemoryRequirements2KHR = VkMemoryRequirements2;
5580#[repr(C)]
5581#[derive(Copy, Clone)]
5582pub struct VkSparseImageMemoryRequirements2 {
5583 pub sType: VkStructureType,
5584 pub pNext: *mut ::std::os::raw::c_void,
5585 pub memoryRequirements: VkSparseImageMemoryRequirements,
5586}
5587#[repr(C)]
5588#[derive(Copy, Clone)]
5589pub struct VkPhysicalDeviceFeatures2 {
5590 pub sType: VkStructureType,
5591 pub pNext: *mut ::std::os::raw::c_void,
5592 pub features: VkPhysicalDeviceFeatures,
5593}
5594#[repr(C)]
5595#[derive(Copy, Clone)]
5596pub struct VkPhysicalDeviceProperties2 {
5597 pub sType: VkStructureType,
5598 pub pNext: *mut ::std::os::raw::c_void,
5599 pub properties: VkPhysicalDeviceProperties,
5600}
5601#[repr(C)]
5602#[derive(Copy, Clone)]
5603pub struct VkFormatProperties2 {
5604 pub sType: VkStructureType,
5605 pub pNext: *mut ::std::os::raw::c_void,
5606 pub formatProperties: VkFormatProperties,
5607}
5608#[repr(C)]
5609#[derive(Copy, Clone)]
5610pub struct VkImageFormatProperties2 {
5611 pub sType: VkStructureType,
5612 pub pNext: *mut ::std::os::raw::c_void,
5613 pub imageFormatProperties: VkImageFormatProperties,
5614}
5615#[repr(C)]
5616#[derive(Copy, Clone)]
5617pub struct VkPhysicalDeviceImageFormatInfo2 {
5618 pub sType: VkStructureType,
5619 pub pNext: *const ::std::os::raw::c_void,
5620 pub format: VkFormat,
5621 pub type_: VkImageType,
5622 pub tiling: VkImageTiling,
5623 pub usage: VkImageUsageFlags,
5624 pub flags: VkImageCreateFlags,
5625}
5626#[repr(C)]
5627#[derive(Copy, Clone)]
5628pub struct VkQueueFamilyProperties2 {
5629 pub sType: VkStructureType,
5630 pub pNext: *mut ::std::os::raw::c_void,
5631 pub queueFamilyProperties: VkQueueFamilyProperties,
5632}
5633#[repr(C)]
5634#[derive(Copy, Clone)]
5635pub struct VkPhysicalDeviceMemoryProperties2 {
5636 pub sType: VkStructureType,
5637 pub pNext: *mut ::std::os::raw::c_void,
5638 pub memoryProperties: VkPhysicalDeviceMemoryProperties,
5639}
5640#[repr(C)]
5641#[derive(Copy, Clone)]
5642pub struct VkSparseImageFormatProperties2 {
5643 pub sType: VkStructureType,
5644 pub pNext: *mut ::std::os::raw::c_void,
5645 pub properties: VkSparseImageFormatProperties,
5646}
5647#[repr(C)]
5648#[derive(Copy, Clone)]
5649pub struct VkPhysicalDeviceSparseImageFormatInfo2 {
5650 pub sType: VkStructureType,
5651 pub pNext: *const ::std::os::raw::c_void,
5652 pub format: VkFormat,
5653 pub type_: VkImageType,
5654 pub samples: VkSampleCountFlagBits,
5655 pub usage: VkImageUsageFlags,
5656 pub tiling: VkImageTiling,
5657}
5658#[repr(C)]
5659#[derive(Copy, Clone)]
5660pub struct VkPhysicalDevicePointClippingProperties {
5661 pub sType: VkStructureType,
5662 pub pNext: *mut ::std::os::raw::c_void,
5663 pub pointClippingBehavior: VkPointClippingBehavior,
5664}
5665#[repr(C)]
5666#[derive(Copy, Clone)]
5667pub struct VkInputAttachmentAspectReference {
5668 pub subpass: u32,
5669 pub inputAttachmentIndex: u32,
5670 pub aspectMask: VkImageAspectFlags,
5671}
5672#[repr(C)]
5673#[derive(Copy, Clone)]
5674pub struct VkRenderPassInputAttachmentAspectCreateInfo {
5675 pub sType: VkStructureType,
5676 pub pNext: *const ::std::os::raw::c_void,
5677 pub aspectReferenceCount: u32,
5678 pub pAspectReferences: *const VkInputAttachmentAspectReference,
5679}
5680#[repr(C)]
5681#[derive(Copy, Clone)]
5682pub struct VkImageViewUsageCreateInfo {
5683 pub sType: VkStructureType,
5684 pub pNext: *const ::std::os::raw::c_void,
5685 pub usage: VkImageUsageFlags,
5686}
5687#[repr(C)]
5688#[derive(Copy, Clone)]
5689pub struct VkPipelineTessellationDomainOriginStateCreateInfo {
5690 pub sType: VkStructureType,
5691 pub pNext: *const ::std::os::raw::c_void,
5692 pub domainOrigin: VkTessellationDomainOrigin,
5693}
5694#[repr(C)]
5695#[derive(Copy, Clone)]
5696pub struct VkRenderPassMultiviewCreateInfo {
5697 pub sType: VkStructureType,
5698 pub pNext: *const ::std::os::raw::c_void,
5699 pub subpassCount: u32,
5700 pub pViewMasks: *const u32,
5701 pub dependencyCount: u32,
5702 pub pViewOffsets: *const i32,
5703 pub correlationMaskCount: u32,
5704 pub pCorrelationMasks: *const u32,
5705}
5706#[repr(C)]
5707#[derive(Copy, Clone)]
5708pub struct VkPhysicalDeviceMultiviewFeatures {
5709 pub sType: VkStructureType,
5710 pub pNext: *mut ::std::os::raw::c_void,
5711 pub multiview: VkBool32,
5712 pub multiviewGeometryShader: VkBool32,
5713 pub multiviewTessellationShader: VkBool32,
5714}
5715#[repr(C)]
5716#[derive(Copy, Clone)]
5717pub struct VkPhysicalDeviceMultiviewProperties {
5718 pub sType: VkStructureType,
5719 pub pNext: *mut ::std::os::raw::c_void,
5720 pub maxMultiviewViewCount: u32,
5721 pub maxMultiviewInstanceIndex: u32,
5722}
5723#[repr(C)]
5724#[derive(Copy, Clone)]
5725pub struct VkPhysicalDeviceVariablePointersFeatures {
5726 pub sType: VkStructureType,
5727 pub pNext: *mut ::std::os::raw::c_void,
5728 pub variablePointersStorageBuffer: VkBool32,
5729 pub variablePointers: VkBool32,
5730}
5731pub type VkPhysicalDeviceVariablePointerFeatures = VkPhysicalDeviceVariablePointersFeatures;
5732#[repr(C)]
5733#[derive(Copy, Clone)]
5734pub struct VkPhysicalDeviceProtectedMemoryFeatures {
5735 pub sType: VkStructureType,
5736 pub pNext: *mut ::std::os::raw::c_void,
5737 pub protectedMemory: VkBool32,
5738}
5739#[repr(C)]
5740#[derive(Copy, Clone)]
5741pub struct VkPhysicalDeviceProtectedMemoryProperties {
5742 pub sType: VkStructureType,
5743 pub pNext: *mut ::std::os::raw::c_void,
5744 pub protectedNoFault: VkBool32,
5745}
5746#[repr(C)]
5747#[derive(Copy, Clone)]
5748pub struct VkDeviceQueueInfo2 {
5749 pub sType: VkStructureType,
5750 pub pNext: *const ::std::os::raw::c_void,
5751 pub flags: VkDeviceQueueCreateFlags,
5752 pub queueFamilyIndex: u32,
5753 pub queueIndex: u32,
5754}
5755#[repr(C)]
5756#[derive(Copy, Clone)]
5757pub struct VkProtectedSubmitInfo {
5758 pub sType: VkStructureType,
5759 pub pNext: *const ::std::os::raw::c_void,
5760 pub protectedSubmit: VkBool32,
5761}
5762#[repr(C)]
5763#[derive(Copy, Clone)]
5764pub struct VkSamplerYcbcrConversionCreateInfo {
5765 pub sType: VkStructureType,
5766 pub pNext: *const ::std::os::raw::c_void,
5767 pub format: VkFormat,
5768 pub ycbcrModel: VkSamplerYcbcrModelConversion,
5769 pub ycbcrRange: VkSamplerYcbcrRange,
5770 pub components: VkComponentMapping,
5771 pub xChromaOffset: VkChromaLocation,
5772 pub yChromaOffset: VkChromaLocation,
5773 pub chromaFilter: VkFilter,
5774 pub forceExplicitReconstruction: VkBool32,
5775}
5776#[repr(C)]
5777#[derive(Copy, Clone)]
5778pub struct VkSamplerYcbcrConversionInfo {
5779 pub sType: VkStructureType,
5780 pub pNext: *const ::std::os::raw::c_void,
5781 pub conversion: VkSamplerYcbcrConversion,
5782}
5783#[repr(C)]
5784#[derive(Copy, Clone)]
5785pub struct VkBindImagePlaneMemoryInfo {
5786 pub sType: VkStructureType,
5787 pub pNext: *const ::std::os::raw::c_void,
5788 pub planeAspect: VkImageAspectFlagBits,
5789}
5790#[repr(C)]
5791#[derive(Copy, Clone)]
5792pub struct VkImagePlaneMemoryRequirementsInfo {
5793 pub sType: VkStructureType,
5794 pub pNext: *const ::std::os::raw::c_void,
5795 pub planeAspect: VkImageAspectFlagBits,
5796}
5797#[repr(C)]
5798#[derive(Copy, Clone)]
5799pub struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
5800 pub sType: VkStructureType,
5801 pub pNext: *mut ::std::os::raw::c_void,
5802 pub samplerYcbcrConversion: VkBool32,
5803}
5804#[repr(C)]
5805#[derive(Copy, Clone)]
5806pub struct VkSamplerYcbcrConversionImageFormatProperties {
5807 pub sType: VkStructureType,
5808 pub pNext: *mut ::std::os::raw::c_void,
5809 pub combinedImageSamplerDescriptorCount: u32,
5810}
5811#[repr(C)]
5812#[derive(Copy, Clone)]
5813pub struct VkDescriptorUpdateTemplateEntry {
5814 pub dstBinding: u32,
5815 pub dstArrayElement: u32,
5816 pub descriptorCount: u32,
5817 pub descriptorType: VkDescriptorType,
5818 pub offset: usize,
5819 pub stride: usize,
5820}
5821#[repr(C)]
5822#[derive(Copy, Clone)]
5823pub struct VkDescriptorUpdateTemplateCreateInfo {
5824 pub sType: VkStructureType,
5825 pub pNext: *const ::std::os::raw::c_void,
5826 pub flags: VkDescriptorUpdateTemplateCreateFlags,
5827 pub descriptorUpdateEntryCount: u32,
5828 pub pDescriptorUpdateEntries: *const VkDescriptorUpdateTemplateEntry,
5829 pub templateType: VkDescriptorUpdateTemplateType,
5830 pub descriptorSetLayout: VkDescriptorSetLayout,
5831 pub pipelineBindPoint: VkPipelineBindPoint,
5832 pub pipelineLayout: VkPipelineLayout,
5833 pub set: u32,
5834}
5835#[repr(C)]
5836#[derive(Copy, Clone)]
5837pub struct VkExternalMemoryProperties {
5838 pub externalMemoryFeatures: VkExternalMemoryFeatureFlags,
5839 pub exportFromImportedHandleTypes: VkExternalMemoryHandleTypeFlags,
5840 pub compatibleHandleTypes: VkExternalMemoryHandleTypeFlags,
5841}
5842#[repr(C)]
5843#[derive(Copy, Clone)]
5844pub struct VkPhysicalDeviceExternalImageFormatInfo {
5845 pub sType: VkStructureType,
5846 pub pNext: *const ::std::os::raw::c_void,
5847 pub handleType: VkExternalMemoryHandleTypeFlagBits,
5848}
5849#[repr(C)]
5850#[derive(Copy, Clone)]
5851pub struct VkExternalImageFormatProperties {
5852 pub sType: VkStructureType,
5853 pub pNext: *mut ::std::os::raw::c_void,
5854 pub externalMemoryProperties: VkExternalMemoryProperties,
5855}
5856#[repr(C)]
5857#[derive(Copy, Clone)]
5858pub struct VkPhysicalDeviceExternalBufferInfo {
5859 pub sType: VkStructureType,
5860 pub pNext: *const ::std::os::raw::c_void,
5861 pub flags: VkBufferCreateFlags,
5862 pub usage: VkBufferUsageFlags,
5863 pub handleType: VkExternalMemoryHandleTypeFlagBits,
5864}
5865#[repr(C)]
5866#[derive(Copy, Clone)]
5867pub struct VkExternalBufferProperties {
5868 pub sType: VkStructureType,
5869 pub pNext: *mut ::std::os::raw::c_void,
5870 pub externalMemoryProperties: VkExternalMemoryProperties,
5871}
5872#[repr(C)]
5873#[derive(Copy, Clone)]
5874pub struct VkPhysicalDeviceIDProperties {
5875 pub sType: VkStructureType,
5876 pub pNext: *mut ::std::os::raw::c_void,
5877 pub deviceUUID: [u8; 16usize],
5878 pub driverUUID: [u8; 16usize],
5879 pub deviceLUID: [u8; 8usize],
5880 pub deviceNodeMask: u32,
5881 pub deviceLUIDValid: VkBool32,
5882}
5883#[repr(C)]
5884#[derive(Copy, Clone)]
5885pub struct VkExternalMemoryImageCreateInfo {
5886 pub sType: VkStructureType,
5887 pub pNext: *const ::std::os::raw::c_void,
5888 pub handleTypes: VkExternalMemoryHandleTypeFlags,
5889}
5890#[repr(C)]
5891#[derive(Copy, Clone)]
5892pub struct VkExternalMemoryBufferCreateInfo {
5893 pub sType: VkStructureType,
5894 pub pNext: *const ::std::os::raw::c_void,
5895 pub handleTypes: VkExternalMemoryHandleTypeFlags,
5896}
5897#[repr(C)]
5898#[derive(Copy, Clone)]
5899pub struct VkExportMemoryAllocateInfo {
5900 pub sType: VkStructureType,
5901 pub pNext: *const ::std::os::raw::c_void,
5902 pub handleTypes: VkExternalMemoryHandleTypeFlags,
5903}
5904#[repr(C)]
5905#[derive(Copy, Clone)]
5906pub struct VkPhysicalDeviceExternalFenceInfo {
5907 pub sType: VkStructureType,
5908 pub pNext: *const ::std::os::raw::c_void,
5909 pub handleType: VkExternalFenceHandleTypeFlagBits,
5910}
5911#[repr(C)]
5912#[derive(Copy, Clone)]
5913pub struct VkExternalFenceProperties {
5914 pub sType: VkStructureType,
5915 pub pNext: *mut ::std::os::raw::c_void,
5916 pub exportFromImportedHandleTypes: VkExternalFenceHandleTypeFlags,
5917 pub compatibleHandleTypes: VkExternalFenceHandleTypeFlags,
5918 pub externalFenceFeatures: VkExternalFenceFeatureFlags,
5919}
5920#[repr(C)]
5921#[derive(Copy, Clone)]
5922pub struct VkExportFenceCreateInfo {
5923 pub sType: VkStructureType,
5924 pub pNext: *const ::std::os::raw::c_void,
5925 pub handleTypes: VkExternalFenceHandleTypeFlags,
5926}
5927#[repr(C)]
5928#[derive(Copy, Clone)]
5929pub struct VkExportSemaphoreCreateInfo {
5930 pub sType: VkStructureType,
5931 pub pNext: *const ::std::os::raw::c_void,
5932 pub handleTypes: VkExternalSemaphoreHandleTypeFlags,
5933}
5934#[repr(C)]
5935#[derive(Copy, Clone)]
5936pub struct VkPhysicalDeviceExternalSemaphoreInfo {
5937 pub sType: VkStructureType,
5938 pub pNext: *const ::std::os::raw::c_void,
5939 pub handleType: VkExternalSemaphoreHandleTypeFlagBits,
5940}
5941#[repr(C)]
5942#[derive(Copy, Clone)]
5943pub struct VkExternalSemaphoreProperties {
5944 pub sType: VkStructureType,
5945 pub pNext: *mut ::std::os::raw::c_void,
5946 pub exportFromImportedHandleTypes: VkExternalSemaphoreHandleTypeFlags,
5947 pub compatibleHandleTypes: VkExternalSemaphoreHandleTypeFlags,
5948 pub externalSemaphoreFeatures: VkExternalSemaphoreFeatureFlags,
5949}
5950#[repr(C)]
5951#[derive(Copy, Clone)]
5952pub struct VkPhysicalDeviceMaintenance3Properties {
5953 pub sType: VkStructureType,
5954 pub pNext: *mut ::std::os::raw::c_void,
5955 pub maxPerSetDescriptors: u32,
5956 pub maxMemoryAllocationSize: VkDeviceSize,
5957}
5958#[repr(C)]
5959#[derive(Copy, Clone)]
5960pub struct VkDescriptorSetLayoutSupport {
5961 pub sType: VkStructureType,
5962 pub pNext: *mut ::std::os::raw::c_void,
5963 pub supported: VkBool32,
5964}
5965#[repr(C)]
5966#[derive(Copy, Clone)]
5967pub struct VkPhysicalDeviceShaderDrawParametersFeatures {
5968 pub sType: VkStructureType,
5969 pub pNext: *mut ::std::os::raw::c_void,
5970 pub shaderDrawParameters: VkBool32,
5971}
5972pub type VkPhysicalDeviceShaderDrawParameterFeatures = VkPhysicalDeviceShaderDrawParametersFeatures;
5973
5974pub type PFN_vkEnumerateInstanceVersion =
5975 ::std::option::Option<unsafe extern "system" fn(pApiVersion: *mut u32) -> VkResult>;
5976pub type PFN_vkBindBufferMemory2 = ::std::option::Option<
5977 unsafe extern "system" fn(
5978 device: VkDevice,
5979 bindInfoCount: u32,
5980 pBindInfos: *const VkBindBufferMemoryInfo,
5981 ) -> VkResult,
5982>;
5983pub type PFN_vkBindImageMemory2 = ::std::option::Option<
5984 unsafe extern "system" fn(
5985 device: VkDevice,
5986 bindInfoCount: u32,
5987 pBindInfos: *const VkBindImageMemoryInfo,
5988 ) -> VkResult,
5989>;
5990pub type PFN_vkGetDeviceGroupPeerMemoryFeatures = ::std::option::Option<
5991 unsafe extern "system" fn(
5992 device: VkDevice,
5993 heapIndex: u32,
5994 localDeviceIndex: u32,
5995 remoteDeviceIndex: u32,
5996 pPeerMemoryFeatures: *mut VkPeerMemoryFeatureFlags,
5997 ),
5998>;
5999pub type PFN_vkCmdSetDeviceMask = ::std::option::Option<
6000 unsafe extern "system" fn(commandBuffer: VkCommandBuffer, deviceMask: u32),
6001>;
6002pub type PFN_vkCmdDispatchBase = ::std::option::Option<
6003 unsafe extern "system" fn(
6004 commandBuffer: VkCommandBuffer,
6005 baseGroupX: u32,
6006 baseGroupY: u32,
6007 baseGroupZ: u32,
6008 groupCountX: u32,
6009 groupCountY: u32,
6010 groupCountZ: u32,
6011 ),
6012>;
6013pub type PFN_vkEnumeratePhysicalDeviceGroups = ::std::option::Option<
6014 unsafe extern "system" fn(
6015 instance: VkInstance,
6016 pPhysicalDeviceGroupCount: *mut u32,
6017 pPhysicalDeviceGroupProperties: *mut VkPhysicalDeviceGroupProperties,
6018 ) -> VkResult,
6019>;
6020pub type PFN_vkGetImageMemoryRequirements2 = ::std::option::Option<
6021 unsafe extern "system" fn(
6022 device: VkDevice,
6023 pInfo: *const VkImageMemoryRequirementsInfo2,
6024 pMemoryRequirements: *mut VkMemoryRequirements2,
6025 ),
6026>;
6027pub type PFN_vkGetBufferMemoryRequirements2 = ::std::option::Option<
6028 unsafe extern "system" fn(
6029 device: VkDevice,
6030 pInfo: *const VkBufferMemoryRequirementsInfo2,
6031 pMemoryRequirements: *mut VkMemoryRequirements2,
6032 ),
6033>;
6034pub type PFN_vkGetImageSparseMemoryRequirements2 = ::std::option::Option<
6035 unsafe extern "system" fn(
6036 device: VkDevice,
6037 pInfo: *const VkImageSparseMemoryRequirementsInfo2,
6038 pSparseMemoryRequirementCount: *mut u32,
6039 pSparseMemoryRequirements: *mut VkSparseImageMemoryRequirements2,
6040 ),
6041>;
6042pub type PFN_vkGetPhysicalDeviceFeatures2 = ::std::option::Option<
6043 unsafe extern "system" fn(
6044 physicalDevice: VkPhysicalDevice,
6045 pFeatures: *mut VkPhysicalDeviceFeatures2,
6046 ),
6047>;
6048pub type PFN_vkGetPhysicalDeviceProperties2 = ::std::option::Option<
6049 unsafe extern "system" fn(
6050 physicalDevice: VkPhysicalDevice,
6051 pProperties: *mut VkPhysicalDeviceProperties2,
6052 ),
6053>;
6054pub type PFN_vkGetPhysicalDeviceFormatProperties2 = ::std::option::Option<
6055 unsafe extern "system" fn(
6056 physicalDevice: VkPhysicalDevice,
6057 format: VkFormat,
6058 pFormatProperties: *mut VkFormatProperties2,
6059 ),
6060>;
6061pub type PFN_vkGetPhysicalDeviceImageFormatProperties2 = ::std::option::Option<
6062 unsafe extern "system" fn(
6063 physicalDevice: VkPhysicalDevice,
6064 pImageFormatInfo: *const VkPhysicalDeviceImageFormatInfo2,
6065 pImageFormatProperties: *mut VkImageFormatProperties2,
6066 ) -> VkResult,
6067>;
6068pub type PFN_vkGetPhysicalDeviceQueueFamilyProperties2 = ::std::option::Option<
6069 unsafe extern "system" fn(
6070 physicalDevice: VkPhysicalDevice,
6071 pQueueFamilyPropertyCount: *mut u32,
6072 pQueueFamilyProperties: *mut VkQueueFamilyProperties2,
6073 ),
6074>;
6075pub type PFN_vkGetPhysicalDeviceMemoryProperties2 = ::std::option::Option<
6076 unsafe extern "system" fn(
6077 physicalDevice: VkPhysicalDevice,
6078 pMemoryProperties: *mut VkPhysicalDeviceMemoryProperties2,
6079 ),
6080>;
6081pub type PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 = ::std::option::Option<
6082 unsafe extern "system" fn(
6083 physicalDevice: VkPhysicalDevice,
6084 pFormatInfo: *const VkPhysicalDeviceSparseImageFormatInfo2,
6085 pPropertyCount: *mut u32,
6086 pProperties: *mut VkSparseImageFormatProperties2,
6087 ),
6088>;
6089pub type PFN_vkTrimCommandPool = ::std::option::Option<
6090 unsafe extern "system" fn(
6091 device: VkDevice,
6092 commandPool: VkCommandPool,
6093 flags: VkCommandPoolTrimFlags,
6094 ),
6095>;
6096pub type PFN_vkGetDeviceQueue2 = ::std::option::Option<
6097 unsafe extern "system" fn(
6098 device: VkDevice,
6099 pQueueInfo: *const VkDeviceQueueInfo2,
6100 pQueue: *mut VkQueue,
6101 ),
6102>;
6103pub type PFN_vkCreateSamplerYcbcrConversion = ::std::option::Option<
6104 unsafe extern "system" fn(
6105 device: VkDevice,
6106 pCreateInfo: *const VkSamplerYcbcrConversionCreateInfo,
6107 pAllocator: *const VkAllocationCallbacks,
6108 pYcbcrConversion: *mut VkSamplerYcbcrConversion,
6109 ) -> VkResult,
6110>;
6111pub type PFN_vkDestroySamplerYcbcrConversion = ::std::option::Option<
6112 unsafe extern "system" fn(
6113 device: VkDevice,
6114 ycbcrConversion: VkSamplerYcbcrConversion,
6115 pAllocator: *const VkAllocationCallbacks,
6116 ),
6117>;
6118pub type PFN_vkCreateDescriptorUpdateTemplate = ::std::option::Option<
6119 unsafe extern "system" fn(
6120 device: VkDevice,
6121 pCreateInfo: *const VkDescriptorUpdateTemplateCreateInfo,
6122 pAllocator: *const VkAllocationCallbacks,
6123 pDescriptorUpdateTemplate: *mut VkDescriptorUpdateTemplate,
6124 ) -> VkResult,
6125>;
6126pub type PFN_vkDestroyDescriptorUpdateTemplate = ::std::option::Option<
6127 unsafe extern "system" fn(
6128 device: VkDevice,
6129 descriptorUpdateTemplate: VkDescriptorUpdateTemplate,
6130 pAllocator: *const VkAllocationCallbacks,
6131 ),
6132>;
6133pub type PFN_vkUpdateDescriptorSetWithTemplate = ::std::option::Option<
6134 unsafe extern "system" fn(
6135 device: VkDevice,
6136 descriptorSet: VkDescriptorSet,
6137 descriptorUpdateTemplate: VkDescriptorUpdateTemplate,
6138 pData: *const ::std::os::raw::c_void,
6139 ),
6140>;
6141pub type PFN_vkGetPhysicalDeviceExternalBufferProperties = ::std::option::Option<
6142 unsafe extern "system" fn(
6143 physicalDevice: VkPhysicalDevice,
6144 pExternalBufferInfo: *const VkPhysicalDeviceExternalBufferInfo,
6145 pExternalBufferProperties: *mut VkExternalBufferProperties,
6146 ),
6147>;
6148pub type PFN_vkGetPhysicalDeviceExternalFenceProperties = ::std::option::Option<
6149 unsafe extern "system" fn(
6150 physicalDevice: VkPhysicalDevice,
6151 pExternalFenceInfo: *const VkPhysicalDeviceExternalFenceInfo,
6152 pExternalFenceProperties: *mut VkExternalFenceProperties,
6153 ),
6154>;
6155pub type PFN_vkGetPhysicalDeviceExternalSemaphoreProperties = ::std::option::Option<
6156 unsafe extern "system" fn(
6157 physicalDevice: VkPhysicalDevice,
6158 pExternalSemaphoreInfo: *const VkPhysicalDeviceExternalSemaphoreInfo,
6159 pExternalSemaphoreProperties: *mut VkExternalSemaphoreProperties,
6160 ),
6161>;
6162pub type PFN_vkGetDescriptorSetLayoutSupport = ::std::option::Option<
6163 unsafe extern "system" fn(
6164 device: VkDevice,
6165 pCreateInfo: *const VkDescriptorSetLayoutCreateInfo,
6166 pSupport: *mut VkDescriptorSetLayoutSupport,
6167 ),
6168>;
6169
6170extern "system" {
6171 pub fn vkEnumerateInstanceVersion(pApiVersion: *mut u32) -> VkResult;
6172}
6173extern "system" {
6174 pub fn vkBindBufferMemory2(
6175 device: VkDevice,
6176 bindInfoCount: u32,
6177 pBindInfos: *const VkBindBufferMemoryInfo,
6178 ) -> VkResult;
6179}
6180extern "system" {
6181 pub fn vkBindImageMemory2(
6182 device: VkDevice,
6183 bindInfoCount: u32,
6184 pBindInfos: *const VkBindImageMemoryInfo,
6185 ) -> VkResult;
6186}
6187extern "system" {
6188 pub fn vkGetDeviceGroupPeerMemoryFeatures(
6189 device: VkDevice,
6190 heapIndex: u32,
6191 localDeviceIndex: u32,
6192 remoteDeviceIndex: u32,
6193 pPeerMemoryFeatures: *mut VkPeerMemoryFeatureFlags,
6194 );
6195}
6196extern "system" {
6197 pub fn vkCmdSetDeviceMask(commandBuffer: VkCommandBuffer, deviceMask: u32);
6198}
6199extern "system" {
6200 pub fn vkCmdDispatchBase(
6201 commandBuffer: VkCommandBuffer,
6202 baseGroupX: u32,
6203 baseGroupY: u32,
6204 baseGroupZ: u32,
6205 groupCountX: u32,
6206 groupCountY: u32,
6207 groupCountZ: u32,
6208 );
6209}
6210extern "system" {
6211 pub fn vkEnumeratePhysicalDeviceGroups(
6212 instance: VkInstance,
6213 pPhysicalDeviceGroupCount: *mut u32,
6214 pPhysicalDeviceGroupProperties: *mut VkPhysicalDeviceGroupProperties,
6215 ) -> VkResult;
6216}
6217extern "system" {
6218 pub fn vkGetImageMemoryRequirements2(
6219 device: VkDevice,
6220 pInfo: *const VkImageMemoryRequirementsInfo2,
6221 pMemoryRequirements: *mut VkMemoryRequirements2,
6222 );
6223}
6224extern "system" {
6225 pub fn vkGetBufferMemoryRequirements2(
6226 device: VkDevice,
6227 pInfo: *const VkBufferMemoryRequirementsInfo2,
6228 pMemoryRequirements: *mut VkMemoryRequirements2,
6229 );
6230}
6231extern "system" {
6232 pub fn vkGetImageSparseMemoryRequirements2(
6233 device: VkDevice,
6234 pInfo: *const VkImageSparseMemoryRequirementsInfo2,
6235 pSparseMemoryRequirementCount: *mut u32,
6236 pSparseMemoryRequirements: *mut VkSparseImageMemoryRequirements2,
6237 );
6238}
6239extern "system" {
6240 pub fn vkGetPhysicalDeviceFeatures2(
6241 physicalDevice: VkPhysicalDevice,
6242 pFeatures: *mut VkPhysicalDeviceFeatures2,
6243 );
6244}
6245extern "system" {
6246 pub fn vkGetPhysicalDeviceProperties2(
6247 physicalDevice: VkPhysicalDevice,
6248 pProperties: *mut VkPhysicalDeviceProperties2,
6249 );
6250}
6251extern "system" {
6252 pub fn vkGetPhysicalDeviceFormatProperties2(
6253 physicalDevice: VkPhysicalDevice,
6254 format: VkFormat,
6255 pFormatProperties: *mut VkFormatProperties2,
6256 );
6257}
6258extern "system" {
6259 pub fn vkGetPhysicalDeviceImageFormatProperties2(
6260 physicalDevice: VkPhysicalDevice,
6261 pImageFormatInfo: *const VkPhysicalDeviceImageFormatInfo2,
6262 pImageFormatProperties: *mut VkImageFormatProperties2,
6263 ) -> VkResult;
6264}
6265extern "system" {
6266 pub fn vkGetPhysicalDeviceQueueFamilyProperties2(
6267 physicalDevice: VkPhysicalDevice,
6268 pQueueFamilyPropertyCount: *mut u32,
6269 pQueueFamilyProperties: *mut VkQueueFamilyProperties2,
6270 );
6271}
6272extern "system" {
6273 pub fn vkGetPhysicalDeviceMemoryProperties2(
6274 physicalDevice: VkPhysicalDevice,
6275 pMemoryProperties: *mut VkPhysicalDeviceMemoryProperties2,
6276 );
6277}
6278extern "system" {
6279 pub fn vkGetPhysicalDeviceSparseImageFormatProperties2(
6280 physicalDevice: VkPhysicalDevice,
6281 pFormatInfo: *const VkPhysicalDeviceSparseImageFormatInfo2,
6282 pPropertyCount: *mut u32,
6283 pProperties: *mut VkSparseImageFormatProperties2,
6284 );
6285}
6286extern "system" {
6287 pub fn vkTrimCommandPool(
6288 device: VkDevice,
6289 commandPool: VkCommandPool,
6290 flags: VkCommandPoolTrimFlags,
6291 );
6292}
6293extern "system" {
6294 pub fn vkGetDeviceQueue2(
6295 device: VkDevice,
6296 pQueueInfo: *const VkDeviceQueueInfo2,
6297 pQueue: *mut VkQueue,
6298 );
6299}
6300extern "system" {
6301 pub fn vkCreateSamplerYcbcrConversion(
6302 device: VkDevice,
6303 pCreateInfo: *const VkSamplerYcbcrConversionCreateInfo,
6304 pAllocator: *const VkAllocationCallbacks,
6305 pYcbcrConversion: *mut VkSamplerYcbcrConversion,
6306 ) -> VkResult;
6307}
6308extern "system" {
6309 pub fn vkDestroySamplerYcbcrConversion(
6310 device: VkDevice,
6311 ycbcrConversion: VkSamplerYcbcrConversion,
6312 pAllocator: *const VkAllocationCallbacks,
6313 );
6314}
6315extern "system" {
6316 pub fn vkCreateDescriptorUpdateTemplate(
6317 device: VkDevice,
6318 pCreateInfo: *const VkDescriptorUpdateTemplateCreateInfo,
6319 pAllocator: *const VkAllocationCallbacks,
6320 pDescriptorUpdateTemplate: *mut VkDescriptorUpdateTemplate,
6321 ) -> VkResult;
6322}
6323extern "system" {
6324 pub fn vkDestroyDescriptorUpdateTemplate(
6325 device: VkDevice,
6326 descriptorUpdateTemplate: VkDescriptorUpdateTemplate,
6327 pAllocator: *const VkAllocationCallbacks,
6328 );
6329}
6330extern "system" {
6331 pub fn vkUpdateDescriptorSetWithTemplate(
6332 device: VkDevice,
6333 descriptorSet: VkDescriptorSet,
6334 descriptorUpdateTemplate: VkDescriptorUpdateTemplate,
6335 pData: *const ::std::os::raw::c_void,
6336 );
6337}
6338extern "system" {
6339 pub fn vkGetPhysicalDeviceExternalBufferProperties(
6340 physicalDevice: VkPhysicalDevice,
6341 pExternalBufferInfo: *const VkPhysicalDeviceExternalBufferInfo,
6342 pExternalBufferProperties: *mut VkExternalBufferProperties,
6343 );
6344}
6345extern "system" {
6346 pub fn vkGetPhysicalDeviceExternalFenceProperties(
6347 physicalDevice: VkPhysicalDevice,
6348 pExternalFenceInfo: *const VkPhysicalDeviceExternalFenceInfo,
6349 pExternalFenceProperties: *mut VkExternalFenceProperties,
6350 );
6351}
6352extern "system" {
6353 pub fn vkGetPhysicalDeviceExternalSemaphoreProperties(
6354 physicalDevice: VkPhysicalDevice,
6355 pExternalSemaphoreInfo: *const VkPhysicalDeviceExternalSemaphoreInfo,
6356 pExternalSemaphoreProperties: *mut VkExternalSemaphoreProperties,
6357 );
6358}
6359extern "system" {
6360 pub fn vkGetDescriptorSetLayoutSupport(
6361 device: VkDevice,
6362 pCreateInfo: *const VkDescriptorSetLayoutCreateInfo,
6363 pSupport: *mut VkDescriptorSetLayoutSupport,
6364 );
6365}
6366#[repr(C)]
6367#[derive(Copy, Clone)]
6368pub struct VkSurfaceKHR_T {
6369 _unused: [u8; 0],
6370}
6371pub type VkSurfaceKHR = *mut VkSurfaceKHR_T;
6372pub const VK_COLOR_SPACE_SRGB_NONLINEAR_KHR: VkColorSpaceKHR = 0;
6373pub const VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT: VkColorSpaceKHR = 1000104001;
6374pub const VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT: VkColorSpaceKHR = 1000104002;
6375pub const VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT: VkColorSpaceKHR = 1000104003;
6376pub const VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT: VkColorSpaceKHR = 1000104004;
6377pub const VK_COLOR_SPACE_BT709_LINEAR_EXT: VkColorSpaceKHR = 1000104005;
6378pub const VK_COLOR_SPACE_BT709_NONLINEAR_EXT: VkColorSpaceKHR = 1000104006;
6379pub const VK_COLOR_SPACE_BT2020_LINEAR_EXT: VkColorSpaceKHR = 1000104007;
6380pub const VK_COLOR_SPACE_HDR10_ST2084_EXT: VkColorSpaceKHR = 1000104008;
6381pub const VK_COLOR_SPACE_DOLBYVISION_EXT: VkColorSpaceKHR = 1000104009;
6382pub const VK_COLOR_SPACE_HDR10_HLG_EXT: VkColorSpaceKHR = 1000104010;
6383pub const VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT: VkColorSpaceKHR = 1000104011;
6384pub const VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT: VkColorSpaceKHR = 1000104012;
6385pub const VK_COLOR_SPACE_PASS_THROUGH_EXT: VkColorSpaceKHR = 1000104013;
6386pub const VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT: VkColorSpaceKHR = 1000104014;
6387pub const VK_COLOR_SPACE_DISPLAY_NATIVE_AMD: VkColorSpaceKHR = 1000213000;
6388pub const VK_COLORSPACE_SRGB_NONLINEAR_KHR: VkColorSpaceKHR = 0;
6389pub const VK_COLOR_SPACE_DCI_P3_LINEAR_EXT: VkColorSpaceKHR = 1000104003;
6390pub const VK_COLOR_SPACE_BEGIN_RANGE_KHR: VkColorSpaceKHR = 0;
6391pub const VK_COLOR_SPACE_END_RANGE_KHR: VkColorSpaceKHR = 0;
6392pub const VK_COLOR_SPACE_RANGE_SIZE_KHR: VkColorSpaceKHR = 1;
6393pub const VK_COLOR_SPACE_MAX_ENUM_KHR: VkColorSpaceKHR = 2147483647;
6394pub type VkColorSpaceKHR = i32;
6395pub const VK_PRESENT_MODE_IMMEDIATE_KHR: VkPresentModeKHR = 0;
6396pub const VK_PRESENT_MODE_MAILBOX_KHR: VkPresentModeKHR = 1;
6397pub const VK_PRESENT_MODE_FIFO_KHR: VkPresentModeKHR = 2;
6398pub const VK_PRESENT_MODE_FIFO_RELAXED_KHR: VkPresentModeKHR = 3;
6399pub const VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR: VkPresentModeKHR = 1000111000;
6400pub const VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR: VkPresentModeKHR = 1000111001;
6401pub const VK_PRESENT_MODE_BEGIN_RANGE_KHR: VkPresentModeKHR = 0;
6402pub const VK_PRESENT_MODE_END_RANGE_KHR: VkPresentModeKHR = 3;
6403pub const VK_PRESENT_MODE_RANGE_SIZE_KHR: VkPresentModeKHR = 4;
6404pub const VK_PRESENT_MODE_MAX_ENUM_KHR: VkPresentModeKHR = 2147483647;
6405pub type VkPresentModeKHR = i32;
6406pub const VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR: VkSurfaceTransformFlagBitsKHR = 1;
6407pub const VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR: VkSurfaceTransformFlagBitsKHR = 2;
6408pub const VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR: VkSurfaceTransformFlagBitsKHR = 4;
6409pub const VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR: VkSurfaceTransformFlagBitsKHR = 8;
6410pub const VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR: VkSurfaceTransformFlagBitsKHR = 16;
6411pub const VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR: VkSurfaceTransformFlagBitsKHR =
6412 32;
6413pub const VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR: VkSurfaceTransformFlagBitsKHR =
6414 64;
6415pub const VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR: VkSurfaceTransformFlagBitsKHR =
6416 128;
6417pub const VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR: VkSurfaceTransformFlagBitsKHR = 256;
6418pub const VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR: VkSurfaceTransformFlagBitsKHR = 2147483647;
6419pub type VkSurfaceTransformFlagBitsKHR = i32;
6420pub type VkSurfaceTransformFlagsKHR = VkFlags;
6421pub const VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR: VkCompositeAlphaFlagBitsKHR = 1;
6422pub const VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR: VkCompositeAlphaFlagBitsKHR = 2;
6423pub const VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR: VkCompositeAlphaFlagBitsKHR = 4;
6424pub const VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR: VkCompositeAlphaFlagBitsKHR = 8;
6425pub const VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR: VkCompositeAlphaFlagBitsKHR = 2147483647;
6426pub type VkCompositeAlphaFlagBitsKHR = i32;
6427pub type VkCompositeAlphaFlagsKHR = VkFlags;
6428#[repr(C)]
6429#[derive(Copy, Clone)]
6430pub struct VkSurfaceCapabilitiesKHR {
6431 pub minImageCount: u32,
6432 pub maxImageCount: u32,
6433 pub currentExtent: VkExtent2D,
6434 pub minImageExtent: VkExtent2D,
6435 pub maxImageExtent: VkExtent2D,
6436 pub maxImageArrayLayers: u32,
6437 pub supportedTransforms: VkSurfaceTransformFlagsKHR,
6438 pub currentTransform: VkSurfaceTransformFlagBitsKHR,
6439 pub supportedCompositeAlpha: VkCompositeAlphaFlagsKHR,
6440 pub supportedUsageFlags: VkImageUsageFlags,
6441}
6442#[repr(C)]
6443#[derive(Copy, Clone)]
6444pub struct VkSurfaceFormatKHR {
6445 pub format: VkFormat,
6446 pub colorSpace: VkColorSpaceKHR,
6447}
6448pub type PFN_vkDestroySurfaceKHR = ::std::option::Option<
6449 unsafe extern "system" fn(
6450 instance: VkInstance,
6451 surface: VkSurfaceKHR,
6452 pAllocator: *const VkAllocationCallbacks,
6453 ),
6454>;
6455pub type PFN_vkGetPhysicalDeviceSurfaceSupportKHR = ::std::option::Option<
6456 unsafe extern "system" fn(
6457 physicalDevice: VkPhysicalDevice,
6458 queueFamilyIndex: u32,
6459 surface: VkSurfaceKHR,
6460 pSupported: *mut VkBool32,
6461 ) -> VkResult,
6462>;
6463pub type PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR = ::std::option::Option<
6464 unsafe extern "system" fn(
6465 physicalDevice: VkPhysicalDevice,
6466 surface: VkSurfaceKHR,
6467 pSurfaceCapabilities: *mut VkSurfaceCapabilitiesKHR,
6468 ) -> VkResult,
6469>;
6470pub type PFN_vkGetPhysicalDeviceSurfaceFormatsKHR = ::std::option::Option<
6471 unsafe extern "system" fn(
6472 physicalDevice: VkPhysicalDevice,
6473 surface: VkSurfaceKHR,
6474 pSurfaceFormatCount: *mut u32,
6475 pSurfaceFormats: *mut VkSurfaceFormatKHR,
6476 ) -> VkResult,
6477>;
6478pub type PFN_vkGetPhysicalDeviceSurfacePresentModesKHR = ::std::option::Option<
6479 unsafe extern "system" fn(
6480 physicalDevice: VkPhysicalDevice,
6481 surface: VkSurfaceKHR,
6482 pPresentModeCount: *mut u32,
6483 pPresentModes: *mut VkPresentModeKHR,
6484 ) -> VkResult,
6485>;
6486extern "system" {
6487 pub fn vkDestroySurfaceKHR(
6488 instance: VkInstance,
6489 surface: VkSurfaceKHR,
6490 pAllocator: *const VkAllocationCallbacks,
6491 );
6492}
6493extern "system" {
6494 pub fn vkGetPhysicalDeviceSurfaceSupportKHR(
6495 physicalDevice: VkPhysicalDevice,
6496 queueFamilyIndex: u32,
6497 surface: VkSurfaceKHR,
6498 pSupported: *mut VkBool32,
6499 ) -> VkResult;
6500}
6501extern "system" {
6502 pub fn vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
6503 physicalDevice: VkPhysicalDevice,
6504 surface: VkSurfaceKHR,
6505 pSurfaceCapabilities: *mut VkSurfaceCapabilitiesKHR,
6506 ) -> VkResult;
6507}
6508extern "system" {
6509 pub fn vkGetPhysicalDeviceSurfaceFormatsKHR(
6510 physicalDevice: VkPhysicalDevice,
6511 surface: VkSurfaceKHR,
6512 pSurfaceFormatCount: *mut u32,
6513 pSurfaceFormats: *mut VkSurfaceFormatKHR,
6514 ) -> VkResult;
6515}
6516extern "system" {
6517 pub fn vkGetPhysicalDeviceSurfacePresentModesKHR(
6518 physicalDevice: VkPhysicalDevice,
6519 surface: VkSurfaceKHR,
6520 pPresentModeCount: *mut u32,
6521 pPresentModes: *mut VkPresentModeKHR,
6522 ) -> VkResult;
6523}
6524#[repr(C)]
6525#[derive(Copy, Clone)]
6526pub struct VkSwapchainKHR_T {
6527 _unused: [u8; 0],
6528}
6529pub type VkSwapchainKHR = *mut VkSwapchainKHR_T;
6530pub const VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR: VkSwapchainCreateFlagBitsKHR = 1;
6531pub const VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR: VkSwapchainCreateFlagBitsKHR = 2;
6532pub const VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR: VkSwapchainCreateFlagBitsKHR = 4;
6533pub const VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR: VkSwapchainCreateFlagBitsKHR = 2147483647;
6534pub type VkSwapchainCreateFlagBitsKHR = i32;
6535pub type VkSwapchainCreateFlagsKHR = VkFlags;
6536pub const VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR: VkDeviceGroupPresentModeFlagBitsKHR = 1;
6537pub const VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR: VkDeviceGroupPresentModeFlagBitsKHR = 2;
6538pub const VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR: VkDeviceGroupPresentModeFlagBitsKHR = 4;
6539pub const VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR:
6540 VkDeviceGroupPresentModeFlagBitsKHR = 8;
6541pub const VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR: VkDeviceGroupPresentModeFlagBitsKHR =
6542 2147483647;
6543pub type VkDeviceGroupPresentModeFlagBitsKHR = i32;
6544pub type VkDeviceGroupPresentModeFlagsKHR = VkFlags;
6545#[repr(C)]
6546#[derive(Copy, Clone)]
6547pub struct VkSwapchainCreateInfoKHR {
6548 pub sType: VkStructureType,
6549 pub pNext: *const ::std::os::raw::c_void,
6550 pub flags: VkSwapchainCreateFlagsKHR,
6551 pub surface: VkSurfaceKHR,
6552 pub minImageCount: u32,
6553 pub imageFormat: VkFormat,
6554 pub imageColorSpace: VkColorSpaceKHR,
6555 pub imageExtent: VkExtent2D,
6556 pub imageArrayLayers: u32,
6557 pub imageUsage: VkImageUsageFlags,
6558 pub imageSharingMode: VkSharingMode,
6559 pub queueFamilyIndexCount: u32,
6560 pub pQueueFamilyIndices: *const u32,
6561 pub preTransform: VkSurfaceTransformFlagBitsKHR,
6562 pub compositeAlpha: VkCompositeAlphaFlagBitsKHR,
6563 pub presentMode: VkPresentModeKHR,
6564 pub clipped: VkBool32,
6565 pub oldSwapchain: VkSwapchainKHR,
6566}
6567#[repr(C)]
6568#[derive(Copy, Clone)]
6569pub struct VkPresentInfoKHR {
6570 pub sType: VkStructureType,
6571 pub pNext: *const ::std::os::raw::c_void,
6572 pub waitSemaphoreCount: u32,
6573 pub pWaitSemaphores: *const VkSemaphore,
6574 pub swapchainCount: u32,
6575 pub pSwapchains: *const VkSwapchainKHR,
6576 pub pImageIndices: *const u32,
6577 pub pResults: *mut VkResult,
6578}
6579#[repr(C)]
6580#[derive(Copy, Clone)]
6581pub struct VkImageSwapchainCreateInfoKHR {
6582 pub sType: VkStructureType,
6583 pub pNext: *const ::std::os::raw::c_void,
6584 pub swapchain: VkSwapchainKHR,
6585}
6586#[repr(C)]
6587#[derive(Copy, Clone)]
6588pub struct VkBindImageMemorySwapchainInfoKHR {
6589 pub sType: VkStructureType,
6590 pub pNext: *const ::std::os::raw::c_void,
6591 pub swapchain: VkSwapchainKHR,
6592 pub imageIndex: u32,
6593}
6594#[repr(C)]
6595#[derive(Copy, Clone)]
6596pub struct VkAcquireNextImageInfoKHR {
6597 pub sType: VkStructureType,
6598 pub pNext: *const ::std::os::raw::c_void,
6599 pub swapchain: VkSwapchainKHR,
6600 pub timeout: u64,
6601 pub semaphore: VkSemaphore,
6602 pub fence: VkFence,
6603 pub deviceMask: u32,
6604}
6605#[repr(C)]
6606#[derive(Copy, Clone)]
6607pub struct VkDeviceGroupPresentCapabilitiesKHR {
6608 pub sType: VkStructureType,
6609 pub pNext: *const ::std::os::raw::c_void,
6610 pub presentMask: [u32; 32usize],
6611 pub modes: VkDeviceGroupPresentModeFlagsKHR,
6612}
6613#[repr(C)]
6614#[derive(Copy, Clone)]
6615pub struct VkDeviceGroupPresentInfoKHR {
6616 pub sType: VkStructureType,
6617 pub pNext: *const ::std::os::raw::c_void,
6618 pub swapchainCount: u32,
6619 pub pDeviceMasks: *const u32,
6620 pub mode: VkDeviceGroupPresentModeFlagBitsKHR,
6621}
6622#[repr(C)]
6623#[derive(Copy, Clone)]
6624pub struct VkDeviceGroupSwapchainCreateInfoKHR {
6625 pub sType: VkStructureType,
6626 pub pNext: *const ::std::os::raw::c_void,
6627 pub modes: VkDeviceGroupPresentModeFlagsKHR,
6628}
6629pub type PFN_vkCreateSwapchainKHR = ::std::option::Option<
6630 unsafe extern "system" fn(
6631 device: VkDevice,
6632 pCreateInfo: *const VkSwapchainCreateInfoKHR,
6633 pAllocator: *const VkAllocationCallbacks,
6634 pSwapchain: *mut VkSwapchainKHR,
6635 ) -> VkResult,
6636>;
6637pub type PFN_vkDestroySwapchainKHR = ::std::option::Option<
6638 unsafe extern "system" fn(
6639 device: VkDevice,
6640 swapchain: VkSwapchainKHR,
6641 pAllocator: *const VkAllocationCallbacks,
6642 ),
6643>;
6644pub type PFN_vkGetSwapchainImagesKHR = ::std::option::Option<
6645 unsafe extern "system" fn(
6646 device: VkDevice,
6647 swapchain: VkSwapchainKHR,
6648 pSwapchainImageCount: *mut u32,
6649 pSwapchainImages: *mut VkImage,
6650 ) -> VkResult,
6651>;
6652pub type PFN_vkAcquireNextImageKHR = ::std::option::Option<
6653 unsafe extern "system" fn(
6654 device: VkDevice,
6655 swapchain: VkSwapchainKHR,
6656 timeout: u64,
6657 semaphore: VkSemaphore,
6658 fence: VkFence,
6659 pImageIndex: *mut u32,
6660 ) -> VkResult,
6661>;
6662pub type PFN_vkQueuePresentKHR = ::std::option::Option<
6663 unsafe extern "system" fn(queue: VkQueue, pPresentInfo: *const VkPresentInfoKHR) -> VkResult,
6664>;
6665pub type PFN_vkGetDeviceGroupPresentCapabilitiesKHR = ::std::option::Option<
6666 unsafe extern "system" fn(
6667 device: VkDevice,
6668 pDeviceGroupPresentCapabilities: *mut VkDeviceGroupPresentCapabilitiesKHR,
6669 ) -> VkResult,
6670>;
6671pub type PFN_vkGetDeviceGroupSurfacePresentModesKHR = ::std::option::Option<
6672 unsafe extern "system" fn(
6673 device: VkDevice,
6674 surface: VkSurfaceKHR,
6675 pModes: *mut VkDeviceGroupPresentModeFlagsKHR,
6676 ) -> VkResult,
6677>;
6678pub type PFN_vkGetPhysicalDevicePresentRectanglesKHR = ::std::option::Option<
6679 unsafe extern "system" fn(
6680 physicalDevice: VkPhysicalDevice,
6681 surface: VkSurfaceKHR,
6682 pRectCount: *mut u32,
6683 pRects: *mut VkRect2D,
6684 ) -> VkResult,
6685>;
6686pub type PFN_vkAcquireNextImage2KHR = ::std::option::Option<
6687 unsafe extern "system" fn(
6688 device: VkDevice,
6689 pAcquireInfo: *const VkAcquireNextImageInfoKHR,
6690 pImageIndex: *mut u32,
6691 ) -> VkResult,
6692>;
6693extern "system" {
6694 pub fn vkCreateSwapchainKHR(
6695 device: VkDevice,
6696 pCreateInfo: *const VkSwapchainCreateInfoKHR,
6697 pAllocator: *const VkAllocationCallbacks,
6698 pSwapchain: *mut VkSwapchainKHR,
6699 ) -> VkResult;
6700}
6701extern "system" {
6702 pub fn vkDestroySwapchainKHR(
6703 device: VkDevice,
6704 swapchain: VkSwapchainKHR,
6705 pAllocator: *const VkAllocationCallbacks,
6706 );
6707}
6708extern "system" {
6709 pub fn vkGetSwapchainImagesKHR(
6710 device: VkDevice,
6711 swapchain: VkSwapchainKHR,
6712 pSwapchainImageCount: *mut u32,
6713 pSwapchainImages: *mut VkImage,
6714 ) -> VkResult;
6715}
6716extern "system" {
6717 pub fn vkAcquireNextImageKHR(
6718 device: VkDevice,
6719 swapchain: VkSwapchainKHR,
6720 timeout: u64,
6721 semaphore: VkSemaphore,
6722 fence: VkFence,
6723 pImageIndex: *mut u32,
6724 ) -> VkResult;
6725}
6726extern "system" {
6727 pub fn vkQueuePresentKHR(queue: VkQueue, pPresentInfo: *const VkPresentInfoKHR) -> VkResult;
6728}
6729extern "system" {
6730 pub fn vkGetDeviceGroupPresentCapabilitiesKHR(
6731 device: VkDevice,
6732 pDeviceGroupPresentCapabilities: *mut VkDeviceGroupPresentCapabilitiesKHR,
6733 ) -> VkResult;
6734}
6735extern "system" {
6736 pub fn vkGetDeviceGroupSurfacePresentModesKHR(
6737 device: VkDevice,
6738 surface: VkSurfaceKHR,
6739 pModes: *mut VkDeviceGroupPresentModeFlagsKHR,
6740 ) -> VkResult;
6741}
6742extern "system" {
6743 pub fn vkGetPhysicalDevicePresentRectanglesKHR(
6744 physicalDevice: VkPhysicalDevice,
6745 surface: VkSurfaceKHR,
6746 pRectCount: *mut u32,
6747 pRects: *mut VkRect2D,
6748 ) -> VkResult;
6749}
6750extern "system" {
6751 pub fn vkAcquireNextImage2KHR(
6752 device: VkDevice,
6753 pAcquireInfo: *const VkAcquireNextImageInfoKHR,
6754 pImageIndex: *mut u32,
6755 ) -> VkResult;
6756}
6757#[repr(C)]
6758#[derive(Copy, Clone)]
6759pub struct VkDisplayKHR_T {
6760 _unused: [u8; 0],
6761}
6762pub type VkDisplayKHR = *mut VkDisplayKHR_T;
6763#[repr(C)]
6764#[derive(Copy, Clone)]
6765pub struct VkDisplayModeKHR_T {
6766 _unused: [u8; 0],
6767}
6768pub type VkDisplayModeKHR = *mut VkDisplayModeKHR_T;
6769pub const VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR: VkDisplayPlaneAlphaFlagBitsKHR = 1;
6770pub const VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR: VkDisplayPlaneAlphaFlagBitsKHR = 2;
6771pub const VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR: VkDisplayPlaneAlphaFlagBitsKHR = 4;
6772pub const VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR: VkDisplayPlaneAlphaFlagBitsKHR =
6773 8;
6774pub const VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR: VkDisplayPlaneAlphaFlagBitsKHR =
6775 2147483647;
6776pub type VkDisplayPlaneAlphaFlagBitsKHR = i32;
6777pub type VkDisplayPlaneAlphaFlagsKHR = VkFlags;
6778pub type VkDisplayModeCreateFlagsKHR = VkFlags;
6779pub type VkDisplaySurfaceCreateFlagsKHR = VkFlags;
6780#[repr(C)]
6781#[derive(Copy, Clone)]
6782pub struct VkDisplayPropertiesKHR {
6783 pub display: VkDisplayKHR,
6784 pub displayName: *const ::std::os::raw::c_char,
6785 pub physicalDimensions: VkExtent2D,
6786 pub physicalResolution: VkExtent2D,
6787 pub supportedTransforms: VkSurfaceTransformFlagsKHR,
6788 pub planeReorderPossible: VkBool32,
6789 pub persistentContent: VkBool32,
6790}
6791#[repr(C)]
6792#[derive(Copy, Clone)]
6793pub struct VkDisplayModeParametersKHR {
6794 pub visibleRegion: VkExtent2D,
6795 pub refreshRate: u32,
6796}
6797#[repr(C)]
6798#[derive(Copy, Clone)]
6799pub struct VkDisplayModePropertiesKHR {
6800 pub displayMode: VkDisplayModeKHR,
6801 pub parameters: VkDisplayModeParametersKHR,
6802}
6803#[repr(C)]
6804#[derive(Copy, Clone)]
6805pub struct VkDisplayModeCreateInfoKHR {
6806 pub sType: VkStructureType,
6807 pub pNext: *const ::std::os::raw::c_void,
6808 pub flags: VkDisplayModeCreateFlagsKHR,
6809 pub parameters: VkDisplayModeParametersKHR,
6810}
6811#[repr(C)]
6812#[derive(Copy, Clone)]
6813pub struct VkDisplayPlaneCapabilitiesKHR {
6814 pub supportedAlpha: VkDisplayPlaneAlphaFlagsKHR,
6815 pub minSrcPosition: VkOffset2D,
6816 pub maxSrcPosition: VkOffset2D,
6817 pub minSrcExtent: VkExtent2D,
6818 pub maxSrcExtent: VkExtent2D,
6819 pub minDstPosition: VkOffset2D,
6820 pub maxDstPosition: VkOffset2D,
6821 pub minDstExtent: VkExtent2D,
6822 pub maxDstExtent: VkExtent2D,
6823}
6824#[repr(C)]
6825#[derive(Copy, Clone)]
6826pub struct VkDisplayPlanePropertiesKHR {
6827 pub currentDisplay: VkDisplayKHR,
6828 pub currentStackIndex: u32,
6829}
6830#[repr(C)]
6831#[derive(Copy, Clone)]
6832pub struct VkDisplaySurfaceCreateInfoKHR {
6833 pub sType: VkStructureType,
6834 pub pNext: *const ::std::os::raw::c_void,
6835 pub flags: VkDisplaySurfaceCreateFlagsKHR,
6836 pub displayMode: VkDisplayModeKHR,
6837 pub planeIndex: u32,
6838 pub planeStackIndex: u32,
6839 pub transform: VkSurfaceTransformFlagBitsKHR,
6840 pub globalAlpha: f32,
6841 pub alphaMode: VkDisplayPlaneAlphaFlagBitsKHR,
6842 pub imageExtent: VkExtent2D,
6843}
6844pub type PFN_vkGetPhysicalDeviceDisplayPropertiesKHR = ::std::option::Option<
6845 unsafe extern "system" fn(
6846 physicalDevice: VkPhysicalDevice,
6847 pPropertyCount: *mut u32,
6848 pProperties: *mut VkDisplayPropertiesKHR,
6849 ) -> VkResult,
6850>;
6851pub type PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR = ::std::option::Option<
6852 unsafe extern "system" fn(
6853 physicalDevice: VkPhysicalDevice,
6854 pPropertyCount: *mut u32,
6855 pProperties: *mut VkDisplayPlanePropertiesKHR,
6856 ) -> VkResult,
6857>;
6858pub type PFN_vkGetDisplayPlaneSupportedDisplaysKHR = ::std::option::Option<
6859 unsafe extern "system" fn(
6860 physicalDevice: VkPhysicalDevice,
6861 planeIndex: u32,
6862 pDisplayCount: *mut u32,
6863 pDisplays: *mut VkDisplayKHR,
6864 ) -> VkResult,
6865>;
6866pub type PFN_vkGetDisplayModePropertiesKHR = ::std::option::Option<
6867 unsafe extern "system" fn(
6868 physicalDevice: VkPhysicalDevice,
6869 display: VkDisplayKHR,
6870 pPropertyCount: *mut u32,
6871 pProperties: *mut VkDisplayModePropertiesKHR,
6872 ) -> VkResult,
6873>;
6874pub type PFN_vkCreateDisplayModeKHR = ::std::option::Option<
6875 unsafe extern "system" fn(
6876 physicalDevice: VkPhysicalDevice,
6877 display: VkDisplayKHR,
6878 pCreateInfo: *const VkDisplayModeCreateInfoKHR,
6879 pAllocator: *const VkAllocationCallbacks,
6880 pMode: *mut VkDisplayModeKHR,
6881 ) -> VkResult,
6882>;
6883pub type PFN_vkGetDisplayPlaneCapabilitiesKHR = ::std::option::Option<
6884 unsafe extern "system" fn(
6885 physicalDevice: VkPhysicalDevice,
6886 mode: VkDisplayModeKHR,
6887 planeIndex: u32,
6888 pCapabilities: *mut VkDisplayPlaneCapabilitiesKHR,
6889 ) -> VkResult,
6890>;
6891pub type PFN_vkCreateDisplayPlaneSurfaceKHR = ::std::option::Option<
6892 unsafe extern "system" fn(
6893 instance: VkInstance,
6894 pCreateInfo: *const VkDisplaySurfaceCreateInfoKHR,
6895 pAllocator: *const VkAllocationCallbacks,
6896 pSurface: *mut VkSurfaceKHR,
6897 ) -> VkResult,
6898>;
6899extern "system" {
6900 pub fn vkGetPhysicalDeviceDisplayPropertiesKHR(
6901 physicalDevice: VkPhysicalDevice,
6902 pPropertyCount: *mut u32,
6903 pProperties: *mut VkDisplayPropertiesKHR,
6904 ) -> VkResult;
6905}
6906extern "system" {
6907 pub fn vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
6908 physicalDevice: VkPhysicalDevice,
6909 pPropertyCount: *mut u32,
6910 pProperties: *mut VkDisplayPlanePropertiesKHR,
6911 ) -> VkResult;
6912}
6913extern "system" {
6914 pub fn vkGetDisplayPlaneSupportedDisplaysKHR(
6915 physicalDevice: VkPhysicalDevice,
6916 planeIndex: u32,
6917 pDisplayCount: *mut u32,
6918 pDisplays: *mut VkDisplayKHR,
6919 ) -> VkResult;
6920}
6921extern "system" {
6922 pub fn vkGetDisplayModePropertiesKHR(
6923 physicalDevice: VkPhysicalDevice,
6924 display: VkDisplayKHR,
6925 pPropertyCount: *mut u32,
6926 pProperties: *mut VkDisplayModePropertiesKHR,
6927 ) -> VkResult;
6928}
6929extern "system" {
6930 pub fn vkCreateDisplayModeKHR(
6931 physicalDevice: VkPhysicalDevice,
6932 display: VkDisplayKHR,
6933 pCreateInfo: *const VkDisplayModeCreateInfoKHR,
6934 pAllocator: *const VkAllocationCallbacks,
6935 pMode: *mut VkDisplayModeKHR,
6936 ) -> VkResult;
6937}
6938extern "system" {
6939 pub fn vkGetDisplayPlaneCapabilitiesKHR(
6940 physicalDevice: VkPhysicalDevice,
6941 mode: VkDisplayModeKHR,
6942 planeIndex: u32,
6943 pCapabilities: *mut VkDisplayPlaneCapabilitiesKHR,
6944 ) -> VkResult;
6945}
6946extern "system" {
6947 pub fn vkCreateDisplayPlaneSurfaceKHR(
6948 instance: VkInstance,
6949 pCreateInfo: *const VkDisplaySurfaceCreateInfoKHR,
6950 pAllocator: *const VkAllocationCallbacks,
6951 pSurface: *mut VkSurfaceKHR,
6952 ) -> VkResult;
6953}
6954#[repr(C)]
6955#[derive(Copy, Clone)]
6956pub struct VkDisplayPresentInfoKHR {
6957 pub sType: VkStructureType,
6958 pub pNext: *const ::std::os::raw::c_void,
6959 pub srcRect: VkRect2D,
6960 pub dstRect: VkRect2D,
6961 pub persistent: VkBool32,
6962}
6963pub type PFN_vkCreateSharedSwapchainsKHR = ::std::option::Option<
6964 unsafe extern "system" fn(
6965 device: VkDevice,
6966 swapchainCount: u32,
6967 pCreateInfos: *const VkSwapchainCreateInfoKHR,
6968 pAllocator: *const VkAllocationCallbacks,
6969 pSwapchains: *mut VkSwapchainKHR,
6970 ) -> VkResult,
6971>;
6972extern "system" {
6973 pub fn vkCreateSharedSwapchainsKHR(
6974 device: VkDevice,
6975 swapchainCount: u32,
6976 pCreateInfos: *const VkSwapchainCreateInfoKHR,
6977 pAllocator: *const VkAllocationCallbacks,
6978 pSwapchains: *mut VkSwapchainKHR,
6979 ) -> VkResult;
6980}
6981pub type VkRenderPassMultiviewCreateInfoKHR = VkRenderPassMultiviewCreateInfo;
6982pub type VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures;
6983pub type VkPhysicalDeviceMultiviewPropertiesKHR = VkPhysicalDeviceMultiviewProperties;
6984pub type VkPhysicalDeviceFeatures2KHR = VkPhysicalDeviceFeatures2;
6985pub type VkPhysicalDeviceProperties2KHR = VkPhysicalDeviceProperties2;
6986pub type VkFormatProperties2KHR = VkFormatProperties2;
6987pub type VkImageFormatProperties2KHR = VkImageFormatProperties2;
6988pub type VkPhysicalDeviceImageFormatInfo2KHR = VkPhysicalDeviceImageFormatInfo2;
6989pub type VkQueueFamilyProperties2KHR = VkQueueFamilyProperties2;
6990pub type VkPhysicalDeviceMemoryProperties2KHR = VkPhysicalDeviceMemoryProperties2;
6991pub type VkSparseImageFormatProperties2KHR = VkSparseImageFormatProperties2;
6992pub type VkPhysicalDeviceSparseImageFormatInfo2KHR = VkPhysicalDeviceSparseImageFormatInfo2;
6993pub type PFN_vkGetPhysicalDeviceFeatures2KHR = ::std::option::Option<
6994 unsafe extern "system" fn(
6995 physicalDevice: VkPhysicalDevice,
6996 pFeatures: *mut VkPhysicalDeviceFeatures2,
6997 ),
6998>;
6999pub type PFN_vkGetPhysicalDeviceProperties2KHR = ::std::option::Option<
7000 unsafe extern "system" fn(
7001 physicalDevice: VkPhysicalDevice,
7002 pProperties: *mut VkPhysicalDeviceProperties2,
7003 ),
7004>;
7005pub type PFN_vkGetPhysicalDeviceFormatProperties2KHR = ::std::option::Option<
7006 unsafe extern "system" fn(
7007 physicalDevice: VkPhysicalDevice,
7008 format: VkFormat,
7009 pFormatProperties: *mut VkFormatProperties2,
7010 ),
7011>;
7012pub type PFN_vkGetPhysicalDeviceImageFormatProperties2KHR = ::std::option::Option<
7013 unsafe extern "system" fn(
7014 physicalDevice: VkPhysicalDevice,
7015 pImageFormatInfo: *const VkPhysicalDeviceImageFormatInfo2,
7016 pImageFormatProperties: *mut VkImageFormatProperties2,
7017 ) -> VkResult,
7018>;
7019pub type PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR = ::std::option::Option<
7020 unsafe extern "system" fn(
7021 physicalDevice: VkPhysicalDevice,
7022 pQueueFamilyPropertyCount: *mut u32,
7023 pQueueFamilyProperties: *mut VkQueueFamilyProperties2,
7024 ),
7025>;
7026pub type PFN_vkGetPhysicalDeviceMemoryProperties2KHR = ::std::option::Option<
7027 unsafe extern "system" fn(
7028 physicalDevice: VkPhysicalDevice,
7029 pMemoryProperties: *mut VkPhysicalDeviceMemoryProperties2,
7030 ),
7031>;
7032pub type PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR = ::std::option::Option<
7033 unsafe extern "system" fn(
7034 physicalDevice: VkPhysicalDevice,
7035 pFormatInfo: *const VkPhysicalDeviceSparseImageFormatInfo2,
7036 pPropertyCount: *mut u32,
7037 pProperties: *mut VkSparseImageFormatProperties2,
7038 ),
7039>;
7040extern "system" {
7041 pub fn vkGetPhysicalDeviceFeatures2KHR(
7042 physicalDevice: VkPhysicalDevice,
7043 pFeatures: *mut VkPhysicalDeviceFeatures2,
7044 );
7045}
7046extern "system" {
7047 pub fn vkGetPhysicalDeviceProperties2KHR(
7048 physicalDevice: VkPhysicalDevice,
7049 pProperties: *mut VkPhysicalDeviceProperties2,
7050 );
7051}
7052extern "system" {
7053 pub fn vkGetPhysicalDeviceFormatProperties2KHR(
7054 physicalDevice: VkPhysicalDevice,
7055 format: VkFormat,
7056 pFormatProperties: *mut VkFormatProperties2,
7057 );
7058}
7059extern "system" {
7060 pub fn vkGetPhysicalDeviceImageFormatProperties2KHR(
7061 physicalDevice: VkPhysicalDevice,
7062 pImageFormatInfo: *const VkPhysicalDeviceImageFormatInfo2,
7063 pImageFormatProperties: *mut VkImageFormatProperties2,
7064 ) -> VkResult;
7065}
7066extern "system" {
7067 pub fn vkGetPhysicalDeviceQueueFamilyProperties2KHR(
7068 physicalDevice: VkPhysicalDevice,
7069 pQueueFamilyPropertyCount: *mut u32,
7070 pQueueFamilyProperties: *mut VkQueueFamilyProperties2,
7071 );
7072}
7073extern "system" {
7074 pub fn vkGetPhysicalDeviceMemoryProperties2KHR(
7075 physicalDevice: VkPhysicalDevice,
7076 pMemoryProperties: *mut VkPhysicalDeviceMemoryProperties2,
7077 );
7078}
7079extern "system" {
7080 pub fn vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
7081 physicalDevice: VkPhysicalDevice,
7082 pFormatInfo: *const VkPhysicalDeviceSparseImageFormatInfo2,
7083 pPropertyCount: *mut u32,
7084 pProperties: *mut VkSparseImageFormatProperties2,
7085 );
7086}
7087pub type VkPeerMemoryFeatureFlagsKHR = VkPeerMemoryFeatureFlags;
7088pub use self::VkPeerMemoryFeatureFlagBits as VkPeerMemoryFeatureFlagBitsKHR;
7089pub type VkMemoryAllocateFlagsKHR = VkMemoryAllocateFlags;
7090pub use self::VkMemoryAllocateFlagBits as VkMemoryAllocateFlagBitsKHR;
7091pub type VkMemoryAllocateFlagsInfoKHR = VkMemoryAllocateFlagsInfo;
7092pub type VkDeviceGroupRenderPassBeginInfoKHR = VkDeviceGroupRenderPassBeginInfo;
7093pub type VkDeviceGroupCommandBufferBeginInfoKHR = VkDeviceGroupCommandBufferBeginInfo;
7094pub type VkDeviceGroupSubmitInfoKHR = VkDeviceGroupSubmitInfo;
7095pub type VkDeviceGroupBindSparseInfoKHR = VkDeviceGroupBindSparseInfo;
7096pub type VkBindBufferMemoryDeviceGroupInfoKHR = VkBindBufferMemoryDeviceGroupInfo;
7097pub type VkBindImageMemoryDeviceGroupInfoKHR = VkBindImageMemoryDeviceGroupInfo;
7098pub type PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR = ::std::option::Option<
7099 unsafe extern "system" fn(
7100 device: VkDevice,
7101 heapIndex: u32,
7102 localDeviceIndex: u32,
7103 remoteDeviceIndex: u32,
7104 pPeerMemoryFeatures: *mut VkPeerMemoryFeatureFlags,
7105 ),
7106>;
7107pub type PFN_vkCmdSetDeviceMaskKHR = ::std::option::Option<
7108 unsafe extern "system" fn(commandBuffer: VkCommandBuffer, deviceMask: u32),
7109>;
7110pub type PFN_vkCmdDispatchBaseKHR = ::std::option::Option<
7111 unsafe extern "system" fn(
7112 commandBuffer: VkCommandBuffer,
7113 baseGroupX: u32,
7114 baseGroupY: u32,
7115 baseGroupZ: u32,
7116 groupCountX: u32,
7117 groupCountY: u32,
7118 groupCountZ: u32,
7119 ),
7120>;
7121extern "system" {
7122 pub fn vkGetDeviceGroupPeerMemoryFeaturesKHR(
7123 device: VkDevice,
7124 heapIndex: u32,
7125 localDeviceIndex: u32,
7126 remoteDeviceIndex: u32,
7127 pPeerMemoryFeatures: *mut VkPeerMemoryFeatureFlags,
7128 );
7129}
7130extern "system" {
7131 pub fn vkCmdSetDeviceMaskKHR(commandBuffer: VkCommandBuffer, deviceMask: u32);
7132}
7133extern "system" {
7134 pub fn vkCmdDispatchBaseKHR(
7135 commandBuffer: VkCommandBuffer,
7136 baseGroupX: u32,
7137 baseGroupY: u32,
7138 baseGroupZ: u32,
7139 groupCountX: u32,
7140 groupCountY: u32,
7141 groupCountZ: u32,
7142 );
7143}
7144pub type VkCommandPoolTrimFlagsKHR = VkCommandPoolTrimFlags;
7145pub type PFN_vkTrimCommandPoolKHR = ::std::option::Option<
7146 unsafe extern "system" fn(
7147 device: VkDevice,
7148 commandPool: VkCommandPool,
7149 flags: VkCommandPoolTrimFlags,
7150 ),
7151>;
7152extern "system" {
7153 pub fn vkTrimCommandPoolKHR(
7154 device: VkDevice,
7155 commandPool: VkCommandPool,
7156 flags: VkCommandPoolTrimFlags,
7157 );
7158}
7159pub type VkPhysicalDeviceGroupPropertiesKHR = VkPhysicalDeviceGroupProperties;
7160pub type VkDeviceGroupDeviceCreateInfoKHR = VkDeviceGroupDeviceCreateInfo;
7161pub type PFN_vkEnumeratePhysicalDeviceGroupsKHR = ::std::option::Option<
7162 unsafe extern "system" fn(
7163 instance: VkInstance,
7164 pPhysicalDeviceGroupCount: *mut u32,
7165 pPhysicalDeviceGroupProperties: *mut VkPhysicalDeviceGroupProperties,
7166 ) -> VkResult,
7167>;
7168extern "system" {
7169 pub fn vkEnumeratePhysicalDeviceGroupsKHR(
7170 instance: VkInstance,
7171 pPhysicalDeviceGroupCount: *mut u32,
7172 pPhysicalDeviceGroupProperties: *mut VkPhysicalDeviceGroupProperties,
7173 ) -> VkResult;
7174}
7175pub type VkExternalMemoryHandleTypeFlagsKHR = VkExternalMemoryHandleTypeFlags;
7176pub use self::VkExternalMemoryHandleTypeFlagBits as VkExternalMemoryHandleTypeFlagBitsKHR;
7177pub type VkExternalMemoryFeatureFlagsKHR = VkExternalMemoryFeatureFlags;
7178pub use self::VkExternalMemoryFeatureFlagBits as VkExternalMemoryFeatureFlagBitsKHR;
7179pub type VkExternalMemoryPropertiesKHR = VkExternalMemoryProperties;
7180pub type VkPhysicalDeviceExternalImageFormatInfoKHR = VkPhysicalDeviceExternalImageFormatInfo;
7181pub type VkExternalImageFormatPropertiesKHR = VkExternalImageFormatProperties;
7182pub type VkPhysicalDeviceExternalBufferInfoKHR = VkPhysicalDeviceExternalBufferInfo;
7183pub type VkExternalBufferPropertiesKHR = VkExternalBufferProperties;
7184pub type VkPhysicalDeviceIDPropertiesKHR = VkPhysicalDeviceIDProperties;
7185pub type PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR = ::std::option::Option<
7186 unsafe extern "system" fn(
7187 physicalDevice: VkPhysicalDevice,
7188 pExternalBufferInfo: *const VkPhysicalDeviceExternalBufferInfo,
7189 pExternalBufferProperties: *mut VkExternalBufferProperties,
7190 ),
7191>;
7192extern "system" {
7193 pub fn vkGetPhysicalDeviceExternalBufferPropertiesKHR(
7194 physicalDevice: VkPhysicalDevice,
7195 pExternalBufferInfo: *const VkPhysicalDeviceExternalBufferInfo,
7196 pExternalBufferProperties: *mut VkExternalBufferProperties,
7197 );
7198}
7199pub type VkExternalMemoryImageCreateInfoKHR = VkExternalMemoryImageCreateInfo;
7200pub type VkExternalMemoryBufferCreateInfoKHR = VkExternalMemoryBufferCreateInfo;
7201pub type VkExportMemoryAllocateInfoKHR = VkExportMemoryAllocateInfo;
7202#[repr(C)]
7203#[derive(Copy, Clone)]
7204pub struct VkImportMemoryFdInfoKHR {
7205 pub sType: VkStructureType,
7206 pub pNext: *const ::std::os::raw::c_void,
7207 pub handleType: VkExternalMemoryHandleTypeFlagBits,
7208 pub fd: ::std::os::raw::c_int,
7209}
7210#[repr(C)]
7211#[derive(Copy, Clone)]
7212pub struct VkMemoryFdPropertiesKHR {
7213 pub sType: VkStructureType,
7214 pub pNext: *mut ::std::os::raw::c_void,
7215 pub memoryTypeBits: u32,
7216}
7217#[repr(C)]
7218#[derive(Copy, Clone)]
7219pub struct VkMemoryGetFdInfoKHR {
7220 pub sType: VkStructureType,
7221 pub pNext: *const ::std::os::raw::c_void,
7222 pub memory: VkDeviceMemory,
7223 pub handleType: VkExternalMemoryHandleTypeFlagBits,
7224}
7225pub type PFN_vkGetMemoryFdKHR = ::std::option::Option<
7226 unsafe extern "system" fn(
7227 device: VkDevice,
7228 pGetFdInfo: *const VkMemoryGetFdInfoKHR,
7229 pFd: *mut ::std::os::raw::c_int,
7230 ) -> VkResult,
7231>;
7232pub type PFN_vkGetMemoryFdPropertiesKHR = ::std::option::Option<
7233 unsafe extern "system" fn(
7234 device: VkDevice,
7235 handleType: VkExternalMemoryHandleTypeFlagBits,
7236 fd: ::std::os::raw::c_int,
7237 pMemoryFdProperties: *mut VkMemoryFdPropertiesKHR,
7238 ) -> VkResult,
7239>;
7240extern "system" {
7241 pub fn vkGetMemoryFdKHR(
7242 device: VkDevice,
7243 pGetFdInfo: *const VkMemoryGetFdInfoKHR,
7244 pFd: *mut ::std::os::raw::c_int,
7245 ) -> VkResult;
7246}
7247extern "system" {
7248 pub fn vkGetMemoryFdPropertiesKHR(
7249 device: VkDevice,
7250 handleType: VkExternalMemoryHandleTypeFlagBits,
7251 fd: ::std::os::raw::c_int,
7252 pMemoryFdProperties: *mut VkMemoryFdPropertiesKHR,
7253 ) -> VkResult;
7254}
7255pub type VkExternalSemaphoreHandleTypeFlagsKHR = VkExternalSemaphoreHandleTypeFlags;
7256pub use self::VkExternalSemaphoreHandleTypeFlagBits as VkExternalSemaphoreHandleTypeFlagBitsKHR;
7257pub type VkExternalSemaphoreFeatureFlagsKHR = VkExternalSemaphoreFeatureFlags;
7258pub use self::VkExternalSemaphoreFeatureFlagBits as VkExternalSemaphoreFeatureFlagBitsKHR;
7259pub type VkPhysicalDeviceExternalSemaphoreInfoKHR = VkPhysicalDeviceExternalSemaphoreInfo;
7260pub type VkExternalSemaphorePropertiesKHR = VkExternalSemaphoreProperties;
7261pub type PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR = ::std::option::Option<
7262 unsafe extern "system" fn(
7263 physicalDevice: VkPhysicalDevice,
7264 pExternalSemaphoreInfo: *const VkPhysicalDeviceExternalSemaphoreInfo,
7265 pExternalSemaphoreProperties: *mut VkExternalSemaphoreProperties,
7266 ),
7267>;
7268extern "system" {
7269 pub fn vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
7270 physicalDevice: VkPhysicalDevice,
7271 pExternalSemaphoreInfo: *const VkPhysicalDeviceExternalSemaphoreInfo,
7272 pExternalSemaphoreProperties: *mut VkExternalSemaphoreProperties,
7273 );
7274}
7275pub type VkSemaphoreImportFlagsKHR = VkSemaphoreImportFlags;
7276pub use self::VkSemaphoreImportFlagBits as VkSemaphoreImportFlagBitsKHR;
7277pub type VkExportSemaphoreCreateInfoKHR = VkExportSemaphoreCreateInfo;
7278#[repr(C)]
7279#[derive(Copy, Clone)]
7280pub struct VkImportSemaphoreFdInfoKHR {
7281 pub sType: VkStructureType,
7282 pub pNext: *const ::std::os::raw::c_void,
7283 pub semaphore: VkSemaphore,
7284 pub flags: VkSemaphoreImportFlags,
7285 pub handleType: VkExternalSemaphoreHandleTypeFlagBits,
7286 pub fd: ::std::os::raw::c_int,
7287}
7288#[repr(C)]
7289#[derive(Copy, Clone)]
7290pub struct VkSemaphoreGetFdInfoKHR {
7291 pub sType: VkStructureType,
7292 pub pNext: *const ::std::os::raw::c_void,
7293 pub semaphore: VkSemaphore,
7294 pub handleType: VkExternalSemaphoreHandleTypeFlagBits,
7295}
7296pub type PFN_vkImportSemaphoreFdKHR = ::std::option::Option<
7297 unsafe extern "system" fn(
7298 device: VkDevice,
7299 pImportSemaphoreFdInfo: *const VkImportSemaphoreFdInfoKHR,
7300 ) -> VkResult,
7301>;
7302pub type PFN_vkGetSemaphoreFdKHR = ::std::option::Option<
7303 unsafe extern "system" fn(
7304 device: VkDevice,
7305 pGetFdInfo: *const VkSemaphoreGetFdInfoKHR,
7306 pFd: *mut ::std::os::raw::c_int,
7307 ) -> VkResult,
7308>;
7309extern "system" {
7310 pub fn vkImportSemaphoreFdKHR(
7311 device: VkDevice,
7312 pImportSemaphoreFdInfo: *const VkImportSemaphoreFdInfoKHR,
7313 ) -> VkResult;
7314}
7315extern "system" {
7316 pub fn vkGetSemaphoreFdKHR(
7317 device: VkDevice,
7318 pGetFdInfo: *const VkSemaphoreGetFdInfoKHR,
7319 pFd: *mut ::std::os::raw::c_int,
7320 ) -> VkResult;
7321}
7322#[repr(C)]
7323#[derive(Copy, Clone)]
7324pub struct VkPhysicalDevicePushDescriptorPropertiesKHR {
7325 pub sType: VkStructureType,
7326 pub pNext: *mut ::std::os::raw::c_void,
7327 pub maxPushDescriptors: u32,
7328}
7329pub type PFN_vkCmdPushDescriptorSetKHR = ::std::option::Option<
7330 unsafe extern "system" fn(
7331 commandBuffer: VkCommandBuffer,
7332 pipelineBindPoint: VkPipelineBindPoint,
7333 layout: VkPipelineLayout,
7334 set: u32,
7335 descriptorWriteCount: u32,
7336 pDescriptorWrites: *const VkWriteDescriptorSet,
7337 ),
7338>;
7339pub type PFN_vkCmdPushDescriptorSetWithTemplateKHR = ::std::option::Option<
7340 unsafe extern "system" fn(
7341 commandBuffer: VkCommandBuffer,
7342 descriptorUpdateTemplate: VkDescriptorUpdateTemplate,
7343 layout: VkPipelineLayout,
7344 set: u32,
7345 pData: *const ::std::os::raw::c_void,
7346 ),
7347>;
7348extern "system" {
7349 pub fn vkCmdPushDescriptorSetKHR(
7350 commandBuffer: VkCommandBuffer,
7351 pipelineBindPoint: VkPipelineBindPoint,
7352 layout: VkPipelineLayout,
7353 set: u32,
7354 descriptorWriteCount: u32,
7355 pDescriptorWrites: *const VkWriteDescriptorSet,
7356 );
7357}
7358extern "system" {
7359 pub fn vkCmdPushDescriptorSetWithTemplateKHR(
7360 commandBuffer: VkCommandBuffer,
7361 descriptorUpdateTemplate: VkDescriptorUpdateTemplate,
7362 layout: VkPipelineLayout,
7363 set: u32,
7364 pData: *const ::std::os::raw::c_void,
7365 );
7366}
7367#[repr(C)]
7368#[derive(Copy, Clone)]
7369pub struct VkPhysicalDeviceFloat16Int8FeaturesKHR {
7370 pub sType: VkStructureType,
7371 pub pNext: *mut ::std::os::raw::c_void,
7372 pub shaderFloat16: VkBool32,
7373 pub shaderInt8: VkBool32,
7374}
7375pub type VkPhysicalDevice16BitStorageFeaturesKHR = VkPhysicalDevice16BitStorageFeatures;
7376#[repr(C)]
7377#[derive(Copy, Clone)]
7378pub struct VkRectLayerKHR {
7379 pub offset: VkOffset2D,
7380 pub extent: VkExtent2D,
7381 pub layer: u32,
7382}
7383#[repr(C)]
7384#[derive(Copy, Clone)]
7385pub struct VkPresentRegionKHR {
7386 pub rectangleCount: u32,
7387 pub pRectangles: *const VkRectLayerKHR,
7388}
7389#[repr(C)]
7390#[derive(Copy, Clone)]
7391pub struct VkPresentRegionsKHR {
7392 pub sType: VkStructureType,
7393 pub pNext: *const ::std::os::raw::c_void,
7394 pub swapchainCount: u32,
7395 pub pRegions: *const VkPresentRegionKHR,
7396}
7397pub type VkDescriptorUpdateTemplateKHR = VkDescriptorUpdateTemplate;
7398pub use self::VkDescriptorUpdateTemplateType as VkDescriptorUpdateTemplateTypeKHR;
7399pub type VkDescriptorUpdateTemplateCreateFlagsKHR = VkDescriptorUpdateTemplateCreateFlags;
7400pub type VkDescriptorUpdateTemplateEntryKHR = VkDescriptorUpdateTemplateEntry;
7401pub type VkDescriptorUpdateTemplateCreateInfoKHR = VkDescriptorUpdateTemplateCreateInfo;
7402pub type PFN_vkCreateDescriptorUpdateTemplateKHR = ::std::option::Option<
7403 unsafe extern "system" fn(
7404 device: VkDevice,
7405 pCreateInfo: *const VkDescriptorUpdateTemplateCreateInfo,
7406 pAllocator: *const VkAllocationCallbacks,
7407 pDescriptorUpdateTemplate: *mut VkDescriptorUpdateTemplate,
7408 ) -> VkResult,
7409>;
7410pub type PFN_vkDestroyDescriptorUpdateTemplateKHR = ::std::option::Option<
7411 unsafe extern "system" fn(
7412 device: VkDevice,
7413 descriptorUpdateTemplate: VkDescriptorUpdateTemplate,
7414 pAllocator: *const VkAllocationCallbacks,
7415 ),
7416>;
7417pub type PFN_vkUpdateDescriptorSetWithTemplateKHR = ::std::option::Option<
7418 unsafe extern "system" fn(
7419 device: VkDevice,
7420 descriptorSet: VkDescriptorSet,
7421 descriptorUpdateTemplate: VkDescriptorUpdateTemplate,
7422 pData: *const ::std::os::raw::c_void,
7423 ),
7424>;
7425extern "system" {
7426 pub fn vkCreateDescriptorUpdateTemplateKHR(
7427 device: VkDevice,
7428 pCreateInfo: *const VkDescriptorUpdateTemplateCreateInfo,
7429 pAllocator: *const VkAllocationCallbacks,
7430 pDescriptorUpdateTemplate: *mut VkDescriptorUpdateTemplate,
7431 ) -> VkResult;
7432}
7433extern "system" {
7434 pub fn vkDestroyDescriptorUpdateTemplateKHR(
7435 device: VkDevice,
7436 descriptorUpdateTemplate: VkDescriptorUpdateTemplate,
7437 pAllocator: *const VkAllocationCallbacks,
7438 );
7439}
7440extern "system" {
7441 pub fn vkUpdateDescriptorSetWithTemplateKHR(
7442 device: VkDevice,
7443 descriptorSet: VkDescriptorSet,
7444 descriptorUpdateTemplate: VkDescriptorUpdateTemplate,
7445 pData: *const ::std::os::raw::c_void,
7446 );
7447}
7448#[repr(C)]
7449#[derive(Copy, Clone)]
7450pub struct VkAttachmentDescription2KHR {
7451 pub sType: VkStructureType,
7452 pub pNext: *const ::std::os::raw::c_void,
7453 pub flags: VkAttachmentDescriptionFlags,
7454 pub format: VkFormat,
7455 pub samples: VkSampleCountFlagBits,
7456 pub loadOp: VkAttachmentLoadOp,
7457 pub storeOp: VkAttachmentStoreOp,
7458 pub stencilLoadOp: VkAttachmentLoadOp,
7459 pub stencilStoreOp: VkAttachmentStoreOp,
7460 pub initialLayout: VkImageLayout,
7461 pub finalLayout: VkImageLayout,
7462}
7463#[repr(C)]
7464#[derive(Copy, Clone)]
7465pub struct VkAttachmentReference2KHR {
7466 pub sType: VkStructureType,
7467 pub pNext: *const ::std::os::raw::c_void,
7468 pub attachment: u32,
7469 pub layout: VkImageLayout,
7470 pub aspectMask: VkImageAspectFlags,
7471}
7472#[repr(C)]
7473#[derive(Copy, Clone)]
7474pub struct VkSubpassDescription2KHR {
7475 pub sType: VkStructureType,
7476 pub pNext: *const ::std::os::raw::c_void,
7477 pub flags: VkSubpassDescriptionFlags,
7478 pub pipelineBindPoint: VkPipelineBindPoint,
7479 pub viewMask: u32,
7480 pub inputAttachmentCount: u32,
7481 pub pInputAttachments: *const VkAttachmentReference2KHR,
7482 pub colorAttachmentCount: u32,
7483 pub pColorAttachments: *const VkAttachmentReference2KHR,
7484 pub pResolveAttachments: *const VkAttachmentReference2KHR,
7485 pub pDepthStencilAttachment: *const VkAttachmentReference2KHR,
7486 pub preserveAttachmentCount: u32,
7487 pub pPreserveAttachments: *const u32,
7488}
7489#[repr(C)]
7490#[derive(Copy, Clone)]
7491pub struct VkSubpassDependency2KHR {
7492 pub sType: VkStructureType,
7493 pub pNext: *const ::std::os::raw::c_void,
7494 pub srcSubpass: u32,
7495 pub dstSubpass: u32,
7496 pub srcStageMask: VkPipelineStageFlags,
7497 pub dstStageMask: VkPipelineStageFlags,
7498 pub srcAccessMask: VkAccessFlags,
7499 pub dstAccessMask: VkAccessFlags,
7500 pub dependencyFlags: VkDependencyFlags,
7501 pub viewOffset: i32,
7502}
7503#[repr(C)]
7504#[derive(Copy, Clone)]
7505pub struct VkRenderPassCreateInfo2KHR {
7506 pub sType: VkStructureType,
7507 pub pNext: *const ::std::os::raw::c_void,
7508 pub flags: VkRenderPassCreateFlags,
7509 pub attachmentCount: u32,
7510 pub pAttachments: *const VkAttachmentDescription2KHR,
7511 pub subpassCount: u32,
7512 pub pSubpasses: *const VkSubpassDescription2KHR,
7513 pub dependencyCount: u32,
7514 pub pDependencies: *const VkSubpassDependency2KHR,
7515 pub correlatedViewMaskCount: u32,
7516 pub pCorrelatedViewMasks: *const u32,
7517}
7518#[repr(C)]
7519#[derive(Copy, Clone)]
7520pub struct VkSubpassBeginInfoKHR {
7521 pub sType: VkStructureType,
7522 pub pNext: *const ::std::os::raw::c_void,
7523 pub contents: VkSubpassContents,
7524}
7525#[repr(C)]
7526#[derive(Copy, Clone)]
7527pub struct VkSubpassEndInfoKHR {
7528 pub sType: VkStructureType,
7529 pub pNext: *const ::std::os::raw::c_void,
7530}
7531pub type PFN_vkCreateRenderPass2KHR = ::std::option::Option<
7532 unsafe extern "system" fn(
7533 device: VkDevice,
7534 pCreateInfo: *const VkRenderPassCreateInfo2KHR,
7535 pAllocator: *const VkAllocationCallbacks,
7536 pRenderPass: *mut VkRenderPass,
7537 ) -> VkResult,
7538>;
7539pub type PFN_vkCmdBeginRenderPass2KHR = ::std::option::Option<
7540 unsafe extern "system" fn(
7541 commandBuffer: VkCommandBuffer,
7542 pRenderPassBegin: *const VkRenderPassBeginInfo,
7543 pSubpassBeginInfo: *const VkSubpassBeginInfoKHR,
7544 ),
7545>;
7546pub type PFN_vkCmdNextSubpass2KHR = ::std::option::Option<
7547 unsafe extern "system" fn(
7548 commandBuffer: VkCommandBuffer,
7549 pSubpassBeginInfo: *const VkSubpassBeginInfoKHR,
7550 pSubpassEndInfo: *const VkSubpassEndInfoKHR,
7551 ),
7552>;
7553pub type PFN_vkCmdEndRenderPass2KHR = ::std::option::Option<
7554 unsafe extern "system" fn(
7555 commandBuffer: VkCommandBuffer,
7556 pSubpassEndInfo: *const VkSubpassEndInfoKHR,
7557 ),
7558>;
7559extern "system" {
7560 pub fn vkCreateRenderPass2KHR(
7561 device: VkDevice,
7562 pCreateInfo: *const VkRenderPassCreateInfo2KHR,
7563 pAllocator: *const VkAllocationCallbacks,
7564 pRenderPass: *mut VkRenderPass,
7565 ) -> VkResult;
7566}
7567extern "system" {
7568 pub fn vkCmdBeginRenderPass2KHR(
7569 commandBuffer: VkCommandBuffer,
7570 pRenderPassBegin: *const VkRenderPassBeginInfo,
7571 pSubpassBeginInfo: *const VkSubpassBeginInfoKHR,
7572 );
7573}
7574extern "system" {
7575 pub fn vkCmdNextSubpass2KHR(
7576 commandBuffer: VkCommandBuffer,
7577 pSubpassBeginInfo: *const VkSubpassBeginInfoKHR,
7578 pSubpassEndInfo: *const VkSubpassEndInfoKHR,
7579 );
7580}
7581extern "system" {
7582 pub fn vkCmdEndRenderPass2KHR(
7583 commandBuffer: VkCommandBuffer,
7584 pSubpassEndInfo: *const VkSubpassEndInfoKHR,
7585 );
7586}
7587#[repr(C)]
7588#[derive(Copy, Clone)]
7589pub struct VkSharedPresentSurfaceCapabilitiesKHR {
7590 pub sType: VkStructureType,
7591 pub pNext: *mut ::std::os::raw::c_void,
7592 pub sharedPresentSupportedUsageFlags: VkImageUsageFlags,
7593}
7594pub type PFN_vkGetSwapchainStatusKHR = ::std::option::Option<
7595 unsafe extern "system" fn(device: VkDevice, swapchain: VkSwapchainKHR) -> VkResult,
7596>;
7597extern "system" {
7598 pub fn vkGetSwapchainStatusKHR(device: VkDevice, swapchain: VkSwapchainKHR) -> VkResult;
7599}
7600pub type VkExternalFenceHandleTypeFlagsKHR = VkExternalFenceHandleTypeFlags;
7601pub use self::VkExternalFenceHandleTypeFlagBits as VkExternalFenceHandleTypeFlagBitsKHR;
7602pub type VkExternalFenceFeatureFlagsKHR = VkExternalFenceFeatureFlags;
7603pub use self::VkExternalFenceFeatureFlagBits as VkExternalFenceFeatureFlagBitsKHR;
7604pub type VkPhysicalDeviceExternalFenceInfoKHR = VkPhysicalDeviceExternalFenceInfo;
7605pub type VkExternalFencePropertiesKHR = VkExternalFenceProperties;
7606pub type PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR = ::std::option::Option<
7607 unsafe extern "system" fn(
7608 physicalDevice: VkPhysicalDevice,
7609 pExternalFenceInfo: *const VkPhysicalDeviceExternalFenceInfo,
7610 pExternalFenceProperties: *mut VkExternalFenceProperties,
7611 ),
7612>;
7613extern "system" {
7614 pub fn vkGetPhysicalDeviceExternalFencePropertiesKHR(
7615 physicalDevice: VkPhysicalDevice,
7616 pExternalFenceInfo: *const VkPhysicalDeviceExternalFenceInfo,
7617 pExternalFenceProperties: *mut VkExternalFenceProperties,
7618 );
7619}
7620pub type VkFenceImportFlagsKHR = VkFenceImportFlags;
7621pub use self::VkFenceImportFlagBits as VkFenceImportFlagBitsKHR;
7622pub type VkExportFenceCreateInfoKHR = VkExportFenceCreateInfo;
7623#[repr(C)]
7624#[derive(Copy, Clone)]
7625pub struct VkImportFenceFdInfoKHR {
7626 pub sType: VkStructureType,
7627 pub pNext: *const ::std::os::raw::c_void,
7628 pub fence: VkFence,
7629 pub flags: VkFenceImportFlags,
7630 pub handleType: VkExternalFenceHandleTypeFlagBits,
7631 pub fd: ::std::os::raw::c_int,
7632}
7633#[repr(C)]
7634#[derive(Copy, Clone)]
7635pub struct VkFenceGetFdInfoKHR {
7636 pub sType: VkStructureType,
7637 pub pNext: *const ::std::os::raw::c_void,
7638 pub fence: VkFence,
7639 pub handleType: VkExternalFenceHandleTypeFlagBits,
7640}
7641pub type PFN_vkImportFenceFdKHR = ::std::option::Option<
7642 unsafe extern "system" fn(
7643 device: VkDevice,
7644 pImportFenceFdInfo: *const VkImportFenceFdInfoKHR,
7645 ) -> VkResult,
7646>;
7647pub type PFN_vkGetFenceFdKHR = ::std::option::Option<
7648 unsafe extern "system" fn(
7649 device: VkDevice,
7650 pGetFdInfo: *const VkFenceGetFdInfoKHR,
7651 pFd: *mut ::std::os::raw::c_int,
7652 ) -> VkResult,
7653>;
7654extern "system" {
7655 pub fn vkImportFenceFdKHR(
7656 device: VkDevice,
7657 pImportFenceFdInfo: *const VkImportFenceFdInfoKHR,
7658 ) -> VkResult;
7659}
7660extern "system" {
7661 pub fn vkGetFenceFdKHR(
7662 device: VkDevice,
7663 pGetFdInfo: *const VkFenceGetFdInfoKHR,
7664 pFd: *mut ::std::os::raw::c_int,
7665 ) -> VkResult;
7666}
7667pub use self::VkPointClippingBehavior as VkPointClippingBehaviorKHR;
7668pub use self::VkTessellationDomainOrigin as VkTessellationDomainOriginKHR;
7669pub type VkPhysicalDevicePointClippingPropertiesKHR = VkPhysicalDevicePointClippingProperties;
7670pub type VkRenderPassInputAttachmentAspectCreateInfoKHR =
7671 VkRenderPassInputAttachmentAspectCreateInfo;
7672pub type VkInputAttachmentAspectReferenceKHR = VkInputAttachmentAspectReference;
7673pub type VkImageViewUsageCreateInfoKHR = VkImageViewUsageCreateInfo;
7674pub type VkPipelineTessellationDomainOriginStateCreateInfoKHR =
7675 VkPipelineTessellationDomainOriginStateCreateInfo;
7676#[repr(C)]
7677#[derive(Copy, Clone)]
7678pub struct VkPhysicalDeviceSurfaceInfo2KHR {
7679 pub sType: VkStructureType,
7680 pub pNext: *const ::std::os::raw::c_void,
7681 pub surface: VkSurfaceKHR,
7682}
7683#[repr(C)]
7684#[derive(Copy, Clone)]
7685pub struct VkSurfaceCapabilities2KHR {
7686 pub sType: VkStructureType,
7687 pub pNext: *mut ::std::os::raw::c_void,
7688 pub surfaceCapabilities: VkSurfaceCapabilitiesKHR,
7689}
7690#[repr(C)]
7691#[derive(Copy, Clone)]
7692pub struct VkSurfaceFormat2KHR {
7693 pub sType: VkStructureType,
7694 pub pNext: *mut ::std::os::raw::c_void,
7695 pub surfaceFormat: VkSurfaceFormatKHR,
7696}
7697pub type PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR = ::std::option::Option<
7698 unsafe extern "system" fn(
7699 physicalDevice: VkPhysicalDevice,
7700 pSurfaceInfo: *const VkPhysicalDeviceSurfaceInfo2KHR,
7701 pSurfaceCapabilities: *mut VkSurfaceCapabilities2KHR,
7702 ) -> VkResult,
7703>;
7704pub type PFN_vkGetPhysicalDeviceSurfaceFormats2KHR = ::std::option::Option<
7705 unsafe extern "system" fn(
7706 physicalDevice: VkPhysicalDevice,
7707 pSurfaceInfo: *const VkPhysicalDeviceSurfaceInfo2KHR,
7708 pSurfaceFormatCount: *mut u32,
7709 pSurfaceFormats: *mut VkSurfaceFormat2KHR,
7710 ) -> VkResult,
7711>;
7712extern "system" {
7713 pub fn vkGetPhysicalDeviceSurfaceCapabilities2KHR(
7714 physicalDevice: VkPhysicalDevice,
7715 pSurfaceInfo: *const VkPhysicalDeviceSurfaceInfo2KHR,
7716 pSurfaceCapabilities: *mut VkSurfaceCapabilities2KHR,
7717 ) -> VkResult;
7718}
7719extern "system" {
7720 pub fn vkGetPhysicalDeviceSurfaceFormats2KHR(
7721 physicalDevice: VkPhysicalDevice,
7722 pSurfaceInfo: *const VkPhysicalDeviceSurfaceInfo2KHR,
7723 pSurfaceFormatCount: *mut u32,
7724 pSurfaceFormats: *mut VkSurfaceFormat2KHR,
7725 ) -> VkResult;
7726}
7727pub type VkPhysicalDeviceVariablePointerFeaturesKHR = VkPhysicalDeviceVariablePointersFeatures;
7728pub type VkPhysicalDeviceVariablePointersFeaturesKHR = VkPhysicalDeviceVariablePointersFeatures;
7729#[repr(C)]
7730#[derive(Copy, Clone)]
7731pub struct VkDisplayProperties2KHR {
7732 pub sType: VkStructureType,
7733 pub pNext: *mut ::std::os::raw::c_void,
7734 pub displayProperties: VkDisplayPropertiesKHR,
7735}
7736#[repr(C)]
7737#[derive(Copy, Clone)]
7738pub struct VkDisplayPlaneProperties2KHR {
7739 pub sType: VkStructureType,
7740 pub pNext: *mut ::std::os::raw::c_void,
7741 pub displayPlaneProperties: VkDisplayPlanePropertiesKHR,
7742}
7743#[repr(C)]
7744#[derive(Copy, Clone)]
7745pub struct VkDisplayModeProperties2KHR {
7746 pub sType: VkStructureType,
7747 pub pNext: *mut ::std::os::raw::c_void,
7748 pub displayModeProperties: VkDisplayModePropertiesKHR,
7749}
7750#[repr(C)]
7751#[derive(Copy, Clone)]
7752pub struct VkDisplayPlaneInfo2KHR {
7753 pub sType: VkStructureType,
7754 pub pNext: *const ::std::os::raw::c_void,
7755 pub mode: VkDisplayModeKHR,
7756 pub planeIndex: u32,
7757}
7758#[repr(C)]
7759#[derive(Copy, Clone)]
7760pub struct VkDisplayPlaneCapabilities2KHR {
7761 pub sType: VkStructureType,
7762 pub pNext: *mut ::std::os::raw::c_void,
7763 pub capabilities: VkDisplayPlaneCapabilitiesKHR,
7764}
7765pub type PFN_vkGetPhysicalDeviceDisplayProperties2KHR = ::std::option::Option<
7766 unsafe extern "system" fn(
7767 physicalDevice: VkPhysicalDevice,
7768 pPropertyCount: *mut u32,
7769 pProperties: *mut VkDisplayProperties2KHR,
7770 ) -> VkResult,
7771>;
7772pub type PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR = ::std::option::Option<
7773 unsafe extern "system" fn(
7774 physicalDevice: VkPhysicalDevice,
7775 pPropertyCount: *mut u32,
7776 pProperties: *mut VkDisplayPlaneProperties2KHR,
7777 ) -> VkResult,
7778>;
7779pub type PFN_vkGetDisplayModeProperties2KHR = ::std::option::Option<
7780 unsafe extern "system" fn(
7781 physicalDevice: VkPhysicalDevice,
7782 display: VkDisplayKHR,
7783 pPropertyCount: *mut u32,
7784 pProperties: *mut VkDisplayModeProperties2KHR,
7785 ) -> VkResult,
7786>;
7787pub type PFN_vkGetDisplayPlaneCapabilities2KHR = ::std::option::Option<
7788 unsafe extern "system" fn(
7789 physicalDevice: VkPhysicalDevice,
7790 pDisplayPlaneInfo: *const VkDisplayPlaneInfo2KHR,
7791 pCapabilities: *mut VkDisplayPlaneCapabilities2KHR,
7792 ) -> VkResult,
7793>;
7794extern "system" {
7795 pub fn vkGetPhysicalDeviceDisplayProperties2KHR(
7796 physicalDevice: VkPhysicalDevice,
7797 pPropertyCount: *mut u32,
7798 pProperties: *mut VkDisplayProperties2KHR,
7799 ) -> VkResult;
7800}
7801extern "system" {
7802 pub fn vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
7803 physicalDevice: VkPhysicalDevice,
7804 pPropertyCount: *mut u32,
7805 pProperties: *mut VkDisplayPlaneProperties2KHR,
7806 ) -> VkResult;
7807}
7808extern "system" {
7809 pub fn vkGetDisplayModeProperties2KHR(
7810 physicalDevice: VkPhysicalDevice,
7811 display: VkDisplayKHR,
7812 pPropertyCount: *mut u32,
7813 pProperties: *mut VkDisplayModeProperties2KHR,
7814 ) -> VkResult;
7815}
7816extern "system" {
7817 pub fn vkGetDisplayPlaneCapabilities2KHR(
7818 physicalDevice: VkPhysicalDevice,
7819 pDisplayPlaneInfo: *const VkDisplayPlaneInfo2KHR,
7820 pCapabilities: *mut VkDisplayPlaneCapabilities2KHR,
7821 ) -> VkResult;
7822}
7823pub type VkMemoryDedicatedRequirementsKHR = VkMemoryDedicatedRequirements;
7824pub type VkMemoryDedicatedAllocateInfoKHR = VkMemoryDedicatedAllocateInfo;
7825pub type VkBufferMemoryRequirementsInfo2KHR = VkBufferMemoryRequirementsInfo2;
7826pub type VkImageMemoryRequirementsInfo2KHR = VkImageMemoryRequirementsInfo2;
7827pub type VkImageSparseMemoryRequirementsInfo2KHR = VkImageSparseMemoryRequirementsInfo2;
7828pub type VkSparseImageMemoryRequirements2KHR = VkSparseImageMemoryRequirements2;
7829pub type PFN_vkGetImageMemoryRequirements2KHR = ::std::option::Option<
7830 unsafe extern "system" fn(
7831 device: VkDevice,
7832 pInfo: *const VkImageMemoryRequirementsInfo2,
7833 pMemoryRequirements: *mut VkMemoryRequirements2,
7834 ),
7835>;
7836pub type PFN_vkGetBufferMemoryRequirements2KHR = ::std::option::Option<
7837 unsafe extern "system" fn(
7838 device: VkDevice,
7839 pInfo: *const VkBufferMemoryRequirementsInfo2,
7840 pMemoryRequirements: *mut VkMemoryRequirements2,
7841 ),
7842>;
7843pub type PFN_vkGetImageSparseMemoryRequirements2KHR = ::std::option::Option<
7844 unsafe extern "system" fn(
7845 device: VkDevice,
7846 pInfo: *const VkImageSparseMemoryRequirementsInfo2,
7847 pSparseMemoryRequirementCount: *mut u32,
7848 pSparseMemoryRequirements: *mut VkSparseImageMemoryRequirements2,
7849 ),
7850>;
7851extern "system" {
7852 pub fn vkGetImageMemoryRequirements2KHR(
7853 device: VkDevice,
7854 pInfo: *const VkImageMemoryRequirementsInfo2,
7855 pMemoryRequirements: *mut VkMemoryRequirements2,
7856 );
7857}
7858extern "system" {
7859 pub fn vkGetBufferMemoryRequirements2KHR(
7860 device: VkDevice,
7861 pInfo: *const VkBufferMemoryRequirementsInfo2,
7862 pMemoryRequirements: *mut VkMemoryRequirements2,
7863 );
7864}
7865extern "system" {
7866 pub fn vkGetImageSparseMemoryRequirements2KHR(
7867 device: VkDevice,
7868 pInfo: *const VkImageSparseMemoryRequirementsInfo2,
7869 pSparseMemoryRequirementCount: *mut u32,
7870 pSparseMemoryRequirements: *mut VkSparseImageMemoryRequirements2,
7871 );
7872}
7873#[repr(C)]
7874#[derive(Copy, Clone)]
7875pub struct VkImageFormatListCreateInfoKHR {
7876 pub sType: VkStructureType,
7877 pub pNext: *const ::std::os::raw::c_void,
7878 pub viewFormatCount: u32,
7879 pub pViewFormats: *const VkFormat,
7880}
7881pub type VkSamplerYcbcrConversionKHR = VkSamplerYcbcrConversion;
7882pub use self::VkChromaLocation as VkChromaLocationKHR;
7883pub use self::VkSamplerYcbcrModelConversion as VkSamplerYcbcrModelConversionKHR;
7884pub use self::VkSamplerYcbcrRange as VkSamplerYcbcrRangeKHR;
7885pub type VkSamplerYcbcrConversionCreateInfoKHR = VkSamplerYcbcrConversionCreateInfo;
7886pub type VkSamplerYcbcrConversionInfoKHR = VkSamplerYcbcrConversionInfo;
7887pub type VkBindImagePlaneMemoryInfoKHR = VkBindImagePlaneMemoryInfo;
7888pub type VkImagePlaneMemoryRequirementsInfoKHR = VkImagePlaneMemoryRequirementsInfo;
7889pub type VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR =
7890 VkPhysicalDeviceSamplerYcbcrConversionFeatures;
7891pub type VkSamplerYcbcrConversionImageFormatPropertiesKHR =
7892 VkSamplerYcbcrConversionImageFormatProperties;
7893pub type PFN_vkCreateSamplerYcbcrConversionKHR = ::std::option::Option<
7894 unsafe extern "system" fn(
7895 device: VkDevice,
7896 pCreateInfo: *const VkSamplerYcbcrConversionCreateInfo,
7897 pAllocator: *const VkAllocationCallbacks,
7898 pYcbcrConversion: *mut VkSamplerYcbcrConversion,
7899 ) -> VkResult,
7900>;
7901pub type PFN_vkDestroySamplerYcbcrConversionKHR = ::std::option::Option<
7902 unsafe extern "system" fn(
7903 device: VkDevice,
7904 ycbcrConversion: VkSamplerYcbcrConversion,
7905 pAllocator: *const VkAllocationCallbacks,
7906 ),
7907>;
7908extern "system" {
7909 pub fn vkCreateSamplerYcbcrConversionKHR(
7910 device: VkDevice,
7911 pCreateInfo: *const VkSamplerYcbcrConversionCreateInfo,
7912 pAllocator: *const VkAllocationCallbacks,
7913 pYcbcrConversion: *mut VkSamplerYcbcrConversion,
7914 ) -> VkResult;
7915}
7916extern "system" {
7917 pub fn vkDestroySamplerYcbcrConversionKHR(
7918 device: VkDevice,
7919 ycbcrConversion: VkSamplerYcbcrConversion,
7920 pAllocator: *const VkAllocationCallbacks,
7921 );
7922}
7923pub type VkBindBufferMemoryInfoKHR = VkBindBufferMemoryInfo;
7924pub type VkBindImageMemoryInfoKHR = VkBindImageMemoryInfo;
7925pub type PFN_vkBindBufferMemory2KHR = ::std::option::Option<
7926 unsafe extern "system" fn(
7927 device: VkDevice,
7928 bindInfoCount: u32,
7929 pBindInfos: *const VkBindBufferMemoryInfo,
7930 ) -> VkResult,
7931>;
7932pub type PFN_vkBindImageMemory2KHR = ::std::option::Option<
7933 unsafe extern "system" fn(
7934 device: VkDevice,
7935 bindInfoCount: u32,
7936 pBindInfos: *const VkBindImageMemoryInfo,
7937 ) -> VkResult,
7938>;
7939extern "system" {
7940 pub fn vkBindBufferMemory2KHR(
7941 device: VkDevice,
7942 bindInfoCount: u32,
7943 pBindInfos: *const VkBindBufferMemoryInfo,
7944 ) -> VkResult;
7945}
7946extern "system" {
7947 pub fn vkBindImageMemory2KHR(
7948 device: VkDevice,
7949 bindInfoCount: u32,
7950 pBindInfos: *const VkBindImageMemoryInfo,
7951 ) -> VkResult;
7952}
7953pub type VkPhysicalDeviceMaintenance3PropertiesKHR = VkPhysicalDeviceMaintenance3Properties;
7954pub type VkDescriptorSetLayoutSupportKHR = VkDescriptorSetLayoutSupport;
7955pub type PFN_vkGetDescriptorSetLayoutSupportKHR = ::std::option::Option<
7956 unsafe extern "system" fn(
7957 device: VkDevice,
7958 pCreateInfo: *const VkDescriptorSetLayoutCreateInfo,
7959 pSupport: *mut VkDescriptorSetLayoutSupport,
7960 ),
7961>;
7962extern "system" {
7963 pub fn vkGetDescriptorSetLayoutSupportKHR(
7964 device: VkDevice,
7965 pCreateInfo: *const VkDescriptorSetLayoutCreateInfo,
7966 pSupport: *mut VkDescriptorSetLayoutSupport,
7967 );
7968}
7969pub type PFN_vkCmdDrawIndirectCountKHR = ::std::option::Option<
7970 unsafe extern "system" fn(
7971 commandBuffer: VkCommandBuffer,
7972 buffer: VkBuffer,
7973 offset: VkDeviceSize,
7974 countBuffer: VkBuffer,
7975 countBufferOffset: VkDeviceSize,
7976 maxDrawCount: u32,
7977 stride: u32,
7978 ),
7979>;
7980pub type PFN_vkCmdDrawIndexedIndirectCountKHR = ::std::option::Option<
7981 unsafe extern "system" fn(
7982 commandBuffer: VkCommandBuffer,
7983 buffer: VkBuffer,
7984 offset: VkDeviceSize,
7985 countBuffer: VkBuffer,
7986 countBufferOffset: VkDeviceSize,
7987 maxDrawCount: u32,
7988 stride: u32,
7989 ),
7990>;
7991extern "system" {
7992 pub fn vkCmdDrawIndirectCountKHR(
7993 commandBuffer: VkCommandBuffer,
7994 buffer: VkBuffer,
7995 offset: VkDeviceSize,
7996 countBuffer: VkBuffer,
7997 countBufferOffset: VkDeviceSize,
7998 maxDrawCount: u32,
7999 stride: u32,
8000 );
8001}
8002extern "system" {
8003 pub fn vkCmdDrawIndexedIndirectCountKHR(
8004 commandBuffer: VkCommandBuffer,
8005 buffer: VkBuffer,
8006 offset: VkDeviceSize,
8007 countBuffer: VkBuffer,
8008 countBufferOffset: VkDeviceSize,
8009 maxDrawCount: u32,
8010 stride: u32,
8011 );
8012}
8013#[repr(C)]
8014#[derive(Copy, Clone)]
8015pub struct VkPhysicalDevice8BitStorageFeaturesKHR {
8016 pub sType: VkStructureType,
8017 pub pNext: *mut ::std::os::raw::c_void,
8018 pub storageBuffer8BitAccess: VkBool32,
8019 pub uniformAndStorageBuffer8BitAccess: VkBool32,
8020 pub storagePushConstant8: VkBool32,
8021}
8022#[repr(C)]
8023#[derive(Copy, Clone)]
8024pub struct VkPhysicalDeviceShaderAtomicInt64FeaturesKHR {
8025 pub sType: VkStructureType,
8026 pub pNext: *mut ::std::os::raw::c_void,
8027 pub shaderBufferInt64Atomics: VkBool32,
8028 pub shaderSharedInt64Atomics: VkBool32,
8029}
8030pub const VK_DRIVER_ID_AMD_PROPRIETARY_KHR: VkDriverIdKHR = 1;
8031pub const VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR: VkDriverIdKHR = 2;
8032pub const VK_DRIVER_ID_MESA_RADV_KHR: VkDriverIdKHR = 3;
8033pub const VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR: VkDriverIdKHR = 4;
8034pub const VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR: VkDriverIdKHR = 5;
8035pub const VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR: VkDriverIdKHR = 6;
8036pub const VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR: VkDriverIdKHR = 7;
8037pub const VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR: VkDriverIdKHR = 8;
8038pub const VK_DRIVER_ID_ARM_PROPRIETARY_KHR: VkDriverIdKHR = 9;
8039pub const VK_DRIVER_ID_GOOGLE_PASTEL_KHR: VkDriverIdKHR = 10;
8040pub const VK_DRIVER_ID_GGP_PROPRIETARY_KHR: VkDriverIdKHR = 11;
8041pub const VK_DRIVER_ID_BEGIN_RANGE_KHR: VkDriverIdKHR = 1;
8042pub const VK_DRIVER_ID_END_RANGE_KHR: VkDriverIdKHR = 11;
8043pub const VK_DRIVER_ID_RANGE_SIZE_KHR: VkDriverIdKHR = 11;
8044pub const VK_DRIVER_ID_MAX_ENUM_KHR: VkDriverIdKHR = 2147483647;
8045pub type VkDriverIdKHR = i32;
8046#[repr(C)]
8047#[derive(Copy, Clone)]
8048pub struct VkConformanceVersionKHR {
8049 pub major: u8,
8050 pub minor: u8,
8051 pub subminor: u8,
8052 pub patch: u8,
8053}
8054#[repr(C)]
8055#[derive(Copy, Clone)]
8056pub struct VkPhysicalDeviceDriverPropertiesKHR {
8057 pub sType: VkStructureType,
8058 pub pNext: *mut ::std::os::raw::c_void,
8059 pub driverID: VkDriverIdKHR,
8060 pub driverName: [::std::os::raw::c_char; 256usize],
8061 pub driverInfo: [::std::os::raw::c_char; 256usize],
8062 pub conformanceVersion: VkConformanceVersionKHR,
8063}
8064#[repr(C)]
8065#[derive(Copy, Clone)]
8066pub struct VkPhysicalDeviceFloatControlsPropertiesKHR {
8067 pub sType: VkStructureType,
8068 pub pNext: *mut ::std::os::raw::c_void,
8069 pub separateDenormSettings: VkBool32,
8070 pub separateRoundingModeSettings: VkBool32,
8071 pub shaderSignedZeroInfNanPreserveFloat16: VkBool32,
8072 pub shaderSignedZeroInfNanPreserveFloat32: VkBool32,
8073 pub shaderSignedZeroInfNanPreserveFloat64: VkBool32,
8074 pub shaderDenormPreserveFloat16: VkBool32,
8075 pub shaderDenormPreserveFloat32: VkBool32,
8076 pub shaderDenormPreserveFloat64: VkBool32,
8077 pub shaderDenormFlushToZeroFloat16: VkBool32,
8078 pub shaderDenormFlushToZeroFloat32: VkBool32,
8079 pub shaderDenormFlushToZeroFloat64: VkBool32,
8080 pub shaderRoundingModeRTEFloat16: VkBool32,
8081 pub shaderRoundingModeRTEFloat32: VkBool32,
8082 pub shaderRoundingModeRTEFloat64: VkBool32,
8083 pub shaderRoundingModeRTZFloat16: VkBool32,
8084 pub shaderRoundingModeRTZFloat32: VkBool32,
8085 pub shaderRoundingModeRTZFloat64: VkBool32,
8086}
8087pub const VK_RESOLVE_MODE_NONE_KHR: VkResolveModeFlagBitsKHR = 0;
8088pub const VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR: VkResolveModeFlagBitsKHR = 1;
8089pub const VK_RESOLVE_MODE_AVERAGE_BIT_KHR: VkResolveModeFlagBitsKHR = 2;
8090pub const VK_RESOLVE_MODE_MIN_BIT_KHR: VkResolveModeFlagBitsKHR = 4;
8091pub const VK_RESOLVE_MODE_MAX_BIT_KHR: VkResolveModeFlagBitsKHR = 8;
8092pub const VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM_KHR: VkResolveModeFlagBitsKHR = 2147483647;
8093pub type VkResolveModeFlagBitsKHR = i32;
8094pub type VkResolveModeFlagsKHR = VkFlags;
8095#[repr(C)]
8096#[derive(Copy, Clone)]
8097pub struct VkSubpassDescriptionDepthStencilResolveKHR {
8098 pub sType: VkStructureType,
8099 pub pNext: *const ::std::os::raw::c_void,
8100 pub depthResolveMode: VkResolveModeFlagBitsKHR,
8101 pub stencilResolveMode: VkResolveModeFlagBitsKHR,
8102 pub pDepthStencilResolveAttachment: *const VkAttachmentReference2KHR,
8103}
8104#[repr(C)]
8105#[derive(Copy, Clone)]
8106pub struct VkPhysicalDeviceDepthStencilResolvePropertiesKHR {
8107 pub sType: VkStructureType,
8108 pub pNext: *mut ::std::os::raw::c_void,
8109 pub supportedDepthResolveModes: VkResolveModeFlagsKHR,
8110 pub supportedStencilResolveModes: VkResolveModeFlagsKHR,
8111 pub independentResolveNone: VkBool32,
8112 pub independentResolve: VkBool32,
8113}
8114#[repr(C)]
8115#[derive(Copy, Clone)]
8116pub struct VkPhysicalDeviceVulkanMemoryModelFeaturesKHR {
8117 pub sType: VkStructureType,
8118 pub pNext: *mut ::std::os::raw::c_void,
8119 pub vulkanMemoryModel: VkBool32,
8120 pub vulkanMemoryModelDeviceScope: VkBool32,
8121 pub vulkanMemoryModelAvailabilityVisibilityChains: VkBool32,
8122}
8123#[repr(C)]
8124#[derive(Copy, Clone)]
8125pub struct VkSurfaceProtectedCapabilitiesKHR {
8126 pub sType: VkStructureType,
8127 pub pNext: *const ::std::os::raw::c_void,
8128 pub supportsProtected: VkBool32,
8129}
8130#[repr(C)]
8131#[derive(Copy, Clone)]
8132pub struct VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR {
8133 pub sType: VkStructureType,
8134 pub pNext: *mut ::std::os::raw::c_void,
8135 pub uniformBufferStandardLayout: VkBool32,
8136}
8137#[repr(C)]
8138#[derive(Copy, Clone)]
8139pub struct VkDebugReportCallbackEXT_T {
8140 _unused: [u8; 0],
8141}
8142pub type VkDebugReportCallbackEXT = *mut VkDebugReportCallbackEXT_T;
8143pub const VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT: VkDebugReportObjectTypeEXT = 0;
8144pub const VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT: VkDebugReportObjectTypeEXT = 1;
8145pub const VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT: VkDebugReportObjectTypeEXT = 2;
8146pub const VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT: VkDebugReportObjectTypeEXT = 3;
8147pub const VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT: VkDebugReportObjectTypeEXT = 4;
8148pub const VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT: VkDebugReportObjectTypeEXT = 5;
8149pub const VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT: VkDebugReportObjectTypeEXT = 6;
8150pub const VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT: VkDebugReportObjectTypeEXT = 7;
8151pub const VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT: VkDebugReportObjectTypeEXT = 8;
8152pub const VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT: VkDebugReportObjectTypeEXT = 9;
8153pub const VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT: VkDebugReportObjectTypeEXT = 10;
8154pub const VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT: VkDebugReportObjectTypeEXT = 11;
8155pub const VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT: VkDebugReportObjectTypeEXT = 12;
8156pub const VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT: VkDebugReportObjectTypeEXT = 13;
8157pub const VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT: VkDebugReportObjectTypeEXT = 14;
8158pub const VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT: VkDebugReportObjectTypeEXT = 15;
8159pub const VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT: VkDebugReportObjectTypeEXT = 16;
8160pub const VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT: VkDebugReportObjectTypeEXT = 17;
8161pub const VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT: VkDebugReportObjectTypeEXT = 18;
8162pub const VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT: VkDebugReportObjectTypeEXT = 19;
8163pub const VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT: VkDebugReportObjectTypeEXT = 20;
8164pub const VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT: VkDebugReportObjectTypeEXT = 21;
8165pub const VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT: VkDebugReportObjectTypeEXT = 22;
8166pub const VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT: VkDebugReportObjectTypeEXT = 23;
8167pub const VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT: VkDebugReportObjectTypeEXT = 24;
8168pub const VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT: VkDebugReportObjectTypeEXT = 25;
8169pub const VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT: VkDebugReportObjectTypeEXT = 26;
8170pub const VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT: VkDebugReportObjectTypeEXT = 27;
8171pub const VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT: VkDebugReportObjectTypeEXT =
8172 28;
8173pub const VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT: VkDebugReportObjectTypeEXT = 29;
8174pub const VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT: VkDebugReportObjectTypeEXT = 30;
8175pub const VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT: VkDebugReportObjectTypeEXT = 31;
8176pub const VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT: VkDebugReportObjectTypeEXT =
8177 32;
8178pub const VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT: VkDebugReportObjectTypeEXT = 33;
8179pub const VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT: VkDebugReportObjectTypeEXT =
8180 1000156000;
8181pub const VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT: VkDebugReportObjectTypeEXT =
8182 1000085000;
8183pub const VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT: VkDebugReportObjectTypeEXT =
8184 1000165000;
8185pub const VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT: VkDebugReportObjectTypeEXT = 28;
8186pub const VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT: VkDebugReportObjectTypeEXT = 33;
8187pub const VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT:
8188 VkDebugReportObjectTypeEXT = 1000085000;
8189pub const VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT: VkDebugReportObjectTypeEXT =
8190 1000156000;
8191pub const VK_DEBUG_REPORT_OBJECT_TYPE_BEGIN_RANGE_EXT: VkDebugReportObjectTypeEXT = 0;
8192pub const VK_DEBUG_REPORT_OBJECT_TYPE_END_RANGE_EXT: VkDebugReportObjectTypeEXT = 33;
8193pub const VK_DEBUG_REPORT_OBJECT_TYPE_RANGE_SIZE_EXT: VkDebugReportObjectTypeEXT = 34;
8194pub const VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT: VkDebugReportObjectTypeEXT = 2147483647;
8195pub type VkDebugReportObjectTypeEXT = i32;
8196pub const VK_DEBUG_REPORT_INFORMATION_BIT_EXT: VkDebugReportFlagBitsEXT = 1;
8197pub const VK_DEBUG_REPORT_WARNING_BIT_EXT: VkDebugReportFlagBitsEXT = 2;
8198pub const VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT: VkDebugReportFlagBitsEXT = 4;
8199pub const VK_DEBUG_REPORT_ERROR_BIT_EXT: VkDebugReportFlagBitsEXT = 8;
8200pub const VK_DEBUG_REPORT_DEBUG_BIT_EXT: VkDebugReportFlagBitsEXT = 16;
8201pub const VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT: VkDebugReportFlagBitsEXT = 2147483647;
8202pub type VkDebugReportFlagBitsEXT = i32;
8203pub type VkDebugReportFlagsEXT = VkFlags;
8204pub type PFN_vkDebugReportCallbackEXT = ::std::option::Option<
8205 unsafe extern "system" fn(
8206 flags: VkDebugReportFlagsEXT,
8207 objectType: VkDebugReportObjectTypeEXT,
8208 object: u64,
8209 location: usize,
8210 messageCode: i32,
8211 pLayerPrefix: *const ::std::os::raw::c_char,
8212 pMessage: *const ::std::os::raw::c_char,
8213 pUserData: *mut ::std::os::raw::c_void,
8214 ) -> VkBool32,
8215>;
8216#[repr(C)]
8217#[derive(Copy, Clone)]
8218pub struct VkDebugReportCallbackCreateInfoEXT {
8219 pub sType: VkStructureType,
8220 pub pNext: *const ::std::os::raw::c_void,
8221 pub flags: VkDebugReportFlagsEXT,
8222 pub pfnCallback: PFN_vkDebugReportCallbackEXT,
8223 pub pUserData: *mut ::std::os::raw::c_void,
8224}
8225pub type PFN_vkCreateDebugReportCallbackEXT = ::std::option::Option<
8226 unsafe extern "system" fn(
8227 instance: VkInstance,
8228 pCreateInfo: *const VkDebugReportCallbackCreateInfoEXT,
8229 pAllocator: *const VkAllocationCallbacks,
8230 pCallback: *mut VkDebugReportCallbackEXT,
8231 ) -> VkResult,
8232>;
8233pub type PFN_vkDestroyDebugReportCallbackEXT = ::std::option::Option<
8234 unsafe extern "system" fn(
8235 instance: VkInstance,
8236 callback: VkDebugReportCallbackEXT,
8237 pAllocator: *const VkAllocationCallbacks,
8238 ),
8239>;
8240pub type PFN_vkDebugReportMessageEXT = ::std::option::Option<
8241 unsafe extern "system" fn(
8242 instance: VkInstance,
8243 flags: VkDebugReportFlagsEXT,
8244 objectType: VkDebugReportObjectTypeEXT,
8245 object: u64,
8246 location: usize,
8247 messageCode: i32,
8248 pLayerPrefix: *const ::std::os::raw::c_char,
8249 pMessage: *const ::std::os::raw::c_char,
8250 ),
8251>;
8252extern "system" {
8253 pub fn vkCreateDebugReportCallbackEXT(
8254 instance: VkInstance,
8255 pCreateInfo: *const VkDebugReportCallbackCreateInfoEXT,
8256 pAllocator: *const VkAllocationCallbacks,
8257 pCallback: *mut VkDebugReportCallbackEXT,
8258 ) -> VkResult;
8259}
8260extern "system" {
8261 pub fn vkDestroyDebugReportCallbackEXT(
8262 instance: VkInstance,
8263 callback: VkDebugReportCallbackEXT,
8264 pAllocator: *const VkAllocationCallbacks,
8265 );
8266}
8267extern "system" {
8268 pub fn vkDebugReportMessageEXT(
8269 instance: VkInstance,
8270 flags: VkDebugReportFlagsEXT,
8271 objectType: VkDebugReportObjectTypeEXT,
8272 object: u64,
8273 location: usize,
8274 messageCode: i32,
8275 pLayerPrefix: *const ::std::os::raw::c_char,
8276 pMessage: *const ::std::os::raw::c_char,
8277 );
8278}
8279pub const VK_RASTERIZATION_ORDER_STRICT_AMD: VkRasterizationOrderAMD = 0;
8280pub const VK_RASTERIZATION_ORDER_RELAXED_AMD: VkRasterizationOrderAMD = 1;
8281pub const VK_RASTERIZATION_ORDER_BEGIN_RANGE_AMD: VkRasterizationOrderAMD = 0;
8282pub const VK_RASTERIZATION_ORDER_END_RANGE_AMD: VkRasterizationOrderAMD = 1;
8283pub const VK_RASTERIZATION_ORDER_RANGE_SIZE_AMD: VkRasterizationOrderAMD = 2;
8284pub const VK_RASTERIZATION_ORDER_MAX_ENUM_AMD: VkRasterizationOrderAMD = 2147483647;
8285pub type VkRasterizationOrderAMD = i32;
8286#[repr(C)]
8287#[derive(Copy, Clone)]
8288pub struct VkPipelineRasterizationStateRasterizationOrderAMD {
8289 pub sType: VkStructureType,
8290 pub pNext: *const ::std::os::raw::c_void,
8291 pub rasterizationOrder: VkRasterizationOrderAMD,
8292}
8293#[repr(C)]
8294#[derive(Copy, Clone)]
8295pub struct VkDebugMarkerObjectNameInfoEXT {
8296 pub sType: VkStructureType,
8297 pub pNext: *const ::std::os::raw::c_void,
8298 pub objectType: VkDebugReportObjectTypeEXT,
8299 pub object: u64,
8300 pub pObjectName: *const ::std::os::raw::c_char,
8301}
8302#[repr(C)]
8303#[derive(Copy, Clone)]
8304pub struct VkDebugMarkerObjectTagInfoEXT {
8305 pub sType: VkStructureType,
8306 pub pNext: *const ::std::os::raw::c_void,
8307 pub objectType: VkDebugReportObjectTypeEXT,
8308 pub object: u64,
8309 pub tagName: u64,
8310 pub tagSize: usize,
8311 pub pTag: *const ::std::os::raw::c_void,
8312}
8313#[repr(C)]
8314#[derive(Copy, Clone)]
8315pub struct VkDebugMarkerMarkerInfoEXT {
8316 pub sType: VkStructureType,
8317 pub pNext: *const ::std::os::raw::c_void,
8318 pub pMarkerName: *const ::std::os::raw::c_char,
8319 pub color: [f32; 4usize],
8320}
8321pub type PFN_vkDebugMarkerSetObjectTagEXT = ::std::option::Option<
8322 unsafe extern "system" fn(
8323 device: VkDevice,
8324 pTagInfo: *const VkDebugMarkerObjectTagInfoEXT,
8325 ) -> VkResult,
8326>;
8327pub type PFN_vkDebugMarkerSetObjectNameEXT = ::std::option::Option<
8328 unsafe extern "system" fn(
8329 device: VkDevice,
8330 pNameInfo: *const VkDebugMarkerObjectNameInfoEXT,
8331 ) -> VkResult,
8332>;
8333pub type PFN_vkCmdDebugMarkerBeginEXT = ::std::option::Option<
8334 unsafe extern "system" fn(
8335 commandBuffer: VkCommandBuffer,
8336 pMarkerInfo: *const VkDebugMarkerMarkerInfoEXT,
8337 ),
8338>;
8339pub type PFN_vkCmdDebugMarkerEndEXT =
8340 ::std::option::Option<unsafe extern "system" fn(commandBuffer: VkCommandBuffer)>;
8341pub type PFN_vkCmdDebugMarkerInsertEXT = ::std::option::Option<
8342 unsafe extern "system" fn(
8343 commandBuffer: VkCommandBuffer,
8344 pMarkerInfo: *const VkDebugMarkerMarkerInfoEXT,
8345 ),
8346>;
8347extern "system" {
8348 pub fn vkDebugMarkerSetObjectTagEXT(
8349 device: VkDevice,
8350 pTagInfo: *const VkDebugMarkerObjectTagInfoEXT,
8351 ) -> VkResult;
8352}
8353extern "system" {
8354 pub fn vkDebugMarkerSetObjectNameEXT(
8355 device: VkDevice,
8356 pNameInfo: *const VkDebugMarkerObjectNameInfoEXT,
8357 ) -> VkResult;
8358}
8359extern "system" {
8360 pub fn vkCmdDebugMarkerBeginEXT(
8361 commandBuffer: VkCommandBuffer,
8362 pMarkerInfo: *const VkDebugMarkerMarkerInfoEXT,
8363 );
8364}
8365extern "system" {
8366 pub fn vkCmdDebugMarkerEndEXT(commandBuffer: VkCommandBuffer);
8367}
8368extern "system" {
8369 pub fn vkCmdDebugMarkerInsertEXT(
8370 commandBuffer: VkCommandBuffer,
8371 pMarkerInfo: *const VkDebugMarkerMarkerInfoEXT,
8372 );
8373}
8374#[repr(C)]
8375#[derive(Copy, Clone)]
8376pub struct VkDedicatedAllocationImageCreateInfoNV {
8377 pub sType: VkStructureType,
8378 pub pNext: *const ::std::os::raw::c_void,
8379 pub dedicatedAllocation: VkBool32,
8380}
8381#[repr(C)]
8382#[derive(Copy, Clone)]
8383pub struct VkDedicatedAllocationBufferCreateInfoNV {
8384 pub sType: VkStructureType,
8385 pub pNext: *const ::std::os::raw::c_void,
8386 pub dedicatedAllocation: VkBool32,
8387}
8388#[repr(C)]
8389#[derive(Copy, Clone)]
8390pub struct VkDedicatedAllocationMemoryAllocateInfoNV {
8391 pub sType: VkStructureType,
8392 pub pNext: *const ::std::os::raw::c_void,
8393 pub image: VkImage,
8394 pub buffer: VkBuffer,
8395}
8396pub type VkPipelineRasterizationStateStreamCreateFlagsEXT = VkFlags;
8397#[repr(C)]
8398#[derive(Copy, Clone)]
8399pub struct VkPhysicalDeviceTransformFeedbackFeaturesEXT {
8400 pub sType: VkStructureType,
8401 pub pNext: *mut ::std::os::raw::c_void,
8402 pub transformFeedback: VkBool32,
8403 pub geometryStreams: VkBool32,
8404}
8405#[repr(C)]
8406#[derive(Copy, Clone)]
8407pub struct VkPhysicalDeviceTransformFeedbackPropertiesEXT {
8408 pub sType: VkStructureType,
8409 pub pNext: *mut ::std::os::raw::c_void,
8410 pub maxTransformFeedbackStreams: u32,
8411 pub maxTransformFeedbackBuffers: u32,
8412 pub maxTransformFeedbackBufferSize: VkDeviceSize,
8413 pub maxTransformFeedbackStreamDataSize: u32,
8414 pub maxTransformFeedbackBufferDataSize: u32,
8415 pub maxTransformFeedbackBufferDataStride: u32,
8416 pub transformFeedbackQueries: VkBool32,
8417 pub transformFeedbackStreamsLinesTriangles: VkBool32,
8418 pub transformFeedbackRasterizationStreamSelect: VkBool32,
8419 pub transformFeedbackDraw: VkBool32,
8420}
8421#[repr(C)]
8422#[derive(Copy, Clone)]
8423pub struct VkPipelineRasterizationStateStreamCreateInfoEXT {
8424 pub sType: VkStructureType,
8425 pub pNext: *const ::std::os::raw::c_void,
8426 pub flags: VkPipelineRasterizationStateStreamCreateFlagsEXT,
8427 pub rasterizationStream: u32,
8428}
8429pub type PFN_vkCmdBindTransformFeedbackBuffersEXT = ::std::option::Option<
8430 unsafe extern "system" fn(
8431 commandBuffer: VkCommandBuffer,
8432 firstBinding: u32,
8433 bindingCount: u32,
8434 pBuffers: *const VkBuffer,
8435 pOffsets: *const VkDeviceSize,
8436 pSizes: *const VkDeviceSize,
8437 ),
8438>;
8439pub type PFN_vkCmdBeginTransformFeedbackEXT = ::std::option::Option<
8440 unsafe extern "system" fn(
8441 commandBuffer: VkCommandBuffer,
8442 firstCounterBuffer: u32,
8443 counterBufferCount: u32,
8444 pCounterBuffers: *const VkBuffer,
8445 pCounterBufferOffsets: *const VkDeviceSize,
8446 ),
8447>;
8448pub type PFN_vkCmdEndTransformFeedbackEXT = ::std::option::Option<
8449 unsafe extern "system" fn(
8450 commandBuffer: VkCommandBuffer,
8451 firstCounterBuffer: u32,
8452 counterBufferCount: u32,
8453 pCounterBuffers: *const VkBuffer,
8454 pCounterBufferOffsets: *const VkDeviceSize,
8455 ),
8456>;
8457pub type PFN_vkCmdBeginQueryIndexedEXT = ::std::option::Option<
8458 unsafe extern "system" fn(
8459 commandBuffer: VkCommandBuffer,
8460 queryPool: VkQueryPool,
8461 query: u32,
8462 flags: VkQueryControlFlags,
8463 index: u32,
8464 ),
8465>;
8466pub type PFN_vkCmdEndQueryIndexedEXT = ::std::option::Option<
8467 unsafe extern "system" fn(
8468 commandBuffer: VkCommandBuffer,
8469 queryPool: VkQueryPool,
8470 query: u32,
8471 index: u32,
8472 ),
8473>;
8474pub type PFN_vkCmdDrawIndirectByteCountEXT = ::std::option::Option<
8475 unsafe extern "system" fn(
8476 commandBuffer: VkCommandBuffer,
8477 instanceCount: u32,
8478 firstInstance: u32,
8479 counterBuffer: VkBuffer,
8480 counterBufferOffset: VkDeviceSize,
8481 counterOffset: u32,
8482 vertexStride: u32,
8483 ),
8484>;
8485extern "system" {
8486 pub fn vkCmdBindTransformFeedbackBuffersEXT(
8487 commandBuffer: VkCommandBuffer,
8488 firstBinding: u32,
8489 bindingCount: u32,
8490 pBuffers: *const VkBuffer,
8491 pOffsets: *const VkDeviceSize,
8492 pSizes: *const VkDeviceSize,
8493 );
8494}
8495extern "system" {
8496 pub fn vkCmdBeginTransformFeedbackEXT(
8497 commandBuffer: VkCommandBuffer,
8498 firstCounterBuffer: u32,
8499 counterBufferCount: u32,
8500 pCounterBuffers: *const VkBuffer,
8501 pCounterBufferOffsets: *const VkDeviceSize,
8502 );
8503}
8504extern "system" {
8505 pub fn vkCmdEndTransformFeedbackEXT(
8506 commandBuffer: VkCommandBuffer,
8507 firstCounterBuffer: u32,
8508 counterBufferCount: u32,
8509 pCounterBuffers: *const VkBuffer,
8510 pCounterBufferOffsets: *const VkDeviceSize,
8511 );
8512}
8513extern "system" {
8514 pub fn vkCmdBeginQueryIndexedEXT(
8515 commandBuffer: VkCommandBuffer,
8516 queryPool: VkQueryPool,
8517 query: u32,
8518 flags: VkQueryControlFlags,
8519 index: u32,
8520 );
8521}
8522extern "system" {
8523 pub fn vkCmdEndQueryIndexedEXT(
8524 commandBuffer: VkCommandBuffer,
8525 queryPool: VkQueryPool,
8526 query: u32,
8527 index: u32,
8528 );
8529}
8530extern "system" {
8531 pub fn vkCmdDrawIndirectByteCountEXT(
8532 commandBuffer: VkCommandBuffer,
8533 instanceCount: u32,
8534 firstInstance: u32,
8535 counterBuffer: VkBuffer,
8536 counterBufferOffset: VkDeviceSize,
8537 counterOffset: u32,
8538 vertexStride: u32,
8539 );
8540}
8541#[repr(C)]
8542#[derive(Copy, Clone)]
8543pub struct VkImageViewHandleInfoNVX {
8544 pub sType: VkStructureType,
8545 pub pNext: *const ::std::os::raw::c_void,
8546 pub imageView: VkImageView,
8547 pub descriptorType: VkDescriptorType,
8548 pub sampler: VkSampler,
8549}
8550pub type PFN_vkGetImageViewHandleNVX = ::std::option::Option<
8551 unsafe extern "system" fn(device: VkDevice, pInfo: *const VkImageViewHandleInfoNVX) -> u32,
8552>;
8553extern "system" {
8554 pub fn vkGetImageViewHandleNVX(device: VkDevice, pInfo: *const VkImageViewHandleInfoNVX)
8555 -> u32;
8556}
8557pub type PFN_vkCmdDrawIndirectCountAMD = ::std::option::Option<
8558 unsafe extern "system" fn(
8559 commandBuffer: VkCommandBuffer,
8560 buffer: VkBuffer,
8561 offset: VkDeviceSize,
8562 countBuffer: VkBuffer,
8563 countBufferOffset: VkDeviceSize,
8564 maxDrawCount: u32,
8565 stride: u32,
8566 ),
8567>;
8568pub type PFN_vkCmdDrawIndexedIndirectCountAMD = ::std::option::Option<
8569 unsafe extern "system" fn(
8570 commandBuffer: VkCommandBuffer,
8571 buffer: VkBuffer,
8572 offset: VkDeviceSize,
8573 countBuffer: VkBuffer,
8574 countBufferOffset: VkDeviceSize,
8575 maxDrawCount: u32,
8576 stride: u32,
8577 ),
8578>;
8579extern "system" {
8580 pub fn vkCmdDrawIndirectCountAMD(
8581 commandBuffer: VkCommandBuffer,
8582 buffer: VkBuffer,
8583 offset: VkDeviceSize,
8584 countBuffer: VkBuffer,
8585 countBufferOffset: VkDeviceSize,
8586 maxDrawCount: u32,
8587 stride: u32,
8588 );
8589}
8590extern "system" {
8591 pub fn vkCmdDrawIndexedIndirectCountAMD(
8592 commandBuffer: VkCommandBuffer,
8593 buffer: VkBuffer,
8594 offset: VkDeviceSize,
8595 countBuffer: VkBuffer,
8596 countBufferOffset: VkDeviceSize,
8597 maxDrawCount: u32,
8598 stride: u32,
8599 );
8600}
8601#[repr(C)]
8602#[derive(Copy, Clone)]
8603pub struct VkTextureLODGatherFormatPropertiesAMD {
8604 pub sType: VkStructureType,
8605 pub pNext: *mut ::std::os::raw::c_void,
8606 pub supportsTextureGatherLODBiasAMD: VkBool32,
8607}
8608pub const VK_SHADER_INFO_TYPE_STATISTICS_AMD: VkShaderInfoTypeAMD = 0;
8609pub const VK_SHADER_INFO_TYPE_BINARY_AMD: VkShaderInfoTypeAMD = 1;
8610pub const VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD: VkShaderInfoTypeAMD = 2;
8611pub const VK_SHADER_INFO_TYPE_BEGIN_RANGE_AMD: VkShaderInfoTypeAMD = 0;
8612pub const VK_SHADER_INFO_TYPE_END_RANGE_AMD: VkShaderInfoTypeAMD = 2;
8613pub const VK_SHADER_INFO_TYPE_RANGE_SIZE_AMD: VkShaderInfoTypeAMD = 3;
8614pub const VK_SHADER_INFO_TYPE_MAX_ENUM_AMD: VkShaderInfoTypeAMD = 2147483647;
8615pub type VkShaderInfoTypeAMD = i32;
8616#[repr(C)]
8617#[derive(Copy, Clone)]
8618pub struct VkShaderResourceUsageAMD {
8619 pub numUsedVgprs: u32,
8620 pub numUsedSgprs: u32,
8621 pub ldsSizePerLocalWorkGroup: u32,
8622 pub ldsUsageSizeInBytes: usize,
8623 pub scratchMemUsageInBytes: usize,
8624}
8625#[repr(C)]
8626#[derive(Copy, Clone)]
8627pub struct VkShaderStatisticsInfoAMD {
8628 pub shaderStageMask: VkShaderStageFlags,
8629 pub resourceUsage: VkShaderResourceUsageAMD,
8630 pub numPhysicalVgprs: u32,
8631 pub numPhysicalSgprs: u32,
8632 pub numAvailableVgprs: u32,
8633 pub numAvailableSgprs: u32,
8634 pub computeWorkGroupSize: [u32; 3usize],
8635}
8636pub type PFN_vkGetShaderInfoAMD = ::std::option::Option<
8637 unsafe extern "system" fn(
8638 device: VkDevice,
8639 pipeline: VkPipeline,
8640 shaderStage: VkShaderStageFlagBits,
8641 infoType: VkShaderInfoTypeAMD,
8642 pInfoSize: *mut usize,
8643 pInfo: *mut ::std::os::raw::c_void,
8644 ) -> VkResult,
8645>;
8646extern "system" {
8647 pub fn vkGetShaderInfoAMD(
8648 device: VkDevice,
8649 pipeline: VkPipeline,
8650 shaderStage: VkShaderStageFlagBits,
8651 infoType: VkShaderInfoTypeAMD,
8652 pInfoSize: *mut usize,
8653 pInfo: *mut ::std::os::raw::c_void,
8654 ) -> VkResult;
8655}
8656#[repr(C)]
8657#[derive(Copy, Clone)]
8658pub struct VkPhysicalDeviceCornerSampledImageFeaturesNV {
8659 pub sType: VkStructureType,
8660 pub pNext: *mut ::std::os::raw::c_void,
8661 pub cornerSampledImage: VkBool32,
8662}
8663pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV: VkExternalMemoryHandleTypeFlagBitsNV =
8664 1;
8665pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV:
8666 VkExternalMemoryHandleTypeFlagBitsNV = 2;
8667pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV: VkExternalMemoryHandleTypeFlagBitsNV =
8668 4;
8669pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV:
8670 VkExternalMemoryHandleTypeFlagBitsNV = 8;
8671pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV:
8672 VkExternalMemoryHandleTypeFlagBitsNV = 2147483647;
8673pub type VkExternalMemoryHandleTypeFlagBitsNV = i32;
8674pub type VkExternalMemoryHandleTypeFlagsNV = VkFlags;
8675pub const VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV: VkExternalMemoryFeatureFlagBitsNV = 1;
8676pub const VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV: VkExternalMemoryFeatureFlagBitsNV = 2;
8677pub const VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV: VkExternalMemoryFeatureFlagBitsNV = 4;
8678pub const VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV: VkExternalMemoryFeatureFlagBitsNV =
8679 2147483647;
8680pub type VkExternalMemoryFeatureFlagBitsNV = i32;
8681pub type VkExternalMemoryFeatureFlagsNV = VkFlags;
8682#[repr(C)]
8683#[derive(Copy, Clone)]
8684pub struct VkExternalImageFormatPropertiesNV {
8685 pub imageFormatProperties: VkImageFormatProperties,
8686 pub externalMemoryFeatures: VkExternalMemoryFeatureFlagsNV,
8687 pub exportFromImportedHandleTypes: VkExternalMemoryHandleTypeFlagsNV,
8688 pub compatibleHandleTypes: VkExternalMemoryHandleTypeFlagsNV,
8689}
8690pub type PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV = ::std::option::Option<
8691 unsafe extern "system" fn(
8692 physicalDevice: VkPhysicalDevice,
8693 format: VkFormat,
8694 type_: VkImageType,
8695 tiling: VkImageTiling,
8696 usage: VkImageUsageFlags,
8697 flags: VkImageCreateFlags,
8698 externalHandleType: VkExternalMemoryHandleTypeFlagsNV,
8699 pExternalImageFormatProperties: *mut VkExternalImageFormatPropertiesNV,
8700 ) -> VkResult,
8701>;
8702extern "system" {
8703 pub fn vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
8704 physicalDevice: VkPhysicalDevice,
8705 format: VkFormat,
8706 type_: VkImageType,
8707 tiling: VkImageTiling,
8708 usage: VkImageUsageFlags,
8709 flags: VkImageCreateFlags,
8710 externalHandleType: VkExternalMemoryHandleTypeFlagsNV,
8711 pExternalImageFormatProperties: *mut VkExternalImageFormatPropertiesNV,
8712 ) -> VkResult;
8713}
8714#[repr(C)]
8715#[derive(Copy, Clone)]
8716pub struct VkExternalMemoryImageCreateInfoNV {
8717 pub sType: VkStructureType,
8718 pub pNext: *const ::std::os::raw::c_void,
8719 pub handleTypes: VkExternalMemoryHandleTypeFlagsNV,
8720}
8721#[repr(C)]
8722#[derive(Copy, Clone)]
8723pub struct VkExportMemoryAllocateInfoNV {
8724 pub sType: VkStructureType,
8725 pub pNext: *const ::std::os::raw::c_void,
8726 pub handleTypes: VkExternalMemoryHandleTypeFlagsNV,
8727}
8728pub const VK_VALIDATION_CHECK_ALL_EXT: VkValidationCheckEXT = 0;
8729pub const VK_VALIDATION_CHECK_SHADERS_EXT: VkValidationCheckEXT = 1;
8730pub const VK_VALIDATION_CHECK_BEGIN_RANGE_EXT: VkValidationCheckEXT = 0;
8731pub const VK_VALIDATION_CHECK_END_RANGE_EXT: VkValidationCheckEXT = 1;
8732pub const VK_VALIDATION_CHECK_RANGE_SIZE_EXT: VkValidationCheckEXT = 2;
8733pub const VK_VALIDATION_CHECK_MAX_ENUM_EXT: VkValidationCheckEXT = 2147483647;
8734pub type VkValidationCheckEXT = i32;
8735#[repr(C)]
8736#[derive(Copy, Clone)]
8737pub struct VkValidationFlagsEXT {
8738 pub sType: VkStructureType,
8739 pub pNext: *const ::std::os::raw::c_void,
8740 pub disabledValidationCheckCount: u32,
8741 pub pDisabledValidationChecks: *const VkValidationCheckEXT,
8742}
8743#[repr(C)]
8744#[derive(Copy, Clone)]
8745pub struct VkImageViewASTCDecodeModeEXT {
8746 pub sType: VkStructureType,
8747 pub pNext: *const ::std::os::raw::c_void,
8748 pub decodeMode: VkFormat,
8749}
8750#[repr(C)]
8751#[derive(Copy, Clone)]
8752pub struct VkPhysicalDeviceASTCDecodeFeaturesEXT {
8753 pub sType: VkStructureType,
8754 pub pNext: *mut ::std::os::raw::c_void,
8755 pub decodeModeSharedExponent: VkBool32,
8756}
8757pub const VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT: VkConditionalRenderingFlagBitsEXT = 1;
8758pub const VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT: VkConditionalRenderingFlagBitsEXT =
8759 2147483647;
8760pub type VkConditionalRenderingFlagBitsEXT = i32;
8761pub type VkConditionalRenderingFlagsEXT = VkFlags;
8762#[repr(C)]
8763#[derive(Copy, Clone)]
8764pub struct VkConditionalRenderingBeginInfoEXT {
8765 pub sType: VkStructureType,
8766 pub pNext: *const ::std::os::raw::c_void,
8767 pub buffer: VkBuffer,
8768 pub offset: VkDeviceSize,
8769 pub flags: VkConditionalRenderingFlagsEXT,
8770}
8771#[repr(C)]
8772#[derive(Copy, Clone)]
8773pub struct VkPhysicalDeviceConditionalRenderingFeaturesEXT {
8774 pub sType: VkStructureType,
8775 pub pNext: *mut ::std::os::raw::c_void,
8776 pub conditionalRendering: VkBool32,
8777 pub inheritedConditionalRendering: VkBool32,
8778}
8779#[repr(C)]
8780#[derive(Copy, Clone)]
8781pub struct VkCommandBufferInheritanceConditionalRenderingInfoEXT {
8782 pub sType: VkStructureType,
8783 pub pNext: *const ::std::os::raw::c_void,
8784 pub conditionalRenderingEnable: VkBool32,
8785}
8786pub type PFN_vkCmdBeginConditionalRenderingEXT = ::std::option::Option<
8787 unsafe extern "system" fn(
8788 commandBuffer: VkCommandBuffer,
8789 pConditionalRenderingBegin: *const VkConditionalRenderingBeginInfoEXT,
8790 ),
8791>;
8792pub type PFN_vkCmdEndConditionalRenderingEXT =
8793 ::std::option::Option<unsafe extern "system" fn(commandBuffer: VkCommandBuffer)>;
8794extern "system" {
8795 pub fn vkCmdBeginConditionalRenderingEXT(
8796 commandBuffer: VkCommandBuffer,
8797 pConditionalRenderingBegin: *const VkConditionalRenderingBeginInfoEXT,
8798 );
8799}
8800extern "system" {
8801 pub fn vkCmdEndConditionalRenderingEXT(commandBuffer: VkCommandBuffer);
8802}
8803#[repr(C)]
8804#[derive(Copy, Clone)]
8805pub struct VkObjectTableNVX_T {
8806 _unused: [u8; 0],
8807}
8808pub type VkObjectTableNVX = *mut VkObjectTableNVX_T;
8809#[repr(C)]
8810#[derive(Copy, Clone)]
8811pub struct VkIndirectCommandsLayoutNVX_T {
8812 _unused: [u8; 0],
8813}
8814pub type VkIndirectCommandsLayoutNVX = *mut VkIndirectCommandsLayoutNVX_T;
8815pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX: VkIndirectCommandsTokenTypeNVX = 0;
8816pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX: VkIndirectCommandsTokenTypeNVX = 1;
8817pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX: VkIndirectCommandsTokenTypeNVX = 2;
8818pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX: VkIndirectCommandsTokenTypeNVX = 3;
8819pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX: VkIndirectCommandsTokenTypeNVX = 4;
8820pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX: VkIndirectCommandsTokenTypeNVX = 5;
8821pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX: VkIndirectCommandsTokenTypeNVX = 6;
8822pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX: VkIndirectCommandsTokenTypeNVX = 7;
8823pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_BEGIN_RANGE_NVX: VkIndirectCommandsTokenTypeNVX = 0;
8824pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_END_RANGE_NVX: VkIndirectCommandsTokenTypeNVX = 7;
8825pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_RANGE_SIZE_NVX: VkIndirectCommandsTokenTypeNVX = 8;
8826pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NVX: VkIndirectCommandsTokenTypeNVX = 2147483647;
8827pub type VkIndirectCommandsTokenTypeNVX = i32;
8828pub const VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX: VkObjectEntryTypeNVX = 0;
8829pub const VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX: VkObjectEntryTypeNVX = 1;
8830pub const VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX: VkObjectEntryTypeNVX = 2;
8831pub const VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX: VkObjectEntryTypeNVX = 3;
8832pub const VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX: VkObjectEntryTypeNVX = 4;
8833pub const VK_OBJECT_ENTRY_TYPE_BEGIN_RANGE_NVX: VkObjectEntryTypeNVX = 0;
8834pub const VK_OBJECT_ENTRY_TYPE_END_RANGE_NVX: VkObjectEntryTypeNVX = 4;
8835pub const VK_OBJECT_ENTRY_TYPE_RANGE_SIZE_NVX: VkObjectEntryTypeNVX = 5;
8836pub const VK_OBJECT_ENTRY_TYPE_MAX_ENUM_NVX: VkObjectEntryTypeNVX = 2147483647;
8837pub type VkObjectEntryTypeNVX = i32;
8838pub const VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX:
8839 VkIndirectCommandsLayoutUsageFlagBitsNVX = 1;
8840pub const VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX:
8841 VkIndirectCommandsLayoutUsageFlagBitsNVX = 2;
8842pub const VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX:
8843 VkIndirectCommandsLayoutUsageFlagBitsNVX = 4;
8844pub const VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX:
8845 VkIndirectCommandsLayoutUsageFlagBitsNVX = 8;
8846pub const VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NVX:
8847 VkIndirectCommandsLayoutUsageFlagBitsNVX = 2147483647;
8848pub type VkIndirectCommandsLayoutUsageFlagBitsNVX = i32;
8849pub type VkIndirectCommandsLayoutUsageFlagsNVX = VkFlags;
8850pub const VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX: VkObjectEntryUsageFlagBitsNVX = 1;
8851pub const VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX: VkObjectEntryUsageFlagBitsNVX = 2;
8852pub const VK_OBJECT_ENTRY_USAGE_FLAG_BITS_MAX_ENUM_NVX: VkObjectEntryUsageFlagBitsNVX = 2147483647;
8853pub type VkObjectEntryUsageFlagBitsNVX = i32;
8854pub type VkObjectEntryUsageFlagsNVX = VkFlags;
8855#[repr(C)]
8856#[derive(Copy, Clone)]
8857pub struct VkDeviceGeneratedCommandsFeaturesNVX {
8858 pub sType: VkStructureType,
8859 pub pNext: *const ::std::os::raw::c_void,
8860 pub computeBindingPointSupport: VkBool32,
8861}
8862#[repr(C)]
8863#[derive(Copy, Clone)]
8864pub struct VkDeviceGeneratedCommandsLimitsNVX {
8865 pub sType: VkStructureType,
8866 pub pNext: *const ::std::os::raw::c_void,
8867 pub maxIndirectCommandsLayoutTokenCount: u32,
8868 pub maxObjectEntryCounts: u32,
8869 pub minSequenceCountBufferOffsetAlignment: u32,
8870 pub minSequenceIndexBufferOffsetAlignment: u32,
8871 pub minCommandsTokenBufferOffsetAlignment: u32,
8872}
8873#[repr(C)]
8874#[derive(Copy, Clone)]
8875pub struct VkIndirectCommandsTokenNVX {
8876 pub tokenType: VkIndirectCommandsTokenTypeNVX,
8877 pub buffer: VkBuffer,
8878 pub offset: VkDeviceSize,
8879}
8880#[repr(C)]
8881#[derive(Copy, Clone)]
8882pub struct VkIndirectCommandsLayoutTokenNVX {
8883 pub tokenType: VkIndirectCommandsTokenTypeNVX,
8884 pub bindingUnit: u32,
8885 pub dynamicCount: u32,
8886 pub divisor: u32,
8887}
8888#[repr(C)]
8889#[derive(Copy, Clone)]
8890pub struct VkIndirectCommandsLayoutCreateInfoNVX {
8891 pub sType: VkStructureType,
8892 pub pNext: *const ::std::os::raw::c_void,
8893 pub pipelineBindPoint: VkPipelineBindPoint,
8894 pub flags: VkIndirectCommandsLayoutUsageFlagsNVX,
8895 pub tokenCount: u32,
8896 pub pTokens: *const VkIndirectCommandsLayoutTokenNVX,
8897}
8898#[repr(C)]
8899#[derive(Copy, Clone)]
8900pub struct VkCmdProcessCommandsInfoNVX {
8901 pub sType: VkStructureType,
8902 pub pNext: *const ::std::os::raw::c_void,
8903 pub objectTable: VkObjectTableNVX,
8904 pub indirectCommandsLayout: VkIndirectCommandsLayoutNVX,
8905 pub indirectCommandsTokenCount: u32,
8906 pub pIndirectCommandsTokens: *const VkIndirectCommandsTokenNVX,
8907 pub maxSequencesCount: u32,
8908 pub targetCommandBuffer: VkCommandBuffer,
8909 pub sequencesCountBuffer: VkBuffer,
8910 pub sequencesCountOffset: VkDeviceSize,
8911 pub sequencesIndexBuffer: VkBuffer,
8912 pub sequencesIndexOffset: VkDeviceSize,
8913}
8914#[repr(C)]
8915#[derive(Copy, Clone)]
8916pub struct VkCmdReserveSpaceForCommandsInfoNVX {
8917 pub sType: VkStructureType,
8918 pub pNext: *const ::std::os::raw::c_void,
8919 pub objectTable: VkObjectTableNVX,
8920 pub indirectCommandsLayout: VkIndirectCommandsLayoutNVX,
8921 pub maxSequencesCount: u32,
8922}
8923#[repr(C)]
8924#[derive(Copy, Clone)]
8925pub struct VkObjectTableCreateInfoNVX {
8926 pub sType: VkStructureType,
8927 pub pNext: *const ::std::os::raw::c_void,
8928 pub objectCount: u32,
8929 pub pObjectEntryTypes: *const VkObjectEntryTypeNVX,
8930 pub pObjectEntryCounts: *const u32,
8931 pub pObjectEntryUsageFlags: *const VkObjectEntryUsageFlagsNVX,
8932 pub maxUniformBuffersPerDescriptor: u32,
8933 pub maxStorageBuffersPerDescriptor: u32,
8934 pub maxStorageImagesPerDescriptor: u32,
8935 pub maxSampledImagesPerDescriptor: u32,
8936 pub maxPipelineLayouts: u32,
8937}
8938#[repr(C)]
8939#[derive(Copy, Clone)]
8940pub struct VkObjectTableEntryNVX {
8941 pub type_: VkObjectEntryTypeNVX,
8942 pub flags: VkObjectEntryUsageFlagsNVX,
8943}
8944#[repr(C)]
8945#[derive(Copy, Clone)]
8946pub struct VkObjectTablePipelineEntryNVX {
8947 pub type_: VkObjectEntryTypeNVX,
8948 pub flags: VkObjectEntryUsageFlagsNVX,
8949 pub pipeline: VkPipeline,
8950}
8951#[repr(C)]
8952#[derive(Copy, Clone)]
8953pub struct VkObjectTableDescriptorSetEntryNVX {
8954 pub type_: VkObjectEntryTypeNVX,
8955 pub flags: VkObjectEntryUsageFlagsNVX,
8956 pub pipelineLayout: VkPipelineLayout,
8957 pub descriptorSet: VkDescriptorSet,
8958}
8959#[repr(C)]
8960#[derive(Copy, Clone)]
8961pub struct VkObjectTableVertexBufferEntryNVX {
8962 pub type_: VkObjectEntryTypeNVX,
8963 pub flags: VkObjectEntryUsageFlagsNVX,
8964 pub buffer: VkBuffer,
8965}
8966#[repr(C)]
8967#[derive(Copy, Clone)]
8968pub struct VkObjectTableIndexBufferEntryNVX {
8969 pub type_: VkObjectEntryTypeNVX,
8970 pub flags: VkObjectEntryUsageFlagsNVX,
8971 pub buffer: VkBuffer,
8972 pub indexType: VkIndexType,
8973}
8974#[repr(C)]
8975#[derive(Copy, Clone)]
8976pub struct VkObjectTablePushConstantEntryNVX {
8977 pub type_: VkObjectEntryTypeNVX,
8978 pub flags: VkObjectEntryUsageFlagsNVX,
8979 pub pipelineLayout: VkPipelineLayout,
8980 pub stageFlags: VkShaderStageFlags,
8981}
8982pub type PFN_vkCmdProcessCommandsNVX = ::std::option::Option<
8983 unsafe extern "system" fn(
8984 commandBuffer: VkCommandBuffer,
8985 pProcessCommandsInfo: *const VkCmdProcessCommandsInfoNVX,
8986 ),
8987>;
8988pub type PFN_vkCmdReserveSpaceForCommandsNVX = ::std::option::Option<
8989 unsafe extern "system" fn(
8990 commandBuffer: VkCommandBuffer,
8991 pReserveSpaceInfo: *const VkCmdReserveSpaceForCommandsInfoNVX,
8992 ),
8993>;
8994pub type PFN_vkCreateIndirectCommandsLayoutNVX = ::std::option::Option<
8995 unsafe extern "system" fn(
8996 device: VkDevice,
8997 pCreateInfo: *const VkIndirectCommandsLayoutCreateInfoNVX,
8998 pAllocator: *const VkAllocationCallbacks,
8999 pIndirectCommandsLayout: *mut VkIndirectCommandsLayoutNVX,
9000 ) -> VkResult,
9001>;
9002pub type PFN_vkDestroyIndirectCommandsLayoutNVX = ::std::option::Option<
9003 unsafe extern "system" fn(
9004 device: VkDevice,
9005 indirectCommandsLayout: VkIndirectCommandsLayoutNVX,
9006 pAllocator: *const VkAllocationCallbacks,
9007 ),
9008>;
9009pub type PFN_vkCreateObjectTableNVX = ::std::option::Option<
9010 unsafe extern "system" fn(
9011 device: VkDevice,
9012 pCreateInfo: *const VkObjectTableCreateInfoNVX,
9013 pAllocator: *const VkAllocationCallbacks,
9014 pObjectTable: *mut VkObjectTableNVX,
9015 ) -> VkResult,
9016>;
9017pub type PFN_vkDestroyObjectTableNVX = ::std::option::Option<
9018 unsafe extern "system" fn(
9019 device: VkDevice,
9020 objectTable: VkObjectTableNVX,
9021 pAllocator: *const VkAllocationCallbacks,
9022 ),
9023>;
9024pub type PFN_vkRegisterObjectsNVX = ::std::option::Option<
9025 unsafe extern "system" fn(
9026 device: VkDevice,
9027 objectTable: VkObjectTableNVX,
9028 objectCount: u32,
9029 ppObjectTableEntries: *const *const VkObjectTableEntryNVX,
9030 pObjectIndices: *const u32,
9031 ) -> VkResult,
9032>;
9033pub type PFN_vkUnregisterObjectsNVX = ::std::option::Option<
9034 unsafe extern "system" fn(
9035 device: VkDevice,
9036 objectTable: VkObjectTableNVX,
9037 objectCount: u32,
9038 pObjectEntryTypes: *const VkObjectEntryTypeNVX,
9039 pObjectIndices: *const u32,
9040 ) -> VkResult,
9041>;
9042pub type PFN_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX = ::std::option::Option<
9043 unsafe extern "system" fn(
9044 physicalDevice: VkPhysicalDevice,
9045 pFeatures: *mut VkDeviceGeneratedCommandsFeaturesNVX,
9046 pLimits: *mut VkDeviceGeneratedCommandsLimitsNVX,
9047 ),
9048>;
9049extern "system" {
9050 pub fn vkCmdProcessCommandsNVX(
9051 commandBuffer: VkCommandBuffer,
9052 pProcessCommandsInfo: *const VkCmdProcessCommandsInfoNVX,
9053 );
9054}
9055extern "system" {
9056 pub fn vkCmdReserveSpaceForCommandsNVX(
9057 commandBuffer: VkCommandBuffer,
9058 pReserveSpaceInfo: *const VkCmdReserveSpaceForCommandsInfoNVX,
9059 );
9060}
9061extern "system" {
9062 pub fn vkCreateIndirectCommandsLayoutNVX(
9063 device: VkDevice,
9064 pCreateInfo: *const VkIndirectCommandsLayoutCreateInfoNVX,
9065 pAllocator: *const VkAllocationCallbacks,
9066 pIndirectCommandsLayout: *mut VkIndirectCommandsLayoutNVX,
9067 ) -> VkResult;
9068}
9069extern "system" {
9070 pub fn vkDestroyIndirectCommandsLayoutNVX(
9071 device: VkDevice,
9072 indirectCommandsLayout: VkIndirectCommandsLayoutNVX,
9073 pAllocator: *const VkAllocationCallbacks,
9074 );
9075}
9076extern "system" {
9077 pub fn vkCreateObjectTableNVX(
9078 device: VkDevice,
9079 pCreateInfo: *const VkObjectTableCreateInfoNVX,
9080 pAllocator: *const VkAllocationCallbacks,
9081 pObjectTable: *mut VkObjectTableNVX,
9082 ) -> VkResult;
9083}
9084extern "system" {
9085 pub fn vkDestroyObjectTableNVX(
9086 device: VkDevice,
9087 objectTable: VkObjectTableNVX,
9088 pAllocator: *const VkAllocationCallbacks,
9089 );
9090}
9091extern "system" {
9092 pub fn vkRegisterObjectsNVX(
9093 device: VkDevice,
9094 objectTable: VkObjectTableNVX,
9095 objectCount: u32,
9096 ppObjectTableEntries: *const *const VkObjectTableEntryNVX,
9097 pObjectIndices: *const u32,
9098 ) -> VkResult;
9099}
9100extern "system" {
9101 pub fn vkUnregisterObjectsNVX(
9102 device: VkDevice,
9103 objectTable: VkObjectTableNVX,
9104 objectCount: u32,
9105 pObjectEntryTypes: *const VkObjectEntryTypeNVX,
9106 pObjectIndices: *const u32,
9107 ) -> VkResult;
9108}
9109extern "system" {
9110 pub fn vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX(
9111 physicalDevice: VkPhysicalDevice,
9112 pFeatures: *mut VkDeviceGeneratedCommandsFeaturesNVX,
9113 pLimits: *mut VkDeviceGeneratedCommandsLimitsNVX,
9114 );
9115}
9116#[repr(C)]
9117#[derive(Copy, Clone)]
9118pub struct VkViewportWScalingNV {
9119 pub xcoeff: f32,
9120 pub ycoeff: f32,
9121}
9122#[repr(C)]
9123#[derive(Copy, Clone)]
9124pub struct VkPipelineViewportWScalingStateCreateInfoNV {
9125 pub sType: VkStructureType,
9126 pub pNext: *const ::std::os::raw::c_void,
9127 pub viewportWScalingEnable: VkBool32,
9128 pub viewportCount: u32,
9129 pub pViewportWScalings: *const VkViewportWScalingNV,
9130}
9131pub type PFN_vkCmdSetViewportWScalingNV = ::std::option::Option<
9132 unsafe extern "system" fn(
9133 commandBuffer: VkCommandBuffer,
9134 firstViewport: u32,
9135 viewportCount: u32,
9136 pViewportWScalings: *const VkViewportWScalingNV,
9137 ),
9138>;
9139extern "system" {
9140 pub fn vkCmdSetViewportWScalingNV(
9141 commandBuffer: VkCommandBuffer,
9142 firstViewport: u32,
9143 viewportCount: u32,
9144 pViewportWScalings: *const VkViewportWScalingNV,
9145 );
9146}
9147pub type PFN_vkReleaseDisplayEXT = ::std::option::Option<
9148 unsafe extern "system" fn(physicalDevice: VkPhysicalDevice, display: VkDisplayKHR) -> VkResult,
9149>;
9150extern "system" {
9151 pub fn vkReleaseDisplayEXT(physicalDevice: VkPhysicalDevice, display: VkDisplayKHR)
9152 -> VkResult;
9153}
9154pub const VK_SURFACE_COUNTER_VBLANK_EXT: VkSurfaceCounterFlagBitsEXT = 1;
9155pub const VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT: VkSurfaceCounterFlagBitsEXT = 2147483647;
9156pub type VkSurfaceCounterFlagBitsEXT = i32;
9157pub type VkSurfaceCounterFlagsEXT = VkFlags;
9158#[repr(C)]
9159#[derive(Copy, Clone)]
9160pub struct VkSurfaceCapabilities2EXT {
9161 pub sType: VkStructureType,
9162 pub pNext: *mut ::std::os::raw::c_void,
9163 pub minImageCount: u32,
9164 pub maxImageCount: u32,
9165 pub currentExtent: VkExtent2D,
9166 pub minImageExtent: VkExtent2D,
9167 pub maxImageExtent: VkExtent2D,
9168 pub maxImageArrayLayers: u32,
9169 pub supportedTransforms: VkSurfaceTransformFlagsKHR,
9170 pub currentTransform: VkSurfaceTransformFlagBitsKHR,
9171 pub supportedCompositeAlpha: VkCompositeAlphaFlagsKHR,
9172 pub supportedUsageFlags: VkImageUsageFlags,
9173 pub supportedSurfaceCounters: VkSurfaceCounterFlagsEXT,
9174}
9175pub type PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT = ::std::option::Option<
9176 unsafe extern "system" fn(
9177 physicalDevice: VkPhysicalDevice,
9178 surface: VkSurfaceKHR,
9179 pSurfaceCapabilities: *mut VkSurfaceCapabilities2EXT,
9180 ) -> VkResult,
9181>;
9182extern "system" {
9183 pub fn vkGetPhysicalDeviceSurfaceCapabilities2EXT(
9184 physicalDevice: VkPhysicalDevice,
9185 surface: VkSurfaceKHR,
9186 pSurfaceCapabilities: *mut VkSurfaceCapabilities2EXT,
9187 ) -> VkResult;
9188}
9189pub const VK_DISPLAY_POWER_STATE_OFF_EXT: VkDisplayPowerStateEXT = 0;
9190pub const VK_DISPLAY_POWER_STATE_SUSPEND_EXT: VkDisplayPowerStateEXT = 1;
9191pub const VK_DISPLAY_POWER_STATE_ON_EXT: VkDisplayPowerStateEXT = 2;
9192pub const VK_DISPLAY_POWER_STATE_BEGIN_RANGE_EXT: VkDisplayPowerStateEXT = 0;
9193pub const VK_DISPLAY_POWER_STATE_END_RANGE_EXT: VkDisplayPowerStateEXT = 2;
9194pub const VK_DISPLAY_POWER_STATE_RANGE_SIZE_EXT: VkDisplayPowerStateEXT = 3;
9195pub const VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT: VkDisplayPowerStateEXT = 2147483647;
9196pub type VkDisplayPowerStateEXT = i32;
9197pub const VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT: VkDeviceEventTypeEXT = 0;
9198pub const VK_DEVICE_EVENT_TYPE_BEGIN_RANGE_EXT: VkDeviceEventTypeEXT = 0;
9199pub const VK_DEVICE_EVENT_TYPE_END_RANGE_EXT: VkDeviceEventTypeEXT = 0;
9200pub const VK_DEVICE_EVENT_TYPE_RANGE_SIZE_EXT: VkDeviceEventTypeEXT = 1;
9201pub const VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT: VkDeviceEventTypeEXT = 2147483647;
9202pub type VkDeviceEventTypeEXT = i32;
9203pub const VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT: VkDisplayEventTypeEXT = 0;
9204pub const VK_DISPLAY_EVENT_TYPE_BEGIN_RANGE_EXT: VkDisplayEventTypeEXT = 0;
9205pub const VK_DISPLAY_EVENT_TYPE_END_RANGE_EXT: VkDisplayEventTypeEXT = 0;
9206pub const VK_DISPLAY_EVENT_TYPE_RANGE_SIZE_EXT: VkDisplayEventTypeEXT = 1;
9207pub const VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT: VkDisplayEventTypeEXT = 2147483647;
9208pub type VkDisplayEventTypeEXT = i32;
9209#[repr(C)]
9210#[derive(Copy, Clone)]
9211pub struct VkDisplayPowerInfoEXT {
9212 pub sType: VkStructureType,
9213 pub pNext: *const ::std::os::raw::c_void,
9214 pub powerState: VkDisplayPowerStateEXT,
9215}
9216#[repr(C)]
9217#[derive(Copy, Clone)]
9218pub struct VkDeviceEventInfoEXT {
9219 pub sType: VkStructureType,
9220 pub pNext: *const ::std::os::raw::c_void,
9221 pub deviceEvent: VkDeviceEventTypeEXT,
9222}
9223#[repr(C)]
9224#[derive(Copy, Clone)]
9225pub struct VkDisplayEventInfoEXT {
9226 pub sType: VkStructureType,
9227 pub pNext: *const ::std::os::raw::c_void,
9228 pub displayEvent: VkDisplayEventTypeEXT,
9229}
9230#[repr(C)]
9231#[derive(Copy, Clone)]
9232pub struct VkSwapchainCounterCreateInfoEXT {
9233 pub sType: VkStructureType,
9234 pub pNext: *const ::std::os::raw::c_void,
9235 pub surfaceCounters: VkSurfaceCounterFlagsEXT,
9236}
9237pub type PFN_vkDisplayPowerControlEXT = ::std::option::Option<
9238 unsafe extern "system" fn(
9239 device: VkDevice,
9240 display: VkDisplayKHR,
9241 pDisplayPowerInfo: *const VkDisplayPowerInfoEXT,
9242 ) -> VkResult,
9243>;
9244pub type PFN_vkRegisterDeviceEventEXT = ::std::option::Option<
9245 unsafe extern "system" fn(
9246 device: VkDevice,
9247 pDeviceEventInfo: *const VkDeviceEventInfoEXT,
9248 pAllocator: *const VkAllocationCallbacks,
9249 pFence: *mut VkFence,
9250 ) -> VkResult,
9251>;
9252pub type PFN_vkRegisterDisplayEventEXT = ::std::option::Option<
9253 unsafe extern "system" fn(
9254 device: VkDevice,
9255 display: VkDisplayKHR,
9256 pDisplayEventInfo: *const VkDisplayEventInfoEXT,
9257 pAllocator: *const VkAllocationCallbacks,
9258 pFence: *mut VkFence,
9259 ) -> VkResult,
9260>;
9261pub type PFN_vkGetSwapchainCounterEXT = ::std::option::Option<
9262 unsafe extern "system" fn(
9263 device: VkDevice,
9264 swapchain: VkSwapchainKHR,
9265 counter: VkSurfaceCounterFlagBitsEXT,
9266 pCounterValue: *mut u64,
9267 ) -> VkResult,
9268>;
9269extern "system" {
9270 pub fn vkDisplayPowerControlEXT(
9271 device: VkDevice,
9272 display: VkDisplayKHR,
9273 pDisplayPowerInfo: *const VkDisplayPowerInfoEXT,
9274 ) -> VkResult;
9275}
9276extern "system" {
9277 pub fn vkRegisterDeviceEventEXT(
9278 device: VkDevice,
9279 pDeviceEventInfo: *const VkDeviceEventInfoEXT,
9280 pAllocator: *const VkAllocationCallbacks,
9281 pFence: *mut VkFence,
9282 ) -> VkResult;
9283}
9284extern "system" {
9285 pub fn vkRegisterDisplayEventEXT(
9286 device: VkDevice,
9287 display: VkDisplayKHR,
9288 pDisplayEventInfo: *const VkDisplayEventInfoEXT,
9289 pAllocator: *const VkAllocationCallbacks,
9290 pFence: *mut VkFence,
9291 ) -> VkResult;
9292}
9293extern "system" {
9294 pub fn vkGetSwapchainCounterEXT(
9295 device: VkDevice,
9296 swapchain: VkSwapchainKHR,
9297 counter: VkSurfaceCounterFlagBitsEXT,
9298 pCounterValue: *mut u64,
9299 ) -> VkResult;
9300}
9301#[repr(C)]
9302#[derive(Copy, Clone)]
9303pub struct VkRefreshCycleDurationGOOGLE {
9304 pub refreshDuration: u64,
9305}
9306#[repr(C)]
9307#[derive(Copy, Clone)]
9308pub struct VkPastPresentationTimingGOOGLE {
9309 pub presentID: u32,
9310 pub desiredPresentTime: u64,
9311 pub actualPresentTime: u64,
9312 pub earliestPresentTime: u64,
9313 pub presentMargin: u64,
9314}
9315#[repr(C)]
9316#[derive(Copy, Clone)]
9317pub struct VkPresentTimeGOOGLE {
9318 pub presentID: u32,
9319 pub desiredPresentTime: u64,
9320}
9321#[repr(C)]
9322#[derive(Copy, Clone)]
9323pub struct VkPresentTimesInfoGOOGLE {
9324 pub sType: VkStructureType,
9325 pub pNext: *const ::std::os::raw::c_void,
9326 pub swapchainCount: u32,
9327 pub pTimes: *const VkPresentTimeGOOGLE,
9328}
9329pub type PFN_vkGetRefreshCycleDurationGOOGLE = ::std::option::Option<
9330 unsafe extern "system" fn(
9331 device: VkDevice,
9332 swapchain: VkSwapchainKHR,
9333 pDisplayTimingProperties: *mut VkRefreshCycleDurationGOOGLE,
9334 ) -> VkResult,
9335>;
9336pub type PFN_vkGetPastPresentationTimingGOOGLE = ::std::option::Option<
9337 unsafe extern "system" fn(
9338 device: VkDevice,
9339 swapchain: VkSwapchainKHR,
9340 pPresentationTimingCount: *mut u32,
9341 pPresentationTimings: *mut VkPastPresentationTimingGOOGLE,
9342 ) -> VkResult,
9343>;
9344extern "system" {
9345 pub fn vkGetRefreshCycleDurationGOOGLE(
9346 device: VkDevice,
9347 swapchain: VkSwapchainKHR,
9348 pDisplayTimingProperties: *mut VkRefreshCycleDurationGOOGLE,
9349 ) -> VkResult;
9350}
9351extern "system" {
9352 pub fn vkGetPastPresentationTimingGOOGLE(
9353 device: VkDevice,
9354 swapchain: VkSwapchainKHR,
9355 pPresentationTimingCount: *mut u32,
9356 pPresentationTimings: *mut VkPastPresentationTimingGOOGLE,
9357 ) -> VkResult;
9358}
9359#[repr(C)]
9360#[derive(Copy, Clone)]
9361pub struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
9362 pub sType: VkStructureType,
9363 pub pNext: *mut ::std::os::raw::c_void,
9364 pub perViewPositionAllComponents: VkBool32,
9365}
9366pub const VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV: VkViewportCoordinateSwizzleNV = 0;
9367pub const VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV: VkViewportCoordinateSwizzleNV = 1;
9368pub const VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV: VkViewportCoordinateSwizzleNV = 2;
9369pub const VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV: VkViewportCoordinateSwizzleNV = 3;
9370pub const VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV: VkViewportCoordinateSwizzleNV = 4;
9371pub const VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV: VkViewportCoordinateSwizzleNV = 5;
9372pub const VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV: VkViewportCoordinateSwizzleNV = 6;
9373pub const VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV: VkViewportCoordinateSwizzleNV = 7;
9374pub const VK_VIEWPORT_COORDINATE_SWIZZLE_BEGIN_RANGE_NV: VkViewportCoordinateSwizzleNV = 0;
9375pub const VK_VIEWPORT_COORDINATE_SWIZZLE_END_RANGE_NV: VkViewportCoordinateSwizzleNV = 7;
9376pub const VK_VIEWPORT_COORDINATE_SWIZZLE_RANGE_SIZE_NV: VkViewportCoordinateSwizzleNV = 8;
9377pub const VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV: VkViewportCoordinateSwizzleNV = 2147483647;
9378pub type VkViewportCoordinateSwizzleNV = i32;
9379pub type VkPipelineViewportSwizzleStateCreateFlagsNV = VkFlags;
9380#[repr(C)]
9381#[derive(Copy, Clone)]
9382pub struct VkViewportSwizzleNV {
9383 pub x: VkViewportCoordinateSwizzleNV,
9384 pub y: VkViewportCoordinateSwizzleNV,
9385 pub z: VkViewportCoordinateSwizzleNV,
9386 pub w: VkViewportCoordinateSwizzleNV,
9387}
9388#[repr(C)]
9389#[derive(Copy, Clone)]
9390pub struct VkPipelineViewportSwizzleStateCreateInfoNV {
9391 pub sType: VkStructureType,
9392 pub pNext: *const ::std::os::raw::c_void,
9393 pub flags: VkPipelineViewportSwizzleStateCreateFlagsNV,
9394 pub viewportCount: u32,
9395 pub pViewportSwizzles: *const VkViewportSwizzleNV,
9396}
9397pub const VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT: VkDiscardRectangleModeEXT = 0;
9398pub const VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT: VkDiscardRectangleModeEXT = 1;
9399pub const VK_DISCARD_RECTANGLE_MODE_BEGIN_RANGE_EXT: VkDiscardRectangleModeEXT = 0;
9400pub const VK_DISCARD_RECTANGLE_MODE_END_RANGE_EXT: VkDiscardRectangleModeEXT = 1;
9401pub const VK_DISCARD_RECTANGLE_MODE_RANGE_SIZE_EXT: VkDiscardRectangleModeEXT = 2;
9402pub const VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT: VkDiscardRectangleModeEXT = 2147483647;
9403pub type VkDiscardRectangleModeEXT = i32;
9404pub type VkPipelineDiscardRectangleStateCreateFlagsEXT = VkFlags;
9405#[repr(C)]
9406#[derive(Copy, Clone)]
9407pub struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
9408 pub sType: VkStructureType,
9409 pub pNext: *mut ::std::os::raw::c_void,
9410 pub maxDiscardRectangles: u32,
9411}
9412#[repr(C)]
9413#[derive(Copy, Clone)]
9414pub struct VkPipelineDiscardRectangleStateCreateInfoEXT {
9415 pub sType: VkStructureType,
9416 pub pNext: *const ::std::os::raw::c_void,
9417 pub flags: VkPipelineDiscardRectangleStateCreateFlagsEXT,
9418 pub discardRectangleMode: VkDiscardRectangleModeEXT,
9419 pub discardRectangleCount: u32,
9420 pub pDiscardRectangles: *const VkRect2D,
9421}
9422pub type PFN_vkCmdSetDiscardRectangleEXT = ::std::option::Option<
9423 unsafe extern "system" fn(
9424 commandBuffer: VkCommandBuffer,
9425 firstDiscardRectangle: u32,
9426 discardRectangleCount: u32,
9427 pDiscardRectangles: *const VkRect2D,
9428 ),
9429>;
9430extern "system" {
9431 pub fn vkCmdSetDiscardRectangleEXT(
9432 commandBuffer: VkCommandBuffer,
9433 firstDiscardRectangle: u32,
9434 discardRectangleCount: u32,
9435 pDiscardRectangles: *const VkRect2D,
9436 );
9437}
9438pub const VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT: VkConservativeRasterizationModeEXT = 0;
9439pub const VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT: VkConservativeRasterizationModeEXT =
9440 1;
9441pub const VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT: VkConservativeRasterizationModeEXT =
9442 2;
9443pub const VK_CONSERVATIVE_RASTERIZATION_MODE_BEGIN_RANGE_EXT: VkConservativeRasterizationModeEXT =
9444 0;
9445pub const VK_CONSERVATIVE_RASTERIZATION_MODE_END_RANGE_EXT: VkConservativeRasterizationModeEXT = 2;
9446pub const VK_CONSERVATIVE_RASTERIZATION_MODE_RANGE_SIZE_EXT: VkConservativeRasterizationModeEXT = 3;
9447pub const VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT: VkConservativeRasterizationModeEXT =
9448 2147483647;
9449pub type VkConservativeRasterizationModeEXT = i32;
9450pub type VkPipelineRasterizationConservativeStateCreateFlagsEXT = VkFlags;
9451#[repr(C)]
9452#[derive(Copy, Clone)]
9453pub struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {
9454 pub sType: VkStructureType,
9455 pub pNext: *mut ::std::os::raw::c_void,
9456 pub primitiveOverestimationSize: f32,
9457 pub maxExtraPrimitiveOverestimationSize: f32,
9458 pub extraPrimitiveOverestimationSizeGranularity: f32,
9459 pub primitiveUnderestimation: VkBool32,
9460 pub conservativePointAndLineRasterization: VkBool32,
9461 pub degenerateTrianglesRasterized: VkBool32,
9462 pub degenerateLinesRasterized: VkBool32,
9463 pub fullyCoveredFragmentShaderInputVariable: VkBool32,
9464 pub conservativeRasterizationPostDepthCoverage: VkBool32,
9465}
9466#[repr(C)]
9467#[derive(Copy, Clone)]
9468pub struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
9469 pub sType: VkStructureType,
9470 pub pNext: *const ::std::os::raw::c_void,
9471 pub flags: VkPipelineRasterizationConservativeStateCreateFlagsEXT,
9472 pub conservativeRasterizationMode: VkConservativeRasterizationModeEXT,
9473 pub extraPrimitiveOverestimationSize: f32,
9474}
9475pub type VkPipelineRasterizationDepthClipStateCreateFlagsEXT = VkFlags;
9476#[repr(C)]
9477#[derive(Copy, Clone)]
9478pub struct VkPhysicalDeviceDepthClipEnableFeaturesEXT {
9479 pub sType: VkStructureType,
9480 pub pNext: *mut ::std::os::raw::c_void,
9481 pub depthClipEnable: VkBool32,
9482}
9483#[repr(C)]
9484#[derive(Copy, Clone)]
9485pub struct VkPipelineRasterizationDepthClipStateCreateInfoEXT {
9486 pub sType: VkStructureType,
9487 pub pNext: *const ::std::os::raw::c_void,
9488 pub flags: VkPipelineRasterizationDepthClipStateCreateFlagsEXT,
9489 pub depthClipEnable: VkBool32,
9490}
9491#[repr(C)]
9492#[derive(Copy, Clone)]
9493pub struct VkXYColorEXT {
9494 pub x: f32,
9495 pub y: f32,
9496}
9497#[repr(C)]
9498#[derive(Copy, Clone)]
9499pub struct VkHdrMetadataEXT {
9500 pub sType: VkStructureType,
9501 pub pNext: *const ::std::os::raw::c_void,
9502 pub displayPrimaryRed: VkXYColorEXT,
9503 pub displayPrimaryGreen: VkXYColorEXT,
9504 pub displayPrimaryBlue: VkXYColorEXT,
9505 pub whitePoint: VkXYColorEXT,
9506 pub maxLuminance: f32,
9507 pub minLuminance: f32,
9508 pub maxContentLightLevel: f32,
9509 pub maxFrameAverageLightLevel: f32,
9510}
9511pub type PFN_vkSetHdrMetadataEXT = ::std::option::Option<
9512 unsafe extern "system" fn(
9513 device: VkDevice,
9514 swapchainCount: u32,
9515 pSwapchains: *const VkSwapchainKHR,
9516 pMetadata: *const VkHdrMetadataEXT,
9517 ),
9518>;
9519extern "system" {
9520 pub fn vkSetHdrMetadataEXT(
9521 device: VkDevice,
9522 swapchainCount: u32,
9523 pSwapchains: *const VkSwapchainKHR,
9524 pMetadata: *const VkHdrMetadataEXT,
9525 );
9526}
9527#[repr(C)]
9528#[derive(Copy, Clone)]
9529pub struct VkDebugUtilsMessengerEXT_T {
9530 _unused: [u8; 0],
9531}
9532pub type VkDebugUtilsMessengerEXT = *mut VkDebugUtilsMessengerEXT_T;
9533pub type VkDebugUtilsMessengerCallbackDataFlagsEXT = VkFlags;
9534pub type VkDebugUtilsMessengerCreateFlagsEXT = VkFlags;
9535pub const VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT: VkDebugUtilsMessageSeverityFlagBitsEXT =
9536 1;
9537pub const VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT: VkDebugUtilsMessageSeverityFlagBitsEXT = 16;
9538pub const VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT: VkDebugUtilsMessageSeverityFlagBitsEXT =
9539 256;
9540pub const VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT: VkDebugUtilsMessageSeverityFlagBitsEXT =
9541 4096;
9542pub const VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT:
9543 VkDebugUtilsMessageSeverityFlagBitsEXT = 2147483647;
9544pub type VkDebugUtilsMessageSeverityFlagBitsEXT = i32;
9545pub type VkDebugUtilsMessageSeverityFlagsEXT = VkFlags;
9546pub const VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT: VkDebugUtilsMessageTypeFlagBitsEXT = 1;
9547pub const VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT: VkDebugUtilsMessageTypeFlagBitsEXT = 2;
9548pub const VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT: VkDebugUtilsMessageTypeFlagBitsEXT = 4;
9549pub const VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT: VkDebugUtilsMessageTypeFlagBitsEXT =
9550 2147483647;
9551pub type VkDebugUtilsMessageTypeFlagBitsEXT = i32;
9552pub type VkDebugUtilsMessageTypeFlagsEXT = VkFlags;
9553#[repr(C)]
9554#[derive(Copy, Clone)]
9555pub struct VkDebugUtilsObjectNameInfoEXT {
9556 pub sType: VkStructureType,
9557 pub pNext: *const ::std::os::raw::c_void,
9558 pub objectType: VkObjectType,
9559 pub objectHandle: u64,
9560 pub pObjectName: *const ::std::os::raw::c_char,
9561}
9562#[repr(C)]
9563#[derive(Copy, Clone)]
9564pub struct VkDebugUtilsObjectTagInfoEXT {
9565 pub sType: VkStructureType,
9566 pub pNext: *const ::std::os::raw::c_void,
9567 pub objectType: VkObjectType,
9568 pub objectHandle: u64,
9569 pub tagName: u64,
9570 pub tagSize: usize,
9571 pub pTag: *const ::std::os::raw::c_void,
9572}
9573#[repr(C)]
9574#[derive(Copy, Clone)]
9575pub struct VkDebugUtilsLabelEXT {
9576 pub sType: VkStructureType,
9577 pub pNext: *const ::std::os::raw::c_void,
9578 pub pLabelName: *const ::std::os::raw::c_char,
9579 pub color: [f32; 4usize],
9580}
9581#[repr(C)]
9582#[derive(Copy, Clone)]
9583pub struct VkDebugUtilsMessengerCallbackDataEXT {
9584 pub sType: VkStructureType,
9585 pub pNext: *const ::std::os::raw::c_void,
9586 pub flags: VkDebugUtilsMessengerCallbackDataFlagsEXT,
9587 pub pMessageIdName: *const ::std::os::raw::c_char,
9588 pub messageIdNumber: i32,
9589 pub pMessage: *const ::std::os::raw::c_char,
9590 pub queueLabelCount: u32,
9591 pub pQueueLabels: *const VkDebugUtilsLabelEXT,
9592 pub cmdBufLabelCount: u32,
9593 pub pCmdBufLabels: *const VkDebugUtilsLabelEXT,
9594 pub objectCount: u32,
9595 pub pObjects: *const VkDebugUtilsObjectNameInfoEXT,
9596}
9597pub type PFN_vkDebugUtilsMessengerCallbackEXT = ::std::option::Option<
9598 unsafe extern "system" fn(
9599 messageSeverity: VkDebugUtilsMessageSeverityFlagBitsEXT,
9600 messageTypes: VkDebugUtilsMessageTypeFlagsEXT,
9601 pCallbackData: *const VkDebugUtilsMessengerCallbackDataEXT,
9602 pUserData: *mut ::std::os::raw::c_void,
9603 ) -> VkBool32,
9604>;
9605#[repr(C)]
9606#[derive(Copy, Clone)]
9607pub struct VkDebugUtilsMessengerCreateInfoEXT {
9608 pub sType: VkStructureType,
9609 pub pNext: *const ::std::os::raw::c_void,
9610 pub flags: VkDebugUtilsMessengerCreateFlagsEXT,
9611 pub messageSeverity: VkDebugUtilsMessageSeverityFlagsEXT,
9612 pub messageType: VkDebugUtilsMessageTypeFlagsEXT,
9613 pub pfnUserCallback: PFN_vkDebugUtilsMessengerCallbackEXT,
9614 pub pUserData: *mut ::std::os::raw::c_void,
9615}
9616pub type PFN_vkSetDebugUtilsObjectNameEXT = ::std::option::Option<
9617 unsafe extern "system" fn(
9618 device: VkDevice,
9619 pNameInfo: *const VkDebugUtilsObjectNameInfoEXT,
9620 ) -> VkResult,
9621>;
9622pub type PFN_vkSetDebugUtilsObjectTagEXT = ::std::option::Option<
9623 unsafe extern "system" fn(
9624 device: VkDevice,
9625 pTagInfo: *const VkDebugUtilsObjectTagInfoEXT,
9626 ) -> VkResult,
9627>;
9628pub type PFN_vkQueueBeginDebugUtilsLabelEXT = ::std::option::Option<
9629 unsafe extern "system" fn(queue: VkQueue, pLabelInfo: *const VkDebugUtilsLabelEXT),
9630>;
9631pub type PFN_vkQueueEndDebugUtilsLabelEXT =
9632 ::std::option::Option<unsafe extern "system" fn(queue: VkQueue)>;
9633pub type PFN_vkQueueInsertDebugUtilsLabelEXT = ::std::option::Option<
9634 unsafe extern "system" fn(queue: VkQueue, pLabelInfo: *const VkDebugUtilsLabelEXT),
9635>;
9636pub type PFN_vkCmdBeginDebugUtilsLabelEXT = ::std::option::Option<
9637 unsafe extern "system" fn(
9638 commandBuffer: VkCommandBuffer,
9639 pLabelInfo: *const VkDebugUtilsLabelEXT,
9640 ),
9641>;
9642pub type PFN_vkCmdEndDebugUtilsLabelEXT =
9643 ::std::option::Option<unsafe extern "system" fn(commandBuffer: VkCommandBuffer)>;
9644pub type PFN_vkCmdInsertDebugUtilsLabelEXT = ::std::option::Option<
9645 unsafe extern "system" fn(
9646 commandBuffer: VkCommandBuffer,
9647 pLabelInfo: *const VkDebugUtilsLabelEXT,
9648 ),
9649>;
9650pub type PFN_vkCreateDebugUtilsMessengerEXT = ::std::option::Option<
9651 unsafe extern "system" fn(
9652 instance: VkInstance,
9653 pCreateInfo: *const VkDebugUtilsMessengerCreateInfoEXT,
9654 pAllocator: *const VkAllocationCallbacks,
9655 pMessenger: *mut VkDebugUtilsMessengerEXT,
9656 ) -> VkResult,
9657>;
9658pub type PFN_vkDestroyDebugUtilsMessengerEXT = ::std::option::Option<
9659 unsafe extern "system" fn(
9660 instance: VkInstance,
9661 messenger: VkDebugUtilsMessengerEXT,
9662 pAllocator: *const VkAllocationCallbacks,
9663 ),
9664>;
9665pub type PFN_vkSubmitDebugUtilsMessageEXT = ::std::option::Option<
9666 unsafe extern "system" fn(
9667 instance: VkInstance,
9668 messageSeverity: VkDebugUtilsMessageSeverityFlagBitsEXT,
9669 messageTypes: VkDebugUtilsMessageTypeFlagsEXT,
9670 pCallbackData: *const VkDebugUtilsMessengerCallbackDataEXT,
9671 ),
9672>;
9673extern "system" {
9674 pub fn vkSetDebugUtilsObjectNameEXT(
9675 device: VkDevice,
9676 pNameInfo: *const VkDebugUtilsObjectNameInfoEXT,
9677 ) -> VkResult;
9678}
9679extern "system" {
9680 pub fn vkSetDebugUtilsObjectTagEXT(
9681 device: VkDevice,
9682 pTagInfo: *const VkDebugUtilsObjectTagInfoEXT,
9683 ) -> VkResult;
9684}
9685extern "system" {
9686 pub fn vkQueueBeginDebugUtilsLabelEXT(queue: VkQueue, pLabelInfo: *const VkDebugUtilsLabelEXT);
9687}
9688extern "system" {
9689 pub fn vkQueueEndDebugUtilsLabelEXT(queue: VkQueue);
9690}
9691extern "system" {
9692 pub fn vkQueueInsertDebugUtilsLabelEXT(queue: VkQueue, pLabelInfo: *const VkDebugUtilsLabelEXT);
9693}
9694extern "system" {
9695 pub fn vkCmdBeginDebugUtilsLabelEXT(
9696 commandBuffer: VkCommandBuffer,
9697 pLabelInfo: *const VkDebugUtilsLabelEXT,
9698 );
9699}
9700extern "system" {
9701 pub fn vkCmdEndDebugUtilsLabelEXT(commandBuffer: VkCommandBuffer);
9702}
9703extern "system" {
9704 pub fn vkCmdInsertDebugUtilsLabelEXT(
9705 commandBuffer: VkCommandBuffer,
9706 pLabelInfo: *const VkDebugUtilsLabelEXT,
9707 );
9708}
9709extern "system" {
9710 pub fn vkCreateDebugUtilsMessengerEXT(
9711 instance: VkInstance,
9712 pCreateInfo: *const VkDebugUtilsMessengerCreateInfoEXT,
9713 pAllocator: *const VkAllocationCallbacks,
9714 pMessenger: *mut VkDebugUtilsMessengerEXT,
9715 ) -> VkResult;
9716}
9717extern "system" {
9718 pub fn vkDestroyDebugUtilsMessengerEXT(
9719 instance: VkInstance,
9720 messenger: VkDebugUtilsMessengerEXT,
9721 pAllocator: *const VkAllocationCallbacks,
9722 );
9723}
9724extern "system" {
9725 pub fn vkSubmitDebugUtilsMessageEXT(
9726 instance: VkInstance,
9727 messageSeverity: VkDebugUtilsMessageSeverityFlagBitsEXT,
9728 messageTypes: VkDebugUtilsMessageTypeFlagsEXT,
9729 pCallbackData: *const VkDebugUtilsMessengerCallbackDataEXT,
9730 );
9731}
9732pub const VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT: VkSamplerReductionModeEXT = 0;
9733pub const VK_SAMPLER_REDUCTION_MODE_MIN_EXT: VkSamplerReductionModeEXT = 1;
9734pub const VK_SAMPLER_REDUCTION_MODE_MAX_EXT: VkSamplerReductionModeEXT = 2;
9735pub const VK_SAMPLER_REDUCTION_MODE_BEGIN_RANGE_EXT: VkSamplerReductionModeEXT = 0;
9736pub const VK_SAMPLER_REDUCTION_MODE_END_RANGE_EXT: VkSamplerReductionModeEXT = 2;
9737pub const VK_SAMPLER_REDUCTION_MODE_RANGE_SIZE_EXT: VkSamplerReductionModeEXT = 3;
9738pub const VK_SAMPLER_REDUCTION_MODE_MAX_ENUM_EXT: VkSamplerReductionModeEXT = 2147483647;
9739pub type VkSamplerReductionModeEXT = i32;
9740#[repr(C)]
9741#[derive(Copy, Clone)]
9742pub struct VkSamplerReductionModeCreateInfoEXT {
9743 pub sType: VkStructureType,
9744 pub pNext: *const ::std::os::raw::c_void,
9745 pub reductionMode: VkSamplerReductionModeEXT,
9746}
9747#[repr(C)]
9748#[derive(Copy, Clone)]
9749pub struct VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT {
9750 pub sType: VkStructureType,
9751 pub pNext: *mut ::std::os::raw::c_void,
9752 pub filterMinmaxSingleComponentFormats: VkBool32,
9753 pub filterMinmaxImageComponentMapping: VkBool32,
9754}
9755#[repr(C)]
9756#[derive(Copy, Clone)]
9757pub struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT {
9758 pub sType: VkStructureType,
9759 pub pNext: *mut ::std::os::raw::c_void,
9760 pub inlineUniformBlock: VkBool32,
9761 pub descriptorBindingInlineUniformBlockUpdateAfterBind: VkBool32,
9762}
9763#[repr(C)]
9764#[derive(Copy, Clone)]
9765pub struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT {
9766 pub sType: VkStructureType,
9767 pub pNext: *mut ::std::os::raw::c_void,
9768 pub maxInlineUniformBlockSize: u32,
9769 pub maxPerStageDescriptorInlineUniformBlocks: u32,
9770 pub maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks: u32,
9771 pub maxDescriptorSetInlineUniformBlocks: u32,
9772 pub maxDescriptorSetUpdateAfterBindInlineUniformBlocks: u32,
9773}
9774#[repr(C)]
9775#[derive(Copy, Clone)]
9776pub struct VkWriteDescriptorSetInlineUniformBlockEXT {
9777 pub sType: VkStructureType,
9778 pub pNext: *const ::std::os::raw::c_void,
9779 pub dataSize: u32,
9780 pub pData: *const ::std::os::raw::c_void,
9781}
9782#[repr(C)]
9783#[derive(Copy, Clone)]
9784pub struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT {
9785 pub sType: VkStructureType,
9786 pub pNext: *const ::std::os::raw::c_void,
9787 pub maxInlineUniformBlockBindings: u32,
9788}
9789#[repr(C)]
9790#[derive(Copy, Clone)]
9791pub struct VkSampleLocationEXT {
9792 pub x: f32,
9793 pub y: f32,
9794}
9795#[repr(C)]
9796#[derive(Copy, Clone)]
9797pub struct VkSampleLocationsInfoEXT {
9798 pub sType: VkStructureType,
9799 pub pNext: *const ::std::os::raw::c_void,
9800 pub sampleLocationsPerPixel: VkSampleCountFlagBits,
9801 pub sampleLocationGridSize: VkExtent2D,
9802 pub sampleLocationsCount: u32,
9803 pub pSampleLocations: *const VkSampleLocationEXT,
9804}
9805#[repr(C)]
9806#[derive(Copy, Clone)]
9807pub struct VkAttachmentSampleLocationsEXT {
9808 pub attachmentIndex: u32,
9809 pub sampleLocationsInfo: VkSampleLocationsInfoEXT,
9810}
9811#[repr(C)]
9812#[derive(Copy, Clone)]
9813pub struct VkSubpassSampleLocationsEXT {
9814 pub subpassIndex: u32,
9815 pub sampleLocationsInfo: VkSampleLocationsInfoEXT,
9816}
9817#[repr(C)]
9818#[derive(Copy, Clone)]
9819pub struct VkRenderPassSampleLocationsBeginInfoEXT {
9820 pub sType: VkStructureType,
9821 pub pNext: *const ::std::os::raw::c_void,
9822 pub attachmentInitialSampleLocationsCount: u32,
9823 pub pAttachmentInitialSampleLocations: *const VkAttachmentSampleLocationsEXT,
9824 pub postSubpassSampleLocationsCount: u32,
9825 pub pPostSubpassSampleLocations: *const VkSubpassSampleLocationsEXT,
9826}
9827#[repr(C)]
9828#[derive(Copy, Clone)]
9829pub struct VkPipelineSampleLocationsStateCreateInfoEXT {
9830 pub sType: VkStructureType,
9831 pub pNext: *const ::std::os::raw::c_void,
9832 pub sampleLocationsEnable: VkBool32,
9833 pub sampleLocationsInfo: VkSampleLocationsInfoEXT,
9834}
9835#[repr(C)]
9836#[derive(Copy, Clone)]
9837pub struct VkPhysicalDeviceSampleLocationsPropertiesEXT {
9838 pub sType: VkStructureType,
9839 pub pNext: *mut ::std::os::raw::c_void,
9840 pub sampleLocationSampleCounts: VkSampleCountFlags,
9841 pub maxSampleLocationGridSize: VkExtent2D,
9842 pub sampleLocationCoordinateRange: [f32; 2usize],
9843 pub sampleLocationSubPixelBits: u32,
9844 pub variableSampleLocations: VkBool32,
9845}
9846#[repr(C)]
9847#[derive(Copy, Clone)]
9848pub struct VkMultisamplePropertiesEXT {
9849 pub sType: VkStructureType,
9850 pub pNext: *mut ::std::os::raw::c_void,
9851 pub maxSampleLocationGridSize: VkExtent2D,
9852}
9853pub type PFN_vkCmdSetSampleLocationsEXT = ::std::option::Option<
9854 unsafe extern "system" fn(
9855 commandBuffer: VkCommandBuffer,
9856 pSampleLocationsInfo: *const VkSampleLocationsInfoEXT,
9857 ),
9858>;
9859pub type PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT = ::std::option::Option<
9860 unsafe extern "system" fn(
9861 physicalDevice: VkPhysicalDevice,
9862 samples: VkSampleCountFlagBits,
9863 pMultisampleProperties: *mut VkMultisamplePropertiesEXT,
9864 ),
9865>;
9866extern "system" {
9867 pub fn vkCmdSetSampleLocationsEXT(
9868 commandBuffer: VkCommandBuffer,
9869 pSampleLocationsInfo: *const VkSampleLocationsInfoEXT,
9870 );
9871}
9872extern "system" {
9873 pub fn vkGetPhysicalDeviceMultisamplePropertiesEXT(
9874 physicalDevice: VkPhysicalDevice,
9875 samples: VkSampleCountFlagBits,
9876 pMultisampleProperties: *mut VkMultisamplePropertiesEXT,
9877 );
9878}
9879pub const VK_BLEND_OVERLAP_UNCORRELATED_EXT: VkBlendOverlapEXT = 0;
9880pub const VK_BLEND_OVERLAP_DISJOINT_EXT: VkBlendOverlapEXT = 1;
9881pub const VK_BLEND_OVERLAP_CONJOINT_EXT: VkBlendOverlapEXT = 2;
9882pub const VK_BLEND_OVERLAP_BEGIN_RANGE_EXT: VkBlendOverlapEXT = 0;
9883pub const VK_BLEND_OVERLAP_END_RANGE_EXT: VkBlendOverlapEXT = 2;
9884pub const VK_BLEND_OVERLAP_RANGE_SIZE_EXT: VkBlendOverlapEXT = 3;
9885pub const VK_BLEND_OVERLAP_MAX_ENUM_EXT: VkBlendOverlapEXT = 2147483647;
9886pub type VkBlendOverlapEXT = i32;
9887#[repr(C)]
9888#[derive(Copy, Clone)]
9889pub struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
9890 pub sType: VkStructureType,
9891 pub pNext: *mut ::std::os::raw::c_void,
9892 pub advancedBlendCoherentOperations: VkBool32,
9893}
9894#[repr(C)]
9895#[derive(Copy, Clone)]
9896pub struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {
9897 pub sType: VkStructureType,
9898 pub pNext: *mut ::std::os::raw::c_void,
9899 pub advancedBlendMaxColorAttachments: u32,
9900 pub advancedBlendIndependentBlend: VkBool32,
9901 pub advancedBlendNonPremultipliedSrcColor: VkBool32,
9902 pub advancedBlendNonPremultipliedDstColor: VkBool32,
9903 pub advancedBlendCorrelatedOverlap: VkBool32,
9904 pub advancedBlendAllOperations: VkBool32,
9905}
9906#[repr(C)]
9907#[derive(Copy, Clone)]
9908pub struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
9909 pub sType: VkStructureType,
9910 pub pNext: *const ::std::os::raw::c_void,
9911 pub srcPremultiplied: VkBool32,
9912 pub dstPremultiplied: VkBool32,
9913 pub blendOverlap: VkBlendOverlapEXT,
9914}
9915pub type VkPipelineCoverageToColorStateCreateFlagsNV = VkFlags;
9916#[repr(C)]
9917#[derive(Copy, Clone)]
9918pub struct VkPipelineCoverageToColorStateCreateInfoNV {
9919 pub sType: VkStructureType,
9920 pub pNext: *const ::std::os::raw::c_void,
9921 pub flags: VkPipelineCoverageToColorStateCreateFlagsNV,
9922 pub coverageToColorEnable: VkBool32,
9923 pub coverageToColorLocation: u32,
9924}
9925pub const VK_COVERAGE_MODULATION_MODE_NONE_NV: VkCoverageModulationModeNV = 0;
9926pub const VK_COVERAGE_MODULATION_MODE_RGB_NV: VkCoverageModulationModeNV = 1;
9927pub const VK_COVERAGE_MODULATION_MODE_ALPHA_NV: VkCoverageModulationModeNV = 2;
9928pub const VK_COVERAGE_MODULATION_MODE_RGBA_NV: VkCoverageModulationModeNV = 3;
9929pub const VK_COVERAGE_MODULATION_MODE_BEGIN_RANGE_NV: VkCoverageModulationModeNV = 0;
9930pub const VK_COVERAGE_MODULATION_MODE_END_RANGE_NV: VkCoverageModulationModeNV = 3;
9931pub const VK_COVERAGE_MODULATION_MODE_RANGE_SIZE_NV: VkCoverageModulationModeNV = 4;
9932pub const VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV: VkCoverageModulationModeNV = 2147483647;
9933pub type VkCoverageModulationModeNV = i32;
9934pub type VkPipelineCoverageModulationStateCreateFlagsNV = VkFlags;
9935#[repr(C)]
9936#[derive(Copy, Clone)]
9937pub struct VkPipelineCoverageModulationStateCreateInfoNV {
9938 pub sType: VkStructureType,
9939 pub pNext: *const ::std::os::raw::c_void,
9940 pub flags: VkPipelineCoverageModulationStateCreateFlagsNV,
9941 pub coverageModulationMode: VkCoverageModulationModeNV,
9942 pub coverageModulationTableEnable: VkBool32,
9943 pub coverageModulationTableCount: u32,
9944 pub pCoverageModulationTable: *const f32,
9945}
9946#[repr(C)]
9947#[derive(Copy, Clone)]
9948pub struct VkDrmFormatModifierPropertiesEXT {
9949 pub drmFormatModifier: u64,
9950 pub drmFormatModifierPlaneCount: u32,
9951 pub drmFormatModifierTilingFeatures: VkFormatFeatureFlags,
9952}
9953#[repr(C)]
9954#[derive(Copy, Clone)]
9955pub struct VkDrmFormatModifierPropertiesListEXT {
9956 pub sType: VkStructureType,
9957 pub pNext: *mut ::std::os::raw::c_void,
9958 pub drmFormatModifierCount: u32,
9959 pub pDrmFormatModifierProperties: *mut VkDrmFormatModifierPropertiesEXT,
9960}
9961#[repr(C)]
9962#[derive(Copy, Clone)]
9963pub struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT {
9964 pub sType: VkStructureType,
9965 pub pNext: *const ::std::os::raw::c_void,
9966 pub drmFormatModifier: u64,
9967 pub sharingMode: VkSharingMode,
9968 pub queueFamilyIndexCount: u32,
9969 pub pQueueFamilyIndices: *const u32,
9970}
9971#[repr(C)]
9972#[derive(Copy, Clone)]
9973pub struct VkImageDrmFormatModifierListCreateInfoEXT {
9974 pub sType: VkStructureType,
9975 pub pNext: *const ::std::os::raw::c_void,
9976 pub drmFormatModifierCount: u32,
9977 pub pDrmFormatModifiers: *const u64,
9978}
9979#[repr(C)]
9980#[derive(Copy, Clone)]
9981pub struct VkImageDrmFormatModifierExplicitCreateInfoEXT {
9982 pub sType: VkStructureType,
9983 pub pNext: *const ::std::os::raw::c_void,
9984 pub drmFormatModifier: u64,
9985 pub drmFormatModifierPlaneCount: u32,
9986 pub pPlaneLayouts: *const VkSubresourceLayout,
9987}
9988#[repr(C)]
9989#[derive(Copy, Clone)]
9990pub struct VkImageDrmFormatModifierPropertiesEXT {
9991 pub sType: VkStructureType,
9992 pub pNext: *mut ::std::os::raw::c_void,
9993 pub drmFormatModifier: u64,
9994}
9995pub type PFN_vkGetImageDrmFormatModifierPropertiesEXT = ::std::option::Option<
9996 unsafe extern "system" fn(
9997 device: VkDevice,
9998 image: VkImage,
9999 pProperties: *mut VkImageDrmFormatModifierPropertiesEXT,
10000 ) -> VkResult,
10001>;
10002extern "system" {
10003 pub fn vkGetImageDrmFormatModifierPropertiesEXT(
10004 device: VkDevice,
10005 image: VkImage,
10006 pProperties: *mut VkImageDrmFormatModifierPropertiesEXT,
10007 ) -> VkResult;
10008}
10009#[repr(C)]
10010#[derive(Copy, Clone)]
10011pub struct VkValidationCacheEXT_T {
10012 _unused: [u8; 0],
10013}
10014pub type VkValidationCacheEXT = *mut VkValidationCacheEXT_T;
10015pub const VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT: VkValidationCacheHeaderVersionEXT = 1;
10016pub const VK_VALIDATION_CACHE_HEADER_VERSION_BEGIN_RANGE_EXT: VkValidationCacheHeaderVersionEXT = 1;
10017pub const VK_VALIDATION_CACHE_HEADER_VERSION_END_RANGE_EXT: VkValidationCacheHeaderVersionEXT = 1;
10018pub const VK_VALIDATION_CACHE_HEADER_VERSION_RANGE_SIZE_EXT: VkValidationCacheHeaderVersionEXT = 1;
10019pub const VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT: VkValidationCacheHeaderVersionEXT =
10020 2147483647;
10021pub type VkValidationCacheHeaderVersionEXT = i32;
10022pub type VkValidationCacheCreateFlagsEXT = VkFlags;
10023#[repr(C)]
10024#[derive(Copy, Clone)]
10025pub struct VkValidationCacheCreateInfoEXT {
10026 pub sType: VkStructureType,
10027 pub pNext: *const ::std::os::raw::c_void,
10028 pub flags: VkValidationCacheCreateFlagsEXT,
10029 pub initialDataSize: usize,
10030 pub pInitialData: *const ::std::os::raw::c_void,
10031}
10032#[repr(C)]
10033#[derive(Copy, Clone)]
10034pub struct VkShaderModuleValidationCacheCreateInfoEXT {
10035 pub sType: VkStructureType,
10036 pub pNext: *const ::std::os::raw::c_void,
10037 pub validationCache: VkValidationCacheEXT,
10038}
10039pub type PFN_vkCreateValidationCacheEXT = ::std::option::Option<
10040 unsafe extern "system" fn(
10041 device: VkDevice,
10042 pCreateInfo: *const VkValidationCacheCreateInfoEXT,
10043 pAllocator: *const VkAllocationCallbacks,
10044 pValidationCache: *mut VkValidationCacheEXT,
10045 ) -> VkResult,
10046>;
10047pub type PFN_vkDestroyValidationCacheEXT = ::std::option::Option<
10048 unsafe extern "system" fn(
10049 device: VkDevice,
10050 validationCache: VkValidationCacheEXT,
10051 pAllocator: *const VkAllocationCallbacks,
10052 ),
10053>;
10054pub type PFN_vkMergeValidationCachesEXT = ::std::option::Option<
10055 unsafe extern "system" fn(
10056 device: VkDevice,
10057 dstCache: VkValidationCacheEXT,
10058 srcCacheCount: u32,
10059 pSrcCaches: *const VkValidationCacheEXT,
10060 ) -> VkResult,
10061>;
10062pub type PFN_vkGetValidationCacheDataEXT = ::std::option::Option<
10063 unsafe extern "system" fn(
10064 device: VkDevice,
10065 validationCache: VkValidationCacheEXT,
10066 pDataSize: *mut usize,
10067 pData: *mut ::std::os::raw::c_void,
10068 ) -> VkResult,
10069>;
10070extern "system" {
10071 pub fn vkCreateValidationCacheEXT(
10072 device: VkDevice,
10073 pCreateInfo: *const VkValidationCacheCreateInfoEXT,
10074 pAllocator: *const VkAllocationCallbacks,
10075 pValidationCache: *mut VkValidationCacheEXT,
10076 ) -> VkResult;
10077}
10078extern "system" {
10079 pub fn vkDestroyValidationCacheEXT(
10080 device: VkDevice,
10081 validationCache: VkValidationCacheEXT,
10082 pAllocator: *const VkAllocationCallbacks,
10083 );
10084}
10085extern "system" {
10086 pub fn vkMergeValidationCachesEXT(
10087 device: VkDevice,
10088 dstCache: VkValidationCacheEXT,
10089 srcCacheCount: u32,
10090 pSrcCaches: *const VkValidationCacheEXT,
10091 ) -> VkResult;
10092}
10093extern "system" {
10094 pub fn vkGetValidationCacheDataEXT(
10095 device: VkDevice,
10096 validationCache: VkValidationCacheEXT,
10097 pDataSize: *mut usize,
10098 pData: *mut ::std::os::raw::c_void,
10099 ) -> VkResult;
10100}
10101pub const VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT: VkDescriptorBindingFlagBitsEXT = 1;
10102pub const VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT:
10103 VkDescriptorBindingFlagBitsEXT = 2;
10104pub const VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT: VkDescriptorBindingFlagBitsEXT = 4;
10105pub const VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT: VkDescriptorBindingFlagBitsEXT =
10106 8;
10107pub const VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM_EXT: VkDescriptorBindingFlagBitsEXT = 2147483647;
10108pub type VkDescriptorBindingFlagBitsEXT = i32;
10109pub type VkDescriptorBindingFlagsEXT = VkFlags;
10110#[repr(C)]
10111#[derive(Copy, Clone)]
10112pub struct VkDescriptorSetLayoutBindingFlagsCreateInfoEXT {
10113 pub sType: VkStructureType,
10114 pub pNext: *const ::std::os::raw::c_void,
10115 pub bindingCount: u32,
10116 pub pBindingFlags: *const VkDescriptorBindingFlagsEXT,
10117}
10118#[repr(C)]
10119#[derive(Copy, Clone)]
10120pub struct VkPhysicalDeviceDescriptorIndexingFeaturesEXT {
10121 pub sType: VkStructureType,
10122 pub pNext: *mut ::std::os::raw::c_void,
10123 pub shaderInputAttachmentArrayDynamicIndexing: VkBool32,
10124 pub shaderUniformTexelBufferArrayDynamicIndexing: VkBool32,
10125 pub shaderStorageTexelBufferArrayDynamicIndexing: VkBool32,
10126 pub shaderUniformBufferArrayNonUniformIndexing: VkBool32,
10127 pub shaderSampledImageArrayNonUniformIndexing: VkBool32,
10128 pub shaderStorageBufferArrayNonUniformIndexing: VkBool32,
10129 pub shaderStorageImageArrayNonUniformIndexing: VkBool32,
10130 pub shaderInputAttachmentArrayNonUniformIndexing: VkBool32,
10131 pub shaderUniformTexelBufferArrayNonUniformIndexing: VkBool32,
10132 pub shaderStorageTexelBufferArrayNonUniformIndexing: VkBool32,
10133 pub descriptorBindingUniformBufferUpdateAfterBind: VkBool32,
10134 pub descriptorBindingSampledImageUpdateAfterBind: VkBool32,
10135 pub descriptorBindingStorageImageUpdateAfterBind: VkBool32,
10136 pub descriptorBindingStorageBufferUpdateAfterBind: VkBool32,
10137 pub descriptorBindingUniformTexelBufferUpdateAfterBind: VkBool32,
10138 pub descriptorBindingStorageTexelBufferUpdateAfterBind: VkBool32,
10139 pub descriptorBindingUpdateUnusedWhilePending: VkBool32,
10140 pub descriptorBindingPartiallyBound: VkBool32,
10141 pub descriptorBindingVariableDescriptorCount: VkBool32,
10142 pub runtimeDescriptorArray: VkBool32,
10143}
10144#[repr(C)]
10145#[derive(Copy, Clone)]
10146pub struct VkPhysicalDeviceDescriptorIndexingPropertiesEXT {
10147 pub sType: VkStructureType,
10148 pub pNext: *mut ::std::os::raw::c_void,
10149 pub maxUpdateAfterBindDescriptorsInAllPools: u32,
10150 pub shaderUniformBufferArrayNonUniformIndexingNative: VkBool32,
10151 pub shaderSampledImageArrayNonUniformIndexingNative: VkBool32,
10152 pub shaderStorageBufferArrayNonUniformIndexingNative: VkBool32,
10153 pub shaderStorageImageArrayNonUniformIndexingNative: VkBool32,
10154 pub shaderInputAttachmentArrayNonUniformIndexingNative: VkBool32,
10155 pub robustBufferAccessUpdateAfterBind: VkBool32,
10156 pub quadDivergentImplicitLod: VkBool32,
10157 pub maxPerStageDescriptorUpdateAfterBindSamplers: u32,
10158 pub maxPerStageDescriptorUpdateAfterBindUniformBuffers: u32,
10159 pub maxPerStageDescriptorUpdateAfterBindStorageBuffers: u32,
10160 pub maxPerStageDescriptorUpdateAfterBindSampledImages: u32,
10161 pub maxPerStageDescriptorUpdateAfterBindStorageImages: u32,
10162 pub maxPerStageDescriptorUpdateAfterBindInputAttachments: u32,
10163 pub maxPerStageUpdateAfterBindResources: u32,
10164 pub maxDescriptorSetUpdateAfterBindSamplers: u32,
10165 pub maxDescriptorSetUpdateAfterBindUniformBuffers: u32,
10166 pub maxDescriptorSetUpdateAfterBindUniformBuffersDynamic: u32,
10167 pub maxDescriptorSetUpdateAfterBindStorageBuffers: u32,
10168 pub maxDescriptorSetUpdateAfterBindStorageBuffersDynamic: u32,
10169 pub maxDescriptorSetUpdateAfterBindSampledImages: u32,
10170 pub maxDescriptorSetUpdateAfterBindStorageImages: u32,
10171 pub maxDescriptorSetUpdateAfterBindInputAttachments: u32,
10172}
10173#[repr(C)]
10174#[derive(Copy, Clone)]
10175pub struct VkDescriptorSetVariableDescriptorCountAllocateInfoEXT {
10176 pub sType: VkStructureType,
10177 pub pNext: *const ::std::os::raw::c_void,
10178 pub descriptorSetCount: u32,
10179 pub pDescriptorCounts: *const u32,
10180}
10181#[repr(C)]
10182#[derive(Copy, Clone)]
10183pub struct VkDescriptorSetVariableDescriptorCountLayoutSupportEXT {
10184 pub sType: VkStructureType,
10185 pub pNext: *mut ::std::os::raw::c_void,
10186 pub maxVariableDescriptorCount: u32,
10187}
10188pub const VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV: VkShadingRatePaletteEntryNV = 0;
10189pub const VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV: VkShadingRatePaletteEntryNV =
10190 1;
10191pub const VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV: VkShadingRatePaletteEntryNV = 2;
10192pub const VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV: VkShadingRatePaletteEntryNV = 3;
10193pub const VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV: VkShadingRatePaletteEntryNV = 4;
10194pub const VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV: VkShadingRatePaletteEntryNV = 5;
10195pub const VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV:
10196 VkShadingRatePaletteEntryNV = 6;
10197pub const VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV:
10198 VkShadingRatePaletteEntryNV = 7;
10199pub const VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV:
10200 VkShadingRatePaletteEntryNV = 8;
10201pub const VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV:
10202 VkShadingRatePaletteEntryNV = 9;
10203pub const VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV:
10204 VkShadingRatePaletteEntryNV = 10;
10205pub const VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV:
10206 VkShadingRatePaletteEntryNV = 11;
10207pub const VK_SHADING_RATE_PALETTE_ENTRY_BEGIN_RANGE_NV: VkShadingRatePaletteEntryNV = 0;
10208pub const VK_SHADING_RATE_PALETTE_ENTRY_END_RANGE_NV: VkShadingRatePaletteEntryNV = 11;
10209pub const VK_SHADING_RATE_PALETTE_ENTRY_RANGE_SIZE_NV: VkShadingRatePaletteEntryNV = 12;
10210pub const VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV: VkShadingRatePaletteEntryNV = 2147483647;
10211pub type VkShadingRatePaletteEntryNV = i32;
10212pub const VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV: VkCoarseSampleOrderTypeNV = 0;
10213pub const VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV: VkCoarseSampleOrderTypeNV = 1;
10214pub const VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV: VkCoarseSampleOrderTypeNV = 2;
10215pub const VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV: VkCoarseSampleOrderTypeNV = 3;
10216pub const VK_COARSE_SAMPLE_ORDER_TYPE_BEGIN_RANGE_NV: VkCoarseSampleOrderTypeNV = 0;
10217pub const VK_COARSE_SAMPLE_ORDER_TYPE_END_RANGE_NV: VkCoarseSampleOrderTypeNV = 3;
10218pub const VK_COARSE_SAMPLE_ORDER_TYPE_RANGE_SIZE_NV: VkCoarseSampleOrderTypeNV = 4;
10219pub const VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV: VkCoarseSampleOrderTypeNV = 2147483647;
10220pub type VkCoarseSampleOrderTypeNV = i32;
10221#[repr(C)]
10222#[derive(Copy, Clone)]
10223pub struct VkShadingRatePaletteNV {
10224 pub shadingRatePaletteEntryCount: u32,
10225 pub pShadingRatePaletteEntries: *const VkShadingRatePaletteEntryNV,
10226}
10227#[repr(C)]
10228#[derive(Copy, Clone)]
10229pub struct VkPipelineViewportShadingRateImageStateCreateInfoNV {
10230 pub sType: VkStructureType,
10231 pub pNext: *const ::std::os::raw::c_void,
10232 pub shadingRateImageEnable: VkBool32,
10233 pub viewportCount: u32,
10234 pub pShadingRatePalettes: *const VkShadingRatePaletteNV,
10235}
10236#[repr(C)]
10237#[derive(Copy, Clone)]
10238pub struct VkPhysicalDeviceShadingRateImageFeaturesNV {
10239 pub sType: VkStructureType,
10240 pub pNext: *mut ::std::os::raw::c_void,
10241 pub shadingRateImage: VkBool32,
10242 pub shadingRateCoarseSampleOrder: VkBool32,
10243}
10244#[repr(C)]
10245#[derive(Copy, Clone)]
10246pub struct VkPhysicalDeviceShadingRateImagePropertiesNV {
10247 pub sType: VkStructureType,
10248 pub pNext: *mut ::std::os::raw::c_void,
10249 pub shadingRateTexelSize: VkExtent2D,
10250 pub shadingRatePaletteSize: u32,
10251 pub shadingRateMaxCoarseSamples: u32,
10252}
10253#[repr(C)]
10254#[derive(Copy, Clone)]
10255pub struct VkCoarseSampleLocationNV {
10256 pub pixelX: u32,
10257 pub pixelY: u32,
10258 pub sample: u32,
10259}
10260#[repr(C)]
10261#[derive(Copy, Clone)]
10262pub struct VkCoarseSampleOrderCustomNV {
10263 pub shadingRate: VkShadingRatePaletteEntryNV,
10264 pub sampleCount: u32,
10265 pub sampleLocationCount: u32,
10266 pub pSampleLocations: *const VkCoarseSampleLocationNV,
10267}
10268#[repr(C)]
10269#[derive(Copy, Clone)]
10270pub struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV {
10271 pub sType: VkStructureType,
10272 pub pNext: *const ::std::os::raw::c_void,
10273 pub sampleOrderType: VkCoarseSampleOrderTypeNV,
10274 pub customSampleOrderCount: u32,
10275 pub pCustomSampleOrders: *const VkCoarseSampleOrderCustomNV,
10276}
10277pub type PFN_vkCmdBindShadingRateImageNV = ::std::option::Option<
10278 unsafe extern "system" fn(
10279 commandBuffer: VkCommandBuffer,
10280 imageView: VkImageView,
10281 imageLayout: VkImageLayout,
10282 ),
10283>;
10284pub type PFN_vkCmdSetViewportShadingRatePaletteNV = ::std::option::Option<
10285 unsafe extern "system" fn(
10286 commandBuffer: VkCommandBuffer,
10287 firstViewport: u32,
10288 viewportCount: u32,
10289 pShadingRatePalettes: *const VkShadingRatePaletteNV,
10290 ),
10291>;
10292pub type PFN_vkCmdSetCoarseSampleOrderNV = ::std::option::Option<
10293 unsafe extern "system" fn(
10294 commandBuffer: VkCommandBuffer,
10295 sampleOrderType: VkCoarseSampleOrderTypeNV,
10296 customSampleOrderCount: u32,
10297 pCustomSampleOrders: *const VkCoarseSampleOrderCustomNV,
10298 ),
10299>;
10300extern "system" {
10301 pub fn vkCmdBindShadingRateImageNV(
10302 commandBuffer: VkCommandBuffer,
10303 imageView: VkImageView,
10304 imageLayout: VkImageLayout,
10305 );
10306}
10307extern "system" {
10308 pub fn vkCmdSetViewportShadingRatePaletteNV(
10309 commandBuffer: VkCommandBuffer,
10310 firstViewport: u32,
10311 viewportCount: u32,
10312 pShadingRatePalettes: *const VkShadingRatePaletteNV,
10313 );
10314}
10315extern "system" {
10316 pub fn vkCmdSetCoarseSampleOrderNV(
10317 commandBuffer: VkCommandBuffer,
10318 sampleOrderType: VkCoarseSampleOrderTypeNV,
10319 customSampleOrderCount: u32,
10320 pCustomSampleOrders: *const VkCoarseSampleOrderCustomNV,
10321 );
10322}
10323#[repr(C)]
10324#[derive(Copy, Clone)]
10325pub struct VkAccelerationStructureNV_T {
10326 _unused: [u8; 0],
10327}
10328pub type VkAccelerationStructureNV = *mut VkAccelerationStructureNV_T;
10329pub const VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV: VkRayTracingShaderGroupTypeNV = 0;
10330pub const VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV: VkRayTracingShaderGroupTypeNV =
10331 1;
10332pub const VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV: VkRayTracingShaderGroupTypeNV =
10333 2;
10334pub const VK_RAY_TRACING_SHADER_GROUP_TYPE_BEGIN_RANGE_NV: VkRayTracingShaderGroupTypeNV = 0;
10335pub const VK_RAY_TRACING_SHADER_GROUP_TYPE_END_RANGE_NV: VkRayTracingShaderGroupTypeNV = 2;
10336pub const VK_RAY_TRACING_SHADER_GROUP_TYPE_RANGE_SIZE_NV: VkRayTracingShaderGroupTypeNV = 3;
10337pub const VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_NV: VkRayTracingShaderGroupTypeNV = 2147483647;
10338pub type VkRayTracingShaderGroupTypeNV = i32;
10339pub const VK_GEOMETRY_TYPE_TRIANGLES_NV: VkGeometryTypeNV = 0;
10340pub const VK_GEOMETRY_TYPE_AABBS_NV: VkGeometryTypeNV = 1;
10341pub const VK_GEOMETRY_TYPE_BEGIN_RANGE_NV: VkGeometryTypeNV = 0;
10342pub const VK_GEOMETRY_TYPE_END_RANGE_NV: VkGeometryTypeNV = 1;
10343pub const VK_GEOMETRY_TYPE_RANGE_SIZE_NV: VkGeometryTypeNV = 2;
10344pub const VK_GEOMETRY_TYPE_MAX_ENUM_NV: VkGeometryTypeNV = 2147483647;
10345pub type VkGeometryTypeNV = i32;
10346pub const VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV: VkAccelerationStructureTypeNV = 0;
10347pub const VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV: VkAccelerationStructureTypeNV = 1;
10348pub const VK_ACCELERATION_STRUCTURE_TYPE_BEGIN_RANGE_NV: VkAccelerationStructureTypeNV = 0;
10349pub const VK_ACCELERATION_STRUCTURE_TYPE_END_RANGE_NV: VkAccelerationStructureTypeNV = 1;
10350pub const VK_ACCELERATION_STRUCTURE_TYPE_RANGE_SIZE_NV: VkAccelerationStructureTypeNV = 2;
10351pub const VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_NV: VkAccelerationStructureTypeNV = 2147483647;
10352pub type VkAccelerationStructureTypeNV = i32;
10353pub const VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV: VkCopyAccelerationStructureModeNV = 0;
10354pub const VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV: VkCopyAccelerationStructureModeNV = 1;
10355pub const VK_COPY_ACCELERATION_STRUCTURE_MODE_BEGIN_RANGE_NV: VkCopyAccelerationStructureModeNV = 0;
10356pub const VK_COPY_ACCELERATION_STRUCTURE_MODE_END_RANGE_NV: VkCopyAccelerationStructureModeNV = 1;
10357pub const VK_COPY_ACCELERATION_STRUCTURE_MODE_RANGE_SIZE_NV: VkCopyAccelerationStructureModeNV = 2;
10358pub const VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_NV: VkCopyAccelerationStructureModeNV =
10359 2147483647;
10360pub type VkCopyAccelerationStructureModeNV = i32;
10361pub const VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV:
10362 VkAccelerationStructureMemoryRequirementsTypeNV = 0;
10363pub const VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV:
10364 VkAccelerationStructureMemoryRequirementsTypeNV = 1;
10365pub const VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV:
10366 VkAccelerationStructureMemoryRequirementsTypeNV = 2;
10367pub const VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BEGIN_RANGE_NV:
10368 VkAccelerationStructureMemoryRequirementsTypeNV = 0;
10369pub const VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_END_RANGE_NV:
10370 VkAccelerationStructureMemoryRequirementsTypeNV = 2;
10371pub const VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_RANGE_SIZE_NV:
10372 VkAccelerationStructureMemoryRequirementsTypeNV = 3;
10373pub const VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV:
10374 VkAccelerationStructureMemoryRequirementsTypeNV = 2147483647;
10375pub type VkAccelerationStructureMemoryRequirementsTypeNV = i32;
10376pub const VK_GEOMETRY_OPAQUE_BIT_NV: VkGeometryFlagBitsNV = 1;
10377pub const VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV: VkGeometryFlagBitsNV = 2;
10378pub const VK_GEOMETRY_FLAG_BITS_MAX_ENUM_NV: VkGeometryFlagBitsNV = 2147483647;
10379pub type VkGeometryFlagBitsNV = i32;
10380pub type VkGeometryFlagsNV = VkFlags;
10381pub const VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV: VkGeometryInstanceFlagBitsNV = 1;
10382pub const VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV:
10383 VkGeometryInstanceFlagBitsNV = 2;
10384pub const VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV: VkGeometryInstanceFlagBitsNV = 4;
10385pub const VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV: VkGeometryInstanceFlagBitsNV = 8;
10386pub const VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_NV: VkGeometryInstanceFlagBitsNV = 2147483647;
10387pub type VkGeometryInstanceFlagBitsNV = i32;
10388pub type VkGeometryInstanceFlagsNV = VkFlags;
10389pub const VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV:
10390 VkBuildAccelerationStructureFlagBitsNV = 1;
10391pub const VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV:
10392 VkBuildAccelerationStructureFlagBitsNV = 2;
10393pub const VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV:
10394 VkBuildAccelerationStructureFlagBitsNV = 4;
10395pub const VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV:
10396 VkBuildAccelerationStructureFlagBitsNV = 8;
10397pub const VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV:
10398 VkBuildAccelerationStructureFlagBitsNV = 16;
10399pub const VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_NV:
10400 VkBuildAccelerationStructureFlagBitsNV = 2147483647;
10401pub type VkBuildAccelerationStructureFlagBitsNV = i32;
10402pub type VkBuildAccelerationStructureFlagsNV = VkFlags;
10403#[repr(C)]
10404#[derive(Copy, Clone)]
10405pub struct VkRayTracingShaderGroupCreateInfoNV {
10406 pub sType: VkStructureType,
10407 pub pNext: *const ::std::os::raw::c_void,
10408 pub type_: VkRayTracingShaderGroupTypeNV,
10409 pub generalShader: u32,
10410 pub closestHitShader: u32,
10411 pub anyHitShader: u32,
10412 pub intersectionShader: u32,
10413}
10414#[repr(C)]
10415#[derive(Copy, Clone)]
10416pub struct VkRayTracingPipelineCreateInfoNV {
10417 pub sType: VkStructureType,
10418 pub pNext: *const ::std::os::raw::c_void,
10419 pub flags: VkPipelineCreateFlags,
10420 pub stageCount: u32,
10421 pub pStages: *const VkPipelineShaderStageCreateInfo,
10422 pub groupCount: u32,
10423 pub pGroups: *const VkRayTracingShaderGroupCreateInfoNV,
10424 pub maxRecursionDepth: u32,
10425 pub layout: VkPipelineLayout,
10426 pub basePipelineHandle: VkPipeline,
10427 pub basePipelineIndex: i32,
10428}
10429#[repr(C)]
10430#[derive(Copy, Clone)]
10431pub struct VkGeometryTrianglesNV {
10432 pub sType: VkStructureType,
10433 pub pNext: *const ::std::os::raw::c_void,
10434 pub vertexData: VkBuffer,
10435 pub vertexOffset: VkDeviceSize,
10436 pub vertexCount: u32,
10437 pub vertexStride: VkDeviceSize,
10438 pub vertexFormat: VkFormat,
10439 pub indexData: VkBuffer,
10440 pub indexOffset: VkDeviceSize,
10441 pub indexCount: u32,
10442 pub indexType: VkIndexType,
10443 pub transformData: VkBuffer,
10444 pub transformOffset: VkDeviceSize,
10445}
10446#[repr(C)]
10447#[derive(Copy, Clone)]
10448pub struct VkGeometryAABBNV {
10449 pub sType: VkStructureType,
10450 pub pNext: *const ::std::os::raw::c_void,
10451 pub aabbData: VkBuffer,
10452 pub numAABBs: u32,
10453 pub stride: u32,
10454 pub offset: VkDeviceSize,
10455}
10456#[repr(C)]
10457#[derive(Copy, Clone)]
10458pub struct VkGeometryDataNV {
10459 pub triangles: VkGeometryTrianglesNV,
10460 pub aabbs: VkGeometryAABBNV,
10461}
10462#[repr(C)]
10463#[derive(Copy, Clone)]
10464pub struct VkGeometryNV {
10465 pub sType: VkStructureType,
10466 pub pNext: *const ::std::os::raw::c_void,
10467 pub geometryType: VkGeometryTypeNV,
10468 pub geometry: VkGeometryDataNV,
10469 pub flags: VkGeometryFlagsNV,
10470}
10471#[repr(C)]
10472#[derive(Copy, Clone)]
10473pub struct VkAccelerationStructureInfoNV {
10474 pub sType: VkStructureType,
10475 pub pNext: *const ::std::os::raw::c_void,
10476 pub type_: VkAccelerationStructureTypeNV,
10477 pub flags: VkBuildAccelerationStructureFlagsNV,
10478 pub instanceCount: u32,
10479 pub geometryCount: u32,
10480 pub pGeometries: *const VkGeometryNV,
10481}
10482#[repr(C)]
10483#[derive(Copy, Clone)]
10484pub struct VkAccelerationStructureCreateInfoNV {
10485 pub sType: VkStructureType,
10486 pub pNext: *const ::std::os::raw::c_void,
10487 pub compactedSize: VkDeviceSize,
10488 pub info: VkAccelerationStructureInfoNV,
10489}
10490#[repr(C)]
10491#[derive(Copy, Clone)]
10492pub struct VkBindAccelerationStructureMemoryInfoNV {
10493 pub sType: VkStructureType,
10494 pub pNext: *const ::std::os::raw::c_void,
10495 pub accelerationStructure: VkAccelerationStructureNV,
10496 pub memory: VkDeviceMemory,
10497 pub memoryOffset: VkDeviceSize,
10498 pub deviceIndexCount: u32,
10499 pub pDeviceIndices: *const u32,
10500}
10501#[repr(C)]
10502#[derive(Copy, Clone)]
10503pub struct VkWriteDescriptorSetAccelerationStructureNV {
10504 pub sType: VkStructureType,
10505 pub pNext: *const ::std::os::raw::c_void,
10506 pub accelerationStructureCount: u32,
10507 pub pAccelerationStructures: *const VkAccelerationStructureNV,
10508}
10509#[repr(C)]
10510#[derive(Copy, Clone)]
10511pub struct VkAccelerationStructureMemoryRequirementsInfoNV {
10512 pub sType: VkStructureType,
10513 pub pNext: *const ::std::os::raw::c_void,
10514 pub type_: VkAccelerationStructureMemoryRequirementsTypeNV,
10515 pub accelerationStructure: VkAccelerationStructureNV,
10516}
10517#[repr(C)]
10518#[derive(Copy, Clone)]
10519pub struct VkPhysicalDeviceRayTracingPropertiesNV {
10520 pub sType: VkStructureType,
10521 pub pNext: *mut ::std::os::raw::c_void,
10522 pub shaderGroupHandleSize: u32,
10523 pub maxRecursionDepth: u32,
10524 pub maxShaderGroupStride: u32,
10525 pub shaderGroupBaseAlignment: u32,
10526 pub maxGeometryCount: u64,
10527 pub maxInstanceCount: u64,
10528 pub maxTriangleCount: u64,
10529 pub maxDescriptorSetAccelerationStructures: u32,
10530}
10531pub type PFN_vkCreateAccelerationStructureNV = ::std::option::Option<
10532 unsafe extern "system" fn(
10533 device: VkDevice,
10534 pCreateInfo: *const VkAccelerationStructureCreateInfoNV,
10535 pAllocator: *const VkAllocationCallbacks,
10536 pAccelerationStructure: *mut VkAccelerationStructureNV,
10537 ) -> VkResult,
10538>;
10539pub type PFN_vkDestroyAccelerationStructureNV = ::std::option::Option<
10540 unsafe extern "system" fn(
10541 device: VkDevice,
10542 accelerationStructure: VkAccelerationStructureNV,
10543 pAllocator: *const VkAllocationCallbacks,
10544 ),
10545>;
10546pub type PFN_vkGetAccelerationStructureMemoryRequirementsNV = ::std::option::Option<
10547 unsafe extern "system" fn(
10548 device: VkDevice,
10549 pInfo: *const VkAccelerationStructureMemoryRequirementsInfoNV,
10550 pMemoryRequirements: *mut VkMemoryRequirements2KHR,
10551 ),
10552>;
10553pub type PFN_vkBindAccelerationStructureMemoryNV = ::std::option::Option<
10554 unsafe extern "system" fn(
10555 device: VkDevice,
10556 bindInfoCount: u32,
10557 pBindInfos: *const VkBindAccelerationStructureMemoryInfoNV,
10558 ) -> VkResult,
10559>;
10560pub type PFN_vkCmdBuildAccelerationStructureNV = ::std::option::Option<
10561 unsafe extern "system" fn(
10562 commandBuffer: VkCommandBuffer,
10563 pInfo: *const VkAccelerationStructureInfoNV,
10564 instanceData: VkBuffer,
10565 instanceOffset: VkDeviceSize,
10566 update: VkBool32,
10567 dst: VkAccelerationStructureNV,
10568 src: VkAccelerationStructureNV,
10569 scratch: VkBuffer,
10570 scratchOffset: VkDeviceSize,
10571 ),
10572>;
10573pub type PFN_vkCmdCopyAccelerationStructureNV = ::std::option::Option<
10574 unsafe extern "system" fn(
10575 commandBuffer: VkCommandBuffer,
10576 dst: VkAccelerationStructureNV,
10577 src: VkAccelerationStructureNV,
10578 mode: VkCopyAccelerationStructureModeNV,
10579 ),
10580>;
10581pub type PFN_vkCmdTraceRaysNV = ::std::option::Option<
10582 unsafe extern "system" fn(
10583 commandBuffer: VkCommandBuffer,
10584 raygenShaderBindingTableBuffer: VkBuffer,
10585 raygenShaderBindingOffset: VkDeviceSize,
10586 missShaderBindingTableBuffer: VkBuffer,
10587 missShaderBindingOffset: VkDeviceSize,
10588 missShaderBindingStride: VkDeviceSize,
10589 hitShaderBindingTableBuffer: VkBuffer,
10590 hitShaderBindingOffset: VkDeviceSize,
10591 hitShaderBindingStride: VkDeviceSize,
10592 callableShaderBindingTableBuffer: VkBuffer,
10593 callableShaderBindingOffset: VkDeviceSize,
10594 callableShaderBindingStride: VkDeviceSize,
10595 width: u32,
10596 height: u32,
10597 depth: u32,
10598 ),
10599>;
10600pub type PFN_vkCreateRayTracingPipelinesNV = ::std::option::Option<
10601 unsafe extern "system" fn(
10602 device: VkDevice,
10603 pipelineCache: VkPipelineCache,
10604 createInfoCount: u32,
10605 pCreateInfos: *const VkRayTracingPipelineCreateInfoNV,
10606 pAllocator: *const VkAllocationCallbacks,
10607 pPipelines: *mut VkPipeline,
10608 ) -> VkResult,
10609>;
10610pub type PFN_vkGetRayTracingShaderGroupHandlesNV = ::std::option::Option<
10611 unsafe extern "system" fn(
10612 device: VkDevice,
10613 pipeline: VkPipeline,
10614 firstGroup: u32,
10615 groupCount: u32,
10616 dataSize: usize,
10617 pData: *mut ::std::os::raw::c_void,
10618 ) -> VkResult,
10619>;
10620pub type PFN_vkGetAccelerationStructureHandleNV = ::std::option::Option<
10621 unsafe extern "system" fn(
10622 device: VkDevice,
10623 accelerationStructure: VkAccelerationStructureNV,
10624 dataSize: usize,
10625 pData: *mut ::std::os::raw::c_void,
10626 ) -> VkResult,
10627>;
10628pub type PFN_vkCmdWriteAccelerationStructuresPropertiesNV = ::std::option::Option<
10629 unsafe extern "system" fn(
10630 commandBuffer: VkCommandBuffer,
10631 accelerationStructureCount: u32,
10632 pAccelerationStructures: *const VkAccelerationStructureNV,
10633 queryType: VkQueryType,
10634 queryPool: VkQueryPool,
10635 firstQuery: u32,
10636 ),
10637>;
10638pub type PFN_vkCompileDeferredNV = ::std::option::Option<
10639 unsafe extern "system" fn(device: VkDevice, pipeline: VkPipeline, shader: u32) -> VkResult,
10640>;
10641extern "system" {
10642 pub fn vkCreateAccelerationStructureNV(
10643 device: VkDevice,
10644 pCreateInfo: *const VkAccelerationStructureCreateInfoNV,
10645 pAllocator: *const VkAllocationCallbacks,
10646 pAccelerationStructure: *mut VkAccelerationStructureNV,
10647 ) -> VkResult;
10648}
10649extern "system" {
10650 pub fn vkDestroyAccelerationStructureNV(
10651 device: VkDevice,
10652 accelerationStructure: VkAccelerationStructureNV,
10653 pAllocator: *const VkAllocationCallbacks,
10654 );
10655}
10656extern "system" {
10657 pub fn vkGetAccelerationStructureMemoryRequirementsNV(
10658 device: VkDevice,
10659 pInfo: *const VkAccelerationStructureMemoryRequirementsInfoNV,
10660 pMemoryRequirements: *mut VkMemoryRequirements2KHR,
10661 );
10662}
10663extern "system" {
10664 pub fn vkBindAccelerationStructureMemoryNV(
10665 device: VkDevice,
10666 bindInfoCount: u32,
10667 pBindInfos: *const VkBindAccelerationStructureMemoryInfoNV,
10668 ) -> VkResult;
10669}
10670extern "system" {
10671 pub fn vkCmdBuildAccelerationStructureNV(
10672 commandBuffer: VkCommandBuffer,
10673 pInfo: *const VkAccelerationStructureInfoNV,
10674 instanceData: VkBuffer,
10675 instanceOffset: VkDeviceSize,
10676 update: VkBool32,
10677 dst: VkAccelerationStructureNV,
10678 src: VkAccelerationStructureNV,
10679 scratch: VkBuffer,
10680 scratchOffset: VkDeviceSize,
10681 );
10682}
10683extern "system" {
10684 pub fn vkCmdCopyAccelerationStructureNV(
10685 commandBuffer: VkCommandBuffer,
10686 dst: VkAccelerationStructureNV,
10687 src: VkAccelerationStructureNV,
10688 mode: VkCopyAccelerationStructureModeNV,
10689 );
10690}
10691extern "system" {
10692 pub fn vkCmdTraceRaysNV(
10693 commandBuffer: VkCommandBuffer,
10694 raygenShaderBindingTableBuffer: VkBuffer,
10695 raygenShaderBindingOffset: VkDeviceSize,
10696 missShaderBindingTableBuffer: VkBuffer,
10697 missShaderBindingOffset: VkDeviceSize,
10698 missShaderBindingStride: VkDeviceSize,
10699 hitShaderBindingTableBuffer: VkBuffer,
10700 hitShaderBindingOffset: VkDeviceSize,
10701 hitShaderBindingStride: VkDeviceSize,
10702 callableShaderBindingTableBuffer: VkBuffer,
10703 callableShaderBindingOffset: VkDeviceSize,
10704 callableShaderBindingStride: VkDeviceSize,
10705 width: u32,
10706 height: u32,
10707 depth: u32,
10708 );
10709}
10710extern "system" {
10711 pub fn vkCreateRayTracingPipelinesNV(
10712 device: VkDevice,
10713 pipelineCache: VkPipelineCache,
10714 createInfoCount: u32,
10715 pCreateInfos: *const VkRayTracingPipelineCreateInfoNV,
10716 pAllocator: *const VkAllocationCallbacks,
10717 pPipelines: *mut VkPipeline,
10718 ) -> VkResult;
10719}
10720extern "system" {
10721 pub fn vkGetRayTracingShaderGroupHandlesNV(
10722 device: VkDevice,
10723 pipeline: VkPipeline,
10724 firstGroup: u32,
10725 groupCount: u32,
10726 dataSize: usize,
10727 pData: *mut ::std::os::raw::c_void,
10728 ) -> VkResult;
10729}
10730extern "system" {
10731 pub fn vkGetAccelerationStructureHandleNV(
10732 device: VkDevice,
10733 accelerationStructure: VkAccelerationStructureNV,
10734 dataSize: usize,
10735 pData: *mut ::std::os::raw::c_void,
10736 ) -> VkResult;
10737}
10738extern "system" {
10739 pub fn vkCmdWriteAccelerationStructuresPropertiesNV(
10740 commandBuffer: VkCommandBuffer,
10741 accelerationStructureCount: u32,
10742 pAccelerationStructures: *const VkAccelerationStructureNV,
10743 queryType: VkQueryType,
10744 queryPool: VkQueryPool,
10745 firstQuery: u32,
10746 );
10747}
10748extern "system" {
10749 pub fn vkCompileDeferredNV(device: VkDevice, pipeline: VkPipeline, shader: u32) -> VkResult;
10750}
10751#[repr(C)]
10752#[derive(Copy, Clone)]
10753pub struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV {
10754 pub sType: VkStructureType,
10755 pub pNext: *mut ::std::os::raw::c_void,
10756 pub representativeFragmentTest: VkBool32,
10757}
10758#[repr(C)]
10759#[derive(Copy, Clone)]
10760pub struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV {
10761 pub sType: VkStructureType,
10762 pub pNext: *const ::std::os::raw::c_void,
10763 pub representativeFragmentTestEnable: VkBool32,
10764}
10765#[repr(C)]
10766#[derive(Copy, Clone)]
10767pub struct VkPhysicalDeviceImageViewImageFormatInfoEXT {
10768 pub sType: VkStructureType,
10769 pub pNext: *mut ::std::os::raw::c_void,
10770 pub imageViewType: VkImageViewType,
10771}
10772#[repr(C)]
10773#[derive(Copy, Clone)]
10774pub struct VkFilterCubicImageViewImageFormatPropertiesEXT {
10775 pub sType: VkStructureType,
10776 pub pNext: *mut ::std::os::raw::c_void,
10777 pub filterCubic: VkBool32,
10778 pub filterCubicMinmax: VkBool32,
10779}
10780pub const VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT: VkQueueGlobalPriorityEXT = 128;
10781pub const VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT: VkQueueGlobalPriorityEXT = 256;
10782pub const VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT: VkQueueGlobalPriorityEXT = 512;
10783pub const VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT: VkQueueGlobalPriorityEXT = 1024;
10784pub const VK_QUEUE_GLOBAL_PRIORITY_BEGIN_RANGE_EXT: VkQueueGlobalPriorityEXT = 128;
10785pub const VK_QUEUE_GLOBAL_PRIORITY_END_RANGE_EXT: VkQueueGlobalPriorityEXT = 1024;
10786pub const VK_QUEUE_GLOBAL_PRIORITY_RANGE_SIZE_EXT: VkQueueGlobalPriorityEXT = 897;
10787pub const VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_EXT: VkQueueGlobalPriorityEXT = 2147483647;
10788pub type VkQueueGlobalPriorityEXT = i32;
10789#[repr(C)]
10790#[derive(Copy, Clone)]
10791pub struct VkDeviceQueueGlobalPriorityCreateInfoEXT {
10792 pub sType: VkStructureType,
10793 pub pNext: *const ::std::os::raw::c_void,
10794 pub globalPriority: VkQueueGlobalPriorityEXT,
10795}
10796#[repr(C)]
10797#[derive(Copy, Clone)]
10798pub struct VkImportMemoryHostPointerInfoEXT {
10799 pub sType: VkStructureType,
10800 pub pNext: *const ::std::os::raw::c_void,
10801 pub handleType: VkExternalMemoryHandleTypeFlagBits,
10802 pub pHostPointer: *mut ::std::os::raw::c_void,
10803}
10804#[repr(C)]
10805#[derive(Copy, Clone)]
10806pub struct VkMemoryHostPointerPropertiesEXT {
10807 pub sType: VkStructureType,
10808 pub pNext: *mut ::std::os::raw::c_void,
10809 pub memoryTypeBits: u32,
10810}
10811#[repr(C)]
10812#[derive(Copy, Clone)]
10813pub struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
10814 pub sType: VkStructureType,
10815 pub pNext: *mut ::std::os::raw::c_void,
10816 pub minImportedHostPointerAlignment: VkDeviceSize,
10817}
10818pub type PFN_vkGetMemoryHostPointerPropertiesEXT = ::std::option::Option<
10819 unsafe extern "system" fn(
10820 device: VkDevice,
10821 handleType: VkExternalMemoryHandleTypeFlagBits,
10822 pHostPointer: *const ::std::os::raw::c_void,
10823 pMemoryHostPointerProperties: *mut VkMemoryHostPointerPropertiesEXT,
10824 ) -> VkResult,
10825>;
10826extern "system" {
10827 pub fn vkGetMemoryHostPointerPropertiesEXT(
10828 device: VkDevice,
10829 handleType: VkExternalMemoryHandleTypeFlagBits,
10830 pHostPointer: *const ::std::os::raw::c_void,
10831 pMemoryHostPointerProperties: *mut VkMemoryHostPointerPropertiesEXT,
10832 ) -> VkResult;
10833}
10834pub type PFN_vkCmdWriteBufferMarkerAMD = ::std::option::Option<
10835 unsafe extern "system" fn(
10836 commandBuffer: VkCommandBuffer,
10837 pipelineStage: VkPipelineStageFlagBits,
10838 dstBuffer: VkBuffer,
10839 dstOffset: VkDeviceSize,
10840 marker: u32,
10841 ),
10842>;
10843extern "system" {
10844 pub fn vkCmdWriteBufferMarkerAMD(
10845 commandBuffer: VkCommandBuffer,
10846 pipelineStage: VkPipelineStageFlagBits,
10847 dstBuffer: VkBuffer,
10848 dstOffset: VkDeviceSize,
10849 marker: u32,
10850 );
10851}
10852pub const VK_TIME_DOMAIN_DEVICE_EXT: VkTimeDomainEXT = 0;
10853pub const VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT: VkTimeDomainEXT = 1;
10854pub const VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT: VkTimeDomainEXT = 2;
10855pub const VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT: VkTimeDomainEXT = 3;
10856pub const VK_TIME_DOMAIN_BEGIN_RANGE_EXT: VkTimeDomainEXT = 0;
10857pub const VK_TIME_DOMAIN_END_RANGE_EXT: VkTimeDomainEXT = 3;
10858pub const VK_TIME_DOMAIN_RANGE_SIZE_EXT: VkTimeDomainEXT = 4;
10859pub const VK_TIME_DOMAIN_MAX_ENUM_EXT: VkTimeDomainEXT = 2147483647;
10860pub type VkTimeDomainEXT = i32;
10861#[repr(C)]
10862#[derive(Copy, Clone)]
10863pub struct VkCalibratedTimestampInfoEXT {
10864 pub sType: VkStructureType,
10865 pub pNext: *const ::std::os::raw::c_void,
10866 pub timeDomain: VkTimeDomainEXT,
10867}
10868pub type PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT = ::std::option::Option<
10869 unsafe extern "system" fn(
10870 physicalDevice: VkPhysicalDevice,
10871 pTimeDomainCount: *mut u32,
10872 pTimeDomains: *mut VkTimeDomainEXT,
10873 ) -> VkResult,
10874>;
10875pub type PFN_vkGetCalibratedTimestampsEXT = ::std::option::Option<
10876 unsafe extern "system" fn(
10877 device: VkDevice,
10878 timestampCount: u32,
10879 pTimestampInfos: *const VkCalibratedTimestampInfoEXT,
10880 pTimestamps: *mut u64,
10881 pMaxDeviation: *mut u64,
10882 ) -> VkResult,
10883>;
10884extern "system" {
10885 pub fn vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(
10886 physicalDevice: VkPhysicalDevice,
10887 pTimeDomainCount: *mut u32,
10888 pTimeDomains: *mut VkTimeDomainEXT,
10889 ) -> VkResult;
10890}
10891extern "system" {
10892 pub fn vkGetCalibratedTimestampsEXT(
10893 device: VkDevice,
10894 timestampCount: u32,
10895 pTimestampInfos: *const VkCalibratedTimestampInfoEXT,
10896 pTimestamps: *mut u64,
10897 pMaxDeviation: *mut u64,
10898 ) -> VkResult;
10899}
10900#[repr(C)]
10901#[derive(Copy, Clone)]
10902pub struct VkPhysicalDeviceShaderCorePropertiesAMD {
10903 pub sType: VkStructureType,
10904 pub pNext: *mut ::std::os::raw::c_void,
10905 pub shaderEngineCount: u32,
10906 pub shaderArraysPerEngineCount: u32,
10907 pub computeUnitsPerShaderArray: u32,
10908 pub simdPerComputeUnit: u32,
10909 pub wavefrontsPerSimd: u32,
10910 pub wavefrontSize: u32,
10911 pub sgprsPerSimd: u32,
10912 pub minSgprAllocation: u32,
10913 pub maxSgprAllocation: u32,
10914 pub sgprAllocationGranularity: u32,
10915 pub vgprsPerSimd: u32,
10916 pub minVgprAllocation: u32,
10917 pub maxVgprAllocation: u32,
10918 pub vgprAllocationGranularity: u32,
10919}
10920pub const VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD: VkMemoryOverallocationBehaviorAMD = 0;
10921pub const VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD: VkMemoryOverallocationBehaviorAMD = 1;
10922pub const VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD: VkMemoryOverallocationBehaviorAMD = 2;
10923pub const VK_MEMORY_OVERALLOCATION_BEHAVIOR_BEGIN_RANGE_AMD: VkMemoryOverallocationBehaviorAMD = 0;
10924pub const VK_MEMORY_OVERALLOCATION_BEHAVIOR_END_RANGE_AMD: VkMemoryOverallocationBehaviorAMD = 2;
10925pub const VK_MEMORY_OVERALLOCATION_BEHAVIOR_RANGE_SIZE_AMD: VkMemoryOverallocationBehaviorAMD = 3;
10926pub const VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD: VkMemoryOverallocationBehaviorAMD =
10927 2147483647;
10928pub type VkMemoryOverallocationBehaviorAMD = i32;
10929#[repr(C)]
10930#[derive(Copy, Clone)]
10931pub struct VkDeviceMemoryOverallocationCreateInfoAMD {
10932 pub sType: VkStructureType,
10933 pub pNext: *const ::std::os::raw::c_void,
10934 pub overallocationBehavior: VkMemoryOverallocationBehaviorAMD,
10935}
10936#[repr(C)]
10937#[derive(Copy, Clone)]
10938pub struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
10939 pub sType: VkStructureType,
10940 pub pNext: *mut ::std::os::raw::c_void,
10941 pub maxVertexAttribDivisor: u32,
10942}
10943#[repr(C)]
10944#[derive(Copy, Clone)]
10945pub struct VkVertexInputBindingDivisorDescriptionEXT {
10946 pub binding: u32,
10947 pub divisor: u32,
10948}
10949#[repr(C)]
10950#[derive(Copy, Clone)]
10951pub struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
10952 pub sType: VkStructureType,
10953 pub pNext: *const ::std::os::raw::c_void,
10954 pub vertexBindingDivisorCount: u32,
10955 pub pVertexBindingDivisors: *const VkVertexInputBindingDivisorDescriptionEXT,
10956}
10957#[repr(C)]
10958#[derive(Copy, Clone)]
10959pub struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT {
10960 pub sType: VkStructureType,
10961 pub pNext: *mut ::std::os::raw::c_void,
10962 pub vertexAttributeInstanceRateDivisor: VkBool32,
10963 pub vertexAttributeInstanceRateZeroDivisor: VkBool32,
10964}
10965pub const VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT: VkPipelineCreationFeedbackFlagBitsEXT = 1;
10966pub const VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT:
10967 VkPipelineCreationFeedbackFlagBitsEXT = 2;
10968pub const VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT:
10969 VkPipelineCreationFeedbackFlagBitsEXT = 4;
10970pub const VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT:
10971 VkPipelineCreationFeedbackFlagBitsEXT = 2147483647;
10972pub type VkPipelineCreationFeedbackFlagBitsEXT = i32;
10973pub type VkPipelineCreationFeedbackFlagsEXT = VkFlags;
10974#[repr(C)]
10975#[derive(Copy, Clone)]
10976pub struct VkPipelineCreationFeedbackEXT {
10977 pub flags: VkPipelineCreationFeedbackFlagsEXT,
10978 pub duration: u64,
10979}
10980#[repr(C)]
10981#[derive(Copy, Clone)]
10982pub struct VkPipelineCreationFeedbackCreateInfoEXT {
10983 pub sType: VkStructureType,
10984 pub pNext: *const ::std::os::raw::c_void,
10985 pub pPipelineCreationFeedback: *mut VkPipelineCreationFeedbackEXT,
10986 pub pipelineStageCreationFeedbackCount: u32,
10987 pub pPipelineStageCreationFeedbacks: *mut VkPipelineCreationFeedbackEXT,
10988}
10989#[repr(C)]
10990#[derive(Copy, Clone)]
10991pub struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV {
10992 pub sType: VkStructureType,
10993 pub pNext: *mut ::std::os::raw::c_void,
10994 pub computeDerivativeGroupQuads: VkBool32,
10995 pub computeDerivativeGroupLinear: VkBool32,
10996}
10997#[repr(C)]
10998#[derive(Copy, Clone)]
10999pub struct VkPhysicalDeviceMeshShaderFeaturesNV {
11000 pub sType: VkStructureType,
11001 pub pNext: *mut ::std::os::raw::c_void,
11002 pub taskShader: VkBool32,
11003 pub meshShader: VkBool32,
11004}
11005#[repr(C)]
11006#[derive(Copy, Clone)]
11007pub struct VkPhysicalDeviceMeshShaderPropertiesNV {
11008 pub sType: VkStructureType,
11009 pub pNext: *mut ::std::os::raw::c_void,
11010 pub maxDrawMeshTasksCount: u32,
11011 pub maxTaskWorkGroupInvocations: u32,
11012 pub maxTaskWorkGroupSize: [u32; 3usize],
11013 pub maxTaskTotalMemorySize: u32,
11014 pub maxTaskOutputCount: u32,
11015 pub maxMeshWorkGroupInvocations: u32,
11016 pub maxMeshWorkGroupSize: [u32; 3usize],
11017 pub maxMeshTotalMemorySize: u32,
11018 pub maxMeshOutputVertices: u32,
11019 pub maxMeshOutputPrimitives: u32,
11020 pub maxMeshMultiviewViewCount: u32,
11021 pub meshOutputPerVertexGranularity: u32,
11022 pub meshOutputPerPrimitiveGranularity: u32,
11023}
11024#[repr(C)]
11025#[derive(Copy, Clone)]
11026pub struct VkDrawMeshTasksIndirectCommandNV {
11027 pub taskCount: u32,
11028 pub firstTask: u32,
11029}
11030pub type PFN_vkCmdDrawMeshTasksNV = ::std::option::Option<
11031 unsafe extern "system" fn(commandBuffer: VkCommandBuffer, taskCount: u32, firstTask: u32),
11032>;
11033pub type PFN_vkCmdDrawMeshTasksIndirectNV = ::std::option::Option<
11034 unsafe extern "system" fn(
11035 commandBuffer: VkCommandBuffer,
11036 buffer: VkBuffer,
11037 offset: VkDeviceSize,
11038 drawCount: u32,
11039 stride: u32,
11040 ),
11041>;
11042pub type PFN_vkCmdDrawMeshTasksIndirectCountNV = ::std::option::Option<
11043 unsafe extern "system" fn(
11044 commandBuffer: VkCommandBuffer,
11045 buffer: VkBuffer,
11046 offset: VkDeviceSize,
11047 countBuffer: VkBuffer,
11048 countBufferOffset: VkDeviceSize,
11049 maxDrawCount: u32,
11050 stride: u32,
11051 ),
11052>;
11053extern "system" {
11054 pub fn vkCmdDrawMeshTasksNV(commandBuffer: VkCommandBuffer, taskCount: u32, firstTask: u32);
11055}
11056extern "system" {
11057 pub fn vkCmdDrawMeshTasksIndirectNV(
11058 commandBuffer: VkCommandBuffer,
11059 buffer: VkBuffer,
11060 offset: VkDeviceSize,
11061 drawCount: u32,
11062 stride: u32,
11063 );
11064}
11065extern "system" {
11066 pub fn vkCmdDrawMeshTasksIndirectCountNV(
11067 commandBuffer: VkCommandBuffer,
11068 buffer: VkBuffer,
11069 offset: VkDeviceSize,
11070 countBuffer: VkBuffer,
11071 countBufferOffset: VkDeviceSize,
11072 maxDrawCount: u32,
11073 stride: u32,
11074 );
11075}
11076#[repr(C)]
11077#[derive(Copy, Clone)]
11078pub struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV {
11079 pub sType: VkStructureType,
11080 pub pNext: *mut ::std::os::raw::c_void,
11081 pub fragmentShaderBarycentric: VkBool32,
11082}
11083#[repr(C)]
11084#[derive(Copy, Clone)]
11085pub struct VkPhysicalDeviceShaderImageFootprintFeaturesNV {
11086 pub sType: VkStructureType,
11087 pub pNext: *mut ::std::os::raw::c_void,
11088 pub imageFootprint: VkBool32,
11089}
11090#[repr(C)]
11091#[derive(Copy, Clone)]
11092pub struct VkPipelineViewportExclusiveScissorStateCreateInfoNV {
11093 pub sType: VkStructureType,
11094 pub pNext: *const ::std::os::raw::c_void,
11095 pub exclusiveScissorCount: u32,
11096 pub pExclusiveScissors: *const VkRect2D,
11097}
11098#[repr(C)]
11099#[derive(Copy, Clone)]
11100pub struct VkPhysicalDeviceExclusiveScissorFeaturesNV {
11101 pub sType: VkStructureType,
11102 pub pNext: *mut ::std::os::raw::c_void,
11103 pub exclusiveScissor: VkBool32,
11104}
11105pub type PFN_vkCmdSetExclusiveScissorNV = ::std::option::Option<
11106 unsafe extern "system" fn(
11107 commandBuffer: VkCommandBuffer,
11108 firstExclusiveScissor: u32,
11109 exclusiveScissorCount: u32,
11110 pExclusiveScissors: *const VkRect2D,
11111 ),
11112>;
11113extern "system" {
11114 pub fn vkCmdSetExclusiveScissorNV(
11115 commandBuffer: VkCommandBuffer,
11116 firstExclusiveScissor: u32,
11117 exclusiveScissorCount: u32,
11118 pExclusiveScissors: *const VkRect2D,
11119 );
11120}
11121#[repr(C)]
11122#[derive(Copy, Clone)]
11123pub struct VkQueueFamilyCheckpointPropertiesNV {
11124 pub sType: VkStructureType,
11125 pub pNext: *mut ::std::os::raw::c_void,
11126 pub checkpointExecutionStageMask: VkPipelineStageFlags,
11127}
11128#[repr(C)]
11129#[derive(Copy, Clone)]
11130pub struct VkCheckpointDataNV {
11131 pub sType: VkStructureType,
11132 pub pNext: *mut ::std::os::raw::c_void,
11133 pub stage: VkPipelineStageFlagBits,
11134 pub pCheckpointMarker: *mut ::std::os::raw::c_void,
11135}
11136pub type PFN_vkCmdSetCheckpointNV = ::std::option::Option<
11137 unsafe extern "system" fn(
11138 commandBuffer: VkCommandBuffer,
11139 pCheckpointMarker: *const ::std::os::raw::c_void,
11140 ),
11141>;
11142pub type PFN_vkGetQueueCheckpointDataNV = ::std::option::Option<
11143 unsafe extern "system" fn(
11144 queue: VkQueue,
11145 pCheckpointDataCount: *mut u32,
11146 pCheckpointData: *mut VkCheckpointDataNV,
11147 ),
11148>;
11149extern "system" {
11150 pub fn vkCmdSetCheckpointNV(
11151 commandBuffer: VkCommandBuffer,
11152 pCheckpointMarker: *const ::std::os::raw::c_void,
11153 );
11154}
11155extern "system" {
11156 pub fn vkGetQueueCheckpointDataNV(
11157 queue: VkQueue,
11158 pCheckpointDataCount: *mut u32,
11159 pCheckpointData: *mut VkCheckpointDataNV,
11160 );
11161}
11162#[repr(C)]
11163#[derive(Copy, Clone)]
11164pub struct VkPhysicalDevicePCIBusInfoPropertiesEXT {
11165 pub sType: VkStructureType,
11166 pub pNext: *mut ::std::os::raw::c_void,
11167 pub pciDomain: u32,
11168 pub pciBus: u32,
11169 pub pciDevice: u32,
11170 pub pciFunction: u32,
11171}
11172#[repr(C)]
11173#[derive(Copy, Clone)]
11174pub struct VkDisplayNativeHdrSurfaceCapabilitiesAMD {
11175 pub sType: VkStructureType,
11176 pub pNext: *mut ::std::os::raw::c_void,
11177 pub localDimmingSupport: VkBool32,
11178}
11179#[repr(C)]
11180#[derive(Copy, Clone)]
11181pub struct VkSwapchainDisplayNativeHdrCreateInfoAMD {
11182 pub sType: VkStructureType,
11183 pub pNext: *const ::std::os::raw::c_void,
11184 pub localDimmingEnable: VkBool32,
11185}
11186pub type PFN_vkSetLocalDimmingAMD = ::std::option::Option<
11187 unsafe extern "system" fn(
11188 device: VkDevice,
11189 swapChain: VkSwapchainKHR,
11190 localDimmingEnable: VkBool32,
11191 ),
11192>;
11193extern "system" {
11194 pub fn vkSetLocalDimmingAMD(
11195 device: VkDevice,
11196 swapChain: VkSwapchainKHR,
11197 localDimmingEnable: VkBool32,
11198 );
11199}
11200#[repr(C)]
11201#[derive(Copy, Clone)]
11202pub struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT {
11203 pub sType: VkStructureType,
11204 pub pNext: *mut ::std::os::raw::c_void,
11205 pub fragmentDensityMap: VkBool32,
11206 pub fragmentDensityMapDynamic: VkBool32,
11207 pub fragmentDensityMapNonSubsampledImages: VkBool32,
11208}
11209#[repr(C)]
11210#[derive(Copy, Clone)]
11211pub struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT {
11212 pub sType: VkStructureType,
11213 pub pNext: *mut ::std::os::raw::c_void,
11214 pub minFragmentDensityTexelSize: VkExtent2D,
11215 pub maxFragmentDensityTexelSize: VkExtent2D,
11216 pub fragmentDensityInvocations: VkBool32,
11217}
11218#[repr(C)]
11219#[derive(Copy, Clone)]
11220pub struct VkRenderPassFragmentDensityMapCreateInfoEXT {
11221 pub sType: VkStructureType,
11222 pub pNext: *const ::std::os::raw::c_void,
11223 pub fragmentDensityMapAttachment: VkAttachmentReference,
11224}
11225#[repr(C)]
11226#[derive(Copy, Clone)]
11227pub struct VkPhysicalDeviceScalarBlockLayoutFeaturesEXT {
11228 pub sType: VkStructureType,
11229 pub pNext: *mut ::std::os::raw::c_void,
11230 pub scalarBlockLayout: VkBool32,
11231}
11232#[repr(C)]
11233#[derive(Copy, Clone)]
11234pub struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
11235 pub sType: VkStructureType,
11236 pub pNext: *mut ::std::os::raw::c_void,
11237 pub heapBudget: [VkDeviceSize; 16usize],
11238 pub heapUsage: [VkDeviceSize; 16usize],
11239}
11240#[repr(C)]
11241#[derive(Copy, Clone)]
11242pub struct VkPhysicalDeviceMemoryPriorityFeaturesEXT {
11243 pub sType: VkStructureType,
11244 pub pNext: *mut ::std::os::raw::c_void,
11245 pub memoryPriority: VkBool32,
11246}
11247#[repr(C)]
11248#[derive(Copy, Clone)]
11249pub struct VkMemoryPriorityAllocateInfoEXT {
11250 pub sType: VkStructureType,
11251 pub pNext: *const ::std::os::raw::c_void,
11252 pub priority: f32,
11253}
11254#[repr(C)]
11255#[derive(Copy, Clone)]
11256pub struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
11257 pub sType: VkStructureType,
11258 pub pNext: *mut ::std::os::raw::c_void,
11259 pub dedicatedAllocationImageAliasing: VkBool32,
11260}
11261pub type VkDeviceAddress = u64;
11262#[repr(C)]
11263#[derive(Copy, Clone)]
11264pub struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT {
11265 pub sType: VkStructureType,
11266 pub pNext: *mut ::std::os::raw::c_void,
11267 pub bufferDeviceAddress: VkBool32,
11268 pub bufferDeviceAddressCaptureReplay: VkBool32,
11269 pub bufferDeviceAddressMultiDevice: VkBool32,
11270}
11271pub type VkPhysicalDeviceBufferAddressFeaturesEXT = VkPhysicalDeviceBufferDeviceAddressFeaturesEXT;
11272#[repr(C)]
11273#[derive(Copy, Clone)]
11274pub struct VkBufferDeviceAddressInfoEXT {
11275 pub sType: VkStructureType,
11276 pub pNext: *const ::std::os::raw::c_void,
11277 pub buffer: VkBuffer,
11278}
11279#[repr(C)]
11280#[derive(Copy, Clone)]
11281pub struct VkBufferDeviceAddressCreateInfoEXT {
11282 pub sType: VkStructureType,
11283 pub pNext: *const ::std::os::raw::c_void,
11284 pub deviceAddress: VkDeviceAddress,
11285}
11286pub type PFN_vkGetBufferDeviceAddressEXT = ::std::option::Option<
11287 unsafe extern "system" fn(
11288 device: VkDevice,
11289 pInfo: *const VkBufferDeviceAddressInfoEXT,
11290 ) -> VkDeviceAddress,
11291>;
11292extern "system" {
11293 pub fn vkGetBufferDeviceAddressEXT(
11294 device: VkDevice,
11295 pInfo: *const VkBufferDeviceAddressInfoEXT,
11296 ) -> VkDeviceAddress;
11297}
11298#[repr(C)]
11299#[derive(Copy, Clone)]
11300pub struct VkImageStencilUsageCreateInfoEXT {
11301 pub sType: VkStructureType,
11302 pub pNext: *const ::std::os::raw::c_void,
11303 pub stencilUsage: VkImageUsageFlags,
11304}
11305pub const VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT: VkValidationFeatureEnableEXT = 0;
11306pub const VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT:
11307 VkValidationFeatureEnableEXT = 1;
11308pub const VK_VALIDATION_FEATURE_ENABLE_BEGIN_RANGE_EXT: VkValidationFeatureEnableEXT = 0;
11309pub const VK_VALIDATION_FEATURE_ENABLE_END_RANGE_EXT: VkValidationFeatureEnableEXT = 1;
11310pub const VK_VALIDATION_FEATURE_ENABLE_RANGE_SIZE_EXT: VkValidationFeatureEnableEXT = 2;
11311pub const VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT: VkValidationFeatureEnableEXT = 2147483647;
11312pub type VkValidationFeatureEnableEXT = i32;
11313pub const VK_VALIDATION_FEATURE_DISABLE_ALL_EXT: VkValidationFeatureDisableEXT = 0;
11314pub const VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT: VkValidationFeatureDisableEXT = 1;
11315pub const VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT: VkValidationFeatureDisableEXT = 2;
11316pub const VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT: VkValidationFeatureDisableEXT = 3;
11317pub const VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT: VkValidationFeatureDisableEXT = 4;
11318pub const VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT: VkValidationFeatureDisableEXT = 5;
11319pub const VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT: VkValidationFeatureDisableEXT = 6;
11320pub const VK_VALIDATION_FEATURE_DISABLE_BEGIN_RANGE_EXT: VkValidationFeatureDisableEXT = 0;
11321pub const VK_VALIDATION_FEATURE_DISABLE_END_RANGE_EXT: VkValidationFeatureDisableEXT = 6;
11322pub const VK_VALIDATION_FEATURE_DISABLE_RANGE_SIZE_EXT: VkValidationFeatureDisableEXT = 7;
11323pub const VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT: VkValidationFeatureDisableEXT = 2147483647;
11324pub type VkValidationFeatureDisableEXT = i32;
11325#[repr(C)]
11326#[derive(Copy, Clone)]
11327pub struct VkValidationFeaturesEXT {
11328 pub sType: VkStructureType,
11329 pub pNext: *const ::std::os::raw::c_void,
11330 pub enabledValidationFeatureCount: u32,
11331 pub pEnabledValidationFeatures: *const VkValidationFeatureEnableEXT,
11332 pub disabledValidationFeatureCount: u32,
11333 pub pDisabledValidationFeatures: *const VkValidationFeatureDisableEXT,
11334}
11335pub const VK_COMPONENT_TYPE_FLOAT16_NV: VkComponentTypeNV = 0;
11336pub const VK_COMPONENT_TYPE_FLOAT32_NV: VkComponentTypeNV = 1;
11337pub const VK_COMPONENT_TYPE_FLOAT64_NV: VkComponentTypeNV = 2;
11338pub const VK_COMPONENT_TYPE_SINT8_NV: VkComponentTypeNV = 3;
11339pub const VK_COMPONENT_TYPE_SINT16_NV: VkComponentTypeNV = 4;
11340pub const VK_COMPONENT_TYPE_SINT32_NV: VkComponentTypeNV = 5;
11341pub const VK_COMPONENT_TYPE_SINT64_NV: VkComponentTypeNV = 6;
11342pub const VK_COMPONENT_TYPE_UINT8_NV: VkComponentTypeNV = 7;
11343pub const VK_COMPONENT_TYPE_UINT16_NV: VkComponentTypeNV = 8;
11344pub const VK_COMPONENT_TYPE_UINT32_NV: VkComponentTypeNV = 9;
11345pub const VK_COMPONENT_TYPE_UINT64_NV: VkComponentTypeNV = 10;
11346pub const VK_COMPONENT_TYPE_BEGIN_RANGE_NV: VkComponentTypeNV = 0;
11347pub const VK_COMPONENT_TYPE_END_RANGE_NV: VkComponentTypeNV = 10;
11348pub const VK_COMPONENT_TYPE_RANGE_SIZE_NV: VkComponentTypeNV = 11;
11349pub const VK_COMPONENT_TYPE_MAX_ENUM_NV: VkComponentTypeNV = 2147483647;
11350pub type VkComponentTypeNV = i32;
11351pub const VK_SCOPE_DEVICE_NV: VkScopeNV = 1;
11352pub const VK_SCOPE_WORKGROUP_NV: VkScopeNV = 2;
11353pub const VK_SCOPE_SUBGROUP_NV: VkScopeNV = 3;
11354pub const VK_SCOPE_QUEUE_FAMILY_NV: VkScopeNV = 5;
11355pub const VK_SCOPE_BEGIN_RANGE_NV: VkScopeNV = 1;
11356pub const VK_SCOPE_END_RANGE_NV: VkScopeNV = 5;
11357pub const VK_SCOPE_RANGE_SIZE_NV: VkScopeNV = 5;
11358pub const VK_SCOPE_MAX_ENUM_NV: VkScopeNV = 2147483647;
11359pub type VkScopeNV = i32;
11360#[repr(C)]
11361#[derive(Copy, Clone)]
11362pub struct VkCooperativeMatrixPropertiesNV {
11363 pub sType: VkStructureType,
11364 pub pNext: *mut ::std::os::raw::c_void,
11365 pub MSize: u32,
11366 pub NSize: u32,
11367 pub KSize: u32,
11368 pub AType: VkComponentTypeNV,
11369 pub BType: VkComponentTypeNV,
11370 pub CType: VkComponentTypeNV,
11371 pub DType: VkComponentTypeNV,
11372 pub scope: VkScopeNV,
11373}
11374#[repr(C)]
11375#[derive(Copy, Clone)]
11376pub struct VkPhysicalDeviceCooperativeMatrixFeaturesNV {
11377 pub sType: VkStructureType,
11378 pub pNext: *mut ::std::os::raw::c_void,
11379 pub cooperativeMatrix: VkBool32,
11380 pub cooperativeMatrixRobustBufferAccess: VkBool32,
11381}
11382#[repr(C)]
11383#[derive(Copy, Clone)]
11384pub struct VkPhysicalDeviceCooperativeMatrixPropertiesNV {
11385 pub sType: VkStructureType,
11386 pub pNext: *mut ::std::os::raw::c_void,
11387 pub cooperativeMatrixSupportedStages: VkShaderStageFlags,
11388}
11389pub type PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV = ::std::option::Option<
11390 unsafe extern "system" fn(
11391 physicalDevice: VkPhysicalDevice,
11392 pPropertyCount: *mut u32,
11393 pProperties: *mut VkCooperativeMatrixPropertiesNV,
11394 ) -> VkResult,
11395>;
11396extern "system" {
11397 pub fn vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(
11398 physicalDevice: VkPhysicalDevice,
11399 pPropertyCount: *mut u32,
11400 pProperties: *mut VkCooperativeMatrixPropertiesNV,
11401 ) -> VkResult;
11402}
11403pub const VK_COVERAGE_REDUCTION_MODE_MERGE_NV: VkCoverageReductionModeNV = 0;
11404pub const VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV: VkCoverageReductionModeNV = 1;
11405pub const VK_COVERAGE_REDUCTION_MODE_BEGIN_RANGE_NV: VkCoverageReductionModeNV = 0;
11406pub const VK_COVERAGE_REDUCTION_MODE_END_RANGE_NV: VkCoverageReductionModeNV = 1;
11407pub const VK_COVERAGE_REDUCTION_MODE_RANGE_SIZE_NV: VkCoverageReductionModeNV = 2;
11408pub const VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV: VkCoverageReductionModeNV = 2147483647;
11409pub type VkCoverageReductionModeNV = i32;
11410pub type VkPipelineCoverageReductionStateCreateFlagsNV = VkFlags;
11411#[repr(C)]
11412#[derive(Copy, Clone)]
11413pub struct VkPhysicalDeviceCoverageReductionModeFeaturesNV {
11414 pub sType: VkStructureType,
11415 pub pNext: *mut ::std::os::raw::c_void,
11416 pub coverageReductionMode: VkBool32,
11417}
11418#[repr(C)]
11419#[derive(Copy, Clone)]
11420pub struct VkPipelineCoverageReductionStateCreateInfoNV {
11421 pub sType: VkStructureType,
11422 pub pNext: *const ::std::os::raw::c_void,
11423 pub flags: VkPipelineCoverageReductionStateCreateFlagsNV,
11424 pub coverageReductionMode: VkCoverageReductionModeNV,
11425}
11426#[repr(C)]
11427#[derive(Copy, Clone)]
11428pub struct VkFramebufferMixedSamplesCombinationNV {
11429 pub sType: VkStructureType,
11430 pub pNext: *mut ::std::os::raw::c_void,
11431 pub coverageReductionMode: VkCoverageReductionModeNV,
11432 pub rasterizationSamples: VkSampleCountFlagBits,
11433 pub depthStencilSamples: VkSampleCountFlags,
11434 pub colorSamples: VkSampleCountFlags,
11435}
11436pub type PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV =
11437 ::std::option::Option<
11438 unsafe extern "system" fn(
11439 physicalDevice: VkPhysicalDevice,
11440 pCombinationCount: *mut u32,
11441 pCombinations: *mut VkFramebufferMixedSamplesCombinationNV,
11442 ) -> VkResult,
11443 >;
11444extern "system" {
11445 pub fn vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
11446 physicalDevice: VkPhysicalDevice,
11447 pCombinationCount: *mut u32,
11448 pCombinations: *mut VkFramebufferMixedSamplesCombinationNV,
11449 ) -> VkResult;
11450}
11451#[repr(C)]
11452#[derive(Copy, Clone)]
11453pub struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT {
11454 pub sType: VkStructureType,
11455 pub pNext: *mut ::std::os::raw::c_void,
11456 pub ycbcrImageArrays: VkBool32,
11457}
11458pub type VkHeadlessSurfaceCreateFlagsEXT = VkFlags;
11459#[repr(C)]
11460#[derive(Copy, Clone)]
11461pub struct VkHeadlessSurfaceCreateInfoEXT {
11462 pub sType: VkStructureType,
11463 pub pNext: *const ::std::os::raw::c_void,
11464 pub flags: VkHeadlessSurfaceCreateFlagsEXT,
11465}
11466pub type PFN_vkCreateHeadlessSurfaceEXT = ::std::option::Option<
11467 unsafe extern "system" fn(
11468 instance: VkInstance,
11469 pCreateInfo: *const VkHeadlessSurfaceCreateInfoEXT,
11470 pAllocator: *const VkAllocationCallbacks,
11471 pSurface: *mut VkSurfaceKHR,
11472 ) -> VkResult,
11473>;
11474extern "system" {
11475 pub fn vkCreateHeadlessSurfaceEXT(
11476 instance: VkInstance,
11477 pCreateInfo: *const VkHeadlessSurfaceCreateInfoEXT,
11478 pAllocator: *const VkAllocationCallbacks,
11479 pSurface: *mut VkSurfaceKHR,
11480 ) -> VkResult;
11481}
11482#[repr(C)]
11483#[derive(Copy, Clone)]
11484pub struct VkPhysicalDeviceHostQueryResetFeaturesEXT {
11485 pub sType: VkStructureType,
11486 pub pNext: *mut ::std::os::raw::c_void,
11487 pub hostQueryReset: VkBool32,
11488}
11489pub type PFN_vkResetQueryPoolEXT = ::std::option::Option<
11490 unsafe extern "system" fn(
11491 device: VkDevice,
11492 queryPool: VkQueryPool,
11493 firstQuery: u32,
11494 queryCount: u32,
11495 ),
11496>;
11497extern "system" {
11498 pub fn vkResetQueryPoolEXT(
11499 device: VkDevice,
11500 queryPool: VkQueryPool,
11501 firstQuery: u32,
11502 queryCount: u32,
11503 );
11504}