1#![doc(html_logo_url = "https://raw.githubusercontent.com/vulkano-rs/vulkano/master/logo.png")]
11#![allow(non_upper_case_globals)]
12#![allow(non_snake_case)]
13#![allow(non_camel_case_types)]
14
15use std::ffi::CStr;
16use std::fmt;
17use std::mem;
18use std::os::raw::c_char;
19use std::os::raw::c_double;
20use std::os::raw::c_ulong;
21use std::os::raw::c_void;
22use std::ptr;
23
24pub type Flags = u32;
25pub type Bool32 = u32;
26pub type DeviceSize = u64;
27pub type SampleMask = u32;
28
29pub type Instance = usize;
30pub type PhysicalDevice = usize;
31pub type Device = usize;
32pub type Queue = usize;
33pub type CommandBuffer = usize;
34
35pub type Semaphore = u64;
36pub type Fence = u64;
37pub type DeviceMemory = u64;
38pub type Buffer = u64;
39pub type Image = u64;
40pub type Event = u64;
41pub type QueryPool = u64;
42pub type BufferView = u64;
43pub type ImageView = u64;
44pub type ShaderModule = u64;
45pub type PipelineCache = u64;
46pub type PipelineLayout = u64;
47pub type RenderPass = u64;
48pub type Pipeline = u64;
49pub type DescriptorSetLayout = u64;
50pub type Sampler = u64;
51pub type DescriptorPool = u64;
52pub type DescriptorSet = u64;
53pub type Framebuffer = u64;
54pub type CommandPool = u64;
55pub type SurfaceKHR = u64;
56pub type SwapchainKHR = u64;
57pub type DisplayKHR = u64;
58pub type DisplayModeKHR = u64;
59pub type DescriptorUpdateTemplateKHR = u64;
60pub type DeviceAddress = u64;
61
62pub const LOD_CLAMP_NONE: f32 = 1000.0;
63pub const REMAINING_MIP_LEVELS: u32 = 0xffffffff;
64pub const REMAINING_ARRAY_LAYERS: u32 = 0xffffffff;
65pub const WHOLE_SIZE: u64 = 0xffffffffffffffff;
66pub const ATTACHMENT_UNUSED: u32 = 0xffffffff;
67pub const TRUE: u32 = 1;
68pub const FALSE: u32 = 0;
69pub const QUEUE_FAMILY_IGNORED: u32 = 0xffffffff;
70pub const QUEUE_FAMILY_EXTERNAL: u32 = 0xfffffffe;
71pub const SUBPASS_EXTERNAL: u32 = 0xffffffff;
72pub const MAX_PHYSICAL_DEVICE_NAME_SIZE: u32 = 256;
73pub const UUID_SIZE: u32 = 16;
74pub const MAX_MEMORY_TYPES: u32 = 32;
75pub const MAX_MEMORY_HEAPS: u32 = 16;
76pub const MAX_EXTENSION_NAME_SIZE: u32 = 256;
77pub const MAX_DESCRIPTION_SIZE: u32 = 256;
78pub const NULL_HANDLE: u64 = 0;
79
80pub type PipelineCacheHeaderVersion = u32;
81pub const PIPELINE_CACHE_HEADER_VERSION_ONE: u32 = 1;
82
83pub type Result = u32;
84pub const SUCCESS: u32 = 0;
85pub const NOT_READY: u32 = 1;
86pub const TIMEOUT: u32 = 2;
87pub const EVENT_SET: u32 = 3;
88pub const EVENT_RESET: u32 = 4;
89pub const INCOMPLETE: u32 = 5;
90pub const ERROR_OUT_OF_HOST_MEMORY: u32 = -1i32 as u32;
91pub const ERROR_OUT_OF_DEVICE_MEMORY: u32 = -2i32 as u32;
92pub const ERROR_INITIALIZATION_FAILED: u32 = -3i32 as u32;
93pub const ERROR_DEVICE_LOST: u32 = -4i32 as u32;
94pub const ERROR_MEMORY_MAP_FAILED: u32 = -5i32 as u32;
95pub const ERROR_LAYER_NOT_PRESENT: u32 = -6i32 as u32;
96pub const ERROR_EXTENSION_NOT_PRESENT: u32 = -7i32 as u32;
97pub const ERROR_FEATURE_NOT_PRESENT: u32 = -8i32 as u32;
98pub const ERROR_INCOMPATIBLE_DRIVER: u32 = -9i32 as u32;
99pub const ERROR_TOO_MANY_OBJECTS: u32 = -10i32 as u32;
100pub const ERROR_FORMAT_NOT_SUPPORTED: u32 = -11i32 as u32;
101pub const ERROR_SURFACE_LOST_KHR: u32 = -1000000000i32 as u32;
102pub const ERROR_NATIVE_WINDOW_IN_USE_KHR: u32 = -1000000001i32 as u32;
103pub const SUBOPTIMAL_KHR: u32 = 1000001003;
104pub const ERROR_OUT_OF_DATE_KHR: u32 = -1000001004i32 as u32;
105pub const ERROR_INCOMPATIBLE_DISPLAY_KHR: u32 = -1000003001i32 as u32;
106pub const ERROR_VALIDATION_FAILED_EXT: u32 = -1000011001i32 as u32;
107pub const ERROR_INVALID_SHADER_NV: u32 = -1000012000i32 as u32;
108pub const ERROR_OUT_OF_POOL_MEMORY_KHR: u32 = -1000069000i32 as u32;
109pub const ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT: u32 = -1000255000i32 as u32;
110
111pub type StructureType = u32;
112pub const STRUCTURE_TYPE_APPLICATION_INFO: u32 = 0;
113pub const STRUCTURE_TYPE_INSTANCE_CREATE_INFO: u32 = 1;
114pub const STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO: u32 = 2;
115pub const STRUCTURE_TYPE_DEVICE_CREATE_INFO: u32 = 3;
116pub const STRUCTURE_TYPE_SUBMIT_INFO: u32 = 4;
117pub const STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: u32 = 5;
118pub const STRUCTURE_TYPE_MAPPED_MEMORY_RANGE: u32 = 6;
119pub const STRUCTURE_TYPE_BIND_SPARSE_INFO: u32 = 7;
120pub const STRUCTURE_TYPE_FENCE_CREATE_INFO: u32 = 8;
121pub const STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO: u32 = 9;
122pub const STRUCTURE_TYPE_EVENT_CREATE_INFO: u32 = 10;
123pub const STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO: u32 = 11;
124pub const STRUCTURE_TYPE_BUFFER_CREATE_INFO: u32 = 12;
125pub const STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO: u32 = 13;
126pub const STRUCTURE_TYPE_IMAGE_CREATE_INFO: u32 = 14;
127pub const STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO: u32 = 15;
128pub const STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO: u32 = 16;
129pub const STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO: u32 = 17;
130pub const STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO: u32 = 18;
131pub const STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO: u32 = 19;
132pub const STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO: u32 = 20;
133pub const STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO: u32 = 21;
134pub const STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO: u32 = 22;
135pub const STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO: u32 = 23;
136pub const STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO: u32 = 24;
137pub const STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO: u32 = 25;
138pub const STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO: u32 = 26;
139pub const STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO: u32 = 27;
140pub const STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO: u32 = 28;
141pub const STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO: u32 = 29;
142pub const STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO: u32 = 30;
143pub const STRUCTURE_TYPE_SAMPLER_CREATE_INFO: u32 = 31;
144pub const STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO: u32 = 32;
145pub const STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO: u32 = 33;
146pub const STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO: u32 = 34;
147pub const STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET: u32 = 35;
148pub const STRUCTURE_TYPE_COPY_DESCRIPTOR_SET: u32 = 36;
149pub const STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO: u32 = 37;
150pub const STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO: u32 = 38;
151pub const STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO: u32 = 39;
152pub const STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO: u32 = 40;
153pub const STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO: u32 = 41;
154pub const STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO: u32 = 42;
155pub const STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO: u32 = 43;
156pub const STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER: u32 = 44;
157pub const STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER: u32 = 45;
158pub const STRUCTURE_TYPE_MEMORY_BARRIER: u32 = 46;
159pub const STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO: u32 = 47;
160pub const STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO: u32 = 48;
161pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES: u32 = 1000094000;
162pub const STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO: u32 = 1000157000;
163pub const STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO: u32 = 1000157001;
164pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES: u32 = 1000083000;
165pub const STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS: u32 = 1000127000;
166pub const STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO: u32 = 1000127001;
167pub const STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO: u32 = 1000060000;
168pub const STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO: u32 = 1000060003;
169pub const STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO: u32 = 1000060004;
170pub const STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO: u32 = 1000060005;
171pub const STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO: u32 = 1000060006;
172pub const STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO: u32 = 1000060013;
173pub const STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO: u32 = 1000060014;
174pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES: u32 = 1000070000;
175pub const STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO: u32 = 1000070001;
176pub const STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2: u32 = 1000146000;
177pub const STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2: u32 = 1000146001;
178pub const STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2: u32 = 1000146002;
179pub const STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2: u32 = 1000146003;
180pub const STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2: u32 = 1000146004;
181pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: u32 = 1000059000;
182pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2: u32 = 1000059001;
183pub const STRUCTURE_TYPE_FORMAT_PROPERTIES_2: u32 = 1000059002;
184pub const STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2: u32 = 1000059003;
185pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2: u32 = 1000059004;
186pub const STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2: u32 = 1000059005;
187pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2: u32 = 1000059006;
188pub const STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2: u32 = 1000059007;
189pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2: u32 = 1000059008;
190pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES: u32 = 1000117000;
191pub const STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO: u32 = 1000117001;
192pub const STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO: u32 = 1000117002;
193pub const STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO: u32 = 1000117003;
194pub const STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO: u32 = 1000053000;
195pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES: u32 = 1000053001;
196pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES: u32 = 1000053002;
197pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES: u32 = 1000120000;
198pub const STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO: u32 = 1000145000;
199pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES: u32 = 1000145001;
200pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES: u32 = 1000145002;
201pub const STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2: u32 = 1000145003;
202pub const STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO: u32 = 1000156000;
203pub const STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO: u32 = 1000156001;
204pub const STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO: u32 = 1000156002;
205pub const STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO: u32 = 1000156003;
206pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES: u32 = 1000156004;
207pub const STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES: u32 = 1000156005;
208pub const STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO: u32 = 1000085000;
209pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO: u32 = 1000071000;
210pub const STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES: u32 = 1000071001;
211pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO: u32 = 1000071002;
212pub const STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES: u32 = 1000071003;
213pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES: u32 = 1000071004;
214pub const STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO: u32 = 1000072000;
215pub const STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO: u32 = 1000072001;
216pub const STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO: u32 = 1000072002;
217pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO: u32 = 1000112000;
218pub const STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES: u32 = 1000112001;
219pub const STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO: u32 = 1000113000;
220pub const STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO: u32 = 1000077000;
221pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO: u32 = 1000076000;
222pub const STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES: u32 = 1000076001;
223pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES: u32 = 1000168000;
224pub const STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT: u32 = 1000168001;
225pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES: u32 = 1000063000;
226pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES: u32 = 49;
227pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES: u32 = 50;
228pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES: u32 = 51;
229pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES: u32 = 52;
230pub const STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO: u32 = 1000147000;
231pub const STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2: u32 = 1000109000;
232pub const STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2: u32 = 1000109001;
233pub const STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2: u32 = 1000109002;
234pub const STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2: u32 = 1000109003;
235pub const STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2: u32 = 1000109004;
236pub const STRUCTURE_TYPE_SUBPASS_BEGIN_INFO: u32 = 1000109005;
237pub const STRUCTURE_TYPE_SUBPASS_END_INFO: u32 = 1000109006;
238pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES: u32 = 1000177000;
239pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES: u32 = 1000196000;
240pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES: u32 = 1000180000;
241pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES: u32 = 1000082000;
242pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES: u32 = 1000197000;
243pub const STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO: u32 = 1000161000;
244pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES: u32 = 1000161001;
245pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES: u32 = 1000161002;
246pub const STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO: u32 = 1000161003;
247pub const STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT: u32 = 1000161004;
248pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES: u32 = 1000199000;
249pub const STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE: u32 = 1000199001;
250pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES: u32 = 1000221000;
251pub const STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO: u32 = 1000246000;
252pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES: u32 = 1000130000;
253pub const STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO: u32 = 1000130001;
254pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES: u32 = 1000211000;
255pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES: u32 = 1000108000;
256pub const STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO: u32 = 1000108001;
257pub const STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO: u32 = 1000108002;
258pub const STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO: u32 = 1000108003;
259pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES: u32 = 1000253000;
260pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES: u32 = 1000175000;
261pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES: u32 = 1000241000;
262pub const STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT: u32 = 1000241001;
263pub const STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT: u32 = 1000241002;
264pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES: u32 = 1000261000;
265pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES: u32 = 1000207000;
266pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES: u32 = 1000207001;
267pub const STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO: u32 = 1000207002;
268pub const STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO: u32 = 1000207003;
269pub const STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO: u32 = 1000207004;
270pub const STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO: u32 = 1000207005;
271pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES: u32 = 1000257000;
272pub const STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO: u32 = 1000244001;
273pub const STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO: u32 = 1000257002;
274pub const STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO: u32 = 1000257003;
275pub const STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO: u32 = 1000257004;
276pub const STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR: u32 = 1000001000;
277pub const STRUCTURE_TYPE_PRESENT_INFO_KHR: u32 = 1000001001;
278pub const STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR: u32 = 1000060007;
279pub const STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR: u32 = 1000060008;
280pub const STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR: u32 = 1000060009;
281pub const STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR: u32 = 1000060010;
282pub const STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR: u32 = 1000060011;
283pub const STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR: u32 = 1000060012;
284pub const STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR: u32 = 1000002000;
285pub const STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR: u32 = 1000002001;
286pub const STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR: u32 = 1000003000;
287pub const STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR: u32 = 1000004000;
288pub const STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR: u32 = 1000005000;
289pub const STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR: u32 = 1000006000;
290pub const STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR: u32 = 1000008000;
291pub const STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR: u32 = 1000009000;
292pub const STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT: u32 = 1000011000;
293pub const STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD: u32 = 1000018000;
294pub const STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT: u32 = 1000022000;
295pub const STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT: u32 = 1000022001;
296pub const STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT: u32 = 1000022002;
297pub const STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV: u32 = 1000026000;
298pub const STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV: u32 = 1000026001;
299pub const STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV: u32 = 1000026002;
300pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT: u32 = 1000028000;
301pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT: u32 = 1000028001;
302pub const STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT: u32 = 1000028002;
303pub const STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX: u32 = 1000030000;
304pub const STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX: u32 = 1000030001;
305pub const STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD: u32 = 1000041000;
306pub const STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP: u32 = 1000049000;
307pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV: u32 = 1000050000;
308pub const STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV: u32 = 1000056000;
309pub const STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV: u32 = 1000056001;
310pub const STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV: u32 = 1000057000;
311pub const STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV: u32 = 1000057001;
312pub const STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV: u32 = 1000058000;
313pub const STRUCTURE_TYPE_VALIDATION_FLAGS_EXT: u32 = 1000061000;
314pub const STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN: u32 = 1000062000;
315pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT: u32 =
316 1000066000;
317pub const STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT: u32 = 1000067000;
318pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT: u32 = 1000067001;
319pub const STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR: u32 = 1000073000;
320pub const STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR: u32 = 1000073001;
321pub const STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR: u32 = 1000073002;
322pub const STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR: u32 = 1000073003;
323pub const STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR: u32 = 1000074000;
324pub const STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR: u32 = 1000074001;
325pub const STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR: u32 = 1000074002;
326pub const STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR: u32 = 1000075000;
327pub const STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR: u32 = 1000078000;
328pub const STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR: u32 = 1000078001;
329pub const STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR: u32 = 1000078002;
330pub const STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR: u32 = 1000078003;
331pub const STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR: u32 = 1000079000;
332pub const STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR: u32 = 1000079001;
333pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR: u32 = 1000080000;
334pub const STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT: u32 =
335 1000081000;
336pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT: u32 = 1000081001;
337pub const STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT: u32 = 1000081002;
338pub const STRUCTURE_TYPE_PRESENT_REGIONS_KHR: u32 = 1000084000;
339pub const STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV: u32 = 1000087000;
340pub const STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT: u32 = 1000090000;
341pub const STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT: u32 = 1000091000;
342pub const STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT: u32 = 1000091001;
343pub const STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT: u32 = 1000091002;
344pub const STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT: u32 = 1000091003;
345pub const STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE: u32 = 1000092000;
346pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX: u32 =
347 1000097000;
348pub const STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV: u32 = 1000098000;
349pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT: u32 = 1000099000;
350pub const STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT: u32 = 1000099001;
351pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT: u32 =
352 1000101000;
353pub const STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT: u32 =
354 1000101001;
355pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT: u32 = 1000102000;
356pub const STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT: u32 = 1000102001;
357pub const STRUCTURE_TYPE_HDR_METADATA_EXT: u32 = 1000105000;
358pub const STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR: u32 = 1000111000;
359pub const STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR: u32 = 1000114000;
360pub const STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR: u32 = 1000114001;
361pub const STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR: u32 = 1000114002;
362pub const STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR: u32 = 1000115000;
363pub const STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR: u32 = 1000115001;
364pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR: u32 = 1000116000;
365pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR: u32 = 1000116001;
366pub const STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR: u32 = 1000116002;
367pub const STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR: u32 = 1000116003;
368pub const STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR: u32 = 1000116004;
369pub const STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR: u32 = 1000116005;
370pub const STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR: u32 = 1000116006;
371pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR: u32 = 1000119000;
372pub const STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR: u32 = 1000119001;
373pub const STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR: u32 = 1000119002;
374pub const STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR: u32 = 1000121000;
375pub const STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR: u32 = 1000121001;
376pub const STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR: u32 = 1000121002;
377pub const STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR: u32 = 1000121003;
378pub const STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR: u32 = 1000121004;
379pub const STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK: u32 = 1000122000;
380pub const STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK: u32 = 1000123000;
381pub const STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT: u32 = 1000128000;
382pub const STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT: u32 = 1000128001;
383pub const STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT: u32 = 1000128002;
384pub const STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT: u32 = 1000128003;
385pub const STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT: u32 = 1000128004;
386pub const STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID: u32 = 1000129000;
387pub const STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID: u32 = 1000129001;
388pub const STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID: u32 = 1000129002;
389pub const STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID: u32 = 1000129003;
390pub const STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID: u32 = 1000129004;
391pub const STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID: u32 = 1000129005;
392pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT: u32 = 1000138000;
393pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT: u32 = 1000138001;
394pub const STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT: u32 = 1000138002;
395pub const STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT: u32 = 1000138003;
396pub const STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT: u32 = 1000143000;
397pub const STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT: u32 = 1000143001;
398pub const STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT: u32 = 1000143002;
399pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT: u32 = 1000143003;
400pub const STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT: u32 = 1000143004;
401pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT: u32 = 1000148000;
402pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT: u32 = 1000148001;
403pub const STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT: u32 = 1000148002;
404pub const STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV: u32 = 1000149000;
405pub const STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_KHR: u32 = 1000165006;
406pub const STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR: u32 = 1000165007;
407pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR: u32 = 1000150000;
408pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_GEOMETRY_TYPE_INFO_KHR: u32 = 1000150001;
409pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR: u32 = 1000150002;
410pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR: u32 = 1000150003;
411pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR: u32 = 1000150004;
412pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR: u32 = 1000150005;
413pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR: u32 = 1000150006;
414pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_KHR: u32 = 1000150008;
415pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_KHR: u32 = 1000150009;
416pub const STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR: u32 = 1000150010;
417pub const STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR: u32 = 1000150011;
418pub const STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR: u32 = 1000150012;
419pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_FEATURES_KHR: u32 = 1000150013;
420pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_KHR: u32 = 1000150014;
421pub const STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR: u32 = 1000150015;
422pub const STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR: u32 = 1000150016;
423pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR: u32 = 1000150017;
424pub const STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR: u32 = 1000150018;
425pub const STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV: u32 = 1000152000;
426pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV: u32 = 1000154000;
427pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV: u32 = 1000154001;
428pub const STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT: u32 = 1000158000;
429pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT: u32 = 1000158002;
430pub const STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT: u32 = 1000158003;
431pub const STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT: u32 = 1000158004;
432pub const STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT: u32 = 1000158005;
433pub const STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT: u32 = 1000160000;
434pub const STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT: u32 = 1000160001;
435pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR: u32 = 1000163000;
436pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR: u32 = 1000163001;
437pub const STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV: u32 =
438 1000164000;
439pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV: u32 = 1000164001;
440pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV: u32 = 1000164002;
441pub const STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV: u32 =
442 1000164005;
443pub const STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV: u32 = 1000165000;
444pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV: u32 = 1000165001;
445pub const STRUCTURE_TYPE_GEOMETRY_NV: u32 = 1000165003;
446pub const STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV: u32 = 1000165004;
447pub const STRUCTURE_TYPE_GEOMETRY_AABB_NV: u32 = 1000165005;
448pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV: u32 = 1000165008;
449pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV: u32 = 1000165009;
450pub const STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV: u32 = 1000165011;
451pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV: u32 = 1000165012;
452pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV: u32 = 1000166000;
453pub const STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV: u32 =
454 1000166001;
455pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT: u32 = 1000170000;
456pub const STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT: u32 = 1000170001;
457pub const STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT: u32 = 1000174000;
458pub const STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT: u32 = 1000178000;
459pub const STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT: u32 = 1000178001;
460pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT: u32 = 1000178002;
461pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR: u32 = 1000181000;
462pub const STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD: u32 = 1000183000;
463pub const STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT: u32 = 1000184000;
464pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD: u32 = 1000185000;
465pub const STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD: u32 = 1000189000;
466pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT: u32 = 1000190000;
467pub const STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT: u32 = 1000190001;
468pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT: u32 = 1000190002;
469pub const STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP: u32 = 1000191000;
470pub const STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT: u32 = 1000192000;
471pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV: u32 = 1000201000;
472pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV: u32 = 1000202000;
473pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV: u32 = 1000202001;
474pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV: u32 = 1000203000;
475pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV: u32 = 1000204000;
476pub const STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV: u32 = 1000205000;
477pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV: u32 = 1000205002;
478pub const STRUCTURE_TYPE_CHECKPOINT_DATA_NV: u32 = 1000206000;
479pub const STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV: u32 = 1000206001;
480pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL: u32 =
481 1000209000;
482pub const STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL: u32 = 1000210000;
483pub const STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL: u32 = 1000210001;
484pub const STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL: u32 = 1000210002;
485pub const STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL: u32 = 1000210003;
486pub const STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL: u32 = 1000210004;
487pub const STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL: u32 = 1000210005;
488pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT: u32 = 1000212000;
489pub const STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD: u32 = 1000213000;
490pub const STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD: u32 = 1000213001;
491pub const STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA: u32 = 1000214000;
492pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR: u32 = 1000215000;
493pub const STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT: u32 = 1000217000;
494pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT: u32 = 1000218000;
495pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT: u32 = 1000218001;
496pub const STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT: u32 = 1000218002;
497pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT: u32 = 1000225000;
498pub const STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT: u32 =
499 1000225001;
500pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT: u32 = 1000225002;
501pub const STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR: u32 = 1000226000;
502pub const STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR: u32 = 1000226001;
503pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR: u32 = 1000226002;
504pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR: u32 = 1000226003;
505pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR: u32 = 1000226004;
506pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD: u32 = 1000227000;
507pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD: u32 = 1000229000;
508pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT: u32 = 1000234000;
509pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT: u32 = 1000237000;
510pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT: u32 = 1000238000;
511pub const STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT: u32 = 1000238001;
512pub const STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR: u32 = 1000239000;
513pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV: u32 =
514 1000240000;
515pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT: u32 = 1000244000;
516pub const STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT: u32 = 1000244002;
517pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT: u32 = 1000245000;
518pub const STRUCTURE_TYPE_VALIDATION_FEATURES_EXT: u32 = 1000247000;
519pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV: u32 = 1000249000;
520pub const STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV: u32 = 1000249001;
521pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV: u32 = 1000249002;
522pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV: u32 = 1000250000;
523pub const STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV: u32 = 1000250001;
524pub const STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV: u32 = 1000250002;
525pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT: u32 = 1000251000;
526pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT: u32 = 1000252000;
527pub const STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT: u32 = 1000255000;
528pub const STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT: u32 = 1000255002;
529pub const STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT: u32 = 1000255001;
530pub const STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT: u32 = 1000256000;
531pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT: u32 = 1000259000;
532pub const STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT: u32 = 1000259001;
533pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT: u32 = 1000259002;
534pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT: u32 = 1000260000;
535pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT: u32 = 1000265000;
536pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT: u32 = 1000267000;
537pub const STRUCTURE_TYPE_DEFERRED_OPERATION_INFO_KHR: u32 = 1000268000;
538pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR: u32 =
539 1000269000;
540pub const STRUCTURE_TYPE_PIPELINE_INFO_KHR: u32 = 1000269001;
541pub const STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR: u32 = 1000269002;
542pub const STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR: u32 = 1000269003;
543pub const STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR: u32 = 1000269004;
544pub const STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR: u32 = 1000269005;
545pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT: u32 =
546 1000276000;
547pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV: u32 = 1000277000;
548pub const STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV: u32 = 1000277001;
549pub const STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV: u32 = 1000277002;
550pub const STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV: u32 = 1000277003;
551pub const STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV: u32 = 1000277004;
552pub const STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV: u32 = 1000277005;
553pub const STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV: u32 = 1000277006;
554pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV: u32 = 1000277007;
555pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT: u32 = 1000281000;
556pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT: u32 = 1000281001;
557pub const STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM: u32 =
558 1000282000;
559pub const STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM: u32 = 1000282001;
560pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT: u32 = 1000284000;
561pub const STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT: u32 = 1000284001;
562pub const STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT: u32 = 1000284002;
563pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT: u32 = 1000286000;
564pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT: u32 = 1000286001;
565pub const STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT: u32 = 1000287000;
566pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT: u32 = 1000287001;
567pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT: u32 = 1000287002;
568pub const STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR: u32 = 1000290000;
569pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT: u32 = 1000295000;
570pub const STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT: u32 = 1000295001;
571pub const STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT: u32 = 1000295002;
572pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT: u32 =
573 1000297000;
574pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV: u32 = 1000300000;
575pub const STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV: u32 = 1000300001;
576pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT: u32 = 1000332000;
577pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT: u32 = 1000332001;
578pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT: u32 = 1000335000;
579pub const STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR: u32 = 1000337000;
580pub const STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR: u32 = 1000337001;
581pub const STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR: u32 = 1000337002;
582pub const STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR: u32 = 1000337003;
583pub const STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR: u32 = 1000337004;
584pub const STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR: u32 = 1000337005;
585pub const STRUCTURE_TYPE_BUFFER_COPY_2_KHR: u32 = 1000337006;
586pub const STRUCTURE_TYPE_IMAGE_COPY_2_KHR: u32 = 1000337007;
587pub const STRUCTURE_TYPE_IMAGE_BLIT_2_KHR: u32 = 1000337008;
588pub const STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR: u32 = 1000337009;
589pub const STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR: u32 = 1000337010;
590pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT: u32 = 1000340000;
591pub const STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT: u32 = 1000346000;
592pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES: u32 =
593 STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES;
594pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES: u32 =
595 STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES;
596pub const STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT: u32 =
597 STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT;
598pub const STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR: u32 =
599 STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO;
600pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR: u32 =
601 STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES;
602pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR: u32 =
603 STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES;
604pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR: u32 =
605 STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2;
606pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR: u32 =
607 STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2;
608pub const STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR: u32 = STRUCTURE_TYPE_FORMAT_PROPERTIES_2;
609pub const STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR: u32 =
610 STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2;
611pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR: u32 =
612 STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2;
613pub const STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR: u32 =
614 STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2;
615pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR: u32 =
616 STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2;
617pub const STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR: u32 =
618 STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2;
619pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR: u32 =
620 STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2;
621pub const STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR: u32 =
622 STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO;
623pub const STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR: u32 =
624 STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO;
625pub const STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR: u32 =
626 STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO;
627pub const STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR: u32 =
628 STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO;
629pub const STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR: u32 =
630 STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO;
631pub const STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR: u32 =
632 STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO;
633pub const STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR: u32 =
634 STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO;
635pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR: u32 =
636 STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES;
637pub const STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR: u32 =
638 STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO;
639pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR: u32 =
640 STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO;
641pub const STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR: u32 =
642 STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES;
643pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR: u32 =
644 STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO;
645pub const STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR: u32 =
646 STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES;
647pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR: u32 =
648 STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES;
649pub const STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR: u32 =
650 STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO;
651pub const STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR: u32 =
652 STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO;
653pub const STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR: u32 =
654 STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO;
655pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR: u32 =
656 STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO;
657pub const STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR: u32 =
658 STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES;
659pub const STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR: u32 =
660 STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO;
661pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR: u32 =
662 STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES;
663pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR: u32 =
664 STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES;
665pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR: u32 =
666 STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES;
667pub const STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR: u32 =
668 STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO;
669pub const STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT: u32 = STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT;
670pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR: u32 =
671 STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES;
672pub const STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR: u32 =
673 STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO;
674pub const STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR: u32 =
675 STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO;
676pub const STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR: u32 =
677 STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO;
678pub const STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR: u32 =
679 STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2;
680pub const STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR: u32 = STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2;
681pub const STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR: u32 = STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2;
682pub const STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR: u32 = STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2;
683pub const STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR: u32 =
684 STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2;
685pub const STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR: u32 = STRUCTURE_TYPE_SUBPASS_BEGIN_INFO;
686pub const STRUCTURE_TYPE_SUBPASS_END_INFO_KHR: u32 = STRUCTURE_TYPE_SUBPASS_END_INFO;
687pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR: u32 =
688 STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO;
689pub const STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR: u32 =
690 STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES;
691pub const STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR: u32 =
692 STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO;
693pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR: u32 =
694 STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES;
695pub const STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR: u32 =
696 STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO;
697pub const STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR: u32 =
698 STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO;
699pub const STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR: u32 =
700 STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO;
701pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR: u32 =
702 STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES;
703pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR: u32 =
704 STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR;
705pub const STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR: u32 =
706 STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS;
707pub const STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR: u32 =
708 STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO;
709pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT: u32 =
710 STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES;
711pub const STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT: u32 =
712 STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO;
713pub const STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR: u32 =
714 STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2;
715pub const STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR: u32 =
716 STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2;
717pub const STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR: u32 =
718 STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2;
719pub const STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR: u32 = STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2;
720pub const STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR: u32 =
721 STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2;
722pub const STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR: u32 =
723 STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO;
724pub const STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR: u32 =
725 STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO;
726pub const STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR: u32 =
727 STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO;
728pub const STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR: u32 =
729 STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO;
730pub const STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR: u32 =
731 STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO;
732pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR: u32 =
733 STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES;
734pub const STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR: u32 =
735 STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES;
736pub const STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR: u32 = STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO;
737pub const STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR: u32 = STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO;
738pub const STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT: u32 =
739 STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO;
740pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT: u32 =
741 STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES;
742pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT: u32 =
743 STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES;
744pub const STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT: u32 =
745 STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO;
746pub const STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT: u32 =
747 STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT;
748pub const STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV: u32 =
749 STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_KHR;
750pub const STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV: u32 =
751 STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR;
752pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR: u32 =
753 STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES;
754pub const STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR: u32 =
755 STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT;
756pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR: u32 =
757 STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES;
758pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR: u32 =
759 STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES;
760pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR: u32 =
761 STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES;
762pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR: u32 =
763 STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES;
764pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR: u32 =
765 STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES;
766pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR: u32 =
767 STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES;
768pub const STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR: u32 =
769 STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE;
770pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR: u32 =
771 STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES;
772pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR: u32 =
773 STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES;
774pub const STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR: u32 =
775 STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO;
776pub const STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR: u32 =
777 STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO;
778pub const STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR: u32 = STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO;
779pub const STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR: u32 = STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO;
780pub const STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL: u32 =
781 STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL;
782pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR: u32 =
783 STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES;
784pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT: u32 =
785 STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES;
786pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR: u32 =
787 STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES;
788pub const STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR: u32 =
789 STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT;
790pub const STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR: u32 =
791 STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT;
792pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT: u32 =
793 STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT;
794pub const STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT: u32 =
795 STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO;
796pub const STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT: u32 =
797 STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO;
798pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR: u32 =
799 STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES;
800pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR: u32 =
801 STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES;
802pub const STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR: u32 =
803 STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO;
804pub const STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR: u32 =
805 STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO;
806pub const STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR: u32 =
807 STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO;
808pub const STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR: u32 =
809 STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO;
810pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT: u32 =
811 STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES;
812pub const STRUCTURE_TYPE_MAX_ENUM: u32 = 0x7FFFFFFF;
813
814pub type SystemAllocationScope = u32;
815pub const SYSTEM_ALLOCATION_SCOPE_COMMAND: u32 = 0;
816pub const SYSTEM_ALLOCATION_SCOPE_OBJECT: u32 = 1;
817pub const SYSTEM_ALLOCATION_SCOPE_CACHE: u32 = 2;
818pub const SYSTEM_ALLOCATION_SCOPE_DEVICE: u32 = 3;
819pub const SYSTEM_ALLOCATION_SCOPE_INSTANCE: u32 = 4;
820
821pub type InternalAllocationType = u32;
822pub const INTERNAL_ALLOCATION_TYPE_EXECUTABLE: u32 = 0;
823
824pub type Format = u32;
825pub const FORMAT_UNDEFINED: u32 = 0;
826pub const FORMAT_R4G4_UNORM_PACK8: u32 = 1;
827pub const FORMAT_R4G4B4A4_UNORM_PACK16: u32 = 2;
828pub const FORMAT_B4G4R4A4_UNORM_PACK16: u32 = 3;
829pub const FORMAT_R5G6B5_UNORM_PACK16: u32 = 4;
830pub const FORMAT_B5G6R5_UNORM_PACK16: u32 = 5;
831pub const FORMAT_R5G5B5A1_UNORM_PACK16: u32 = 6;
832pub const FORMAT_B5G5R5A1_UNORM_PACK16: u32 = 7;
833pub const FORMAT_A1R5G5B5_UNORM_PACK16: u32 = 8;
834pub const FORMAT_R8_UNORM: u32 = 9;
835pub const FORMAT_R8_SNORM: u32 = 10;
836pub const FORMAT_R8_USCALED: u32 = 11;
837pub const FORMAT_R8_SSCALED: u32 = 12;
838pub const FORMAT_R8_UINT: u32 = 13;
839pub const FORMAT_R8_SINT: u32 = 14;
840pub const FORMAT_R8_SRGB: u32 = 15;
841pub const FORMAT_R8G8_UNORM: u32 = 16;
842pub const FORMAT_R8G8_SNORM: u32 = 17;
843pub const FORMAT_R8G8_USCALED: u32 = 18;
844pub const FORMAT_R8G8_SSCALED: u32 = 19;
845pub const FORMAT_R8G8_UINT: u32 = 20;
846pub const FORMAT_R8G8_SINT: u32 = 21;
847pub const FORMAT_R8G8_SRGB: u32 = 22;
848pub const FORMAT_R8G8B8_UNORM: u32 = 23;
849pub const FORMAT_R8G8B8_SNORM: u32 = 24;
850pub const FORMAT_R8G8B8_USCALED: u32 = 25;
851pub const FORMAT_R8G8B8_SSCALED: u32 = 26;
852pub const FORMAT_R8G8B8_UINT: u32 = 27;
853pub const FORMAT_R8G8B8_SINT: u32 = 28;
854pub const FORMAT_R8G8B8_SRGB: u32 = 29;
855pub const FORMAT_B8G8R8_UNORM: u32 = 30;
856pub const FORMAT_B8G8R8_SNORM: u32 = 31;
857pub const FORMAT_B8G8R8_USCALED: u32 = 32;
858pub const FORMAT_B8G8R8_SSCALED: u32 = 33;
859pub const FORMAT_B8G8R8_UINT: u32 = 34;
860pub const FORMAT_B8G8R8_SINT: u32 = 35;
861pub const FORMAT_B8G8R8_SRGB: u32 = 36;
862pub const FORMAT_R8G8B8A8_UNORM: u32 = 37;
863pub const FORMAT_R8G8B8A8_SNORM: u32 = 38;
864pub const FORMAT_R8G8B8A8_USCALED: u32 = 39;
865pub const FORMAT_R8G8B8A8_SSCALED: u32 = 40;
866pub const FORMAT_R8G8B8A8_UINT: u32 = 41;
867pub const FORMAT_R8G8B8A8_SINT: u32 = 42;
868pub const FORMAT_R8G8B8A8_SRGB: u32 = 43;
869pub const FORMAT_B8G8R8A8_UNORM: u32 = 44;
870pub const FORMAT_B8G8R8A8_SNORM: u32 = 45;
871pub const FORMAT_B8G8R8A8_USCALED: u32 = 46;
872pub const FORMAT_B8G8R8A8_SSCALED: u32 = 47;
873pub const FORMAT_B8G8R8A8_UINT: u32 = 48;
874pub const FORMAT_B8G8R8A8_SINT: u32 = 49;
875pub const FORMAT_B8G8R8A8_SRGB: u32 = 50;
876pub const FORMAT_A8B8G8R8_UNORM_PACK32: u32 = 51;
877pub const FORMAT_A8B8G8R8_SNORM_PACK32: u32 = 52;
878pub const FORMAT_A8B8G8R8_USCALED_PACK32: u32 = 53;
879pub const FORMAT_A8B8G8R8_SSCALED_PACK32: u32 = 54;
880pub const FORMAT_A8B8G8R8_UINT_PACK32: u32 = 55;
881pub const FORMAT_A8B8G8R8_SINT_PACK32: u32 = 56;
882pub const FORMAT_A8B8G8R8_SRGB_PACK32: u32 = 57;
883pub const FORMAT_A2R10G10B10_UNORM_PACK32: u32 = 58;
884pub const FORMAT_A2R10G10B10_SNORM_PACK32: u32 = 59;
885pub const FORMAT_A2R10G10B10_USCALED_PACK32: u32 = 60;
886pub const FORMAT_A2R10G10B10_SSCALED_PACK32: u32 = 61;
887pub const FORMAT_A2R10G10B10_UINT_PACK32: u32 = 62;
888pub const FORMAT_A2R10G10B10_SINT_PACK32: u32 = 63;
889pub const FORMAT_A2B10G10R10_UNORM_PACK32: u32 = 64;
890pub const FORMAT_A2B10G10R10_SNORM_PACK32: u32 = 65;
891pub const FORMAT_A2B10G10R10_USCALED_PACK32: u32 = 66;
892pub const FORMAT_A2B10G10R10_SSCALED_PACK32: u32 = 67;
893pub const FORMAT_A2B10G10R10_UINT_PACK32: u32 = 68;
894pub const FORMAT_A2B10G10R10_SINT_PACK32: u32 = 69;
895pub const FORMAT_R16_UNORM: u32 = 70;
896pub const FORMAT_R16_SNORM: u32 = 71;
897pub const FORMAT_R16_USCALED: u32 = 72;
898pub const FORMAT_R16_SSCALED: u32 = 73;
899pub const FORMAT_R16_UINT: u32 = 74;
900pub const FORMAT_R16_SINT: u32 = 75;
901pub const FORMAT_R16_SFLOAT: u32 = 76;
902pub const FORMAT_R16G16_UNORM: u32 = 77;
903pub const FORMAT_R16G16_SNORM: u32 = 78;
904pub const FORMAT_R16G16_USCALED: u32 = 79;
905pub const FORMAT_R16G16_SSCALED: u32 = 80;
906pub const FORMAT_R16G16_UINT: u32 = 81;
907pub const FORMAT_R16G16_SINT: u32 = 82;
908pub const FORMAT_R16G16_SFLOAT: u32 = 83;
909pub const FORMAT_R16G16B16_UNORM: u32 = 84;
910pub const FORMAT_R16G16B16_SNORM: u32 = 85;
911pub const FORMAT_R16G16B16_USCALED: u32 = 86;
912pub const FORMAT_R16G16B16_SSCALED: u32 = 87;
913pub const FORMAT_R16G16B16_UINT: u32 = 88;
914pub const FORMAT_R16G16B16_SINT: u32 = 89;
915pub const FORMAT_R16G16B16_SFLOAT: u32 = 90;
916pub const FORMAT_R16G16B16A16_UNORM: u32 = 91;
917pub const FORMAT_R16G16B16A16_SNORM: u32 = 92;
918pub const FORMAT_R16G16B16A16_USCALED: u32 = 93;
919pub const FORMAT_R16G16B16A16_SSCALED: u32 = 94;
920pub const FORMAT_R16G16B16A16_UINT: u32 = 95;
921pub const FORMAT_R16G16B16A16_SINT: u32 = 96;
922pub const FORMAT_R16G16B16A16_SFLOAT: u32 = 97;
923pub const FORMAT_R32_UINT: u32 = 98;
924pub const FORMAT_R32_SINT: u32 = 99;
925pub const FORMAT_R32_SFLOAT: u32 = 100;
926pub const FORMAT_R32G32_UINT: u32 = 101;
927pub const FORMAT_R32G32_SINT: u32 = 102;
928pub const FORMAT_R32G32_SFLOAT: u32 = 103;
929pub const FORMAT_R32G32B32_UINT: u32 = 104;
930pub const FORMAT_R32G32B32_SINT: u32 = 105;
931pub const FORMAT_R32G32B32_SFLOAT: u32 = 106;
932pub const FORMAT_R32G32B32A32_UINT: u32 = 107;
933pub const FORMAT_R32G32B32A32_SINT: u32 = 108;
934pub const FORMAT_R32G32B32A32_SFLOAT: u32 = 109;
935pub const FORMAT_R64_UINT: u32 = 110;
936pub const FORMAT_R64_SINT: u32 = 111;
937pub const FORMAT_R64_SFLOAT: u32 = 112;
938pub const FORMAT_R64G64_UINT: u32 = 113;
939pub const FORMAT_R64G64_SINT: u32 = 114;
940pub const FORMAT_R64G64_SFLOAT: u32 = 115;
941pub const FORMAT_R64G64B64_UINT: u32 = 116;
942pub const FORMAT_R64G64B64_SINT: u32 = 117;
943pub const FORMAT_R64G64B64_SFLOAT: u32 = 118;
944pub const FORMAT_R64G64B64A64_UINT: u32 = 119;
945pub const FORMAT_R64G64B64A64_SINT: u32 = 120;
946pub const FORMAT_R64G64B64A64_SFLOAT: u32 = 121;
947pub const FORMAT_B10G11R11_UFLOAT_PACK32: u32 = 122;
948pub const FORMAT_E5B9G9R9_UFLOAT_PACK32: u32 = 123;
949pub const FORMAT_D16_UNORM: u32 = 124;
950pub const FORMAT_X8_D24_UNORM_PACK32: u32 = 125;
951pub const FORMAT_D32_SFLOAT: u32 = 126;
952pub const FORMAT_S8_UINT: u32 = 127;
953pub const FORMAT_D16_UNORM_S8_UINT: u32 = 128;
954pub const FORMAT_D24_UNORM_S8_UINT: u32 = 129;
955pub const FORMAT_D32_SFLOAT_S8_UINT: u32 = 130;
956pub const FORMAT_BC1_RGB_UNORM_BLOCK: u32 = 131;
957pub const FORMAT_BC1_RGB_SRGB_BLOCK: u32 = 132;
958pub const FORMAT_BC1_RGBA_UNORM_BLOCK: u32 = 133;
959pub const FORMAT_BC1_RGBA_SRGB_BLOCK: u32 = 134;
960pub const FORMAT_BC2_UNORM_BLOCK: u32 = 135;
961pub const FORMAT_BC2_SRGB_BLOCK: u32 = 136;
962pub const FORMAT_BC3_UNORM_BLOCK: u32 = 137;
963pub const FORMAT_BC3_SRGB_BLOCK: u32 = 138;
964pub const FORMAT_BC4_UNORM_BLOCK: u32 = 139;
965pub const FORMAT_BC4_SNORM_BLOCK: u32 = 140;
966pub const FORMAT_BC5_UNORM_BLOCK: u32 = 141;
967pub const FORMAT_BC5_SNORM_BLOCK: u32 = 142;
968pub const FORMAT_BC6H_UFLOAT_BLOCK: u32 = 143;
969pub const FORMAT_BC6H_SFLOAT_BLOCK: u32 = 144;
970pub const FORMAT_BC7_UNORM_BLOCK: u32 = 145;
971pub const FORMAT_BC7_SRGB_BLOCK: u32 = 146;
972pub const FORMAT_ETC2_R8G8B8_UNORM_BLOCK: u32 = 147;
973pub const FORMAT_ETC2_R8G8B8_SRGB_BLOCK: u32 = 148;
974pub const FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK: u32 = 149;
975pub const FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK: u32 = 150;
976pub const FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK: u32 = 151;
977pub const FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK: u32 = 152;
978pub const FORMAT_EAC_R11_UNORM_BLOCK: u32 = 153;
979pub const FORMAT_EAC_R11_SNORM_BLOCK: u32 = 154;
980pub const FORMAT_EAC_R11G11_UNORM_BLOCK: u32 = 155;
981pub const FORMAT_EAC_R11G11_SNORM_BLOCK: u32 = 156;
982pub const FORMAT_ASTC_4x4_UNORM_BLOCK: u32 = 157;
983pub const FORMAT_ASTC_4x4_SRGB_BLOCK: u32 = 158;
984pub const FORMAT_ASTC_5x4_UNORM_BLOCK: u32 = 159;
985pub const FORMAT_ASTC_5x4_SRGB_BLOCK: u32 = 160;
986pub const FORMAT_ASTC_5x5_UNORM_BLOCK: u32 = 161;
987pub const FORMAT_ASTC_5x5_SRGB_BLOCK: u32 = 162;
988pub const FORMAT_ASTC_6x5_UNORM_BLOCK: u32 = 163;
989pub const FORMAT_ASTC_6x5_SRGB_BLOCK: u32 = 164;
990pub const FORMAT_ASTC_6x6_UNORM_BLOCK: u32 = 165;
991pub const FORMAT_ASTC_6x6_SRGB_BLOCK: u32 = 166;
992pub const FORMAT_ASTC_8x5_UNORM_BLOCK: u32 = 167;
993pub const FORMAT_ASTC_8x5_SRGB_BLOCK: u32 = 168;
994pub const FORMAT_ASTC_8x6_UNORM_BLOCK: u32 = 169;
995pub const FORMAT_ASTC_8x6_SRGB_BLOCK: u32 = 170;
996pub const FORMAT_ASTC_8x8_UNORM_BLOCK: u32 = 171;
997pub const FORMAT_ASTC_8x8_SRGB_BLOCK: u32 = 172;
998pub const FORMAT_ASTC_10x5_UNORM_BLOCK: u32 = 173;
999pub const FORMAT_ASTC_10x5_SRGB_BLOCK: u32 = 174;
1000pub const FORMAT_ASTC_10x6_UNORM_BLOCK: u32 = 175;
1001pub const FORMAT_ASTC_10x6_SRGB_BLOCK: u32 = 176;
1002pub const FORMAT_ASTC_10x8_UNORM_BLOCK: u32 = 177;
1003pub const FORMAT_ASTC_10x8_SRGB_BLOCK: u32 = 178;
1004pub const FORMAT_ASTC_10x10_UNORM_BLOCK: u32 = 179;
1005pub const FORMAT_ASTC_10x10_SRGB_BLOCK: u32 = 180;
1006pub const FORMAT_ASTC_12x10_UNORM_BLOCK: u32 = 181;
1007pub const FORMAT_ASTC_12x10_SRGB_BLOCK: u32 = 182;
1008pub const FORMAT_ASTC_12x12_UNORM_BLOCK: u32 = 183;
1009pub const FORMAT_ASTC_12x12_SRGB_BLOCK: u32 = 184;
1010
1011pub const FORMAT_G8B8G8R8_422_UNORM: u32 = 1000156000;
1012pub const FORMAT_B8G8R8G8_422_UNORM: u32 = 1000156001;
1013pub const FORMAT_G8_B8_R8_3PLANE_420_UNORM: u32 = 1000156002;
1014pub const FORMAT_G8_B8R8_2PLANE_420_UNORM: u32 = 1000156003;
1015pub const FORMAT_G8_B8_R8_3PLANE_422_UNORM: u32 = 1000156004;
1016pub const FORMAT_G8_B8R8_2PLANE_422_UNORM: u32 = 1000156005;
1017pub const FORMAT_G8_B8_R8_3PLANE_444_UNORM: u32 = 1000156006;
1018pub const FORMAT_R10X6_UNORM_PACK16: u32 = 1000156007;
1019pub const FORMAT_R10X6G10X6_UNORM_2PACK16: u32 = 1000156008;
1020pub const FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16: u32 = 1000156009;
1021pub const FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16: u32 = 1000156010;
1022pub const FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16: u32 = 1000156011;
1023pub const FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16: u32 = 1000156012;
1024pub const FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16: u32 = 1000156013;
1025pub const FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16: u32 = 1000156014;
1026pub const FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16: u32 = 1000156015;
1027pub const FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16: u32 = 1000156016;
1028pub const FORMAT_R12X4_UNORM_PACK16: u32 = 1000156017;
1029pub const FORMAT_R12X4G12X4_UNORM_2PACK16: u32 = 1000156018;
1030pub const FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16: u32 = 1000156019;
1031pub const FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16: u32 = 1000156020;
1032pub const FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16: u32 = 1000156021;
1033pub const FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16: u32 = 1000156022;
1034pub const FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16: u32 = 1000156023;
1035pub const FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16: u32 = 1000156024;
1036pub const FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16: u32 = 1000156025;
1037pub const FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16: u32 = 1000156026;
1038pub const FORMAT_G16B16G16R16_422_UNORM: u32 = 1000156027;
1039pub const FORMAT_B16G16R16G16_422_UNORM: u32 = 1000156028;
1040pub const FORMAT_G16_B16_R16_3PLANE_420_UNORM: u32 = 1000156029;
1041pub const FORMAT_G16_B16R16_2PLANE_420_UNORM: u32 = 1000156030;
1042pub const FORMAT_G16_B16_R16_3PLANE_422_UNORM: u32 = 1000156031;
1043pub const FORMAT_G16_B16R16_2PLANE_422_UNORM: u32 = 1000156032;
1044pub const FORMAT_G16_B16_R16_3PLANE_444_UNORM: u32 = 1000156033;
1045pub const FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG: u32 = 1000054000;
1046pub const FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG: u32 = 1000054001;
1047pub const FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG: u32 = 1000054002;
1048pub const FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG: u32 = 1000054003;
1049pub const FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG: u32 = 1000054004;
1050pub const FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG: u32 = 1000054005;
1051pub const FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG: u32 = 1000054006;
1052pub const FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG: u32 = 1000054007;
1053pub const FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT: u32 = 1000066000;
1054pub const FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT: u32 = 1000066001;
1055pub const FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT: u32 = 1000066002;
1056pub const FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT: u32 = 1000066003;
1057pub const FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT: u32 = 1000066004;
1058pub const FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT: u32 = 1000066005;
1059pub const FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT: u32 = 1000066006;
1060pub const FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT: u32 = 1000066007;
1061pub const FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT: u32 = 1000066008;
1062pub const FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT: u32 = 1000066009;
1063pub const FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT: u32 = 1000066010;
1064pub const FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT: u32 = 1000066011;
1065pub const FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT: u32 = 1000066012;
1066pub const FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT: u32 = 1000066013;
1067pub const FORMAT_A4R4G4B4_UNORM_PACK16_EXT: u32 = 1000340000;
1068pub const FORMAT_A4B4G4R4_UNORM_PACK16_EXT: u32 = 1000340001;
1069pub const FORMAT_G8B8G8R8_422_UNORM_KHR: u32 = FORMAT_G8B8G8R8_422_UNORM;
1070pub const FORMAT_B8G8R8G8_422_UNORM_KHR: u32 = FORMAT_B8G8R8G8_422_UNORM;
1071pub const FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR: u32 = FORMAT_G8_B8_R8_3PLANE_420_UNORM;
1072pub const FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR: u32 = FORMAT_G8_B8R8_2PLANE_420_UNORM;
1073pub const FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR: u32 = FORMAT_G8_B8_R8_3PLANE_422_UNORM;
1074pub const FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR: u32 = FORMAT_G8_B8R8_2PLANE_422_UNORM;
1075pub const FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR: u32 = FORMAT_G8_B8_R8_3PLANE_444_UNORM;
1076pub const FORMAT_R10X6_UNORM_PACK16_KHR: u32 = FORMAT_R10X6_UNORM_PACK16;
1077pub const FORMAT_R10X6G10X6_UNORM_2PACK16_KHR: u32 = FORMAT_R10X6G10X6_UNORM_2PACK16;
1078pub const FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR: u32 =
1079 FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16;
1080pub const FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR: u32 =
1081 FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16;
1082pub const FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR: u32 =
1083 FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16;
1084pub const FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR: u32 =
1085 FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16;
1086pub const FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR: u32 =
1087 FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16;
1088pub const FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR: u32 =
1089 FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16;
1090pub const FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR: u32 =
1091 FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16;
1092pub const FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR: u32 =
1093 FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16;
1094pub const FORMAT_R12X4_UNORM_PACK16_KHR: u32 = FORMAT_R12X4_UNORM_PACK16;
1095pub const FORMAT_R12X4G12X4_UNORM_2PACK16_KHR: u32 = FORMAT_R12X4G12X4_UNORM_2PACK16;
1096pub const FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR: u32 =
1097 FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16;
1098pub const FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR: u32 =
1099 FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16;
1100pub const FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR: u32 =
1101 FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16;
1102pub const FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR: u32 =
1103 FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16;
1104pub const FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR: u32 =
1105 FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16;
1106pub const FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR: u32 =
1107 FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16;
1108pub const FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR: u32 =
1109 FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16;
1110pub const FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR: u32 =
1111 FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16;
1112pub const FORMAT_G16B16G16R16_422_UNORM_KHR: u32 = FORMAT_G16B16G16R16_422_UNORM;
1113pub const FORMAT_B16G16R16G16_422_UNORM_KHR: u32 = FORMAT_B16G16R16G16_422_UNORM;
1114pub const FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR: u32 = FORMAT_G16_B16_R16_3PLANE_420_UNORM;
1115pub const FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR: u32 = FORMAT_G16_B16R16_2PLANE_420_UNORM;
1116pub const FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR: u32 = FORMAT_G16_B16_R16_3PLANE_422_UNORM;
1117pub const FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR: u32 = FORMAT_G16_B16R16_2PLANE_422_UNORM;
1118pub const FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR: u32 = FORMAT_G16_B16_R16_3PLANE_444_UNORM;
1119
1120pub type ImageType = u32;
1121pub const IMAGE_TYPE_1D: u32 = 0;
1122pub const IMAGE_TYPE_2D: u32 = 1;
1123pub const IMAGE_TYPE_3D: u32 = 2;
1124
1125pub type ImageTiling = u32;
1126pub const IMAGE_TILING_OPTIMAL: u32 = 0;
1127pub const IMAGE_TILING_LINEAR: u32 = 1;
1128
1129pub type PhysicalDeviceType = u32;
1130pub const PHYSICAL_DEVICE_TYPE_OTHER: u32 = 0;
1131pub const PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU: u32 = 1;
1132pub const PHYSICAL_DEVICE_TYPE_DISCRETE_GPU: u32 = 2;
1133pub const PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU: u32 = 3;
1134pub const PHYSICAL_DEVICE_TYPE_CPU: u32 = 4;
1135
1136pub type QueryType = u32;
1137pub const QUERY_TYPE_OCCLUSION: u32 = 0;
1138pub const QUERY_TYPE_PIPELINE_STATISTICS: u32 = 1;
1139pub const QUERY_TYPE_TIMESTAMP: u32 = 2;
1140
1141pub type SharingMode = u32;
1142pub const SHARING_MODE_EXCLUSIVE: u32 = 0;
1143pub const SHARING_MODE_CONCURRENT: u32 = 1;
1144
1145pub type ImageLayout = u32;
1146pub const IMAGE_LAYOUT_UNDEFINED: u32 = 0;
1147pub const IMAGE_LAYOUT_GENERAL: u32 = 1;
1148pub const IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL: u32 = 2;
1149pub const IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL: u32 = 3;
1150pub const IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL: u32 = 4;
1151pub const IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL: u32 = 5;
1152pub const IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL: u32 = 6;
1153pub const IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL: u32 = 7;
1154pub const IMAGE_LAYOUT_PREINITIALIZED: u32 = 8;
1155pub const IMAGE_LAYOUT_PRESENT_SRC_KHR: u32 = 1000001002;
1156
1157pub type ImageViewType = u32;
1158pub const IMAGE_VIEW_TYPE_1D: u32 = 0;
1159pub const IMAGE_VIEW_TYPE_2D: u32 = 1;
1160pub const IMAGE_VIEW_TYPE_3D: u32 = 2;
1161pub const IMAGE_VIEW_TYPE_CUBE: u32 = 3;
1162pub const IMAGE_VIEW_TYPE_1D_ARRAY: u32 = 4;
1163pub const IMAGE_VIEW_TYPE_2D_ARRAY: u32 = 5;
1164pub const IMAGE_VIEW_TYPE_CUBE_ARRAY: u32 = 6;
1165
1166pub type ComponentSwizzle = u32;
1167pub const COMPONENT_SWIZZLE_IDENTITY: u32 = 0;
1168pub const COMPONENT_SWIZZLE_ZERO: u32 = 1;
1169pub const COMPONENT_SWIZZLE_ONE: u32 = 2;
1170pub const COMPONENT_SWIZZLE_R: u32 = 3;
1171pub const COMPONENT_SWIZZLE_G: u32 = 4;
1172pub const COMPONENT_SWIZZLE_B: u32 = 5;
1173pub const COMPONENT_SWIZZLE_A: u32 = 6;
1174
1175pub type VertexInputRate = u32;
1176pub const VERTEX_INPUT_RATE_VERTEX: u32 = 0;
1177pub const VERTEX_INPUT_RATE_INSTANCE: u32 = 1;
1178
1179pub type PrimitiveTopology = u32;
1180pub const PRIMITIVE_TOPOLOGY_POINT_LIST: u32 = 0;
1181pub const PRIMITIVE_TOPOLOGY_LINE_LIST: u32 = 1;
1182pub const PRIMITIVE_TOPOLOGY_LINE_STRIP: u32 = 2;
1183pub const PRIMITIVE_TOPOLOGY_TRIANGLE_LIST: u32 = 3;
1184pub const PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP: u32 = 4;
1185pub const PRIMITIVE_TOPOLOGY_TRIANGLE_FAN: u32 = 5;
1186pub const PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY: u32 = 6;
1187pub const PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY: u32 = 7;
1188pub const PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY: u32 = 8;
1189pub const PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY: u32 = 9;
1190pub const PRIMITIVE_TOPOLOGY_PATCH_LIST: u32 = 10;
1191
1192pub type PolygonMode = u32;
1193pub const POLYGON_MODE_FILL: u32 = 0;
1194pub const POLYGON_MODE_LINE: u32 = 1;
1195pub const POLYGON_MODE_POINT: u32 = 2;
1196
1197pub type FrontFace = u32;
1198pub const FRONT_FACE_COUNTER_CLOCKWISE: u32 = 0;
1199pub const FRONT_FACE_CLOCKWISE: u32 = 1;
1200
1201pub type CompareOp = u32;
1202pub const COMPARE_OP_NEVER: u32 = 0;
1203pub const COMPARE_OP_LESS: u32 = 1;
1204pub const COMPARE_OP_EQUAL: u32 = 2;
1205pub const COMPARE_OP_LESS_OR_EQUAL: u32 = 3;
1206pub const COMPARE_OP_GREATER: u32 = 4;
1207pub const COMPARE_OP_NOT_EQUAL: u32 = 5;
1208pub const COMPARE_OP_GREATER_OR_EQUAL: u32 = 6;
1209pub const COMPARE_OP_ALWAYS: u32 = 7;
1210
1211pub type StencilOp = u32;
1212pub const STENCIL_OP_KEEP: u32 = 0;
1213pub const STENCIL_OP_ZERO: u32 = 1;
1214pub const STENCIL_OP_REPLACE: u32 = 2;
1215pub const STENCIL_OP_INCREMENT_AND_CLAMP: u32 = 3;
1216pub const STENCIL_OP_DECREMENT_AND_CLAMP: u32 = 4;
1217pub const STENCIL_OP_INVERT: u32 = 5;
1218pub const STENCIL_OP_INCREMENT_AND_WRAP: u32 = 6;
1219pub const STENCIL_OP_DECREMENT_AND_WRAP: u32 = 7;
1220
1221pub type LogicOp = u32;
1222pub const LOGIC_OP_CLEAR: u32 = 0;
1223pub const LOGIC_OP_AND: u32 = 1;
1224pub const LOGIC_OP_AND_REVERSE: u32 = 2;
1225pub const LOGIC_OP_COPY: u32 = 3;
1226pub const LOGIC_OP_AND_INVERTED: u32 = 4;
1227pub const LOGIC_OP_NO_OP: u32 = 5;
1228pub const LOGIC_OP_XOR: u32 = 6;
1229pub const LOGIC_OP_OR: u32 = 7;
1230pub const LOGIC_OP_NOR: u32 = 8;
1231pub const LOGIC_OP_EQUIVALENT: u32 = 9;
1232pub const LOGIC_OP_INVERT: u32 = 10;
1233pub const LOGIC_OP_OR_REVERSE: u32 = 11;
1234pub const LOGIC_OP_COPY_INVERTED: u32 = 12;
1235pub const LOGIC_OP_OR_INVERTED: u32 = 13;
1236pub const LOGIC_OP_NAND: u32 = 14;
1237pub const LOGIC_OP_SET: u32 = 15;
1238
1239pub type BlendFactor = u32;
1240pub const BLEND_FACTOR_ZERO: u32 = 0;
1241pub const BLEND_FACTOR_ONE: u32 = 1;
1242pub const BLEND_FACTOR_SRC_COLOR: u32 = 2;
1243pub const BLEND_FACTOR_ONE_MINUS_SRC_COLOR: u32 = 3;
1244pub const BLEND_FACTOR_DST_COLOR: u32 = 4;
1245pub const BLEND_FACTOR_ONE_MINUS_DST_COLOR: u32 = 5;
1246pub const BLEND_FACTOR_SRC_ALPHA: u32 = 6;
1247pub const BLEND_FACTOR_ONE_MINUS_SRC_ALPHA: u32 = 7;
1248pub const BLEND_FACTOR_DST_ALPHA: u32 = 8;
1249pub const BLEND_FACTOR_ONE_MINUS_DST_ALPHA: u32 = 9;
1250pub const BLEND_FACTOR_CONSTANT_COLOR: u32 = 10;
1251pub const BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR: u32 = 11;
1252pub const BLEND_FACTOR_CONSTANT_ALPHA: u32 = 12;
1253pub const BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA: u32 = 13;
1254pub const BLEND_FACTOR_SRC_ALPHA_SATURATE: u32 = 14;
1255pub const BLEND_FACTOR_SRC1_COLOR: u32 = 15;
1256pub const BLEND_FACTOR_ONE_MINUS_SRC1_COLOR: u32 = 16;
1257pub const BLEND_FACTOR_SRC1_ALPHA: u32 = 17;
1258pub const BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA: u32 = 18;
1259
1260pub type BlendOp = u32;
1261pub const BLEND_OP_ADD: u32 = 0;
1262pub const BLEND_OP_SUBTRACT: u32 = 1;
1263pub const BLEND_OP_REVERSE_SUBTRACT: u32 = 2;
1264pub const BLEND_OP_MIN: u32 = 3;
1265pub const BLEND_OP_MAX: u32 = 4;
1266
1267pub type DynamicState = u32;
1268pub const DYNAMIC_STATE_VIEWPORT: u32 = 0;
1269pub const DYNAMIC_STATE_SCISSOR: u32 = 1;
1270pub const DYNAMIC_STATE_LINE_WIDTH: u32 = 2;
1271pub const DYNAMIC_STATE_DEPTH_BIAS: u32 = 3;
1272pub const DYNAMIC_STATE_BLEND_CONSTANTS: u32 = 4;
1273pub const DYNAMIC_STATE_DEPTH_BOUNDS: u32 = 5;
1274pub const DYNAMIC_STATE_STENCIL_COMPARE_MASK: u32 = 6;
1275pub const DYNAMIC_STATE_STENCIL_WRITE_MASK: u32 = 7;
1276pub const DYNAMIC_STATE_STENCIL_REFERENCE: u32 = 8;
1277
1278pub type Filter = u32;
1279pub const FILTER_NEAREST: u32 = 0;
1280pub const FILTER_LINEAR: u32 = 1;
1281
1282pub type SamplerMipmapMode = u32;
1283pub const SAMPLER_MIPMAP_MODE_NEAREST: u32 = 0;
1284pub const SAMPLER_MIPMAP_MODE_LINEAR: u32 = 1;
1285
1286pub type SamplerAddressMode = u32;
1287pub const SAMPLER_ADDRESS_MODE_REPEAT: u32 = 0;
1288pub const SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT: u32 = 1;
1289pub const SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE: u32 = 2;
1290pub const SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER: u32 = 3;
1291pub const SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE: u32 = 4;
1292
1293pub type BorderColor = u32;
1294pub const BORDER_COLOR_FLOAT_TRANSPARENT_BLACK: u32 = 0;
1295pub const BORDER_COLOR_INT_TRANSPARENT_BLACK: u32 = 1;
1296pub const BORDER_COLOR_FLOAT_OPAQUE_BLACK: u32 = 2;
1297pub const BORDER_COLOR_INT_OPAQUE_BLACK: u32 = 3;
1298pub const BORDER_COLOR_FLOAT_OPAQUE_WHITE: u32 = 4;
1299pub const BORDER_COLOR_INT_OPAQUE_WHITE: u32 = 5;
1300
1301pub type DescriptorType = u32;
1302pub const DESCRIPTOR_TYPE_SAMPLER: u32 = 0;
1303pub const DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER: u32 = 1;
1304pub const DESCRIPTOR_TYPE_SAMPLED_IMAGE: u32 = 2;
1305pub const DESCRIPTOR_TYPE_STORAGE_IMAGE: u32 = 3;
1306pub const DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER: u32 = 4;
1307pub const DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER: u32 = 5;
1308pub const DESCRIPTOR_TYPE_UNIFORM_BUFFER: u32 = 6;
1309pub const DESCRIPTOR_TYPE_STORAGE_BUFFER: u32 = 7;
1310pub const DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC: u32 = 8;
1311pub const DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC: u32 = 9;
1312pub const DESCRIPTOR_TYPE_INPUT_ATTACHMENT: u32 = 10;
1313
1314pub type AttachmentLoadOp = u32;
1315pub const ATTACHMENT_LOAD_OP_LOAD: u32 = 0;
1316pub const ATTACHMENT_LOAD_OP_CLEAR: u32 = 1;
1317pub const ATTACHMENT_LOAD_OP_DONT_CARE: u32 = 2;
1318
1319pub type AttachmentStoreOp = u32;
1320pub const ATTACHMENT_STORE_OP_STORE: u32 = 0;
1321pub const ATTACHMENT_STORE_OP_DONT_CARE: u32 = 1;
1322
1323pub type PipelineBindPoint = u32;
1324pub const PIPELINE_BIND_POINT_GRAPHICS: u32 = 0;
1325pub const PIPELINE_BIND_POINT_COMPUTE: u32 = 1;
1326
1327pub type CommandBufferLevel = u32;
1328pub const COMMAND_BUFFER_LEVEL_PRIMARY: u32 = 0;
1329pub const COMMAND_BUFFER_LEVEL_SECONDARY: u32 = 1;
1330
1331pub type IndexType = u32;
1332pub const INDEX_TYPE_UINT16: u32 = 0;
1333pub const INDEX_TYPE_UINT32: u32 = 1;
1334
1335pub type SubpassContents = u32;
1336pub const SUBPASS_CONTENTS_INLINE: u32 = 0;
1337pub const SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS: u32 = 1;
1338
1339pub type InstanceCreateFlags = Flags;
1340
1341pub type FormatFeatureFlagBits = u32;
1342pub const FORMAT_FEATURE_SAMPLED_IMAGE_BIT: u32 = 0x00000001;
1343pub const FORMAT_FEATURE_STORAGE_IMAGE_BIT: u32 = 0x00000002;
1344pub const FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT: u32 = 0x00000004;
1345pub const FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT: u32 = 0x00000008;
1346pub const FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT: u32 = 0x00000010;
1347pub const FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT: u32 = 0x00000020;
1348pub const FORMAT_FEATURE_VERTEX_BUFFER_BIT: u32 = 0x00000040;
1349pub const FORMAT_FEATURE_COLOR_ATTACHMENT_BIT: u32 = 0x00000080;
1350pub const FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT: u32 = 0x00000100;
1351pub const FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT: u32 = 0x00000200;
1352pub const FORMAT_FEATURE_BLIT_SRC_BIT: u32 = 0x00000400;
1353pub const FORMAT_FEATURE_BLIT_DST_BIT: u32 = 0x00000800;
1354pub const FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT: u32 = 0x00001000;
1355pub const FORMAT_FEATURE_TRANSFER_SRC_BIT: u32 = 0x00004000;
1356pub const FORMAT_FEATURE_TRANSFER_DST_BIT: u32 = 0x00008000;
1357pub const FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT: u32 = 0x00020000;
1358pub const FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT: u32 = 0x00040000;
1359pub const FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT: u32 =
1360 0x00080000;
1361pub const FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT: u32 =
1362 0x00100000;
1363pub const FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT: u32 = 0x00200000;
1364pub const FORMAT_FEATURE_DISJOINT_BIT: u32 = 0x00400000;
1365pub const FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT: u32 = 0x00800000;
1366pub const FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT: u32 = 0x00010000;
1367pub const FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG: u32 = 0x00002000;
1368pub const FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR: u32 = 0x20000000;
1369pub const FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT: u32 = 0x01000000;
1370
1371pub const FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR: u32 = FORMAT_FEATURE_TRANSFER_SRC_BIT;
1372pub const FORMAT_FEATURE_TRANSFER_DST_BIT_KHR: u32 = FORMAT_FEATURE_TRANSFER_DST_BIT;
1373pub const FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT: u32 =
1374 FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT;
1375pub const FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR: u32 =
1376 FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT;
1377pub const FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR: u32 =
1378 FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT;
1379pub const FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR:
1380 u32 = FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT;
1381pub const FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR:
1382 u32 = FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT;
1383pub const FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR: u32 = FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT;
1384pub const FORMAT_FEATURE_DISJOINT_BIT_KHR: u32 = FORMAT_FEATURE_DISJOINT_BIT;
1385pub const FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR: u32 =
1386 FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT;
1387pub const FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT: u32 =
1388 FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG;
1389pub type FormatFeatureFlags = Flags;
1390
1391pub type ImageUsageFlagBits = u32;
1392pub const IMAGE_USAGE_TRANSFER_SRC_BIT: u32 = 0x00000001;
1393pub const IMAGE_USAGE_TRANSFER_DST_BIT: u32 = 0x00000002;
1394pub const IMAGE_USAGE_SAMPLED_BIT: u32 = 0x00000004;
1395pub const IMAGE_USAGE_STORAGE_BIT: u32 = 0x00000008;
1396pub const IMAGE_USAGE_COLOR_ATTACHMENT_BIT: u32 = 0x00000010;
1397pub const IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT: u32 = 0x00000020;
1398pub const IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT: u32 = 0x00000040;
1399pub const IMAGE_USAGE_INPUT_ATTACHMENT_BIT: u32 = 0x00000080;
1400pub type ImageUsageFlags = Flags;
1401
1402pub type ImageCreateFlagBits = u32;
1403pub const IMAGE_CREATE_SPARSE_BINDING_BIT: u32 = 0x00000001;
1404pub const IMAGE_CREATE_SPARSE_RESIDENCY_BIT: u32 = 0x00000002;
1405pub const IMAGE_CREATE_SPARSE_ALIASED_BIT: u32 = 0x00000004;
1406pub const IMAGE_CREATE_MUTABLE_FORMAT_BIT: u32 = 0x00000008;
1407pub const IMAGE_CREATE_CUBE_COMPATIBLE_BIT: u32 = 0x00000010;
1408pub const IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR: u32 = 0x00000020;
1409pub type ImageCreateFlags = Flags;
1410
1411pub type SampleCountFlagBits = u32;
1412pub const SAMPLE_COUNT_1_BIT: u32 = 0x00000001;
1413pub const SAMPLE_COUNT_2_BIT: u32 = 0x00000002;
1414pub const SAMPLE_COUNT_4_BIT: u32 = 0x00000004;
1415pub const SAMPLE_COUNT_8_BIT: u32 = 0x00000008;
1416pub const SAMPLE_COUNT_16_BIT: u32 = 0x00000010;
1417pub const SAMPLE_COUNT_32_BIT: u32 = 0x00000020;
1418pub const SAMPLE_COUNT_64_BIT: u32 = 0x00000040;
1419pub type SampleCountFlags = Flags;
1420
1421pub type QueueFlagBits = u32;
1422pub const QUEUE_GRAPHICS_BIT: u32 = 0x00000001;
1423pub const QUEUE_COMPUTE_BIT: u32 = 0x00000002;
1424pub const QUEUE_TRANSFER_BIT: u32 = 0x00000004;
1425pub const QUEUE_SPARSE_BINDING_BIT: u32 = 0x00000008;
1426pub type QueueFlags = Flags;
1427
1428pub type MemoryPropertyFlagBits = u32;
1429pub const MEMORY_PROPERTY_DEVICE_LOCAL_BIT: u32 = 0x00000001;
1430pub const MEMORY_PROPERTY_HOST_VISIBLE_BIT: u32 = 0x00000002;
1431pub const MEMORY_PROPERTY_HOST_COHERENT_BIT: u32 = 0x00000004;
1432pub const MEMORY_PROPERTY_HOST_CACHED_BIT: u32 = 0x00000008;
1433pub const MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT: u32 = 0x00000010;
1434pub type MemoryPropertyFlags = Flags;
1435
1436pub type MemoryHeapFlagBits = u32;
1437pub const MEMORY_HEAP_DEVICE_LOCAL_BIT: u32 = 0x00000001;
1438pub const MEMORY_HEAP_MULTI_INSTANCE_BIT: u32 = 0x00000002;
1439pub type MemoryHeapFlags = Flags;
1440pub type DeviceCreateFlags = Flags;
1441pub type DeviceQueueCreateFlags = Flags;
1442
1443pub type PipelineStageFlagBits = u32;
1444pub const PIPELINE_STAGE_TOP_OF_PIPE_BIT: u32 = 0x00000001;
1445pub const PIPELINE_STAGE_DRAW_INDIRECT_BIT: u32 = 0x00000002;
1446pub const PIPELINE_STAGE_VERTEX_INPUT_BIT: u32 = 0x00000004;
1447pub const PIPELINE_STAGE_VERTEX_SHADER_BIT: u32 = 0x00000008;
1448pub const PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT: u32 = 0x00000010;
1449pub const PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT: u32 = 0x00000020;
1450pub const PIPELINE_STAGE_GEOMETRY_SHADER_BIT: u32 = 0x00000040;
1451pub const PIPELINE_STAGE_FRAGMENT_SHADER_BIT: u32 = 0x00000080;
1452pub const PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT: u32 = 0x00000100;
1453pub const PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT: u32 = 0x00000200;
1454pub const PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT: u32 = 0x00000400;
1455pub const PIPELINE_STAGE_COMPUTE_SHADER_BIT: u32 = 0x00000800;
1456pub const PIPELINE_STAGE_TRANSFER_BIT: u32 = 0x00001000;
1457pub const PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT: u32 = 0x00002000;
1458pub const PIPELINE_STAGE_HOST_BIT: u32 = 0x00004000;
1459pub const PIPELINE_STAGE_ALL_GRAPHICS_BIT: u32 = 0x00008000;
1460pub const PIPELINE_STAGE_ALL_COMMANDS_BIT: u32 = 0x00010000;
1461pub type PipelineStageFlags = Flags;
1462pub type MemoryMapFlags = Flags;
1463
1464pub type ImageAspectFlagBits = u32;
1465pub const IMAGE_ASPECT_COLOR_BIT: u32 = 0x00000001;
1466pub const IMAGE_ASPECT_DEPTH_BIT: u32 = 0x00000002;
1467pub const IMAGE_ASPECT_STENCIL_BIT: u32 = 0x00000004;
1468pub const IMAGE_ASPECT_METADATA_BIT: u32 = 0x00000008;
1469pub const IMAGE_ASPECT_PLANE_0_BIT: u32 = 0x00000010;
1470pub const IMAGE_ASPECT_PLANE_1_BIT: u32 = 0x00000020;
1471pub const IMAGE_ASPECT_PLANE_2_BIT: u32 = 0x00000040;
1472pub const IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT: u32 = 0x00000080;
1473pub const IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT: u32 = 0x00000100;
1474pub const IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT: u32 = 0x00000200;
1475pub const IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT: u32 = 0x00000400;
1476pub const IMAGE_ASPECT_PLANE_0_BIT_KHR: u32 = IMAGE_ASPECT_PLANE_0_BIT;
1477pub const IMAGE_ASPECT_PLANE_1_BIT_KHR: u32 = IMAGE_ASPECT_PLANE_1_BIT;
1478pub const IMAGE_ASPECT_PLANE_2_BIT_KHR: u32 = IMAGE_ASPECT_PLANE_2_BIT;
1479pub const IMAGE_ASPECT_FLAG_BITS_MAX_ENUM: u32 = 0x7FFFFFFF;
1480pub type ImageAspectFlags = Flags;
1481
1482pub type SparseImageFormatFlagBits = u32;
1483pub const SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT: u32 = 0x00000001;
1484pub const SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT: u32 = 0x00000002;
1485pub const SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT: u32 = 0x00000004;
1486pub type SparseImageFormatFlags = Flags;
1487
1488pub type SparseMemoryBindFlagBits = u32;
1489pub const SPARSE_MEMORY_BIND_METADATA_BIT: u32 = 0x00000001;
1490pub type SparseMemoryBindFlags = Flags;
1491
1492pub type FenceCreateFlagBits = u32;
1493pub const FENCE_CREATE_SIGNALED_BIT: u32 = 0x00000001;
1494pub type FenceCreateFlags = Flags;
1495pub type SemaphoreCreateFlags = Flags;
1496pub type EventCreateFlags = Flags;
1497pub type QueryPoolCreateFlags = Flags;
1498
1499pub type QueryPipelineStatisticFlagBits = u32;
1500pub const QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT: u32 = 0x00000001;
1501pub const QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT: u32 = 0x00000002;
1502pub const QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT: u32 = 0x00000004;
1503pub const QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT: u32 = 0x00000008;
1504pub const QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT: u32 = 0x00000010;
1505pub const QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT: u32 = 0x00000020;
1506pub const QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT: u32 = 0x00000040;
1507pub const QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT: u32 = 0x00000080;
1508pub const QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT: u32 = 0x00000100;
1509pub const QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT: u32 = 0x00000200;
1510pub const QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT: u32 = 0x00000400;
1511pub type QueryPipelineStatisticFlags = Flags;
1512
1513pub type QueryResultFlagBits = u32;
1514pub const QUERY_RESULT_64_BIT: u32 = 0x00000001;
1515pub const QUERY_RESULT_WAIT_BIT: u32 = 0x00000002;
1516pub const QUERY_RESULT_WITH_AVAILABILITY_BIT: u32 = 0x00000004;
1517pub const QUERY_RESULT_PARTIAL_BIT: u32 = 0x00000008;
1518pub type QueryResultFlags = Flags;
1519
1520pub type BufferCreateFlagBits = u32;
1521pub const BUFFER_CREATE_SPARSE_BINDING_BIT: u32 = 0x00000001;
1522pub const BUFFER_CREATE_SPARSE_RESIDENCY_BIT: u32 = 0x00000002;
1523pub const BUFFER_CREATE_SPARSE_ALIASED_BIT: u32 = 0x00000004;
1524pub type BufferCreateFlags = Flags;
1525
1526pub type BufferUsageFlagBits = u32;
1527pub const BUFFER_USAGE_TRANSFER_SRC_BIT: u32 = 0x00000001;
1528pub const BUFFER_USAGE_TRANSFER_DST_BIT: u32 = 0x00000002;
1529pub const BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT: u32 = 0x00000004;
1530pub const BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT: u32 = 0x00000008;
1531pub const BUFFER_USAGE_UNIFORM_BUFFER_BIT: u32 = 0x00000010;
1532pub const BUFFER_USAGE_STORAGE_BUFFER_BIT: u32 = 0x00000020;
1533pub const BUFFER_USAGE_INDEX_BUFFER_BIT: u32 = 0x00000040;
1534pub const BUFFER_USAGE_VERTEX_BUFFER_BIT: u32 = 0x00000080;
1535pub const BUFFER_USAGE_INDIRECT_BUFFER_BIT: u32 = 0x00000100;
1536pub const BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT: u32 = 0x00020000;
1537pub type BufferUsageFlags = Flags;
1538pub type BufferViewCreateFlags = Flags;
1539pub type ImageViewCreateFlags = Flags;
1540pub type ShaderModuleCreateFlags = Flags;
1541pub type PipelineCacheCreateFlags = Flags;
1542
1543pub type PipelineCreateFlagBits = u32;
1544pub const PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT: u32 = 0x00000001;
1545pub const PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT: u32 = 0x00000002;
1546pub const PIPELINE_CREATE_DERIVATIVE_BIT: u32 = 0x00000004;
1547pub type PipelineCreateFlags = Flags;
1548pub type PipelineShaderStageCreateFlags = Flags;
1549
1550pub type ShaderStageFlagBits = u32;
1551pub const SHADER_STAGE_VERTEX_BIT: u32 = 0x00000001;
1552pub const SHADER_STAGE_TESSELLATION_CONTROL_BIT: u32 = 0x00000002;
1553pub const SHADER_STAGE_TESSELLATION_EVALUATION_BIT: u32 = 0x00000004;
1554pub const SHADER_STAGE_GEOMETRY_BIT: u32 = 0x00000008;
1555pub const SHADER_STAGE_FRAGMENT_BIT: u32 = 0x00000010;
1556pub const SHADER_STAGE_COMPUTE_BIT: u32 = 0x00000020;
1557pub const SHADER_STAGE_ALL_GRAPHICS: u32 = 0x1F;
1558pub const SHADER_STAGE_ALL: u32 = 0x7FFFFFFF;
1559pub type PipelineVertexInputStateCreateFlags = Flags;
1560pub type PipelineInputAssemblyStateCreateFlags = Flags;
1561pub type PipelineTessellationStateCreateFlags = Flags;
1562pub type PipelineViewportStateCreateFlags = Flags;
1563pub type PipelineRasterizationStateCreateFlags = Flags;
1564
1565pub type CullModeFlagBits = u32;
1566pub const CULL_MODE_NONE: u32 = 0;
1567pub const CULL_MODE_FRONT_BIT: u32 = 0x00000001;
1568pub const CULL_MODE_BACK_BIT: u32 = 0x00000002;
1569pub const CULL_MODE_FRONT_AND_BACK: u32 = 0x3;
1570pub type CullModeFlags = Flags;
1571pub type PipelineMultisampleStateCreateFlags = Flags;
1572pub type PipelineDepthStencilStateCreateFlags = Flags;
1573pub type PipelineColorBlendStateCreateFlags = Flags;
1574
1575pub type ColorComponentFlagBits = u32;
1576pub const COLOR_COMPONENT_R_BIT: u32 = 0x00000001;
1577pub const COLOR_COMPONENT_G_BIT: u32 = 0x00000002;
1578pub const COLOR_COMPONENT_B_BIT: u32 = 0x00000004;
1579pub const COLOR_COMPONENT_A_BIT: u32 = 0x00000008;
1580pub type ColorComponentFlags = Flags;
1581pub type PipelineDynamicStateCreateFlags = Flags;
1582pub type PipelineLayoutCreateFlags = Flags;
1583pub type ShaderStageFlags = Flags;
1584pub type SubgroupFeatureFlags = Flags;
1585pub type SamplerCreateFlags = Flags;
1586pub type DescriptorSetLayoutCreateFlags = Flags;
1587
1588pub type DescriptorPoolCreateFlagBits = u32;
1589pub const DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT: u32 = 0x00000001;
1590pub type DescriptorPoolCreateFlags = Flags;
1591pub type DescriptorPoolResetFlags = Flags;
1592pub type FramebufferCreateFlags = Flags;
1593pub type RenderPassCreateFlags = Flags;
1594
1595pub type AttachmentDescriptionFlagBits = u32;
1596pub const ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT: u32 = 0x00000001;
1597pub type AttachmentDescriptionFlags = Flags;
1598pub type SubpassDescriptionFlags = Flags;
1599
1600pub type AccessFlagBits = u32;
1601pub const ACCESS_INDIRECT_COMMAND_READ_BIT: u32 = 0x00000001;
1602pub const ACCESS_INDEX_READ_BIT: u32 = 0x00000002;
1603pub const ACCESS_VERTEX_ATTRIBUTE_READ_BIT: u32 = 0x00000004;
1604pub const ACCESS_UNIFORM_READ_BIT: u32 = 0x00000008;
1605pub const ACCESS_INPUT_ATTACHMENT_READ_BIT: u32 = 0x00000010;
1606pub const ACCESS_SHADER_READ_BIT: u32 = 0x00000020;
1607pub const ACCESS_SHADER_WRITE_BIT: u32 = 0x00000040;
1608pub const ACCESS_COLOR_ATTACHMENT_READ_BIT: u32 = 0x00000080;
1609pub const ACCESS_COLOR_ATTACHMENT_WRITE_BIT: u32 = 0x00000100;
1610pub const ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT: u32 = 0x00000200;
1611pub const ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT: u32 = 0x00000400;
1612pub const ACCESS_TRANSFER_READ_BIT: u32 = 0x00000800;
1613pub const ACCESS_TRANSFER_WRITE_BIT: u32 = 0x00001000;
1614pub const ACCESS_HOST_READ_BIT: u32 = 0x00002000;
1615pub const ACCESS_HOST_WRITE_BIT: u32 = 0x00004000;
1616pub const ACCESS_MEMORY_READ_BIT: u32 = 0x00008000;
1617pub const ACCESS_MEMORY_WRITE_BIT: u32 = 0x00010000;
1618pub type AccessFlags = Flags;
1619
1620pub type DependencyFlagBits = u32;
1621pub const DEPENDENCY_BY_REGION_BIT: u32 = 0x00000001;
1622pub type DependencyFlags = Flags;
1623
1624pub type CommandPoolCreateFlagBits = u32;
1625pub const COMMAND_POOL_CREATE_TRANSIENT_BIT: u32 = 0x00000001;
1626pub const COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT: u32 = 0x00000002;
1627pub type CommandPoolCreateFlags = Flags;
1628
1629pub type CommandPoolResetFlagBits = u32;
1630pub const COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT: u32 = 0x00000001;
1631pub type CommandPoolResetFlags = Flags;
1632
1633pub type CommandPoolTrimFlagsKHR = Flags;
1634
1635pub type CommandBufferUsageFlagBits = u32;
1636pub const COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT: u32 = 0x00000001;
1637pub const COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT: u32 = 0x00000002;
1638pub const COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT: u32 = 0x00000004;
1639pub type CommandBufferUsageFlags = Flags;
1640
1641pub type QueryControlFlagBits = u32;
1642pub const QUERY_CONTROL_PRECISE_BIT: u32 = 0x00000001;
1643pub type QueryControlFlags = Flags;
1644
1645pub type CommandBufferResetFlagBits = u32;
1646pub const COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT: u32 = 0x00000001;
1647pub type CommandBufferResetFlags = Flags;
1648
1649pub type StencilFaceFlagBits = u32;
1650pub const STENCIL_FACE_FRONT_BIT: u32 = 0x00000001;
1651pub const STENCIL_FACE_BACK_BIT: u32 = 0x00000002;
1652pub const STENCIL_FRONT_AND_BACK: u32 = 0x3;
1653pub type StencilFaceFlags = Flags;
1654
1655pub type DisplayPlaneAlphaFlagBitsKHR = u32;
1656pub const DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR: u32 = 0x00000001;
1657pub const DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR: u32 = 0x00000002;
1658pub const DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR: u32 = 0x00000004;
1659pub const DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR: u32 = 0x00000008;
1660pub type DisplayModeCreateFlagsKHR = Flags;
1661pub type DisplayPlaneAlphaFlagsKHR = Flags;
1662pub type DisplaySurfaceCreateFlagsKHR = Flags;
1663
1664pub type ColorSpaceKHR = u32;
1665pub const COLOR_SPACE_SRGB_NONLINEAR_KHR: u32 = 0;
1666pub const COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT: u32 = 1000104001;
1667pub const COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT: u32 = 1000104002;
1668pub const COLOR_SPACE_DCI_P3_LINEAR_EXT: u32 = 1000104003;
1669pub const COLOR_SPACE_DCI_P3_NONLINEAR_EXT: u32 = 1000104004;
1670pub const COLOR_SPACE_BT709_LINEAR_EXT: u32 = 1000104005;
1671pub const COLOR_SPACE_BT709_NONLINEAR_EXT: u32 = 1000104006;
1672pub const COLOR_SPACE_BT2020_LINEAR_EXT: u32 = 1000104007;
1673pub const COLOR_SPACE_HDR10_ST2084_EXT: u32 = 1000104008;
1674pub const COLOR_SPACE_DOLBYVISION_EXT: u32 = 1000104009;
1675pub const COLOR_SPACE_HDR10_HLG_EXT: u32 = 1000104010;
1676pub const COLOR_SPACE_ADOBERGB_LINEAR_EXT: u32 = 1000104011;
1677pub const COLOR_SPACE_ADOBERGB_NONLINEAR_EXT: u32 = 1000104012;
1678pub const COLOR_SPACE_PASS_THROUGH_EXT: u32 = 1000104013;
1679
1680pub type PresentModeKHR = u32;
1681pub const PRESENT_MODE_IMMEDIATE_KHR: u32 = 0;
1682pub const PRESENT_MODE_MAILBOX_KHR: u32 = 1;
1683pub const PRESENT_MODE_FIFO_KHR: u32 = 2;
1684pub const PRESENT_MODE_FIFO_RELAXED_KHR: u32 = 3;
1685pub const PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR: u32 = 1000111000;
1686pub const PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR: u32 = 1000111001;
1687
1688pub type SurfaceTransformFlagBitsKHR = u32;
1689pub const SURFACE_TRANSFORM_IDENTITY_BIT_KHR: u32 = 0x00000001;
1690pub const SURFACE_TRANSFORM_ROTATE_90_BIT_KHR: u32 = 0x00000002;
1691pub const SURFACE_TRANSFORM_ROTATE_180_BIT_KHR: u32 = 0x00000004;
1692pub const SURFACE_TRANSFORM_ROTATE_270_BIT_KHR: u32 = 0x00000008;
1693pub const SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR: u32 = 0x00000010;
1694pub const SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR: u32 = 0x00000020;
1695pub const SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR: u32 = 0x00000040;
1696pub const SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR: u32 = 0x00000080;
1697pub const SURFACE_TRANSFORM_INHERIT_BIT_KHR: u32 = 0x00000100;
1698pub type SurfaceTransformFlagsKHR = Flags;
1699
1700pub type CompositeAlphaFlagBitsKHR = u32;
1701pub const COMPOSITE_ALPHA_OPAQUE_BIT_KHR: u32 = 0x00000001;
1702pub const COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR: u32 = 0x00000002;
1703pub const COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR: u32 = 0x00000004;
1704pub const COMPOSITE_ALPHA_INHERIT_BIT_KHR: u32 = 0x00000008;
1705pub type CompositeAlphaFlagsKHR = Flags;
1706
1707pub type ExternalMemoryHandleTypeFlagBits = u32;
1708pub const EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT: u32 = 0x00000001;
1709pub const EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT: u32 = 0x00000002;
1710pub const EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT: u32 = 0x00000004;
1711pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT: u32 = 0x00000008;
1712pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT: u32 = 0x00000010;
1713pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT: u32 = 0x00000020;
1714pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT: u32 = 0x00000040;
1715pub const EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT: u32 = 0x00000200;
1716pub const EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID: u32 = 0x00000400;
1717pub const EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT: u32 = 0x00000080;
1718pub const EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT: u32 = 0x00000100;
1719pub const EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR: u32 =
1720 EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT;
1721pub const EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR: u32 =
1722 EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT;
1723pub const EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR: u32 =
1724 EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT;
1725pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR: u32 =
1726 EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT;
1727pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR: u32 =
1728 EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT;
1729pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR: u32 =
1730 EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT;
1731pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR: u32 =
1732 EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT;
1733pub type ExternalMemoryHandleTypeFlags = Flags;
1734
1735pub type ObjectType = u32;
1736pub const OBJECT_TYPE_UNKNOWN: u32 = 0;
1737pub const OBJECT_TYPE_INSTANCE: u32 = 1;
1738pub const OBJECT_TYPE_PHYSICAL_DEVICE: u32 = 2;
1739pub const OBJECT_TYPE_DEVICE: u32 = 3;
1740pub const OBJECT_TYPE_QUEUE: u32 = 4;
1741pub const OBJECT_TYPE_SEMAPHORE: u32 = 5;
1742pub const OBJECT_TYPE_COMMAND_BUFFER: u32 = 6;
1743pub const OBJECT_TYPE_FENCE: u32 = 7;
1744pub const OBJECT_TYPE_DEVICE_MEMORY: u32 = 8;
1745pub const OBJECT_TYPE_BUFFER: u32 = 9;
1746pub const OBJECT_TYPE_IMAGE: u32 = 10;
1747pub const OBJECT_TYPE_EVENT: u32 = 11;
1748pub const OBJECT_TYPE_QUERY_POOL: u32 = 12;
1749pub const OBJECT_TYPE_BUFFER_VIEW: u32 = 13;
1750pub const OBJECT_TYPE_IMAGE_VIEW: u32 = 14;
1751pub const OBJECT_TYPE_SHADER_MODULE: u32 = 15;
1752pub const OBJECT_TYPE_PIPELINE_CACHE: u32 = 16;
1753pub const OBJECT_TYPE_PIPELINE_LAYOUT: u32 = 17;
1754pub const OBJECT_TYPE_RENDER_PASS: u32 = 18;
1755pub const OBJECT_TYPE_PIPELINE: u32 = 19;
1756pub const OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT: u32 = 20;
1757pub const OBJECT_TYPE_SAMPLER: u32 = 21;
1758pub const OBJECT_TYPE_DESCRIPTOR_POOL: u32 = 22;
1759pub const OBJECT_TYPE_DESCRIPTOR_SET: u32 = 23;
1760pub const OBJECT_TYPE_FRAMEBUFFER: u32 = 24;
1761pub const OBJECT_TYPE_COMMAND_POOL: u32 = 25;
1762pub const OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION: u32 = 1000156000;
1763pub const OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE: u32 = 1000085000;
1764pub const OBJECT_TYPE_SURFACE_KHR: u32 = 1000000000;
1765pub const OBJECT_TYPE_SWAPCHAIN_KHR: u32 = 1000001000;
1766pub const OBJECT_TYPE_DISPLAY_KHR: u32 = 1000002000;
1767pub const OBJECT_TYPE_DISPLAY_MODE_KHR: u32 = 1000002001;
1768pub const OBJECT_TYPE_OBJECT_TABLE_NVX: u32 = 1000086000;
1769pub const OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX: u32 = 1000086001;
1770pub const OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT: u32 = 1000128000;
1771pub const OBJECT_TYPE_VALIDATION_CACHE_EXT: u32 = 1000160000;
1772pub const OBJECT_TYPE_ACCELERATION_STRUCTURE_NV: u32 = 1000165000;
1773pub const OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL: u32 = 1000210000;
1774pub const OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR: u32 = OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE;
1775pub const OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR: u32 = OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION;
1776
1777pub type DebugUtilsMessageSeverityFlagBitsEXT = u32;
1778pub const DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT: u32 = 0x00000001;
1779pub const DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT: u32 = 0x00000010;
1780pub const DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT: u32 = 0x00000100;
1781pub const DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT: u32 = 0x00001000;
1782pub type DebugUtilsMessageSeverityFlagsEXT = Flags;
1783
1784pub type DebugUtilsMessageTypeFlagBitsEXT = u32;
1785pub const DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT: u32 = 0x00000001;
1786pub const DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT: u32 = 0x00000002;
1787pub const DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT: u32 = 0x00000004;
1788pub type DebugUtilsMessageTypeFlagsEXT = Flags;
1789
1790pub type DebugUtilsMessengerCreateFlagsEXT = Flags;
1791
1792pub type DebugUtilsMessengerCallbackDataFlagsEXT = Flags;
1793
1794pub type DebugUtilsMessengerEXT = u64;
1795
1796pub type MacOSSurfaceCreateFlagsMVK = u32;
1797
1798pub type IOSSurfaceCreateFlagsMVK = u32;
1799
1800pub type DescriptorSetLayoutCreateFlagBits = u32;
1801pub const DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR: u32 = 0x00000001;
1802
1803pub type DescriptorUpdateTemplateTypeKHR = u32;
1804pub const DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR: u32 = 0;
1805pub const DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR: u32 = 1;
1806pub const DESCRIPTOR_UPDATE_TEMPLATE_TYPE_BEGIN_RANGE_KHR: u32 =
1807 DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR;
1808pub const DESCRIPTOR_UPDATE_TEMPLATE_TYPE_END_RANGE_KHR: u32 =
1809 DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR;
1810pub const DESCRIPTOR_UPDATE_TEMPLATE_TYPE_RANGE_SIZE_KHR: u32 =
1811 DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR
1812 - DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR
1813 + 1;
1814pub type DescriptorUpdateTemplateCreateFlagsKHR = Flags;
1815
1816pub type PFN_vkAllocationFunction =
1817 extern "system" fn(*mut c_void, usize, usize, SystemAllocationScope) -> *mut c_void;
1818pub type PFN_vkReallocationFunction = extern "system" fn(
1819 *mut c_void,
1820 *mut c_void,
1821 usize,
1822 usize,
1823 SystemAllocationScope,
1824) -> *mut c_void;
1825pub type PFN_vkFreeFunction = extern "system" fn(*mut c_void, *mut c_void);
1826pub type PFN_vkInternalAllocationNotification = extern "system" fn(
1827 *mut c_void,
1828 usize,
1829 InternalAllocationType,
1830 SystemAllocationScope,
1831) -> *mut c_void;
1832pub type PFN_vkInternalFreeNotification = extern "system" fn(
1833 *mut c_void,
1834 usize,
1835 InternalAllocationType,
1836 SystemAllocationScope,
1837) -> *mut c_void;
1838pub type PFN_vkDebugUtilsMessengerCallbackEXT = extern "system" fn(
1839 DebugUtilsMessageSeverityFlagBitsEXT,
1840 DebugUtilsMessageTypeFlagsEXT,
1841 *const DebugUtilsMessengerCallbackDataEXT,
1842 *mut c_void,
1843) -> Bool32;
1844
1845pub type PFN_vkVoidFunction = extern "system" fn() -> ();
1846
1847pub type FullScreenExclusiveEXT = u32;
1848pub const FULL_SCREEN_EXCLUSIVE_DEFAUlT_EXT: u32 = 0;
1849pub const FULL_SCREEN_EXCLUSIVE_ALLOWED_EXT: u32 = 1;
1850pub const FULL_SCREEN_EXCLUSIVE_DISALLOWED_EXT: u32 = 2;
1851pub const FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT: u32 = 3;
1852pub const FULL_SCREEN_EXCLUSIVE_MAX_ENUM_EXT: u32 = 0x7FFFFFFF;
1853
1854#[repr(C)]
1855pub struct ApplicationInfo {
1856 pub sType: StructureType,
1857 pub pNext: *const c_void,
1858 pub pApplicationName: *const c_char,
1859 pub applicationVersion: u32,
1860 pub pEngineName: *const c_char,
1861 pub engineVersion: u32,
1862 pub apiVersion: u32,
1863}
1864
1865#[repr(C)]
1866pub struct InstanceCreateInfo {
1867 pub sType: StructureType,
1868 pub pNext: *const c_void,
1869 pub flags: InstanceCreateFlags,
1870 pub pApplicationInfo: *const ApplicationInfo,
1871 pub enabledLayerCount: u32,
1872 pub ppEnabledLayerNames: *const *const c_char,
1873 pub enabledExtensionCount: u32,
1874 pub ppEnabledExtensionNames: *const *const c_char,
1875}
1876
1877#[repr(C)]
1878pub struct AllocationCallbacks {
1879 pub pUserData: *mut c_void,
1880 pub pfnAllocation: PFN_vkAllocationFunction,
1881 pub pfnReallocation: PFN_vkReallocationFunction,
1882 pub pfnFree: PFN_vkFreeFunction,
1883 pub pfnInternalAllocation: PFN_vkInternalAllocationNotification,
1884 pub pfnInternalFree: PFN_vkInternalFreeNotification,
1885}
1886
1887#[derive(Default)]
1888#[repr(C)]
1889pub struct PhysicalDeviceFeatures {
1890 pub robustBufferAccess: Bool32,
1891 pub fullDrawIndexUint32: Bool32,
1892 pub imageCubeArray: Bool32,
1893 pub independentBlend: Bool32,
1894 pub geometryShader: Bool32,
1895 pub tessellationShader: Bool32,
1896 pub sampleRateShading: Bool32,
1897 pub dualSrcBlend: Bool32,
1898 pub logicOp: Bool32,
1899 pub multiDrawIndirect: Bool32,
1900 pub drawIndirectFirstInstance: Bool32,
1901 pub depthClamp: Bool32,
1902 pub depthBiasClamp: Bool32,
1903 pub fillModeNonSolid: Bool32,
1904 pub depthBounds: Bool32,
1905 pub wideLines: Bool32,
1906 pub largePoints: Bool32,
1907 pub alphaToOne: Bool32,
1908 pub multiViewport: Bool32,
1909 pub samplerAnisotropy: Bool32,
1910 pub textureCompressionETC2: Bool32,
1911 pub textureCompressionASTC_LDR: Bool32,
1912 pub textureCompressionBC: Bool32,
1913 pub occlusionQueryPrecise: Bool32,
1914 pub pipelineStatisticsQuery: Bool32,
1915 pub vertexPipelineStoresAndAtomics: Bool32,
1916 pub fragmentStoresAndAtomics: Bool32,
1917 pub shaderTessellationAndGeometryPointSize: Bool32,
1918 pub shaderImageGatherExtended: Bool32,
1919 pub shaderStorageImageExtendedFormats: Bool32,
1920 pub shaderStorageImageMultisample: Bool32,
1921 pub shaderStorageImageReadWithoutFormat: Bool32,
1922 pub shaderStorageImageWriteWithoutFormat: Bool32,
1923 pub shaderUniformBufferArrayDynamicIndexing: Bool32,
1924 pub shaderSampledImageArrayDynamicIndexing: Bool32,
1925 pub shaderStorageBufferArrayDynamicIndexing: Bool32,
1926 pub shaderStorageImageArrayDynamicIndexing: Bool32,
1927 pub shaderClipDistance: Bool32,
1928 pub shaderCullDistance: Bool32,
1929 pub shaderFloat64: Bool32,
1930 pub shaderInt64: Bool32,
1931 pub shaderInt16: Bool32,
1932 pub shaderResourceResidency: Bool32,
1933 pub shaderResourceMinLod: Bool32,
1934 pub sparseBinding: Bool32,
1935 pub sparseResidencyBuffer: Bool32,
1936 pub sparseResidencyImage2D: Bool32,
1937 pub sparseResidencyImage3D: Bool32,
1938 pub sparseResidency2Samples: Bool32,
1939 pub sparseResidency4Samples: Bool32,
1940 pub sparseResidency8Samples: Bool32,
1941 pub sparseResidency16Samples: Bool32,
1942 pub sparseResidencyAliased: Bool32,
1943 pub variableMultisampleRate: Bool32,
1944 pub inheritedQueries: Bool32,
1945}
1946
1947#[repr(C)]
1948pub struct FormatProperties {
1949 pub linearTilingFeatures: FormatFeatureFlags,
1950 pub optimalTilingFeatures: FormatFeatureFlags,
1951 pub bufferFeatures: FormatFeatureFlags,
1952}
1953
1954#[repr(C)]
1955pub struct Extent3D {
1956 pub width: u32,
1957 pub height: u32,
1958 pub depth: u32,
1959}
1960
1961#[repr(C)]
1962pub struct ImageFormatProperties {
1963 pub maxExtent: Extent3D,
1964 pub maxMipLevels: u32,
1965 pub maxArrayLayers: u32,
1966 pub sampleCounts: SampleCountFlags,
1967 pub maxResourceSize: DeviceSize,
1968}
1969
1970#[repr(C)]
1971pub struct PhysicalDeviceLimits {
1972 pub maxImageDimension1D: u32,
1973 pub maxImageDimension2D: u32,
1974 pub maxImageDimension3D: u32,
1975 pub maxImageDimensionCube: u32,
1976 pub maxImageArrayLayers: u32,
1977 pub maxTexelBufferElements: u32,
1978 pub maxUniformBufferRange: u32,
1979 pub maxStorageBufferRange: u32,
1980 pub maxPushConstantsSize: u32,
1981 pub maxMemoryAllocationCount: u32,
1982 pub maxSamplerAllocationCount: u32,
1983 pub bufferImageGranularity: DeviceSize,
1984 pub sparseAddressSpaceSize: DeviceSize,
1985 pub maxBoundDescriptorSets: u32,
1986 pub maxPerStageDescriptorSamplers: u32,
1987 pub maxPerStageDescriptorUniformBuffers: u32,
1988 pub maxPerStageDescriptorStorageBuffers: u32,
1989 pub maxPerStageDescriptorSampledImages: u32,
1990 pub maxPerStageDescriptorStorageImages: u32,
1991 pub maxPerStageDescriptorInputAttachments: u32,
1992 pub maxPerStageResources: u32,
1993 pub maxDescriptorSetSamplers: u32,
1994 pub maxDescriptorSetUniformBuffers: u32,
1995 pub maxDescriptorSetUniformBuffersDynamic: u32,
1996 pub maxDescriptorSetStorageBuffers: u32,
1997 pub maxDescriptorSetStorageBuffersDynamic: u32,
1998 pub maxDescriptorSetSampledImages: u32,
1999 pub maxDescriptorSetStorageImages: u32,
2000 pub maxDescriptorSetInputAttachments: u32,
2001 pub maxVertexInputAttributes: u32,
2002 pub maxVertexInputBindings: u32,
2003 pub maxVertexInputAttributeOffset: u32,
2004 pub maxVertexInputBindingStride: u32,
2005 pub maxVertexOutputComponents: u32,
2006 pub maxTessellationGenerationLevel: u32,
2007 pub maxTessellationPatchSize: u32,
2008 pub maxTessellationControlPerVertexInputComponents: u32,
2009 pub maxTessellationControlPerVertexOutputComponents: u32,
2010 pub maxTessellationControlPerPatchOutputComponents: u32,
2011 pub maxTessellationControlTotalOutputComponents: u32,
2012 pub maxTessellationEvaluationInputComponents: u32,
2013 pub maxTessellationEvaluationOutputComponents: u32,
2014 pub maxGeometryShaderInvocations: u32,
2015 pub maxGeometryInputComponents: u32,
2016 pub maxGeometryOutputComponents: u32,
2017 pub maxGeometryOutputVertices: u32,
2018 pub maxGeometryTotalOutputComponents: u32,
2019 pub maxFragmentInputComponents: u32,
2020 pub maxFragmentOutputAttachments: u32,
2021 pub maxFragmentDualSrcAttachments: u32,
2022 pub maxFragmentCombinedOutputResources: u32,
2023 pub maxComputeSharedMemorySize: u32,
2024 pub maxComputeWorkGroupCount: [u32; 3],
2025 pub maxComputeWorkGroupInvocations: u32,
2026 pub maxComputeWorkGroupSize: [u32; 3],
2027 pub subPixelPrecisionBits: u32,
2028 pub subTexelPrecisionBits: u32,
2029 pub mipmapPrecisionBits: u32,
2030 pub maxDrawIndexedIndexValue: u32,
2031 pub maxDrawIndirectCount: u32,
2032 pub maxSamplerLodBias: f32,
2033 pub maxSamplerAnisotropy: f32,
2034 pub maxViewports: u32,
2035 pub maxViewportDimensions: [u32; 2],
2036 pub viewportBoundsRange: [f32; 2],
2037 pub viewportSubPixelBits: u32,
2038 pub minMemoryMapAlignment: usize,
2039 pub minTexelBufferOffsetAlignment: DeviceSize,
2040 pub minUniformBufferOffsetAlignment: DeviceSize,
2041 pub minStorageBufferOffsetAlignment: DeviceSize,
2042 pub minTexelOffset: i32,
2043 pub maxTexelOffset: u32,
2044 pub minTexelGatherOffset: i32,
2045 pub maxTexelGatherOffset: u32,
2046 pub minInterpolationOffset: f32,
2047 pub maxInterpolationOffset: f32,
2048 pub subPixelInterpolationOffsetBits: u32,
2049 pub maxFramebufferWidth: u32,
2050 pub maxFramebufferHeight: u32,
2051 pub maxFramebufferLayers: u32,
2052 pub framebufferColorSampleCounts: SampleCountFlags,
2053 pub framebufferDepthSampleCounts: SampleCountFlags,
2054 pub framebufferStencilSampleCounts: SampleCountFlags,
2055 pub framebufferNoAttachmentsSampleCounts: SampleCountFlags,
2056 pub maxColorAttachments: u32,
2057 pub sampledImageColorSampleCounts: SampleCountFlags,
2058 pub sampledImageIntegerSampleCounts: SampleCountFlags,
2059 pub sampledImageDepthSampleCounts: SampleCountFlags,
2060 pub sampledImageStencilSampleCounts: SampleCountFlags,
2061 pub storageImageSampleCounts: SampleCountFlags,
2062 pub maxSampleMaskWords: u32,
2063 pub timestampComputeAndGraphics: Bool32,
2064 pub timestampPeriod: f32,
2065 pub maxClipDistances: u32,
2066 pub maxCullDistances: u32,
2067 pub maxCombinedClipAndCullDistances: u32,
2068 pub discreteQueuePriorities: u32,
2069 pub pointSizeRange: [f32; 2],
2070 pub lineWidthRange: [f32; 2],
2071 pub pointSizeGranularity: f32,
2072 pub lineWidthGranularity: f32,
2073 pub strictLines: Bool32,
2074 pub standardSampleLocations: Bool32,
2075 pub optimalBufferCopyOffsetAlignment: DeviceSize,
2076 pub optimalBufferCopyRowPitchAlignment: DeviceSize,
2077 pub nonCoherentAtomSize: DeviceSize,
2078}
2079
2080#[repr(C)]
2081pub struct PhysicalDeviceSparseProperties {
2082 pub residencyStandard2DBlockShape: Bool32,
2083 pub residencyStandard2DMultisampleBlockShape: Bool32,
2084 pub residencyStandard3DBlockShape: Bool32,
2085 pub residencyAlignedMipSize: Bool32,
2086 pub residencyNonResidentStrict: Bool32,
2087}
2088
2089#[repr(C)]
2090pub struct PhysicalDeviceProperties {
2091 pub apiVersion: u32,
2092 pub driverVersion: u32,
2093 pub vendorID: u32,
2094 pub deviceID: u32,
2095 pub deviceType: PhysicalDeviceType,
2096 pub deviceName: [c_char; MAX_PHYSICAL_DEVICE_NAME_SIZE as usize],
2097 pub pipelineCacheUUID: [u8; UUID_SIZE as usize],
2098 pub limits: PhysicalDeviceLimits,
2099 pub sparseProperties: PhysicalDeviceSparseProperties,
2100}
2101
2102#[repr(C)]
2103pub struct QueueFamilyProperties {
2104 pub queueFlags: QueueFlags,
2105 pub queueCount: u32,
2106 pub timestampValidBits: u32,
2107 pub minImageTransferGranularity: Extent3D,
2108}
2109
2110#[repr(C)]
2111pub struct MemoryType {
2112 pub propertyFlags: MemoryPropertyFlags,
2113 pub heapIndex: u32,
2114}
2115
2116#[repr(C)]
2117pub struct MemoryHeap {
2118 pub size: DeviceSize,
2119 pub flags: MemoryHeapFlags,
2120}
2121
2122#[repr(C)]
2123pub struct PhysicalDeviceMemoryProperties {
2124 pub memoryTypeCount: u32,
2125 pub memoryTypes: [MemoryType; MAX_MEMORY_TYPES as usize],
2126 pub memoryHeapCount: u32,
2127 pub memoryHeaps: [MemoryHeap; MAX_MEMORY_HEAPS as usize],
2128}
2129
2130#[repr(C)]
2131pub struct DeviceQueueCreateInfo {
2132 pub sType: StructureType,
2133 pub pNext: *const c_void,
2134 pub flags: DeviceQueueCreateFlags,
2135 pub queueFamilyIndex: u32,
2136 pub queueCount: u32,
2137 pub pQueuePriorities: *const f32,
2138}
2139
2140#[repr(C)]
2141pub struct DeviceCreateInfo {
2142 pub sType: StructureType,
2143 pub pNext: *const c_void,
2144 pub flags: DeviceCreateFlags,
2145 pub queueCreateInfoCount: u32,
2146 pub pQueueCreateInfos: *const DeviceQueueCreateInfo,
2147 pub enabledLayerCount: u32,
2148 pub ppEnabledLayerNames: *const *const c_char,
2149 pub enabledExtensionCount: u32,
2150 pub ppEnabledExtensionNames: *const *const c_char,
2151 pub pEnabledFeatures: *const PhysicalDeviceFeatures,
2152}
2153
2154#[repr(C)]
2155pub struct ExtensionProperties {
2156 pub extensionName: [c_char; MAX_EXTENSION_NAME_SIZE as usize],
2157 pub specVersion: u32,
2158}
2159
2160#[repr(C)]
2161pub struct LayerProperties {
2162 pub layerName: [c_char; MAX_EXTENSION_NAME_SIZE as usize],
2163 pub specVersion: u32,
2164 pub implementationVersion: u32,
2165 pub description: [c_char; MAX_DESCRIPTION_SIZE as usize],
2166}
2167
2168#[repr(C)]
2169pub struct SubmitInfo {
2170 pub sType: StructureType,
2171 pub pNext: *const c_void,
2172 pub waitSemaphoreCount: u32,
2173 pub pWaitSemaphores: *const Semaphore,
2174 pub pWaitDstStageMask: *const PipelineStageFlags,
2175 pub commandBufferCount: u32,
2176 pub pCommandBuffers: *const CommandBuffer,
2177 pub signalSemaphoreCount: u32,
2178 pub pSignalSemaphores: *const Semaphore,
2179}
2180
2181#[repr(C)]
2182pub struct MemoryAllocateInfo {
2183 pub sType: StructureType,
2184 pub pNext: *const c_void,
2185 pub allocationSize: DeviceSize,
2186 pub memoryTypeIndex: u32,
2187}
2188
2189#[repr(C)]
2190pub struct MappedMemoryRange {
2191 pub sType: StructureType,
2192 pub pNext: *const c_void,
2193 pub memory: DeviceMemory,
2194 pub offset: DeviceSize,
2195 pub size: DeviceSize,
2196}
2197
2198#[repr(C)]
2199pub struct MemoryRequirements {
2200 pub size: DeviceSize,
2201 pub alignment: DeviceSize,
2202 pub memoryTypeBits: u32,
2203}
2204
2205#[repr(C)]
2206pub struct SparseImageFormatProperties {
2207 pub aspectMask: ImageAspectFlags,
2208 pub imageGranularity: Extent3D,
2209 pub flags: SparseImageFormatFlags,
2210}
2211
2212#[repr(C)]
2213pub struct SparseImageMemoryRequirements {
2214 pub formatProperties: SparseImageFormatProperties,
2215 pub imageMipTailFirstLod: u32,
2216 pub imageMipTailSize: DeviceSize,
2217 pub imageMipTailOffset: DeviceSize,
2218 pub imageMipTailStride: DeviceSize,
2219}
2220
2221#[repr(C)]
2222pub struct SparseMemoryBind {
2223 pub resourceOffset: DeviceSize,
2224 pub size: DeviceSize,
2225 pub memory: DeviceMemory,
2226 pub memoryOffset: DeviceSize,
2227 pub flags: SparseMemoryBindFlags,
2228}
2229
2230#[repr(C)]
2231pub struct SparseBufferMemoryBindInfo {
2232 pub buffer: Buffer,
2233 pub bindCount: u32,
2234 pub pBinds: *const SparseMemoryBind,
2235}
2236
2237#[repr(C)]
2238pub struct SparseImageOpaqueMemoryBindInfo {
2239 pub image: Image,
2240 pub bindCount: u32,
2241 pub pBinds: *const SparseMemoryBind,
2242}
2243
2244#[repr(C)]
2245pub struct ImageSubresource {
2246 pub aspectMask: ImageAspectFlags,
2247 pub mipLevel: u32,
2248 pub arrayLayer: u32,
2249}
2250
2251#[repr(C)]
2252pub struct Offset3D {
2253 pub x: i32,
2254 pub y: i32,
2255 pub z: i32,
2256}
2257
2258#[repr(C)]
2259pub struct SparseImageMemoryBind {
2260 pub subresource: ImageSubresource,
2261 pub offset: Offset3D,
2262 pub extent: Extent3D,
2263 pub memory: DeviceMemory,
2264 pub memoryOffset: DeviceSize,
2265 pub flags: SparseMemoryBindFlags,
2266}
2267
2268#[repr(C)]
2269pub struct SparseImageMemoryBindInfo {
2270 pub image: Image,
2271 pub bindCount: u32,
2272 pub pBinds: *const SparseImageMemoryBind,
2273}
2274
2275#[repr(C)]
2276pub struct BindSparseInfo {
2277 pub sType: StructureType,
2278 pub pNext: *const c_void,
2279 pub waitSemaphoreCount: u32,
2280 pub pWaitSemaphores: *const Semaphore,
2281 pub bufferBindCount: u32,
2282 pub pBufferBinds: *const SparseBufferMemoryBindInfo,
2283 pub imageOpaqueBindCount: u32,
2284 pub pImageOpaqueBinds: *const SparseImageOpaqueMemoryBindInfo,
2285 pub imageBindCount: u32,
2286 pub pImageBinds: *const SparseImageMemoryBindInfo,
2287 pub signalSemaphoreCount: u32,
2288 pub pSignalSemaphores: *const Semaphore,
2289}
2290
2291#[repr(C)]
2292pub struct FenceCreateInfo {
2293 pub sType: StructureType,
2294 pub pNext: *const c_void,
2295 pub flags: FenceCreateFlags,
2296}
2297
2298#[repr(C)]
2299pub struct SemaphoreCreateInfo {
2300 pub sType: StructureType,
2301 pub pNext: *const c_void,
2302 pub flags: SemaphoreCreateFlags,
2303}
2304
2305#[repr(C)]
2306pub struct EventCreateInfo {
2307 pub sType: StructureType,
2308 pub pNext: *const c_void,
2309 pub flags: EventCreateFlags,
2310}
2311
2312#[repr(C)]
2313pub struct QueryPoolCreateInfo {
2314 pub sType: StructureType,
2315 pub pNext: *const c_void,
2316 pub flags: QueryPoolCreateFlags,
2317 pub queryType: QueryType,
2318 pub queryCount: u32,
2319 pub pipelineStatistics: QueryPipelineStatisticFlags,
2320}
2321
2322#[repr(C)]
2323pub struct BufferCreateInfo {
2324 pub sType: StructureType,
2325 pub pNext: *const c_void,
2326 pub flags: BufferCreateFlags,
2327 pub size: DeviceSize,
2328 pub usage: BufferUsageFlags,
2329 pub sharingMode: SharingMode,
2330 pub queueFamilyIndexCount: u32,
2331 pub pQueueFamilyIndices: *const u32,
2332}
2333
2334#[repr(C)]
2335pub struct BufferViewCreateInfo {
2336 pub sType: StructureType,
2337 pub pNext: *const c_void,
2338 pub flags: BufferViewCreateFlags,
2339 pub buffer: Buffer,
2340 pub format: Format,
2341 pub offset: DeviceSize,
2342 pub range: DeviceSize,
2343}
2344
2345#[repr(C)]
2346pub struct ImageCreateInfo {
2347 pub sType: StructureType,
2348 pub pNext: *const c_void,
2349 pub flags: ImageCreateFlags,
2350 pub imageType: ImageType,
2351 pub format: Format,
2352 pub extent: Extent3D,
2353 pub mipLevels: u32,
2354 pub arrayLayers: u32,
2355 pub samples: SampleCountFlagBits,
2356 pub tiling: ImageTiling,
2357 pub usage: ImageUsageFlags,
2358 pub sharingMode: SharingMode,
2359 pub queueFamilyIndexCount: u32,
2360 pub pQueueFamilyIndices: *const u32,
2361 pub initialLayout: ImageLayout,
2362}
2363
2364#[repr(C)]
2365pub struct BufferDeviceAddressInfo {
2366 pub sType: StructureType,
2367 pub pNext: *const c_void,
2368 pub buffer: Buffer,
2369}
2370
2371#[repr(C)]
2372pub struct SubresourceLayout {
2373 pub offset: DeviceSize,
2374 pub size: DeviceSize,
2375 pub rowPitch: DeviceSize,
2376 pub arrayPitch: DeviceSize,
2377 pub depthPitch: DeviceSize,
2378}
2379
2380#[repr(C)]
2381pub struct ComponentMapping {
2382 pub r: ComponentSwizzle,
2383 pub g: ComponentSwizzle,
2384 pub b: ComponentSwizzle,
2385 pub a: ComponentSwizzle,
2386}
2387
2388#[repr(C)]
2389pub struct ImageSubresourceRange {
2390 pub aspectMask: ImageAspectFlags,
2391 pub baseMipLevel: u32,
2392 pub levelCount: u32,
2393 pub baseArrayLayer: u32,
2394 pub layerCount: u32,
2395}
2396
2397#[repr(C)]
2398pub struct ImageViewCreateInfo {
2399 pub sType: StructureType,
2400 pub pNext: *const c_void,
2401 pub flags: ImageViewCreateFlags,
2402 pub image: Image,
2403 pub viewType: ImageViewType,
2404 pub format: Format,
2405 pub components: ComponentMapping,
2406 pub subresourceRange: ImageSubresourceRange,
2407}
2408
2409#[repr(C)]
2410pub struct ShaderModuleCreateInfo {
2411 pub sType: StructureType,
2412 pub pNext: *const c_void,
2413 pub flags: ShaderModuleCreateFlags,
2414 pub codeSize: usize,
2415 pub pCode: *const u32,
2416}
2417
2418#[repr(C)]
2419pub struct PipelineCacheCreateInfo {
2420 pub sType: StructureType,
2421 pub pNext: *const c_void,
2422 pub flags: PipelineCacheCreateFlags,
2423 pub initialDataSize: usize,
2424 pub pInitialData: *const c_void,
2425}
2426
2427#[repr(C)]
2428pub struct SpecializationMapEntry {
2429 pub constantID: u32,
2430 pub offset: u32,
2431 pub size: usize,
2432}
2433
2434#[repr(C)]
2435pub struct SpecializationInfo {
2436 pub mapEntryCount: u32,
2437 pub pMapEntries: *const SpecializationMapEntry,
2438 pub dataSize: usize,
2439 pub pData: *const c_void,
2440}
2441
2442#[repr(C)]
2443pub struct PipelineShaderStageCreateInfo {
2444 pub sType: StructureType,
2445 pub pNext: *const c_void,
2446 pub flags: PipelineShaderStageCreateFlags,
2447 pub stage: ShaderStageFlagBits,
2448 pub module: ShaderModule,
2449 pub pName: *const c_char,
2450 pub pSpecializationInfo: *const SpecializationInfo,
2451}
2452
2453#[repr(C)]
2454pub struct VertexInputBindingDescription {
2455 pub binding: u32,
2456 pub stride: u32,
2457 pub inputRate: VertexInputRate,
2458}
2459
2460#[repr(C)]
2461pub struct VertexInputAttributeDescription {
2462 pub location: u32,
2463 pub binding: u32,
2464 pub format: Format,
2465 pub offset: u32,
2466}
2467
2468#[repr(C)]
2469pub struct PipelineVertexInputStateCreateInfo {
2470 pub sType: StructureType,
2471 pub pNext: *const c_void,
2472 pub flags: PipelineVertexInputStateCreateFlags,
2473 pub vertexBindingDescriptionCount: u32,
2474 pub pVertexBindingDescriptions: *const VertexInputBindingDescription,
2475 pub vertexAttributeDescriptionCount: u32,
2476 pub pVertexAttributeDescriptions: *const VertexInputAttributeDescription,
2477}
2478
2479#[repr(C)]
2480pub struct PipelineInputAssemblyStateCreateInfo {
2481 pub sType: StructureType,
2482 pub pNext: *const c_void,
2483 pub flags: PipelineInputAssemblyStateCreateFlags,
2484 pub topology: PrimitiveTopology,
2485 pub primitiveRestartEnable: Bool32,
2486}
2487
2488#[repr(C)]
2489pub struct PipelineTessellationStateCreateInfo {
2490 pub sType: StructureType,
2491 pub pNext: *const c_void,
2492 pub flags: PipelineTessellationStateCreateFlags,
2493 pub patchControlPoints: u32,
2494}
2495
2496#[repr(C)]
2497pub struct Viewport {
2498 pub x: f32,
2499 pub y: f32,
2500 pub width: f32,
2501 pub height: f32,
2502 pub minDepth: f32,
2503 pub maxDepth: f32,
2504}
2505
2506#[repr(C)]
2507pub struct Offset2D {
2508 pub x: i32,
2509 pub y: i32,
2510}
2511
2512#[repr(C)]
2513pub struct Extent2D {
2514 pub width: u32,
2515 pub height: u32,
2516}
2517
2518#[repr(C)]
2519pub struct Rect2D {
2520 pub offset: Offset2D,
2521 pub extent: Extent2D,
2522}
2523
2524#[repr(C)]
2525pub struct PipelineViewportStateCreateInfo {
2526 pub sType: StructureType,
2527 pub pNext: *const c_void,
2528 pub flags: PipelineViewportStateCreateFlags,
2529 pub viewportCount: u32,
2530 pub pViewports: *const Viewport,
2531 pub scissorCount: u32,
2532 pub pScissors: *const Rect2D,
2533}
2534
2535#[repr(C)]
2536pub struct PipelineRasterizationStateCreateInfo {
2537 pub sType: StructureType,
2538 pub pNext: *const c_void,
2539 pub flags: PipelineRasterizationStateCreateFlags,
2540 pub depthClampEnable: Bool32,
2541 pub rasterizerDiscardEnable: Bool32,
2542 pub polygonMode: PolygonMode,
2543 pub cullMode: CullModeFlags,
2544 pub frontFace: FrontFace,
2545 pub depthBiasEnable: Bool32,
2546 pub depthBiasConstantFactor: f32,
2547 pub depthBiasClamp: f32,
2548 pub depthBiasSlopeFactor: f32,
2549 pub lineWidth: f32,
2550}
2551
2552#[repr(C)]
2553pub struct PipelineMultisampleStateCreateInfo {
2554 pub sType: StructureType,
2555 pub pNext: *const c_void,
2556 pub flags: PipelineMultisampleStateCreateFlags,
2557 pub rasterizationSamples: SampleCountFlagBits,
2558 pub sampleShadingEnable: Bool32,
2559 pub minSampleShading: f32,
2560 pub pSampleMask: *const SampleMask,
2561 pub alphaToCoverageEnable: Bool32,
2562 pub alphaToOneEnable: Bool32,
2563}
2564
2565#[repr(C)]
2566pub struct StencilOpState {
2567 pub failOp: StencilOp,
2568 pub passOp: StencilOp,
2569 pub depthFailOp: StencilOp,
2570 pub compareOp: CompareOp,
2571 pub compareMask: u32,
2572 pub writeMask: u32,
2573 pub reference: u32,
2574}
2575
2576#[repr(C)]
2577pub struct PipelineDepthStencilStateCreateInfo {
2578 pub sType: StructureType,
2579 pub pNext: *const c_void,
2580 pub flags: PipelineDepthStencilStateCreateFlags,
2581 pub depthTestEnable: Bool32,
2582 pub depthWriteEnable: Bool32,
2583 pub depthCompareOp: CompareOp,
2584 pub depthBoundsTestEnable: Bool32,
2585 pub stencilTestEnable: Bool32,
2586 pub front: StencilOpState,
2587 pub back: StencilOpState,
2588 pub minDepthBounds: f32,
2589 pub maxDepthBounds: f32,
2590}
2591
2592#[repr(C)]
2593pub struct PipelineColorBlendAttachmentState {
2594 pub blendEnable: Bool32,
2595 pub srcColorBlendFactor: BlendFactor,
2596 pub dstColorBlendFactor: BlendFactor,
2597 pub colorBlendOp: BlendOp,
2598 pub srcAlphaBlendFactor: BlendFactor,
2599 pub dstAlphaBlendFactor: BlendFactor,
2600 pub alphaBlendOp: BlendOp,
2601 pub colorWriteMask: ColorComponentFlags,
2602}
2603
2604#[repr(C)]
2605pub struct PipelineColorBlendStateCreateInfo {
2606 pub sType: StructureType,
2607 pub pNext: *const c_void,
2608 pub flags: PipelineColorBlendStateCreateFlags,
2609 pub logicOpEnable: Bool32,
2610 pub logicOp: LogicOp,
2611 pub attachmentCount: u32,
2612 pub pAttachments: *const PipelineColorBlendAttachmentState,
2613 pub blendConstants: [f32; 4],
2614}
2615
2616#[repr(C)]
2617pub struct PipelineDynamicStateCreateInfo {
2618 pub sType: StructureType,
2619 pub pNext: *const c_void,
2620 pub flags: PipelineDynamicStateCreateFlags,
2621 pub dynamicStateCount: u32,
2622 pub pDynamicStates: *const DynamicState,
2623}
2624
2625#[repr(C)]
2626pub struct GraphicsPipelineCreateInfo {
2627 pub sType: StructureType,
2628 pub pNext: *const c_void,
2629 pub flags: PipelineCreateFlags,
2630 pub stageCount: u32,
2631 pub pStages: *const PipelineShaderStageCreateInfo,
2632 pub pVertexInputState: *const PipelineVertexInputStateCreateInfo,
2633 pub pInputAssemblyState: *const PipelineInputAssemblyStateCreateInfo,
2634 pub pTessellationState: *const PipelineTessellationStateCreateInfo,
2635 pub pViewportState: *const PipelineViewportStateCreateInfo,
2636 pub pRasterizationState: *const PipelineRasterizationStateCreateInfo,
2637 pub pMultisampleState: *const PipelineMultisampleStateCreateInfo,
2638 pub pDepthStencilState: *const PipelineDepthStencilStateCreateInfo,
2639 pub pColorBlendState: *const PipelineColorBlendStateCreateInfo,
2640 pub pDynamicState: *const PipelineDynamicStateCreateInfo,
2641 pub layout: PipelineLayout,
2642 pub renderPass: RenderPass,
2643 pub subpass: u32,
2644 pub basePipelineHandle: Pipeline,
2645 pub basePipelineIndex: i32,
2646}
2647
2648#[repr(C)]
2649pub struct ComputePipelineCreateInfo {
2650 pub sType: StructureType,
2651 pub pNext: *const c_void,
2652 pub flags: PipelineCreateFlags,
2653 pub stage: PipelineShaderStageCreateInfo,
2654 pub layout: PipelineLayout,
2655 pub basePipelineHandle: Pipeline,
2656 pub basePipelineIndex: i32,
2657}
2658
2659#[repr(C)]
2660pub struct PushConstantRange {
2661 pub stageFlags: ShaderStageFlags,
2662 pub offset: u32,
2663 pub size: u32,
2664}
2665
2666#[repr(C)]
2667pub struct PipelineLayoutCreateInfo {
2668 pub sType: StructureType,
2669 pub pNext: *const c_void,
2670 pub flags: PipelineLayoutCreateFlags,
2671 pub setLayoutCount: u32,
2672 pub pSetLayouts: *const DescriptorSetLayout,
2673 pub pushConstantRangeCount: u32,
2674 pub pPushConstantRanges: *const PushConstantRange,
2675}
2676
2677#[repr(C)]
2678pub struct SamplerCreateInfo {
2679 pub sType: StructureType,
2680 pub pNext: *const c_void,
2681 pub flags: SamplerCreateFlags,
2682 pub magFilter: Filter,
2683 pub minFilter: Filter,
2684 pub mipmapMode: SamplerMipmapMode,
2685 pub addressModeU: SamplerAddressMode,
2686 pub addressModeV: SamplerAddressMode,
2687 pub addressModeW: SamplerAddressMode,
2688 pub mipLodBias: f32,
2689 pub anisotropyEnable: Bool32,
2690 pub maxAnisotropy: f32,
2691 pub compareEnable: Bool32,
2692 pub compareOp: CompareOp,
2693 pub minLod: f32,
2694 pub maxLod: f32,
2695 pub borderColor: BorderColor,
2696 pub unnormalizedCoordinates: Bool32,
2697}
2698
2699#[repr(C)]
2700pub struct DescriptorSetLayoutBinding {
2701 pub binding: u32,
2702 pub descriptorType: DescriptorType,
2703 pub descriptorCount: u32,
2704 pub stageFlags: ShaderStageFlags,
2705 pub pImmutableSamplers: *const Sampler,
2706}
2707
2708#[repr(C)]
2709pub struct DescriptorSetLayoutCreateInfo {
2710 pub sType: StructureType,
2711 pub pNext: *const c_void,
2712 pub flags: DescriptorSetLayoutCreateFlags,
2713 pub bindingCount: u32,
2714 pub pBindings: *const DescriptorSetLayoutBinding,
2715}
2716
2717#[repr(C)]
2718pub struct DescriptorPoolSize {
2719 pub ty: DescriptorType,
2720 pub descriptorCount: u32,
2721}
2722
2723#[repr(C)]
2724pub struct DescriptorPoolCreateInfo {
2725 pub sType: StructureType,
2726 pub pNext: *const c_void,
2727 pub flags: DescriptorPoolCreateFlags,
2728 pub maxSets: u32,
2729 pub poolSizeCount: u32,
2730 pub pPoolSizes: *const DescriptorPoolSize,
2731}
2732
2733#[repr(C)]
2734pub struct DescriptorSetAllocateInfo {
2735 pub sType: StructureType,
2736 pub pNext: *const c_void,
2737 pub descriptorPool: DescriptorPool,
2738 pub descriptorSetCount: u32,
2739 pub pSetLayouts: *const DescriptorSetLayout,
2740}
2741
2742#[repr(C)]
2743pub struct DescriptorImageInfo {
2744 pub sampler: Sampler,
2745 pub imageView: ImageView,
2746 pub imageLayout: ImageLayout,
2747}
2748
2749#[repr(C)]
2750pub struct DescriptorBufferInfo {
2751 pub buffer: Buffer,
2752 pub offset: DeviceSize,
2753 pub range: DeviceSize,
2754}
2755
2756#[repr(C)]
2757pub struct WriteDescriptorSet {
2758 pub sType: StructureType,
2759 pub pNext: *const c_void,
2760 pub dstSet: DescriptorSet,
2761 pub dstBinding: u32,
2762 pub dstArrayElement: u32,
2763 pub descriptorCount: u32,
2764 pub descriptorType: DescriptorType,
2765 pub pImageInfo: *const DescriptorImageInfo,
2766 pub pBufferInfo: *const DescriptorBufferInfo,
2767 pub pTexelBufferView: *const BufferView,
2768}
2769
2770#[repr(C)]
2771pub struct CopyDescriptorSet {
2772 pub sType: StructureType,
2773 pub pNext: *const c_void,
2774 pub srcSet: DescriptorSet,
2775 pub srcBinding: u32,
2776 pub srcArrayElement: u32,
2777 pub dstSet: DescriptorSet,
2778 pub dstBinding: u32,
2779 pub dstArrayElement: u32,
2780 pub descriptorCount: u32,
2781}
2782
2783#[repr(C)]
2784pub struct FramebufferCreateInfo {
2785 pub sType: StructureType,
2786 pub pNext: *const c_void,
2787 pub flags: FramebufferCreateFlags,
2788 pub renderPass: RenderPass,
2789 pub attachmentCount: u32,
2790 pub pAttachments: *const ImageView,
2791 pub width: u32,
2792 pub height: u32,
2793 pub layers: u32,
2794}
2795
2796#[repr(C)]
2797pub struct AttachmentDescription {
2798 pub flags: AttachmentDescriptionFlags,
2799 pub format: Format,
2800 pub samples: SampleCountFlagBits,
2801 pub loadOp: AttachmentLoadOp,
2802 pub storeOp: AttachmentStoreOp,
2803 pub stencilLoadOp: AttachmentLoadOp,
2804 pub stencilStoreOp: AttachmentStoreOp,
2805 pub initialLayout: ImageLayout,
2806 pub finalLayout: ImageLayout,
2807}
2808
2809#[repr(C)]
2810pub struct AttachmentReference {
2811 pub attachment: u32,
2812 pub layout: ImageLayout,
2813}
2814
2815#[repr(C)]
2816pub struct SubpassDescription {
2817 pub flags: SubpassDescriptionFlags,
2818 pub pipelineBindPoint: PipelineBindPoint,
2819 pub inputAttachmentCount: u32,
2820 pub pInputAttachments: *const AttachmentReference,
2821 pub colorAttachmentCount: u32,
2822 pub pColorAttachments: *const AttachmentReference,
2823 pub pResolveAttachments: *const AttachmentReference,
2824 pub pDepthStencilAttachment: *const AttachmentReference,
2825 pub preserveAttachmentCount: u32,
2826 pub pPreserveAttachments: *const u32,
2827}
2828
2829#[repr(C)]
2830pub struct SubpassDependency {
2831 pub srcSubpass: u32,
2832 pub dstSubpass: u32,
2833 pub srcStageMask: PipelineStageFlags,
2834 pub dstStageMask: PipelineStageFlags,
2835 pub srcAccessMask: AccessFlags,
2836 pub dstAccessMask: AccessFlags,
2837 pub dependencyFlags: DependencyFlags,
2838}
2839
2840#[repr(C)]
2841pub struct RenderPassCreateInfo {
2842 pub sType: StructureType,
2843 pub pNext: *const c_void,
2844 pub flags: RenderPassCreateFlags,
2845 pub attachmentCount: u32,
2846 pub pAttachments: *const AttachmentDescription,
2847 pub subpassCount: u32,
2848 pub pSubpasses: *const SubpassDescription,
2849 pub dependencyCount: u32,
2850 pub pDependencies: *const SubpassDependency,
2851}
2852
2853#[repr(C)]
2854pub struct CommandPoolCreateInfo {
2855 pub sType: StructureType,
2856 pub pNext: *const c_void,
2857 pub flags: CommandPoolCreateFlags,
2858 pub queueFamilyIndex: u32,
2859}
2860
2861#[repr(C)]
2862pub struct CommandBufferAllocateInfo {
2863 pub sType: StructureType,
2864 pub pNext: *const c_void,
2865 pub commandPool: CommandPool,
2866 pub level: CommandBufferLevel,
2867 pub commandBufferCount: u32,
2868}
2869
2870#[repr(C)]
2871pub struct CommandBufferInheritanceInfo {
2872 pub sType: StructureType,
2873 pub pNext: *const c_void,
2874 pub renderPass: RenderPass,
2875 pub subpass: u32,
2876 pub framebuffer: Framebuffer,
2877 pub occlusionQueryEnable: Bool32,
2878 pub queryFlags: QueryControlFlags,
2879 pub pipelineStatistics: QueryPipelineStatisticFlags,
2880}
2881
2882#[repr(C)]
2883pub struct CommandBufferBeginInfo {
2884 pub sType: StructureType,
2885 pub pNext: *const c_void,
2886 pub flags: CommandBufferUsageFlags,
2887 pub pInheritanceInfo: *const CommandBufferInheritanceInfo,
2888}
2889
2890#[repr(C)]
2891pub struct BufferCopy {
2892 pub srcOffset: DeviceSize,
2893 pub dstOffset: DeviceSize,
2894 pub size: DeviceSize,
2895}
2896
2897#[repr(C)]
2898pub struct ImageSubresourceLayers {
2899 pub aspectMask: ImageAspectFlags,
2900 pub mipLevel: u32,
2901 pub baseArrayLayer: u32,
2902 pub layerCount: u32,
2903}
2904
2905#[repr(C)]
2906pub struct ImageCopy {
2907 pub srcSubresource: ImageSubresourceLayers,
2908 pub srcOffset: Offset3D,
2909 pub dstSubresource: ImageSubresourceLayers,
2910 pub dstOffset: Offset3D,
2911 pub extent: Extent3D,
2912}
2913
2914#[repr(C)]
2915pub struct ImageBlit {
2916 pub srcSubresource: ImageSubresourceLayers,
2917 pub srcOffsets: [Offset3D; 2],
2918 pub dstSubresource: ImageSubresourceLayers,
2919 pub dstOffsets: [Offset3D; 2],
2920}
2921
2922#[repr(C)]
2923pub struct BufferImageCopy {
2924 pub bufferOffset: DeviceSize,
2925 pub bufferRowLength: u32,
2926 pub bufferImageHeight: u32,
2927 pub imageSubresource: ImageSubresourceLayers,
2928 pub imageOffset: Offset3D,
2929 pub imageExtent: Extent3D,
2930}
2931
2932#[repr(C)]
2933#[derive(Copy, Clone)]
2934pub union ClearColorValue {
2935 pub float32: [f32; 4],
2936 pub int32: [i32; 4],
2937 pub uint32: [u32; 4],
2938}
2939
2940#[repr(C)]
2941#[derive(Copy, Clone)]
2942pub struct ClearDepthStencilValue {
2943 pub depth: f32,
2944 pub stencil: u32,
2945}
2946
2947#[repr(C)]
2948pub union ClearValue {
2949 pub color: ClearColorValue,
2950 pub depthStencil: ClearDepthStencilValue,
2951}
2952
2953#[repr(C)]
2954pub struct ClearAttachment {
2955 pub aspectMask: ImageAspectFlags,
2956 pub colorAttachment: u32,
2957 pub clearValue: ClearValue,
2958}
2959
2960#[repr(C)]
2961pub struct ClearRect {
2962 pub rect: Rect2D,
2963 pub baseArrayLayer: u32,
2964 pub layerCount: u32,
2965}
2966
2967#[repr(C)]
2968pub struct ImageResolve {
2969 pub srcSubresource: ImageSubresourceLayers,
2970 pub srcOffset: Offset3D,
2971 pub dstSubresource: ImageSubresourceLayers,
2972 pub dstOffset: Offset3D,
2973 pub extent: Extent3D,
2974}
2975
2976#[repr(C)]
2977pub struct MemoryBarrier {
2978 pub sType: StructureType,
2979 pub pNext: *const c_void,
2980 pub srcAccessMask: AccessFlags,
2981 pub dstAccessMask: AccessFlags,
2982}
2983
2984#[repr(C)]
2985pub struct BufferMemoryBarrier {
2986 pub sType: StructureType,
2987 pub pNext: *const c_void,
2988 pub srcAccessMask: AccessFlags,
2989 pub dstAccessMask: AccessFlags,
2990 pub srcQueueFamilyIndex: u32,
2991 pub dstQueueFamilyIndex: u32,
2992 pub buffer: Buffer,
2993 pub offset: DeviceSize,
2994 pub size: DeviceSize,
2995}
2996
2997#[repr(C)]
2998pub struct ImageMemoryBarrier {
2999 pub sType: StructureType,
3000 pub pNext: *const c_void,
3001 pub srcAccessMask: AccessFlags,
3002 pub dstAccessMask: AccessFlags,
3003 pub oldLayout: ImageLayout,
3004 pub newLayout: ImageLayout,
3005 pub srcQueueFamilyIndex: u32,
3006 pub dstQueueFamilyIndex: u32,
3007 pub image: Image,
3008 pub subresourceRange: ImageSubresourceRange,
3009}
3010
3011#[repr(C)]
3012pub struct RenderPassBeginInfo {
3013 pub sType: StructureType,
3014 pub pNext: *const c_void,
3015 pub renderPass: RenderPass,
3016 pub framebuffer: Framebuffer,
3017 pub renderArea: Rect2D,
3018 pub clearValueCount: u32,
3019 pub pClearValues: *const ClearValue,
3020}
3021
3022#[repr(C)]
3023pub struct DispatchIndirectCommand {
3024 pub x: u32,
3025 pub y: u32,
3026 pub z: u32,
3027}
3028
3029#[repr(C)]
3030pub struct DrawIndexedIndirectCommand {
3031 pub indexCount: u32,
3032 pub instanceCount: u32,
3033 pub firstIndex: u32,
3034 pub vertexOffset: i32,
3035 pub firstInstance: u32,
3036}
3037
3038#[repr(C)]
3039pub struct DrawIndirectCommand {
3040 pub vertexCount: u32,
3041 pub instanceCount: u32,
3042 pub firstVertex: u32,
3043 pub firstInstance: u32,
3044}
3045
3046#[repr(C)]
3047pub struct SurfaceCapabilitiesKHR {
3048 pub minImageCount: u32,
3049 pub maxImageCount: u32,
3050 pub currentExtent: Extent2D,
3051 pub minImageExtent: Extent2D,
3052 pub maxImageExtent: Extent2D,
3053 pub maxImageArrayLayers: u32,
3054 pub supportedTransforms: SurfaceTransformFlagsKHR,
3055 pub currentTransform: SurfaceTransformFlagBitsKHR,
3056 pub supportedCompositeAlpha: CompositeAlphaFlagsKHR,
3057 pub supportedUsageFlags: ImageUsageFlags,
3058}
3059
3060#[repr(C)]
3061pub struct SurfaceFormatKHR {
3062 pub format: Format,
3063 pub colorSpace: ColorSpaceKHR,
3064}
3065
3066pub type SwapchainCreateFlagsKHR = Flags;
3067
3068#[repr(C)]
3069pub struct SwapchainCreateInfoKHR {
3070 pub sType: StructureType,
3071 pub pNext: *const c_void,
3072 pub flags: SwapchainCreateFlagsKHR,
3073 pub surface: SurfaceKHR,
3074 pub minImageCount: u32,
3075 pub imageFormat: Format,
3076 pub imageColorSpace: ColorSpaceKHR,
3077 pub imageExtent: Extent2D,
3078 pub imageArrayLayers: u32,
3079 pub imageUsage: ImageUsageFlags,
3080 pub imageSharingMode: SharingMode,
3081 pub queueFamilyIndexCount: u32,
3082 pub pQueueFamilyIndices: *const u32,
3083 pub preTransform: SurfaceTransformFlagBitsKHR,
3084 pub compositeAlpha: CompositeAlphaFlagBitsKHR,
3085 pub presentMode: PresentModeKHR,
3086 pub clipped: Bool32,
3087 pub oldSwapchain: SwapchainKHR,
3088}
3089
3090#[repr(C)]
3091pub struct PresentInfoKHR {
3092 pub sType: StructureType,
3093 pub pNext: *const c_void,
3094 pub waitSemaphoreCount: u32,
3095 pub pWaitSemaphores: *const Semaphore,
3096 pub swapchainCount: u32,
3097 pub pSwapchains: *const SwapchainKHR,
3098 pub pImageIndices: *const u32,
3099 pub pResults: *mut Result,
3100}
3101
3102#[repr(C)]
3103pub struct DisplayPropertiesKHR {
3104 pub display: DisplayKHR,
3105 pub displayName: *const c_char,
3106 pub physicalDimensions: Extent2D,
3107 pub physicalResolution: Extent2D,
3108 pub supportedTransforms: SurfaceTransformFlagsKHR,
3109 pub planeReorderPossible: Bool32,
3110 pub persistentContent: Bool32,
3111}
3112
3113#[repr(C)]
3114pub struct DisplayModeParametersKHR {
3115 pub visibleRegion: Extent2D,
3116 pub refreshRate: u32,
3117}
3118
3119#[repr(C)]
3120pub struct DisplayModePropertiesKHR {
3121 pub displayMode: DisplayModeKHR,
3122 pub parameters: DisplayModeParametersKHR,
3123}
3124
3125#[repr(C)]
3126pub struct DisplayModeCreateInfoKHR {
3127 pub sType: StructureType,
3128 pub pNext: *const c_void,
3129 pub flags: DisplayModeCreateFlagsKHR,
3130 pub parameters: DisplayModeParametersKHR,
3131}
3132
3133#[repr(C)]
3134pub struct DisplayPlaneCapabilitiesKHR {
3135 pub supportedAlpha: DisplayPlaneAlphaFlagsKHR,
3136 pub minSrcPosition: Offset2D,
3137 pub maxSrcPosition: Offset2D,
3138 pub minSrcExtent: Extent2D,
3139 pub maxSrcExtent: Extent2D,
3140 pub minDstPosition: Offset2D,
3141 pub maxDstPosition: Offset2D,
3142 pub minDstExtent: Extent2D,
3143 pub maxDstExtent: Extent2D,
3144}
3145
3146#[repr(C)]
3147pub struct DisplayPlanePropertiesKHR {
3148 pub currentDisplay: DisplayKHR,
3149 pub currentStackIndex: u32,
3150}
3151
3152#[repr(C)]
3153pub struct DisplaySurfaceCreateInfoKHR {
3154 pub sType: StructureType,
3155 pub pNext: *const c_void,
3156 pub flags: DisplaySurfaceCreateFlagsKHR,
3157 pub displayMode: DisplayModeKHR,
3158 pub planeIndex: u32,
3159 pub planeStackIndex: u32,
3160 pub transform: SurfaceTransformFlagBitsKHR,
3161 pub globalAlpha: f32,
3162 pub alphaMode: DisplayPlaneAlphaFlagBitsKHR,
3163 pub imageExtent: Extent2D,
3164}
3165
3166#[repr(C)]
3167pub struct DisplayPresentInfoKHR {
3168 pub sType: StructureType,
3169 pub pNext: *const c_void,
3170 pub srcRect: Rect2D,
3171 pub dstRect: Rect2D,
3172 pub persistent: Bool32,
3173}
3174
3175pub type XlibSurfaceCreateFlagsKHR = Flags;
3176
3177#[repr(C)]
3178pub struct XlibSurfaceCreateInfoKHR {
3179 pub sType: StructureType,
3180 pub pNext: *const c_void,
3181 pub flags: XlibSurfaceCreateFlagsKHR,
3182 pub dpy: *mut c_void,
3183 pub window: c_ulong,
3184}
3185
3186pub type XcbSurfaceCreateFlagsKHR = Flags;
3187
3188#[repr(C)]
3189pub struct XcbSurfaceCreateInfoKHR {
3190 pub sType: StructureType,
3191 pub pNext: *const c_void,
3192 pub flags: XcbSurfaceCreateFlagsKHR,
3193 pub connection: *const c_void,
3194 pub window: u32,
3195}
3196
3197pub type WaylandSurfaceCreateFlagsKHR = Flags;
3198
3199#[repr(C)]
3200pub struct WaylandSurfaceCreateInfoKHR {
3201 pub sType: StructureType,
3202 pub pNext: *const c_void,
3203 pub flags: WaylandSurfaceCreateFlagsKHR,
3204 pub display: *mut c_void,
3205 pub surface: *mut c_void,
3206}
3207
3208pub type AndroidSurfaceCreateFlagsKHR = Flags;
3209
3210#[repr(C)]
3211pub struct AndroidSurfaceCreateInfoKHR {
3212 pub sType: StructureType,
3213 pub pNext: *const c_void,
3214 pub flags: AndroidSurfaceCreateFlagsKHR,
3215 pub window: *mut c_void,
3216}
3217
3218pub type Win32SurfaceCreateFlagsKHR = Flags;
3219
3220#[repr(C)]
3221pub struct Win32SurfaceCreateInfoKHR {
3222 pub sType: StructureType,
3223 pub pNext: *const c_void,
3224 pub flags: Win32SurfaceCreateFlagsKHR,
3225 pub hinstance: *mut c_void,
3226 pub hwnd: *mut c_void,
3227}
3228
3229#[repr(C)]
3230pub struct IOSSurfaceCreateInfoMVK {
3231 pub sType: StructureType,
3232 pub pNext: *const c_void,
3233 pub flags: IOSSurfaceCreateFlagsMVK,
3234 pub pView: *const c_void,
3235}
3236
3237#[repr(C)]
3238pub struct MacOSSurfaceCreateInfoMVK {
3239 pub sType: StructureType,
3240 pub pNext: *const c_void,
3241 pub flags: MacOSSurfaceCreateFlagsMVK,
3242 pub pView: *const c_void,
3243}
3244
3245#[repr(C)]
3246pub struct MVKDeviceConfiguration {
3247 pub supportDisplayContentsScale: Bool32,
3248 pub imageFlipY: Bool32,
3249 pub shaderConversionFlipFragmentY: Bool32,
3250 pub shaderConversionFlipVertexY: Bool32,
3251 pub shaderConversionLogging: Bool32,
3252 pub performanceTracking: Bool32,
3253 pub performanceLoggingFrameCount: u32,
3254}
3255
3256#[repr(C)]
3257pub struct MVKPhysicalDeviceMetalFeatures {
3258 pub depthClipMode: Bool32,
3259 pub indirectDrawing: Bool32,
3260 pub baseVertexInstanceDrawing: Bool32,
3261 pub maxVertexBufferCount: u32,
3262 pub maxFragmentBufferCount: u32,
3263 pub bufferAlignment: DeviceSize,
3264 pub pushConstantsAlignment: DeviceSize,
3265}
3266
3267#[repr(C)]
3268pub struct MVKSwapchainPerformance {
3269 pub lastFrameInterval: c_double,
3270 pub averageFrameInterval: c_double,
3271 pub averageFramesPerSecond: c_double,
3272}
3273
3274#[repr(C)]
3275pub struct PhysicalDeviceFeatures2 {
3276 pub sType: StructureType,
3277 pub pNext: *mut c_void,
3278 pub features: PhysicalDeviceFeatures,
3279}
3280
3281impl Default for PhysicalDeviceFeatures2 {
3282 fn default() -> Self {
3283 Self {
3284 sType: STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,
3285 pNext: ptr::null_mut(),
3286 features: Default::default(),
3287 }
3288 }
3289}
3290
3291pub type PhysicalDeviceFeatures2KHR = PhysicalDeviceFeatures2;
3292
3293#[repr(C)]
3294pub struct PhysicalDeviceProperties2KHR {
3295 pub sType: StructureType,
3296 pub pNext: *mut PhysicalDeviceSubgroupProperties,
3297 pub properties: PhysicalDeviceProperties,
3298}
3299
3300#[repr(C)]
3301pub struct PhysicalDeviceSubgroupProperties {
3302 pub sType: StructureType,
3303 pub pNext: *mut c_void,
3304 pub subgroupSize: u32,
3305 pub supportedStages: ShaderStageFlags,
3306 pub supportedOperations: SubgroupFeatureFlags,
3307 pub quadOperationsInAllStages: Bool32,
3308}
3309
3310#[repr(C)]
3311pub struct FormatProperties2KHR {
3312 pub sType: StructureType,
3313 pub pNext: *mut c_void,
3314 pub formatProperties: FormatProperties,
3315}
3316
3317#[repr(C)]
3318pub struct ImageFormatProperties2KHR {
3319 pub sType: StructureType,
3320 pub pNext: *mut c_void,
3321 pub imageFormatProperties: ImageFormatProperties,
3322}
3323
3324#[repr(C)]
3325pub struct PhysicalDeviceImageFormatInfo2KHR {
3326 pub sType: StructureType,
3327 pub pNext: *const c_void,
3328 pub format: Format,
3329 pub imageType: ImageType,
3330 pub tiling: ImageTiling,
3331 pub usage: ImageUsageFlags,
3332 pub flags: ImageCreateFlags,
3333}
3334
3335#[repr(C)]
3336pub struct QueueFamilyProperties2KHR {
3337 pub sType: StructureType,
3338 pub pNext: *mut c_void,
3339 pub queueFamilyProperties: QueueFamilyProperties,
3340}
3341
3342#[repr(C)]
3343pub struct PhysicalDeviceMemoryProperties2KHR {
3344 pub sType: StructureType,
3345 pub pNext: *mut c_void,
3346 pub memoryProperties: PhysicalDeviceMemoryProperties,
3347}
3348
3349#[repr(C)]
3350pub struct SparseImageFormatProperties2KHR {
3351 pub sType: StructureType,
3352 pub pNext: *mut c_void,
3353 pub properties: SparseImageFormatProperties,
3354}
3355
3356#[repr(C)]
3357pub struct PhysicalDeviceSparseImageFormatInfo2KHR {
3358 pub sType: StructureType,
3359 pub pNext: *const c_void,
3360 pub format: Format,
3361 pub imageType: ImageType,
3362 pub samples: SampleCountFlagBits,
3363 pub usage: ImageUsageFlags,
3364 pub tiling: ImageTiling,
3365}
3366
3367#[repr(C)]
3368pub struct PhysicalDeviceBufferAddressFeaturesEXT {
3369 pub sType: StructureType,
3370 pub pNext: *const c_void,
3371 pub bufferDeviceAddress: Bool32,
3372 pub bufferDeviceAddressCaptureReplay: Bool32,
3373 pub bufferDeviceAddressMultiDevice: Bool32,
3374}
3375
3376impl Default for PhysicalDeviceBufferAddressFeaturesEXT {
3377 fn default() -> Self {
3378 Self {
3379 sType: STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT,
3380 pNext: ptr::null_mut(),
3381 ..unsafe { mem::zeroed() }
3382 }
3383 }
3384}
3385
3386#[repr(C)]
3387pub struct PhysicalDeviceVariablePointersFeatures {
3388 pub sType: StructureType,
3389 pub pNext: *mut c_void,
3390 pub variablePointersStorageBuffer: Bool32,
3391 pub variablePointers: Bool32,
3392}
3393
3394impl Default for PhysicalDeviceVariablePointersFeatures {
3395 fn default() -> Self {
3396 Self {
3397 sType: STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
3398 pNext: ptr::null_mut(),
3399 ..unsafe { mem::zeroed() }
3400 }
3401 }
3402}
3403
3404pub type PhysicalDeviceVariablePointersFeaturesKHR = PhysicalDeviceVariablePointersFeatures;
3405
3406#[repr(C)]
3407pub struct PhysicalDeviceShaderAtomicInt64Features {
3408 pub sType: StructureType,
3409 pub pNext: *mut c_void,
3410 pub shaderBufferInt64Atomics: Bool32,
3411 pub shaderSharedInt64Atomics: Bool32,
3412}
3413
3414impl Default for PhysicalDeviceShaderAtomicInt64Features {
3415 fn default() -> Self {
3416 Self {
3417 sType: STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES,
3418 pNext: ptr::null_mut(),
3419 ..unsafe { mem::zeroed() }
3420 }
3421 }
3422}
3423
3424pub type PhysicalDeviceShaderAtomicInt64FeaturesKHR = PhysicalDeviceShaderAtomicInt64Features;
3425
3426#[repr(C)]
3427pub struct PhysicalDevice8BitStorageFeatures {
3428 pub sType: StructureType,
3429 pub pNext: *mut c_void,
3430 pub storageBuffer8BitAccess: Bool32,
3431 pub uniformAndStorageBuffer8BitAccess: Bool32,
3432 pub storagePushConstant8: Bool32,
3433}
3434
3435impl Default for PhysicalDevice8BitStorageFeatures {
3436 fn default() -> Self {
3437 Self {
3438 sType: STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES,
3439 pNext: ptr::null_mut(),
3440 ..unsafe { mem::zeroed() }
3441 }
3442 }
3443}
3444
3445pub type PhysicalDevice8BitStorageFeaturesKHR = PhysicalDevice8BitStorageFeatures;
3446
3447#[repr(C)]
3448pub struct PhysicalDevice16BitStorageFeatures {
3449 pub sType: StructureType,
3450 pub pNext: *mut c_void,
3451 pub storageBuffer16BitAccess: Bool32,
3452 pub uniformAndStorageBuffer16BitAccess: Bool32,
3453 pub storagePushConstant16: Bool32,
3454 pub storageInputOutput16: Bool32,
3455}
3456
3457impl Default for PhysicalDevice16BitStorageFeatures {
3458 fn default() -> Self {
3459 Self {
3460 sType: STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
3461 pNext: ptr::null_mut(),
3462 ..unsafe { mem::zeroed() }
3463 }
3464 }
3465}
3466
3467pub type PhysicalDevice16BitStorageFeaturesKHR = PhysicalDevice16BitStorageFeatures;
3468
3469#[repr(C)]
3470pub struct PhysicalDeviceShaderFloat16Int8Features {
3471 pub sType: StructureType,
3472 pub pNext: *mut c_void,
3473 pub shaderFloat16: Bool32,
3474 pub shaderInt8: Bool32,
3475}
3476
3477impl Default for PhysicalDeviceShaderFloat16Int8Features {
3478 fn default() -> Self {
3479 Self {
3480 sType: STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
3481 pNext: ptr::null_mut(),
3482 ..unsafe { mem::zeroed() }
3483 }
3484 }
3485}
3486
3487pub type PhysicalDeviceShaderFloat16Int8FeaturesKHR = PhysicalDeviceShaderFloat16Int8Features;
3488
3489#[repr(C)]
3490pub struct PhysicalDeviceMultiviewFeatures {
3491 pub sType: StructureType,
3492 pub pNext: *mut c_void,
3493 pub multiview: Bool32,
3494 pub multiviewGeometryShader: Bool32,
3495 pub multiviewTessellationShader: Bool32,
3496}
3497
3498impl Default for PhysicalDeviceMultiviewFeatures {
3499 fn default() -> Self {
3500 Self {
3501 sType: STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
3502 pNext: ptr::null_mut(),
3503 ..unsafe { mem::zeroed() }
3504 }
3505 }
3506}
3507
3508pub type PhysicalDeviceMultiviewFeaturesKHR = PhysicalDeviceMultiviewFeatures;
3509
3510#[repr(C)]
3511pub struct PhysicalDeviceSamplerYcbcrConversionFeatures {
3512 pub sType: StructureType,
3513 pub pNext: *mut c_void,
3514 pub samplerYcbcrConversion: Bool32,
3515}
3516
3517impl Default for PhysicalDeviceSamplerYcbcrConversionFeatures {
3518 fn default() -> Self {
3519 Self {
3520 sType: STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
3521 pNext: ptr::null_mut(),
3522 ..unsafe { mem::zeroed() }
3523 }
3524 }
3525}
3526
3527pub type PhysicalDeviceSamplerYcbcrConversionFeaturesKHR =
3528 PhysicalDeviceSamplerYcbcrConversionFeatures;
3529
3530#[repr(C)]
3531pub struct PhysicalDeviceProtectedMemoryFeatures {
3532 pub sType: StructureType,
3533 pub pNext: *mut c_void,
3534 pub protectedMemory: Bool32,
3535}
3536
3537impl Default for PhysicalDeviceProtectedMemoryFeatures {
3538 fn default() -> Self {
3539 Self {
3540 sType: STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES,
3541 pNext: ptr::null_mut(),
3542 ..unsafe { mem::zeroed() }
3543 }
3544 }
3545}
3546
3547#[repr(C)]
3548pub struct PhysicalDeviceDescriptorIndexingFeatures {
3549 pub sType: StructureType,
3550 pub pNext: *mut c_void,
3551 pub shaderInputAttachmentArrayDynamicIndexing: Bool32,
3552 pub shaderUniformTexelBufferArrayDynamicIndexing: Bool32,
3553 pub shaderStorageTexelBufferArrayDynamicIndexing: Bool32,
3554 pub shaderUniformBufferArrayNonUniformIndexing: Bool32,
3555 pub shaderSampledImageArrayNonUniformIndexing: Bool32,
3556 pub shaderStorageBufferArrayNonUniformIndexing: Bool32,
3557 pub shaderStorageImageArrayNonUniformIndexing: Bool32,
3558 pub shaderInputAttachmentArrayNonUniformIndexing: Bool32,
3559 pub shaderUniformTexelBufferArrayNonUniformIndexing: Bool32,
3560 pub shaderStorageTexelBufferArrayNonUniformIndexing: Bool32,
3561 pub descriptorBindingUniformBufferUpdateAfterBind: Bool32,
3562 pub descriptorBindingSampledImageUpdateAfterBind: Bool32,
3563 pub descriptorBindingStorageImageUpdateAfterBind: Bool32,
3564 pub descriptorBindingStorageBufferUpdateAfterBind: Bool32,
3565 pub descriptorBindingUniformTexelBufferUpdateAfterBind: Bool32,
3566 pub descriptorBindingStorageTexelBufferUpdateAfterBind: Bool32,
3567 pub descriptorBindingUpdateUnusedWhilePending: Bool32,
3568 pub descriptorBindingPartiallyBound: Bool32,
3569 pub descriptorBindingVariableDescriptorCount: Bool32,
3570 pub runtimeDescriptorArray: Bool32,
3571}
3572
3573impl Default for PhysicalDeviceDescriptorIndexingFeatures {
3574 fn default() -> Self {
3575 Self {
3576 sType: STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES,
3577 pNext: ptr::null_mut(),
3578 ..unsafe { mem::zeroed() }
3579 }
3580 }
3581}
3582
3583pub type PhysicalDeviceDescriptorIndexingFeaturesEXT = PhysicalDeviceDescriptorIndexingFeatures;
3584
3585#[repr(C)]
3586pub struct PhysicalDeviceScalarBlockLayoutFeatures {
3587 pub sType: StructureType,
3588 pub pNext: *mut c_void,
3589 pub scalarBlockLayout: Bool32,
3590}
3591
3592impl Default for PhysicalDeviceScalarBlockLayoutFeatures {
3593 fn default() -> Self {
3594 Self {
3595 sType: STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES,
3596 pNext: ptr::null_mut(),
3597 ..unsafe { mem::zeroed() }
3598 }
3599 }
3600}
3601
3602pub type PhysicalDeviceScalarBlockLayoutFeaturesEXT = PhysicalDeviceScalarBlockLayoutFeatures;
3603
3604#[repr(C)]
3605pub struct PhysicalDeviceImagelessFramebufferFeatures {
3606 pub sType: StructureType,
3607 pub pNext: *mut c_void,
3608 pub imagelessFramebuffer: Bool32,
3609}
3610
3611impl Default for PhysicalDeviceImagelessFramebufferFeatures {
3612 fn default() -> Self {
3613 Self {
3614 sType: STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES,
3615 pNext: ptr::null_mut(),
3616 ..unsafe { mem::zeroed() }
3617 }
3618 }
3619}
3620
3621pub type PhysicalDeviceImagelessFramebufferFeaturesKHR = PhysicalDeviceImagelessFramebufferFeatures;
3622
3623#[repr(C)]
3624pub struct PhysicalDeviceUniformBufferStandardLayoutFeatures {
3625 pub sType: StructureType,
3626 pub pNext: *mut c_void,
3627 pub uniformBufferStandardLayout: Bool32,
3628}
3629
3630impl Default for PhysicalDeviceUniformBufferStandardLayoutFeatures {
3631 fn default() -> Self {
3632 Self {
3633 sType: STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES,
3634 pNext: ptr::null_mut(),
3635 ..unsafe { mem::zeroed() }
3636 }
3637 }
3638}
3639
3640pub type PhysicalDeviceUniformBufferStandardLayoutFeaturesKHR =
3641 PhysicalDeviceUniformBufferStandardLayoutFeatures;
3642
3643#[repr(C)]
3644pub struct PhysicalDeviceShaderSubgroupExtendedTypesFeatures {
3645 pub sType: StructureType,
3646 pub pNext: *mut c_void,
3647 pub shaderSubgroupExtendedTypes: Bool32,
3648}
3649
3650impl Default for PhysicalDeviceShaderSubgroupExtendedTypesFeatures {
3651 fn default() -> Self {
3652 Self {
3653 sType: STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES,
3654 pNext: ptr::null_mut(),
3655 ..unsafe { mem::zeroed() }
3656 }
3657 }
3658}
3659
3660pub type PhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR =
3661 PhysicalDeviceShaderSubgroupExtendedTypesFeatures;
3662
3663#[repr(C)]
3664pub struct PhysicalDeviceSeparateDepthStencilLayoutsFeatures {
3665 pub sType: StructureType,
3666 pub pNext: *mut c_void,
3667 pub separateDepthStencilLayouts: Bool32,
3668}
3669
3670impl Default for PhysicalDeviceSeparateDepthStencilLayoutsFeatures {
3671 fn default() -> Self {
3672 Self {
3673 sType: STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES,
3674 pNext: ptr::null_mut(),
3675 ..unsafe { mem::zeroed() }
3676 }
3677 }
3678}
3679
3680pub type PhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR =
3681 PhysicalDeviceSeparateDepthStencilLayoutsFeatures;
3682
3683#[repr(C)]
3684pub struct PhysicalDeviceHostQueryResetFeatures {
3685 pub sType: StructureType,
3686 pub pNext: *mut c_void,
3687 pub hostQueryReset: Bool32,
3688}
3689
3690impl Default for PhysicalDeviceHostQueryResetFeatures {
3691 fn default() -> Self {
3692 Self {
3693 sType: STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES,
3694 pNext: ptr::null_mut(),
3695 ..unsafe { mem::zeroed() }
3696 }
3697 }
3698}
3699
3700pub type PhysicalDeviceHostQueryResetFeaturesEXT = PhysicalDeviceHostQueryResetFeatures;
3701
3702#[repr(C)]
3703pub struct PhysicalDeviceTimelineSemaphoreFeatures {
3704 pub sType: StructureType,
3705 pub pNext: *mut c_void,
3706 pub timelineSemaphore: Bool32,
3707}
3708
3709impl Default for PhysicalDeviceTimelineSemaphoreFeatures {
3710 fn default() -> Self {
3711 Self {
3712 sType: STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
3713 pNext: ptr::null_mut(),
3714 ..unsafe { mem::zeroed() }
3715 }
3716 }
3717}
3718
3719pub type PhysicalDeviceTimelineSemaphoreFeaturesKHR = PhysicalDeviceTimelineSemaphoreFeatures;
3720
3721#[repr(C)]
3722pub struct PhysicalDeviceBufferDeviceAddressFeatures {
3723 pub sType: StructureType,
3724 pub pNext: *mut c_void,
3725 pub bufferDeviceAddress: Bool32,
3726 pub bufferDeviceAddressCaptureReplay: Bool32,
3727 pub bufferDeviceAddressMultiDevice: Bool32,
3728}
3729
3730impl Default for PhysicalDeviceBufferDeviceAddressFeatures {
3731 fn default() -> Self {
3732 Self {
3733 sType: STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES,
3734 pNext: ptr::null_mut(),
3735 ..unsafe { mem::zeroed() }
3736 }
3737 }
3738}
3739
3740pub type PhysicalDeviceBufferDeviceAddressFeaturesKHR = PhysicalDeviceBufferDeviceAddressFeatures;
3741
3742#[repr(C)]
3743pub struct PhysicalDeviceVulkanMemoryModelFeatures {
3744 pub sType: StructureType,
3745 pub pNext: *mut c_void,
3746 pub vulkanMemoryModel: Bool32,
3747 pub vulkanMemoryModelDeviceScope: Bool32,
3748 pub vulkanMemoryModelAvailabilityVisibilityChains: Bool32,
3749}
3750
3751impl Default for PhysicalDeviceVulkanMemoryModelFeatures {
3752 fn default() -> Self {
3753 Self {
3754 sType: STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES,
3755 pNext: ptr::null_mut(),
3756 ..unsafe { mem::zeroed() }
3757 }
3758 }
3759}
3760
3761pub type PhysicalDeviceVulkanMemoryModelFeaturesKHR = PhysicalDeviceVulkanMemoryModelFeatures;
3762
3763#[repr(C)]
3764pub struct PhysicalDeviceShaderDrawParametersFeatures {
3765 pub sType: StructureType,
3766 pub pNext: *mut c_void,
3767 pub shaderDrawParameters: Bool32,
3768}
3769
3770impl Default for PhysicalDeviceShaderDrawParametersFeatures {
3771 fn default() -> Self {
3772 Self {
3773 sType: STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
3774 pNext: ptr::null_mut(),
3775 ..unsafe { mem::zeroed() }
3776 }
3777 }
3778}
3779
3780pub type ViSurfaceCreateFlagsNN = Flags;
3781
3782#[repr(C)]
3783pub struct ViSurfaceCreateInfoNN {
3784 pub sType: StructureType,
3785 pub pNext: *const c_void,
3786 pub flags: ViSurfaceCreateFlagsNN,
3787 pub window: *const c_void,
3788}
3789
3790#[repr(C)]
3791pub struct PhysicalDevicePushDescriptorPropertiesKHR {
3792 pub sType: StructureType,
3793 pub pNext: *const c_void,
3794 pub maxPushDescriptors: u32,
3795}
3796
3797#[repr(C)]
3798pub struct DescriptorUpdateTemplateEntryKHR {
3799 pub dstBinding: u32,
3800 pub dstArrayElement: u32,
3801 pub descriptorCount: u32,
3802 pub descriptorType: DescriptorType,
3803 pub offset: usize,
3804 pub stride: usize,
3805}
3806
3807#[repr(C)]
3808pub struct DescriptorUpdateTemplateCreateInfoKHR {
3809 pub sType: StructureType,
3810 pub pNext: *const c_void,
3811 pub flags: DescriptorUpdateTemplateCreateFlagsKHR,
3812 pub descriptorUpdateEntryCount: u32,
3813 pub pDescriptorUpdateEntries: *const DescriptorUpdateTemplateEntryKHR,
3814 pub templateType: DescriptorUpdateTemplateTypeKHR,
3815 pub descriptorSetLayout: DescriptorSetLayout,
3816 pub pipelineBindPoint: PipelineBindPoint,
3817 pub pipelineLayout: PipelineLayout,
3818 pub set: u32,
3819}
3820
3821#[repr(C)]
3822pub struct MemoryDedicatedRequirementsKHR {
3823 pub sType: StructureType,
3824 pub pNext: *mut c_void,
3825 pub prefersDedicatedAllocation: Bool32,
3826 pub requiresDedicatedAllocation: Bool32,
3827}
3828
3829#[repr(C)]
3830pub struct MemoryDedicatedAllocateInfoKHR {
3831 pub sType: StructureType,
3832 pub pNext: *const c_void,
3833 pub image: Image,
3834 pub buffer: Buffer,
3835}
3836
3837#[repr(C)]
3838pub struct BufferMemoryRequirementsInfo2KHR {
3839 pub sType: StructureType,
3840 pub pNext: *const c_void,
3841 pub buffer: Buffer,
3842}
3843
3844#[repr(C)]
3845pub struct ImageMemoryRequirementsInfo2KHR {
3846 pub sType: StructureType,
3847 pub pNext: *const c_void,
3848 pub image: Image,
3849}
3850
3851#[repr(C)]
3852pub struct MemoryRequirements2KHR {
3853 pub sType: StructureType,
3854 pub pNext: *mut c_void,
3855 pub memoryRequirements: MemoryRequirements,
3856}
3857
3858#[repr(C)]
3859pub struct RectLayerKHR {
3860 pub offset: Offset2D,
3861 pub extent: Extent2D,
3862 pub layer: u32,
3863}
3864
3865#[repr(C)]
3866pub struct PresentRegionKHR {
3867 pub rectangleCount: u32,
3868 pub pRectangles: *const RectLayerKHR,
3869}
3870
3871#[repr(C)]
3872pub struct PresentRegionsKHR {
3873 pub sType: StructureType,
3874 pub pNext: *const c_void,
3875 pub swapchainCount: u32,
3876 pub pRegions: *const PresentRegionKHR,
3877}
3878
3879#[repr(C)]
3880pub struct DebugUtilsMessengerCreateInfoEXT {
3881 pub sType: StructureType,
3882 pub pNext: *const c_void,
3883 pub flags: DebugUtilsMessengerCreateFlagsEXT,
3884 pub messageSeverity: DebugUtilsMessageSeverityFlagsEXT,
3885 pub messageType: DebugUtilsMessageTypeFlagsEXT,
3886 pub pfnUserCallback: PFN_vkDebugUtilsMessengerCallbackEXT,
3887 pub pUserData: *mut c_void,
3888}
3889
3890#[repr(C)]
3891pub struct DebugUtilsMessengerCallbackDataEXT {
3892 pub sType: StructureType,
3893 pub pNext: *const c_void,
3894 pub flags: DebugUtilsMessengerCallbackDataFlagsEXT,
3895 pub pMessageIdName: *const c_char,
3896 pub messageIdNumber: i32,
3897 pub pMessage: *const c_char,
3898 pub queueLabelCount: u32,
3899 pub pQueueLabels: *const DebugUtilsLabelEXT,
3900 pub cmdBufLabelCount: u32,
3901 pub pCmdBufLabels: *const DebugUtilsLabelEXT,
3902 pub objectCount: u32,
3903 pub pObject: *const DebugUtilsObjectNameInfoEXT,
3904}
3905
3906#[repr(C)]
3907pub struct DebugUtilsLabelEXT {
3908 pub sType: StructureType,
3909 pub pNext: *const c_void,
3910 pub pLabelName: *const c_char,
3911 pub color: [f32; 4],
3912}
3913
3914#[repr(C)]
3915pub struct DebugUtilsObjectNameInfoEXT {
3916 pub sType: StructureType,
3917 pub pNext: *const c_void,
3918 pub objectType: ObjectType,
3919 pub objectHandle: u64,
3920 pub pObjectName: *const c_char,
3921}
3922
3923#[repr(C)]
3924pub struct SurfaceFullScreenExclusiveInfoEXT {
3925 pub sType: StructureType,
3926 pub pNext: *mut c_void,
3927 pub fullScreenExclusive: FullScreenExclusiveEXT,
3928}
3929
3930#[repr(C)]
3931pub struct ExportMemoryAllocateInfo {
3932 pub sType: StructureType,
3933 pub pNext: *const c_void,
3934 pub handleTypes: ExternalMemoryHandleTypeFlagBits,
3935}
3936
3937#[repr(C)]
3938pub struct ExternalMemoryBufferCreateInfo {
3939 pub sType: StructureType,
3940 pub pNext: *const c_void,
3941 pub handleTypes: ExternalMemoryHandleTypeFlagBits,
3942}
3943
3944#[repr(C)]
3945pub struct ExternalMemoryImageCreateInfo {
3946 pub sType: StructureType,
3947 pub pNext: *const c_void,
3948 pub handleTypes: ExternalMemoryHandleTypeFlagBits,
3949}
3950
3951#[repr(C)]
3952pub struct MemoryFdPropertiesKHR {
3953 pub sType: StructureType,
3954 pub pNext: *mut c_void,
3955 pub handleType: ExternalMemoryHandleTypeFlagBits,
3956 pub memoryTypeBits: u32,
3957}
3958
3959#[repr(C)]
3960pub struct MemoryGetFdInfoKHR {
3961 pub sType: StructureType,
3962 pub pNext: *const c_void,
3963 pub memory: DeviceMemory,
3964 pub handleType: ExternalMemoryHandleTypeFlagBits,
3965}
3966
3967#[repr(C)]
3968pub struct ImportMemoryFdInfoKHR {
3969 pub sType: StructureType,
3970 pub pNext: *const c_void,
3971 pub handleType: ExternalMemoryHandleTypeFlagBits,
3972 pub fd: i32,
3973}
3974
3975#[repr(C)]
3976pub struct PhysicalDeviceVulkan11Features {
3977 pub sType: StructureType,
3978 pub pNext: *mut c_void,
3979 pub storageBuffer16BitAccess: Bool32,
3980 pub uniformAndStorageBuffer16BitAccess: Bool32,
3981 pub storagePushConstant16: Bool32,
3982 pub storageInputOutput16: Bool32,
3983 pub multiview: Bool32,
3984 pub multiviewGeometryShader: Bool32,
3985 pub multiviewTessellationShader: Bool32,
3986 pub variablePointersStorageBuffer: Bool32,
3987 pub variablePointers: Bool32,
3988 pub protectedMemory: Bool32,
3989 pub samplerYcbcrConversion: Bool32,
3990 pub shaderDrawParameters: Bool32,
3991}
3992
3993impl Default for PhysicalDeviceVulkan11Features {
3994 fn default() -> Self {
3995 Self {
3996 sType: STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES,
3997 pNext: ptr::null_mut(),
3998 ..unsafe { mem::zeroed() }
3999 }
4000 }
4001}
4002
4003pub struct PhysicalDeviceVulkan12Features {
4004 pub sType: StructureType,
4005 pub pNext: *mut c_void,
4006 pub samplerMirrorClampToEdge: Bool32,
4007 pub drawIndirectCount: Bool32,
4008 pub storageBuffer8BitAccess: Bool32,
4009 pub uniformAndStorageBuffer8BitAccess: Bool32,
4010 pub storagePushConstant8: Bool32,
4011 pub shaderBufferInt64Atomics: Bool32,
4012 pub shaderSharedInt64Atomics: Bool32,
4013 pub shaderFloat16: Bool32,
4014 pub shaderInt8: Bool32,
4015 pub descriptorIndexing: Bool32,
4016 pub shaderInputAttachmentArrayDynamicIndexing: Bool32,
4017 pub shaderUniformTexelBufferArrayDynamicIndexing: Bool32,
4018 pub shaderStorageTexelBufferArrayDynamicIndexing: Bool32,
4019 pub shaderUniformBufferArrayNonUniformIndexing: Bool32,
4020 pub shaderSampledImageArrayNonUniformIndexing: Bool32,
4021 pub shaderStorageBufferArrayNonUniformIndexing: Bool32,
4022 pub shaderStorageImageArrayNonUniformIndexing: Bool32,
4023 pub shaderInputAttachmentArrayNonUniformIndexing: Bool32,
4024 pub shaderUniformTexelBufferArrayNonUniformIndexing: Bool32,
4025 pub shaderStorageTexelBufferArrayNonUniformIndexing: Bool32,
4026 pub descriptorBindingUniformBufferUpdateAfterBind: Bool32,
4027 pub descriptorBindingSampledImageUpdateAfterBind: Bool32,
4028 pub descriptorBindingStorageImageUpdateAfterBind: Bool32,
4029 pub descriptorBindingStorageBufferUpdateAfterBind: Bool32,
4030 pub descriptorBindingUniformTexelBufferUpdateAfterBind: Bool32,
4031 pub descriptorBindingStorageTexelBufferUpdateAfterBind: Bool32,
4032 pub descriptorBindingUpdateUnusedWhilePending: Bool32,
4033 pub descriptorBindingPartiallyBound: Bool32,
4034 pub descriptorBindingVariableDescriptorCount: Bool32,
4035 pub runtimeDescriptorArray: Bool32,
4036 pub samplerFilterMinmax: Bool32,
4037 pub scalarBlockLayout: Bool32,
4038 pub imagelessFramebuffer: Bool32,
4039 pub uniformBufferStandardLayout: Bool32,
4040 pub shaderSubgroupExtendedTypes: Bool32,
4041 pub separateDepthStencilLayouts: Bool32,
4042 pub hostQueryReset: Bool32,
4043 pub timelineSemaphore: Bool32,
4044 pub bufferDeviceAddress: Bool32,
4045 pub bufferDeviceAddressCaptureReplay: Bool32,
4046 pub bufferDeviceAddressMultiDevice: Bool32,
4047 pub vulkanMemoryModel: Bool32,
4048 pub vulkanMemoryModelDeviceScope: Bool32,
4049 pub vulkanMemoryModelAvailabilityVisibilityChains: Bool32,
4050 pub shaderOutputViewportIndex: Bool32,
4051 pub shaderOutputLayer: Bool32,
4052 pub subgroupBroadcastDynamicId: Bool32,
4053}
4054
4055impl Default for PhysicalDeviceVulkan12Features {
4056 fn default() -> Self {
4057 Self {
4058 sType: STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES,
4059 pNext: ptr::null_mut(),
4060 ..unsafe { mem::zeroed() }
4061 }
4062 }
4063}
4064
4065macro_rules! ptrs {
4066 ($struct_name:ident, { $($name:ident => ($($param_n:ident: $param_ty:ty),*) -> $ret:ty,)+ }) => (
4067 pub struct $struct_name {
4068 $(
4069 pub $name: extern "system" fn($($param_ty),*) -> $ret,
4070 )+
4071 }
4072
4073 impl fmt::Debug for $struct_name {
4074 #[inline]
4075 fn fmt(&self, fmt: &mut fmt::Formatter) -> ::std::result::Result<(), fmt::Error> {
4076 write!(fmt, "<Vulkan functions>") }
4078 }
4079
4080 unsafe impl Send for $struct_name {}
4081 unsafe impl Sync for $struct_name {}
4082
4083 impl $struct_name {
4084 pub fn load<F>(mut f: F) -> $struct_name
4085 where F: FnMut(&CStr) -> *const c_void
4086 {
4087 $struct_name {
4088 $(
4089 $name: unsafe {
4090 extern "system" fn $name($(_: $param_ty),*) { panic!("function pointer `{}` not loaded", stringify!($name)) }
4091 let name = CStr::from_bytes_with_nul_unchecked(concat!("vk", stringify!($name), "\0").as_bytes());
4092 let val = f(name);
4093 if val.is_null() { mem::transmute($name as *const ()) } else { mem::transmute(val) }
4094 },
4095 )+
4096 }
4097 }
4098
4099 $(
4100 #[inline]
4101 pub unsafe fn $name(&self $(, $param_n: $param_ty)*) -> $ret {
4102 let ptr = self.$name;
4103 ptr($($param_n),*)
4104 }
4105 )+
4106 }
4107 )
4108}
4109
4110ptrs!(Static, {
4111 GetInstanceProcAddr => (instance: Instance, pName: *const c_char) -> PFN_vkVoidFunction,
4112});
4113
4114ptrs!(EntryPoints, {
4115 CreateInstance => (pCreateInfo: *const InstanceCreateInfo, pAllocator: *const AllocationCallbacks, pInstance: *mut Instance) -> Result,
4116 EnumerateInstanceExtensionProperties => (pLayerName: *const c_char, pPropertyCount: *mut u32, pProperties: *mut ExtensionProperties) -> Result,
4117 EnumerateInstanceLayerProperties => (pPropertyCount: *mut u32, pProperties: *mut LayerProperties) -> Result,
4118});
4119
4120ptrs!(InstancePointers, {
4121 DestroyInstance => (instance: Instance, pAllocator: *const AllocationCallbacks) -> (),
4122 GetDeviceProcAddr => (device: Device, pName: *const c_char) -> PFN_vkVoidFunction,
4123 EnumeratePhysicalDevices => (instance: Instance, pPhysicalDeviceCount: *mut u32, pPhysicalDevices: *mut PhysicalDevice) -> Result,
4124 EnumerateDeviceExtensionProperties => (physicalDevice: PhysicalDevice, pLayerName: *const c_char, pPropertyCount: *mut u32, pProperties: *mut ExtensionProperties) -> Result,
4125 EnumerateDeviceLayerProperties => (physicalDevice: PhysicalDevice, pPropertyCount: *mut u32, pProperties: *mut LayerProperties) -> Result,
4126 CreateDevice => (physicalDevice: PhysicalDevice, pCreateInfo: *const DeviceCreateInfo, pAllocator: *const AllocationCallbacks, pDevice: *mut Device) -> Result,
4127 GetPhysicalDeviceFeatures => (physicalDevice: PhysicalDevice, pFeatures: *mut PhysicalDeviceFeatures) -> (),
4128 GetPhysicalDeviceFormatProperties => (physicalDevice: PhysicalDevice, format: Format, pFormatProperties: *mut FormatProperties) -> (),
4129 GetPhysicalDeviceImageFormatProperties => (physicalDevice: PhysicalDevice, format: Format, ty: ImageType, tiling: ImageTiling, usage: ImageUsageFlags, flags: ImageCreateFlags, pImageFormatProperties: *mut ImageFormatProperties) -> Result,
4130 GetPhysicalDeviceProperties => (physicalDevice: PhysicalDevice, pProperties: *mut PhysicalDeviceProperties) -> (),
4131 GetPhysicalDeviceQueueFamilyProperties => (physicalDevice: PhysicalDevice, pQueueFamilyPropertyCount: *mut u32, pQueueFamilyProperties: *mut QueueFamilyProperties) -> (),
4132 GetPhysicalDeviceMemoryProperties => (physicalDevice: PhysicalDevice, pMemoryProperties: *mut PhysicalDeviceMemoryProperties) -> (),
4133 GetPhysicalDeviceSparseImageFormatProperties => (physicalDevice: PhysicalDevice, format: Format, ty: ImageType, samples: SampleCountFlagBits, usage: ImageUsageFlags, tiling: ImageTiling, pPropertyCount: *mut u32, pProperties: *mut SparseImageFormatProperties) -> (),
4134 DestroySurfaceKHR => (instance: Instance, surface: SurfaceKHR, pAllocator: *const AllocationCallbacks) -> (),
4135 CreateXlibSurfaceKHR => (instance: Instance, pCreateInfo: *const XlibSurfaceCreateInfoKHR, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result,
4136 GetPhysicalDeviceXlibPresentationSupportKHR => (physicalDevice: PhysicalDevice, queueFamilyIndex: u32, dpy: *mut c_void, visualID: u32) -> Bool32,
4137 CreateXcbSurfaceKHR => (instance: Instance, pCreateInfo: *const XcbSurfaceCreateInfoKHR, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result,
4138 GetPhysicalDeviceXcbPresentationSupportKHR => (physicalDevice: PhysicalDevice, queueFamilyIndex: u32, connection: *mut c_void, visual_id: u32 ) -> Bool32,
4139 CreateWaylandSurfaceKHR => (instance: Instance, pCreateInfo: *const WaylandSurfaceCreateInfoKHR, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result,
4140 GetPhysicalDeviceWaylandPresentationSupportKHR => (physicalDevice: PhysicalDevice, queueFamilyIndex: u32, display: *mut c_void) -> Bool32,
4141 CreateAndroidSurfaceKHR => (instance: Instance, pCreateInfo: *const AndroidSurfaceCreateInfoKHR, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result,
4142 CreateWin32SurfaceKHR => (instance: Instance, pCreateInfo: *const Win32SurfaceCreateInfoKHR, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result,
4143 GetPhysicalDeviceWin32PresentationSupportKHR => (physicalDevice: PhysicalDevice, queueFamilyIndex: u32) -> Bool32,
4144 GetPhysicalDeviceDisplayPropertiesKHR => (physicalDevice: PhysicalDevice, pPropertyCount: *mut u32, pProperties: *mut DisplayPropertiesKHR) -> Result,
4145 GetPhysicalDeviceDisplayPlanePropertiesKHR => (physicalDevice: PhysicalDevice, pPropertyCount: *mut u32, pProperties: *mut DisplayPlanePropertiesKHR) -> Result,
4146 GetDisplayPlaneSupportedDisplaysKHR => (physicalDevice: PhysicalDevice, planeIndex: u32, pDisplayCount: *mut u32, pDisplays: *mut DisplayKHR) -> Result,
4147 GetDisplayModePropertiesKHR => (physicalDevice: PhysicalDevice, display: DisplayKHR, pPropertyCount: *mut u32, pProperties: *mut DisplayModePropertiesKHR) -> Result,
4148 CreateDisplayModeKHR => (physicalDevice: PhysicalDevice, display: DisplayKHR, pCreateInfo: *const DisplayModeCreateInfoKHR, pAllocator: *const AllocationCallbacks, pMode: *mut DisplayModeKHR) -> Result,
4149 GetDisplayPlaneCapabilitiesKHR => (physicalDevice: PhysicalDevice, mode: DisplayModeKHR, planeIndex: u32, pCapabilities: *mut DisplayPlaneCapabilitiesKHR) -> Result,
4150 CreateDisplayPlaneSurfaceKHR => (instance: Instance, pCreateInfo: *const DisplaySurfaceCreateInfoKHR, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result,
4151 GetPhysicalDeviceSurfaceSupportKHR => (physicalDevice: PhysicalDevice, queueFamilyIndex: u32, surface: SurfaceKHR, pSupported: *mut Bool32) -> Result,
4152 GetPhysicalDeviceSurfaceCapabilitiesKHR => (physicalDevice: PhysicalDevice, surface: SurfaceKHR, pSurfaceCapabilities: *mut SurfaceCapabilitiesKHR) -> Result,
4153 GetPhysicalDeviceSurfaceFormatsKHR => (physicalDevice: PhysicalDevice, surface: SurfaceKHR, pSurfaceFormatCount: *mut u32, pSurfaceFormats: *mut SurfaceFormatKHR) -> Result,
4154 GetPhysicalDeviceSurfacePresentModesKHR => (physicalDevice: PhysicalDevice, surface: SurfaceKHR, pPresentModeCount: *mut u32, pPresentModes: *mut PresentModeKHR) -> Result,
4155 CreateDebugUtilsMessengerEXT => (instance: Instance, pCreateInfo: *const DebugUtilsMessengerCreateInfoEXT, pAllocator: *const AllocationCallbacks, pMessenger: *const DebugUtilsMessengerEXT) -> Result,
4156 DestroyDebugUtilsMessengerEXT => (instance: Instance, messenger: DebugUtilsMessengerEXT, pAllocator: *const AllocationCallbacks) -> Result,
4157 CreateIOSSurfaceMVK => (instance: Instance, pCreateInfo: *const IOSSurfaceCreateInfoMVK, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result,
4158 CreateMacOSSurfaceMVK => (instance: Instance, pCreateInfo: *const MacOSSurfaceCreateInfoMVK, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result,
4159 ActivateMoltenVKLicenseMVK => (licenseID: *const c_char, licenseKey: *const c_char, acceptLicenseTermsAndConditions: Bool32) -> Result,
4160 ActivateMoltenVKLicensesMVK => () -> Result,
4161 GetMoltenVKDeviceConfigurationMVK => (device: Device, pConfiguration: *mut MVKDeviceConfiguration) -> Result,
4162 SetMoltenVKDeviceConfigurationMVK => (device: Device, pConfiguration: *mut MVKDeviceConfiguration) -> Result,
4163 GetPhysicalDeviceMetalFeaturesMVK => (physicalDevice: PhysicalDevice, pMetalFeatures: *mut MVKPhysicalDeviceMetalFeatures) -> Result,
4164 GetSwapchainPerformanceMVK => (device: Device, swapchain: SwapchainKHR, pSwapchainPerf: *mut MVKSwapchainPerformance) -> Result,
4165 CreateViSurfaceNN => (instance: Instance, pCreateInfo: *const ViSurfaceCreateInfoNN, pAllocator: *const AllocationCallbacks, pSurface: *mut SurfaceKHR) -> Result,
4166 GetPhysicalDeviceFeatures2KHR => (physicalDevice: PhysicalDevice, pFeatures: *mut PhysicalDeviceFeatures2KHR) -> (),
4167 GetPhysicalDeviceProperties2KHR => (physicalDevice: PhysicalDevice, pProperties: *mut PhysicalDeviceProperties2KHR) -> (),
4168 GetPhysicalDeviceFormatProperties2KHR => (physicalDevice: PhysicalDevice, pFormatProperties: *mut FormatProperties2KHR) -> (),
4169 GetPhysicalDeviceImageFormatProperties2KHR => (physicalDevice: PhysicalDevice, pImageFormatInfo: *const PhysicalDeviceImageFormatInfo2KHR, pImageFormatProperties: *mut ImageFormatProperties2KHR) -> Result,
4170 GetPhysicalDeviceQueueFamilyProperties2KHR => (physicalDevice: PhysicalDevice, pQueueFamilyPropertiesCount: *mut u32, pQueueFamilyProperties: *mut QueueFamilyProperties2KHR) -> (),
4171 GetPhysicalDeviceMemoryProperties2KHR => (physicalDevice: PhysicalDevice, pMemoryProperties: *mut PhysicalDeviceMemoryProperties2KHR) -> (),
4172 GetPhysicalDeviceSparseImageFormatProperties2KHR => (physicalDevice: PhysicalDevice, pFormatInfo: *const PhysicalDeviceSparseImageFormatInfo2KHR, pPropertyCount: *mut u32, pProperties: *mut SparseImageFormatProperties2KHR) -> (),
4173});
4174
4175ptrs!(DevicePointers, {
4176 DestroyDevice => (device: Device, pAllocator: *const AllocationCallbacks) -> (),
4177 GetDeviceQueue => (device: Device, queueFamilyIndex: u32, queueIndex: u32, pQueue: *mut Queue) -> (),
4178 QueueSubmit => (queue: Queue, submitCount: u32, pSubmits: *const SubmitInfo, fence: Fence) -> Result,
4179 QueueWaitIdle => (queue: Queue) -> Result,
4180 DeviceWaitIdle => (device: Device) -> Result,
4181 AllocateMemory => (device: Device, pAllocateInfo: *const MemoryAllocateInfo, pAllocator: *const AllocationCallbacks, pMemory: *mut DeviceMemory) -> Result,
4182 FreeMemory => (device: Device, memory: DeviceMemory, pAllocator: *const AllocationCallbacks) -> (),
4183 MapMemory => (device: Device, memory: DeviceMemory, offset: DeviceSize, size: DeviceSize, flags: MemoryMapFlags, ppData: *mut *mut c_void) -> Result,
4184 UnmapMemory => (device: Device, memory: DeviceMemory) -> (),
4185 FlushMappedMemoryRanges => (device: Device, memoryRangeCount: u32, pMemoryRanges: *const MappedMemoryRange) -> Result,
4186 InvalidateMappedMemoryRanges => (device: Device, memoryRangeCount: u32, pMemoryRanges: *const MappedMemoryRange) -> Result,
4187 GetDeviceMemoryCommitment => (device: Device, memory: DeviceMemory, pCommittedMemoryInBytes: *mut DeviceSize) -> (),
4188 BindBufferMemory => (device: Device, buffer: Buffer, memory: DeviceMemory, memoryOffset: DeviceSize) -> Result,
4189 BindImageMemory => (device: Device, image: Image, memory: DeviceMemory, memoryOffset: DeviceSize) -> Result,
4190 GetBufferMemoryRequirements => (device: Device, buffer: Buffer, pMemoryRequirements: *mut MemoryRequirements) -> (),
4191 GetImageMemoryRequirements => (device: Device, image: Image, pMemoryRequirements: *mut MemoryRequirements) -> (),
4192 GetImageSparseMemoryRequirements => (device: Device, image: Image, pSparseMemoryRequirementCount: *mut u32, pSparseMemoryRequirements: *mut SparseImageMemoryRequirements) -> (),
4193 QueueBindSparse => (queue: Queue, bindInfoCount: u32, pBindInfo: *const BindSparseInfo, fence: Fence) -> Result,
4194 CreateFence => (device: Device, pCreateInfo: *const FenceCreateInfo, pAllocator: *const AllocationCallbacks, pFence: *mut Fence) -> Result,
4195 DestroyFence => (device: Device, fence: Fence, pAllocator: *const AllocationCallbacks) -> (),
4196 ResetFences => (device: Device, fenceCount: u32, pFences: *const Fence) -> Result,
4197 GetFenceStatus => (device: Device, fence: Fence) -> Result,
4198 WaitForFences => (device: Device, fenceCount: u32, pFences: *const Fence, waitAll: Bool32, timeout: u64) -> Result,
4199 CreateSemaphore => (device: Device, pCreateInfo: *const SemaphoreCreateInfo, pAllocator: *const AllocationCallbacks, pSemaphore: *mut Semaphore) -> Result,
4200 DestroySemaphore => (device: Device, semaphore: Semaphore, pAllocator: *const AllocationCallbacks) -> (),
4201 CreateEvent => (device: Device, pCreateInfo: *const EventCreateInfo, pAllocator: *const AllocationCallbacks, pEvent: *mut Event) -> Result,
4202 DestroyEvent => (device: Device, event: Event, pAllocator: *const AllocationCallbacks) -> (),
4203 GetEventStatus => (device: Device, event: Event) -> Result,
4204 SetEvent => (device: Device, event: Event) -> Result,
4205 ResetEvent => (device: Device, event: Event) -> Result,
4206 CreateQueryPool => (device: Device, pCreateInfo: *const QueryPoolCreateInfo, pAllocator: *const AllocationCallbacks, pQueryPool: *mut QueryPool) -> Result,
4207 DestroyQueryPool => (device: Device, queryPool: QueryPool, pAllocator: *const AllocationCallbacks) -> (),
4208 GetQueryPoolResults => (device: Device, queryPool: QueryPool, firstQuery: u32, queryCount: u32, dataSize: usize, pData: *mut c_void, stride: DeviceSize, flags: QueryResultFlags) -> Result,
4209 CreateBuffer => (device: Device, pCreateInfo: *const BufferCreateInfo, pAllocator: *const AllocationCallbacks, pBuffer: *mut Buffer) -> Result,
4210 DestroyBuffer => (device: Device, buffer: Buffer, pAllocator: *const AllocationCallbacks) -> (),
4211 CreateBufferView => (device: Device, pCreateInfo: *const BufferViewCreateInfo, pAllocator: *const AllocationCallbacks, pView: *mut BufferView) -> Result,
4212 DestroyBufferView => (device: Device, bufferView: BufferView, pAllocator: *const AllocationCallbacks) -> (),
4213 CreateImage => (device: Device, pCreateInfo: *const ImageCreateInfo, pAllocator: *const AllocationCallbacks, pImage: *mut Image) -> Result,
4214 DestroyImage => (device: Device, image: Image, pAllocator: *const AllocationCallbacks) -> (),
4215 GetImageSubresourceLayout => (device: Device, image: Image, pSubresource: *const ImageSubresource, pLayout: *mut SubresourceLayout) -> (),
4216 CreateImageView => (device: Device, pCreateInfo: *const ImageViewCreateInfo, pAllocator: *const AllocationCallbacks, pView: *mut ImageView) -> Result,
4217 DestroyImageView => (device: Device, imageView: ImageView, pAllocator: *const AllocationCallbacks) -> (),
4218 CreateShaderModule => (device: Device, pCreateInfo: *const ShaderModuleCreateInfo, pAllocator: *const AllocationCallbacks, pShaderModule: *mut ShaderModule) -> Result,
4219 DestroyShaderModule => (device: Device, shaderModule: ShaderModule, pAllocator: *const AllocationCallbacks) -> (),
4220 CreatePipelineCache => (device: Device, pCreateInfo: *const PipelineCacheCreateInfo, pAllocator: *const AllocationCallbacks, pPipelineCache: *mut PipelineCache) -> Result,
4221 DestroyPipelineCache => (device: Device, pipelineCache: PipelineCache, pAllocator: *const AllocationCallbacks) -> (),
4222 GetPipelineCacheData => (device: Device, pipelineCache: PipelineCache, pDataSize: *mut usize, pData: *mut c_void) -> Result,
4223 MergePipelineCaches => (device: Device, dstCache: PipelineCache, srcCacheCount: u32, pSrcCaches: *const PipelineCache) -> Result,
4224 CreateGraphicsPipelines => (device: Device, pipelineCache: PipelineCache, createInfoCount: u32, pCreateInfos: *const GraphicsPipelineCreateInfo, pAllocator: *const AllocationCallbacks, pPipelines: *mut Pipeline) -> Result,
4225 CreateComputePipelines => (device: Device, pipelineCache: PipelineCache, createInfoCount: u32, pCreateInfos: *const ComputePipelineCreateInfo, pAllocator: *const AllocationCallbacks, pPipelines: *mut Pipeline) -> Result,
4226 DestroyPipeline => (device: Device, pipeline: Pipeline, pAllocator: *const AllocationCallbacks) -> (),
4227 CreatePipelineLayout => (device: Device, pCreateInfo: *const PipelineLayoutCreateInfo, pAllocator: *const AllocationCallbacks, pPipelineLayout: *mut PipelineLayout) -> Result,
4228 DestroyPipelineLayout => (device: Device, pipelineLayout: PipelineLayout, pAllocator: *const AllocationCallbacks) -> (),
4229 CreateSampler => (device: Device, pCreateInfo: *const SamplerCreateInfo, pAllocator: *const AllocationCallbacks, pSampler: *mut Sampler) -> Result,
4230 DestroySampler => (device: Device, sampler: Sampler, pAllocator: *const AllocationCallbacks) -> (),
4231 CreateDescriptorSetLayout => (device: Device, pCreateInfo: *const DescriptorSetLayoutCreateInfo, pAllocator: *const AllocationCallbacks, pSetLayout: *mut DescriptorSetLayout) -> Result,
4232 DestroyDescriptorSetLayout => (device: Device, descriptorSetLayout: DescriptorSetLayout, pAllocator: *const AllocationCallbacks) -> (),
4233 CreateDescriptorPool => (device: Device, pCreateInfo: *const DescriptorPoolCreateInfo, pAllocator: *const AllocationCallbacks, pDescriptorPool: *mut DescriptorPool) -> Result,
4234 DestroyDescriptorPool => (device: Device, descriptorPool: DescriptorPool, pAllocator: *const AllocationCallbacks) -> (),
4235 ResetDescriptorPool => (device: Device, descriptorPool: DescriptorPool, flags: DescriptorPoolResetFlags) -> Result,
4236 AllocateDescriptorSets => (device: Device, pAllocateInfo: *const DescriptorSetAllocateInfo, pDescriptorSets: *mut DescriptorSet) -> Result,
4237 FreeDescriptorSets => (device: Device, descriptorPool: DescriptorPool, descriptorSetCount: u32, pDescriptorSets: *const DescriptorSet) -> Result,
4238 UpdateDescriptorSets => (device: Device, descriptorWriteCount: u32, pDescriptorWrites: *const WriteDescriptorSet, descriptorCopyCount: u32, pDescriptorCopies: *const CopyDescriptorSet) -> (),
4239 CreateFramebuffer => (device: Device, pCreateInfo: *const FramebufferCreateInfo, pAllocator: *const AllocationCallbacks, pFramebuffer: *mut Framebuffer) -> Result,
4240 DestroyFramebuffer => (device: Device, framebuffer: Framebuffer, pAllocator: *const AllocationCallbacks) -> (),
4241 CreateRenderPass => (device: Device, pCreateInfo: *const RenderPassCreateInfo, pAllocator: *const AllocationCallbacks, pRenderPass: *mut RenderPass) -> Result,
4242 DestroyRenderPass => (device: Device, renderPass: RenderPass, pAllocator: *const AllocationCallbacks) -> (),
4243 GetRenderAreaGranularity => (device: Device, renderPass: RenderPass, pGranularity: *mut Extent2D) -> (),
4244 CreateCommandPool => (device: Device, pCreateInfo: *const CommandPoolCreateInfo, pAllocator: *const AllocationCallbacks, pCommandPool: *mut CommandPool) -> Result,
4245 DestroyCommandPool => (device: Device, commandPool: CommandPool, pAllocator: *const AllocationCallbacks) -> (),
4246 ResetCommandPool => (device: Device, commandPool: CommandPool, flags: CommandPoolResetFlags) -> Result,
4247 TrimCommandPoolKHR => (device: Device, commandPool: CommandPool, flags: CommandPoolTrimFlagsKHR) -> (),
4248 AllocateCommandBuffers => (device: Device, pAllocateInfo: *const CommandBufferAllocateInfo, pCommandBuffers: *mut CommandBuffer) -> Result,
4249 FreeCommandBuffers => (device: Device, commandPool: CommandPool, commandBufferCount: u32, pCommandBuffers: *const CommandBuffer) -> (),
4250 BeginCommandBuffer => (commandBuffer: CommandBuffer, pBeginInfo: *const CommandBufferBeginInfo) -> Result,
4251 EndCommandBuffer => (commandBuffer: CommandBuffer) -> Result,
4252 ResetCommandBuffer => (commandBuffer: CommandBuffer, flags: CommandBufferResetFlags) -> Result,
4253 CmdBindPipeline => (commandBuffer: CommandBuffer, pipelineBindPoint: PipelineBindPoint, pipeline: Pipeline) -> (),
4254 CmdSetViewport => (commandBuffer: CommandBuffer, firstViewport: u32, viewportCount: u32, pViewports: *const Viewport) -> (),
4255 CmdSetScissor => (commandBuffer: CommandBuffer, firstScissor: u32, scissorCount: u32, pScissors: *const Rect2D) -> (),
4256 CmdSetLineWidth => (commandBuffer: CommandBuffer, lineWidth: f32) -> (),
4257 CmdSetDepthBias => (commandBuffer: CommandBuffer, depthBiasConstantFactor: f32, depthBiasClamp: f32, depthBiasSlopeFactor: f32) -> (),
4258 CmdSetBlendConstants => (commandBuffer: CommandBuffer, blendConstants: &[f32; 4]) -> (),
4259 CmdSetDepthBounds => (commandBuffer: CommandBuffer, minDepthBounds: f32, maxDepthBounds: f32) -> (),
4260 CmdSetStencilCompareMask => (commandBuffer: CommandBuffer, faceMask: StencilFaceFlags, compareMask: u32) -> (),
4261 CmdSetStencilWriteMask => (commandBuffer: CommandBuffer, faceMask: StencilFaceFlags, writeMask: u32) -> (),
4262 CmdSetStencilReference => (commandBuffer: CommandBuffer, faceMask: StencilFaceFlags, reference: u32) -> (),
4263 CmdBindDescriptorSets => (commandBuffer: CommandBuffer, pipelineBindPoint: PipelineBindPoint, layout: PipelineLayout, firstSet: u32, descriptorSetCount: u32, pDescriptorSets: *const DescriptorSet, dynamicOffsetCount: u32, pDynamicOffsets: *const u32) -> (),
4264 CmdBindIndexBuffer => (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, indexType: IndexType) -> (),
4265 CmdBindVertexBuffers => (commandBuffer: CommandBuffer, firstBinding: u32, bindingCount: u32, pBuffers: *const Buffer, pOffsets: *const DeviceSize) -> (),
4266 CmdDraw => (commandBuffer: CommandBuffer, vertexCount: u32, instanceCount: u32, firstVertex: u32, firstInstance: u32) -> (),
4267 CmdDrawIndexed => (commandBuffer: CommandBuffer, indexCount: u32, instanceCount: u32, firstIndex: u32, vertexOffset: i32, firstInstance: u32) -> (),
4268 CmdDrawIndirect => (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, drawCount: u32, stride: u32) -> (),
4269 CmdDrawIndexedIndirect => (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, drawCount: u32, stride: u32) -> (),
4270 CmdDispatch => (commandBuffer: CommandBuffer, x: u32, y: u32, z: u32) -> (),
4271 CmdDispatchIndirect => (commandBuffer: CommandBuffer, buffer: Buffer, offset: DeviceSize) -> (),
4272 CmdCopyBuffer => (commandBuffer: CommandBuffer, srcBuffer: Buffer, dstBuffer: Buffer, regionCount: u32, pRegions: *const BufferCopy) -> (),
4273 CmdCopyImage => (commandBuffer: CommandBuffer, srcImage: Image, srcImageLayout: ImageLayout, dstImage: Image, dstImageLayout: ImageLayout, regionCount: u32, pRegions: *const ImageCopy) -> (),
4274 CmdBlitImage => (commandBuffer: CommandBuffer, srcImage: Image, srcImageLayout: ImageLayout, dstImage: Image, dstImageLayout: ImageLayout, regionCount: u32, pRegions: *const ImageBlit, filter: Filter) -> (),
4275 CmdCopyBufferToImage => (commandBuffer: CommandBuffer, srcBuffer: Buffer, dstImage: Image, dstImageLayout: ImageLayout, regionCount: u32, pRegions: *const BufferImageCopy) -> (),
4276 CmdCopyImageToBuffer => (commandBuffer: CommandBuffer, srcImage: Image, srcImageLayout: ImageLayout, dstBuffer: Buffer, regionCount: u32, pRegions: *const BufferImageCopy) -> (),
4277 CmdUpdateBuffer => (commandBuffer: CommandBuffer, dstBuffer: Buffer, dstOffset: DeviceSize, dataSize: DeviceSize, pData: *const u32) -> (),
4278 CmdFillBuffer => (commandBuffer: CommandBuffer, dstBuffer: Buffer, dstOffset: DeviceSize, size: DeviceSize, data: u32) -> (),
4279 CmdClearColorImage => (commandBuffer: CommandBuffer, image: Image, imageLayout: ImageLayout, pColor: *const ClearColorValue, rangeCount: u32, pRanges: *const ImageSubresourceRange) -> (),
4280 CmdClearDepthStencilImage => (commandBuffer: CommandBuffer, image: Image, imageLayout: ImageLayout, pDepthStencil: *const ClearDepthStencilValue, rangeCount: u32, pRanges: *const ImageSubresourceRange) -> (),
4281 CmdClearAttachments => (commandBuffer: CommandBuffer, attachmentCount: u32, pAttachments: *const ClearAttachment, rectCount: u32, pRects: *const ClearRect) -> (),
4282 CmdResolveImage => (commandBuffer: CommandBuffer, srcImage: Image, srcImageLayout: ImageLayout, dstImage: Image, dstImageLayout: ImageLayout, regionCount: u32, pRegions: *const ImageResolve) -> (),
4283 CmdSetEvent => (commandBuffer: CommandBuffer, event: Event, stageMask: PipelineStageFlags) -> (),
4284 CmdResetEvent => (commandBuffer: CommandBuffer, event: Event, stageMask: PipelineStageFlags) -> (),
4285 CmdWaitEvents => (commandBuffer: CommandBuffer, eventCount: u32, pEvents: *const Event, srcStageMask: PipelineStageFlags, dstStageMask: PipelineStageFlags, memoryBarrierCount: u32, pMemoryBarriers: *const MemoryBarrier, bufferMemoryBarrierCount: u32, pBufferMemoryBarriers: *const BufferMemoryBarrier, imageMemoryBarrierCount: u32, pImageMemoryBarriers: *const ImageMemoryBarrier) -> (),
4286 CmdPipelineBarrier => (commandBuffer: CommandBuffer, srcStageMask: PipelineStageFlags, dstStageMask: PipelineStageFlags, dependencyFlags: DependencyFlags, memoryBarrierCount: u32, pMemoryBarriers: *const MemoryBarrier, bufferMemoryBarrierCount: u32, pBufferMemoryBarriers: *const BufferMemoryBarrier, imageMemoryBarrierCount: u32, pImageMemoryBarriers: *const ImageMemoryBarrier) -> (),
4287 CmdBeginQuery => (commandBuffer: CommandBuffer, queryPool: QueryPool, query: u32, flags: QueryControlFlags) -> (),
4288 CmdEndQuery => (commandBuffer: CommandBuffer, queryPool: QueryPool, query: u32) -> (),
4289 CmdResetQueryPool => (commandBuffer: CommandBuffer, queryPool: QueryPool, firstQuery: u32, queryCount: u32) -> (),
4290 CmdWriteTimestamp => (commandBuffer: CommandBuffer, pipelineStage: PipelineStageFlagBits, queryPool: QueryPool, query: u32) -> (),
4291 CmdCopyQueryPoolResults => (commandBuffer: CommandBuffer, queryPool: QueryPool, firstQuery: u32, queryCount: u32, dstBuffer: Buffer, dstOffset: DeviceSize, stride: DeviceSize, flags: QueryResultFlags) -> (),
4292 CmdPushConstants => (commandBuffer: CommandBuffer, layout: PipelineLayout, stageFlags: ShaderStageFlags, offset: u32, size: u32, pValues: *const c_void) -> (),
4293 CmdBeginRenderPass => (commandBuffer: CommandBuffer, pRenderPassBegin: *const RenderPassBeginInfo, contents: SubpassContents) -> (),
4294 CmdNextSubpass => (commandBuffer: CommandBuffer, contents: SubpassContents) -> (),
4295 CmdEndRenderPass => (commandBuffer: CommandBuffer) -> (),
4296 CmdExecuteCommands => (commandBuffer: CommandBuffer, commandBufferCount: u32, pCommandBuffers: *const CommandBuffer) -> (),
4297 CreateSwapchainKHR => (device: Device, pCreateInfo: *const SwapchainCreateInfoKHR, pAllocator: *const AllocationCallbacks, pSwapchain: *mut SwapchainKHR) -> Result,
4298 DestroySwapchainKHR => (device: Device, swapchain: SwapchainKHR, pAllocator: *const AllocationCallbacks) -> (),
4299 GetSwapchainImagesKHR => (device: Device, swapchain: SwapchainKHR, pSwapchainImageCount: *mut u32, pSwapchainImages: *mut Image) -> Result,
4300 AcquireNextImageKHR => (device: Device, swapchain: SwapchainKHR, timeout: u64, semaphore: Semaphore, fence: Fence, pImageIndex: *mut u32) -> Result,
4301 QueuePresentKHR => (queue: Queue, pPresentInfo: *const PresentInfoKHR) -> Result,
4302 CreateSharedSwapchainsKHR => (device: Device, swapchainCount: u32, pCreateInfos: *const SwapchainCreateInfoKHR, pAllocator: *const AllocationCallbacks, pSwapchains: *mut SwapchainKHR) -> Result,
4303 CmdPushDescriptorSetKHR => (commandBuffer: CommandBuffer, pipelineBindPoint: PipelineBindPoint, layout: PipelineLayout, set: u32, descriptorWriteCount: u32, pDescriptorWrites: *const WriteDescriptorSet) -> (),
4304 CreateDescriptorUpdateTemplateKHR => (device: Device, pCreateInfo: *const DescriptorUpdateTemplateCreateInfoKHR, pAllocator: *const AllocationCallbacks, pDescriptorUpdateTemplate: *mut DescriptorUpdateTemplateKHR) -> Result,
4305 DestroyDescriptorUpdateTemplateKHR => (device: Device, descriptorUpdateTemplate: DescriptorUpdateTemplateKHR, pAllocator: *const AllocationCallbacks) -> (),
4306 UpdateDescriptorSetWithTemplateKHR => (device: Device, descriptorSet: DescriptorSet, descriptorUpdateTemplate: DescriptorUpdateTemplateKHR, pData: *const c_void) -> (),
4307 CmdPushDescriptorSetWithTemplateKHR => (commandBuffer: CommandBuffer, descriptorUpdateTemplate: DescriptorUpdateTemplateKHR, layout: PipelineLayout, set: u32, pData: *const c_void) -> (),
4308 GetImageMemoryRequirements2KHR => (device: Device, pInfo: *const ImageMemoryRequirementsInfo2KHR, pMemoryRequirements: *mut MemoryRequirements2KHR) -> (),
4309 GetBufferMemoryRequirements2KHR => (device: Device, pInfo: *const BufferMemoryRequirementsInfo2KHR, pMemoryRequirements: *mut MemoryRequirements2KHR) -> (),
4310 SetDebugUtilsObjectNameEXT => (device: Device, pNameInfo: *const DebugUtilsObjectNameInfoEXT) -> Result,
4311 CmdBeginDebugUtilsLabelEXT => (commandBuffer: CommandBuffer, pLabelInfo: *const DebugUtilsLabelEXT) -> Result,
4312 CmdEndDebugUtilsLabelEXT => (commandBuffer: CommandBuffer) -> Result,
4313 CmdInsertDebugUtilsLabelEXT => (commandBuffer: CommandBuffer, pLabelInfo: *const DebugUtilsLabelEXT) -> Result,
4314 AcquireFullScreenExclusiveModeEXT => (device: Device, swapchain: SwapchainKHR) -> Result,
4315 ReleaseFullScreenExclusiveModeEXT => (device: Device, swapchain: SwapchainKHR) -> Result,
4316 GetBufferDeviceAddressEXT => (device: Device, pInfo: *const BufferDeviceAddressInfo) -> DeviceAddress,
4317 GetMemoryFdKHR => (device: Device, pGetFdInfo: *const MemoryGetFdInfoKHR, pFd: *mut i32) -> Result,
4318 GetMemoryFdPropertiesKHR => (device: Device, handleType: ExternalMemoryHandleTypeFlagBits, fd: i32, pMemoryFdProperties: *mut MemoryFdPropertiesKHR) -> Result,
4319});