1#![allow(non_upper_case_globals)]
2#![allow(non_snake_case)]
3#![allow(non_camel_case_types)]
4#![allow(improper_ctypes)]
5#![allow(dead_code)]
6type void = std::ffi::c_void;
7pub const LOD_CLAMP_NONE : f32 = 1000.;
8pub const REMAINING_MIP_LEVELS : u32 = !0;
9pub const REMAINING_ARRAY_LAYERS : u32 = !0;
10pub const WHOLE_SIZE : u64 = !0u64;
11pub const ATTACHMENT_UNUSED : u32 = !0;
12pub const TRUE : u32 = 1;
13pub const FALSE : u32 = 0;
14pub const QUEUE_FAMILY_IGNORED : u32 = !0;
15pub const SUBPASS_EXTERNAL : u32 = !0;
16pub const MAX_PHYSICAL_DEVICE_NAME_SIZE : usize = 256;
17pub const UUID_SIZE : usize = 16;
18pub const MAX_MEMORY_TYPES : usize = 32;
19pub const MAX_MEMORY_HEAPS : usize = 16;
20pub const MAX_EXTENSION_NAME_SIZE : usize = 256;
21pub const MAX_DESCRIPTION_SIZE : usize = 256;
22pub const MAX_DEVICE_GROUP_SIZE : usize = 32;
23pub const LUID_SIZE : usize = 8;
24pub const QUEUE_FAMILY_EXTERNAL : u32 = !0 - 1;
25pub const MAX_DRIVER_NAME_SIZE : usize = 256;
26pub const MAX_DRIVER_INFO_SIZE : usize = 256;
27pub type Flags = i32;
28pub type Bool32 = u32;
29pub type DeviceSize = u64;
30pub type SampleMask = u32;
31pub type Instance = u64;
32pub type PhysicalDevice = u64;
33pub type Device = u64;
34pub type Queue = u64;
35pub type Semaphore = u64;
36pub type CommandBuffer = u64;
37pub type Fence = u64;
38pub type DeviceMemory = u64;
39pub type Buffer = u64;
40pub type Image = u64;
41pub type Event = u64;
42pub type QueryPool = u64;
43pub type BufferView = u64;
44pub type ImageView = u64;
45pub type ShaderModule = u64;
46pub type PipelineCache = u64;
47pub type PipelineLayout = u64;
48pub type RenderPass = u64;
49pub type Pipeline = u64;
50pub type DescriptorSetLayout = u64;
51pub type Sampler = u64;
52pub type DescriptorPool = u64;
53pub type DescriptorSet = u64;
54pub type Framebuffer = u64;
55pub type CommandPool = u64;
56
57pub const fn make_version(major : u32, minor : u32, patch : u32) -> u32
58{
59 (major << 22) | (minor << 12) | patch }
61
62pub type PipelineCacheHeaderVersion = i32;
63pub const PIPELINE_CACHE_HEADER_VERSION_ONE : i32 = 1;
64pub const PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM : i32 = 0x7FFFFFF;
65pub type VkResult = i32;
66pub const SUCCESS : i32 = 0;
67pub const NOT_READY : i32 = 1;
68pub const TIMEOUT : i32 = 2;
69pub const EVENT_SET : i32 = 3;
70pub const EVENT_RESET : i32 = 4;
71pub const INCOMPLETE : i32 = 5;
72pub const ERROR_OUT_OF_HOST_MEMORY : i32 = -1;
73pub const ERROR_OUT_OF_DEVICE_MEMORY : i32 = -2;
74pub const ERROR_INITIALIZATION_FAILED : i32 = -3;
75pub const ERROR_DEVICE_LOST : i32 = -4;
76pub const ERROR_MEMORY_MAP_FAILED : i32 = -5;
77pub const ERROR_LAYER_NOT_PRESENT : i32 = -6;
78pub const ERROR_EXTENSION_NOT_PRESENT : i32 = -7;
79pub const ERROR_FEATURE_NOT_PRESENT : i32 = -8;
80pub const ERROR_INCOMPATIBLE_DRIVER : i32 = -9;
81pub const ERROR_TOO_MANY_OBJECTS : i32 = -10;
82pub const ERROR_FORMAT_NOT_SUPPORTED : i32 = -11;
83pub const ERROR_FRAGMENTED_POOL : i32 = -12;
84pub const ERROR_UNKNOWN : i32 = -13;
85pub const ERROR_OUT_OF_POOL_MEMORY : i32 = -1000069000;
86pub const ERROR_INVALID_EXTERNAL_HANDLE : i32 = -1000072003;
87pub const ERROR_FRAGMENTATION : i32 = -1000161000;
88pub const ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS : i32 = -1000257000;
89pub const ERROR_SURFACE_LOST_KHR : i32 = -1000000000;
90pub const ERROR_NATIVE_WINDOW_IN_USE_KHR : i32 = -1000000001;
91pub const SUBOPTIMAL_KHR : i32 = 1000001003;
92pub const ERROR_OUT_OF_DATE_KHR : i32 = -1000001004;
93pub const ERROR_INCOMPATIBLE_DISPLAY_KHR : i32 = -1000003001;
94pub const ERROR_VALIDATION_FAILED_EXT : i32 = -1000011001;
95pub const ERROR_INVALID_SHADER_NV : i32 = -1000012000;
96pub const ERROR_INCOMPATIBLE_VERSION_KHR : i32 = -1000150000;
97pub const ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT : i32 = -1000158000;
98pub const ERROR_NOT_PERMITTED_EXT : i32 = -1000174001;
99pub const ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT : i32 = -1000255000;
100pub const THREAD_IDLE_KHR : i32 = 1000268000;
101pub const THREAD_DONE_KHR : i32 = 1000268001;
102pub const OPERATION_DEFERRED_KHR : i32 = 1000268002;
103pub const OPERATION_NOT_DEFERRED_KHR : i32 = 1000268003;
104pub const PIPELINE_COMPILE_REQUIRED_EXT : i32 = 1000297000;
105pub const ERROR_OUT_OF_POOL_MEMORY_KHR : i32 = ERROR_OUT_OF_POOL_MEMORY;
106pub const ERROR_INVALID_EXTERNAL_HANDLE_KHR : i32 = ERROR_INVALID_EXTERNAL_HANDLE;
107pub const ERROR_FRAGMENTATION_EXT : i32 = ERROR_FRAGMENTATION;
108pub const ERROR_INVALID_DEVICE_ADDRESS_EXT : i32 = ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS;
109pub const ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR : i32 = ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS;
110pub const ERROR_PIPELINE_COMPILE_REQUIRED_EXT : i32 = PIPELINE_COMPILE_REQUIRED_EXT;
111pub const RESULT_MAX_ENUM : i32 = 0x7FFFFFF;
112pub type StructureType = i32;
113pub const STRUCTURE_TYPE_APPLICATION_INFO : i32 = 0;
114pub const STRUCTURE_TYPE_INSTANCE_CREATE_INFO : i32 = 1;
115pub const STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO : i32 = 2;
116pub const STRUCTURE_TYPE_DEVICE_CREATE_INFO : i32 = 3;
117pub const STRUCTURE_TYPE_SUBMIT_INFO : i32 = 4;
118pub const STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO : i32 = 5;
119pub const STRUCTURE_TYPE_MAPPED_MEMORY_RANGE : i32 = 6;
120pub const STRUCTURE_TYPE_BIND_SPARSE_INFO : i32 = 7;
121pub const STRUCTURE_TYPE_FENCE_CREATE_INFO : i32 = 8;
122pub const STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO : i32 = 9;
123pub const STRUCTURE_TYPE_EVENT_CREATE_INFO : i32 = 10;
124pub const STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO : i32 = 11;
125pub const STRUCTURE_TYPE_BUFFER_CREATE_INFO : i32 = 12;
126pub const STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO : i32 = 13;
127pub const STRUCTURE_TYPE_IMAGE_CREATE_INFO : i32 = 14;
128pub const STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO : i32 = 15;
129pub const STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO : i32 = 16;
130pub const STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO : i32 = 17;
131pub const STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO : i32 = 18;
132pub const STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO : i32 = 19;
133pub const STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO : i32 = 20;
134pub const STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO : i32 = 21;
135pub const STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO : i32 = 22;
136pub const STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO : i32 = 23;
137pub const STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO : i32 = 24;
138pub const STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO : i32 = 25;
139pub const STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO : i32 = 26;
140pub const STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO : i32 = 27;
141pub const STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO : i32 = 28;
142pub const STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO : i32 = 29;
143pub const STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO : i32 = 30;
144pub const STRUCTURE_TYPE_SAMPLER_CREATE_INFO : i32 = 31;
145pub const STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO : i32 = 32;
146pub const STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO : i32 = 33;
147pub const STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO : i32 = 34;
148pub const STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET : i32 = 35;
149pub const STRUCTURE_TYPE_COPY_DESCRIPTOR_SET : i32 = 36;
150pub const STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO : i32 = 37;
151pub const STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO : i32 = 38;
152pub const STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO : i32 = 39;
153pub const STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO : i32 = 40;
154pub const STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO : i32 = 41;
155pub const STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO : i32 = 42;
156pub const STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO : i32 = 43;
157pub const STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER : i32 = 44;
158pub const STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER : i32 = 45;
159pub const STRUCTURE_TYPE_MEMORY_BARRIER : i32 = 46;
160pub const STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO : i32 = 47;
161pub const STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO : i32 = 48;
162pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES : i32 = 1000094000;
163pub const STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO : i32 = 1000157000;
164pub const STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO : i32 = 1000157001;
165pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES : i32 = 1000083000;
166pub const STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS : i32 = 1000127000;
167pub const STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO : i32 = 1000127001;
168pub const STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO : i32 = 1000060000;
169pub const STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO : i32 = 1000060003;
170pub const STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO : i32 = 1000060004;
171pub const STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO : i32 = 1000060005;
172pub const STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO : i32 = 1000060006;
173pub const STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO : i32 = 1000060013;
174pub const STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO : i32 = 1000060014;
175pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES : i32 = 1000070000;
176pub const STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO : i32 = 1000070001;
177pub const STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 : i32 = 1000146000;
178pub const STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 : i32 = 1000146001;
179pub const STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 : i32 = 1000146002;
180pub const STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 : i32 = 1000146003;
181pub const STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 : i32 = 1000146004;
182pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 : i32 = 1000059000;
183pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 : i32 = 1000059001;
184pub const STRUCTURE_TYPE_FORMAT_PROPERTIES_2 : i32 = 1000059002;
185pub const STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 : i32 = 1000059003;
186pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 : i32 = 1000059004;
187pub const STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 : i32 = 1000059005;
188pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 : i32 = 1000059006;
189pub const STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 : i32 = 1000059007;
190pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 : i32 = 1000059008;
191pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES : i32 = 1000117000;
192pub const STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO : i32 = 1000117001;
193pub const STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO : i32 = 1000117002;
194pub const STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO : i32 = 1000117003;
195pub const STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO : i32 = 1000053000;
196pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES : i32 = 1000053001;
197pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES : i32 = 1000053002;
198pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES : i32 = 1000120000;
199pub const STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO : i32 = 1000145000;
200pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES : i32 = 1000145001;
201pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES : i32 = 1000145002;
202pub const STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 : i32 = 1000145003;
203pub const STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO : i32 = 1000156000;
204pub const STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO : i32 = 1000156001;
205pub const STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO : i32 = 1000156002;
206pub const STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO : i32 = 1000156003;
207pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES : i32 = 1000156004;
208pub const STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES : i32 = 1000156005;
209pub const STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO : i32 = 1000085000;
210pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO : i32 = 1000071000;
211pub const STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES : i32 = 1000071001;
212pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO : i32 = 1000071002;
213pub const STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES : i32 = 1000071003;
214pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES : i32 = 1000071004;
215pub const STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO : i32 = 1000072000;
216pub const STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO : i32 = 1000072001;
217pub const STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO : i32 = 1000072002;
218pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO : i32 = 1000112000;
219pub const STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES : i32 = 1000112001;
220pub const STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO : i32 = 1000113000;
221pub const STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO : i32 = 1000077000;
222pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO : i32 = 1000076000;
223pub const STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES : i32 = 1000076001;
224pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES : i32 = 1000168000;
225pub const STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT : i32 = 1000168001;
226pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES : i32 = 1000063000;
227pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES : i32 = 49;
228pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES : i32 = 50;
229pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES : i32 = 51;
230pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES : i32 = 52;
231pub const STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO : i32 = 1000147000;
232pub const STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 : i32 = 1000109000;
233pub const STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 : i32 = 1000109001;
234pub const STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 : i32 = 1000109002;
235pub const STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 : i32 = 1000109003;
236pub const STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 : i32 = 1000109004;
237pub const STRUCTURE_TYPE_SUBPASS_BEGIN_INFO : i32 = 1000109005;
238pub const STRUCTURE_TYPE_SUBPASS_END_INFO : i32 = 1000109006;
239pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES : i32 = 1000177000;
240pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES : i32 = 1000196000;
241pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES : i32 = 1000180000;
242pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES : i32 = 1000082000;
243pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES : i32 = 1000197000;
244pub const STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO : i32 = 1000161000;
245pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES : i32 = 1000161001;
246pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES : i32 = 1000161002;
247pub const STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO : i32 = 1000161003;
248pub const STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT : i32 = 1000161004;
249pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES : i32 = 1000199000;
250pub const STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE : i32 = 1000199001;
251pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES : i32 = 1000221000;
252pub const STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO : i32 = 1000246000;
253pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES : i32 = 1000130000;
254pub const STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO : i32 = 1000130001;
255pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES : i32 = 1000211000;
256pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES : i32 = 1000108000;
257pub const STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO : i32 = 1000108001;
258pub const STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO : i32 = 1000108002;
259pub const STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO : i32 = 1000108003;
260pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES : i32 = 1000253000;
261pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES : i32 = 1000175000;
262pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES : i32 = 1000241000;
263pub const STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT : i32 = 1000241001;
264pub const STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT : i32 = 1000241002;
265pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES : i32 = 1000261000;
266pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES : i32 = 1000207000;
267pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES : i32 = 1000207001;
268pub const STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO : i32 = 1000207002;
269pub const STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO : i32 = 1000207003;
270pub const STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO : i32 = 1000207004;
271pub const STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO : i32 = 1000207005;
272pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES : i32 = 1000257000;
273pub const STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO : i32 = 1000244001;
274pub const STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO : i32 = 1000257002;
275pub const STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO : i32 = 1000257003;
276pub const STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO : i32 = 1000257004;
277pub const STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR : i32 = 1000001000;
278pub const STRUCTURE_TYPE_PRESENT_INFO_KHR : i32 = 1000001001;
279pub const STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR : i32 = 1000060007;
280pub const STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR : i32 = 1000060008;
281pub const STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR : i32 = 1000060009;
282pub const STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR : i32 = 1000060010;
283pub const STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR : i32 = 1000060011;
284pub const STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR : i32 = 1000060012;
285pub const STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR : i32 = 1000002000;
286pub const STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR : i32 = 1000002001;
287pub const STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR : i32 = 1000003000;
288pub const STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR : i32 = 1000004000;
289pub const STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR : i32 = 1000005000;
290pub const STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR : i32 = 1000006000;
291pub const STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR : i32 = 1000008000;
292pub const STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR : i32 = 1000009000;
293pub const STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT : i32 = 1000011000;
294pub const STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD : i32 = 1000018000;
295pub const STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT : i32 = 1000022000;
296pub const STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT : i32 = 1000022001;
297pub const STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT : i32 = 1000022002;
298pub const STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV : i32 = 1000026000;
299pub const STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV : i32 = 1000026001;
300pub const STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV : i32 = 1000026002;
301pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT : i32 = 1000028000;
302pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT : i32 = 1000028001;
303pub const STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT : i32 = 1000028002;
304pub const STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX : i32 = 1000030000;
305pub const STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX : i32 = 1000030001;
306pub const STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD : i32 = 1000041000;
307pub const STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP : i32 = 1000049000;
308pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV : i32 = 1000050000;
309pub const STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV : i32 = 1000056000;
310pub const STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV : i32 = 1000056001;
311pub const STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV : i32 = 1000057000;
312pub const STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV : i32 = 1000057001;
313pub const STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV : i32 = 1000058000;
314pub const STRUCTURE_TYPE_VALIDATION_FLAGS_EXT : i32 = 1000061000;
315pub const STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN : i32 = 1000062000;
316pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT : i32 = 1000066000;
317pub const STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT : i32 = 1000067000;
318pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT : i32 = 1000067001;
319pub const STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR : i32 = 1000073000;
320pub const STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR : i32 = 1000073001;
321pub const STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR : i32 = 1000073002;
322pub const STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR : i32 = 1000073003;
323pub const STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR : i32 = 1000074000;
324pub const STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR : i32 = 1000074001;
325pub const STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR : i32 = 1000074002;
326pub const STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR : i32 = 1000075000;
327pub const STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR : i32 = 1000078000;
328pub const STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR : i32 = 1000078001;
329pub const STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR : i32 = 1000078002;
330pub const STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR : i32 = 1000078003;
331pub const STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR : i32 = 1000079000;
332pub const STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR : i32 = 1000079001;
333pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR : i32 = 1000080000;
334pub const STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT : i32 = 1000081000;
335pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT : i32 = 1000081001;
336pub const STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT : i32 = 1000081002;
337pub const STRUCTURE_TYPE_PRESENT_REGIONS_KHR : i32 = 1000084000;
338pub const STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV : i32 = 1000087000;
339pub const STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT : i32 = 1000090000;
340pub const STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT : i32 = 1000091000;
341pub const STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT : i32 = 1000091001;
342pub const STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT : i32 = 1000091002;
343pub const STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT : i32 = 1000091003;
344pub const STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE : i32 = 1000092000;
345pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX : i32 = 1000097000;
346pub const STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV : i32 = 1000098000;
347pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT : i32 = 1000099000;
348pub const STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT : i32 = 1000099001;
349pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT : i32 = 1000101000;
350pub const STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT : i32 = 1000101001;
351pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT : i32 = 1000102000;
352pub const STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT : i32 = 1000102001;
353pub const STRUCTURE_TYPE_HDR_METADATA_EXT : i32 = 1000105000;
354pub const STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR : i32 = 1000111000;
355pub const STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR : i32 = 1000114000;
356pub const STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR : i32 = 1000114001;
357pub const STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR : i32 = 1000114002;
358pub const STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR : i32 = 1000115000;
359pub const STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR : i32 = 1000115001;
360pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR : i32 = 1000116000;
361pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR : i32 = 1000116001;
362pub const STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR : i32 = 1000116002;
363pub const STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR : i32 = 1000116003;
364pub const STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR : i32 = 1000116004;
365pub const STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR : i32 = 1000116005;
366pub const STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR : i32 = 1000116006;
367pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR : i32 = 1000119000;
368pub const STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR : i32 = 1000119001;
369pub const STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR : i32 = 1000119002;
370pub const STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR : i32 = 1000121000;
371pub const STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR : i32 = 1000121001;
372pub const STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR : i32 = 1000121002;
373pub const STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR : i32 = 1000121003;
374pub const STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR : i32 = 1000121004;
375pub const STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK : i32 = 1000122000;
376pub const STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK : i32 = 1000123000;
377pub const STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT : i32 = 1000128000;
378pub const STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT : i32 = 1000128001;
379pub const STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT : i32 = 1000128002;
380pub const STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT : i32 = 1000128003;
381pub const STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT : i32 = 1000128004;
382pub const STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID : i32 = 1000129000;
383pub const STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID : i32 = 1000129001;
384pub const STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID : i32 = 1000129002;
385pub const STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID : i32 = 1000129003;
386pub const STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID : i32 = 1000129004;
387pub const STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID : i32 = 1000129005;
388pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT : i32 = 1000138000;
389pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT : i32 = 1000138001;
390pub const STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT : i32 = 1000138002;
391pub const STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT : i32 = 1000138003;
392pub const STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT : i32 = 1000143000;
393pub const STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT : i32 = 1000143001;
394pub const STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT : i32 = 1000143002;
395pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT : i32 = 1000143003;
396pub const STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT : i32 = 1000143004;
397pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT : i32 = 1000148000;
398pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT : i32 = 1000148001;
399pub const STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT : i32 = 1000148002;
400pub const STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV : i32 = 1000149000;
401pub const STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_KHR : i32 = 1000165006;
402pub const STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR : i32 = 1000165007;
403pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR : i32 = 1000150000;
404pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_GEOMETRY_TYPE_INFO_KHR : i32 = 1000150001;
405pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR : i32 = 1000150002;
406pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR : i32 = 1000150003;
407pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR : i32 = 1000150004;
408pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR : i32 = 1000150005;
409pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR : i32 = 1000150006;
410pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_KHR : i32 = 1000150008;
411pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_KHR : i32 = 1000150009;
412pub const STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR : i32 = 1000150010;
413pub const STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR : i32 = 1000150011;
414pub const STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR : i32 = 1000150012;
415pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_FEATURES_KHR : i32 = 1000150013;
416pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_KHR : i32 = 1000150014;
417pub const STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR : i32 = 1000150015;
418pub const STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR : i32 = 1000150016;
419pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR : i32 = 1000150017;
420pub const STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR : i32 = 1000150018;
421pub const STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV : i32 = 1000152000;
422pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV : i32 = 1000154000;
423pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV : i32 = 1000154001;
424pub const STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT : i32 = 1000158000;
425pub const STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT : i32 = 1000158001;
426pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT : i32 = 1000158002;
427pub const STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT : i32 = 1000158003;
428pub const STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT : i32 = 1000158004;
429pub const STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT : i32 = 1000158005;
430pub const STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT : i32 = 1000160000;
431pub const STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT : i32 = 1000160001;
432pub const STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV : i32 = 1000164000;
433pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV : i32 = 1000164001;
434pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV : i32 = 1000164002;
435pub const STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV : i32 = 1000164005;
436pub const STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV : i32 = 1000165000;
437pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV : i32 = 1000165001;
438pub const STRUCTURE_TYPE_GEOMETRY_NV : i32 = 1000165003;
439pub const STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV : i32 = 1000165004;
440pub const STRUCTURE_TYPE_GEOMETRY_AABB_NV : i32 = 1000165005;
441pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV : i32 = 1000165008;
442pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV : i32 = 1000165009;
443pub const STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV : i32 = 1000165011;
444pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV : i32 = 1000165012;
445pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV : i32 = 1000166000;
446pub const STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV : i32 = 1000166001;
447pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT : i32 = 1000170000;
448pub const STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT : i32 = 1000170001;
449pub const STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT : i32 = 1000174000;
450pub const STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT : i32 = 1000178000;
451pub const STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT : i32 = 1000178001;
452pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT : i32 = 1000178002;
453pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR : i32 = 1000181000;
454pub const STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD : i32 = 1000183000;
455pub const STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT : i32 = 1000184000;
456pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD : i32 = 1000185000;
457pub const STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD : i32 = 1000189000;
458pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT : i32 = 1000190000;
459pub const STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT : i32 = 1000190001;
460pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT : i32 = 1000190002;
461pub const STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP : i32 = 1000191000;
462pub const STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT : i32 = 1000192000;
463pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV : i32 = 1000201000;
464pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV : i32 = 1000202000;
465pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV : i32 = 1000202001;
466pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV : i32 = 1000203000;
467pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV : i32 = 1000204000;
468pub const STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV : i32 = 1000205000;
469pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV : i32 = 1000205002;
470pub const STRUCTURE_TYPE_CHECKPOINT_DATA_NV : i32 = 1000206000;
471pub const STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV : i32 = 1000206001;
472pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL : i32 = 1000209000;
473pub const STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL : i32 = 1000210000;
474pub const STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL : i32 = 1000210001;
475pub const STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL : i32 = 1000210002;
476pub const STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL : i32 = 1000210003;
477pub const STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL : i32 = 1000210004;
478pub const STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL : i32 = 1000210005;
479pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT : i32 = 1000212000;
480pub const STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD : i32 = 1000213000;
481pub const STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD : i32 = 1000213001;
482pub const STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA : i32 = 1000214000;
483pub const STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT : i32 = 1000217000;
484pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT : i32 = 1000218000;
485pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT : i32 = 1000218001;
486pub const STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT : i32 = 1000218002;
487pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT : i32 = 1000225000;
488pub const STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT : i32 = 1000225001;
489pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT : i32 = 1000225002;
490pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD : i32 = 1000227000;
491pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD : i32 = 1000229000;
492pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT : i32 = 1000237000;
493pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT : i32 = 1000238000;
494pub const STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT : i32 = 1000238001;
495pub const STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR : i32 = 1000239000;
496pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV : i32 = 1000240000;
497pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT : i32 = 1000244000;
498pub const STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT : i32 = 1000244002;
499pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT : i32 = 1000245000;
500pub const STRUCTURE_TYPE_VALIDATION_FEATURES_EXT : i32 = 1000247000;
501pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV : i32 = 1000249000;
502pub const STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV : i32 = 1000249001;
503pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV : i32 = 1000249002;
504pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV : i32 = 1000250000;
505pub const STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV : i32 = 1000250001;
506pub const STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV : i32 = 1000250002;
507pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT : i32 = 1000251000;
508pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT : i32 = 1000252000;
509pub const STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT : i32 = 1000255000;
510pub const STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT : i32 = 1000255002;
511pub const STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT : i32 = 1000255001;
512pub const STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT : i32 = 1000256000;
513pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT : i32 = 1000259000;
514pub const STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT : i32 = 1000259001;
515pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT : i32 = 1000259002;
516pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT : i32 = 1000265000;
517pub const STRUCTURE_TYPE_DEFERRED_OPERATION_INFO_KHR : i32 = 1000268000;
518pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR : i32 = 1000269000;
519pub const STRUCTURE_TYPE_PIPELINE_INFO_KHR : i32 = 1000269001;
520pub const STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR : i32 = 1000269002;
521pub const STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR : i32 = 1000269003;
522pub const STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR : i32 = 1000269004;
523pub const STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR : i32 = 1000269005;
524pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT : i32 = 1000276000;
525pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV : i32 = 1000277000;
526pub const STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV : i32 = 1000277001;
527pub const STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV : i32 = 1000277002;
528pub const STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV : i32 = 1000277003;
529pub const STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV : i32 = 1000277004;
530pub const STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV : i32 = 1000277005;
531pub const STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV : i32 = 1000277006;
532pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV : i32 = 1000277007;
533pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT : i32 = 1000281000;
534pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT : i32 = 1000281001;
535pub const STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM : i32 = 1000282000;
536pub const STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM : i32 = 1000282001;
537pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT : i32 = 1000286000;
538pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT : i32 = 1000286001;
539pub const STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT : i32 = 1000287000;
540pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT : i32 = 1000287001;
541pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT : i32 = 1000287002;
542pub const STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR : i32 = 1000290000;
543pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT : i32 = 1000295000;
544pub const STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT : i32 = 1000295001;
545pub const STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT : i32 = 1000295002;
546pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT : i32 = 1000297000;
547pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV : i32 = 1000300000;
548pub const STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV : i32 = 1000300001;
549pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES;
550pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES;
551pub const STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT : i32 = STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT;
552pub const STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR : i32 = STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO;
553pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES;
554pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES;
555pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2;
556pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2;
557pub const STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR : i32 = STRUCTURE_TYPE_FORMAT_PROPERTIES_2;
558pub const STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR : i32 = STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2;
559pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2;
560pub const STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR : i32 = STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2;
561pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2;
562pub const STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR : i32 = STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2;
563pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2;
564pub const STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR : i32 = STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO;
565pub const STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR : i32 = STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO;
566pub const STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR : i32 = STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO;
567pub const STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR : i32 = STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO;
568pub const STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR : i32 = STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO;
569pub const STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR : i32 = STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO;
570pub const STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR : i32 = STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO;
571pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES;
572pub const STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR : i32 = STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO;
573pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO;
574pub const STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR : i32 = STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES;
575pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO;
576pub const STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR : i32 = STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES;
577pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES;
578pub const STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR : i32 = STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO;
579pub const STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR : i32 = STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO;
580pub const STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR : i32 = STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO;
581pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO;
582pub const STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR : i32 = STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES;
583pub const STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR : i32 = STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO;
584pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES;
585pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES;
586pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES;
587pub const STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR : i32 = STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO;
588pub const STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT : i32 = STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT;
589pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES;
590pub const STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR : i32 = STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO;
591pub const STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR : i32 = STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO;
592pub const STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR : i32 = STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO;
593pub const STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR : i32 = STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2;
594pub const STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR : i32 = STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2;
595pub const STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR : i32 = STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2;
596pub const STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR : i32 = STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2;
597pub const STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR : i32 = STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2;
598pub const STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR : i32 = STRUCTURE_TYPE_SUBPASS_BEGIN_INFO;
599pub const STRUCTURE_TYPE_SUBPASS_END_INFO_KHR : i32 = STRUCTURE_TYPE_SUBPASS_END_INFO;
600pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO;
601pub const STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR : i32 = STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES;
602pub const STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR : i32 = STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO;
603pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES;
604pub const STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR : i32 = STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO;
605pub const STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR : i32 = STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO;
606pub const STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR : i32 = STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO;
607pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES;
608pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR;
609pub const STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR : i32 = STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS;
610pub const STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR : i32 = STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO;
611pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES;
612pub const STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT : i32 = STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO;
613pub const STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR : i32 = STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2;
614pub const STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR : i32 = STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2;
615pub const STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR : i32 = STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2;
616pub const STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR : i32 = STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2;
617pub const STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR : i32 = STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2;
618pub const STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR : i32 = STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO;
619pub const STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR : i32 = STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO;
620pub const STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR : i32 = STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO;
621pub const STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR : i32 = STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO;
622pub const STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR : i32 = STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO;
623pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES;
624pub const STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR : i32 = STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES;
625pub const STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR : i32 = STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO;
626pub const STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR : i32 = STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO;
627pub const STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT : i32 = STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO;
628pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES;
629pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES;
630pub const STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT : i32 = STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO;
631pub const STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT : i32 = STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT;
632pub const STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV : i32 = STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_KHR;
633pub const STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV : i32 = STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR;
634pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES;
635pub const STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR : i32 = STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT;
636pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES;
637pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES;
638pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES;
639pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES;
640pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES;
641pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES;
642pub const STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR : i32 = STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE;
643pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES;
644pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES;
645pub const STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR : i32 = STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO;
646pub const STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR : i32 = STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO;
647pub const STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR : i32 = STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO;
648pub const STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR : i32 = STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO;
649pub const STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL : i32 = STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL;
650pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES;
651pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES;
652pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES;
653pub const STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR : i32 = STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT;
654pub const STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR : i32 = STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT;
655pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT;
656pub const STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT : i32 = STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO;
657pub const STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT : i32 = STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO;
658pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES;
659pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES;
660pub const STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR : i32 = STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO;
661pub const STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR : i32 = STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO;
662pub const STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR : i32 = STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO;
663pub const STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR : i32 = STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO;
664pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES;
665pub const STRUCTURE_TYPE_MAX_ENUM : i32 = 0x7FFFFFF;
666pub type SystemAllocationScope = i32;
667pub const SYSTEM_ALLOCATION_SCOPE_COMMAND : i32 = 0;
668pub const SYSTEM_ALLOCATION_SCOPE_OBJECT : i32 = 1;
669pub const SYSTEM_ALLOCATION_SCOPE_CACHE : i32 = 2;
670pub const SYSTEM_ALLOCATION_SCOPE_DEVICE : i32 = 3;
671pub const SYSTEM_ALLOCATION_SCOPE_INSTANCE : i32 = 4;
672pub const SYSTEM_ALLOCATION_SCOPE_MAX_ENUM : i32 = 0x7FFFFFF;
673pub type InternalAllocationType = i32;
674pub const INTERNAL_ALLOCATION_TYPE_EXECUTABLE : i32 = 0;
675pub const INTERNAL_ALLOCATION_TYPE_MAX_ENUM : i32 = 0x7FFFFFF;
676pub type Format = i32;
677pub const FORMAT_UNDEFINED : i32 = 0;
678pub const FORMAT_R4G4_UNORM_PACK8 : i32 = 1;
679pub const FORMAT_R4G4B4A4_UNORM_PACK16 : i32 = 2;
680pub const FORMAT_B4G4R4A4_UNORM_PACK16 : i32 = 3;
681pub const FORMAT_R5G6B5_UNORM_PACK16 : i32 = 4;
682pub const FORMAT_B5G6R5_UNORM_PACK16 : i32 = 5;
683pub const FORMAT_R5G5B5A1_UNORM_PACK16 : i32 = 6;
684pub const FORMAT_B5G5R5A1_UNORM_PACK16 : i32 = 7;
685pub const FORMAT_A1R5G5B5_UNORM_PACK16 : i32 = 8;
686pub const FORMAT_R8_UNORM : i32 = 9;
687pub const FORMAT_R8_SNORM : i32 = 10;
688pub const FORMAT_R8_USCALED : i32 = 11;
689pub const FORMAT_R8_SSCALED : i32 = 12;
690pub const FORMAT_R8_UINT : i32 = 13;
691pub const FORMAT_R8_SINT : i32 = 14;
692pub const FORMAT_R8_SRGB : i32 = 15;
693pub const FORMAT_R8G8_UNORM : i32 = 16;
694pub const FORMAT_R8G8_SNORM : i32 = 17;
695pub const FORMAT_R8G8_USCALED : i32 = 18;
696pub const FORMAT_R8G8_SSCALED : i32 = 19;
697pub const FORMAT_R8G8_UINT : i32 = 20;
698pub const FORMAT_R8G8_SINT : i32 = 21;
699pub const FORMAT_R8G8_SRGB : i32 = 22;
700pub const FORMAT_R8G8B8_UNORM : i32 = 23;
701pub const FORMAT_R8G8B8_SNORM : i32 = 24;
702pub const FORMAT_R8G8B8_USCALED : i32 = 25;
703pub const FORMAT_R8G8B8_SSCALED : i32 = 26;
704pub const FORMAT_R8G8B8_UINT : i32 = 27;
705pub const FORMAT_R8G8B8_SINT : i32 = 28;
706pub const FORMAT_R8G8B8_SRGB : i32 = 29;
707pub const FORMAT_B8G8R8_UNORM : i32 = 30;
708pub const FORMAT_B8G8R8_SNORM : i32 = 31;
709pub const FORMAT_B8G8R8_USCALED : i32 = 32;
710pub const FORMAT_B8G8R8_SSCALED : i32 = 33;
711pub const FORMAT_B8G8R8_UINT : i32 = 34;
712pub const FORMAT_B8G8R8_SINT : i32 = 35;
713pub const FORMAT_B8G8R8_SRGB : i32 = 36;
714pub const FORMAT_R8G8B8A8_UNORM : i32 = 37;
715pub const FORMAT_R8G8B8A8_SNORM : i32 = 38;
716pub const FORMAT_R8G8B8A8_USCALED : i32 = 39;
717pub const FORMAT_R8G8B8A8_SSCALED : i32 = 40;
718pub const FORMAT_R8G8B8A8_UINT : i32 = 41;
719pub const FORMAT_R8G8B8A8_SINT : i32 = 42;
720pub const FORMAT_R8G8B8A8_SRGB : i32 = 43;
721pub const FORMAT_B8G8R8A8_UNORM : i32 = 44;
722pub const FORMAT_B8G8R8A8_SNORM : i32 = 45;
723pub const FORMAT_B8G8R8A8_USCALED : i32 = 46;
724pub const FORMAT_B8G8R8A8_SSCALED : i32 = 47;
725pub const FORMAT_B8G8R8A8_UINT : i32 = 48;
726pub const FORMAT_B8G8R8A8_SINT : i32 = 49;
727pub const FORMAT_B8G8R8A8_SRGB : i32 = 50;
728pub const FORMAT_A8B8G8R8_UNORM_PACK32 : i32 = 51;
729pub const FORMAT_A8B8G8R8_SNORM_PACK32 : i32 = 52;
730pub const FORMAT_A8B8G8R8_USCALED_PACK32 : i32 = 53;
731pub const FORMAT_A8B8G8R8_SSCALED_PACK32 : i32 = 54;
732pub const FORMAT_A8B8G8R8_UINT_PACK32 : i32 = 55;
733pub const FORMAT_A8B8G8R8_SINT_PACK32 : i32 = 56;
734pub const FORMAT_A8B8G8R8_SRGB_PACK32 : i32 = 57;
735pub const FORMAT_A2R10G10B10_UNORM_PACK32 : i32 = 58;
736pub const FORMAT_A2R10G10B10_SNORM_PACK32 : i32 = 59;
737pub const FORMAT_A2R10G10B10_USCALED_PACK32 : i32 = 60;
738pub const FORMAT_A2R10G10B10_SSCALED_PACK32 : i32 = 61;
739pub const FORMAT_A2R10G10B10_UINT_PACK32 : i32 = 62;
740pub const FORMAT_A2R10G10B10_SINT_PACK32 : i32 = 63;
741pub const FORMAT_A2B10G10R10_UNORM_PACK32 : i32 = 64;
742pub const FORMAT_A2B10G10R10_SNORM_PACK32 : i32 = 65;
743pub const FORMAT_A2B10G10R10_USCALED_PACK32 : i32 = 66;
744pub const FORMAT_A2B10G10R10_SSCALED_PACK32 : i32 = 67;
745pub const FORMAT_A2B10G10R10_UINT_PACK32 : i32 = 68;
746pub const FORMAT_A2B10G10R10_SINT_PACK32 : i32 = 69;
747pub const FORMAT_R16_UNORM : i32 = 70;
748pub const FORMAT_R16_SNORM : i32 = 71;
749pub const FORMAT_R16_USCALED : i32 = 72;
750pub const FORMAT_R16_SSCALED : i32 = 73;
751pub const FORMAT_R16_UINT : i32 = 74;
752pub const FORMAT_R16_SINT : i32 = 75;
753pub const FORMAT_R16_SFLOAT : i32 = 76;
754pub const FORMAT_R16G16_UNORM : i32 = 77;
755pub const FORMAT_R16G16_SNORM : i32 = 78;
756pub const FORMAT_R16G16_USCALED : i32 = 79;
757pub const FORMAT_R16G16_SSCALED : i32 = 80;
758pub const FORMAT_R16G16_UINT : i32 = 81;
759pub const FORMAT_R16G16_SINT : i32 = 82;
760pub const FORMAT_R16G16_SFLOAT : i32 = 83;
761pub const FORMAT_R16G16B16_UNORM : i32 = 84;
762pub const FORMAT_R16G16B16_SNORM : i32 = 85;
763pub const FORMAT_R16G16B16_USCALED : i32 = 86;
764pub const FORMAT_R16G16B16_SSCALED : i32 = 87;
765pub const FORMAT_R16G16B16_UINT : i32 = 88;
766pub const FORMAT_R16G16B16_SINT : i32 = 89;
767pub const FORMAT_R16G16B16_SFLOAT : i32 = 90;
768pub const FORMAT_R16G16B16A16_UNORM : i32 = 91;
769pub const FORMAT_R16G16B16A16_SNORM : i32 = 92;
770pub const FORMAT_R16G16B16A16_USCALED : i32 = 93;
771pub const FORMAT_R16G16B16A16_SSCALED : i32 = 94;
772pub const FORMAT_R16G16B16A16_UINT : i32 = 95;
773pub const FORMAT_R16G16B16A16_SINT : i32 = 96;
774pub const FORMAT_R16G16B16A16_SFLOAT : i32 = 97;
775pub const FORMAT_R32_UINT : i32 = 98;
776pub const FORMAT_R32_SINT : i32 = 99;
777pub const FORMAT_R32_SFLOAT : i32 = 100;
778pub const FORMAT_R32G32_UINT : i32 = 101;
779pub const FORMAT_R32G32_SINT : i32 = 102;
780pub const FORMAT_R32G32_SFLOAT : i32 = 103;
781pub const FORMAT_R32G32B32_UINT : i32 = 104;
782pub const FORMAT_R32G32B32_SINT : i32 = 105;
783pub const FORMAT_R32G32B32_SFLOAT : i32 = 106;
784pub const FORMAT_R32G32B32A32_UINT : i32 = 107;
785pub const FORMAT_R32G32B32A32_SINT : i32 = 108;
786pub const FORMAT_R32G32B32A32_SFLOAT : i32 = 109;
787pub const FORMAT_R64_UINT : i32 = 110;
788pub const FORMAT_R64_SINT : i32 = 111;
789pub const FORMAT_R64_SFLOAT : i32 = 112;
790pub const FORMAT_R64G64_UINT : i32 = 113;
791pub const FORMAT_R64G64_SINT : i32 = 114;
792pub const FORMAT_R64G64_SFLOAT : i32 = 115;
793pub const FORMAT_R64G64B64_UINT : i32 = 116;
794pub const FORMAT_R64G64B64_SINT : i32 = 117;
795pub const FORMAT_R64G64B64_SFLOAT : i32 = 118;
796pub const FORMAT_R64G64B64A64_UINT : i32 = 119;
797pub const FORMAT_R64G64B64A64_SINT : i32 = 120;
798pub const FORMAT_R64G64B64A64_SFLOAT : i32 = 121;
799pub const FORMAT_B10G11R11_UFLOAT_PACK32 : i32 = 122;
800pub const FORMAT_E5B9G9R9_UFLOAT_PACK32 : i32 = 123;
801pub const FORMAT_D16_UNORM : i32 = 124;
802pub const FORMAT_X8_D24_UNORM_PACK32 : i32 = 125;
803pub const FORMAT_D32_SFLOAT : i32 = 126;
804pub const FORMAT_S8_UINT : i32 = 127;
805pub const FORMAT_D16_UNORM_S8_UINT : i32 = 128;
806pub const FORMAT_D24_UNORM_S8_UINT : i32 = 129;
807pub const FORMAT_D32_SFLOAT_S8_UINT : i32 = 130;
808pub const FORMAT_BC1_RGB_UNORM_BLOCK : i32 = 131;
809pub const FORMAT_BC1_RGB_SRGB_BLOCK : i32 = 132;
810pub const FORMAT_BC1_RGBA_UNORM_BLOCK : i32 = 133;
811pub const FORMAT_BC1_RGBA_SRGB_BLOCK : i32 = 134;
812pub const FORMAT_BC2_UNORM_BLOCK : i32 = 135;
813pub const FORMAT_BC2_SRGB_BLOCK : i32 = 136;
814pub const FORMAT_BC3_UNORM_BLOCK : i32 = 137;
815pub const FORMAT_BC3_SRGB_BLOCK : i32 = 138;
816pub const FORMAT_BC4_UNORM_BLOCK : i32 = 139;
817pub const FORMAT_BC4_SNORM_BLOCK : i32 = 140;
818pub const FORMAT_BC5_UNORM_BLOCK : i32 = 141;
819pub const FORMAT_BC5_SNORM_BLOCK : i32 = 142;
820pub const FORMAT_BC6H_UFLOAT_BLOCK : i32 = 143;
821pub const FORMAT_BC6H_SFLOAT_BLOCK : i32 = 144;
822pub const FORMAT_BC7_UNORM_BLOCK : i32 = 145;
823pub const FORMAT_BC7_SRGB_BLOCK : i32 = 146;
824pub const FORMAT_ETC2_R8G8B8_UNORM_BLOCK : i32 = 147;
825pub const FORMAT_ETC2_R8G8B8_SRGB_BLOCK : i32 = 148;
826pub const FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK : i32 = 149;
827pub const FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK : i32 = 150;
828pub const FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK : i32 = 151;
829pub const FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK : i32 = 152;
830pub const FORMAT_EAC_R11_UNORM_BLOCK : i32 = 153;
831pub const FORMAT_EAC_R11_SNORM_BLOCK : i32 = 154;
832pub const FORMAT_EAC_R11G11_UNORM_BLOCK : i32 = 155;
833pub const FORMAT_EAC_R11G11_SNORM_BLOCK : i32 = 156;
834pub const FORMAT_ASTC_4x4_UNORM_BLOCK : i32 = 157;
835pub const FORMAT_ASTC_4x4_SRGB_BLOCK : i32 = 158;
836pub const FORMAT_ASTC_5x4_UNORM_BLOCK : i32 = 159;
837pub const FORMAT_ASTC_5x4_SRGB_BLOCK : i32 = 160;
838pub const FORMAT_ASTC_5x5_UNORM_BLOCK : i32 = 161;
839pub const FORMAT_ASTC_5x5_SRGB_BLOCK : i32 = 162;
840pub const FORMAT_ASTC_6x5_UNORM_BLOCK : i32 = 163;
841pub const FORMAT_ASTC_6x5_SRGB_BLOCK : i32 = 164;
842pub const FORMAT_ASTC_6x6_UNORM_BLOCK : i32 = 165;
843pub const FORMAT_ASTC_6x6_SRGB_BLOCK : i32 = 166;
844pub const FORMAT_ASTC_8x5_UNORM_BLOCK : i32 = 167;
845pub const FORMAT_ASTC_8x5_SRGB_BLOCK : i32 = 168;
846pub const FORMAT_ASTC_8x6_UNORM_BLOCK : i32 = 169;
847pub const FORMAT_ASTC_8x6_SRGB_BLOCK : i32 = 170;
848pub const FORMAT_ASTC_8x8_UNORM_BLOCK : i32 = 171;
849pub const FORMAT_ASTC_8x8_SRGB_BLOCK : i32 = 172;
850pub const FORMAT_ASTC_10x5_UNORM_BLOCK : i32 = 173;
851pub const FORMAT_ASTC_10x5_SRGB_BLOCK : i32 = 174;
852pub const FORMAT_ASTC_10x6_UNORM_BLOCK : i32 = 175;
853pub const FORMAT_ASTC_10x6_SRGB_BLOCK : i32 = 176;
854pub const FORMAT_ASTC_10x8_UNORM_BLOCK : i32 = 177;
855pub const FORMAT_ASTC_10x8_SRGB_BLOCK : i32 = 178;
856pub const FORMAT_ASTC_10x10_UNORM_BLOCK : i32 = 179;
857pub const FORMAT_ASTC_10x10_SRGB_BLOCK : i32 = 180;
858pub const FORMAT_ASTC_12x10_UNORM_BLOCK : i32 = 181;
859pub const FORMAT_ASTC_12x10_SRGB_BLOCK : i32 = 182;
860pub const FORMAT_ASTC_12x12_UNORM_BLOCK : i32 = 183;
861pub const FORMAT_ASTC_12x12_SRGB_BLOCK : i32 = 184;
862pub const FORMAT_G8B8G8R8_422_UNORM : i32 = 1000156000;
863pub const FORMAT_B8G8R8G8_422_UNORM : i32 = 1000156001;
864pub const FORMAT_G8_B8_R8_3PLANE_420_UNORM : i32 = 1000156002;
865pub const FORMAT_G8_B8R8_2PLANE_420_UNORM : i32 = 1000156003;
866pub const FORMAT_G8_B8_R8_3PLANE_422_UNORM : i32 = 1000156004;
867pub const FORMAT_G8_B8R8_2PLANE_422_UNORM : i32 = 1000156005;
868pub const FORMAT_G8_B8_R8_3PLANE_444_UNORM : i32 = 1000156006;
869pub const FORMAT_R10X6_UNORM_PACK16 : i32 = 1000156007;
870pub const FORMAT_R10X6G10X6_UNORM_2PACK16 : i32 = 1000156008;
871pub const FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 : i32 = 1000156009;
872pub const FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 : i32 = 1000156010;
873pub const FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 : i32 = 1000156011;
874pub const FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 : i32 = 1000156012;
875pub const FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 : i32 = 1000156013;
876pub const FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 : i32 = 1000156014;
877pub const FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 : i32 = 1000156015;
878pub const FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 : i32 = 1000156016;
879pub const FORMAT_R12X4_UNORM_PACK16 : i32 = 1000156017;
880pub const FORMAT_R12X4G12X4_UNORM_2PACK16 : i32 = 1000156018;
881pub const FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 : i32 = 1000156019;
882pub const FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 : i32 = 1000156020;
883pub const FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 : i32 = 1000156021;
884pub const FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 : i32 = 1000156022;
885pub const FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 : i32 = 1000156023;
886pub const FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 : i32 = 1000156024;
887pub const FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 : i32 = 1000156025;
888pub const FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 : i32 = 1000156026;
889pub const FORMAT_G16B16G16R16_422_UNORM : i32 = 1000156027;
890pub const FORMAT_B16G16R16G16_422_UNORM : i32 = 1000156028;
891pub const FORMAT_G16_B16_R16_3PLANE_420_UNORM : i32 = 1000156029;
892pub const FORMAT_G16_B16R16_2PLANE_420_UNORM : i32 = 1000156030;
893pub const FORMAT_G16_B16_R16_3PLANE_422_UNORM : i32 = 1000156031;
894pub const FORMAT_G16_B16R16_2PLANE_422_UNORM : i32 = 1000156032;
895pub const FORMAT_G16_B16_R16_3PLANE_444_UNORM : i32 = 1000156033;
896pub const FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG : i32 = 1000054000;
897pub const FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG : i32 = 1000054001;
898pub const FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG : i32 = 1000054002;
899pub const FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG : i32 = 1000054003;
900pub const FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG : i32 = 1000054004;
901pub const FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG : i32 = 1000054005;
902pub const FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG : i32 = 1000054006;
903pub const FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG : i32 = 1000054007;
904pub const FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT : i32 = 1000066000;
905pub const FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT : i32 = 1000066001;
906pub const FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT : i32 = 1000066002;
907pub const FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT : i32 = 1000066003;
908pub const FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT : i32 = 1000066004;
909pub const FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT : i32 = 1000066005;
910pub const FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT : i32 = 1000066006;
911pub const FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT : i32 = 1000066007;
912pub const FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT : i32 = 1000066008;
913pub const FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT : i32 = 1000066009;
914pub const FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT : i32 = 1000066010;
915pub const FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT : i32 = 1000066011;
916pub const FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT : i32 = 1000066012;
917pub const FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT : i32 = 1000066013;
918pub const FORMAT_G8B8G8R8_422_UNORM_KHR : i32 = FORMAT_G8B8G8R8_422_UNORM;
919pub const FORMAT_B8G8R8G8_422_UNORM_KHR : i32 = FORMAT_B8G8R8G8_422_UNORM;
920pub const FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR : i32 = FORMAT_G8_B8_R8_3PLANE_420_UNORM;
921pub const FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR : i32 = FORMAT_G8_B8R8_2PLANE_420_UNORM;
922pub const FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR : i32 = FORMAT_G8_B8_R8_3PLANE_422_UNORM;
923pub const FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR : i32 = FORMAT_G8_B8R8_2PLANE_422_UNORM;
924pub const FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR : i32 = FORMAT_G8_B8_R8_3PLANE_444_UNORM;
925pub const FORMAT_R10X6_UNORM_PACK16_KHR : i32 = FORMAT_R10X6_UNORM_PACK16;
926pub const FORMAT_R10X6G10X6_UNORM_2PACK16_KHR : i32 = FORMAT_R10X6G10X6_UNORM_2PACK16;
927pub const FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR : i32 = FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16;
928pub const FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR : i32 = FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16;
929pub const FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR : i32 = FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16;
930pub const FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR : i32 = FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16;
931pub const FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR : i32 = FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16;
932pub const FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR : i32 = FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16;
933pub const FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR : i32 = FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16;
934pub const FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR : i32 = FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16;
935pub const FORMAT_R12X4_UNORM_PACK16_KHR : i32 = FORMAT_R12X4_UNORM_PACK16;
936pub const FORMAT_R12X4G12X4_UNORM_2PACK16_KHR : i32 = FORMAT_R12X4G12X4_UNORM_2PACK16;
937pub const FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR : i32 = FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16;
938pub const FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR : i32 = FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16;
939pub const FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR : i32 = FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16;
940pub const FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR : i32 = FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16;
941pub const FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR : i32 = FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16;
942pub const FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR : i32 = FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16;
943pub const FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR : i32 = FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16;
944pub const FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR : i32 = FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16;
945pub const FORMAT_G16B16G16R16_422_UNORM_KHR : i32 = FORMAT_G16B16G16R16_422_UNORM;
946pub const FORMAT_B16G16R16G16_422_UNORM_KHR : i32 = FORMAT_B16G16R16G16_422_UNORM;
947pub const FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR : i32 = FORMAT_G16_B16_R16_3PLANE_420_UNORM;
948pub const FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR : i32 = FORMAT_G16_B16R16_2PLANE_420_UNORM;
949pub const FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR : i32 = FORMAT_G16_B16_R16_3PLANE_422_UNORM;
950pub const FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR : i32 = FORMAT_G16_B16R16_2PLANE_422_UNORM;
951pub const FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR : i32 = FORMAT_G16_B16_R16_3PLANE_444_UNORM;
952pub const FORMAT_MAX_ENUM : i32 = 0x7FFFFFF;
953pub type ImageType = i32;
954pub const IMAGE_TYPE_1D : i32 = 0;
955pub const IMAGE_TYPE_2D : i32 = 1;
956pub const IMAGE_TYPE_3D : i32 = 2;
957pub const IMAGE_TYPE_MAX_ENUM : i32 = 0x7FFFFFF;
958pub type ImageTiling = i32;
959pub const IMAGE_TILING_OPTIMAL : i32 = 0;
960pub const IMAGE_TILING_LINEAR : i32 = 1;
961pub const IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT : i32 = 1000158000;
962pub const IMAGE_TILING_MAX_ENUM : i32 = 0x7FFFFFF;
963pub type PhysicalDeviceType = i32;
964pub const PHYSICAL_DEVICE_TYPE_OTHER : i32 = 0;
965pub const PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU : i32 = 1;
966pub const PHYSICAL_DEVICE_TYPE_DISCRETE_GPU : i32 = 2;
967pub const PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU : i32 = 3;
968pub const PHYSICAL_DEVICE_TYPE_CPU : i32 = 4;
969pub const PHYSICAL_DEVICE_TYPE_MAX_ENUM : i32 = 0x7FFFFFF;
970pub type QueryType = i32;
971pub const QUERY_TYPE_OCCLUSION : i32 = 0;
972pub const QUERY_TYPE_PIPELINE_STATISTICS : i32 = 1;
973pub const QUERY_TYPE_TIMESTAMP : i32 = 2;
974pub const QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT : i32 = 1000028004;
975pub const QUERY_TYPE_PERFORMANCE_QUERY_KHR : i32 = 1000116000;
976pub const QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR : i32 = 1000165000;
977pub const QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR : i32 = 1000150000;
978pub const QUERY_TYPE_PERFORMANCE_QUERY_INTEL : i32 = 1000210000;
979pub const QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV : i32 = QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR;
980pub const QUERY_TYPE_MAX_ENUM : i32 = 0x7FFFFFF;
981pub type SharingMode = i32;
982pub const SHARING_MODE_EXCLUSIVE : i32 = 0;
983pub const SHARING_MODE_CONCURRENT : i32 = 1;
984pub const SHARING_MODE_MAX_ENUM : i32 = 0x7FFFFFF;
985pub type ImageLayout = i32;
986pub const IMAGE_LAYOUT_UNDEFINED : i32 = 0;
987pub const IMAGE_LAYOUT_GENERAL : i32 = 1;
988pub const IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL : i32 = 2;
989pub const IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL : i32 = 3;
990pub const IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL : i32 = 4;
991pub const IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL : i32 = 5;
992pub const IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL : i32 = 6;
993pub const IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL : i32 = 7;
994pub const IMAGE_LAYOUT_PREINITIALIZED : i32 = 8;
995pub const IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL : i32 = 1000117000;
996pub const IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL : i32 = 1000117001;
997pub const IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL : i32 = 1000241000;
998pub const IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL : i32 = 1000241001;
999pub const IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL : i32 = 1000241002;
1000pub const IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL : i32 = 1000241003;
1001pub const IMAGE_LAYOUT_PRESENT_SRC_KHR : i32 = 1000001002;
1002pub const IMAGE_LAYOUT_SHARED_PRESENT_KHR : i32 = 1000111000;
1003pub const IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV : i32 = 1000164003;
1004pub const IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT : i32 = 1000218000;
1005pub const IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR : i32 = IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL;
1006pub const IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR : i32 = IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL;
1007pub const IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR : i32 = IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL;
1008pub const IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR : i32 = IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL;
1009pub const IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR : i32 = IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL;
1010pub const IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR : i32 = IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL;
1011pub const IMAGE_LAYOUT_MAX_ENUM : i32 = 0x7FFFFFF;
1012pub type ImageViewType = i32;
1013pub const IMAGE_VIEW_TYPE_1D : i32 = 0;
1014pub const IMAGE_VIEW_TYPE_2D : i32 = 1;
1015pub const IMAGE_VIEW_TYPE_3D : i32 = 2;
1016pub const IMAGE_VIEW_TYPE_CUBE : i32 = 3;
1017pub const IMAGE_VIEW_TYPE_1D_ARRAY : i32 = 4;
1018pub const IMAGE_VIEW_TYPE_2D_ARRAY : i32 = 5;
1019pub const IMAGE_VIEW_TYPE_CUBE_ARRAY : i32 = 6;
1020pub const IMAGE_VIEW_TYPE_MAX_ENUM : i32 = 0x7FFFFFF;
1021pub type ComponentSwizzle = i32;
1022pub const COMPONENT_SWIZZLE_IDENTITY : i32 = 0;
1023pub const COMPONENT_SWIZZLE_ZERO : i32 = 1;
1024pub const COMPONENT_SWIZZLE_ONE : i32 = 2;
1025pub const COMPONENT_SWIZZLE_R : i32 = 3;
1026pub const COMPONENT_SWIZZLE_G : i32 = 4;
1027pub const COMPONENT_SWIZZLE_B : i32 = 5;
1028pub const COMPONENT_SWIZZLE_A : i32 = 6;
1029pub const COMPONENT_SWIZZLE_MAX_ENUM : i32 = 0x7FFFFFF;
1030pub type VertexInputRate = i32;
1031pub const VERTEX_INPUT_RATE_VERTEX : i32 = 0;
1032pub const VERTEX_INPUT_RATE_INSTANCE : i32 = 1;
1033pub const VERTEX_INPUT_RATE_MAX_ENUM : i32 = 0x7FFFFFF;
1034pub type PrimitiveTopology = i32;
1035pub const PRIMITIVE_TOPOLOGY_POINT_LIST : i32 = 0;
1036pub const PRIMITIVE_TOPOLOGY_LINE_LIST : i32 = 1;
1037pub const PRIMITIVE_TOPOLOGY_LINE_STRIP : i32 = 2;
1038pub const PRIMITIVE_TOPOLOGY_TRIANGLE_LIST : i32 = 3;
1039pub const PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP : i32 = 4;
1040pub const PRIMITIVE_TOPOLOGY_TRIANGLE_FAN : i32 = 5;
1041pub const PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY : i32 = 6;
1042pub const PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY : i32 = 7;
1043pub const PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY : i32 = 8;
1044pub const PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY : i32 = 9;
1045pub const PRIMITIVE_TOPOLOGY_PATCH_LIST : i32 = 10;
1046pub const PRIMITIVE_TOPOLOGY_MAX_ENUM : i32 = 0x7FFFFFF;
1047pub type PolygonMode = i32;
1048pub const POLYGON_MODE_FILL : i32 = 0;
1049pub const POLYGON_MODE_LINE : i32 = 1;
1050pub const POLYGON_MODE_POINT : i32 = 2;
1051pub const POLYGON_MODE_FILL_RECTANGLE_NV : i32 = 1000153000;
1052pub const POLYGON_MODE_MAX_ENUM : i32 = 0x7FFFFFF;
1053pub type FrontFace = i32;
1054pub const FRONT_FACE_COUNTER_CLOCKWISE : i32 = 0;
1055pub const FRONT_FACE_CLOCKWISE : i32 = 1;
1056pub const FRONT_FACE_MAX_ENUM : i32 = 0x7FFFFFF;
1057pub type CompareOp = i32;
1058pub const COMPARE_OP_NEVER : i32 = 0;
1059pub const COMPARE_OP_LESS : i32 = 1;
1060pub const COMPARE_OP_EQUAL : i32 = 2;
1061pub const COMPARE_OP_LESS_OR_EQUAL : i32 = 3;
1062pub const COMPARE_OP_GREATER : i32 = 4;
1063pub const COMPARE_OP_NOT_EQUAL : i32 = 5;
1064pub const COMPARE_OP_GREATER_OR_EQUAL : i32 = 6;
1065pub const COMPARE_OP_ALWAYS : i32 = 7;
1066pub const COMPARE_OP_MAX_ENUM : i32 = 0x7FFFFFF;
1067pub type StencilOp = i32;
1068pub const STENCIL_OP_KEEP : i32 = 0;
1069pub const STENCIL_OP_ZERO : i32 = 1;
1070pub const STENCIL_OP_REPLACE : i32 = 2;
1071pub const STENCIL_OP_INCREMENT_AND_CLAMP : i32 = 3;
1072pub const STENCIL_OP_DECREMENT_AND_CLAMP : i32 = 4;
1073pub const STENCIL_OP_INVERT : i32 = 5;
1074pub const STENCIL_OP_INCREMENT_AND_WRAP : i32 = 6;
1075pub const STENCIL_OP_DECREMENT_AND_WRAP : i32 = 7;
1076pub const STENCIL_OP_MAX_ENUM : i32 = 0x7FFFFFF;
1077pub type LogicOp = i32;
1078pub const LOGIC_OP_CLEAR : i32 = 0;
1079pub const LOGIC_OP_AND : i32 = 1;
1080pub const LOGIC_OP_AND_REVERSE : i32 = 2;
1081pub const LOGIC_OP_COPY : i32 = 3;
1082pub const LOGIC_OP_AND_INVERTED : i32 = 4;
1083pub const LOGIC_OP_NO_OP : i32 = 5;
1084pub const LOGIC_OP_XOR : i32 = 6;
1085pub const LOGIC_OP_OR : i32 = 7;
1086pub const LOGIC_OP_NOR : i32 = 8;
1087pub const LOGIC_OP_EQUIVALENT : i32 = 9;
1088pub const LOGIC_OP_INVERT : i32 = 10;
1089pub const LOGIC_OP_OR_REVERSE : i32 = 11;
1090pub const LOGIC_OP_COPY_INVERTED : i32 = 12;
1091pub const LOGIC_OP_OR_INVERTED : i32 = 13;
1092pub const LOGIC_OP_NAND : i32 = 14;
1093pub const LOGIC_OP_SET : i32 = 15;
1094pub const LOGIC_OP_MAX_ENUM : i32 = 0x7FFFFFF;
1095pub type BlendFactor = i32;
1096pub const BLEND_FACTOR_ZERO : i32 = 0;
1097pub const BLEND_FACTOR_ONE : i32 = 1;
1098pub const BLEND_FACTOR_SRC_COLOR : i32 = 2;
1099pub const BLEND_FACTOR_ONE_MINUS_SRC_COLOR : i32 = 3;
1100pub const BLEND_FACTOR_DST_COLOR : i32 = 4;
1101pub const BLEND_FACTOR_ONE_MINUS_DST_COLOR : i32 = 5;
1102pub const BLEND_FACTOR_SRC_ALPHA : i32 = 6;
1103pub const BLEND_FACTOR_ONE_MINUS_SRC_ALPHA : i32 = 7;
1104pub const BLEND_FACTOR_DST_ALPHA : i32 = 8;
1105pub const BLEND_FACTOR_ONE_MINUS_DST_ALPHA : i32 = 9;
1106pub const BLEND_FACTOR_CONSTANT_COLOR : i32 = 10;
1107pub const BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR : i32 = 11;
1108pub const BLEND_FACTOR_CONSTANT_ALPHA : i32 = 12;
1109pub const BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA : i32 = 13;
1110pub const BLEND_FACTOR_SRC_ALPHA_SATURATE : i32 = 14;
1111pub const BLEND_FACTOR_SRC1_COLOR : i32 = 15;
1112pub const BLEND_FACTOR_ONE_MINUS_SRC1_COLOR : i32 = 16;
1113pub const BLEND_FACTOR_SRC1_ALPHA : i32 = 17;
1114pub const BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA : i32 = 18;
1115pub const BLEND_FACTOR_MAX_ENUM : i32 = 0x7FFFFFF;
1116pub type BlendOp = i32;
1117pub const BLEND_OP_ADD : i32 = 0;
1118pub const BLEND_OP_SUBTRACT : i32 = 1;
1119pub const BLEND_OP_REVERSE_SUBTRACT : i32 = 2;
1120pub const BLEND_OP_MIN : i32 = 3;
1121pub const BLEND_OP_MAX : i32 = 4;
1122pub const BLEND_OP_ZERO_EXT : i32 = 1000148000;
1123pub const BLEND_OP_SRC_EXT : i32 = 1000148001;
1124pub const BLEND_OP_DST_EXT : i32 = 1000148002;
1125pub const BLEND_OP_SRC_OVER_EXT : i32 = 1000148003;
1126pub const BLEND_OP_DST_OVER_EXT : i32 = 1000148004;
1127pub const BLEND_OP_SRC_IN_EXT : i32 = 1000148005;
1128pub const BLEND_OP_DST_IN_EXT : i32 = 1000148006;
1129pub const BLEND_OP_SRC_OUT_EXT : i32 = 1000148007;
1130pub const BLEND_OP_DST_OUT_EXT : i32 = 1000148008;
1131pub const BLEND_OP_SRC_ATOP_EXT : i32 = 1000148009;
1132pub const BLEND_OP_DST_ATOP_EXT : i32 = 1000148010;
1133pub const BLEND_OP_XOR_EXT : i32 = 1000148011;
1134pub const BLEND_OP_MULTIPLY_EXT : i32 = 1000148012;
1135pub const BLEND_OP_SCREEN_EXT : i32 = 1000148013;
1136pub const BLEND_OP_OVERLAY_EXT : i32 = 1000148014;
1137pub const BLEND_OP_DARKEN_EXT : i32 = 1000148015;
1138pub const BLEND_OP_LIGHTEN_EXT : i32 = 1000148016;
1139pub const BLEND_OP_COLORDODGE_EXT : i32 = 1000148017;
1140pub const BLEND_OP_COLORBURN_EXT : i32 = 1000148018;
1141pub const BLEND_OP_HARDLIGHT_EXT : i32 = 1000148019;
1142pub const BLEND_OP_SOFTLIGHT_EXT : i32 = 1000148020;
1143pub const BLEND_OP_DIFFERENCE_EXT : i32 = 1000148021;
1144pub const BLEND_OP_EXCLUSION_EXT : i32 = 1000148022;
1145pub const BLEND_OP_INVERT_EXT : i32 = 1000148023;
1146pub const BLEND_OP_INVERT_RGB_EXT : i32 = 1000148024;
1147pub const BLEND_OP_LINEARDODGE_EXT : i32 = 1000148025;
1148pub const BLEND_OP_LINEARBURN_EXT : i32 = 1000148026;
1149pub const BLEND_OP_VIVIDLIGHT_EXT : i32 = 1000148027;
1150pub const BLEND_OP_LINEARLIGHT_EXT : i32 = 1000148028;
1151pub const BLEND_OP_PINLIGHT_EXT : i32 = 1000148029;
1152pub const BLEND_OP_HARDMIX_EXT : i32 = 1000148030;
1153pub const BLEND_OP_HSL_HUE_EXT : i32 = 1000148031;
1154pub const BLEND_OP_HSL_SATURATION_EXT : i32 = 1000148032;
1155pub const BLEND_OP_HSL_COLOR_EXT : i32 = 1000148033;
1156pub const BLEND_OP_HSL_LUMINOSITY_EXT : i32 = 1000148034;
1157pub const BLEND_OP_PLUS_EXT : i32 = 1000148035;
1158pub const BLEND_OP_PLUS_CLAMPED_EXT : i32 = 1000148036;
1159pub const BLEND_OP_PLUS_CLAMPED_ALPHA_EXT : i32 = 1000148037;
1160pub const BLEND_OP_PLUS_DARKER_EXT : i32 = 1000148038;
1161pub const BLEND_OP_MINUS_EXT : i32 = 1000148039;
1162pub const BLEND_OP_MINUS_CLAMPED_EXT : i32 = 1000148040;
1163pub const BLEND_OP_CONTRAST_EXT : i32 = 1000148041;
1164pub const BLEND_OP_INVERT_OVG_EXT : i32 = 1000148042;
1165pub const BLEND_OP_RED_EXT : i32 = 1000148043;
1166pub const BLEND_OP_GREEN_EXT : i32 = 1000148044;
1167pub const BLEND_OP_BLUE_EXT : i32 = 1000148045;
1168pub const BLEND_OP_MAX_ENUM : i32 = 0x7FFFFFF;
1169pub type DynamicState = i32;
1170pub const DYNAMIC_STATE_VIEWPORT : i32 = 0;
1171pub const DYNAMIC_STATE_SCISSOR : i32 = 1;
1172pub const DYNAMIC_STATE_LINE_WIDTH : i32 = 2;
1173pub const DYNAMIC_STATE_DEPTH_BIAS : i32 = 3;
1174pub const DYNAMIC_STATE_BLEND_CONSTANTS : i32 = 4;
1175pub const DYNAMIC_STATE_DEPTH_BOUNDS : i32 = 5;
1176pub const DYNAMIC_STATE_STENCIL_COMPARE_MASK : i32 = 6;
1177pub const DYNAMIC_STATE_STENCIL_WRITE_MASK : i32 = 7;
1178pub const DYNAMIC_STATE_STENCIL_REFERENCE : i32 = 8;
1179pub const DYNAMIC_STATE_VIEWPORT_W_SCALING_NV : i32 = 1000087000;
1180pub const DYNAMIC_STATE_DISCARD_RECTANGLE_EXT : i32 = 1000099000;
1181pub const DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT : i32 = 1000143000;
1182pub const DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV : i32 = 1000164004;
1183pub const DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV : i32 = 1000164006;
1184pub const DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV : i32 = 1000205001;
1185pub const DYNAMIC_STATE_LINE_STIPPLE_EXT : i32 = 1000259000;
1186pub const DYNAMIC_STATE_MAX_ENUM : i32 = 0x7FFFFFF;
1187pub type Filter = i32;
1188pub const FILTER_NEAREST : i32 = 0;
1189pub const FILTER_LINEAR : i32 = 1;
1190pub const FILTER_CUBIC_IMG : i32 = 1000015000;
1191pub const FILTER_CUBIC_EXT : i32 = FILTER_CUBIC_IMG;
1192pub const FILTER_MAX_ENUM : i32 = 0x7FFFFFF;
1193pub type SamplerMipmapMode = i32;
1194pub const SAMPLER_MIPMAP_MODE_NEAREST : i32 = 0;
1195pub const SAMPLER_MIPMAP_MODE_LINEAR : i32 = 1;
1196pub const SAMPLER_MIPMAP_MODE_MAX_ENUM : i32 = 0x7FFFFFF;
1197pub type SamplerAddressMode = i32;
1198pub const SAMPLER_ADDRESS_MODE_REPEAT : i32 = 0;
1199pub const SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT : i32 = 1;
1200pub const SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE : i32 = 2;
1201pub const SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER : i32 = 3;
1202pub const SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE : i32 = 4;
1203pub const SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR : i32 = SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE;
1204pub const SAMPLER_ADDRESS_MODE_MAX_ENUM : i32 = 0x7FFFFFF;
1205pub type BorderColor = i32;
1206pub const BORDER_COLOR_FLOAT_TRANSPARENT_BLACK : i32 = 0;
1207pub const BORDER_COLOR_INT_TRANSPARENT_BLACK : i32 = 1;
1208pub const BORDER_COLOR_FLOAT_OPAQUE_BLACK : i32 = 2;
1209pub const BORDER_COLOR_INT_OPAQUE_BLACK : i32 = 3;
1210pub const BORDER_COLOR_FLOAT_OPAQUE_WHITE : i32 = 4;
1211pub const BORDER_COLOR_INT_OPAQUE_WHITE : i32 = 5;
1212pub const BORDER_COLOR_FLOAT_CUSTOM_EXT : i32 = 1000287003;
1213pub const BORDER_COLOR_INT_CUSTOM_EXT : i32 = 1000287004;
1214pub const BORDER_COLOR_MAX_ENUM : i32 = 0x7FFFFFF;
1215pub type DescriptorType = i32;
1216pub const DESCRIPTOR_TYPE_SAMPLER : i32 = 0;
1217pub const DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER : i32 = 1;
1218pub const DESCRIPTOR_TYPE_SAMPLED_IMAGE : i32 = 2;
1219pub const DESCRIPTOR_TYPE_STORAGE_IMAGE : i32 = 3;
1220pub const DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER : i32 = 4;
1221pub const DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER : i32 = 5;
1222pub const DESCRIPTOR_TYPE_UNIFORM_BUFFER : i32 = 6;
1223pub const DESCRIPTOR_TYPE_STORAGE_BUFFER : i32 = 7;
1224pub const DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC : i32 = 8;
1225pub const DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC : i32 = 9;
1226pub const DESCRIPTOR_TYPE_INPUT_ATTACHMENT : i32 = 10;
1227pub const DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT : i32 = 1000138000;
1228pub const DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR : i32 = 1000165000;
1229pub const DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV : i32 = DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR;
1230pub const DESCRIPTOR_TYPE_MAX_ENUM : i32 = 0x7FFFFFF;
1231pub type AttachmentLoadOp = i32;
1232pub const ATTACHMENT_LOAD_OP_LOAD : i32 = 0;
1233pub const ATTACHMENT_LOAD_OP_CLEAR : i32 = 1;
1234pub const ATTACHMENT_LOAD_OP_DONT_CARE : i32 = 2;
1235pub const ATTACHMENT_LOAD_OP_MAX_ENUM : i32 = 0x7FFFFFF;
1236pub type AttachmentStoreOp = i32;
1237pub const ATTACHMENT_STORE_OP_STORE : i32 = 0;
1238pub const ATTACHMENT_STORE_OP_DONT_CARE : i32 = 1;
1239pub const ATTACHMENT_STORE_OP_NONE_QCOM : i32 = 1000301000;
1240pub const ATTACHMENT_STORE_OP_MAX_ENUM : i32 = 0x7FFFFFF;
1241pub type PipelineBindPoint = i32;
1242pub const PIPELINE_BIND_POINT_GRAPHICS : i32 = 0;
1243pub const PIPELINE_BIND_POINT_COMPUTE : i32 = 1;
1244pub const PIPELINE_BIND_POINT_RAY_TRACING_KHR : i32 = 1000165000;
1245pub const PIPELINE_BIND_POINT_RAY_TRACING_NV : i32 = PIPELINE_BIND_POINT_RAY_TRACING_KHR;
1246pub const PIPELINE_BIND_POINT_MAX_ENUM : i32 = 0x7FFFFFF;
1247pub type CommandBufferLevel = i32;
1248pub const COMMAND_BUFFER_LEVEL_PRIMARY : i32 = 0;
1249pub const COMMAND_BUFFER_LEVEL_SECONDARY : i32 = 1;
1250pub const COMMAND_BUFFER_LEVEL_MAX_ENUM : i32 = 0x7FFFFFF;
1251pub type IndexType = i32;
1252pub const INDEX_TYPE_UINT16 : i32 = 0;
1253pub const INDEX_TYPE_UINT32 : i32 = 1;
1254pub const INDEX_TYPE_NONE_KHR : i32 = 1000165000;
1255pub const INDEX_TYPE_UINT8_EXT : i32 = 1000265000;
1256pub const INDEX_TYPE_NONE_NV : i32 = INDEX_TYPE_NONE_KHR;
1257pub const INDEX_TYPE_MAX_ENUM : i32 = 0x7FFFFFF;
1258pub type SubpassContents = i32;
1259pub const SUBPASS_CONTENTS_INLINE : i32 = 0;
1260pub const SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS : i32 = 1;
1261pub const SUBPASS_CONTENTS_MAX_ENUM : i32 = 0x7FFFFFF;
1262pub type ObjectType = i32;
1263pub const OBJECT_TYPE_UNKNOWN : i32 = 0;
1264pub const OBJECT_TYPE_INSTANCE : i32 = 1;
1265pub const OBJECT_TYPE_PHYSICAL_DEVICE : i32 = 2;
1266pub const OBJECT_TYPE_DEVICE : i32 = 3;
1267pub const OBJECT_TYPE_QUEUE : i32 = 4;
1268pub const OBJECT_TYPE_SEMAPHORE : i32 = 5;
1269pub const OBJECT_TYPE_COMMAND_BUFFER : i32 = 6;
1270pub const OBJECT_TYPE_FENCE : i32 = 7;
1271pub const OBJECT_TYPE_DEVICE_MEMORY : i32 = 8;
1272pub const OBJECT_TYPE_BUFFER : i32 = 9;
1273pub const OBJECT_TYPE_IMAGE : i32 = 10;
1274pub const OBJECT_TYPE_EVENT : i32 = 11;
1275pub const OBJECT_TYPE_QUERY_POOL : i32 = 12;
1276pub const OBJECT_TYPE_BUFFER_VIEW : i32 = 13;
1277pub const OBJECT_TYPE_IMAGE_VIEW : i32 = 14;
1278pub const OBJECT_TYPE_SHADER_MODULE : i32 = 15;
1279pub const OBJECT_TYPE_PIPELINE_CACHE : i32 = 16;
1280pub const OBJECT_TYPE_PIPELINE_LAYOUT : i32 = 17;
1281pub const OBJECT_TYPE_RENDER_PASS : i32 = 18;
1282pub const OBJECT_TYPE_PIPELINE : i32 = 19;
1283pub const OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT : i32 = 20;
1284pub const OBJECT_TYPE_SAMPLER : i32 = 21;
1285pub const OBJECT_TYPE_DESCRIPTOR_POOL : i32 = 22;
1286pub const OBJECT_TYPE_DESCRIPTOR_SET : i32 = 23;
1287pub const OBJECT_TYPE_FRAMEBUFFER : i32 = 24;
1288pub const OBJECT_TYPE_COMMAND_POOL : i32 = 25;
1289pub const OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION : i32 = 1000156000;
1290pub const OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE : i32 = 1000085000;
1291pub const OBJECT_TYPE_SURFACE_KHR : i32 = 1000000000;
1292pub const OBJECT_TYPE_SWAPCHAIN_KHR : i32 = 1000001000;
1293pub const OBJECT_TYPE_DISPLAY_KHR : i32 = 1000002000;
1294pub const OBJECT_TYPE_DISPLAY_MODE_KHR : i32 = 1000002001;
1295pub const OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT : i32 = 1000011000;
1296pub const OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT : i32 = 1000128000;
1297pub const OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR : i32 = 1000165000;
1298pub const OBJECT_TYPE_VALIDATION_CACHE_EXT : i32 = 1000160000;
1299pub const OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL : i32 = 1000210000;
1300pub const OBJECT_TYPE_DEFERRED_OPERATION_KHR : i32 = 1000268000;
1301pub const OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV : i32 = 1000277000;
1302pub const OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT : i32 = 1000295000;
1303pub const OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR : i32 = OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE;
1304pub const OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR : i32 = OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION;
1305pub const OBJECT_TYPE_ACCELERATION_STRUCTURE_NV : i32 = OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR;
1306pub const OBJECT_TYPE_MAX_ENUM : i32 = 0x7FFFFFF;
1307pub type VendorId = i32;
1308pub const VENDOR_ID_VIV : i32 = 0x10001;
1309pub const VENDOR_ID_VSI : i32 = 0x10002;
1310pub const VENDOR_ID_KAZAN : i32 = 0x10003;
1311pub const VENDOR_ID_CODEPLAY : i32 = 0x10004;
1312pub const VENDOR_ID_MESA : i32 = 0x10005;
1313pub const VENDOR_ID_MAX_ENUM : i32 = 0x7FFFFFF;
1314pub type InstanceCreateFlags = i32;
1315pub type FormatFeatureFlagBits = i32;
1316pub const FORMAT_FEATURE_SAMPLED_IMAGE_BIT : i32 = 0x00000001;
1317pub const FORMAT_FEATURE_STORAGE_IMAGE_BIT : i32 = 0x00000002;
1318pub const FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT : i32 = 0x00000004;
1319pub const FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT : i32 = 0x00000008;
1320pub const FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT : i32 = 0x00000010;
1321pub const FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT : i32 = 0x00000020;
1322pub const FORMAT_FEATURE_VERTEX_BUFFER_BIT : i32 = 0x00000040;
1323pub const FORMAT_FEATURE_COLOR_ATTACHMENT_BIT : i32 = 0x00000080;
1324pub const FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT : i32 = 0x00000100;
1325pub const FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT : i32 = 0x00000200;
1326pub const FORMAT_FEATURE_BLIT_SRC_BIT : i32 = 0x00000400;
1327pub const FORMAT_FEATURE_BLIT_DST_BIT : i32 = 0x00000800;
1328pub const FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT : i32 = 0x00001000;
1329pub const FORMAT_FEATURE_TRANSFER_SRC_BIT : i32 = 0x00004000;
1330pub const FORMAT_FEATURE_TRANSFER_DST_BIT : i32 = 0x00008000;
1331pub const FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT : i32 = 0x00020000;
1332pub const FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT : i32 = 0x00040000;
1333pub const FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT : i32 = 0x00080000;
1334pub const FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT : i32 = 0x00100000;
1335pub const FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT : i32 = 0x00200000;
1336pub const FORMAT_FEATURE_DISJOINT_BIT : i32 = 0x00400000;
1337pub const FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT : i32 = 0x00800000;
1338pub const FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT : i32 = 0x00010000;
1339pub const FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG : i32 = 0x00002000;
1340pub const FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR : i32 = 0x20000000;
1341pub const FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT : i32 = 0x01000000;
1342pub const FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR : i32 = FORMAT_FEATURE_TRANSFER_SRC_BIT;
1343pub const FORMAT_FEATURE_TRANSFER_DST_BIT_KHR : i32 = FORMAT_FEATURE_TRANSFER_DST_BIT;
1344pub const FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT : i32 = FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT;
1345pub const FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR : i32 = FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT;
1346pub const FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR : i32 = FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT;
1347pub const FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR : i32 = FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT;
1348pub const FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR : i32 = FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT;
1349pub const FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR : i32 = FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT;
1350pub const FORMAT_FEATURE_DISJOINT_BIT_KHR : i32 = FORMAT_FEATURE_DISJOINT_BIT;
1351pub const FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR : i32 = FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT;
1352pub const FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT : i32 = FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG;
1353pub const FORMAT_FEATURE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
1354pub type FormatFeatureFlags = i32;
1355pub type ImageUsageFlagBits = i32;
1356pub const IMAGE_USAGE_TRANSFER_SRC_BIT : i32 = 0x00000001;
1357pub const IMAGE_USAGE_TRANSFER_DST_BIT : i32 = 0x00000002;
1358pub const IMAGE_USAGE_SAMPLED_BIT : i32 = 0x00000004;
1359pub const IMAGE_USAGE_STORAGE_BIT : i32 = 0x00000008;
1360pub const IMAGE_USAGE_COLOR_ATTACHMENT_BIT : i32 = 0x00000010;
1361pub const IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT : i32 = 0x00000020;
1362pub const IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT : i32 = 0x00000040;
1363pub const IMAGE_USAGE_INPUT_ATTACHMENT_BIT : i32 = 0x00000080;
1364pub const IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV : i32 = 0x00000100;
1365pub const IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT : i32 = 0x00000200;
1366pub const IMAGE_USAGE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
1367pub type ImageUsageFlags = i32;
1368pub type ImageCreateFlagBits = i32;
1369pub const IMAGE_CREATE_SPARSE_BINDING_BIT : i32 = 0x00000001;
1370pub const IMAGE_CREATE_SPARSE_RESIDENCY_BIT : i32 = 0x00000002;
1371pub const IMAGE_CREATE_SPARSE_ALIASED_BIT : i32 = 0x00000004;
1372pub const IMAGE_CREATE_MUTABLE_FORMAT_BIT : i32 = 0x00000008;
1373pub const IMAGE_CREATE_CUBE_COMPATIBLE_BIT : i32 = 0x00000010;
1374pub const IMAGE_CREATE_ALIAS_BIT : i32 = 0x00000400;
1375pub const IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT : i32 = 0x00000040;
1376pub const IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT : i32 = 0x00000020;
1377pub const IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT : i32 = 0x00000080;
1378pub const IMAGE_CREATE_EXTENDED_USAGE_BIT : i32 = 0x00000100;
1379pub const IMAGE_CREATE_PROTECTED_BIT : i32 = 0x00000800;
1380pub const IMAGE_CREATE_DISJOINT_BIT : i32 = 0x00000200;
1381pub const IMAGE_CREATE_CORNER_SAMPLED_BIT_NV : i32 = 0x00002000;
1382pub const IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT : i32 = 0x00001000;
1383pub const IMAGE_CREATE_SUBSAMPLED_BIT_EXT : i32 = 0x00004000;
1384pub const IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR : i32 = IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT;
1385pub const IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR : i32 = IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT;
1386pub const IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR : i32 = IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT;
1387pub const IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR : i32 = IMAGE_CREATE_EXTENDED_USAGE_BIT;
1388pub const IMAGE_CREATE_DISJOINT_BIT_KHR : i32 = IMAGE_CREATE_DISJOINT_BIT;
1389pub const IMAGE_CREATE_ALIAS_BIT_KHR : i32 = IMAGE_CREATE_ALIAS_BIT;
1390pub const IMAGE_CREATE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
1391pub type ImageCreateFlags = i32;
1392pub type SampleCountFlagBits = i32;
1393pub const SAMPLE_COUNT_1_BIT : i32 = 0x00000001;
1394pub const SAMPLE_COUNT_2_BIT : i32 = 0x00000002;
1395pub const SAMPLE_COUNT_4_BIT : i32 = 0x00000004;
1396pub const SAMPLE_COUNT_8_BIT : i32 = 0x00000008;
1397pub const SAMPLE_COUNT_16_BIT : i32 = 0x00000010;
1398pub const SAMPLE_COUNT_32_BIT : i32 = 0x00000020;
1399pub const SAMPLE_COUNT_64_BIT : i32 = 0x00000040;
1400pub const SAMPLE_COUNT_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
1401pub type SampleCountFlags = i32;
1402pub type QueueFlagBits = i32;
1403pub const QUEUE_GRAPHICS_BIT : i32 = 0x00000001;
1404pub const QUEUE_COMPUTE_BIT : i32 = 0x00000002;
1405pub const QUEUE_TRANSFER_BIT : i32 = 0x00000004;
1406pub const QUEUE_SPARSE_BINDING_BIT : i32 = 0x00000008;
1407pub const QUEUE_PROTECTED_BIT : i32 = 0x00000010;
1408pub const QUEUE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
1409pub type QueueFlags = i32;
1410pub type MemoryPropertyFlagBits = i32;
1411pub const MEMORY_PROPERTY_DEVICE_LOCAL_BIT : i32 = 0x00000001;
1412pub const MEMORY_PROPERTY_HOST_VISIBLE_BIT : i32 = 0x00000002;
1413pub const MEMORY_PROPERTY_HOST_COHERENT_BIT : i32 = 0x00000004;
1414pub const MEMORY_PROPERTY_HOST_CACHED_BIT : i32 = 0x00000008;
1415pub const MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT : i32 = 0x00000010;
1416pub const MEMORY_PROPERTY_PROTECTED_BIT : i32 = 0x00000020;
1417pub const MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD : i32 = 0x00000040;
1418pub const MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD : i32 = 0x00000080;
1419pub const MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
1420pub type MemoryPropertyFlags = i32;
1421pub type MemoryHeapFlagBits = i32;
1422pub const MEMORY_HEAP_DEVICE_LOCAL_BIT : i32 = 0x00000001;
1423pub const MEMORY_HEAP_MULTI_INSTANCE_BIT : i32 = 0x00000002;
1424pub const MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR : i32 = MEMORY_HEAP_MULTI_INSTANCE_BIT;
1425pub const MEMORY_HEAP_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
1426pub type MemoryHeapFlags = i32;
1427pub type DeviceCreateFlags = i32;
1428pub type DeviceQueueCreateFlagBits = i32;
1429pub const DEVICE_QUEUE_CREATE_PROTECTED_BIT : i32 = 0x00000001;
1430pub const DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
1431pub type DeviceQueueCreateFlags = i32;
1432pub type PipelineStageFlagBits = i32;
1433pub const PIPELINE_STAGE_TOP_OF_PIPE_BIT : i32 = 0x00000001;
1434pub const PIPELINE_STAGE_DRAW_INDIRECT_BIT : i32 = 0x00000002;
1435pub const PIPELINE_STAGE_VERTEX_INPUT_BIT : i32 = 0x00000004;
1436pub const PIPELINE_STAGE_VERTEX_SHADER_BIT : i32 = 0x00000008;
1437pub const PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT : i32 = 0x00000010;
1438pub const PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT : i32 = 0x00000020;
1439pub const PIPELINE_STAGE_GEOMETRY_SHADER_BIT : i32 = 0x00000040;
1440pub const PIPELINE_STAGE_FRAGMENT_SHADER_BIT : i32 = 0x00000080;
1441pub const PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT : i32 = 0x00000100;
1442pub const PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT : i32 = 0x00000200;
1443pub const PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT : i32 = 0x00000400;
1444pub const PIPELINE_STAGE_COMPUTE_SHADER_BIT : i32 = 0x00000800;
1445pub const PIPELINE_STAGE_TRANSFER_BIT : i32 = 0x00001000;
1446pub const PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT : i32 = 0x00002000;
1447pub const PIPELINE_STAGE_HOST_BIT : i32 = 0x00004000;
1448pub const PIPELINE_STAGE_ALL_GRAPHICS_BIT : i32 = 0x00008000;
1449pub const PIPELINE_STAGE_ALL_COMMANDS_BIT : i32 = 0x00010000;
1450pub const PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT : i32 = 0x01000000;
1451pub const PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT : i32 = 0x00040000;
1452pub const PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR : i32 = 0x00200000;
1453pub const PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR : i32 = 0x02000000;
1454pub const PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV : i32 = 0x00400000;
1455pub const PIPELINE_STAGE_TASK_SHADER_BIT_NV : i32 = 0x00080000;
1456pub const PIPELINE_STAGE_MESH_SHADER_BIT_NV : i32 = 0x00100000;
1457pub const PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT : i32 = 0x00800000;
1458pub const PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV : i32 = 0x00020000;
1459pub const PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV : i32 = PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR;
1460pub const PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV : i32 = PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR;
1461pub const PIPELINE_STAGE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
1462pub type PipelineStageFlags = i32;
1463pub type MemoryMapFlags = i32;
1464pub type ImageAspectFlagBits = i32;
1465pub const IMAGE_ASPECT_COLOR_BIT : i32 = 0x00000001;
1466pub const IMAGE_ASPECT_DEPTH_BIT : i32 = 0x00000002;
1467pub const IMAGE_ASPECT_STENCIL_BIT : i32 = 0x00000004;
1468pub const IMAGE_ASPECT_METADATA_BIT : i32 = 0x00000008;
1469pub const IMAGE_ASPECT_PLANE_0_BIT : i32 = 0x00000010;
1470pub const IMAGE_ASPECT_PLANE_1_BIT : i32 = 0x00000020;
1471pub const IMAGE_ASPECT_PLANE_2_BIT : i32 = 0x00000040;
1472pub const IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT : i32 = 0x00000080;
1473pub const IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT : i32 = 0x00000100;
1474pub const IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT : i32 = 0x00000200;
1475pub const IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT : i32 = 0x00000400;
1476pub const IMAGE_ASPECT_PLANE_0_BIT_KHR : i32 = IMAGE_ASPECT_PLANE_0_BIT;
1477pub const IMAGE_ASPECT_PLANE_1_BIT_KHR : i32 = IMAGE_ASPECT_PLANE_1_BIT;
1478pub const IMAGE_ASPECT_PLANE_2_BIT_KHR : i32 = IMAGE_ASPECT_PLANE_2_BIT;
1479pub const IMAGE_ASPECT_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
1480pub type ImageAspectFlags = i32;
1481pub type SparseImageFormatFlagBits = i32;
1482pub const SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT : i32 = 0x00000001;
1483pub const SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT : i32 = 0x00000002;
1484pub const SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT : i32 = 0x00000004;
1485pub const SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
1486pub type SparseImageFormatFlags = i32;
1487pub type SparseMemoryBindFlagBits = i32;
1488pub const SPARSE_MEMORY_BIND_METADATA_BIT : i32 = 0x00000001;
1489pub const SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
1490pub type SparseMemoryBindFlags = i32;
1491pub type FenceCreateFlagBits = i32;
1492pub const FENCE_CREATE_SIGNALED_BIT : i32 = 0x00000001;
1493pub const FENCE_CREATE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
1494pub type FenceCreateFlags = i32;
1495pub type SemaphoreCreateFlags = i32;
1496pub type EventCreateFlags = i32;
1497pub type QueryPoolCreateFlags = i32;
1498pub type QueryPipelineStatisticFlagBits = i32;
1499pub const QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT : i32 = 0x00000001;
1500pub const QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT : i32 = 0x00000002;
1501pub const QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT : i32 = 0x00000004;
1502pub const QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT : i32 = 0x00000008;
1503pub const QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT : i32 = 0x00000010;
1504pub const QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT : i32 = 0x00000020;
1505pub const QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT : i32 = 0x00000040;
1506pub const QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT : i32 = 0x00000080;
1507pub const QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT : i32 = 0x00000100;
1508pub const QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT : i32 = 0x00000200;
1509pub const QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT : i32 = 0x00000400;
1510pub const QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
1511pub type QueryPipelineStatisticFlags = i32;
1512pub type QueryResultFlagBits = i32;
1513pub const QUERY_RESULT_64_BIT : i32 = 0x00000001;
1514pub const QUERY_RESULT_WAIT_BIT : i32 = 0x00000002;
1515pub const QUERY_RESULT_WITH_AVAILABILITY_BIT : i32 = 0x00000004;
1516pub const QUERY_RESULT_PARTIAL_BIT : i32 = 0x00000008;
1517pub const QUERY_RESULT_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
1518pub type QueryResultFlags = i32;
1519pub type BufferCreateFlagBits = i32;
1520pub const BUFFER_CREATE_SPARSE_BINDING_BIT : i32 = 0x00000001;
1521pub const BUFFER_CREATE_SPARSE_RESIDENCY_BIT : i32 = 0x00000002;
1522pub const BUFFER_CREATE_SPARSE_ALIASED_BIT : i32 = 0x00000004;
1523pub const BUFFER_CREATE_PROTECTED_BIT : i32 = 0x00000008;
1524pub const BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT : i32 = 0x00000010;
1525pub const BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT : i32 = BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT;
1526pub const BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR : i32 = BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT;
1527pub const BUFFER_CREATE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
1528pub type BufferCreateFlags = i32;
1529pub type BufferUsageFlagBits = i32;
1530pub const BUFFER_USAGE_TRANSFER_SRC_BIT : i32 = 0x00000001;
1531pub const BUFFER_USAGE_TRANSFER_DST_BIT : i32 = 0x00000002;
1532pub const BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT : i32 = 0x00000004;
1533pub const BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT : i32 = 0x00000008;
1534pub const BUFFER_USAGE_UNIFORM_BUFFER_BIT : i32 = 0x00000010;
1535pub const BUFFER_USAGE_STORAGE_BUFFER_BIT : i32 = 0x00000020;
1536pub const BUFFER_USAGE_INDEX_BUFFER_BIT : i32 = 0x00000040;
1537pub const BUFFER_USAGE_VERTEX_BUFFER_BIT : i32 = 0x00000080;
1538pub const BUFFER_USAGE_INDIRECT_BUFFER_BIT : i32 = 0x00000100;
1539pub const BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT : i32 = 0x00020000;
1540pub const BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT : i32 = 0x00000800;
1541pub const BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT : i32 = 0x00001000;
1542pub const BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT : i32 = 0x00000200;
1543pub const BUFFER_USAGE_RAY_TRACING_BIT_KHR : i32 = 0x00000400;
1544pub const BUFFER_USAGE_RAY_TRACING_BIT_NV : i32 = BUFFER_USAGE_RAY_TRACING_BIT_KHR;
1545pub const BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT : i32 = BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT;
1546pub const BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR : i32 = BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT;
1547pub const BUFFER_USAGE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
1548pub type BufferUsageFlags = i32;
1549pub type BufferViewCreateFlags = i32;
1550pub type ImageViewCreateFlagBits = i32;
1551pub const IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT : i32 = 0x00000001;
1552pub const IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
1553pub type ImageViewCreateFlags = i32;
1554pub type ShaderModuleCreateFlagBits = i32;
1555pub const SHADER_MODULE_CREATE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
1556pub type ShaderModuleCreateFlags = i32;
1557pub type PipelineCacheCreateFlagBits = i32;
1558pub const PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT : i32 = 0x00000001;
1559pub const PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
1560pub type PipelineCacheCreateFlags = i32;
1561pub type PipelineCreateFlagBits = i32;
1562pub const PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT : i32 = 0x00000001;
1563pub const PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT : i32 = 0x00000002;
1564pub const PIPELINE_CREATE_DERIVATIVE_BIT : i32 = 0x00000004;
1565pub const PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT : i32 = 0x00000008;
1566pub const PIPELINE_CREATE_DISPATCH_BASE_BIT : i32 = 0x00000010;
1567pub const PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR : i32 = 0x00004000;
1568pub const PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR : i32 = 0x00008000;
1569pub const PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR : i32 = 0x00010000;
1570pub const PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR : i32 = 0x00020000;
1571pub const PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR : i32 = 0x00001000;
1572pub const PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR : i32 = 0x00002000;
1573pub const PIPELINE_CREATE_DEFER_COMPILE_BIT_NV : i32 = 0x00000020;
1574pub const PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR : i32 = 0x00000040;
1575pub const PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR : i32 = 0x00000080;
1576pub const PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV : i32 = 0x00040000;
1577pub const PIPELINE_CREATE_LIBRARY_BIT_KHR : i32 = 0x00000800;
1578pub const PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT : i32 = 0x00000100;
1579pub const PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT : i32 = 0x00000200;
1580pub const PIPELINE_CREATE_DISPATCH_BASE : i32 = PIPELINE_CREATE_DISPATCH_BASE_BIT;
1581pub const PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR : i32 = PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT;
1582pub const PIPELINE_CREATE_DISPATCH_BASE_KHR : i32 = PIPELINE_CREATE_DISPATCH_BASE;
1583pub const PIPELINE_CREATE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
1584pub type PipelineCreateFlags = i32;
1585pub type PipelineShaderStageCreateFlagBits = i32;
1586pub const PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT : i32 = 0x00000001;
1587pub const PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT : i32 = 0x00000002;
1588pub const PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
1589pub type PipelineShaderStageCreateFlags = i32;
1590pub type ShaderStageFlagBits = i32;
1591pub const SHADER_STAGE_VERTEX_BIT : i32 = 0x00000001;
1592pub const SHADER_STAGE_TESSELLATION_CONTROL_BIT : i32 = 0x00000002;
1593pub const SHADER_STAGE_TESSELLATION_EVALUATION_BIT : i32 = 0x00000004;
1594pub const SHADER_STAGE_GEOMETRY_BIT : i32 = 0x00000008;
1595pub const SHADER_STAGE_FRAGMENT_BIT : i32 = 0x00000010;
1596pub const SHADER_STAGE_COMPUTE_BIT : i32 = 0x00000020;
1597pub const SHADER_STAGE_ALL_GRAPHICS : i32 = 0x0000001F;
1598pub const SHADER_STAGE_ALL : i32 = 0x7FFFFFFF;
1599pub const SHADER_STAGE_RAYGEN_BIT_KHR : i32 = 0x00000100;
1600pub const SHADER_STAGE_ANY_HIT_BIT_KHR : i32 = 0x00000200;
1601pub const SHADER_STAGE_CLOSEST_HIT_BIT_KHR : i32 = 0x00000400;
1602pub const SHADER_STAGE_MISS_BIT_KHR : i32 = 0x00000800;
1603pub const SHADER_STAGE_INTERSECTION_BIT_KHR : i32 = 0x00001000;
1604pub const SHADER_STAGE_CALLABLE_BIT_KHR : i32 = 0x00002000;
1605pub const SHADER_STAGE_TASK_BIT_NV : i32 = 0x00000040;
1606pub const SHADER_STAGE_MESH_BIT_NV : i32 = 0x00000080;
1607pub const SHADER_STAGE_RAYGEN_BIT_NV : i32 = SHADER_STAGE_RAYGEN_BIT_KHR;
1608pub const SHADER_STAGE_ANY_HIT_BIT_NV : i32 = SHADER_STAGE_ANY_HIT_BIT_KHR;
1609pub const SHADER_STAGE_CLOSEST_HIT_BIT_NV : i32 = SHADER_STAGE_CLOSEST_HIT_BIT_KHR;
1610pub const SHADER_STAGE_MISS_BIT_NV : i32 = SHADER_STAGE_MISS_BIT_KHR;
1611pub const SHADER_STAGE_INTERSECTION_BIT_NV : i32 = SHADER_STAGE_INTERSECTION_BIT_KHR;
1612pub const SHADER_STAGE_CALLABLE_BIT_NV : i32 = SHADER_STAGE_CALLABLE_BIT_KHR;
1613pub const SHADER_STAGE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
1614pub type PipelineVertexInputStateCreateFlags = i32;
1615pub type PipelineInputAssemblyStateCreateFlags = i32;
1616pub type PipelineTessellationStateCreateFlags = i32;
1617pub type PipelineViewportStateCreateFlags = i32;
1618pub type PipelineRasterizationStateCreateFlags = i32;
1619pub type CullModeFlagBits = i32;
1620pub const CULL_MODE_NONE : i32 = 0;
1621pub const CULL_MODE_FRONT_BIT : i32 = 0x00000001;
1622pub const CULL_MODE_BACK_BIT : i32 = 0x00000002;
1623pub const CULL_MODE_FRONT_AND_BACK : i32 = 0x00000003;
1624pub const CULL_MODE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
1625pub type CullModeFlags = i32;
1626pub type PipelineMultisampleStateCreateFlags = i32;
1627pub type PipelineDepthStencilStateCreateFlags = i32;
1628pub type PipelineColorBlendStateCreateFlags = i32;
1629pub type ColorComponentFlagBits = i32;
1630pub const COLOR_COMPONENT_R_BIT : i32 = 0x00000001;
1631pub const COLOR_COMPONENT_G_BIT : i32 = 0x00000002;
1632pub const COLOR_COMPONENT_B_BIT : i32 = 0x00000004;
1633pub const COLOR_COMPONENT_A_BIT : i32 = 0x00000008;
1634pub const COLOR_COMPONENT_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
1635pub type ColorComponentFlags = i32;
1636pub type PipelineDynamicStateCreateFlags = i32;
1637pub type PipelineLayoutCreateFlags = i32;
1638pub type ShaderStageFlags = i32;
1639pub type SamplerCreateFlagBits = i32;
1640pub const SAMPLER_CREATE_SUBSAMPLED_BIT_EXT : i32 = 0x00000001;
1641pub const SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT : i32 = 0x00000002;
1642pub const SAMPLER_CREATE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
1643pub type SamplerCreateFlags = i32;
1644pub type DescriptorSetLayoutCreateFlagBits = i32;
1645pub const DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT : i32 = 0x00000002;
1646pub const DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR : i32 = 0x00000001;
1647pub const DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT : i32 = DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT;
1648pub const DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
1649pub type DescriptorSetLayoutCreateFlags = i32;
1650pub type DescriptorPoolCreateFlagBits = i32;
1651pub const DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT : i32 = 0x00000001;
1652pub const DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT : i32 = 0x00000002;
1653pub const DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT : i32 = DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT;
1654pub const DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
1655pub type DescriptorPoolCreateFlags = i32;
1656pub type DescriptorPoolResetFlags = i32;
1657pub type FramebufferCreateFlagBits = i32;
1658pub const FRAMEBUFFER_CREATE_IMAGELESS_BIT : i32 = 0x00000001;
1659pub const FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR : i32 = FRAMEBUFFER_CREATE_IMAGELESS_BIT;
1660pub const FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
1661pub type FramebufferCreateFlags = i32;
1662pub type RenderPassCreateFlagBits = i32;
1663pub const RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM : i32 = 0x00000002;
1664pub const RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
1665pub type RenderPassCreateFlags = i32;
1666pub type AttachmentDescriptionFlagBits = i32;
1667pub const ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT : i32 = 0x00000001;
1668pub const ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
1669pub type AttachmentDescriptionFlags = i32;
1670pub type SubpassDescriptionFlagBits = i32;
1671pub const SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX : i32 = 0x00000001;
1672pub const SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX : i32 = 0x00000002;
1673pub const SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM : i32 = 0x00000004;
1674pub const SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM : i32 = 0x00000008;
1675pub const SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
1676pub type SubpassDescriptionFlags = i32;
1677pub type AccessFlagBits = i32;
1678pub const ACCESS_INDIRECT_COMMAND_READ_BIT : i32 = 0x00000001;
1679pub const ACCESS_INDEX_READ_BIT : i32 = 0x00000002;
1680pub const ACCESS_VERTEX_ATTRIBUTE_READ_BIT : i32 = 0x00000004;
1681pub const ACCESS_UNIFORM_READ_BIT : i32 = 0x00000008;
1682pub const ACCESS_INPUT_ATTACHMENT_READ_BIT : i32 = 0x00000010;
1683pub const ACCESS_SHADER_READ_BIT : i32 = 0x00000020;
1684pub const ACCESS_SHADER_WRITE_BIT : i32 = 0x00000040;
1685pub const ACCESS_COLOR_ATTACHMENT_READ_BIT : i32 = 0x00000080;
1686pub const ACCESS_COLOR_ATTACHMENT_WRITE_BIT : i32 = 0x00000100;
1687pub const ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT : i32 = 0x00000200;
1688pub const ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT : i32 = 0x00000400;
1689pub const ACCESS_TRANSFER_READ_BIT : i32 = 0x00000800;
1690pub const ACCESS_TRANSFER_WRITE_BIT : i32 = 0x00001000;
1691pub const ACCESS_HOST_READ_BIT : i32 = 0x00002000;
1692pub const ACCESS_HOST_WRITE_BIT : i32 = 0x00004000;
1693pub const ACCESS_MEMORY_READ_BIT : i32 = 0x00008000;
1694pub const ACCESS_MEMORY_WRITE_BIT : i32 = 0x00010000;
1695pub const ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT : i32 = 0x02000000;
1696pub const ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT : i32 = 0x04000000;
1697pub const ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT : i32 = 0x08000000;
1698pub const ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT : i32 = 0x00100000;
1699pub const ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT : i32 = 0x00080000;
1700pub const ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR : i32 = 0x00200000;
1701pub const ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR : i32 = 0x00400000;
1702pub const ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV : i32 = 0x00800000;
1703pub const ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT : i32 = 0x01000000;
1704pub const ACCESS_COMMAND_PREPROCESS_READ_BIT_NV : i32 = 0x00020000;
1705pub const ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV : i32 = 0x00040000;
1706pub const ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV : i32 = ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR;
1707pub const ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV : i32 = ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR;
1708pub const ACCESS_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
1709pub type AccessFlags = i32;
1710pub type DependencyFlagBits = i32;
1711pub const DEPENDENCY_BY_REGION_BIT : i32 = 0x00000001;
1712pub const DEPENDENCY_DEVICE_GROUP_BIT : i32 = 0x00000004;
1713pub const DEPENDENCY_VIEW_LOCAL_BIT : i32 = 0x00000002;
1714pub const DEPENDENCY_VIEW_LOCAL_BIT_KHR : i32 = DEPENDENCY_VIEW_LOCAL_BIT;
1715pub const DEPENDENCY_DEVICE_GROUP_BIT_KHR : i32 = DEPENDENCY_DEVICE_GROUP_BIT;
1716pub const DEPENDENCY_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
1717pub type DependencyFlags = i32;
1718pub type CommandPoolCreateFlagBits = i32;
1719pub const COMMAND_POOL_CREATE_TRANSIENT_BIT : i32 = 0x00000001;
1720pub const COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT : i32 = 0x00000002;
1721pub const COMMAND_POOL_CREATE_PROTECTED_BIT : i32 = 0x00000004;
1722pub const COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
1723pub type CommandPoolCreateFlags = i32;
1724pub type CommandPoolResetFlagBits = i32;
1725pub const COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT : i32 = 0x00000001;
1726pub const COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
1727pub type CommandPoolResetFlags = i32;
1728pub type CommandBufferUsageFlagBits = i32;
1729pub const COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT : i32 = 0x00000001;
1730pub const COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT : i32 = 0x00000002;
1731pub const COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT : i32 = 0x00000004;
1732pub const COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
1733pub type CommandBufferUsageFlags = i32;
1734pub type QueryControlFlagBits = i32;
1735pub const QUERY_CONTROL_PRECISE_BIT : i32 = 0x00000001;
1736pub const QUERY_CONTROL_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
1737pub type QueryControlFlags = i32;
1738pub type CommandBufferResetFlagBits = i32;
1739pub const COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT : i32 = 0x00000001;
1740pub const COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
1741pub type CommandBufferResetFlags = i32;
1742pub type StencilFaceFlagBits = i32;
1743pub const STENCIL_FACE_FRONT_BIT : i32 = 0x00000001;
1744pub const STENCIL_FACE_BACK_BIT : i32 = 0x00000002;
1745pub const STENCIL_FACE_FRONT_AND_BACK : i32 = 0x00000003;
1746pub const STENCIL_FRONT_AND_BACK : i32 = STENCIL_FACE_FRONT_AND_BACK;
1747pub const STENCIL_FACE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
1748pub type StencilFaceFlags = i32;
1749
1750#[repr(C)]
1751#[derive(Debug, Copy, Clone)]
1752pub struct ApplicationInfo {
1753 pub sType : StructureType,
1754 pub pNext : *const void,
1755 pub pApplicationName : *const i8,
1756 pub applicationVersion : u32,
1757 pub pEngineName : *const i8,
1758 pub engineVersion : u32,
1759 pub apiVersion : u32,
1760}
1761
1762#[repr(C)]
1763#[derive(Debug, Copy, Clone)]
1764pub struct InstanceCreateInfo {
1765 pub sType : StructureType,
1766 pub pNext : *const void,
1767 pub flags : i32,
1768 pub pApplicationInfo : *const ApplicationInfo,
1769 pub enabledLayerCount : u32,
1770 pub ppEnabledLayerNames : *const *const i8,
1771 pub enabledExtensionCount : u32,
1772 pub ppEnabledExtensionNames : *const *const i8,
1773}
1774
1775#[repr(C)]
1776#[derive(Debug, Copy, Clone)]
1777pub struct AllocationCallbacks {
1778 pub pUserData : *mut void,
1779 pub pfnAllocation : u64,
1780 pub pfnReallocation : u64,
1781 pub pfnFree : u64,
1782 pub pfnInternalAllocation : u64,
1783 pub pfnInternalFree : u64,
1784}
1785
1786#[repr(C)]
1787#[derive(Debug, Copy, Clone)]
1788pub struct PhysicalDeviceFeatures {
1789 pub robustBufferAccess : Bool32,
1790 pub fullDrawIndexUint32 : Bool32,
1791 pub imageCubeArray : Bool32,
1792 pub independentBlend : Bool32,
1793 pub geometryShader : Bool32,
1794 pub tessellationShader : Bool32,
1795 pub sampleRateShading : Bool32,
1796 pub dualSrcBlend : Bool32,
1797 pub logicOp : Bool32,
1798 pub multiDrawIndirect : Bool32,
1799 pub drawIndirectFirstInstance : Bool32,
1800 pub depthClamp : Bool32,
1801 pub depthBiasClamp : Bool32,
1802 pub fillModeNonSolid : Bool32,
1803 pub depthBounds : Bool32,
1804 pub wideLines : Bool32,
1805 pub largePoints : Bool32,
1806 pub alphaToOne : Bool32,
1807 pub multiViewport : Bool32,
1808 pub samplerAnisotropy : Bool32,
1809 pub textureCompressionETC2 : Bool32,
1810 pub textureCompressionASTC_LDR : Bool32,
1811 pub textureCompressionBC : Bool32,
1812 pub occlusionQueryPrecise : Bool32,
1813 pub pipelineStatisticsQuery : Bool32,
1814 pub vertexPipelineStoresAndAtomics : Bool32,
1815 pub fragmentStoresAndAtomics : Bool32,
1816 pub shaderTessellationAndGeometryPointSize : Bool32,
1817 pub shaderImageGatherExtended : Bool32,
1818 pub shaderStorageImageExtendedFormats : Bool32,
1819 pub shaderStorageImageMultisample : Bool32,
1820 pub shaderStorageImageReadWithoutFormat : Bool32,
1821 pub shaderStorageImageWriteWithoutFormat : Bool32,
1822 pub shaderUniformBufferArrayDynamicIndexing : Bool32,
1823 pub shaderSampledImageArrayDynamicIndexing : Bool32,
1824 pub shaderStorageBufferArrayDynamicIndexing : Bool32,
1825 pub shaderStorageImageArrayDynamicIndexing : Bool32,
1826 pub shaderClipDistance : Bool32,
1827 pub shaderCullDistance : Bool32,
1828 pub shaderFloat64 : Bool32,
1829 pub shaderInt64 : Bool32,
1830 pub shaderInt16 : Bool32,
1831 pub shaderResourceResidency : Bool32,
1832 pub shaderResourceMinLod : Bool32,
1833 pub sparseBinding : Bool32,
1834 pub sparseResidencyBuffer : Bool32,
1835 pub sparseResidencyImage2D : Bool32,
1836 pub sparseResidencyImage3D : Bool32,
1837 pub sparseResidency2Samples : Bool32,
1838 pub sparseResidency4Samples : Bool32,
1839 pub sparseResidency8Samples : Bool32,
1840 pub sparseResidency16Samples : Bool32,
1841 pub sparseResidencyAliased : Bool32,
1842 pub variableMultisampleRate : Bool32,
1843 pub inheritedQueries : Bool32,
1844}
1845
1846#[repr(C)]
1847#[derive(Debug, Copy, Clone)]
1848pub struct FormatProperties {
1849 pub linearTilingFeatures : FormatFeatureFlags,
1850 pub optimalTilingFeatures : FormatFeatureFlags,
1851 pub bufferFeatures : FormatFeatureFlags,
1852}
1853
1854#[repr(C)]
1855#[derive(Debug, Copy, Clone)]
1856pub struct Extent3D {
1857 pub width : u32,
1858 pub height : u32,
1859 pub depth : u32,
1860}
1861
1862#[repr(C)]
1863#[derive(Debug, Copy, Clone)]
1864pub struct ImageFormatProperties {
1865 pub maxExtent : Extent3D,
1866 pub maxMipLevels : u32,
1867 pub maxArrayLayers : u32,
1868 pub sampleCounts : SampleCountFlags,
1869 pub maxResourceSize : DeviceSize,
1870}
1871
1872#[repr(C)]
1873#[derive(Debug, Copy, Clone)]
1874pub struct PhysicalDeviceLimits {
1875 pub maxImageDimension1D : u32,
1876 pub maxImageDimension2D : u32,
1877 pub maxImageDimension3D : u32,
1878 pub maxImageDimensionCube : u32,
1879 pub maxImageArrayLayers : u32,
1880 pub maxTexelBufferElements : u32,
1881 pub maxUniformBufferRange : u32,
1882 pub maxStorageBufferRange : u32,
1883 pub maxPushConstantsSize : u32,
1884 pub maxMemoryAllocationCount : u32,
1885 pub maxSamplerAllocationCount : u32,
1886 pub bufferImageGranularity : DeviceSize,
1887 pub sparseAddressSpaceSize : DeviceSize,
1888 pub maxBoundDescriptorSets : u32,
1889 pub maxPerStageDescriptorSamplers : u32,
1890 pub maxPerStageDescriptorUniformBuffers : u32,
1891 pub maxPerStageDescriptorStorageBuffers : u32,
1892 pub maxPerStageDescriptorSampledImages : u32,
1893 pub maxPerStageDescriptorStorageImages : u32,
1894 pub maxPerStageDescriptorInputAttachments : u32,
1895 pub maxPerStageResources : u32,
1896 pub maxDescriptorSetSamplers : u32,
1897 pub maxDescriptorSetUniformBuffers : u32,
1898 pub maxDescriptorSetUniformBuffersDynamic : u32,
1899 pub maxDescriptorSetStorageBuffers : u32,
1900 pub maxDescriptorSetStorageBuffersDynamic : u32,
1901 pub maxDescriptorSetSampledImages : u32,
1902 pub maxDescriptorSetStorageImages : u32,
1903 pub maxDescriptorSetInputAttachments : u32,
1904 pub maxVertexInputAttributes : u32,
1905 pub maxVertexInputBindings : u32,
1906 pub maxVertexInputAttributeOffset : u32,
1907 pub maxVertexInputBindingStride : u32,
1908 pub maxVertexOutputComponents : u32,
1909 pub maxTessellationGenerationLevel : u32,
1910 pub maxTessellationPatchSize : u32,
1911 pub maxTessellationControlPerVertexInputComponents : u32,
1912 pub maxTessellationControlPerVertexOutputComponents : u32,
1913 pub maxTessellationControlPerPatchOutputComponents : u32,
1914 pub maxTessellationControlTotalOutputComponents : u32,
1915 pub maxTessellationEvaluationInputComponents : u32,
1916 pub maxTessellationEvaluationOutputComponents : u32,
1917 pub maxGeometryShaderInvocations : u32,
1918 pub maxGeometryInputComponents : u32,
1919 pub maxGeometryOutputComponents : u32,
1920 pub maxGeometryOutputVertices : u32,
1921 pub maxGeometryTotalOutputComponents : u32,
1922 pub maxFragmentInputComponents : u32,
1923 pub maxFragmentOutputAttachments : u32,
1924 pub maxFragmentDualSrcAttachments : u32,
1925 pub maxFragmentCombinedOutputResources : u32,
1926 pub maxComputeSharedMemorySize : u32,
1927 pub maxComputeWorkGroupCount : [u32;3],
1928 pub maxComputeWorkGroupInvocations : u32,
1929 pub maxComputeWorkGroupSize : [u32;3],
1930 pub subPixelPrecisionBits : u32,
1931 pub subTexelPrecisionBits : u32,
1932 pub mipmapPrecisionBits : u32,
1933 pub maxDrawIndexedIndexValue : u32,
1934 pub maxDrawIndirectCount : u32,
1935 pub maxSamplerLodBias : f32,
1936 pub maxSamplerAnisotropy : f32,
1937 pub maxViewports : u32,
1938 pub maxViewportDimensions : [u32;2],
1939 pub viewportBoundsRange : [f32;2],
1940 pub viewportSubPixelBits : u32,
1941 pub minMemoryMapAlignment : usize,
1942 pub minTexelBufferOffsetAlignment : DeviceSize,
1943 pub minUniformBufferOffsetAlignment : DeviceSize,
1944 pub minStorageBufferOffsetAlignment : DeviceSize,
1945 pub minTexelOffset : i32,
1946 pub maxTexelOffset : u32,
1947 pub minTexelGatherOffset : i32,
1948 pub maxTexelGatherOffset : u32,
1949 pub minInterpolationOffset : f32,
1950 pub maxInterpolationOffset : f32,
1951 pub subPixelInterpolationOffsetBits : u32,
1952 pub maxFramebufferWidth : u32,
1953 pub maxFramebufferHeight : u32,
1954 pub maxFramebufferLayers : u32,
1955 pub framebufferColorSampleCounts : SampleCountFlags,
1956 pub framebufferDepthSampleCounts : SampleCountFlags,
1957 pub framebufferStencilSampleCounts : SampleCountFlags,
1958 pub framebufferNoAttachmentsSampleCounts : SampleCountFlags,
1959 pub maxColorAttachments : u32,
1960 pub sampledImageColorSampleCounts : SampleCountFlags,
1961 pub sampledImageIntegerSampleCounts : SampleCountFlags,
1962 pub sampledImageDepthSampleCounts : SampleCountFlags,
1963 pub sampledImageStencilSampleCounts : SampleCountFlags,
1964 pub storageImageSampleCounts : SampleCountFlags,
1965 pub maxSampleMaskWords : u32,
1966 pub timestampComputeAndGraphics : Bool32,
1967 pub timestampPeriod : f32,
1968 pub maxClipDistances : u32,
1969 pub maxCullDistances : u32,
1970 pub maxCombinedClipAndCullDistances : u32,
1971 pub discreteQueuePriorities : u32,
1972 pub pointSizeRange : [f32;2],
1973 pub lineWidthRange : [f32;2],
1974 pub pointSizeGranularity : f32,
1975 pub lineWidthGranularity : f32,
1976 pub strictLines : Bool32,
1977 pub standardSampleLocations : Bool32,
1978 pub optimalBufferCopyOffsetAlignment : DeviceSize,
1979 pub optimalBufferCopyRowPitchAlignment : DeviceSize,
1980 pub nonCoherentAtomSize : DeviceSize,
1981}
1982
1983#[repr(C)]
1984#[derive(Debug, Copy, Clone)]
1985pub struct PhysicalDeviceSparseProperties {
1986 pub residencyStandard2DBlockShape : Bool32,
1987 pub residencyStandard2DMultisampleBlockShape : Bool32,
1988 pub residencyStandard3DBlockShape : Bool32,
1989 pub residencyAlignedMipSize : Bool32,
1990 pub residencyNonResidentStrict : Bool32,
1991}
1992
1993#[repr(C)]
1994#[derive(Copy, Clone)]
1995pub struct PhysicalDeviceProperties {
1996 pub apiVersion : u32,
1997 pub driverVersion : u32,
1998 pub vendorID : u32,
1999 pub deviceID : u32,
2000 pub deviceType : PhysicalDeviceType,
2001 pub deviceName : [i8;MAX_PHYSICAL_DEVICE_NAME_SIZE],
2002 pub pipelineCacheUUID : [u8;UUID_SIZE],
2003 pub limits : PhysicalDeviceLimits,
2004 pub sparseProperties : PhysicalDeviceSparseProperties,
2005}
2006
2007#[repr(C)]
2008#[derive(Debug, Copy, Clone)]
2009pub struct QueueFamilyProperties {
2010 pub queueFlags : QueueFlags,
2011 pub queueCount : u32,
2012 pub timestampValidBits : u32,
2013 pub minImageTransferGranularity : Extent3D,
2014}
2015
2016#[repr(C)]
2017#[derive(Debug, Copy, Clone)]
2018pub struct MemoryType {
2019 pub propertyFlags : MemoryPropertyFlags,
2020 pub heapIndex : u32,
2021}
2022
2023#[repr(C)]
2024#[derive(Debug, Copy, Clone)]
2025pub struct MemoryHeap {
2026 pub size : DeviceSize,
2027 pub flags : MemoryHeapFlags,
2028}
2029
2030#[repr(C)]
2031#[derive(Debug, Copy, Clone)]
2032pub struct PhysicalDeviceMemoryProperties {
2033 pub memoryTypeCount : u32,
2034 pub memoryTypes : [MemoryType;MAX_MEMORY_TYPES],
2035 pub memoryHeapCount : u32,
2036 pub memoryHeaps : [MemoryHeap;MAX_MEMORY_HEAPS],
2037}
2038
2039#[repr(C)]
2040#[derive(Debug, Copy, Clone)]
2041pub struct DeviceQueueCreateInfo {
2042 pub sType : StructureType,
2043 pub pNext : *const void,
2044 pub flags : DeviceQueueCreateFlags,
2045 pub queueFamilyIndex : u32,
2046 pub queueCount : u32,
2047 pub pQueuePriorities : *const f32,
2048}
2049
2050#[repr(C)]
2051#[derive(Debug, Copy, Clone)]
2052pub struct DeviceCreateInfo {
2053 pub sType : StructureType,
2054 pub pNext : *const void,
2055 pub flags : DeviceCreateFlags,
2056 pub queueCreateInfoCount : u32,
2057 pub pQueueCreateInfos : *const DeviceQueueCreateInfo,
2058 pub enabledLayerCount : u32,
2059 pub ppEnabledLayerNames : *const *const i8,
2060 pub enabledExtensionCount : u32,
2061 pub ppEnabledExtensionNames : *const *const i8,
2062 pub pEnabledFeatures : *const PhysicalDeviceFeatures,
2063}
2064
2065#[repr(C)]
2066#[derive(Copy, Clone)]
2067pub struct ExtensionProperties {
2068 pub extensionName : [i8;MAX_EXTENSION_NAME_SIZE],
2069 pub specVersion : u32,
2070}
2071
2072#[repr(C)]
2073#[derive(Copy, Clone)]
2074pub struct LayerProperties {
2075 pub layerName : [i8;MAX_EXTENSION_NAME_SIZE],
2076 pub specVersion : u32,
2077 pub implementationVersion : u32,
2078 pub description : [i8;MAX_DESCRIPTION_SIZE],
2079}
2080
2081#[repr(C)]
2082#[derive(Debug, Copy, Clone)]
2083pub struct SubmitInfo {
2084 pub sType : StructureType,
2085 pub pNext : *const void,
2086 pub waitSemaphoreCount : u32,
2087 pub pWaitSemaphores : *const Semaphore,
2088 pub pWaitDstStageMask : *const PipelineStageFlags,
2089 pub commandBufferCount : u32,
2090 pub pCommandBuffers : *const CommandBuffer,
2091 pub signalSemaphoreCount : u32,
2092 pub pSignalSemaphores : *const Semaphore,
2093}
2094
2095#[repr(C)]
2096#[derive(Debug, Copy, Clone)]
2097pub struct MemoryAllocateInfo {
2098 pub sType : StructureType,
2099 pub pNext : *const void,
2100 pub allocationSize : DeviceSize,
2101 pub memoryTypeIndex : u32,
2102}
2103
2104#[repr(C)]
2105#[derive(Debug, Copy, Clone)]
2106pub struct MappedMemoryRange {
2107 pub sType : StructureType,
2108 pub pNext : *const void,
2109 pub memory : DeviceMemory,
2110 pub offset : DeviceSize,
2111 pub size : DeviceSize,
2112}
2113
2114#[repr(C)]
2115#[derive(Debug, Copy, Clone)]
2116pub struct MemoryRequirements {
2117 pub size : DeviceSize,
2118 pub alignment : DeviceSize,
2119 pub memoryTypeBits : u32,
2120}
2121
2122#[repr(C)]
2123#[derive(Debug, Copy, Clone)]
2124pub struct SparseImageFormatProperties {
2125 pub aspectMask : ImageAspectFlags,
2126 pub imageGranularity : Extent3D,
2127 pub flags : SparseImageFormatFlags,
2128}
2129
2130#[repr(C)]
2131#[derive(Debug, Copy, Clone)]
2132pub struct SparseImageMemoryRequirements {
2133 pub formatProperties : SparseImageFormatProperties,
2134 pub imageMipTailFirstLod : u32,
2135 pub imageMipTailSize : DeviceSize,
2136 pub imageMipTailOffset : DeviceSize,
2137 pub imageMipTailStride : DeviceSize,
2138}
2139
2140#[repr(C)]
2141#[derive(Debug, Copy, Clone)]
2142pub struct SparseMemoryBind {
2143 pub resourceOffset : DeviceSize,
2144 pub size : DeviceSize,
2145 pub memory : DeviceMemory,
2146 pub memoryOffset : DeviceSize,
2147 pub flags : SparseMemoryBindFlags,
2148}
2149
2150#[repr(C)]
2151#[derive(Debug, Copy, Clone)]
2152pub struct SparseBufferMemoryBindInfo {
2153 pub buffer : Buffer,
2154 pub bindCount : u32,
2155 pub pBinds : *const SparseMemoryBind,
2156}
2157
2158#[repr(C)]
2159#[derive(Debug, Copy, Clone)]
2160pub struct SparseImageOpaqueMemoryBindInfo {
2161 pub image : Image,
2162 pub bindCount : u32,
2163 pub pBinds : *const SparseMemoryBind,
2164}
2165
2166#[repr(C)]
2167#[derive(Debug, Copy, Clone)]
2168pub struct ImageSubresource {
2169 pub aspectMask : ImageAspectFlags,
2170 pub mipLevel : u32,
2171 pub arrayLayer : u32,
2172}
2173
2174#[repr(C)]
2175#[derive(Debug, Copy, Clone)]
2176pub struct Offset3D {
2177 pub x : i32,
2178 pub y : i32,
2179 pub z : i32,
2180}
2181
2182#[repr(C)]
2183#[derive(Debug, Copy, Clone)]
2184pub struct SparseImageMemoryBind {
2185 pub subresource : ImageSubresource,
2186 pub offset : Offset3D,
2187 pub extent : Extent3D,
2188 pub memory : DeviceMemory,
2189 pub memoryOffset : DeviceSize,
2190 pub flags : SparseMemoryBindFlags,
2191}
2192
2193#[repr(C)]
2194#[derive(Debug, Copy, Clone)]
2195pub struct SparseImageMemoryBindInfo {
2196 pub image : Image,
2197 pub bindCount : u32,
2198 pub pBinds : *const SparseImageMemoryBind,
2199}
2200
2201#[repr(C)]
2202#[derive(Debug, Copy, Clone)]
2203pub struct BindSparseInfo {
2204 pub sType : StructureType,
2205 pub pNext : *const void,
2206 pub waitSemaphoreCount : u32,
2207 pub pWaitSemaphores : *const Semaphore,
2208 pub bufferBindCount : u32,
2209 pub pBufferBinds : *const SparseBufferMemoryBindInfo,
2210 pub imageOpaqueBindCount : u32,
2211 pub pImageOpaqueBinds : *const SparseImageOpaqueMemoryBindInfo,
2212 pub imageBindCount : u32,
2213 pub pImageBinds : *const SparseImageMemoryBindInfo,
2214 pub signalSemaphoreCount : u32,
2215 pub pSignalSemaphores : *const Semaphore,
2216}
2217
2218#[repr(C)]
2219#[derive(Debug, Copy, Clone)]
2220pub struct FenceCreateInfo {
2221 pub sType : StructureType,
2222 pub pNext : *const void,
2223 pub flags : FenceCreateFlags,
2224}
2225
2226#[repr(C)]
2227#[derive(Debug, Copy, Clone)]
2228pub struct SemaphoreCreateInfo {
2229 pub sType : StructureType,
2230 pub pNext : *const void,
2231 pub flags : SemaphoreCreateFlags,
2232}
2233
2234#[repr(C)]
2235#[derive(Debug, Copy, Clone)]
2236pub struct EventCreateInfo {
2237 pub sType : StructureType,
2238 pub pNext : *const void,
2239 pub flags : EventCreateFlags,
2240}
2241
2242#[repr(C)]
2243#[derive(Debug, Copy, Clone)]
2244pub struct QueryPoolCreateInfo {
2245 pub sType : StructureType,
2246 pub pNext : *const void,
2247 pub flags : QueryPoolCreateFlags,
2248 pub queryType : QueryType,
2249 pub queryCount : u32,
2250 pub pipelineStatistics : QueryPipelineStatisticFlags,
2251}
2252
2253#[repr(C)]
2254#[derive(Debug, Copy, Clone)]
2255pub struct BufferCreateInfo {
2256 pub sType : StructureType,
2257 pub pNext : *const void,
2258 pub flags : BufferCreateFlags,
2259 pub size : DeviceSize,
2260 pub usage : BufferUsageFlags,
2261 pub sharingMode : SharingMode,
2262 pub queueFamilyIndexCount : u32,
2263 pub pQueueFamilyIndices : *const u32,
2264}
2265
2266#[repr(C)]
2267#[derive(Debug, Copy, Clone)]
2268pub struct BufferViewCreateInfo {
2269 pub sType : StructureType,
2270 pub pNext : *const void,
2271 pub flags : BufferViewCreateFlags,
2272 pub buffer : Buffer,
2273 pub format : Format,
2274 pub offset : DeviceSize,
2275 pub range : DeviceSize,
2276}
2277
2278#[repr(C)]
2279#[derive(Debug, Copy, Clone)]
2280pub struct ImageCreateInfo {
2281 pub sType : StructureType,
2282 pub pNext : *const void,
2283 pub flags : ImageCreateFlags,
2284 pub imageType : ImageType,
2285 pub format : Format,
2286 pub extent : Extent3D,
2287 pub mipLevels : u32,
2288 pub arrayLayers : u32,
2289 pub samples : SampleCountFlagBits,
2290 pub tiling : ImageTiling,
2291 pub usage : ImageUsageFlags,
2292 pub sharingMode : SharingMode,
2293 pub queueFamilyIndexCount : u32,
2294 pub pQueueFamilyIndices : *const u32,
2295 pub initialLayout : ImageLayout,
2296}
2297
2298#[repr(C)]
2299#[derive(Debug, Copy, Clone)]
2300pub struct SubresourceLayout {
2301 pub offset : DeviceSize,
2302 pub size : DeviceSize,
2303 pub rowPitch : DeviceSize,
2304 pub arrayPitch : DeviceSize,
2305 pub depthPitch : DeviceSize,
2306}
2307
2308#[repr(C)]
2309#[derive(Debug, Copy, Clone)]
2310pub struct ComponentMapping {
2311 pub r : ComponentSwizzle,
2312 pub g : ComponentSwizzle,
2313 pub b : ComponentSwizzle,
2314 pub a : ComponentSwizzle,
2315}
2316
2317#[repr(C)]
2318#[derive(Debug, Copy, Clone)]
2319pub struct ImageSubresourceRange {
2320 pub aspectMask : ImageAspectFlags,
2321 pub baseMipLevel : u32,
2322 pub levelCount : u32,
2323 pub baseArrayLayer : u32,
2324 pub layerCount : u32,
2325}
2326
2327#[repr(C)]
2328#[derive(Debug, Copy, Clone)]
2329pub struct ImageViewCreateInfo {
2330 pub sType : StructureType,
2331 pub pNext : *const void,
2332 pub flags : ImageViewCreateFlags,
2333 pub image : Image,
2334 pub viewType : ImageViewType,
2335 pub format : Format,
2336 pub components : ComponentMapping,
2337 pub subresourceRange : ImageSubresourceRange,
2338}
2339
2340#[repr(C)]
2341#[derive(Debug, Copy, Clone)]
2342pub struct ShaderModuleCreateInfo {
2343 pub sType : StructureType,
2344 pub pNext : *const void,
2345 pub flags : ShaderModuleCreateFlags,
2346 pub codeSize : usize,
2347 pub pCode : *const u32,
2348}
2349
2350#[repr(C)]
2351#[derive(Debug, Copy, Clone)]
2352pub struct PipelineCacheCreateInfo {
2353 pub sType : StructureType,
2354 pub pNext : *const void,
2355 pub flags : PipelineCacheCreateFlags,
2356 pub initialDataSize : usize,
2357 pub pInitialData : *const void,
2358}
2359
2360#[repr(C)]
2361#[derive(Debug, Copy, Clone)]
2362pub struct SpecializationMapEntry {
2363 pub constantID : u32,
2364 pub offset : u32,
2365 pub size : usize,
2366}
2367
2368#[repr(C)]
2369#[derive(Debug, Copy, Clone)]
2370pub struct SpecializationInfo {
2371 pub mapEntryCount : u32,
2372 pub pMapEntries : *const SpecializationMapEntry,
2373 pub dataSize : usize,
2374 pub pData : *const void,
2375}
2376
2377#[repr(C)]
2378#[derive(Debug, Copy, Clone)]
2379pub struct PipelineShaderStageCreateInfo {
2380 pub sType : StructureType,
2381 pub pNext : *const void,
2382 pub flags : PipelineShaderStageCreateFlags,
2383 pub stage : ShaderStageFlagBits,
2384 pub module : ShaderModule,
2385 pub pName : *const i8,
2386 pub pSpecializationInfo : *const SpecializationInfo,
2387}
2388
2389#[repr(C)]
2390#[derive(Debug, Copy, Clone)]
2391pub struct VertexInputBindingDescription {
2392 pub binding : u32,
2393 pub stride : u32,
2394 pub inputRate : VertexInputRate,
2395}
2396
2397#[repr(C)]
2398#[derive(Debug, Copy, Clone)]
2399pub struct VertexInputAttributeDescription {
2400 pub location : u32,
2401 pub binding : u32,
2402 pub format : Format,
2403 pub offset : u32,
2404}
2405
2406#[repr(C)]
2407#[derive(Debug, Copy, Clone)]
2408pub struct PipelineVertexInputStateCreateInfo {
2409 pub sType : StructureType,
2410 pub pNext : *const void,
2411 pub flags : PipelineVertexInputStateCreateFlags,
2412 pub vertexBindingDescriptionCount : u32,
2413 pub pVertexBindingDescriptions : *const VertexInputBindingDescription,
2414 pub vertexAttributeDescriptionCount : u32,
2415 pub pVertexAttributeDescriptions : *const VertexInputAttributeDescription,
2416}
2417
2418#[repr(C)]
2419#[derive(Debug, Copy, Clone)]
2420pub struct PipelineInputAssemblyStateCreateInfo {
2421 pub sType : StructureType,
2422 pub pNext : *const void,
2423 pub flags : PipelineInputAssemblyStateCreateFlags,
2424 pub topology : PrimitiveTopology,
2425 pub primitiveRestartEnable : Bool32,
2426}
2427
2428#[repr(C)]
2429#[derive(Debug, Copy, Clone)]
2430pub struct PipelineTessellationStateCreateInfo {
2431 pub sType : StructureType,
2432 pub pNext : *const void,
2433 pub flags : PipelineTessellationStateCreateFlags,
2434 pub patchControlPoints : u32,
2435}
2436
2437#[repr(C)]
2438#[derive(Debug, Copy, Clone)]
2439pub struct Viewport {
2440 pub x : f32,
2441 pub y : f32,
2442 pub width : f32,
2443 pub height : f32,
2444 pub minDepth : f32,
2445 pub maxDepth : f32,
2446}
2447
2448#[repr(C)]
2449#[derive(Debug, Copy, Clone)]
2450pub struct Offset2D {
2451 pub x : i32,
2452 pub y : i32,
2453}
2454
2455#[repr(C)]
2456#[derive(Debug, Copy, Clone)]
2457pub struct Extent2D {
2458 pub width : u32,
2459 pub height : u32,
2460}
2461
2462#[repr(C)]
2463#[derive(Debug, Copy, Clone)]
2464pub struct Rect2D {
2465 pub offset : Offset2D,
2466 pub extent : Extent2D,
2467}
2468
2469#[repr(C)]
2470#[derive(Debug, Copy, Clone)]
2471pub struct PipelineViewportStateCreateInfo {
2472 pub sType : StructureType,
2473 pub pNext : *const void,
2474 pub flags : PipelineViewportStateCreateFlags,
2475 pub viewportCount : u32,
2476 pub pViewports : *const Viewport,
2477 pub scissorCount : u32,
2478 pub pScissors : *const Rect2D,
2479}
2480
2481#[repr(C)]
2482#[derive(Debug, Copy, Clone)]
2483pub struct PipelineRasterizationStateCreateInfo {
2484 pub sType : StructureType,
2485 pub pNext : *const void,
2486 pub flags : PipelineRasterizationStateCreateFlags,
2487 pub depthClampEnable : Bool32,
2488 pub rasterizerDiscardEnable : Bool32,
2489 pub polygonMode : PolygonMode,
2490 pub cullMode : CullModeFlags,
2491 pub frontFace : FrontFace,
2492 pub depthBiasEnable : Bool32,
2493 pub depthBiasConstantFactor : f32,
2494 pub depthBiasClamp : f32,
2495 pub depthBiasSlopeFactor : f32,
2496 pub lineWidth : f32,
2497}
2498
2499#[repr(C)]
2500#[derive(Debug, Copy, Clone)]
2501pub struct PipelineMultisampleStateCreateInfo {
2502 pub sType : StructureType,
2503 pub pNext : *const void,
2504 pub flags : PipelineMultisampleStateCreateFlags,
2505 pub rasterizationSamples : SampleCountFlagBits,
2506 pub sampleShadingEnable : Bool32,
2507 pub minSampleShading : f32,
2508 pub pSampleMask : *const SampleMask,
2509 pub alphaToCoverageEnable : Bool32,
2510 pub alphaToOneEnable : Bool32,
2511}
2512
2513#[repr(C)]
2514#[derive(Debug, Copy, Clone)]
2515pub struct StencilOpState {
2516 pub failOp : StencilOp,
2517 pub passOp : StencilOp,
2518 pub depthFailOp : StencilOp,
2519 pub compareOp : CompareOp,
2520 pub compareMask : u32,
2521 pub writeMask : u32,
2522 pub reference : u32,
2523}
2524
2525#[repr(C)]
2526#[derive(Debug, Copy, Clone)]
2527pub struct PipelineDepthStencilStateCreateInfo {
2528 pub sType : StructureType,
2529 pub pNext : *const void,
2530 pub flags : PipelineDepthStencilStateCreateFlags,
2531 pub depthTestEnable : Bool32,
2532 pub depthWriteEnable : Bool32,
2533 pub depthCompareOp : CompareOp,
2534 pub depthBoundsTestEnable : Bool32,
2535 pub stencilTestEnable : Bool32,
2536 pub front : StencilOpState,
2537 pub back : StencilOpState,
2538 pub minDepthBounds : f32,
2539 pub maxDepthBounds : f32,
2540}
2541
2542#[repr(C)]
2543#[derive(Debug, Copy, Clone)]
2544pub struct PipelineColorBlendAttachmentState {
2545 pub blendEnable : Bool32,
2546 pub srcColorBlendFactor : BlendFactor,
2547 pub dstColorBlendFactor : BlendFactor,
2548 pub colorBlendOp : BlendOp,
2549 pub srcAlphaBlendFactor : BlendFactor,
2550 pub dstAlphaBlendFactor : BlendFactor,
2551 pub alphaBlendOp : BlendOp,
2552 pub colorWriteMask : ColorComponentFlags,
2553}
2554
2555#[repr(C)]
2556#[derive(Debug, Copy, Clone)]
2557pub struct PipelineColorBlendStateCreateInfo {
2558 pub sType : StructureType,
2559 pub pNext : *const void,
2560 pub flags : PipelineColorBlendStateCreateFlags,
2561 pub logicOpEnable : Bool32,
2562 pub logicOp : LogicOp,
2563 pub attachmentCount : u32,
2564 pub pAttachments : *const PipelineColorBlendAttachmentState,
2565 pub blendConstants : [f32;4],
2566}
2567
2568#[repr(C)]
2569#[derive(Debug, Copy, Clone)]
2570pub struct PipelineDynamicStateCreateInfo {
2571 pub sType : StructureType,
2572 pub pNext : *const void,
2573 pub flags : PipelineDynamicStateCreateFlags,
2574 pub dynamicStateCount : u32,
2575 pub pDynamicStates : *const DynamicState,
2576}
2577
2578#[repr(C)]
2579#[derive(Debug, Copy, Clone)]
2580pub struct GraphicsPipelineCreateInfo {
2581 pub sType : StructureType,
2582 pub pNext : *const void,
2583 pub flags : PipelineCreateFlags,
2584 pub stageCount : u32,
2585 pub pStages : *const PipelineShaderStageCreateInfo,
2586 pub pVertexInputState : *const PipelineVertexInputStateCreateInfo,
2587 pub pInputAssemblyState : *const PipelineInputAssemblyStateCreateInfo,
2588 pub pTessellationState : *const PipelineTessellationStateCreateInfo,
2589 pub pViewportState : *const PipelineViewportStateCreateInfo,
2590 pub pRasterizationState : *const PipelineRasterizationStateCreateInfo,
2591 pub pMultisampleState : *const PipelineMultisampleStateCreateInfo,
2592 pub pDepthStencilState : *const PipelineDepthStencilStateCreateInfo,
2593 pub pColorBlendState : *const PipelineColorBlendStateCreateInfo,
2594 pub pDynamicState : *const PipelineDynamicStateCreateInfo,
2595 pub layout : PipelineLayout,
2596 pub renderPass : RenderPass,
2597 pub subpass : u32,
2598 pub basePipelineHandle : Pipeline,
2599 pub basePipelineIndex : i32,
2600}
2601
2602#[repr(C)]
2603#[derive(Debug, Copy, Clone)]
2604pub struct ComputePipelineCreateInfo {
2605 pub sType : StructureType,
2606 pub pNext : *const void,
2607 pub flags : PipelineCreateFlags,
2608 pub stage : PipelineShaderStageCreateInfo,
2609 pub layout : PipelineLayout,
2610 pub basePipelineHandle : Pipeline,
2611 pub basePipelineIndex : i32,
2612}
2613
2614#[repr(C)]
2615#[derive(Debug, Copy, Clone)]
2616pub struct PushConstantRange {
2617 pub stageFlags : ShaderStageFlags,
2618 pub offset : u32,
2619 pub size : u32,
2620}
2621
2622#[repr(C)]
2623#[derive(Debug, Copy, Clone)]
2624pub struct PipelineLayoutCreateInfo {
2625 pub sType : StructureType,
2626 pub pNext : *const void,
2627 pub flags : PipelineLayoutCreateFlags,
2628 pub setLayoutCount : u32,
2629 pub pSetLayouts : *const DescriptorSetLayout,
2630 pub pushConstantRangeCount : u32,
2631 pub pPushConstantRanges : *const PushConstantRange,
2632}
2633
2634#[repr(C)]
2635#[derive(Debug, Copy, Clone)]
2636pub struct SamplerCreateInfo {
2637 pub sType : StructureType,
2638 pub pNext : *const void,
2639 pub flags : SamplerCreateFlags,
2640 pub magFilter : Filter,
2641 pub minFilter : Filter,
2642 pub mipmapMode : SamplerMipmapMode,
2643 pub addressModeU : SamplerAddressMode,
2644 pub addressModeV : SamplerAddressMode,
2645 pub addressModeW : SamplerAddressMode,
2646 pub mipLodBias : f32,
2647 pub anisotropyEnable : Bool32,
2648 pub maxAnisotropy : f32,
2649 pub compareEnable : Bool32,
2650 pub compareOp : CompareOp,
2651 pub minLod : f32,
2652 pub maxLod : f32,
2653 pub borderColor : BorderColor,
2654 pub unnormalizedCoordinates : Bool32,
2655}
2656
2657#[repr(C)]
2658#[derive(Debug, Copy, Clone)]
2659pub struct DescriptorSetLayoutBinding {
2660 pub binding : u32,
2661 pub descriptorType : DescriptorType,
2662 pub descriptorCount : u32,
2663 pub stageFlags : ShaderStageFlags,
2664 pub pImmutableSamplers : *const Sampler,
2665}
2666
2667#[repr(C)]
2668#[derive(Debug, Copy, Clone)]
2669pub struct DescriptorSetLayoutCreateInfo {
2670 pub sType : StructureType,
2671 pub pNext : *const void,
2672 pub flags : DescriptorSetLayoutCreateFlags,
2673 pub bindingCount : u32,
2674 pub pBindings : *const DescriptorSetLayoutBinding,
2675}
2676
2677#[repr(C)]
2678#[derive(Debug, Copy, Clone)]
2679pub struct DescriptorPoolSize {
2680 pub r#type : DescriptorType,
2681 pub descriptorCount : u32,
2682}
2683
2684#[repr(C)]
2685#[derive(Debug, Copy, Clone)]
2686pub struct DescriptorPoolCreateInfo {
2687 pub sType : StructureType,
2688 pub pNext : *const void,
2689 pub flags : DescriptorPoolCreateFlags,
2690 pub maxSets : u32,
2691 pub poolSizeCount : u32,
2692 pub pPoolSizes : *const DescriptorPoolSize,
2693}
2694
2695#[repr(C)]
2696#[derive(Debug, Copy, Clone)]
2697pub struct DescriptorSetAllocateInfo {
2698 pub sType : StructureType,
2699 pub pNext : *const void,
2700 pub descriptorPool : DescriptorPool,
2701 pub descriptorSetCount : u32,
2702 pub pSetLayouts : *const DescriptorSetLayout,
2703}
2704
2705#[repr(C)]
2706#[derive(Debug, Copy, Clone)]
2707pub struct DescriptorImageInfo {
2708 pub sampler : Sampler,
2709 pub imageView : ImageView,
2710 pub imageLayout : ImageLayout,
2711}
2712
2713#[repr(C)]
2714#[derive(Debug, Copy, Clone)]
2715pub struct DescriptorBufferInfo {
2716 pub buffer : Buffer,
2717 pub offset : DeviceSize,
2718 pub range : DeviceSize,
2719}
2720
2721#[repr(C)]
2722#[derive(Debug, Copy, Clone)]
2723pub struct WriteDescriptorSet {
2724 pub sType : StructureType,
2725 pub pNext : *const void,
2726 pub dstSet : DescriptorSet,
2727 pub dstBinding : u32,
2728 pub dstArrayElement : u32,
2729 pub descriptorCount : u32,
2730 pub descriptorType : DescriptorType,
2731 pub pImageInfo : *const DescriptorImageInfo,
2732 pub pBufferInfo : *const DescriptorBufferInfo,
2733 pub pTexelBufferView : *const BufferView,
2734}
2735
2736#[repr(C)]
2737#[derive(Debug, Copy, Clone)]
2738pub struct CopyDescriptorSet {
2739 pub sType : StructureType,
2740 pub pNext : *const void,
2741 pub srcSet : DescriptorSet,
2742 pub srcBinding : u32,
2743 pub srcArrayElement : u32,
2744 pub dstSet : DescriptorSet,
2745 pub dstBinding : u32,
2746 pub dstArrayElement : u32,
2747 pub descriptorCount : u32,
2748}
2749
2750#[repr(C)]
2751#[derive(Debug, Copy, Clone)]
2752pub struct FramebufferCreateInfo {
2753 pub sType : StructureType,
2754 pub pNext : *const void,
2755 pub flags : FramebufferCreateFlags,
2756 pub renderPass : RenderPass,
2757 pub attachmentCount : u32,
2758 pub pAttachments : *const ImageView,
2759 pub width : u32,
2760 pub height : u32,
2761 pub layers : u32,
2762}
2763
2764#[repr(C)]
2765#[derive(Debug, Copy, Clone)]
2766pub struct AttachmentDescription {
2767 pub flags : AttachmentDescriptionFlags,
2768 pub format : Format,
2769 pub samples : SampleCountFlagBits,
2770 pub loadOp : AttachmentLoadOp,
2771 pub storeOp : AttachmentStoreOp,
2772 pub stencilLoadOp : AttachmentLoadOp,
2773 pub stencilStoreOp : AttachmentStoreOp,
2774 pub initialLayout : ImageLayout,
2775 pub finalLayout : ImageLayout,
2776}
2777
2778#[repr(C)]
2779#[derive(Debug, Copy, Clone)]
2780pub struct AttachmentReference {
2781 pub attachment : u32,
2782 pub layout : ImageLayout,
2783}
2784
2785#[repr(C)]
2786#[derive(Debug, Copy, Clone)]
2787pub struct SubpassDescription {
2788 pub flags : SubpassDescriptionFlags,
2789 pub pipelineBindPoint : PipelineBindPoint,
2790 pub inputAttachmentCount : u32,
2791 pub pInputAttachments : *const AttachmentReference,
2792 pub colorAttachmentCount : u32,
2793 pub pColorAttachments : *const AttachmentReference,
2794 pub pResolveAttachments : *const AttachmentReference,
2795 pub pDepthStencilAttachment : *const AttachmentReference,
2796 pub preserveAttachmentCount : u32,
2797 pub pPreserveAttachments : *const u32,
2798}
2799
2800#[repr(C)]
2801#[derive(Debug, Copy, Clone)]
2802pub struct SubpassDependency {
2803 pub srcSubpass : u32,
2804 pub dstSubpass : u32,
2805 pub srcStageMask : PipelineStageFlags,
2806 pub dstStageMask : PipelineStageFlags,
2807 pub srcAccessMask : AccessFlags,
2808 pub dstAccessMask : AccessFlags,
2809 pub dependencyFlags : DependencyFlags,
2810}
2811
2812#[repr(C)]
2813#[derive(Debug, Copy, Clone)]
2814pub struct RenderPassCreateInfo {
2815 pub sType : StructureType,
2816 pub pNext : *const void,
2817 pub flags : RenderPassCreateFlags,
2818 pub attachmentCount : u32,
2819 pub pAttachments : *const AttachmentDescription,
2820 pub subpassCount : u32,
2821 pub pSubpasses : *const SubpassDescription,
2822 pub dependencyCount : u32,
2823 pub pDependencies : *const SubpassDependency,
2824}
2825
2826#[repr(C)]
2827#[derive(Debug, Copy, Clone)]
2828pub struct CommandPoolCreateInfo {
2829 pub sType : StructureType,
2830 pub pNext : *const void,
2831 pub flags : CommandPoolCreateFlags,
2832 pub queueFamilyIndex : u32,
2833}
2834
2835#[repr(C)]
2836#[derive(Debug, Copy, Clone)]
2837pub struct CommandBufferAllocateInfo {
2838 pub sType : StructureType,
2839 pub pNext : *const void,
2840 pub commandPool : CommandPool,
2841 pub level : CommandBufferLevel,
2842 pub commandBufferCount : u32,
2843}
2844
2845#[repr(C)]
2846#[derive(Debug, Copy, Clone)]
2847pub struct CommandBufferInheritanceInfo {
2848 pub sType : StructureType,
2849 pub pNext : *const void,
2850 pub renderPass : RenderPass,
2851 pub subpass : u32,
2852 pub framebuffer : Framebuffer,
2853 pub occlusionQueryEnable : Bool32,
2854 pub queryFlags : QueryControlFlags,
2855 pub pipelineStatistics : QueryPipelineStatisticFlags,
2856}
2857
2858#[repr(C)]
2859#[derive(Debug, Copy, Clone)]
2860pub struct CommandBufferBeginInfo {
2861 pub sType : StructureType,
2862 pub pNext : *const void,
2863 pub flags : CommandBufferUsageFlags,
2864 pub pInheritanceInfo : *const CommandBufferInheritanceInfo,
2865}
2866
2867#[repr(C)]
2868#[derive(Debug, Copy, Clone)]
2869pub struct BufferCopy {
2870 pub srcOffset : DeviceSize,
2871 pub dstOffset : DeviceSize,
2872 pub size : DeviceSize,
2873}
2874
2875#[repr(C)]
2876#[derive(Debug, Copy, Clone)]
2877pub struct ImageSubresourceLayers {
2878 pub aspectMask : ImageAspectFlags,
2879 pub mipLevel : u32,
2880 pub baseArrayLayer : u32,
2881 pub layerCount : u32,
2882}
2883
2884#[repr(C)]
2885#[derive(Debug, Copy, Clone)]
2886pub struct ImageCopy {
2887 pub srcSubresource : ImageSubresourceLayers,
2888 pub srcOffset : Offset3D,
2889 pub dstSubresource : ImageSubresourceLayers,
2890 pub dstOffset : Offset3D,
2891 pub extent : Extent3D,
2892}
2893
2894#[repr(C)]
2895#[derive(Debug, Copy, Clone)]
2896pub struct ImageBlit {
2897 pub srcSubresource : ImageSubresourceLayers,
2898 pub srcOffsets : [Offset3D;2],
2899 pub dstSubresource : ImageSubresourceLayers,
2900 pub dstOffsets : [Offset3D;2],
2901}
2902
2903#[repr(C)]
2904#[derive(Debug, Copy, Clone)]
2905pub struct BufferImageCopy {
2906 pub bufferOffset : DeviceSize,
2907 pub bufferRowLength : u32,
2908 pub bufferImageHeight : u32,
2909 pub imageSubresource : ImageSubresourceLayers,
2910 pub imageOffset : Offset3D,
2911 pub imageExtent : Extent3D,
2912}
2913
2914#[repr(C)]
2915#[derive(Debug, Copy, Clone)]
2916pub struct ClearColorValue {
2917 pub float32 : [f32;4],
2918}
2919
2920impl Default for ClearColorValue {
2921 fn default() -> ClearColorValue {
2922 ClearColorValue {
2923 float32 : [0 as f32; 4]
2924 }
2925 }
2926}
2927
2928#[repr(C)]
2929#[derive(Debug, Copy, Clone)]
2930pub struct ClearDepthStencilValue {
2931 pub depth : f32,
2932 pub stencil : u32,
2933}
2934
2935#[repr(C)]
2936#[derive(Debug, Copy, Clone)]
2937pub struct ClearValue {
2938 pub color : [f32;4],
2939}
2940
2941impl ClearValue {
2942 pub fn depth(depth : f32, stencil : f32) -> ClearValue {
2943 ClearValue {
2944 color : [depth, stencil, 0., 0.]
2945 }
2946 }
2947}
2948
2949impl Default for ClearValue {
2950 fn default() -> ClearValue {
2951 ClearValue {
2952 color : [0 as f32; 4]
2953 }
2954 }
2955}
2956
2957#[repr(C)]
2958#[derive(Debug, Copy, Clone)]
2959pub struct ClearAttachment {
2960 pub aspectMask : ImageAspectFlags,
2961 pub colorAttachment : u32,
2962 pub clearValue : ClearValue,
2963}
2964
2965#[repr(C)]
2966#[derive(Debug, Copy, Clone)]
2967pub struct ClearRect {
2968 pub rect : Rect2D,
2969 pub baseArrayLayer : u32,
2970 pub layerCount : u32,
2971}
2972
2973#[repr(C)]
2974#[derive(Debug, Copy, Clone)]
2975pub struct ImageResolve {
2976 pub srcSubresource : ImageSubresourceLayers,
2977 pub srcOffset : Offset3D,
2978 pub dstSubresource : ImageSubresourceLayers,
2979 pub dstOffset : Offset3D,
2980 pub extent : Extent3D,
2981}
2982
2983#[repr(C)]
2984#[derive(Debug, Copy, Clone)]
2985pub struct MemoryBarrier {
2986 pub sType : StructureType,
2987 pub pNext : *const void,
2988 pub srcAccessMask : AccessFlags,
2989 pub dstAccessMask : AccessFlags,
2990}
2991
2992#[repr(C)]
2993#[derive(Debug, Copy, Clone)]
2994pub struct BufferMemoryBarrier {
2995 pub sType : StructureType,
2996 pub pNext : *const void,
2997 pub srcAccessMask : AccessFlags,
2998 pub dstAccessMask : AccessFlags,
2999 pub srcQueueFamilyIndex : u32,
3000 pub dstQueueFamilyIndex : u32,
3001 pub buffer : Buffer,
3002 pub offset : DeviceSize,
3003 pub size : DeviceSize,
3004}
3005
3006#[repr(C)]
3007#[derive(Debug, Copy, Clone)]
3008pub struct ImageMemoryBarrier {
3009 pub sType : StructureType,
3010 pub pNext : *const void,
3011 pub srcAccessMask : AccessFlags,
3012 pub dstAccessMask : AccessFlags,
3013 pub oldLayout : ImageLayout,
3014 pub newLayout : ImageLayout,
3015 pub srcQueueFamilyIndex : u32,
3016 pub dstQueueFamilyIndex : u32,
3017 pub image : Image,
3018 pub subresourceRange : ImageSubresourceRange,
3019}
3020
3021#[repr(C)]
3022#[derive(Debug, Copy, Clone)]
3023pub struct RenderPassBeginInfo {
3024 pub sType : StructureType,
3025 pub pNext : *const void,
3026 pub renderPass : RenderPass,
3027 pub framebuffer : Framebuffer,
3028 pub renderArea : Rect2D,
3029 pub clearValueCount : u32,
3030 pub pClearValues : *const ClearValue,
3031}
3032
3033#[repr(C)]
3034#[derive(Debug, Copy, Clone)]
3035pub struct DispatchIndirectCommand {
3036 pub x : u32,
3037 pub y : u32,
3038 pub z : u32,
3039}
3040
3041#[repr(C)]
3042#[derive(Debug, Copy, Clone)]
3043pub struct DrawIndexedIndirectCommand {
3044 pub indexCount : u32,
3045 pub instanceCount : u32,
3046 pub firstIndex : u32,
3047 pub vertexOffset : i32,
3048 pub firstInstance : u32,
3049}
3050
3051#[repr(C)]
3052#[derive(Debug, Copy, Clone)]
3053pub struct DrawIndirectCommand {
3054 pub vertexCount : u32,
3055 pub instanceCount : u32,
3056 pub firstVertex : u32,
3057 pub firstInstance : u32,
3058}
3059
3060pub type SamplerYcbcrConversion = u64;
3061pub type DescriptorUpdateTemplate = u64;
3062pub type PointClippingBehavior = i32;
3063pub const POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES : i32 = 0;
3064pub const POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY : i32 = 1;
3065pub const POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR : i32 = POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES;
3066pub const POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR : i32 = POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY;
3067pub const POINT_CLIPPING_BEHAVIOR_MAX_ENUM : i32 = 0x7FFFFFF;
3068pub type TessellationDomainOrigin = i32;
3069pub const TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT : i32 = 0;
3070pub const TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT : i32 = 1;
3071pub const TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR : i32 = TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT;
3072pub const TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR : i32 = TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT;
3073pub const TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM : i32 = 0x7FFFFFF;
3074pub type SamplerYcbcrModelConversion = i32;
3075pub const SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY : i32 = 0;
3076pub const SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY : i32 = 1;
3077pub const SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 : i32 = 2;
3078pub const SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 : i32 = 3;
3079pub const SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 : i32 = 4;
3080pub const SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR : i32 = SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY;
3081pub const SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR : i32 = SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY;
3082pub const SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR : i32 = SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709;
3083pub const SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR : i32 = SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601;
3084pub const SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR : i32 = SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020;
3085pub const SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM : i32 = 0x7FFFFFF;
3086pub type SamplerYcbcrRange = i32;
3087pub const SAMPLER_YCBCR_RANGE_ITU_FULL : i32 = 0;
3088pub const SAMPLER_YCBCR_RANGE_ITU_NARROW : i32 = 1;
3089pub const SAMPLER_YCBCR_RANGE_ITU_FULL_KHR : i32 = SAMPLER_YCBCR_RANGE_ITU_FULL;
3090pub const SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR : i32 = SAMPLER_YCBCR_RANGE_ITU_NARROW;
3091pub const SAMPLER_YCBCR_RANGE_MAX_ENUM : i32 = 0x7FFFFFF;
3092pub type ChromaLocation = i32;
3093pub const CHROMA_LOCATION_COSITED_EVEN : i32 = 0;
3094pub const CHROMA_LOCATION_MIDPOINT : i32 = 1;
3095pub const CHROMA_LOCATION_COSITED_EVEN_KHR : i32 = CHROMA_LOCATION_COSITED_EVEN;
3096pub const CHROMA_LOCATION_MIDPOINT_KHR : i32 = CHROMA_LOCATION_MIDPOINT;
3097pub const CHROMA_LOCATION_MAX_ENUM : i32 = 0x7FFFFFF;
3098pub type DescriptorUpdateTemplateType = i32;
3099pub const DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET : i32 = 0;
3100pub const DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR : i32 = 1;
3101pub const DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR : i32 = DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET;
3102pub const DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM : i32 = 0x7FFFFFF;
3103pub type SubgroupFeatureFlagBits = i32;
3104pub const SUBGROUP_FEATURE_BASIC_BIT : i32 = 0x00000001;
3105pub const SUBGROUP_FEATURE_VOTE_BIT : i32 = 0x00000002;
3106pub const SUBGROUP_FEATURE_ARITHMETIC_BIT : i32 = 0x00000004;
3107pub const SUBGROUP_FEATURE_BALLOT_BIT : i32 = 0x00000008;
3108pub const SUBGROUP_FEATURE_SHUFFLE_BIT : i32 = 0x00000010;
3109pub const SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT : i32 = 0x00000020;
3110pub const SUBGROUP_FEATURE_CLUSTERED_BIT : i32 = 0x00000040;
3111pub const SUBGROUP_FEATURE_QUAD_BIT : i32 = 0x00000080;
3112pub const SUBGROUP_FEATURE_PARTITIONED_BIT_NV : i32 = 0x00000100;
3113pub const SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
3114pub type SubgroupFeatureFlags = i32;
3115pub type PeerMemoryFeatureFlagBits = i32;
3116pub const PEER_MEMORY_FEATURE_COPY_SRC_BIT : i32 = 0x00000001;
3117pub const PEER_MEMORY_FEATURE_COPY_DST_BIT : i32 = 0x00000002;
3118pub const PEER_MEMORY_FEATURE_GENERIC_SRC_BIT : i32 = 0x00000004;
3119pub const PEER_MEMORY_FEATURE_GENERIC_DST_BIT : i32 = 0x00000008;
3120pub const PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR : i32 = PEER_MEMORY_FEATURE_COPY_SRC_BIT;
3121pub const PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR : i32 = PEER_MEMORY_FEATURE_COPY_DST_BIT;
3122pub const PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR : i32 = PEER_MEMORY_FEATURE_GENERIC_SRC_BIT;
3123pub const PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR : i32 = PEER_MEMORY_FEATURE_GENERIC_DST_BIT;
3124pub const PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
3125pub type PeerMemoryFeatureFlags = i32;
3126pub type MemoryAllocateFlagBits = i32;
3127pub const MEMORY_ALLOCATE_DEVICE_MASK_BIT : i32 = 0x00000001;
3128pub const MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT : i32 = 0x00000002;
3129pub const MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT : i32 = 0x00000004;
3130pub const MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR : i32 = MEMORY_ALLOCATE_DEVICE_MASK_BIT;
3131pub const MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR : i32 = MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT;
3132pub const MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR : i32 = MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT;
3133pub const MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
3134pub type MemoryAllocateFlags = i32;
3135pub type CommandPoolTrimFlags = i32;
3136pub type DescriptorUpdateTemplateCreateFlags = i32;
3137pub type ExternalMemoryHandleTypeFlagBits = i32;
3138pub const EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT : i32 = 0x00000001;
3139pub const EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT : i32 = 0x00000002;
3140pub const EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT : i32 = 0x00000004;
3141pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT : i32 = 0x00000008;
3142pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT : i32 = 0x00000010;
3143pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT : i32 = 0x00000020;
3144pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT : i32 = 0x00000040;
3145pub const EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT : i32 = 0x00000200;
3146pub const EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID : i32 = 0x00000400;
3147pub const EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT : i32 = 0x00000080;
3148pub const EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT : i32 = 0x00000100;
3149pub const EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR : i32 = EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT;
3150pub const EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR : i32 = EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT;
3151pub const EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR : i32 = EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT;
3152pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR : i32 = EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT;
3153pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR : i32 = EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT;
3154pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR : i32 = EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT;
3155pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR : i32 = EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT;
3156pub const EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
3157pub type ExternalMemoryHandleTypeFlags = i32;
3158pub type ExternalMemoryFeatureFlagBits = i32;
3159pub const EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT : i32 = 0x00000001;
3160pub const EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT : i32 = 0x00000002;
3161pub const EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT : i32 = 0x00000004;
3162pub const EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR : i32 = EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT;
3163pub const EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR : i32 = EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT;
3164pub const EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR : i32 = EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT;
3165pub const EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
3166pub type ExternalMemoryFeatureFlags = i32;
3167pub type ExternalFenceHandleTypeFlagBits = i32;
3168pub const EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT : i32 = 0x00000001;
3169pub const EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT : i32 = 0x00000002;
3170pub const EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT : i32 = 0x00000004;
3171pub const EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT : i32 = 0x00000008;
3172pub const EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR : i32 = EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT;
3173pub const EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR : i32 = EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT;
3174pub const EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR : i32 = EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT;
3175pub const EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR : i32 = EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT;
3176pub const EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
3177pub type ExternalFenceHandleTypeFlags = i32;
3178pub type ExternalFenceFeatureFlagBits = i32;
3179pub const EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT : i32 = 0x00000001;
3180pub const EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT : i32 = 0x00000002;
3181pub const EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR : i32 = EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT;
3182pub const EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR : i32 = EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT;
3183pub const EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
3184pub type ExternalFenceFeatureFlags = i32;
3185pub type FenceImportFlagBits = i32;
3186pub const FENCE_IMPORT_TEMPORARY_BIT : i32 = 0x00000001;
3187pub const FENCE_IMPORT_TEMPORARY_BIT_KHR : i32 = FENCE_IMPORT_TEMPORARY_BIT;
3188pub const FENCE_IMPORT_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
3189pub type FenceImportFlags = i32;
3190pub type SemaphoreImportFlagBits = i32;
3191pub const SEMAPHORE_IMPORT_TEMPORARY_BIT : i32 = 0x00000001;
3192pub const SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR : i32 = SEMAPHORE_IMPORT_TEMPORARY_BIT;
3193pub const SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
3194pub type SemaphoreImportFlags = i32;
3195pub type ExternalSemaphoreHandleTypeFlagBits = i32;
3196pub const EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT : i32 = 0x00000001;
3197pub const EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT : i32 = 0x00000002;
3198pub const EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT : i32 = 0x00000004;
3199pub const EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT : i32 = 0x00000008;
3200pub const EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT : i32 = 0x00000010;
3201pub const EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR : i32 = EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT;
3202pub const EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR : i32 = EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT;
3203pub const EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR : i32 = EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT;
3204pub const EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR : i32 = EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT;
3205pub const EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR : i32 = EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT;
3206pub const EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
3207pub type ExternalSemaphoreHandleTypeFlags = i32;
3208pub type ExternalSemaphoreFeatureFlagBits = i32;
3209pub const EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT : i32 = 0x00000001;
3210pub const EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT : i32 = 0x00000002;
3211pub const EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR : i32 = EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT;
3212pub const EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR : i32 = EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT;
3213pub const EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
3214pub type ExternalSemaphoreFeatureFlags = i32;
3215
3216#[repr(C)]
3217#[derive(Debug, Copy, Clone)]
3218pub struct PhysicalDeviceSubgroupProperties {
3219 pub sType : StructureType,
3220 pub pNext : *mut void,
3221 pub subgroupSize : u32,
3222 pub supportedStages : ShaderStageFlags,
3223 pub supportedOperations : SubgroupFeatureFlags,
3224 pub quadOperationsInAllStages : Bool32,
3225}
3226
3227#[repr(C)]
3228#[derive(Debug, Copy, Clone)]
3229pub struct BindBufferMemoryInfo {
3230 pub sType : StructureType,
3231 pub pNext : *const void,
3232 pub buffer : Buffer,
3233 pub memory : DeviceMemory,
3234 pub memoryOffset : DeviceSize,
3235}
3236
3237#[repr(C)]
3238#[derive(Debug, Copy, Clone)]
3239pub struct BindImageMemoryInfo {
3240 pub sType : StructureType,
3241 pub pNext : *const void,
3242 pub image : Image,
3243 pub memory : DeviceMemory,
3244 pub memoryOffset : DeviceSize,
3245}
3246
3247#[repr(C)]
3248#[derive(Debug, Copy, Clone)]
3249pub struct PhysicalDevice16BitStorageFeatures {
3250 pub sType : StructureType,
3251 pub pNext : *mut void,
3252 pub storageBuffer16BitAccess : Bool32,
3253 pub uniformAndStorageBuffer16BitAccess : Bool32,
3254 pub storagePushConstant16 : Bool32,
3255 pub storageInputOutput16 : Bool32,
3256}
3257
3258#[repr(C)]
3259#[derive(Debug, Copy, Clone)]
3260pub struct MemoryDedicatedRequirements {
3261 pub sType : StructureType,
3262 pub pNext : *mut void,
3263 pub prefersDedicatedAllocation : Bool32,
3264 pub requiresDedicatedAllocation : Bool32,
3265}
3266
3267#[repr(C)]
3268#[derive(Debug, Copy, Clone)]
3269pub struct MemoryDedicatedAllocateInfo {
3270 pub sType : StructureType,
3271 pub pNext : *const void,
3272 pub image : Image,
3273 pub buffer : Buffer,
3274}
3275
3276#[repr(C)]
3277#[derive(Debug, Copy, Clone)]
3278pub struct MemoryAllocateFlagsInfo {
3279 pub sType : StructureType,
3280 pub pNext : *const void,
3281 pub flags : MemoryAllocateFlags,
3282 pub deviceMask : u32,
3283}
3284
3285#[repr(C)]
3286#[derive(Debug, Copy, Clone)]
3287pub struct DeviceGroupRenderPassBeginInfo {
3288 pub sType : StructureType,
3289 pub pNext : *const void,
3290 pub deviceMask : u32,
3291 pub deviceRenderAreaCount : u32,
3292 pub pDeviceRenderAreas : *const Rect2D,
3293}
3294
3295#[repr(C)]
3296#[derive(Debug, Copy, Clone)]
3297pub struct DeviceGroupCommandBufferBeginInfo {
3298 pub sType : StructureType,
3299 pub pNext : *const void,
3300 pub deviceMask : u32,
3301}
3302
3303#[repr(C)]
3304#[derive(Debug, Copy, Clone)]
3305pub struct DeviceGroupSubmitInfo {
3306 pub sType : StructureType,
3307 pub pNext : *const void,
3308 pub waitSemaphoreCount : u32,
3309 pub pWaitSemaphoreDeviceIndices : *const u32,
3310 pub commandBufferCount : u32,
3311 pub pCommandBufferDeviceMasks : *const u32,
3312 pub signalSemaphoreCount : u32,
3313 pub pSignalSemaphoreDeviceIndices : *const u32,
3314}
3315
3316#[repr(C)]
3317#[derive(Debug, Copy, Clone)]
3318pub struct DeviceGroupBindSparseInfo {
3319 pub sType : StructureType,
3320 pub pNext : *const void,
3321 pub resourceDeviceIndex : u32,
3322 pub memoryDeviceIndex : u32,
3323}
3324
3325#[repr(C)]
3326#[derive(Debug, Copy, Clone)]
3327pub struct BindBufferMemoryDeviceGroupInfo {
3328 pub sType : StructureType,
3329 pub pNext : *const void,
3330 pub deviceIndexCount : u32,
3331 pub pDeviceIndices : *const u32,
3332}
3333
3334#[repr(C)]
3335#[derive(Debug, Copy, Clone)]
3336pub struct BindImageMemoryDeviceGroupInfo {
3337 pub sType : StructureType,
3338 pub pNext : *const void,
3339 pub deviceIndexCount : u32,
3340 pub pDeviceIndices : *const u32,
3341 pub splitInstanceBindRegionCount : u32,
3342 pub pSplitInstanceBindRegions : *const Rect2D,
3343}
3344
3345#[repr(C)]
3346#[derive(Debug, Copy, Clone)]
3347pub struct PhysicalDeviceGroupProperties {
3348 pub sType : StructureType,
3349 pub pNext : *mut void,
3350 pub physicalDeviceCount : u32,
3351 pub physicalDevices : [PhysicalDevice;MAX_DEVICE_GROUP_SIZE],
3352 pub subsetAllocation : Bool32,
3353}
3354
3355#[repr(C)]
3356#[derive(Debug, Copy, Clone)]
3357pub struct DeviceGroupDeviceCreateInfo {
3358 pub sType : StructureType,
3359 pub pNext : *const void,
3360 pub physicalDeviceCount : u32,
3361 pub pPhysicalDevices : *const PhysicalDevice,
3362}
3363
3364#[repr(C)]
3365#[derive(Debug, Copy, Clone)]
3366pub struct BufferMemoryRequirementsInfo2 {
3367 pub sType : StructureType,
3368 pub pNext : *const void,
3369 pub buffer : Buffer,
3370}
3371
3372#[repr(C)]
3373#[derive(Debug, Copy, Clone)]
3374pub struct ImageMemoryRequirementsInfo2 {
3375 pub sType : StructureType,
3376 pub pNext : *const void,
3377 pub image : Image,
3378}
3379
3380#[repr(C)]
3381#[derive(Debug, Copy, Clone)]
3382pub struct ImageSparseMemoryRequirementsInfo2 {
3383 pub sType : StructureType,
3384 pub pNext : *const void,
3385 pub image : Image,
3386}
3387
3388#[repr(C)]
3389#[derive(Debug, Copy, Clone)]
3390pub struct MemoryRequirements2 {
3391 pub sType : StructureType,
3392 pub pNext : *mut void,
3393 pub memoryRequirements : MemoryRequirements,
3394}
3395
3396pub type MemoryRequirements2KHR = MemoryRequirements2;
3397
3398#[repr(C)]
3399#[derive(Debug, Copy, Clone)]
3400pub struct SparseImageMemoryRequirements2 {
3401 pub sType : StructureType,
3402 pub pNext : *mut void,
3403 pub memoryRequirements : SparseImageMemoryRequirements,
3404}
3405
3406#[repr(C)]
3407#[derive(Debug, Copy, Clone)]
3408pub struct PhysicalDeviceFeatures2 {
3409 pub sType : StructureType,
3410 pub pNext : *mut void,
3411 pub features : PhysicalDeviceFeatures,
3412}
3413
3414#[repr(C)]
3415#[derive(Copy, Clone)]
3416pub struct PhysicalDeviceProperties2 {
3417 pub sType : StructureType,
3418 pub pNext : *mut void,
3419 pub properties : PhysicalDeviceProperties,
3420}
3421
3422#[repr(C)]
3423#[derive(Debug, Copy, Clone)]
3424pub struct FormatProperties2 {
3425 pub sType : StructureType,
3426 pub pNext : *mut void,
3427 pub formatProperties : FormatProperties,
3428}
3429
3430#[repr(C)]
3431#[derive(Debug, Copy, Clone)]
3432pub struct ImageFormatProperties2 {
3433 pub sType : StructureType,
3434 pub pNext : *mut void,
3435 pub imageFormatProperties : ImageFormatProperties,
3436}
3437
3438#[repr(C)]
3439#[derive(Debug, Copy, Clone)]
3440pub struct PhysicalDeviceImageFormatInfo2 {
3441 pub sType : StructureType,
3442 pub pNext : *const void,
3443 pub format : Format,
3444 pub r#type : ImageType,
3445 pub tiling : ImageTiling,
3446 pub usage : ImageUsageFlags,
3447 pub flags : ImageCreateFlags,
3448}
3449
3450#[repr(C)]
3451#[derive(Debug, Copy, Clone)]
3452pub struct QueueFamilyProperties2 {
3453 pub sType : StructureType,
3454 pub pNext : *mut void,
3455 pub queueFamilyProperties : QueueFamilyProperties,
3456}
3457
3458#[repr(C)]
3459#[derive(Debug, Copy, Clone)]
3460pub struct PhysicalDeviceMemoryProperties2 {
3461 pub sType : StructureType,
3462 pub pNext : *mut void,
3463 pub memoryProperties : PhysicalDeviceMemoryProperties,
3464}
3465
3466#[repr(C)]
3467#[derive(Debug, Copy, Clone)]
3468pub struct SparseImageFormatProperties2 {
3469 pub sType : StructureType,
3470 pub pNext : *mut void,
3471 pub properties : SparseImageFormatProperties,
3472}
3473
3474#[repr(C)]
3475#[derive(Debug, Copy, Clone)]
3476pub struct PhysicalDeviceSparseImageFormatInfo2 {
3477 pub sType : StructureType,
3478 pub pNext : *const void,
3479 pub format : Format,
3480 pub r#type : ImageType,
3481 pub samples : SampleCountFlagBits,
3482 pub usage : ImageUsageFlags,
3483 pub tiling : ImageTiling,
3484}
3485
3486#[repr(C)]
3487#[derive(Debug, Copy, Clone)]
3488pub struct PhysicalDevicePointClippingProperties {
3489 pub sType : StructureType,
3490 pub pNext : *mut void,
3491 pub pointClippingBehavior : PointClippingBehavior,
3492}
3493
3494#[repr(C)]
3495#[derive(Debug, Copy, Clone)]
3496pub struct InputAttachmentAspectReference {
3497 pub subpass : u32,
3498 pub inputAttachmentIndex : u32,
3499 pub aspectMask : ImageAspectFlags,
3500}
3501
3502#[repr(C)]
3503#[derive(Debug, Copy, Clone)]
3504pub struct RenderPassInputAttachmentAspectCreateInfo {
3505 pub sType : StructureType,
3506 pub pNext : *const void,
3507 pub aspectReferenceCount : u32,
3508 pub pAspectReferences : *const InputAttachmentAspectReference,
3509}
3510
3511#[repr(C)]
3512#[derive(Debug, Copy, Clone)]
3513pub struct ImageViewUsageCreateInfo {
3514 pub sType : StructureType,
3515 pub pNext : *const void,
3516 pub usage : ImageUsageFlags,
3517}
3518
3519#[repr(C)]
3520#[derive(Debug, Copy, Clone)]
3521pub struct PipelineTessellationDomainOriginStateCreateInfo {
3522 pub sType : StructureType,
3523 pub pNext : *const void,
3524 pub domainOrigin : TessellationDomainOrigin,
3525}
3526
3527#[repr(C)]
3528#[derive(Debug, Copy, Clone)]
3529pub struct RenderPassMultiviewCreateInfo {
3530 pub sType : StructureType,
3531 pub pNext : *const void,
3532 pub subpassCount : u32,
3533 pub pViewMasks : *const u32,
3534 pub dependencyCount : u32,
3535 pub pViewOffsets : *const i32,
3536 pub correlationMaskCount : u32,
3537 pub pCorrelationMasks : *const u32,
3538}
3539
3540#[repr(C)]
3541#[derive(Debug, Copy, Clone)]
3542pub struct PhysicalDeviceMultiviewFeatures {
3543 pub sType : StructureType,
3544 pub pNext : *mut void,
3545 pub multiview : Bool32,
3546 pub multiviewGeometryShader : Bool32,
3547 pub multiviewTessellationShader : Bool32,
3548}
3549
3550#[repr(C)]
3551#[derive(Debug, Copy, Clone)]
3552pub struct PhysicalDeviceMultiviewProperties {
3553 pub sType : StructureType,
3554 pub pNext : *mut void,
3555 pub maxMultiviewViewCount : u32,
3556 pub maxMultiviewInstanceIndex : u32,
3557}
3558
3559#[repr(C)]
3560#[derive(Debug, Copy, Clone)]
3561pub struct PhysicalDeviceVariablePointersFeatures {
3562 pub sType : StructureType,
3563 pub pNext : *mut void,
3564 pub variablePointersStorageBuffer : Bool32,
3565 pub variablePointers : Bool32,
3566}
3567
3568pub type PhysicalDeviceVariablePointerFeatures = PhysicalDeviceVariablePointersFeatures;
3569
3570#[repr(C)]
3571#[derive(Debug, Copy, Clone)]
3572pub struct PhysicalDeviceProtectedMemoryFeatures {
3573 pub sType : StructureType,
3574 pub pNext : *mut void,
3575 pub protectedMemory : Bool32,
3576}
3577
3578#[repr(C)]
3579#[derive(Debug, Copy, Clone)]
3580pub struct PhysicalDeviceProtectedMemoryProperties {
3581 pub sType : StructureType,
3582 pub pNext : *mut void,
3583 pub protectedNoFault : Bool32,
3584}
3585
3586#[repr(C)]
3587#[derive(Debug, Copy, Clone)]
3588pub struct DeviceQueueInfo2 {
3589 pub sType : StructureType,
3590 pub pNext : *const void,
3591 pub flags : DeviceQueueCreateFlags,
3592 pub queueFamilyIndex : u32,
3593 pub queueIndex : u32,
3594}
3595
3596#[repr(C)]
3597#[derive(Debug, Copy, Clone)]
3598pub struct ProtectedSubmitInfo {
3599 pub sType : StructureType,
3600 pub pNext : *const void,
3601 pub protectedSubmit : Bool32,
3602}
3603
3604#[repr(C)]
3605#[derive(Debug, Copy, Clone)]
3606pub struct SamplerYcbcrConversionCreateInfo {
3607 pub sType : StructureType,
3608 pub pNext : *const void,
3609 pub format : Format,
3610 pub ycbcrModel : SamplerYcbcrModelConversion,
3611 pub ycbcrRange : SamplerYcbcrRange,
3612 pub components : ComponentMapping,
3613 pub xChromaOffset : ChromaLocation,
3614 pub yChromaOffset : ChromaLocation,
3615 pub chromaFilter : Filter,
3616 pub forceExplicitReconstruction : Bool32,
3617}
3618
3619#[repr(C)]
3620#[derive(Debug, Copy, Clone)]
3621pub struct SamplerYcbcrConversionInfo {
3622 pub sType : StructureType,
3623 pub pNext : *const void,
3624 pub conversion : SamplerYcbcrConversion,
3625}
3626
3627#[repr(C)]
3628#[derive(Debug, Copy, Clone)]
3629pub struct BindImagePlaneMemoryInfo {
3630 pub sType : StructureType,
3631 pub pNext : *const void,
3632 pub planeAspect : ImageAspectFlagBits,
3633}
3634
3635#[repr(C)]
3636#[derive(Debug, Copy, Clone)]
3637pub struct ImagePlaneMemoryRequirementsInfo {
3638 pub sType : StructureType,
3639 pub pNext : *const void,
3640 pub planeAspect : ImageAspectFlagBits,
3641}
3642
3643#[repr(C)]
3644#[derive(Debug, Copy, Clone)]
3645pub struct PhysicalDeviceSamplerYcbcrConversionFeatures {
3646 pub sType : StructureType,
3647 pub pNext : *mut void,
3648 pub samplerYcbcrConversion : Bool32,
3649}
3650
3651#[repr(C)]
3652#[derive(Debug, Copy, Clone)]
3653pub struct SamplerYcbcrConversionImageFormatProperties {
3654 pub sType : StructureType,
3655 pub pNext : *mut void,
3656 pub combinedImageSamplerDescriptorCount : u32,
3657}
3658
3659#[repr(C)]
3660#[derive(Debug, Copy, Clone)]
3661pub struct DescriptorUpdateTemplateEntry {
3662 pub dstBinding : u32,
3663 pub dstArrayElement : u32,
3664 pub descriptorCount : u32,
3665 pub descriptorType : DescriptorType,
3666 pub offset : usize,
3667 pub stride : usize,
3668}
3669
3670#[repr(C)]
3671#[derive(Debug, Copy, Clone)]
3672pub struct DescriptorUpdateTemplateCreateInfo {
3673 pub sType : StructureType,
3674 pub pNext : *const void,
3675 pub flags : DescriptorUpdateTemplateCreateFlags,
3676 pub descriptorUpdateEntryCount : u32,
3677 pub pDescriptorUpdateEntries : *const DescriptorUpdateTemplateEntry,
3678 pub templateType : DescriptorUpdateTemplateType,
3679 pub descriptorSetLayout : DescriptorSetLayout,
3680 pub pipelineBindPoint : PipelineBindPoint,
3681 pub pipelineLayout : PipelineLayout,
3682 pub set : u32,
3683}
3684
3685#[repr(C)]
3686#[derive(Debug, Copy, Clone)]
3687pub struct ExternalMemoryProperties {
3688 pub externalMemoryFeatures : ExternalMemoryFeatureFlags,
3689 pub exportFromImportedHandleTypes : ExternalMemoryHandleTypeFlags,
3690 pub compatibleHandleTypes : ExternalMemoryHandleTypeFlags,
3691}
3692
3693#[repr(C)]
3694#[derive(Debug, Copy, Clone)]
3695pub struct PhysicalDeviceExternalImageFormatInfo {
3696 pub sType : StructureType,
3697 pub pNext : *const void,
3698 pub handleType : ExternalMemoryHandleTypeFlagBits,
3699}
3700
3701#[repr(C)]
3702#[derive(Debug, Copy, Clone)]
3703pub struct ExternalImageFormatProperties {
3704 pub sType : StructureType,
3705 pub pNext : *mut void,
3706 pub externalMemoryProperties : ExternalMemoryProperties,
3707}
3708
3709#[repr(C)]
3710#[derive(Debug, Copy, Clone)]
3711pub struct PhysicalDeviceExternalBufferInfo {
3712 pub sType : StructureType,
3713 pub pNext : *const void,
3714 pub flags : BufferCreateFlags,
3715 pub usage : BufferUsageFlags,
3716 pub handleType : ExternalMemoryHandleTypeFlagBits,
3717}
3718
3719#[repr(C)]
3720#[derive(Debug, Copy, Clone)]
3721pub struct ExternalBufferProperties {
3722 pub sType : StructureType,
3723 pub pNext : *mut void,
3724 pub externalMemoryProperties : ExternalMemoryProperties,
3725}
3726
3727#[repr(C)]
3728#[derive(Debug, Copy, Clone)]
3729pub struct PhysicalDeviceIDProperties {
3730 pub sType : StructureType,
3731 pub pNext : *mut void,
3732 pub deviceUUID : [u8;UUID_SIZE],
3733 pub driverUUID : [u8;UUID_SIZE],
3734 pub deviceLUID : [u8;LUID_SIZE],
3735 pub deviceNodeMask : u32,
3736 pub deviceLUIDValid : Bool32,
3737}
3738
3739#[repr(C)]
3740#[derive(Debug, Copy, Clone)]
3741pub struct ExternalMemoryImageCreateInfo {
3742 pub sType : StructureType,
3743 pub pNext : *const void,
3744 pub handleTypes : ExternalMemoryHandleTypeFlags,
3745}
3746
3747#[repr(C)]
3748#[derive(Debug, Copy, Clone)]
3749pub struct ExternalMemoryBufferCreateInfo {
3750 pub sType : StructureType,
3751 pub pNext : *const void,
3752 pub handleTypes : ExternalMemoryHandleTypeFlags,
3753}
3754
3755#[repr(C)]
3756#[derive(Debug, Copy, Clone)]
3757pub struct ExportMemoryAllocateInfo {
3758 pub sType : StructureType,
3759 pub pNext : *const void,
3760 pub handleTypes : ExternalMemoryHandleTypeFlags,
3761}
3762
3763#[repr(C)]
3764#[derive(Debug, Copy, Clone)]
3765pub struct PhysicalDeviceExternalFenceInfo {
3766 pub sType : StructureType,
3767 pub pNext : *const void,
3768 pub handleType : ExternalFenceHandleTypeFlagBits,
3769}
3770
3771#[repr(C)]
3772#[derive(Debug, Copy, Clone)]
3773pub struct ExternalFenceProperties {
3774 pub sType : StructureType,
3775 pub pNext : *mut void,
3776 pub exportFromImportedHandleTypes : ExternalFenceHandleTypeFlags,
3777 pub compatibleHandleTypes : ExternalFenceHandleTypeFlags,
3778 pub externalFenceFeatures : ExternalFenceFeatureFlags,
3779}
3780
3781#[repr(C)]
3782#[derive(Debug, Copy, Clone)]
3783pub struct ExportFenceCreateInfo {
3784 pub sType : StructureType,
3785 pub pNext : *const void,
3786 pub handleTypes : ExternalFenceHandleTypeFlags,
3787}
3788
3789#[repr(C)]
3790#[derive(Debug, Copy, Clone)]
3791pub struct ExportSemaphoreCreateInfo {
3792 pub sType : StructureType,
3793 pub pNext : *const void,
3794 pub handleTypes : ExternalSemaphoreHandleTypeFlags,
3795}
3796
3797#[repr(C)]
3798#[derive(Debug, Copy, Clone)]
3799pub struct PhysicalDeviceExternalSemaphoreInfo {
3800 pub sType : StructureType,
3801 pub pNext : *const void,
3802 pub handleType : ExternalSemaphoreHandleTypeFlagBits,
3803}
3804
3805#[repr(C)]
3806#[derive(Debug, Copy, Clone)]
3807pub struct ExternalSemaphoreProperties {
3808 pub sType : StructureType,
3809 pub pNext : *mut void,
3810 pub exportFromImportedHandleTypes : ExternalSemaphoreHandleTypeFlags,
3811 pub compatibleHandleTypes : ExternalSemaphoreHandleTypeFlags,
3812 pub externalSemaphoreFeatures : ExternalSemaphoreFeatureFlags,
3813}
3814
3815#[repr(C)]
3816#[derive(Debug, Copy, Clone)]
3817pub struct PhysicalDeviceMaintenance3Properties {
3818 pub sType : StructureType,
3819 pub pNext : *mut void,
3820 pub maxPerSetDescriptors : u32,
3821 pub maxMemoryAllocationSize : DeviceSize,
3822}
3823
3824#[repr(C)]
3825#[derive(Debug, Copy, Clone)]
3826pub struct DescriptorSetLayoutSupport {
3827 pub sType : StructureType,
3828 pub pNext : *mut void,
3829 pub supported : Bool32,
3830}
3831
3832#[repr(C)]
3833#[derive(Debug, Copy, Clone)]
3834pub struct PhysicalDeviceShaderDrawParametersFeatures {
3835 pub sType : StructureType,
3836 pub pNext : *mut void,
3837 pub shaderDrawParameters : Bool32,
3838}
3839
3840pub type PhysicalDeviceShaderDrawParameterFeatures = PhysicalDeviceShaderDrawParametersFeatures;
3841pub type DeviceAddress = u64;
3842pub type DriverId = i32;
3843pub const DRIVER_ID_AMD_PROPRIETARY : i32 = 1;
3844pub const DRIVER_ID_AMD_OPEN_SOURCE : i32 = 2;
3845pub const DRIVER_ID_MESA_RADV : i32 = 3;
3846pub const DRIVER_ID_NVIDIA_PROPRIETARY : i32 = 4;
3847pub const DRIVER_ID_INTEL_PROPRIETARY_WINDOWS : i32 = 5;
3848pub const DRIVER_ID_INTEL_OPEN_SOURCE_MESA : i32 = 6;
3849pub const DRIVER_ID_IMAGINATION_PROPRIETARY : i32 = 7;
3850pub const DRIVER_ID_QUALCOMM_PROPRIETARY : i32 = 8;
3851pub const DRIVER_ID_ARM_PROPRIETARY : i32 = 9;
3852pub const DRIVER_ID_GOOGLE_SWIFTSHADER : i32 = 10;
3853pub const DRIVER_ID_GGP_PROPRIETARY : i32 = 11;
3854pub const DRIVER_ID_BROADCOM_PROPRIETARY : i32 = 12;
3855pub const DRIVER_ID_MESA_LLVMPIPE : i32 = 13;
3856pub const DRIVER_ID_AMD_PROPRIETARY_KHR : i32 = DRIVER_ID_AMD_PROPRIETARY;
3857pub const DRIVER_ID_AMD_OPEN_SOURCE_KHR : i32 = DRIVER_ID_AMD_OPEN_SOURCE;
3858pub const DRIVER_ID_MESA_RADV_KHR : i32 = DRIVER_ID_MESA_RADV;
3859pub const DRIVER_ID_NVIDIA_PROPRIETARY_KHR : i32 = DRIVER_ID_NVIDIA_PROPRIETARY;
3860pub const DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR : i32 = DRIVER_ID_INTEL_PROPRIETARY_WINDOWS;
3861pub const DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR : i32 = DRIVER_ID_INTEL_OPEN_SOURCE_MESA;
3862pub const DRIVER_ID_IMAGINATION_PROPRIETARY_KHR : i32 = DRIVER_ID_IMAGINATION_PROPRIETARY;
3863pub const DRIVER_ID_QUALCOMM_PROPRIETARY_KHR : i32 = DRIVER_ID_QUALCOMM_PROPRIETARY;
3864pub const DRIVER_ID_ARM_PROPRIETARY_KHR : i32 = DRIVER_ID_ARM_PROPRIETARY;
3865pub const DRIVER_ID_GOOGLE_SWIFTSHADER_KHR : i32 = DRIVER_ID_GOOGLE_SWIFTSHADER;
3866pub const DRIVER_ID_GGP_PROPRIETARY_KHR : i32 = DRIVER_ID_GGP_PROPRIETARY;
3867pub const DRIVER_ID_BROADCOM_PROPRIETARY_KHR : i32 = DRIVER_ID_BROADCOM_PROPRIETARY;
3868pub const DRIVER_ID_MAX_ENUM : i32 = 0x7FFFFFF;
3869pub type ShaderFloatControlsIndependence = i32;
3870pub const SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY : i32 = 0;
3871pub const SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL : i32 = 1;
3872pub const SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE : i32 = 2;
3873pub const SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR : i32 = SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY;
3874pub const SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR : i32 = SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL;
3875pub const SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR : i32 = SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE;
3876pub const SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM : i32 = 0x7FFFFFF;
3877pub type SamplerReductionMode = i32;
3878pub const SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE : i32 = 0;
3879pub const SAMPLER_REDUCTION_MODE_MIN : i32 = 1;
3880pub const SAMPLER_REDUCTION_MODE_MAX : i32 = 2;
3881pub const SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT : i32 = SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE;
3882pub const SAMPLER_REDUCTION_MODE_MIN_EXT : i32 = SAMPLER_REDUCTION_MODE_MIN;
3883pub const SAMPLER_REDUCTION_MODE_MAX_EXT : i32 = SAMPLER_REDUCTION_MODE_MAX;
3884pub const SAMPLER_REDUCTION_MODE_MAX_ENUM : i32 = 0x7FFFFFF;
3885pub type SemaphoreType = i32;
3886pub const SEMAPHORE_TYPE_BINARY : i32 = 0;
3887pub const SEMAPHORE_TYPE_TIMELINE : i32 = 1;
3888pub const SEMAPHORE_TYPE_BINARY_KHR : i32 = SEMAPHORE_TYPE_BINARY;
3889pub const SEMAPHORE_TYPE_TIMELINE_KHR : i32 = SEMAPHORE_TYPE_TIMELINE;
3890pub const SEMAPHORE_TYPE_MAX_ENUM : i32 = 0x7FFFFFF;
3891pub type ResolveModeFlagBits = i32;
3892pub const RESOLVE_MODE_NONE : i32 = 0;
3893pub const RESOLVE_MODE_SAMPLE_ZERO_BIT : i32 = 0x00000001;
3894pub const RESOLVE_MODE_AVERAGE_BIT : i32 = 0x00000002;
3895pub const RESOLVE_MODE_MIN_BIT : i32 = 0x00000004;
3896pub const RESOLVE_MODE_MAX_BIT : i32 = 0x00000008;
3897pub const RESOLVE_MODE_NONE_KHR : i32 = RESOLVE_MODE_NONE;
3898pub const RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR : i32 = RESOLVE_MODE_SAMPLE_ZERO_BIT;
3899pub const RESOLVE_MODE_AVERAGE_BIT_KHR : i32 = RESOLVE_MODE_AVERAGE_BIT;
3900pub const RESOLVE_MODE_MIN_BIT_KHR : i32 = RESOLVE_MODE_MIN_BIT;
3901pub const RESOLVE_MODE_MAX_BIT_KHR : i32 = RESOLVE_MODE_MAX_BIT;
3902pub const RESOLVE_MODE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
3903pub type ResolveModeFlags = i32;
3904pub type DescriptorBindingFlagBits = i32;
3905pub const DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT : i32 = 0x00000001;
3906pub const DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT : i32 = 0x00000002;
3907pub const DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT : i32 = 0x00000004;
3908pub const DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT : i32 = 0x00000008;
3909pub const DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT : i32 = DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT;
3910pub const DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT : i32 = DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT;
3911pub const DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT : i32 = DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT;
3912pub const DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT : i32 = DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT;
3913pub const DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
3914pub type DescriptorBindingFlags = i32;
3915pub type SemaphoreWaitFlagBits = i32;
3916pub const SEMAPHORE_WAIT_ANY_BIT : i32 = 0x00000001;
3917pub const SEMAPHORE_WAIT_ANY_BIT_KHR : i32 = SEMAPHORE_WAIT_ANY_BIT;
3918pub const SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
3919pub type SemaphoreWaitFlags = i32;
3920
3921#[repr(C)]
3922#[derive(Debug, Copy, Clone)]
3923pub struct PhysicalDeviceVulkan11Features {
3924 pub sType : StructureType,
3925 pub pNext : *mut void,
3926 pub storageBuffer16BitAccess : Bool32,
3927 pub uniformAndStorageBuffer16BitAccess : Bool32,
3928 pub storagePushConstant16 : Bool32,
3929 pub storageInputOutput16 : Bool32,
3930 pub multiview : Bool32,
3931 pub multiviewGeometryShader : Bool32,
3932 pub multiviewTessellationShader : Bool32,
3933 pub variablePointersStorageBuffer : Bool32,
3934 pub variablePointers : Bool32,
3935 pub protectedMemory : Bool32,
3936 pub samplerYcbcrConversion : Bool32,
3937 pub shaderDrawParameters : Bool32,
3938}
3939
3940#[repr(C)]
3941#[derive(Debug, Copy, Clone)]
3942pub struct PhysicalDeviceVulkan11Properties {
3943 pub sType : StructureType,
3944 pub pNext : *mut void,
3945 pub deviceUUID : [u8;UUID_SIZE],
3946 pub driverUUID : [u8;UUID_SIZE],
3947 pub deviceLUID : [u8;LUID_SIZE],
3948 pub deviceNodeMask : u32,
3949 pub deviceLUIDValid : Bool32,
3950 pub subgroupSize : u32,
3951 pub subgroupSupportedStages : ShaderStageFlags,
3952 pub subgroupSupportedOperations : SubgroupFeatureFlags,
3953 pub subgroupQuadOperationsInAllStages : Bool32,
3954 pub pointClippingBehavior : PointClippingBehavior,
3955 pub maxMultiviewViewCount : u32,
3956 pub maxMultiviewInstanceIndex : u32,
3957 pub protectedNoFault : Bool32,
3958 pub maxPerSetDescriptors : u32,
3959 pub maxMemoryAllocationSize : DeviceSize,
3960}
3961
3962#[repr(C)]
3963#[derive(Debug, Copy, Clone)]
3964pub struct PhysicalDeviceVulkan12Features {
3965 pub sType : StructureType,
3966 pub pNext : *mut void,
3967 pub samplerMirrorClampToEdge : Bool32,
3968 pub drawIndirectCount : Bool32,
3969 pub storageBuffer8BitAccess : Bool32,
3970 pub uniformAndStorageBuffer8BitAccess : Bool32,
3971 pub storagePushConstant8 : Bool32,
3972 pub shaderBufferInt64Atomics : Bool32,
3973 pub shaderSharedInt64Atomics : Bool32,
3974 pub shaderFloat16 : Bool32,
3975 pub shaderInt8 : Bool32,
3976 pub descriptorIndexing : Bool32,
3977 pub shaderInputAttachmentArrayDynamicIndexing : Bool32,
3978 pub shaderUniformTexelBufferArrayDynamicIndexing : Bool32,
3979 pub shaderStorageTexelBufferArrayDynamicIndexing : Bool32,
3980 pub shaderUniformBufferArrayNonUniformIndexing : Bool32,
3981 pub shaderSampledImageArrayNonUniformIndexing : Bool32,
3982 pub shaderStorageBufferArrayNonUniformIndexing : Bool32,
3983 pub shaderStorageImageArrayNonUniformIndexing : Bool32,
3984 pub shaderInputAttachmentArrayNonUniformIndexing : Bool32,
3985 pub shaderUniformTexelBufferArrayNonUniformIndexing : Bool32,
3986 pub shaderStorageTexelBufferArrayNonUniformIndexing : Bool32,
3987 pub descriptorBindingUniformBufferUpdateAfterBind : Bool32,
3988 pub descriptorBindingSampledImageUpdateAfterBind : Bool32,
3989 pub descriptorBindingStorageImageUpdateAfterBind : Bool32,
3990 pub descriptorBindingStorageBufferUpdateAfterBind : Bool32,
3991 pub descriptorBindingUniformTexelBufferUpdateAfterBind : Bool32,
3992 pub descriptorBindingStorageTexelBufferUpdateAfterBind : Bool32,
3993 pub descriptorBindingUpdateUnusedWhilePending : Bool32,
3994 pub descriptorBindingPartiallyBound : Bool32,
3995 pub descriptorBindingVariableDescriptorCount : Bool32,
3996 pub runtimeDescriptorArray : Bool32,
3997 pub samplerFilterMinmax : Bool32,
3998 pub scalarBlockLayout : Bool32,
3999 pub imagelessFramebuffer : Bool32,
4000 pub uniformBufferStandardLayout : Bool32,
4001 pub shaderSubgroupExtendedTypes : Bool32,
4002 pub separateDepthStencilLayouts : Bool32,
4003 pub hostQueryReset : Bool32,
4004 pub timelineSemaphore : Bool32,
4005 pub bufferDeviceAddress : Bool32,
4006 pub bufferDeviceAddressCaptureReplay : Bool32,
4007 pub bufferDeviceAddressMultiDevice : Bool32,
4008 pub vulkanMemoryModel : Bool32,
4009 pub vulkanMemoryModelDeviceScope : Bool32,
4010 pub vulkanMemoryModelAvailabilityVisibilityChains : Bool32,
4011 pub shaderOutputViewportIndex : Bool32,
4012 pub shaderOutputLayer : Bool32,
4013 pub subgroupBroadcastDynamicId : Bool32,
4014}
4015
4016#[repr(C)]
4017#[derive(Debug, Copy, Clone)]
4018pub struct ConformanceVersion {
4019 pub major : u8,
4020 pub minor : u8,
4021 pub subminor : u8,
4022 pub patch : u8,
4023}
4024
4025#[repr(C)]
4026#[derive(Copy, Clone)]
4027pub struct PhysicalDeviceVulkan12Properties {
4028 pub sType : StructureType,
4029 pub pNext : *mut void,
4030 pub driverID : DriverId,
4031 pub driverName : [i8;MAX_DRIVER_NAME_SIZE],
4032 pub driverInfo : [i8;MAX_DRIVER_INFO_SIZE],
4033 pub conformanceVersion : ConformanceVersion,
4034 pub denormBehaviorIndependence : ShaderFloatControlsIndependence,
4035 pub roundingModeIndependence : ShaderFloatControlsIndependence,
4036 pub shaderSignedZeroInfNanPreserveFloat16 : Bool32,
4037 pub shaderSignedZeroInfNanPreserveFloat32 : Bool32,
4038 pub shaderSignedZeroInfNanPreserveFloat64 : Bool32,
4039 pub shaderDenormPreserveFloat16 : Bool32,
4040 pub shaderDenormPreserveFloat32 : Bool32,
4041 pub shaderDenormPreserveFloat64 : Bool32,
4042 pub shaderDenormFlushToZeroFloat16 : Bool32,
4043 pub shaderDenormFlushToZeroFloat32 : Bool32,
4044 pub shaderDenormFlushToZeroFloat64 : Bool32,
4045 pub shaderRoundingModeRTEFloat16 : Bool32,
4046 pub shaderRoundingModeRTEFloat32 : Bool32,
4047 pub shaderRoundingModeRTEFloat64 : Bool32,
4048 pub shaderRoundingModeRTZFloat16 : Bool32,
4049 pub shaderRoundingModeRTZFloat32 : Bool32,
4050 pub shaderRoundingModeRTZFloat64 : Bool32,
4051 pub maxUpdateAfterBindDescriptorsInAllPools : u32,
4052 pub shaderUniformBufferArrayNonUniformIndexingNative : Bool32,
4053 pub shaderSampledImageArrayNonUniformIndexingNative : Bool32,
4054 pub shaderStorageBufferArrayNonUniformIndexingNative : Bool32,
4055 pub shaderStorageImageArrayNonUniformIndexingNative : Bool32,
4056 pub shaderInputAttachmentArrayNonUniformIndexingNative : Bool32,
4057 pub robustBufferAccessUpdateAfterBind : Bool32,
4058 pub quadDivergentImplicitLod : Bool32,
4059 pub maxPerStageDescriptorUpdateAfterBindSamplers : u32,
4060 pub maxPerStageDescriptorUpdateAfterBindUniformBuffers : u32,
4061 pub maxPerStageDescriptorUpdateAfterBindStorageBuffers : u32,
4062 pub maxPerStageDescriptorUpdateAfterBindSampledImages : u32,
4063 pub maxPerStageDescriptorUpdateAfterBindStorageImages : u32,
4064 pub maxPerStageDescriptorUpdateAfterBindInputAttachments : u32,
4065 pub maxPerStageUpdateAfterBindResources : u32,
4066 pub maxDescriptorSetUpdateAfterBindSamplers : u32,
4067 pub maxDescriptorSetUpdateAfterBindUniformBuffers : u32,
4068 pub maxDescriptorSetUpdateAfterBindUniformBuffersDynamic : u32,
4069 pub maxDescriptorSetUpdateAfterBindStorageBuffers : u32,
4070 pub maxDescriptorSetUpdateAfterBindStorageBuffersDynamic : u32,
4071 pub maxDescriptorSetUpdateAfterBindSampledImages : u32,
4072 pub maxDescriptorSetUpdateAfterBindStorageImages : u32,
4073 pub maxDescriptorSetUpdateAfterBindInputAttachments : u32,
4074 pub supportedDepthResolveModes : ResolveModeFlags,
4075 pub supportedStencilResolveModes : ResolveModeFlags,
4076 pub independentResolveNone : Bool32,
4077 pub independentResolve : Bool32,
4078 pub filterMinmaxSingleComponentFormats : Bool32,
4079 pub filterMinmaxImageComponentMapping : Bool32,
4080 pub maxTimelineSemaphoreValueDifference : u64,
4081 pub framebufferIntegerColorSampleCounts : SampleCountFlags,
4082}
4083
4084#[repr(C)]
4085#[derive(Debug, Copy, Clone)]
4086pub struct ImageFormatListCreateInfo {
4087 pub sType : StructureType,
4088 pub pNext : *const void,
4089 pub viewFormatCount : u32,
4090 pub pViewFormats : *const Format,
4091}
4092
4093#[repr(C)]
4094#[derive(Debug, Copy, Clone)]
4095pub struct AttachmentDescription2 {
4096 pub sType : StructureType,
4097 pub pNext : *const void,
4098 pub flags : AttachmentDescriptionFlags,
4099 pub format : Format,
4100 pub samples : SampleCountFlagBits,
4101 pub loadOp : AttachmentLoadOp,
4102 pub storeOp : AttachmentStoreOp,
4103 pub stencilLoadOp : AttachmentLoadOp,
4104 pub stencilStoreOp : AttachmentStoreOp,
4105 pub initialLayout : ImageLayout,
4106 pub finalLayout : ImageLayout,
4107}
4108
4109#[repr(C)]
4110#[derive(Debug, Copy, Clone)]
4111pub struct AttachmentReference2 {
4112 pub sType : StructureType,
4113 pub pNext : *const void,
4114 pub attachment : u32,
4115 pub layout : ImageLayout,
4116 pub aspectMask : ImageAspectFlags,
4117}
4118
4119#[repr(C)]
4120#[derive(Debug, Copy, Clone)]
4121pub struct SubpassDescription2 {
4122 pub sType : StructureType,
4123 pub pNext : *const void,
4124 pub flags : SubpassDescriptionFlags,
4125 pub pipelineBindPoint : PipelineBindPoint,
4126 pub viewMask : u32,
4127 pub inputAttachmentCount : u32,
4128 pub pInputAttachments : *const AttachmentReference2,
4129 pub colorAttachmentCount : u32,
4130 pub pColorAttachments : *const AttachmentReference2,
4131 pub pResolveAttachments : *const AttachmentReference2,
4132 pub pDepthStencilAttachment : *const AttachmentReference2,
4133 pub preserveAttachmentCount : u32,
4134 pub pPreserveAttachments : *const u32,
4135}
4136
4137#[repr(C)]
4138#[derive(Debug, Copy, Clone)]
4139pub struct SubpassDependency2 {
4140 pub sType : StructureType,
4141 pub pNext : *const void,
4142 pub srcSubpass : u32,
4143 pub dstSubpass : u32,
4144 pub srcStageMask : PipelineStageFlags,
4145 pub dstStageMask : PipelineStageFlags,
4146 pub srcAccessMask : AccessFlags,
4147 pub dstAccessMask : AccessFlags,
4148 pub dependencyFlags : DependencyFlags,
4149 pub viewOffset : i32,
4150}
4151
4152#[repr(C)]
4153#[derive(Debug, Copy, Clone)]
4154pub struct RenderPassCreateInfo2 {
4155 pub sType : StructureType,
4156 pub pNext : *const void,
4157 pub flags : RenderPassCreateFlags,
4158 pub attachmentCount : u32,
4159 pub pAttachments : *const AttachmentDescription2,
4160 pub subpassCount : u32,
4161 pub pSubpasses : *const SubpassDescription2,
4162 pub dependencyCount : u32,
4163 pub pDependencies : *const SubpassDependency2,
4164 pub correlatedViewMaskCount : u32,
4165 pub pCorrelatedViewMasks : *const u32,
4166}
4167
4168#[repr(C)]
4169#[derive(Debug, Copy, Clone)]
4170pub struct SubpassBeginInfo {
4171 pub sType : StructureType,
4172 pub pNext : *const void,
4173 pub contents : SubpassContents,
4174}
4175
4176#[repr(C)]
4177#[derive(Debug, Copy, Clone)]
4178pub struct SubpassEndInfo {
4179 pub sType : StructureType,
4180 pub pNext : *const void,
4181}
4182
4183#[repr(C)]
4184#[derive(Debug, Copy, Clone)]
4185pub struct PhysicalDevice8BitStorageFeatures {
4186 pub sType : StructureType,
4187 pub pNext : *mut void,
4188 pub storageBuffer8BitAccess : Bool32,
4189 pub uniformAndStorageBuffer8BitAccess : Bool32,
4190 pub storagePushConstant8 : Bool32,
4191}
4192
4193#[repr(C)]
4194#[derive(Copy, Clone)]
4195pub struct PhysicalDeviceDriverProperties {
4196 pub sType : StructureType,
4197 pub pNext : *mut void,
4198 pub driverID : DriverId,
4199 pub driverName : [i8;MAX_DRIVER_NAME_SIZE],
4200 pub driverInfo : [i8;MAX_DRIVER_INFO_SIZE],
4201 pub conformanceVersion : ConformanceVersion,
4202}
4203
4204#[repr(C)]
4205#[derive(Debug, Copy, Clone)]
4206pub struct PhysicalDeviceShaderAtomicInt64Features {
4207 pub sType : StructureType,
4208 pub pNext : *mut void,
4209 pub shaderBufferInt64Atomics : Bool32,
4210 pub shaderSharedInt64Atomics : Bool32,
4211}
4212
4213#[repr(C)]
4214#[derive(Debug, Copy, Clone)]
4215pub struct PhysicalDeviceShaderFloat16Int8Features {
4216 pub sType : StructureType,
4217 pub pNext : *mut void,
4218 pub shaderFloat16 : Bool32,
4219 pub shaderInt8 : Bool32,
4220}
4221
4222#[repr(C)]
4223#[derive(Debug, Copy, Clone)]
4224pub struct PhysicalDeviceFloatControlsProperties {
4225 pub sType : StructureType,
4226 pub pNext : *mut void,
4227 pub denormBehaviorIndependence : ShaderFloatControlsIndependence,
4228 pub roundingModeIndependence : ShaderFloatControlsIndependence,
4229 pub shaderSignedZeroInfNanPreserveFloat16 : Bool32,
4230 pub shaderSignedZeroInfNanPreserveFloat32 : Bool32,
4231 pub shaderSignedZeroInfNanPreserveFloat64 : Bool32,
4232 pub shaderDenormPreserveFloat16 : Bool32,
4233 pub shaderDenormPreserveFloat32 : Bool32,
4234 pub shaderDenormPreserveFloat64 : Bool32,
4235 pub shaderDenormFlushToZeroFloat16 : Bool32,
4236 pub shaderDenormFlushToZeroFloat32 : Bool32,
4237 pub shaderDenormFlushToZeroFloat64 : Bool32,
4238 pub shaderRoundingModeRTEFloat16 : Bool32,
4239 pub shaderRoundingModeRTEFloat32 : Bool32,
4240 pub shaderRoundingModeRTEFloat64 : Bool32,
4241 pub shaderRoundingModeRTZFloat16 : Bool32,
4242 pub shaderRoundingModeRTZFloat32 : Bool32,
4243 pub shaderRoundingModeRTZFloat64 : Bool32,
4244}
4245
4246#[repr(C)]
4247#[derive(Debug, Copy, Clone)]
4248pub struct DescriptorSetLayoutBindingFlagsCreateInfo {
4249 pub sType : StructureType,
4250 pub pNext : *const void,
4251 pub bindingCount : u32,
4252 pub pBindingFlags : *const DescriptorBindingFlags,
4253}
4254
4255#[repr(C)]
4256#[derive(Debug, Copy, Clone)]
4257pub struct PhysicalDeviceDescriptorIndexingFeatures {
4258 pub sType : StructureType,
4259 pub pNext : *mut void,
4260 pub shaderInputAttachmentArrayDynamicIndexing : Bool32,
4261 pub shaderUniformTexelBufferArrayDynamicIndexing : Bool32,
4262 pub shaderStorageTexelBufferArrayDynamicIndexing : Bool32,
4263 pub shaderUniformBufferArrayNonUniformIndexing : Bool32,
4264 pub shaderSampledImageArrayNonUniformIndexing : Bool32,
4265 pub shaderStorageBufferArrayNonUniformIndexing : Bool32,
4266 pub shaderStorageImageArrayNonUniformIndexing : Bool32,
4267 pub shaderInputAttachmentArrayNonUniformIndexing : Bool32,
4268 pub shaderUniformTexelBufferArrayNonUniformIndexing : Bool32,
4269 pub shaderStorageTexelBufferArrayNonUniformIndexing : Bool32,
4270 pub descriptorBindingUniformBufferUpdateAfterBind : Bool32,
4271 pub descriptorBindingSampledImageUpdateAfterBind : Bool32,
4272 pub descriptorBindingStorageImageUpdateAfterBind : Bool32,
4273 pub descriptorBindingStorageBufferUpdateAfterBind : Bool32,
4274 pub descriptorBindingUniformTexelBufferUpdateAfterBind : Bool32,
4275 pub descriptorBindingStorageTexelBufferUpdateAfterBind : Bool32,
4276 pub descriptorBindingUpdateUnusedWhilePending : Bool32,
4277 pub descriptorBindingPartiallyBound : Bool32,
4278 pub descriptorBindingVariableDescriptorCount : Bool32,
4279 pub runtimeDescriptorArray : Bool32,
4280}
4281
4282#[repr(C)]
4283#[derive(Debug, Copy, Clone)]
4284pub struct PhysicalDeviceDescriptorIndexingProperties {
4285 pub sType : StructureType,
4286 pub pNext : *mut void,
4287 pub maxUpdateAfterBindDescriptorsInAllPools : u32,
4288 pub shaderUniformBufferArrayNonUniformIndexingNative : Bool32,
4289 pub shaderSampledImageArrayNonUniformIndexingNative : Bool32,
4290 pub shaderStorageBufferArrayNonUniformIndexingNative : Bool32,
4291 pub shaderStorageImageArrayNonUniformIndexingNative : Bool32,
4292 pub shaderInputAttachmentArrayNonUniformIndexingNative : Bool32,
4293 pub robustBufferAccessUpdateAfterBind : Bool32,
4294 pub quadDivergentImplicitLod : Bool32,
4295 pub maxPerStageDescriptorUpdateAfterBindSamplers : u32,
4296 pub maxPerStageDescriptorUpdateAfterBindUniformBuffers : u32,
4297 pub maxPerStageDescriptorUpdateAfterBindStorageBuffers : u32,
4298 pub maxPerStageDescriptorUpdateAfterBindSampledImages : u32,
4299 pub maxPerStageDescriptorUpdateAfterBindStorageImages : u32,
4300 pub maxPerStageDescriptorUpdateAfterBindInputAttachments : u32,
4301 pub maxPerStageUpdateAfterBindResources : u32,
4302 pub maxDescriptorSetUpdateAfterBindSamplers : u32,
4303 pub maxDescriptorSetUpdateAfterBindUniformBuffers : u32,
4304 pub maxDescriptorSetUpdateAfterBindUniformBuffersDynamic : u32,
4305 pub maxDescriptorSetUpdateAfterBindStorageBuffers : u32,
4306 pub maxDescriptorSetUpdateAfterBindStorageBuffersDynamic : u32,
4307 pub maxDescriptorSetUpdateAfterBindSampledImages : u32,
4308 pub maxDescriptorSetUpdateAfterBindStorageImages : u32,
4309 pub maxDescriptorSetUpdateAfterBindInputAttachments : u32,
4310}
4311
4312#[repr(C)]
4313#[derive(Debug, Copy, Clone)]
4314pub struct DescriptorSetVariableDescriptorCountAllocateInfo {
4315 pub sType : StructureType,
4316 pub pNext : *const void,
4317 pub descriptorSetCount : u32,
4318 pub pDescriptorCounts : *const u32,
4319}
4320
4321#[repr(C)]
4322#[derive(Debug, Copy, Clone)]
4323pub struct DescriptorSetVariableDescriptorCountLayoutSupport {
4324 pub sType : StructureType,
4325 pub pNext : *mut void,
4326 pub maxVariableDescriptorCount : u32,
4327}
4328
4329#[repr(C)]
4330#[derive(Debug, Copy, Clone)]
4331pub struct SubpassDescriptionDepthStencilResolve {
4332 pub sType : StructureType,
4333 pub pNext : *const void,
4334 pub depthResolveMode : ResolveModeFlagBits,
4335 pub stencilResolveMode : ResolveModeFlagBits,
4336 pub pDepthStencilResolveAttachment : *const AttachmentReference2,
4337}
4338
4339#[repr(C)]
4340#[derive(Debug, Copy, Clone)]
4341pub struct PhysicalDeviceDepthStencilResolveProperties {
4342 pub sType : StructureType,
4343 pub pNext : *mut void,
4344 pub supportedDepthResolveModes : ResolveModeFlags,
4345 pub supportedStencilResolveModes : ResolveModeFlags,
4346 pub independentResolveNone : Bool32,
4347 pub independentResolve : Bool32,
4348}
4349
4350#[repr(C)]
4351#[derive(Debug, Copy, Clone)]
4352pub struct PhysicalDeviceScalarBlockLayoutFeatures {
4353 pub sType : StructureType,
4354 pub pNext : *mut void,
4355 pub scalarBlockLayout : Bool32,
4356}
4357
4358#[repr(C)]
4359#[derive(Debug, Copy, Clone)]
4360pub struct ImageStencilUsageCreateInfo {
4361 pub sType : StructureType,
4362 pub pNext : *const void,
4363 pub stencilUsage : ImageUsageFlags,
4364}
4365
4366#[repr(C)]
4367#[derive(Debug, Copy, Clone)]
4368pub struct SamplerReductionModeCreateInfo {
4369 pub sType : StructureType,
4370 pub pNext : *const void,
4371 pub reductionMode : SamplerReductionMode,
4372}
4373
4374#[repr(C)]
4375#[derive(Debug, Copy, Clone)]
4376pub struct PhysicalDeviceSamplerFilterMinmaxProperties {
4377 pub sType : StructureType,
4378 pub pNext : *mut void,
4379 pub filterMinmaxSingleComponentFormats : Bool32,
4380 pub filterMinmaxImageComponentMapping : Bool32,
4381}
4382
4383#[repr(C)]
4384#[derive(Debug, Copy, Clone)]
4385pub struct PhysicalDeviceVulkanMemoryModelFeatures {
4386 pub sType : StructureType,
4387 pub pNext : *mut void,
4388 pub vulkanMemoryModel : Bool32,
4389 pub vulkanMemoryModelDeviceScope : Bool32,
4390 pub vulkanMemoryModelAvailabilityVisibilityChains : Bool32,
4391}
4392
4393#[repr(C)]
4394#[derive(Debug, Copy, Clone)]
4395pub struct PhysicalDeviceImagelessFramebufferFeatures {
4396 pub sType : StructureType,
4397 pub pNext : *mut void,
4398 pub imagelessFramebuffer : Bool32,
4399}
4400
4401#[repr(C)]
4402#[derive(Debug, Copy, Clone)]
4403pub struct FramebufferAttachmentImageInfo {
4404 pub sType : StructureType,
4405 pub pNext : *const void,
4406 pub flags : ImageCreateFlags,
4407 pub usage : ImageUsageFlags,
4408 pub width : u32,
4409 pub height : u32,
4410 pub layerCount : u32,
4411 pub viewFormatCount : u32,
4412 pub pViewFormats : *const Format,
4413}
4414
4415#[repr(C)]
4416#[derive(Debug, Copy, Clone)]
4417pub struct FramebufferAttachmentsCreateInfo {
4418 pub sType : StructureType,
4419 pub pNext : *const void,
4420 pub attachmentImageInfoCount : u32,
4421 pub pAttachmentImageInfos : *const FramebufferAttachmentImageInfo,
4422}
4423
4424#[repr(C)]
4425#[derive(Debug, Copy, Clone)]
4426pub struct RenderPassAttachmentBeginInfo {
4427 pub sType : StructureType,
4428 pub pNext : *const void,
4429 pub attachmentCount : u32,
4430 pub pAttachments : *const ImageView,
4431}
4432
4433#[repr(C)]
4434#[derive(Debug, Copy, Clone)]
4435pub struct PhysicalDeviceUniformBufferStandardLayoutFeatures {
4436 pub sType : StructureType,
4437 pub pNext : *mut void,
4438 pub uniformBufferStandardLayout : Bool32,
4439}
4440
4441#[repr(C)]
4442#[derive(Debug, Copy, Clone)]
4443pub struct PhysicalDeviceShaderSubgroupExtendedTypesFeatures {
4444 pub sType : StructureType,
4445 pub pNext : *mut void,
4446 pub shaderSubgroupExtendedTypes : Bool32,
4447}
4448
4449#[repr(C)]
4450#[derive(Debug, Copy, Clone)]
4451pub struct PhysicalDeviceSeparateDepthStencilLayoutsFeatures {
4452 pub sType : StructureType,
4453 pub pNext : *mut void,
4454 pub separateDepthStencilLayouts : Bool32,
4455}
4456
4457#[repr(C)]
4458#[derive(Debug, Copy, Clone)]
4459pub struct AttachmentReferenceStencilLayout {
4460 pub sType : StructureType,
4461 pub pNext : *mut void,
4462 pub stencilLayout : ImageLayout,
4463}
4464
4465#[repr(C)]
4466#[derive(Debug, Copy, Clone)]
4467pub struct AttachmentDescriptionStencilLayout {
4468 pub sType : StructureType,
4469 pub pNext : *mut void,
4470 pub stencilInitialLayout : ImageLayout,
4471 pub stencilFinalLayout : ImageLayout,
4472}
4473
4474#[repr(C)]
4475#[derive(Debug, Copy, Clone)]
4476pub struct PhysicalDeviceHostQueryResetFeatures {
4477 pub sType : StructureType,
4478 pub pNext : *mut void,
4479 pub hostQueryReset : Bool32,
4480}
4481
4482#[repr(C)]
4483#[derive(Debug, Copy, Clone)]
4484pub struct PhysicalDeviceTimelineSemaphoreFeatures {
4485 pub sType : StructureType,
4486 pub pNext : *mut void,
4487 pub timelineSemaphore : Bool32,
4488}
4489
4490#[repr(C)]
4491#[derive(Debug, Copy, Clone)]
4492pub struct PhysicalDeviceTimelineSemaphoreProperties {
4493 pub sType : StructureType,
4494 pub pNext : *mut void,
4495 pub maxTimelineSemaphoreValueDifference : u64,
4496}
4497
4498#[repr(C)]
4499#[derive(Debug, Copy, Clone)]
4500pub struct SemaphoreTypeCreateInfo {
4501 pub sType : StructureType,
4502 pub pNext : *const void,
4503 pub semaphoreType : SemaphoreType,
4504 pub initialValue : u64,
4505}
4506
4507#[repr(C)]
4508#[derive(Debug, Copy, Clone)]
4509pub struct TimelineSemaphoreSubmitInfo {
4510 pub sType : StructureType,
4511 pub pNext : *const void,
4512 pub waitSemaphoreValueCount : u32,
4513 pub pWaitSemaphoreValues : *const u64,
4514 pub signalSemaphoreValueCount : u32,
4515 pub pSignalSemaphoreValues : *const u64,
4516}
4517
4518#[repr(C)]
4519#[derive(Debug, Copy, Clone)]
4520pub struct SemaphoreWaitInfo {
4521 pub sType : StructureType,
4522 pub pNext : *const void,
4523 pub flags : SemaphoreWaitFlags,
4524 pub semaphoreCount : u32,
4525 pub pSemaphores : *const Semaphore,
4526 pub pValues : *const u64,
4527}
4528
4529#[repr(C)]
4530#[derive(Debug, Copy, Clone)]
4531pub struct SemaphoreSignalInfo {
4532 pub sType : StructureType,
4533 pub pNext : *const void,
4534 pub semaphore : Semaphore,
4535 pub value : u64,
4536}
4537
4538#[repr(C)]
4539#[derive(Debug, Copy, Clone)]
4540pub struct PhysicalDeviceBufferDeviceAddressFeatures {
4541 pub sType : StructureType,
4542 pub pNext : *mut void,
4543 pub bufferDeviceAddress : Bool32,
4544 pub bufferDeviceAddressCaptureReplay : Bool32,
4545 pub bufferDeviceAddressMultiDevice : Bool32,
4546}
4547
4548#[repr(C)]
4549#[derive(Debug, Copy, Clone)]
4550pub struct BufferDeviceAddressInfo {
4551 pub sType : StructureType,
4552 pub pNext : *const void,
4553 pub buffer : Buffer,
4554}
4555
4556#[repr(C)]
4557#[derive(Debug, Copy, Clone)]
4558pub struct BufferOpaqueCaptureAddressCreateInfo {
4559 pub sType : StructureType,
4560 pub pNext : *const void,
4561 pub opaqueCaptureAddress : u64,
4562}
4563
4564#[repr(C)]
4565#[derive(Debug, Copy, Clone)]
4566pub struct MemoryOpaqueCaptureAddressAllocateInfo {
4567 pub sType : StructureType,
4568 pub pNext : *const void,
4569 pub opaqueCaptureAddress : u64,
4570}
4571
4572#[repr(C)]
4573#[derive(Debug, Copy, Clone)]
4574pub struct DeviceMemoryOpaqueCaptureAddressInfo {
4575 pub sType : StructureType,
4576 pub pNext : *const void,
4577 pub memory : DeviceMemory,
4578}
4579
4580pub type SurfaceKHR = u64;
4581pub type PresentModeKHR = i32;
4582pub const PRESENT_MODE_IMMEDIATE_KHR : i32 = 0;
4583pub const PRESENT_MODE_MAILBOX_KHR : i32 = 1;
4584pub const PRESENT_MODE_FIFO_KHR : i32 = 2;
4585pub const PRESENT_MODE_FIFO_RELAXED_KHR : i32 = 3;
4586pub const PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR : i32 = 1000111000;
4587pub const PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR : i32 = 1000111001;
4588pub const PRESENT_MODE_MAX_ENUM_KHR : i32 = 0x7FFFFFF;
4589pub type ColorSpaceKHR = i32;
4590pub const COLOR_SPACE_SRGB_NONLINEAR_KHR : i32 = 0;
4591pub const COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT : i32 = 1000104001;
4592pub const COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT : i32 = 1000104002;
4593pub const COLOR_SPACE_DISPLAY_P3_LINEAR_EXT : i32 = 1000104003;
4594pub const COLOR_SPACE_DCI_P3_NONLINEAR_EXT : i32 = 1000104004;
4595pub const COLOR_SPACE_BT709_LINEAR_EXT : i32 = 1000104005;
4596pub const COLOR_SPACE_BT709_NONLINEAR_EXT : i32 = 1000104006;
4597pub const COLOR_SPACE_BT2020_LINEAR_EXT : i32 = 1000104007;
4598pub const COLOR_SPACE_HDR10_ST2084_EXT : i32 = 1000104008;
4599pub const COLOR_SPACE_DOLBYVISION_EXT : i32 = 1000104009;
4600pub const COLOR_SPACE_HDR10_HLG_EXT : i32 = 1000104010;
4601pub const COLOR_SPACE_ADOBERGB_LINEAR_EXT : i32 = 1000104011;
4602pub const COLOR_SPACE_ADOBERGB_NONLINEAR_EXT : i32 = 1000104012;
4603pub const COLOR_SPACE_PASS_THROUGH_EXT : i32 = 1000104013;
4604pub const COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT : i32 = 1000104014;
4605pub const COLOR_SPACE_DISPLAY_NATIVE_AMD : i32 = 1000213000;
4606pub const COLORSPACE_SRGB_NONLINEAR_KHR : i32 = COLOR_SPACE_SRGB_NONLINEAR_KHR;
4607pub const COLOR_SPACE_DCI_P3_LINEAR_EXT : i32 = COLOR_SPACE_DISPLAY_P3_LINEAR_EXT;
4608pub const COLOR_SPACE_MAX_ENUM_KHR : i32 = 0x7FFFFFF;
4609pub type SurfaceTransformFlagBitsKHR = i32;
4610pub const SURFACE_TRANSFORM_IDENTITY_BIT_KHR : i32 = 0x00000001;
4611pub const SURFACE_TRANSFORM_ROTATE_90_BIT_KHR : i32 = 0x00000002;
4612pub const SURFACE_TRANSFORM_ROTATE_180_BIT_KHR : i32 = 0x00000004;
4613pub const SURFACE_TRANSFORM_ROTATE_270_BIT_KHR : i32 = 0x00000008;
4614pub const SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR : i32 = 0x00000010;
4615pub const SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR : i32 = 0x00000020;
4616pub const SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR : i32 = 0x00000040;
4617pub const SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR : i32 = 0x00000080;
4618pub const SURFACE_TRANSFORM_INHERIT_BIT_KHR : i32 = 0x00000100;
4619pub const SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR : i32 = 0x7FFFFFF;
4620pub type CompositeAlphaFlagBitsKHR = i32;
4621pub const COMPOSITE_ALPHA_OPAQUE_BIT_KHR : i32 = 0x00000001;
4622pub const COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR : i32 = 0x00000002;
4623pub const COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR : i32 = 0x00000004;
4624pub const COMPOSITE_ALPHA_INHERIT_BIT_KHR : i32 = 0x00000008;
4625pub const COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR : i32 = 0x7FFFFFF;
4626pub type SurfaceTransformFlagsKHR = u32;
4627pub type CompositeAlphaFlagsKHR = u32;
4628
4629#[repr(C)]
4630#[derive(Debug, Copy, Clone)]
4631pub struct SurfaceCapabilitiesKHR {
4632 pub minImageCount : u32,
4633 pub maxImageCount : u32,
4634 pub currentExtent : Extent2D,
4635 pub minImageExtent : Extent2D,
4636 pub maxImageExtent : Extent2D,
4637 pub maxImageArrayLayers : u32,
4638 pub supportedTransforms : SurfaceTransformFlagsKHR,
4639 pub currentTransform : SurfaceTransformFlagBitsKHR,
4640 pub supportedCompositeAlpha : CompositeAlphaFlagsKHR,
4641 pub supportedUsageFlags : ImageUsageFlags,
4642}
4643
4644#[repr(C)]
4645#[derive(Debug, Copy, Clone)]
4646pub struct SurfaceFormatKHR {
4647 pub format : Format,
4648 pub colorSpace : ColorSpaceKHR,
4649}
4650
4651pub type SwapchainKHR = u64;
4652pub type SwapchainCreateFlagBitsKHR = i32;
4653pub const SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR : i32 = 0x00000001;
4654pub const SWAPCHAIN_CREATE_PROTECTED_BIT_KHR : i32 = 0x00000002;
4655pub const SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR : i32 = 0x00000004;
4656pub const SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR : i32 = 0x7FFFFFF;
4657pub type SwapchainCreateFlagsKHR = u32;
4658pub type DeviceGroupPresentModeFlagBitsKHR = i32;
4659pub const DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR : i32 = 0x00000001;
4660pub const DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR : i32 = 0x00000002;
4661pub const DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR : i32 = 0x00000004;
4662pub const DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR : i32 = 0x00000008;
4663pub const DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR : i32 = 0x7FFFFFF;
4664pub type DeviceGroupPresentModeFlagsKHR = u32;
4665
4666#[repr(C)]
4667#[derive(Debug, Copy, Clone)]
4668pub struct SwapchainCreateInfoKHR {
4669 pub sType : StructureType,
4670 pub pNext : *const void,
4671 pub flags : SwapchainCreateFlagsKHR,
4672 pub surface : SurfaceKHR,
4673 pub minImageCount : u32,
4674 pub imageFormat : Format,
4675 pub imageColorSpace : ColorSpaceKHR,
4676 pub imageExtent : Extent2D,
4677 pub imageArrayLayers : u32,
4678 pub imageUsage : ImageUsageFlags,
4679 pub imageSharingMode : SharingMode,
4680 pub queueFamilyIndexCount : u32,
4681 pub pQueueFamilyIndices : *const u32,
4682 pub preTransform : SurfaceTransformFlagBitsKHR,
4683 pub compositeAlpha : CompositeAlphaFlagBitsKHR,
4684 pub presentMode : PresentModeKHR,
4685 pub clipped : Bool32,
4686 pub oldSwapchain : SwapchainKHR,
4687}
4688
4689#[repr(C)]
4690#[derive(Debug, Copy, Clone)]
4691pub struct PresentInfoKHR {
4692 pub sType : StructureType,
4693 pub pNext : *const void,
4694 pub waitSemaphoreCount : u32,
4695 pub pWaitSemaphores : *const Semaphore,
4696 pub swapchainCount : u32,
4697 pub pSwapchains : *const SwapchainKHR,
4698 pub pImageIndices : *const i32,
4699 pub pResults : *mut VkResult,
4700}
4701
4702#[repr(C)]
4703#[derive(Debug, Copy, Clone)]
4704pub struct ImageSwapchainCreateInfoKHR {
4705 pub sType : StructureType,
4706 pub pNext : *const void,
4707 pub swapchain : SwapchainKHR,
4708}
4709
4710#[repr(C)]
4711#[derive(Debug, Copy, Clone)]
4712pub struct BindImageMemorySwapchainInfoKHR {
4713 pub sType : StructureType,
4714 pub pNext : *const void,
4715 pub swapchain : SwapchainKHR,
4716 pub imageIndex : u32,
4717}
4718
4719#[repr(C)]
4720#[derive(Debug, Copy, Clone)]
4721pub struct AcquireNextImageInfoKHR {
4722 pub sType : StructureType,
4723 pub pNext : *const void,
4724 pub swapchain : SwapchainKHR,
4725 pub timeout : u64,
4726 pub semaphore : Semaphore,
4727 pub fence : Fence,
4728 pub deviceMask : u32,
4729}
4730
4731#[repr(C)]
4732#[derive(Debug, Copy, Clone)]
4733pub struct DeviceGroupPresentCapabilitiesKHR {
4734 pub sType : StructureType,
4735 pub pNext : *const void,
4736 pub presentMask : [u32;MAX_DEVICE_GROUP_SIZE],
4737 pub modes : DeviceGroupPresentModeFlagsKHR,
4738}
4739
4740#[repr(C)]
4741#[derive(Debug, Copy, Clone)]
4742pub struct DeviceGroupPresentInfoKHR {
4743 pub sType : StructureType,
4744 pub pNext : *const void,
4745 pub swapchainCount : u32,
4746 pub pDeviceMasks : *const u32,
4747 pub mode : DeviceGroupPresentModeFlagBitsKHR,
4748}
4749
4750#[repr(C)]
4751#[derive(Debug, Copy, Clone)]
4752pub struct DeviceGroupSwapchainCreateInfoKHR {
4753 pub sType : StructureType,
4754 pub pNext : *const void,
4755 pub modes : DeviceGroupPresentModeFlagsKHR,
4756}
4757
4758pub type DisplayKHR = u64;
4759pub type DisplayModeKHR = u64;
4760pub type DisplayPlaneAlphaFlagBitsKHR = i32;
4761pub const DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR : i32 = 0x00000001;
4762pub const DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR : i32 = 0x00000002;
4763pub const DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR : i32 = 0x00000004;
4764pub const DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR : i32 = 0x00000008;
4765pub const DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR : i32 = 0x7FFFFFF;
4766pub type DisplayPlaneAlphaFlagsKHR = u32;
4767pub type DisplayModeCreateFlagsKHR = u32;
4768pub type DisplaySurfaceCreateFlagsKHR = u32;
4769
4770#[repr(C)]
4771#[derive(Debug, Copy, Clone)]
4772pub struct DisplayPropertiesKHR {
4773 pub display : DisplayKHR,
4774 pub displayName : *const i8,
4775 pub physicalDimensions : Extent2D,
4776 pub physicalResolution : Extent2D,
4777 pub supportedTransforms : SurfaceTransformFlagsKHR,
4778 pub planeReorderPossible : Bool32,
4779 pub persistentContent : Bool32,
4780}
4781
4782#[repr(C)]
4783#[derive(Debug, Copy, Clone)]
4784pub struct DisplayModeParametersKHR {
4785 pub visibleRegion : Extent2D,
4786 pub refreshRate : u32,
4787}
4788
4789#[repr(C)]
4790#[derive(Debug, Copy, Clone)]
4791pub struct DisplayModePropertiesKHR {
4792 pub displayMode : DisplayModeKHR,
4793 pub parameters : DisplayModeParametersKHR,
4794}
4795
4796#[repr(C)]
4797#[derive(Debug, Copy, Clone)]
4798pub struct DisplayModeCreateInfoKHR {
4799 pub sType : StructureType,
4800 pub pNext : *const void,
4801 pub flags : DisplayModeCreateFlagsKHR,
4802 pub parameters : DisplayModeParametersKHR,
4803}
4804
4805#[repr(C)]
4806#[derive(Debug, Copy, Clone)]
4807pub struct DisplayPlaneCapabilitiesKHR {
4808 pub supportedAlpha : DisplayPlaneAlphaFlagsKHR,
4809 pub minSrcPosition : Offset2D,
4810 pub maxSrcPosition : Offset2D,
4811 pub minSrcExtent : Extent2D,
4812 pub maxSrcExtent : Extent2D,
4813 pub minDstPosition : Offset2D,
4814 pub maxDstPosition : Offset2D,
4815 pub minDstExtent : Extent2D,
4816 pub maxDstExtent : Extent2D,
4817}
4818
4819#[repr(C)]
4820#[derive(Debug, Copy, Clone)]
4821pub struct DisplayPlanePropertiesKHR {
4822 pub currentDisplay : DisplayKHR,
4823 pub currentStackIndex : u32,
4824}
4825
4826#[repr(C)]
4827#[derive(Debug, Copy, Clone)]
4828pub struct DisplaySurfaceCreateInfoKHR {
4829 pub sType : StructureType,
4830 pub pNext : *const void,
4831 pub flags : DisplaySurfaceCreateFlagsKHR,
4832 pub displayMode : DisplayModeKHR,
4833 pub planeIndex : u32,
4834 pub planeStackIndex : u32,
4835 pub transform : SurfaceTransformFlagBitsKHR,
4836 pub globalAlpha : f32,
4837 pub alphaMode : DisplayPlaneAlphaFlagBitsKHR,
4838 pub imageExtent : Extent2D,
4839}
4840
4841#[repr(C)]
4842#[derive(Debug, Copy, Clone)]
4843pub struct DisplayPresentInfoKHR {
4844 pub sType : StructureType,
4845 pub pNext : *const void,
4846 pub srcRect : Rect2D,
4847 pub dstRect : Rect2D,
4848 pub persistent : Bool32,
4849}
4850
4851pub type RenderPassMultiviewCreateInfoKHR = RenderPassMultiviewCreateInfo;
4852pub type PhysicalDeviceMultiviewFeaturesKHR = PhysicalDeviceMultiviewFeatures;
4853pub type PhysicalDeviceMultiviewPropertiesKHR = PhysicalDeviceMultiviewProperties;
4854pub type PhysicalDeviceFeatures2KHR = PhysicalDeviceFeatures2;
4855pub type PhysicalDeviceProperties2KHR = PhysicalDeviceProperties2;
4856pub type FormatProperties2KHR = FormatProperties2;
4857pub type ImageFormatProperties2KHR = ImageFormatProperties2;
4858pub type PhysicalDeviceImageFormatInfo2KHR = PhysicalDeviceImageFormatInfo2;
4859pub type QueueFamilyProperties2KHR = QueueFamilyProperties2;
4860pub type PhysicalDeviceMemoryProperties2KHR = PhysicalDeviceMemoryProperties2;
4861pub type SparseImageFormatProperties2KHR = SparseImageFormatProperties2;
4862pub type PhysicalDeviceSparseImageFormatInfo2KHR = PhysicalDeviceSparseImageFormatInfo2;
4863pub type PeerMemoryFeatureFlagsKHR = PeerMemoryFeatureFlags;
4864pub type PeerMemoryFeatureFlagBitsKHR = PeerMemoryFeatureFlagBits;
4865pub type MemoryAllocateFlagsKHR = MemoryAllocateFlags;
4866pub type MemoryAllocateFlagBitsKHR = MemoryAllocateFlagBits;
4867pub type MemoryAllocateFlagsInfoKHR = MemoryAllocateFlagsInfo;
4868pub type DeviceGroupRenderPassBeginInfoKHR = DeviceGroupRenderPassBeginInfo;
4869pub type DeviceGroupCommandBufferBeginInfoKHR = DeviceGroupCommandBufferBeginInfo;
4870pub type DeviceGroupSubmitInfoKHR = DeviceGroupSubmitInfo;
4871pub type DeviceGroupBindSparseInfoKHR = DeviceGroupBindSparseInfo;
4872pub type BindBufferMemoryDeviceGroupInfoKHR = BindBufferMemoryDeviceGroupInfo;
4873pub type BindImageMemoryDeviceGroupInfoKHR = BindImageMemoryDeviceGroupInfo;
4874pub type CommandPoolTrimFlagsKHR = CommandPoolTrimFlags;
4875pub type PhysicalDeviceGroupPropertiesKHR = PhysicalDeviceGroupProperties;
4876pub type DeviceGroupDeviceCreateInfoKHR = DeviceGroupDeviceCreateInfo;
4877pub type ExternalMemoryHandleTypeFlagsKHR = ExternalMemoryHandleTypeFlags;
4878pub type ExternalMemoryHandleTypeFlagBitsKHR = ExternalMemoryHandleTypeFlagBits;
4879pub type ExternalMemoryFeatureFlagsKHR = ExternalMemoryFeatureFlags;
4880pub type ExternalMemoryFeatureFlagBitsKHR = ExternalMemoryFeatureFlagBits;
4881pub type ExternalMemoryPropertiesKHR = ExternalMemoryProperties;
4882pub type PhysicalDeviceExternalImageFormatInfoKHR = PhysicalDeviceExternalImageFormatInfo;
4883pub type ExternalImageFormatPropertiesKHR = ExternalImageFormatProperties;
4884pub type PhysicalDeviceExternalBufferInfoKHR = PhysicalDeviceExternalBufferInfo;
4885pub type ExternalBufferPropertiesKHR = ExternalBufferProperties;
4886pub type PhysicalDeviceIDPropertiesKHR = PhysicalDeviceIDProperties;
4887pub type ExternalMemoryImageCreateInfoKHR = ExternalMemoryImageCreateInfo;
4888pub type ExternalMemoryBufferCreateInfoKHR = ExternalMemoryBufferCreateInfo;
4889pub type ExportMemoryAllocateInfoKHR = ExportMemoryAllocateInfo;
4890
4891#[repr(C)]
4892#[derive(Debug, Copy, Clone)]
4893pub struct ImportMemoryFdInfoKHR {
4894 pub sType : StructureType,
4895 pub pNext : *const void,
4896 pub handleType : ExternalMemoryHandleTypeFlagBits,
4897 pub fd : i32,
4898}
4899
4900#[repr(C)]
4901#[derive(Debug, Copy, Clone)]
4902pub struct MemoryFdPropertiesKHR {
4903 pub sType : StructureType,
4904 pub pNext : *mut void,
4905 pub memoryTypeBits : u32,
4906}
4907
4908#[repr(C)]
4909#[derive(Debug, Copy, Clone)]
4910pub struct MemoryGetFdInfoKHR {
4911 pub sType : StructureType,
4912 pub pNext : *const void,
4913 pub memory : DeviceMemory,
4914 pub handleType : ExternalMemoryHandleTypeFlagBits,
4915}
4916
4917pub type ExternalSemaphoreHandleTypeFlagsKHR = ExternalSemaphoreHandleTypeFlags;
4918pub type ExternalSemaphoreHandleTypeFlagBitsKHR = ExternalSemaphoreHandleTypeFlagBits;
4919pub type ExternalSemaphoreFeatureFlagsKHR = ExternalSemaphoreFeatureFlags;
4920pub type ExternalSemaphoreFeatureFlagBitsKHR = ExternalSemaphoreFeatureFlagBits;
4921pub type PhysicalDeviceExternalSemaphoreInfoKHR = PhysicalDeviceExternalSemaphoreInfo;
4922pub type ExternalSemaphorePropertiesKHR = ExternalSemaphoreProperties;
4923pub type SemaphoreImportFlagsKHR = SemaphoreImportFlags;
4924pub type SemaphoreImportFlagBitsKHR = SemaphoreImportFlagBits;
4925pub type ExportSemaphoreCreateInfoKHR = ExportSemaphoreCreateInfo;
4926
4927#[repr(C)]
4928#[derive(Debug, Copy, Clone)]
4929pub struct ImportSemaphoreFdInfoKHR {
4930 pub sType : StructureType,
4931 pub pNext : *const void,
4932 pub semaphore : Semaphore,
4933 pub flags : SemaphoreImportFlags,
4934 pub handleType : ExternalSemaphoreHandleTypeFlagBits,
4935 pub fd : i32,
4936}
4937
4938#[repr(C)]
4939#[derive(Debug, Copy, Clone)]
4940pub struct SemaphoreGetFdInfoKHR {
4941 pub sType : StructureType,
4942 pub pNext : *const void,
4943 pub semaphore : Semaphore,
4944 pub handleType : ExternalSemaphoreHandleTypeFlagBits,
4945}
4946
4947#[repr(C)]
4948#[derive(Debug, Copy, Clone)]
4949pub struct PhysicalDevicePushDescriptorPropertiesKHR {
4950 pub sType : StructureType,
4951 pub pNext : *mut void,
4952 pub maxPushDescriptors : u32,
4953}
4954
4955pub type PhysicalDeviceShaderFloat16Int8FeaturesKHR = PhysicalDeviceShaderFloat16Int8Features;
4956pub type PhysicalDeviceFloat16Int8FeaturesKHR = PhysicalDeviceShaderFloat16Int8Features;
4957pub type PhysicalDevice16BitStorageFeaturesKHR = PhysicalDevice16BitStorageFeatures;
4958
4959#[repr(C)]
4960#[derive(Debug, Copy, Clone)]
4961pub struct RectLayerKHR {
4962 pub offset : Offset2D,
4963 pub extent : Extent2D,
4964 pub layer : u32,
4965}
4966
4967#[repr(C)]
4968#[derive(Debug, Copy, Clone)]
4969pub struct PresentRegionKHR {
4970 pub rectangleCount : u32,
4971 pub pRectangles : *const RectLayerKHR,
4972}
4973
4974#[repr(C)]
4975#[derive(Debug, Copy, Clone)]
4976pub struct PresentRegionsKHR {
4977 pub sType : StructureType,
4978 pub pNext : *const void,
4979 pub swapchainCount : u32,
4980 pub pRegions : *const PresentRegionKHR,
4981}
4982
4983pub type DescriptorUpdateTemplateKHR = DescriptorUpdateTemplate;
4984pub type DescriptorUpdateTemplateTypeKHR = DescriptorUpdateTemplateType;
4985pub type DescriptorUpdateTemplateCreateFlagsKHR = DescriptorUpdateTemplateCreateFlags;
4986pub type DescriptorUpdateTemplateEntryKHR = DescriptorUpdateTemplateEntry;
4987pub type DescriptorUpdateTemplateCreateInfoKHR = DescriptorUpdateTemplateCreateInfo;
4988pub type PhysicalDeviceImagelessFramebufferFeaturesKHR = PhysicalDeviceImagelessFramebufferFeatures;
4989pub type FramebufferAttachmentsCreateInfoKHR = FramebufferAttachmentsCreateInfo;
4990pub type FramebufferAttachmentImageInfoKHR = FramebufferAttachmentImageInfo;
4991pub type RenderPassAttachmentBeginInfoKHR = RenderPassAttachmentBeginInfo;
4992pub type RenderPassCreateInfo2KHR = RenderPassCreateInfo2;
4993pub type AttachmentDescription2KHR = AttachmentDescription2;
4994pub type AttachmentReference2KHR = AttachmentReference2;
4995pub type SubpassDescription2KHR = SubpassDescription2;
4996pub type SubpassDependency2KHR = SubpassDependency2;
4997pub type SubpassBeginInfoKHR = SubpassBeginInfo;
4998pub type SubpassEndInfoKHR = SubpassEndInfo;
4999
5000#[repr(C)]
5001#[derive(Debug, Copy, Clone)]
5002pub struct SharedPresentSurfaceCapabilitiesKHR {
5003 pub sType : StructureType,
5004 pub pNext : *mut void,
5005 pub sharedPresentSupportedUsageFlags : ImageUsageFlags,
5006}
5007
5008pub type ExternalFenceHandleTypeFlagsKHR = ExternalFenceHandleTypeFlags;
5009pub type ExternalFenceHandleTypeFlagBitsKHR = ExternalFenceHandleTypeFlagBits;
5010pub type ExternalFenceFeatureFlagsKHR = ExternalFenceFeatureFlags;
5011pub type ExternalFenceFeatureFlagBitsKHR = ExternalFenceFeatureFlagBits;
5012pub type PhysicalDeviceExternalFenceInfoKHR = PhysicalDeviceExternalFenceInfo;
5013pub type ExternalFencePropertiesKHR = ExternalFenceProperties;
5014pub type FenceImportFlagsKHR = FenceImportFlags;
5015pub type FenceImportFlagBitsKHR = FenceImportFlagBits;
5016pub type ExportFenceCreateInfoKHR = ExportFenceCreateInfo;
5017
5018#[repr(C)]
5019#[derive(Debug, Copy, Clone)]
5020pub struct ImportFenceFdInfoKHR {
5021 pub sType : StructureType,
5022 pub pNext : *const void,
5023 pub fence : Fence,
5024 pub flags : FenceImportFlags,
5025 pub handleType : ExternalFenceHandleTypeFlagBits,
5026 pub fd : i32,
5027}
5028
5029#[repr(C)]
5030#[derive(Debug, Copy, Clone)]
5031pub struct FenceGetFdInfoKHR {
5032 pub sType : StructureType,
5033 pub pNext : *const void,
5034 pub fence : Fence,
5035 pub handleType : ExternalFenceHandleTypeFlagBits,
5036}
5037
5038pub type PerformanceCounterUnitKHR = i32;
5039pub const PERFORMANCE_COUNTER_UNIT_GENERIC_KHR : i32 = 0;
5040pub const PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR : i32 = 1;
5041pub const PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR : i32 = 2;
5042pub const PERFORMANCE_COUNTER_UNIT_BYTES_KHR : i32 = 3;
5043pub const PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR : i32 = 4;
5044pub const PERFORMANCE_COUNTER_UNIT_KELVIN_KHR : i32 = 5;
5045pub const PERFORMANCE_COUNTER_UNIT_WATTS_KHR : i32 = 6;
5046pub const PERFORMANCE_COUNTER_UNIT_VOLTS_KHR : i32 = 7;
5047pub const PERFORMANCE_COUNTER_UNIT_AMPS_KHR : i32 = 8;
5048pub const PERFORMANCE_COUNTER_UNIT_HERTZ_KHR : i32 = 9;
5049pub const PERFORMANCE_COUNTER_UNIT_CYCLES_KHR : i32 = 10;
5050pub const PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR : i32 = 0x7FFFFFF;
5051pub type PerformanceCounterScopeKHR = i32;
5052pub const PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR : i32 = 0;
5053pub const PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR : i32 = 1;
5054pub const PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR : i32 = 2;
5055pub const QUERY_SCOPE_COMMAND_BUFFER_KHR : i32 = PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR;
5056pub const QUERY_SCOPE_RENDER_PASS_KHR : i32 = PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR;
5057pub const QUERY_SCOPE_COMMAND_KHR : i32 = PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR;
5058pub const PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR : i32 = 0x7FFFFFF;
5059pub type PerformanceCounterStorageKHR = i32;
5060pub const PERFORMANCE_COUNTER_STORAGE_INT32_KHR : i32 = 0;
5061pub const PERFORMANCE_COUNTER_STORAGE_INT64_KHR : i32 = 1;
5062pub const PERFORMANCE_COUNTER_STORAGE_UINT32_KHR : i32 = 2;
5063pub const PERFORMANCE_COUNTER_STORAGE_UINT64_KHR : i32 = 3;
5064pub const PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR : i32 = 4;
5065pub const PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR : i32 = 5;
5066pub const PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR : i32 = 0x7FFFFFF;
5067pub type PerformanceCounterDescriptionFlagBitsKHR = i32;
5068pub const PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR : i32 = 0x00000001;
5069pub const PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR : i32 = 0x00000002;
5070pub const PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR : i32 = 0x7FFFFFF;
5071pub type PerformanceCounterDescriptionFlagsKHR = u32;
5072pub type AcquireProfilingLockFlagBitsKHR = i32;
5073pub const ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR : i32 = 0x7FFFFFF;
5074pub type AcquireProfilingLockFlagsKHR = u32;
5075
5076#[repr(C)]
5077#[derive(Debug, Copy, Clone)]
5078pub struct PhysicalDevicePerformanceQueryFeaturesKHR {
5079 pub sType : StructureType,
5080 pub pNext : *mut void,
5081 pub performanceCounterQueryPools : Bool32,
5082 pub performanceCounterMultipleQueryPools : Bool32,
5083}
5084
5085#[repr(C)]
5086#[derive(Debug, Copy, Clone)]
5087pub struct PhysicalDevicePerformanceQueryPropertiesKHR {
5088 pub sType : StructureType,
5089 pub pNext : *mut void,
5090 pub allowCommandBufferQueryCopies : Bool32,
5091}
5092
5093#[repr(C)]
5094#[derive(Debug, Copy, Clone)]
5095pub struct PerformanceCounterKHR {
5096 pub sType : StructureType,
5097 pub pNext : *const void,
5098 pub unit : PerformanceCounterUnitKHR,
5099 pub scope : PerformanceCounterScopeKHR,
5100 pub storage : PerformanceCounterStorageKHR,
5101 pub uuid : [u8;UUID_SIZE],
5102}
5103
5104#[repr(C)]
5105#[derive(Copy, Clone)]
5106pub struct PerformanceCounterDescriptionKHR {
5107 pub sType : StructureType,
5108 pub pNext : *const void,
5109 pub flags : PerformanceCounterDescriptionFlagsKHR,
5110 pub name : [i8;MAX_DESCRIPTION_SIZE],
5111 pub category : [i8;MAX_DESCRIPTION_SIZE],
5112 pub description : [i8;MAX_DESCRIPTION_SIZE],
5113}
5114
5115#[repr(C)]
5116#[derive(Debug, Copy, Clone)]
5117pub struct QueryPoolPerformanceCreateInfoKHR {
5118 pub sType : StructureType,
5119 pub pNext : *const void,
5120 pub queueFamilyIndex : u32,
5121 pub counterIndexCount : u32,
5122 pub pCounterIndices : *const u32,
5123}
5124
5125#[repr(C)]
5126#[derive(Debug, Copy, Clone)]
5127pub struct AcquireProfilingLockInfoKHR {
5128 pub sType : StructureType,
5129 pub pNext : *const void,
5130 pub flags : AcquireProfilingLockFlagsKHR,
5131 pub timeout : u64,
5132}
5133
5134#[repr(C)]
5135#[derive(Debug, Copy, Clone)]
5136pub struct PerformanceQuerySubmitInfoKHR {
5137 pub sType : StructureType,
5138 pub pNext : *const void,
5139 pub counterPassIndex : u32,
5140}
5141
5142pub type PointClippingBehaviorKHR = PointClippingBehavior;
5143pub type TessellationDomainOriginKHR = TessellationDomainOrigin;
5144pub type PhysicalDevicePointClippingPropertiesKHR = PhysicalDevicePointClippingProperties;
5145pub type RenderPassInputAttachmentAspectCreateInfoKHR = RenderPassInputAttachmentAspectCreateInfo;
5146pub type InputAttachmentAspectReferenceKHR = InputAttachmentAspectReference;
5147pub type ImageViewUsageCreateInfoKHR = ImageViewUsageCreateInfo;
5148pub type PipelineTessellationDomainOriginStateCreateInfoKHR = PipelineTessellationDomainOriginStateCreateInfo;
5149
5150#[repr(C)]
5151#[derive(Debug, Copy, Clone)]
5152pub struct PhysicalDeviceSurfaceInfo2KHR {
5153 pub sType : StructureType,
5154 pub pNext : *const void,
5155 pub surface : SurfaceKHR,
5156}
5157
5158#[repr(C)]
5159#[derive(Debug, Copy, Clone)]
5160pub struct SurfaceCapabilities2KHR {
5161 pub sType : StructureType,
5162 pub pNext : *mut void,
5163 pub surfaceCapabilities : SurfaceCapabilitiesKHR,
5164}
5165
5166#[repr(C)]
5167#[derive(Debug, Copy, Clone)]
5168pub struct SurfaceFormat2KHR {
5169 pub sType : StructureType,
5170 pub pNext : *mut void,
5171 pub surfaceFormat : SurfaceFormatKHR,
5172}
5173
5174pub type PhysicalDeviceVariablePointerFeaturesKHR = PhysicalDeviceVariablePointersFeatures;
5175pub type PhysicalDeviceVariablePointersFeaturesKHR = PhysicalDeviceVariablePointersFeatures;
5176
5177#[repr(C)]
5178#[derive(Debug, Copy, Clone)]
5179pub struct DisplayProperties2KHR {
5180 pub sType : StructureType,
5181 pub pNext : *mut void,
5182 pub displayProperties : DisplayPropertiesKHR,
5183}
5184
5185#[repr(C)]
5186#[derive(Debug, Copy, Clone)]
5187pub struct DisplayPlaneProperties2KHR {
5188 pub sType : StructureType,
5189 pub pNext : *mut void,
5190 pub displayPlaneProperties : DisplayPlanePropertiesKHR,
5191}
5192
5193#[repr(C)]
5194#[derive(Debug, Copy, Clone)]
5195pub struct DisplayModeProperties2KHR {
5196 pub sType : StructureType,
5197 pub pNext : *mut void,
5198 pub displayModeProperties : DisplayModePropertiesKHR,
5199}
5200
5201#[repr(C)]
5202#[derive(Debug, Copy, Clone)]
5203pub struct DisplayPlaneInfo2KHR {
5204 pub sType : StructureType,
5205 pub pNext : *const void,
5206 pub mode : DisplayModeKHR,
5207 pub planeIndex : u32,
5208}
5209
5210#[repr(C)]
5211#[derive(Debug, Copy, Clone)]
5212pub struct DisplayPlaneCapabilities2KHR {
5213 pub sType : StructureType,
5214 pub pNext : *mut void,
5215 pub capabilities : DisplayPlaneCapabilitiesKHR,
5216}
5217
5218pub type MemoryDedicatedRequirementsKHR = MemoryDedicatedRequirements;
5219pub type MemoryDedicatedAllocateInfoKHR = MemoryDedicatedAllocateInfo;
5220pub type BufferMemoryRequirementsInfo2KHR = BufferMemoryRequirementsInfo2;
5221pub type ImageMemoryRequirementsInfo2KHR = ImageMemoryRequirementsInfo2;
5222pub type ImageSparseMemoryRequirementsInfo2KHR = ImageSparseMemoryRequirementsInfo2;
5223pub type SparseImageMemoryRequirements2KHR = SparseImageMemoryRequirements2;
5224pub type ImageFormatListCreateInfoKHR = ImageFormatListCreateInfo;
5225pub type SamplerYcbcrConversionKHR = SamplerYcbcrConversion;
5226pub type SamplerYcbcrModelConversionKHR = SamplerYcbcrModelConversion;
5227pub type SamplerYcbcrRangeKHR = SamplerYcbcrRange;
5228pub type ChromaLocationKHR = ChromaLocation;
5229pub type SamplerYcbcrConversionCreateInfoKHR = SamplerYcbcrConversionCreateInfo;
5230pub type SamplerYcbcrConversionInfoKHR = SamplerYcbcrConversionInfo;
5231pub type BindImagePlaneMemoryInfoKHR = BindImagePlaneMemoryInfo;
5232pub type ImagePlaneMemoryRequirementsInfoKHR = ImagePlaneMemoryRequirementsInfo;
5233pub type PhysicalDeviceSamplerYcbcrConversionFeaturesKHR = PhysicalDeviceSamplerYcbcrConversionFeatures;
5234pub type SamplerYcbcrConversionImageFormatPropertiesKHR = SamplerYcbcrConversionImageFormatProperties;
5235pub type BindBufferMemoryInfoKHR = BindBufferMemoryInfo;
5236pub type BindImageMemoryInfoKHR = BindImageMemoryInfo;
5237pub type PhysicalDeviceMaintenance3PropertiesKHR = PhysicalDeviceMaintenance3Properties;
5238pub type DescriptorSetLayoutSupportKHR = DescriptorSetLayoutSupport;
5239pub type PhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR = PhysicalDeviceShaderSubgroupExtendedTypesFeatures;
5240pub type PhysicalDevice8BitStorageFeaturesKHR = PhysicalDevice8BitStorageFeatures;
5241pub type PhysicalDeviceShaderAtomicInt64FeaturesKHR = PhysicalDeviceShaderAtomicInt64Features;
5242
5243#[repr(C)]
5244#[derive(Debug, Copy, Clone)]
5245pub struct PhysicalDeviceShaderClockFeaturesKHR {
5246 pub sType : StructureType,
5247 pub pNext : *mut void,
5248 pub shaderSubgroupClock : Bool32,
5249 pub shaderDeviceClock : Bool32,
5250}
5251
5252pub type DriverIdKHR = DriverId;
5253pub type ConformanceVersionKHR = ConformanceVersion;
5254pub type PhysicalDeviceDriverPropertiesKHR = PhysicalDeviceDriverProperties;
5255pub type ShaderFloatControlsIndependenceKHR = ShaderFloatControlsIndependence;
5256pub type PhysicalDeviceFloatControlsPropertiesKHR = PhysicalDeviceFloatControlsProperties;
5257pub type ResolveModeFlagBitsKHR = ResolveModeFlagBits;
5258pub type ResolveModeFlagsKHR = ResolveModeFlags;
5259pub type SubpassDescriptionDepthStencilResolveKHR = SubpassDescriptionDepthStencilResolve;
5260pub type PhysicalDeviceDepthStencilResolvePropertiesKHR = PhysicalDeviceDepthStencilResolveProperties;
5261pub type SemaphoreTypeKHR = SemaphoreType;
5262pub type SemaphoreWaitFlagBitsKHR = SemaphoreWaitFlagBits;
5263pub type SemaphoreWaitFlagsKHR = SemaphoreWaitFlags;
5264pub type PhysicalDeviceTimelineSemaphoreFeaturesKHR = PhysicalDeviceTimelineSemaphoreFeatures;
5265pub type PhysicalDeviceTimelineSemaphorePropertiesKHR = PhysicalDeviceTimelineSemaphoreProperties;
5266pub type SemaphoreTypeCreateInfoKHR = SemaphoreTypeCreateInfo;
5267pub type TimelineSemaphoreSubmitInfoKHR = TimelineSemaphoreSubmitInfo;
5268pub type SemaphoreWaitInfoKHR = SemaphoreWaitInfo;
5269pub type SemaphoreSignalInfoKHR = SemaphoreSignalInfo;
5270pub type PhysicalDeviceVulkanMemoryModelFeaturesKHR = PhysicalDeviceVulkanMemoryModelFeatures;
5271
5272#[repr(C)]
5273#[derive(Debug, Copy, Clone)]
5274pub struct SurfaceProtectedCapabilitiesKHR {
5275 pub sType : StructureType,
5276 pub pNext : *const void,
5277 pub supportsProtected : Bool32,
5278}
5279
5280pub type PhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR = PhysicalDeviceSeparateDepthStencilLayoutsFeatures;
5281pub type AttachmentReferenceStencilLayoutKHR = AttachmentReferenceStencilLayout;
5282pub type AttachmentDescriptionStencilLayoutKHR = AttachmentDescriptionStencilLayout;
5283pub type PhysicalDeviceUniformBufferStandardLayoutFeaturesKHR = PhysicalDeviceUniformBufferStandardLayoutFeatures;
5284pub type PhysicalDeviceBufferDeviceAddressFeaturesKHR = PhysicalDeviceBufferDeviceAddressFeatures;
5285pub type BufferDeviceAddressInfoKHR = BufferDeviceAddressInfo;
5286pub type BufferOpaqueCaptureAddressCreateInfoKHR = BufferOpaqueCaptureAddressCreateInfo;
5287pub type MemoryOpaqueCaptureAddressAllocateInfoKHR = MemoryOpaqueCaptureAddressAllocateInfo;
5288pub type DeviceMemoryOpaqueCaptureAddressInfoKHR = DeviceMemoryOpaqueCaptureAddressInfo;
5289pub type PipelineExecutableStatisticFormatKHR = i32;
5290pub const PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR : i32 = 0;
5291pub const PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR : i32 = 1;
5292pub const PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR : i32 = 2;
5293pub const PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR : i32 = 3;
5294pub const PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR : i32 = 0x7FFFFFF;
5295
5296#[repr(C)]
5297#[derive(Debug, Copy, Clone)]
5298pub struct PhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
5299 pub sType : StructureType,
5300 pub pNext : *mut void,
5301 pub pipelineExecutableInfo : Bool32,
5302}
5303
5304#[repr(C)]
5305#[derive(Debug, Copy, Clone)]
5306pub struct PipelineInfoKHR {
5307 pub sType : StructureType,
5308 pub pNext : *const void,
5309 pub pipeline : Pipeline,
5310}
5311
5312#[repr(C)]
5313#[derive(Copy, Clone)]
5314pub struct PipelineExecutablePropertiesKHR {
5315 pub sType : StructureType,
5316 pub pNext : *mut void,
5317 pub stages : ShaderStageFlags,
5318 pub name : [i8;MAX_DESCRIPTION_SIZE],
5319 pub description : [i8;MAX_DESCRIPTION_SIZE],
5320 pub subgroupSize : u32,
5321}
5322
5323#[repr(C)]
5324#[derive(Debug, Copy, Clone)]
5325pub struct PipelineExecutableInfoKHR {
5326 pub sType : StructureType,
5327 pub pNext : *const void,
5328 pub pipeline : Pipeline,
5329 pub executableIndex : u32,
5330}
5331
5332#[repr(C)]
5333#[derive(Copy, Clone)]
5334pub struct PipelineExecutableInternalRepresentationKHR {
5335 pub sType : StructureType,
5336 pub pNext : *mut void,
5337 pub name : [i8;MAX_DESCRIPTION_SIZE],
5338 pub description : [i8;MAX_DESCRIPTION_SIZE],
5339 pub isText : Bool32,
5340 pub dataSize : usize,
5341 pub pData : *mut void,
5342}
5343
5344pub type DebugReportCallbackEXT = u64;
5345pub type DebugReportObjectTypeEXT = i32;
5346pub const DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT : i32 = 0;
5347pub const DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT : i32 = 1;
5348pub const DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT : i32 = 2;
5349pub const DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT : i32 = 3;
5350pub const DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT : i32 = 4;
5351pub const DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT : i32 = 5;
5352pub const DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT : i32 = 6;
5353pub const DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT : i32 = 7;
5354pub const DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT : i32 = 8;
5355pub const DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT : i32 = 9;
5356pub const DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT : i32 = 10;
5357pub const DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT : i32 = 11;
5358pub const DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT : i32 = 12;
5359pub const DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT : i32 = 13;
5360pub const DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT : i32 = 14;
5361pub const DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT : i32 = 15;
5362pub const DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT : i32 = 16;
5363pub const DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT : i32 = 17;
5364pub const DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT : i32 = 18;
5365pub const DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT : i32 = 19;
5366pub const DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT : i32 = 20;
5367pub const DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT : i32 = 21;
5368pub const DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT : i32 = 22;
5369pub const DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT : i32 = 23;
5370pub const DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT : i32 = 24;
5371pub const DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT : i32 = 25;
5372pub const DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT : i32 = 26;
5373pub const DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT : i32 = 27;
5374pub const DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT : i32 = 28;
5375pub const DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT : i32 = 29;
5376pub const DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT : i32 = 30;
5377pub const DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT : i32 = 33;
5378pub const DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT : i32 = 1000156000;
5379pub const DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT : i32 = 1000085000;
5380pub const DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT : i32 = 1000165000;
5381pub const DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT : i32 = DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT;
5382pub const DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT : i32 = DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT;
5383pub const DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT : i32 = DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT;
5384pub const DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT : i32 = DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT;
5385pub const DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT : i32 = DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT;
5386pub const DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT : i32 = 0x7FFFFFF;
5387pub type DebugReportFlagBitsEXT = i32;
5388pub const DEBUG_REPORT_INFORMATION_BIT_EXT : i32 = 0x00000001;
5389pub const DEBUG_REPORT_WARNING_BIT_EXT : i32 = 0x00000002;
5390pub const DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT : i32 = 0x00000004;
5391pub const DEBUG_REPORT_ERROR_BIT_EXT : i32 = 0x00000008;
5392pub const DEBUG_REPORT_DEBUG_BIT_EXT : i32 = 0x00000010;
5393pub const DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT : i32 = 0x7FFFFFF;
5394pub type DebugReportFlagsEXT = u32;
5395
5396#[repr(C)]
5397#[derive(Debug, Copy, Clone)]
5398pub struct DebugReportCallbackCreateInfoEXT {
5399 pub sType : StructureType,
5400 pub pNext : *const void,
5401 pub flags : DebugReportFlagsEXT,
5402 pub pfnCallback : u64,
5403 pub pUserData : *mut void,
5404}
5405
5406pub type RasterizationOrderAMD = i32;
5407pub const RASTERIZATION_ORDER_STRICT_AMD : i32 = 0;
5408pub const RASTERIZATION_ORDER_RELAXED_AMD : i32 = 1;
5409pub const RASTERIZATION_ORDER_MAX_ENUM_AMD : i32 = 0x7FFFFFF;
5410
5411#[repr(C)]
5412#[derive(Debug, Copy, Clone)]
5413pub struct PipelineRasterizationStateRasterizationOrderAMD {
5414 pub sType : StructureType,
5415 pub pNext : *const void,
5416 pub rasterizationOrder : RasterizationOrderAMD,
5417}
5418
5419#[repr(C)]
5420#[derive(Debug, Copy, Clone)]
5421pub struct DebugMarkerObjectNameInfoEXT {
5422 pub sType : StructureType,
5423 pub pNext : *const void,
5424 pub objectType : DebugReportObjectTypeEXT,
5425 pub object : u64,
5426 pub pObjectName : *const i8,
5427}
5428
5429#[repr(C)]
5430#[derive(Debug, Copy, Clone)]
5431pub struct DebugMarkerObjectTagInfoEXT {
5432 pub sType : StructureType,
5433 pub pNext : *const void,
5434 pub objectType : DebugReportObjectTypeEXT,
5435 pub object : u64,
5436 pub tagName : u64,
5437 pub tagSize : usize,
5438 pub pTag : *const void,
5439}
5440
5441#[repr(C)]
5442#[derive(Debug, Copy, Clone)]
5443pub struct DebugMarkerMarkerInfoEXT {
5444 pub sType : StructureType,
5445 pub pNext : *const void,
5446 pub pMarkerName : *const i8,
5447 pub color : [f32;4],
5448}
5449
5450#[repr(C)]
5451#[derive(Debug, Copy, Clone)]
5452pub struct DedicatedAllocationImageCreateInfoNV {
5453 pub sType : StructureType,
5454 pub pNext : *const void,
5455 pub dedicatedAllocation : Bool32,
5456}
5457
5458#[repr(C)]
5459#[derive(Debug, Copy, Clone)]
5460pub struct DedicatedAllocationBufferCreateInfoNV {
5461 pub sType : StructureType,
5462 pub pNext : *const void,
5463 pub dedicatedAllocation : Bool32,
5464}
5465
5466#[repr(C)]
5467#[derive(Debug, Copy, Clone)]
5468pub struct DedicatedAllocationMemoryAllocateInfoNV {
5469 pub sType : StructureType,
5470 pub pNext : *const void,
5471 pub image : Image,
5472 pub buffer : Buffer,
5473}
5474
5475pub type PipelineRasterizationStateStreamCreateFlagsEXT = u32;
5476
5477#[repr(C)]
5478#[derive(Debug, Copy, Clone)]
5479pub struct PhysicalDeviceTransformFeedbackFeaturesEXT {
5480 pub sType : StructureType,
5481 pub pNext : *mut void,
5482 pub transformFeedback : Bool32,
5483 pub geometryStreams : Bool32,
5484}
5485
5486#[repr(C)]
5487#[derive(Debug, Copy, Clone)]
5488pub struct PhysicalDeviceTransformFeedbackPropertiesEXT {
5489 pub sType : StructureType,
5490 pub pNext : *mut void,
5491 pub maxTransformFeedbackStreams : u32,
5492 pub maxTransformFeedbackBuffers : u32,
5493 pub maxTransformFeedbackBufferSize : DeviceSize,
5494 pub maxTransformFeedbackStreamDataSize : u32,
5495 pub maxTransformFeedbackBufferDataSize : u32,
5496 pub maxTransformFeedbackBufferDataStride : u32,
5497 pub transformFeedbackQueries : Bool32,
5498 pub transformFeedbackStreamsLinesTriangles : Bool32,
5499 pub transformFeedbackRasterizationStreamSelect : Bool32,
5500 pub transformFeedbackDraw : Bool32,
5501}
5502
5503#[repr(C)]
5504#[derive(Debug, Copy, Clone)]
5505pub struct PipelineRasterizationStateStreamCreateInfoEXT {
5506 pub sType : StructureType,
5507 pub pNext : *const void,
5508 pub flags : PipelineRasterizationStateStreamCreateFlagsEXT,
5509 pub rasterizationStream : u32,
5510}
5511
5512#[repr(C)]
5513#[derive(Debug, Copy, Clone)]
5514pub struct ImageViewHandleInfoNVX {
5515 pub sType : StructureType,
5516 pub pNext : *const void,
5517 pub imageView : ImageView,
5518 pub descriptorType : DescriptorType,
5519 pub sampler : Sampler,
5520}
5521
5522#[repr(C)]
5523#[derive(Debug, Copy, Clone)]
5524pub struct ImageViewAddressPropertiesNVX {
5525 pub sType : StructureType,
5526 pub pNext : *mut void,
5527 pub deviceAddress : DeviceAddress,
5528 pub size : DeviceSize,
5529}
5530
5531#[repr(C)]
5532#[derive(Debug, Copy, Clone)]
5533pub struct TextureLODGatherFormatPropertiesAMD {
5534 pub sType : StructureType,
5535 pub pNext : *mut void,
5536 pub supportsTextureGatherLODBiasAMD : Bool32,
5537}
5538
5539pub type ShaderInfoTypeAMD = i32;
5540pub const SHADER_INFO_TYPE_STATISTICS_AMD : i32 = 0;
5541pub const SHADER_INFO_TYPE_BINARY_AMD : i32 = 1;
5542pub const SHADER_INFO_TYPE_DISASSEMBLY_AMD : i32 = 2;
5543pub const SHADER_INFO_TYPE_MAX_ENUM_AMD : i32 = 0x7FFFFFF;
5544
5545#[repr(C)]
5546#[derive(Debug, Copy, Clone)]
5547pub struct ShaderResourceUsageAMD {
5548 pub numUsedVgprs : u32,
5549 pub numUsedSgprs : u32,
5550 pub ldsSizePerLocalWorkGroup : u32,
5551 pub ldsUsageSizeInBytes : usize,
5552 pub scratchMemUsageInBytes : usize,
5553}
5554
5555#[repr(C)]
5556#[derive(Debug, Copy, Clone)]
5557pub struct ShaderStatisticsInfoAMD {
5558 pub shaderStageMask : ShaderStageFlags,
5559 pub resourceUsage : ShaderResourceUsageAMD,
5560 pub numPhysicalVgprs : u32,
5561 pub numPhysicalSgprs : u32,
5562 pub numAvailableVgprs : u32,
5563 pub numAvailableSgprs : u32,
5564 pub computeWorkGroupSize : [u32;3],
5565}
5566
5567#[repr(C)]
5568#[derive(Debug, Copy, Clone)]
5569pub struct PhysicalDeviceCornerSampledImageFeaturesNV {
5570 pub sType : StructureType,
5571 pub pNext : *mut void,
5572 pub cornerSampledImage : Bool32,
5573}
5574
5575pub type ExternalMemoryHandleTypeFlagBitsNV = i32;
5576pub const EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV : i32 = 0x00000001;
5577pub const EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV : i32 = 0x00000002;
5578pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV : i32 = 0x00000004;
5579pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV : i32 = 0x00000008;
5580pub const EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV : i32 = 0x7FFFFFF;
5581pub type ExternalMemoryHandleTypeFlagsNV = u32;
5582pub type ExternalMemoryFeatureFlagBitsNV = i32;
5583pub const EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV : i32 = 0x00000001;
5584pub const EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV : i32 = 0x00000002;
5585pub const EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV : i32 = 0x00000004;
5586pub const EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV : i32 = 0x7FFFFFF;
5587pub type ExternalMemoryFeatureFlagsNV = u32;
5588
5589#[repr(C)]
5590#[derive(Debug, Copy, Clone)]
5591pub struct ExternalImageFormatPropertiesNV {
5592 pub imageFormatProperties : ImageFormatProperties,
5593 pub externalMemoryFeatures : ExternalMemoryFeatureFlagsNV,
5594 pub exportFromImportedHandleTypes : ExternalMemoryHandleTypeFlagsNV,
5595 pub compatibleHandleTypes : ExternalMemoryHandleTypeFlagsNV,
5596}
5597
5598#[repr(C)]
5599#[derive(Debug, Copy, Clone)]
5600pub struct ExternalMemoryImageCreateInfoNV {
5601 pub sType : StructureType,
5602 pub pNext : *const void,
5603 pub handleTypes : ExternalMemoryHandleTypeFlagsNV,
5604}
5605
5606#[repr(C)]
5607#[derive(Debug, Copy, Clone)]
5608pub struct ExportMemoryAllocateInfoNV {
5609 pub sType : StructureType,
5610 pub pNext : *const void,
5611 pub handleTypes : ExternalMemoryHandleTypeFlagsNV,
5612}
5613
5614pub type ValidationCheckEXT = i32;
5615pub const VALIDATION_CHECK_ALL_EXT : i32 = 0;
5616pub const VALIDATION_CHECK_SHADERS_EXT : i32 = 1;
5617pub const VALIDATION_CHECK_MAX_ENUM_EXT : i32 = 0x7FFFFFF;
5618
5619#[repr(C)]
5620#[derive(Debug, Copy, Clone)]
5621pub struct ValidationFlagsEXT {
5622 pub sType : StructureType,
5623 pub pNext : *const void,
5624 pub disabledValidationCheckCount : u32,
5625 pub pDisabledValidationChecks : *const ValidationCheckEXT,
5626}
5627
5628#[repr(C)]
5629#[derive(Debug, Copy, Clone)]
5630pub struct PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT {
5631 pub sType : StructureType,
5632 pub pNext : *mut void,
5633 pub textureCompressionASTC_HDR : Bool32,
5634}
5635
5636#[repr(C)]
5637#[derive(Debug, Copy, Clone)]
5638pub struct ImageViewASTCDecodeModeEXT {
5639 pub sType : StructureType,
5640 pub pNext : *const void,
5641 pub decodeMode : Format,
5642}
5643
5644#[repr(C)]
5645#[derive(Debug, Copy, Clone)]
5646pub struct PhysicalDeviceASTCDecodeFeaturesEXT {
5647 pub sType : StructureType,
5648 pub pNext : *mut void,
5649 pub decodeModeSharedExponent : Bool32,
5650}
5651
5652pub type ConditionalRenderingFlagBitsEXT = i32;
5653pub const CONDITIONAL_RENDERING_INVERTED_BIT_EXT : i32 = 0x00000001;
5654pub const CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT : i32 = 0x7FFFFFF;
5655pub type ConditionalRenderingFlagsEXT = u32;
5656
5657#[repr(C)]
5658#[derive(Debug, Copy, Clone)]
5659pub struct ConditionalRenderingBeginInfoEXT {
5660 pub sType : StructureType,
5661 pub pNext : *const void,
5662 pub buffer : Buffer,
5663 pub offset : DeviceSize,
5664 pub flags : ConditionalRenderingFlagsEXT,
5665}
5666
5667#[repr(C)]
5668#[derive(Debug, Copy, Clone)]
5669pub struct PhysicalDeviceConditionalRenderingFeaturesEXT {
5670 pub sType : StructureType,
5671 pub pNext : *mut void,
5672 pub conditionalRendering : Bool32,
5673 pub inheritedConditionalRendering : Bool32,
5674}
5675
5676#[repr(C)]
5677#[derive(Debug, Copy, Clone)]
5678pub struct CommandBufferInheritanceConditionalRenderingInfoEXT {
5679 pub sType : StructureType,
5680 pub pNext : *const void,
5681 pub conditionalRenderingEnable : Bool32,
5682}
5683
5684#[repr(C)]
5685#[derive(Debug, Copy, Clone)]
5686pub struct ViewportWScalingNV {
5687 pub xcoeff : f32,
5688 pub ycoeff : f32,
5689}
5690
5691#[repr(C)]
5692#[derive(Debug, Copy, Clone)]
5693pub struct PipelineViewportWScalingStateCreateInfoNV {
5694 pub sType : StructureType,
5695 pub pNext : *const void,
5696 pub viewportWScalingEnable : Bool32,
5697 pub viewportCount : u32,
5698 pub pViewportWScalings : *const ViewportWScalingNV,
5699}
5700
5701pub type SurfaceCounterFlagBitsEXT = i32;
5702pub const SURFACE_COUNTER_VBLANK_EXT : i32 = 0x00000001;
5703pub const SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT : i32 = 0x7FFFFFF;
5704pub type SurfaceCounterFlagsEXT = u32;
5705
5706#[repr(C)]
5707#[derive(Debug, Copy, Clone)]
5708pub struct SurfaceCapabilities2EXT {
5709 pub sType : StructureType,
5710 pub pNext : *mut void,
5711 pub minImageCount : u32,
5712 pub maxImageCount : u32,
5713 pub currentExtent : Extent2D,
5714 pub minImageExtent : Extent2D,
5715 pub maxImageExtent : Extent2D,
5716 pub maxImageArrayLayers : u32,
5717 pub supportedTransforms : SurfaceTransformFlagsKHR,
5718 pub currentTransform : SurfaceTransformFlagBitsKHR,
5719 pub supportedCompositeAlpha : CompositeAlphaFlagsKHR,
5720 pub supportedUsageFlags : ImageUsageFlags,
5721 pub supportedSurfaceCounters : SurfaceCounterFlagsEXT,
5722}
5723
5724pub type DisplayPowerStateEXT = i32;
5725pub const DISPLAY_POWER_STATE_OFF_EXT : i32 = 0;
5726pub const DISPLAY_POWER_STATE_SUSPEND_EXT : i32 = 1;
5727pub const DISPLAY_POWER_STATE_ON_EXT : i32 = 2;
5728pub const DISPLAY_POWER_STATE_MAX_ENUM_EXT : i32 = 0x7FFFFFF;
5729pub type DeviceEventTypeEXT = i32;
5730pub const DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT : i32 = 0;
5731pub const DEVICE_EVENT_TYPE_MAX_ENUM_EXT : i32 = 0x7FFFFFF;
5732pub type DisplayEventTypeEXT = i32;
5733pub const DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT : i32 = 0;
5734pub const DISPLAY_EVENT_TYPE_MAX_ENUM_EXT : i32 = 0x7FFFFFF;
5735
5736#[repr(C)]
5737#[derive(Debug, Copy, Clone)]
5738pub struct DisplayPowerInfoEXT {
5739 pub sType : StructureType,
5740 pub pNext : *const void,
5741 pub powerState : DisplayPowerStateEXT,
5742}
5743
5744#[repr(C)]
5745#[derive(Debug, Copy, Clone)]
5746pub struct DeviceEventInfoEXT {
5747 pub sType : StructureType,
5748 pub pNext : *const void,
5749 pub deviceEvent : DeviceEventTypeEXT,
5750}
5751
5752#[repr(C)]
5753#[derive(Debug, Copy, Clone)]
5754pub struct DisplayEventInfoEXT {
5755 pub sType : StructureType,
5756 pub pNext : *const void,
5757 pub displayEvent : DisplayEventTypeEXT,
5758}
5759
5760#[repr(C)]
5761#[derive(Debug, Copy, Clone)]
5762pub struct SwapchainCounterCreateInfoEXT {
5763 pub sType : StructureType,
5764 pub pNext : *const void,
5765 pub surfaceCounters : SurfaceCounterFlagsEXT,
5766}
5767
5768#[repr(C)]
5769#[derive(Debug, Copy, Clone)]
5770pub struct RefreshCycleDurationGOOGLE {
5771 pub refreshDuration : u64,
5772}
5773
5774#[repr(C)]
5775#[derive(Debug, Copy, Clone)]
5776pub struct PastPresentationTimingGOOGLE {
5777 pub presentID : u32,
5778 pub desiredPresentTime : u64,
5779 pub actualPresentTime : u64,
5780 pub earliestPresentTime : u64,
5781 pub presentMargin : u64,
5782}
5783
5784#[repr(C)]
5785#[derive(Debug, Copy, Clone)]
5786pub struct PresentTimeGOOGLE {
5787 pub presentID : u32,
5788 pub desiredPresentTime : u64,
5789}
5790
5791#[repr(C)]
5792#[derive(Debug, Copy, Clone)]
5793pub struct PresentTimesInfoGOOGLE {
5794 pub sType : StructureType,
5795 pub pNext : *const void,
5796 pub swapchainCount : u32,
5797 pub pTimes : *const PresentTimeGOOGLE,
5798}
5799
5800#[repr(C)]
5801#[derive(Debug, Copy, Clone)]
5802pub struct PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
5803 pub sType : StructureType,
5804 pub pNext : *mut void,
5805 pub perViewPositionAllComponents : Bool32,
5806}
5807
5808pub type ViewportCoordinateSwizzleNV = i32;
5809pub const VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV : i32 = 0;
5810pub const VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV : i32 = 1;
5811pub const VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV : i32 = 2;
5812pub const VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV : i32 = 3;
5813pub const VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV : i32 = 4;
5814pub const VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV : i32 = 5;
5815pub const VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV : i32 = 6;
5816pub const VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV : i32 = 7;
5817pub const VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV : i32 = 0x7FFFFFF;
5818pub type PipelineViewportSwizzleStateCreateFlagsNV = u32;
5819
5820#[repr(C)]
5821#[derive(Debug, Copy, Clone)]
5822pub struct ViewportSwizzleNV {
5823 pub x : ViewportCoordinateSwizzleNV,
5824 pub y : ViewportCoordinateSwizzleNV,
5825 pub z : ViewportCoordinateSwizzleNV,
5826 pub w : ViewportCoordinateSwizzleNV,
5827}
5828
5829#[repr(C)]
5830#[derive(Debug, Copy, Clone)]
5831pub struct PipelineViewportSwizzleStateCreateInfoNV {
5832 pub sType : StructureType,
5833 pub pNext : *const void,
5834 pub flags : PipelineViewportSwizzleStateCreateFlagsNV,
5835 pub viewportCount : u32,
5836 pub pViewportSwizzles : *const ViewportSwizzleNV,
5837}
5838
5839pub type DiscardRectangleModeEXT = i32;
5840pub const DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT : i32 = 0;
5841pub const DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT : i32 = 1;
5842pub const DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT : i32 = 0x7FFFFFF;
5843pub type PipelineDiscardRectangleStateCreateFlagsEXT = u32;
5844
5845#[repr(C)]
5846#[derive(Debug, Copy, Clone)]
5847pub struct PhysicalDeviceDiscardRectanglePropertiesEXT {
5848 pub sType : StructureType,
5849 pub pNext : *mut void,
5850 pub maxDiscardRectangles : u32,
5851}
5852
5853#[repr(C)]
5854#[derive(Debug, Copy, Clone)]
5855pub struct PipelineDiscardRectangleStateCreateInfoEXT {
5856 pub sType : StructureType,
5857 pub pNext : *const void,
5858 pub flags : PipelineDiscardRectangleStateCreateFlagsEXT,
5859 pub discardRectangleMode : DiscardRectangleModeEXT,
5860 pub discardRectangleCount : u32,
5861 pub pDiscardRectangles : *const Rect2D,
5862}
5863
5864pub type ConservativeRasterizationModeEXT = i32;
5865pub const CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT : i32 = 0;
5866pub const CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT : i32 = 1;
5867pub const CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT : i32 = 2;
5868pub const CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT : i32 = 0x7FFFFFF;
5869pub type PipelineRasterizationConservativeStateCreateFlagsEXT = u32;
5870
5871#[repr(C)]
5872#[derive(Debug, Copy, Clone)]
5873pub struct PhysicalDeviceConservativeRasterizationPropertiesEXT {
5874 pub sType : StructureType,
5875 pub pNext : *mut void,
5876 pub primitiveOverestimationSize : f32,
5877 pub maxExtraPrimitiveOverestimationSize : f32,
5878 pub extraPrimitiveOverestimationSizeGranularity : f32,
5879 pub primitiveUnderestimation : Bool32,
5880 pub conservativePointAndLineRasterization : Bool32,
5881 pub degenerateTrianglesRasterized : Bool32,
5882 pub degenerateLinesRasterized : Bool32,
5883 pub fullyCoveredFragmentShaderInputVariable : Bool32,
5884 pub conservativeRasterizationPostDepthCoverage : Bool32,
5885}
5886
5887#[repr(C)]
5888#[derive(Debug, Copy, Clone)]
5889pub struct PipelineRasterizationConservativeStateCreateInfoEXT {
5890 pub sType : StructureType,
5891 pub pNext : *const void,
5892 pub flags : PipelineRasterizationConservativeStateCreateFlagsEXT,
5893 pub conservativeRasterizationMode : ConservativeRasterizationModeEXT,
5894 pub extraPrimitiveOverestimationSize : f32,
5895}
5896
5897pub type PipelineRasterizationDepthClipStateCreateFlagsEXT = u32;
5898
5899#[repr(C)]
5900#[derive(Debug, Copy, Clone)]
5901pub struct PhysicalDeviceDepthClipEnableFeaturesEXT {
5902 pub sType : StructureType,
5903 pub pNext : *mut void,
5904 pub depthClipEnable : Bool32,
5905}
5906
5907#[repr(C)]
5908#[derive(Debug, Copy, Clone)]
5909pub struct PipelineRasterizationDepthClipStateCreateInfoEXT {
5910 pub sType : StructureType,
5911 pub pNext : *const void,
5912 pub flags : PipelineRasterizationDepthClipStateCreateFlagsEXT,
5913 pub depthClipEnable : Bool32,
5914}
5915
5916#[repr(C)]
5917#[derive(Debug, Copy, Clone)]
5918pub struct XYColorEXT {
5919 pub x : f32,
5920 pub y : f32,
5921}
5922
5923#[repr(C)]
5924#[derive(Debug, Copy, Clone)]
5925pub struct HdrMetadataEXT {
5926 pub sType : StructureType,
5927 pub pNext : *const void,
5928 pub displayPrimaryRed : XYColorEXT,
5929 pub displayPrimaryGreen : XYColorEXT,
5930 pub displayPrimaryBlue : XYColorEXT,
5931 pub whitePoint : XYColorEXT,
5932 pub maxLuminance : f32,
5933 pub minLuminance : f32,
5934 pub maxContentLightLevel : f32,
5935 pub maxFrameAverageLightLevel : f32,
5936}
5937
5938pub type DebugUtilsMessengerEXT = u64;
5939pub type DebugUtilsMessengerCallbackDataFlagsEXT = u32;
5940pub type DebugUtilsMessageSeverityFlagBitsEXT = i32;
5941pub const DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT : i32 = 0x00000001;
5942pub const DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT : i32 = 0x00000010;
5943pub const DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT : i32 = 0x00000100;
5944pub const DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT : i32 = 0x00001000;
5945pub const DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT : i32 = 0x7FFFFFF;
5946pub type DebugUtilsMessageTypeFlagBitsEXT = i32;
5947pub const DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT : i32 = 0x00000001;
5948pub const DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT : i32 = 0x00000002;
5949pub const DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT : i32 = 0x00000004;
5950pub const DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT : i32 = 0x7FFFFFF;
5951pub type DebugUtilsMessageTypeFlagsEXT = u32;
5952pub type DebugUtilsMessengerCreateFlagsEXT = u32;
5953pub type DebugUtilsMessageSeverityFlagsEXT = u32;
5954
5955#[repr(C)]
5956#[derive(Debug, Copy, Clone)]
5957pub struct DebugUtilsLabelEXT {
5958 pub sType : StructureType,
5959 pub pNext : *const void,
5960 pub pLabelName : *const i8,
5961 pub color : [f32;4],
5962}
5963
5964#[repr(C)]
5965#[derive(Debug, Copy, Clone)]
5966pub struct DebugUtilsObjectNameInfoEXT {
5967 pub sType : StructureType,
5968 pub pNext : *const void,
5969 pub objectType : ObjectType,
5970 pub objectHandle : u64,
5971 pub pObjectName : *const i8,
5972}
5973
5974#[repr(C)]
5975#[derive(Debug, Copy, Clone)]
5976pub struct DebugUtilsMessengerCallbackDataEXT {
5977 pub sType : StructureType,
5978 pub pNext : *const void,
5979 pub flags : DebugUtilsMessengerCallbackDataFlagsEXT,
5980 pub pMessageIdName : *const i8,
5981 pub messageIdNumber : i32,
5982 pub pMessage : *const i8,
5983 pub queueLabelCount : u32,
5984 pub pQueueLabels : *const DebugUtilsLabelEXT,
5985 pub cmdBufLabelCount : u32,
5986 pub pCmdBufLabels : *const DebugUtilsLabelEXT,
5987 pub objectCount : u32,
5988 pub pObjects : *const DebugUtilsObjectNameInfoEXT,
5989}
5990
5991#[repr(C)]
5992#[derive(Debug, Copy, Clone)]
5993pub struct DebugUtilsObjectTagInfoEXT {
5994 pub sType : StructureType,
5995 pub pNext : *const void,
5996 pub objectType : ObjectType,
5997 pub objectHandle : u64,
5998 pub tagName : u64,
5999 pub tagSize : usize,
6000 pub pTag : *const void,
6001}
6002
6003#[repr(C)]
6004#[derive(Debug, Copy, Clone)]
6005pub struct DebugUtilsMessengerCreateInfoEXT {
6006 pub sType : StructureType,
6007 pub pNext : *const void,
6008 pub flags : DebugUtilsMessengerCreateFlagsEXT,
6009 pub messageSeverity : DebugUtilsMessageSeverityFlagsEXT,
6010 pub messageType : DebugUtilsMessageTypeFlagsEXT,
6011 pub pfnUserCallback : u64,
6012 pub pUserData : *mut void,
6013}
6014
6015pub type SamplerReductionModeEXT = SamplerReductionMode;
6016pub type SamplerReductionModeCreateInfoEXT = SamplerReductionModeCreateInfo;
6017pub type PhysicalDeviceSamplerFilterMinmaxPropertiesEXT = PhysicalDeviceSamplerFilterMinmaxProperties;
6018
6019#[repr(C)]
6020#[derive(Debug, Copy, Clone)]
6021pub struct PhysicalDeviceInlineUniformBlockFeaturesEXT {
6022 pub sType : StructureType,
6023 pub pNext : *mut void,
6024 pub inlineUniformBlock : Bool32,
6025 pub descriptorBindingInlineUniformBlockUpdateAfterBind : Bool32,
6026}
6027
6028#[repr(C)]
6029#[derive(Debug, Copy, Clone)]
6030pub struct PhysicalDeviceInlineUniformBlockPropertiesEXT {
6031 pub sType : StructureType,
6032 pub pNext : *mut void,
6033 pub maxInlineUniformBlockSize : u32,
6034 pub maxPerStageDescriptorInlineUniformBlocks : u32,
6035 pub maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks : u32,
6036 pub maxDescriptorSetInlineUniformBlocks : u32,
6037 pub maxDescriptorSetUpdateAfterBindInlineUniformBlocks : u32,
6038}
6039
6040#[repr(C)]
6041#[derive(Debug, Copy, Clone)]
6042pub struct WriteDescriptorSetInlineUniformBlockEXT {
6043 pub sType : StructureType,
6044 pub pNext : *const void,
6045 pub dataSize : u32,
6046 pub pData : *const void,
6047}
6048
6049#[repr(C)]
6050#[derive(Debug, Copy, Clone)]
6051pub struct DescriptorPoolInlineUniformBlockCreateInfoEXT {
6052 pub sType : StructureType,
6053 pub pNext : *const void,
6054 pub maxInlineUniformBlockBindings : u32,
6055}
6056
6057#[repr(C)]
6058#[derive(Debug, Copy, Clone)]
6059pub struct SampleLocationEXT {
6060 pub x : f32,
6061 pub y : f32,
6062}
6063
6064#[repr(C)]
6065#[derive(Debug, Copy, Clone)]
6066pub struct SampleLocationsInfoEXT {
6067 pub sType : StructureType,
6068 pub pNext : *const void,
6069 pub sampleLocationsPerPixel : SampleCountFlagBits,
6070 pub sampleLocationGridSize : Extent2D,
6071 pub sampleLocationsCount : u32,
6072 pub pSampleLocations : *const SampleLocationEXT,
6073}
6074
6075#[repr(C)]
6076#[derive(Debug, Copy, Clone)]
6077pub struct AttachmentSampleLocationsEXT {
6078 pub attachmentIndex : u32,
6079 pub sampleLocationsInfo : SampleLocationsInfoEXT,
6080}
6081
6082#[repr(C)]
6083#[derive(Debug, Copy, Clone)]
6084pub struct SubpassSampleLocationsEXT {
6085 pub subpassIndex : u32,
6086 pub sampleLocationsInfo : SampleLocationsInfoEXT,
6087}
6088
6089#[repr(C)]
6090#[derive(Debug, Copy, Clone)]
6091pub struct RenderPassSampleLocationsBeginInfoEXT {
6092 pub sType : StructureType,
6093 pub pNext : *const void,
6094 pub attachmentInitialSampleLocationsCount : u32,
6095 pub pAttachmentInitialSampleLocations : *const AttachmentSampleLocationsEXT,
6096 pub postSubpassSampleLocationsCount : u32,
6097 pub pPostSubpassSampleLocations : *const SubpassSampleLocationsEXT,
6098}
6099
6100#[repr(C)]
6101#[derive(Debug, Copy, Clone)]
6102pub struct PipelineSampleLocationsStateCreateInfoEXT {
6103 pub sType : StructureType,
6104 pub pNext : *const void,
6105 pub sampleLocationsEnable : Bool32,
6106 pub sampleLocationsInfo : SampleLocationsInfoEXT,
6107}
6108
6109#[repr(C)]
6110#[derive(Debug, Copy, Clone)]
6111pub struct PhysicalDeviceSampleLocationsPropertiesEXT {
6112 pub sType : StructureType,
6113 pub pNext : *mut void,
6114 pub sampleLocationSampleCounts : SampleCountFlags,
6115 pub maxSampleLocationGridSize : Extent2D,
6116 pub sampleLocationCoordinateRange : [f32;2],
6117 pub sampleLocationSubPixelBits : u32,
6118 pub variableSampleLocations : Bool32,
6119}
6120
6121#[repr(C)]
6122#[derive(Debug, Copy, Clone)]
6123pub struct MultisamplePropertiesEXT {
6124 pub sType : StructureType,
6125 pub pNext : *mut void,
6126 pub maxSampleLocationGridSize : Extent2D,
6127}
6128
6129pub type BlendOverlapEXT = i32;
6130pub const BLEND_OVERLAP_UNCORRELATED_EXT : i32 = 0;
6131pub const BLEND_OVERLAP_DISJOINT_EXT : i32 = 1;
6132pub const BLEND_OVERLAP_CONJOINT_EXT : i32 = 2;
6133pub const BLEND_OVERLAP_MAX_ENUM_EXT : i32 = 0x7FFFFFF;
6134
6135#[repr(C)]
6136#[derive(Debug, Copy, Clone)]
6137pub struct PhysicalDeviceBlendOperationAdvancedFeaturesEXT {
6138 pub sType : StructureType,
6139 pub pNext : *mut void,
6140 pub advancedBlendCoherentOperations : Bool32,
6141}
6142
6143#[repr(C)]
6144#[derive(Debug, Copy, Clone)]
6145pub struct PhysicalDeviceBlendOperationAdvancedPropertiesEXT {
6146 pub sType : StructureType,
6147 pub pNext : *mut void,
6148 pub advancedBlendMaxColorAttachments : u32,
6149 pub advancedBlendIndependentBlend : Bool32,
6150 pub advancedBlendNonPremultipliedSrcColor : Bool32,
6151 pub advancedBlendNonPremultipliedDstColor : Bool32,
6152 pub advancedBlendCorrelatedOverlap : Bool32,
6153 pub advancedBlendAllOperations : Bool32,
6154}
6155
6156#[repr(C)]
6157#[derive(Debug, Copy, Clone)]
6158pub struct PipelineColorBlendAdvancedStateCreateInfoEXT {
6159 pub sType : StructureType,
6160 pub pNext : *const void,
6161 pub srcPremultiplied : Bool32,
6162 pub dstPremultiplied : Bool32,
6163 pub blendOverlap : BlendOverlapEXT,
6164}
6165
6166pub type PipelineCoverageToColorStateCreateFlagsNV = u32;
6167
6168#[repr(C)]
6169#[derive(Debug, Copy, Clone)]
6170pub struct PipelineCoverageToColorStateCreateInfoNV {
6171 pub sType : StructureType,
6172 pub pNext : *const void,
6173 pub flags : PipelineCoverageToColorStateCreateFlagsNV,
6174 pub coverageToColorEnable : Bool32,
6175 pub coverageToColorLocation : u32,
6176}
6177
6178pub type CoverageModulationModeNV = i32;
6179pub const COVERAGE_MODULATION_MODE_NONE_NV : i32 = 0;
6180pub const COVERAGE_MODULATION_MODE_RGB_NV : i32 = 1;
6181pub const COVERAGE_MODULATION_MODE_ALPHA_NV : i32 = 2;
6182pub const COVERAGE_MODULATION_MODE_RGBA_NV : i32 = 3;
6183pub const COVERAGE_MODULATION_MODE_MAX_ENUM_NV : i32 = 0x7FFFFFF;
6184pub type PipelineCoverageModulationStateCreateFlagsNV = u32;
6185
6186#[repr(C)]
6187#[derive(Debug, Copy, Clone)]
6188pub struct PipelineCoverageModulationStateCreateInfoNV {
6189 pub sType : StructureType,
6190 pub pNext : *const void,
6191 pub flags : PipelineCoverageModulationStateCreateFlagsNV,
6192 pub coverageModulationMode : CoverageModulationModeNV,
6193 pub coverageModulationTableEnable : Bool32,
6194 pub coverageModulationTableCount : u32,
6195 pub pCoverageModulationTable : *const f32,
6196}
6197
6198#[repr(C)]
6199#[derive(Debug, Copy, Clone)]
6200pub struct PhysicalDeviceShaderSMBuiltinsPropertiesNV {
6201 pub sType : StructureType,
6202 pub pNext : *mut void,
6203 pub shaderSMCount : u32,
6204 pub shaderWarpsPerSM : u32,
6205}
6206
6207#[repr(C)]
6208#[derive(Debug, Copy, Clone)]
6209pub struct PhysicalDeviceShaderSMBuiltinsFeaturesNV {
6210 pub sType : StructureType,
6211 pub pNext : *mut void,
6212 pub shaderSMBuiltins : Bool32,
6213}
6214
6215#[repr(C)]
6216#[derive(Debug, Copy, Clone)]
6217pub struct DrmFormatModifierPropertiesEXT {
6218 pub drmFormatModifier : u64,
6219 pub drmFormatModifierPlaneCount : u32,
6220 pub drmFormatModifierTilingFeatures : FormatFeatureFlags,
6221}
6222
6223#[repr(C)]
6224#[derive(Debug, Copy, Clone)]
6225pub struct DrmFormatModifierPropertiesListEXT {
6226 pub sType : StructureType,
6227 pub pNext : *mut void,
6228 pub drmFormatModifierCount : u32,
6229 pub pDrmFormatModifierProperties : *mut DrmFormatModifierPropertiesEXT,
6230}
6231
6232#[repr(C)]
6233#[derive(Debug, Copy, Clone)]
6234pub struct PhysicalDeviceImageDrmFormatModifierInfoEXT {
6235 pub sType : StructureType,
6236 pub pNext : *const void,
6237 pub drmFormatModifier : u64,
6238 pub sharingMode : SharingMode,
6239 pub queueFamilyIndexCount : u32,
6240 pub pQueueFamilyIndices : *const u32,
6241}
6242
6243#[repr(C)]
6244#[derive(Debug, Copy, Clone)]
6245pub struct ImageDrmFormatModifierListCreateInfoEXT {
6246 pub sType : StructureType,
6247 pub pNext : *const void,
6248 pub drmFormatModifierCount : u32,
6249 pub pDrmFormatModifiers : *const u64,
6250}
6251
6252#[repr(C)]
6253#[derive(Debug, Copy, Clone)]
6254pub struct ImageDrmFormatModifierExplicitCreateInfoEXT {
6255 pub sType : StructureType,
6256 pub pNext : *const void,
6257 pub drmFormatModifier : u64,
6258 pub drmFormatModifierPlaneCount : u32,
6259 pub pPlaneLayouts : *const SubresourceLayout,
6260}
6261
6262#[repr(C)]
6263#[derive(Debug, Copy, Clone)]
6264pub struct ImageDrmFormatModifierPropertiesEXT {
6265 pub sType : StructureType,
6266 pub pNext : *mut void,
6267 pub drmFormatModifier : u64,
6268}
6269
6270pub type ValidationCacheEXT = u64;
6271pub type ValidationCacheHeaderVersionEXT = i32;
6272pub const VALIDATION_CACHE_HEADER_VERSION_ONE_EXT : i32 = 1;
6273pub const VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT : i32 = 0x7FFFFFF;
6274pub type ValidationCacheCreateFlagsEXT = u32;
6275
6276#[repr(C)]
6277#[derive(Debug, Copy, Clone)]
6278pub struct ValidationCacheCreateInfoEXT {
6279 pub sType : StructureType,
6280 pub pNext : *const void,
6281 pub flags : ValidationCacheCreateFlagsEXT,
6282 pub initialDataSize : usize,
6283 pub pInitialData : *const void,
6284}
6285
6286#[repr(C)]
6287#[derive(Debug, Copy, Clone)]
6288pub struct ShaderModuleValidationCacheCreateInfoEXT {
6289 pub sType : StructureType,
6290 pub pNext : *const void,
6291 pub validationCache : ValidationCacheEXT,
6292}
6293
6294pub type DescriptorBindingFlagBitsEXT = DescriptorBindingFlagBits;
6295pub type DescriptorBindingFlagsEXT = DescriptorBindingFlags;
6296pub type DescriptorSetLayoutBindingFlagsCreateInfoEXT = DescriptorSetLayoutBindingFlagsCreateInfo;
6297pub type PhysicalDeviceDescriptorIndexingFeaturesEXT = PhysicalDeviceDescriptorIndexingFeatures;
6298pub type PhysicalDeviceDescriptorIndexingPropertiesEXT = PhysicalDeviceDescriptorIndexingProperties;
6299pub type DescriptorSetVariableDescriptorCountAllocateInfoEXT = DescriptorSetVariableDescriptorCountAllocateInfo;
6300pub type DescriptorSetVariableDescriptorCountLayoutSupportEXT = DescriptorSetVariableDescriptorCountLayoutSupport;
6301pub type ShadingRatePaletteEntryNV = i32;
6302pub const SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV : i32 = 0;
6303pub const SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV : i32 = 1;
6304pub const SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV : i32 = 2;
6305pub const SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV : i32 = 3;
6306pub const SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV : i32 = 4;
6307pub const SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV : i32 = 5;
6308pub const SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV : i32 = 6;
6309pub const SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV : i32 = 7;
6310pub const SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV : i32 = 8;
6311pub const SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV : i32 = 9;
6312pub const SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV : i32 = 10;
6313pub const SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV : i32 = 11;
6314pub const SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV : i32 = 0x7FFFFFF;
6315pub type CoarseSampleOrderTypeNV = i32;
6316pub const COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV : i32 = 0;
6317pub const COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV : i32 = 1;
6318pub const COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV : i32 = 2;
6319pub const COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV : i32 = 3;
6320pub const COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV : i32 = 0x7FFFFFF;
6321
6322#[repr(C)]
6323#[derive(Debug, Copy, Clone)]
6324pub struct ShadingRatePaletteNV {
6325 pub shadingRatePaletteEntryCount : u32,
6326 pub pShadingRatePaletteEntries : *const ShadingRatePaletteEntryNV,
6327}
6328
6329#[repr(C)]
6330#[derive(Debug, Copy, Clone)]
6331pub struct PipelineViewportShadingRateImageStateCreateInfoNV {
6332 pub sType : StructureType,
6333 pub pNext : *const void,
6334 pub shadingRateImageEnable : Bool32,
6335 pub viewportCount : u32,
6336 pub pShadingRatePalettes : *const ShadingRatePaletteNV,
6337}
6338
6339#[repr(C)]
6340#[derive(Debug, Copy, Clone)]
6341pub struct PhysicalDeviceShadingRateImageFeaturesNV {
6342 pub sType : StructureType,
6343 pub pNext : *mut void,
6344 pub shadingRateImage : Bool32,
6345 pub shadingRateCoarseSampleOrder : Bool32,
6346}
6347
6348#[repr(C)]
6349#[derive(Debug, Copy, Clone)]
6350pub struct PhysicalDeviceShadingRateImagePropertiesNV {
6351 pub sType : StructureType,
6352 pub pNext : *mut void,
6353 pub shadingRateTexelSize : Extent2D,
6354 pub shadingRatePaletteSize : u32,
6355 pub shadingRateMaxCoarseSamples : u32,
6356}
6357
6358#[repr(C)]
6359#[derive(Debug, Copy, Clone)]
6360pub struct CoarseSampleLocationNV {
6361 pub pixelX : u32,
6362 pub pixelY : u32,
6363 pub sample : u32,
6364}
6365
6366#[repr(C)]
6367#[derive(Debug, Copy, Clone)]
6368pub struct CoarseSampleOrderCustomNV {
6369 pub shadingRate : ShadingRatePaletteEntryNV,
6370 pub sampleCount : u32,
6371 pub sampleLocationCount : u32,
6372 pub pSampleLocations : *const CoarseSampleLocationNV,
6373}
6374
6375#[repr(C)]
6376#[derive(Debug, Copy, Clone)]
6377pub struct PipelineViewportCoarseSampleOrderStateCreateInfoNV {
6378 pub sType : StructureType,
6379 pub pNext : *const void,
6380 pub sampleOrderType : CoarseSampleOrderTypeNV,
6381 pub customSampleOrderCount : u32,
6382 pub pCustomSampleOrders : *const CoarseSampleOrderCustomNV,
6383}
6384
6385pub type AccelerationStructureKHR = u64;
6386pub type AccelerationStructureNV = AccelerationStructureKHR;
6387pub type RayTracingShaderGroupTypeKHR = i32;
6388pub const RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR : i32 = 0;
6389pub const RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR : i32 = 1;
6390pub const RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR : i32 = 2;
6391pub const RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV : i32 = RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR;
6392pub const RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV : i32 = RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR;
6393pub const RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV : i32 = RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR;
6394pub const RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR : i32 = 0x7FFFFFF;
6395pub type RayTracingShaderGroupTypeNV = RayTracingShaderGroupTypeKHR;
6396pub type GeometryTypeKHR = i32;
6397pub const GEOMETRY_TYPE_TRIANGLES_KHR : i32 = 0;
6398pub const GEOMETRY_TYPE_AABBS_KHR : i32 = 1;
6399pub const GEOMETRY_TYPE_INSTANCES_KHR : i32 = 1000150000;
6400pub const GEOMETRY_TYPE_TRIANGLES_NV : i32 = GEOMETRY_TYPE_TRIANGLES_KHR;
6401pub const GEOMETRY_TYPE_AABBS_NV : i32 = GEOMETRY_TYPE_AABBS_KHR;
6402pub const GEOMETRY_TYPE_MAX_ENUM_KHR : i32 = 0x7FFFFFF;
6403pub type GeometryTypeNV = GeometryTypeKHR;
6404pub type AccelerationStructureTypeKHR = i32;
6405pub const ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR : i32 = 0;
6406pub const ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR : i32 = 1;
6407pub const ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV : i32 = ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR;
6408pub const ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV : i32 = ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR;
6409pub const ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR : i32 = 0x7FFFFFF;
6410pub type AccelerationStructureTypeNV = AccelerationStructureTypeKHR;
6411pub type CopyAccelerationStructureModeKHR = i32;
6412pub const COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR : i32 = 0;
6413pub const COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR : i32 = 1;
6414pub const COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR : i32 = 2;
6415pub const COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR : i32 = 3;
6416pub const COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV : i32 = COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR;
6417pub const COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV : i32 = COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR;
6418pub const COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR : i32 = 0x7FFFFFF;
6419pub type CopyAccelerationStructureModeNV = CopyAccelerationStructureModeKHR;
6420pub type AccelerationStructureMemoryRequirementsTypeKHR = i32;
6421pub const ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_KHR : i32 = 0;
6422pub const ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_KHR : i32 = 1;
6423pub const ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_KHR : i32 = 2;
6424pub const ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV : i32 = ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_KHR;
6425pub const ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV : i32 = ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_KHR;
6426pub const ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV : i32 = ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_KHR;
6427pub const ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_KHR : i32 = 0x7FFFFFF;
6428pub type AccelerationStructureMemoryRequirementsTypeNV = AccelerationStructureMemoryRequirementsTypeKHR;
6429pub type GeometryFlagBitsKHR = i32;
6430pub const GEOMETRY_OPAQUE_BIT_KHR : i32 = 0x00000001;
6431pub const GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR : i32 = 0x00000002;
6432pub const GEOMETRY_OPAQUE_BIT_NV : i32 = GEOMETRY_OPAQUE_BIT_KHR;
6433pub const GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV : i32 = GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR;
6434pub const GEOMETRY_FLAG_BITS_MAX_ENUM_KHR : i32 = 0x7FFFFFF;
6435pub type GeometryFlagsKHR = u32;
6436pub type GeometryFlagsNV = GeometryFlagsKHR;
6437pub type GeometryFlagBitsNV = GeometryFlagBitsKHR;
6438pub type GeometryInstanceFlagBitsKHR = i32;
6439pub const GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR : i32 = 0x00000001;
6440pub const GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR : i32 = 0x00000002;
6441pub const GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR : i32 = 0x00000004;
6442pub const GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR : i32 = 0x00000008;
6443pub const GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV : i32 = GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR;
6444pub const GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV : i32 = GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR;
6445pub const GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV : i32 = GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR;
6446pub const GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV : i32 = GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR;
6447pub const GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR : i32 = 0x7FFFFFF;
6448pub type GeometryInstanceFlagsKHR = u32;
6449pub type GeometryInstanceFlagsNV = GeometryInstanceFlagsKHR;
6450pub type GeometryInstanceFlagBitsNV = GeometryInstanceFlagBitsKHR;
6451pub type BuildAccelerationStructureFlagBitsKHR = i32;
6452pub const BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR : i32 = 0x00000001;
6453pub const BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR : i32 = 0x00000002;
6454pub const BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR : i32 = 0x00000004;
6455pub const BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR : i32 = 0x00000008;
6456pub const BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR : i32 = 0x00000010;
6457pub const BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV : i32 = BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR;
6458pub const BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV : i32 = BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR;
6459pub const BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV : i32 = BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR;
6460pub const BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV : i32 = BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR;
6461pub const BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV : i32 = BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR;
6462pub const BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR : i32 = 0x7FFFFFF;
6463pub type BuildAccelerationStructureFlagsKHR = u32;
6464pub type BuildAccelerationStructureFlagsNV = BuildAccelerationStructureFlagsKHR;
6465pub type BuildAccelerationStructureFlagBitsNV = BuildAccelerationStructureFlagBitsKHR;
6466
6467#[repr(C)]
6468#[derive(Debug, Copy, Clone)]
6469pub struct RayTracingShaderGroupCreateInfoNV {
6470 pub sType : StructureType,
6471 pub pNext : *const void,
6472 pub r#type : RayTracingShaderGroupTypeKHR,
6473 pub generalShader : u32,
6474 pub closestHitShader : u32,
6475 pub anyHitShader : u32,
6476 pub intersectionShader : u32,
6477}
6478
6479#[repr(C)]
6480#[derive(Debug, Copy, Clone)]
6481pub struct RayTracingPipelineCreateInfoNV {
6482 pub sType : StructureType,
6483 pub pNext : *const void,
6484 pub flags : PipelineCreateFlags,
6485 pub stageCount : u32,
6486 pub pStages : *const PipelineShaderStageCreateInfo,
6487 pub groupCount : u32,
6488 pub pGroups : *const RayTracingShaderGroupCreateInfoNV,
6489 pub maxRecursionDepth : u32,
6490 pub layout : PipelineLayout,
6491 pub basePipelineHandle : Pipeline,
6492 pub basePipelineIndex : i32,
6493}
6494
6495#[repr(C)]
6496#[derive(Debug, Copy, Clone)]
6497pub struct GeometryTrianglesNV {
6498 pub sType : StructureType,
6499 pub pNext : *const void,
6500 pub vertexData : Buffer,
6501 pub vertexOffset : DeviceSize,
6502 pub vertexCount : u32,
6503 pub vertexStride : DeviceSize,
6504 pub vertexFormat : Format,
6505 pub indexData : Buffer,
6506 pub indexOffset : DeviceSize,
6507 pub indexCount : u32,
6508 pub indexType : IndexType,
6509 pub transformData : Buffer,
6510 pub transformOffset : DeviceSize,
6511}
6512
6513#[repr(C)]
6514#[derive(Debug, Copy, Clone)]
6515pub struct GeometryAABBNV {
6516 pub sType : StructureType,
6517 pub pNext : *const void,
6518 pub aabbData : Buffer,
6519 pub numAABBs : u32,
6520 pub stride : u32,
6521 pub offset : DeviceSize,
6522}
6523
6524#[repr(C)]
6525#[derive(Debug, Copy, Clone)]
6526pub struct GeometryDataNV {
6527 pub triangles : GeometryTrianglesNV,
6528 pub aabbs : GeometryAABBNV,
6529}
6530
6531#[repr(C)]
6532#[derive(Debug, Copy, Clone)]
6533pub struct GeometryNV {
6534 pub sType : StructureType,
6535 pub pNext : *const void,
6536 pub geometryType : GeometryTypeKHR,
6537 pub geometry : GeometryDataNV,
6538 pub flags : GeometryFlagsKHR,
6539}
6540
6541#[repr(C)]
6542#[derive(Debug, Copy, Clone)]
6543pub struct AccelerationStructureInfoNV {
6544 pub sType : StructureType,
6545 pub pNext : *const void,
6546 pub r#type : AccelerationStructureTypeNV,
6547 pub flags : BuildAccelerationStructureFlagsNV,
6548 pub instanceCount : u32,
6549 pub geometryCount : u32,
6550 pub pGeometries : *const GeometryNV,
6551}
6552
6553#[repr(C)]
6554#[derive(Debug, Copy, Clone)]
6555pub struct AccelerationStructureCreateInfoNV {
6556 pub sType : StructureType,
6557 pub pNext : *const void,
6558 pub compactedSize : DeviceSize,
6559 pub info : AccelerationStructureInfoNV,
6560}
6561
6562#[repr(C)]
6563#[derive(Debug, Copy, Clone)]
6564pub struct BindAccelerationStructureMemoryInfoKHR {
6565 pub sType : StructureType,
6566 pub pNext : *const void,
6567 pub accelerationStructure : AccelerationStructureKHR,
6568 pub memory : DeviceMemory,
6569 pub memoryOffset : DeviceSize,
6570 pub deviceIndexCount : u32,
6571 pub pDeviceIndices : *const u32,
6572}
6573
6574pub type BindAccelerationStructureMemoryInfoNV = BindAccelerationStructureMemoryInfoKHR;
6575
6576#[repr(C)]
6577#[derive(Debug, Copy, Clone)]
6578pub struct WriteDescriptorSetAccelerationStructureKHR {
6579 pub sType : StructureType,
6580 pub pNext : *const void,
6581 pub accelerationStructureCount : u32,
6582 pub pAccelerationStructures : *const AccelerationStructureKHR,
6583}
6584
6585pub type WriteDescriptorSetAccelerationStructureNV = WriteDescriptorSetAccelerationStructureKHR;
6586
6587#[repr(C)]
6588#[derive(Debug, Copy, Clone)]
6589pub struct AccelerationStructureMemoryRequirementsInfoNV {
6590 pub sType : StructureType,
6591 pub pNext : *const void,
6592 pub r#type : AccelerationStructureMemoryRequirementsTypeNV,
6593 pub accelerationStructure : AccelerationStructureNV,
6594}
6595
6596#[repr(C)]
6597#[derive(Debug, Copy, Clone)]
6598pub struct PhysicalDeviceRayTracingPropertiesNV {
6599 pub sType : StructureType,
6600 pub pNext : *mut void,
6601 pub shaderGroupHandleSize : u32,
6602 pub maxRecursionDepth : u32,
6603 pub maxShaderGroupStride : u32,
6604 pub shaderGroupBaseAlignment : u32,
6605 pub maxGeometryCount : u64,
6606 pub maxInstanceCount : u64,
6607 pub maxTriangleCount : u64,
6608 pub maxDescriptorSetAccelerationStructures : u32,
6609}
6610
6611#[repr(C)]
6612#[derive(Debug, Copy, Clone)]
6613pub struct TransformMatrixKHR {
6614 pub matrix : [f32;12],
6615}
6616
6617pub type TransformMatrixNV = TransformMatrixKHR;
6618
6619#[repr(C)]
6620#[derive(Debug, Copy, Clone)]
6621pub struct AabbPositionsKHR {
6622 pub minX : f32,
6623 pub minY : f32,
6624 pub minZ : f32,
6625 pub maxX : f32,
6626 pub maxY : f32,
6627 pub maxZ : f32,
6628}
6629
6630pub type AabbPositionsNV = AabbPositionsKHR;
6631
6632#[repr(C)]
6633#[derive(Debug, Copy, Clone)]
6634pub struct PhysicalDeviceRepresentativeFragmentTestFeaturesNV {
6635 pub sType : StructureType,
6636 pub pNext : *mut void,
6637 pub representativeFragmentTest : Bool32,
6638}
6639
6640#[repr(C)]
6641#[derive(Debug, Copy, Clone)]
6642pub struct PipelineRepresentativeFragmentTestStateCreateInfoNV {
6643 pub sType : StructureType,
6644 pub pNext : *const void,
6645 pub representativeFragmentTestEnable : Bool32,
6646}
6647
6648#[repr(C)]
6649#[derive(Debug, Copy, Clone)]
6650pub struct PhysicalDeviceImageViewImageFormatInfoEXT {
6651 pub sType : StructureType,
6652 pub pNext : *mut void,
6653 pub imageViewType : ImageViewType,
6654}
6655
6656#[repr(C)]
6657#[derive(Debug, Copy, Clone)]
6658pub struct FilterCubicImageViewImageFormatPropertiesEXT {
6659 pub sType : StructureType,
6660 pub pNext : *mut void,
6661 pub filterCubic : Bool32,
6662 pub filterCubicMinmax : Bool32,
6663}
6664
6665pub type QueueGlobalPriorityEXT = i32;
6666pub const QUEUE_GLOBAL_PRIORITY_LOW_EXT : i32 = 128;
6667pub const QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT : i32 = 256;
6668pub const QUEUE_GLOBAL_PRIORITY_HIGH_EXT : i32 = 512;
6669pub const QUEUE_GLOBAL_PRIORITY_REALTIME_EXT : i32 = 1024;
6670pub const QUEUE_GLOBAL_PRIORITY_MAX_ENUM_EXT : i32 = 0x7FFFFFF;
6671
6672#[repr(C)]
6673#[derive(Debug, Copy, Clone)]
6674pub struct DeviceQueueGlobalPriorityCreateInfoEXT {
6675 pub sType : StructureType,
6676 pub pNext : *const void,
6677 pub globalPriority : QueueGlobalPriorityEXT,
6678}
6679
6680#[repr(C)]
6681#[derive(Debug, Copy, Clone)]
6682pub struct ImportMemoryHostPointerInfoEXT {
6683 pub sType : StructureType,
6684 pub pNext : *const void,
6685 pub handleType : ExternalMemoryHandleTypeFlagBits,
6686 pub pHostPointer : *mut void,
6687}
6688
6689#[repr(C)]
6690#[derive(Debug, Copy, Clone)]
6691pub struct MemoryHostPointerPropertiesEXT {
6692 pub sType : StructureType,
6693 pub pNext : *mut void,
6694 pub memoryTypeBits : u32,
6695}
6696
6697#[repr(C)]
6698#[derive(Debug, Copy, Clone)]
6699pub struct PhysicalDeviceExternalMemoryHostPropertiesEXT {
6700 pub sType : StructureType,
6701 pub pNext : *mut void,
6702 pub minImportedHostPointerAlignment : DeviceSize,
6703}
6704
6705pub type PipelineCompilerControlFlagBitsAMD = i32;
6706pub const PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD : i32 = 0x7FFFFFF;
6707pub type PipelineCompilerControlFlagsAMD = u32;
6708
6709#[repr(C)]
6710#[derive(Debug, Copy, Clone)]
6711pub struct PipelineCompilerControlCreateInfoAMD {
6712 pub sType : StructureType,
6713 pub pNext : *const void,
6714 pub compilerControlFlags : PipelineCompilerControlFlagsAMD,
6715}
6716
6717pub type TimeDomainEXT = i32;
6718pub const TIME_DOMAIN_DEVICE_EXT : i32 = 0;
6719pub const TIME_DOMAIN_CLOCK_MONOTONIC_EXT : i32 = 1;
6720pub const TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT : i32 = 2;
6721pub const TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT : i32 = 3;
6722pub const TIME_DOMAIN_MAX_ENUM_EXT : i32 = 0x7FFFFFF;
6723
6724#[repr(C)]
6725#[derive(Debug, Copy, Clone)]
6726pub struct CalibratedTimestampInfoEXT {
6727 pub sType : StructureType,
6728 pub pNext : *const void,
6729 pub timeDomain : TimeDomainEXT,
6730}
6731
6732#[repr(C)]
6733#[derive(Debug, Copy, Clone)]
6734pub struct PhysicalDeviceShaderCorePropertiesAMD {
6735 pub sType : StructureType,
6736 pub pNext : *mut void,
6737 pub shaderEngineCount : u32,
6738 pub shaderArraysPerEngineCount : u32,
6739 pub computeUnitsPerShaderArray : u32,
6740 pub simdPerComputeUnit : u32,
6741 pub wavefrontsPerSimd : u32,
6742 pub wavefrontSize : u32,
6743 pub sgprsPerSimd : u32,
6744 pub minSgprAllocation : u32,
6745 pub maxSgprAllocation : u32,
6746 pub sgprAllocationGranularity : u32,
6747 pub vgprsPerSimd : u32,
6748 pub minVgprAllocation : u32,
6749 pub maxVgprAllocation : u32,
6750 pub vgprAllocationGranularity : u32,
6751}
6752
6753pub type MemoryOverallocationBehaviorAMD = i32;
6754pub const MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD : i32 = 0;
6755pub const MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD : i32 = 1;
6756pub const MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD : i32 = 2;
6757pub const MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD : i32 = 0x7FFFFFF;
6758
6759#[repr(C)]
6760#[derive(Debug, Copy, Clone)]
6761pub struct DeviceMemoryOverallocationCreateInfoAMD {
6762 pub sType : StructureType,
6763 pub pNext : *const void,
6764 pub overallocationBehavior : MemoryOverallocationBehaviorAMD,
6765}
6766
6767#[repr(C)]
6768#[derive(Debug, Copy, Clone)]
6769pub struct PhysicalDeviceVertexAttributeDivisorPropertiesEXT {
6770 pub sType : StructureType,
6771 pub pNext : *mut void,
6772 pub maxVertexAttribDivisor : u32,
6773}
6774
6775#[repr(C)]
6776#[derive(Debug, Copy, Clone)]
6777pub struct VertexInputBindingDivisorDescriptionEXT {
6778 pub binding : u32,
6779 pub divisor : u32,
6780}
6781
6782#[repr(C)]
6783#[derive(Debug, Copy, Clone)]
6784pub struct PipelineVertexInputDivisorStateCreateInfoEXT {
6785 pub sType : StructureType,
6786 pub pNext : *const void,
6787 pub vertexBindingDivisorCount : u32,
6788 pub pVertexBindingDivisors : *const VertexInputBindingDivisorDescriptionEXT,
6789}
6790
6791#[repr(C)]
6792#[derive(Debug, Copy, Clone)]
6793pub struct PhysicalDeviceVertexAttributeDivisorFeaturesEXT {
6794 pub sType : StructureType,
6795 pub pNext : *mut void,
6796 pub vertexAttributeInstanceRateDivisor : Bool32,
6797 pub vertexAttributeInstanceRateZeroDivisor : Bool32,
6798}
6799
6800pub type PipelineCreationFeedbackFlagBitsEXT = i32;
6801pub const PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT : i32 = 0x00000001;
6802pub const PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT : i32 = 0x00000002;
6803pub const PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT : i32 = 0x00000004;
6804pub const PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT : i32 = 0x7FFFFFF;
6805pub type PipelineCreationFeedbackFlagsEXT = u32;
6806
6807#[repr(C)]
6808#[derive(Debug, Copy, Clone)]
6809pub struct PipelineCreationFeedbackEXT {
6810 pub flags : PipelineCreationFeedbackFlagsEXT,
6811 pub duration : u64,
6812}
6813
6814#[repr(C)]
6815#[derive(Debug, Copy, Clone)]
6816pub struct PipelineCreationFeedbackCreateInfoEXT {
6817 pub sType : StructureType,
6818 pub pNext : *const void,
6819 pub pPipelineCreationFeedback : *mut PipelineCreationFeedbackEXT,
6820 pub pipelineStageCreationFeedbackCount : u32,
6821 pub pPipelineStageCreationFeedbacks : *mut PipelineCreationFeedbackEXT,
6822}
6823
6824#[repr(C)]
6825#[derive(Debug, Copy, Clone)]
6826pub struct PhysicalDeviceComputeShaderDerivativesFeaturesNV {
6827 pub sType : StructureType,
6828 pub pNext : *mut void,
6829 pub computeDerivativeGroupQuads : Bool32,
6830 pub computeDerivativeGroupLinear : Bool32,
6831}
6832
6833#[repr(C)]
6834#[derive(Debug, Copy, Clone)]
6835pub struct PhysicalDeviceMeshShaderFeaturesNV {
6836 pub sType : StructureType,
6837 pub pNext : *mut void,
6838 pub taskShader : Bool32,
6839 pub meshShader : Bool32,
6840}
6841
6842#[repr(C)]
6843#[derive(Debug, Copy, Clone)]
6844pub struct PhysicalDeviceMeshShaderPropertiesNV {
6845 pub sType : StructureType,
6846 pub pNext : *mut void,
6847 pub maxDrawMeshTasksCount : u32,
6848 pub maxTaskWorkGroupInvocations : u32,
6849 pub maxTaskWorkGroupSize : [u32;3],
6850 pub maxTaskTotalMemorySize : u32,
6851 pub maxTaskOutputCount : u32,
6852 pub maxMeshWorkGroupInvocations : u32,
6853 pub maxMeshWorkGroupSize : [u32;3],
6854 pub maxMeshTotalMemorySize : u32,
6855 pub maxMeshOutputVertices : u32,
6856 pub maxMeshOutputPrimitives : u32,
6857 pub maxMeshMultiviewViewCount : u32,
6858 pub meshOutputPerVertexGranularity : u32,
6859 pub meshOutputPerPrimitiveGranularity : u32,
6860}
6861
6862#[repr(C)]
6863#[derive(Debug, Copy, Clone)]
6864pub struct DrawMeshTasksIndirectCommandNV {
6865 pub taskCount : u32,
6866 pub firstTask : u32,
6867}
6868
6869#[repr(C)]
6870#[derive(Debug, Copy, Clone)]
6871pub struct PhysicalDeviceFragmentShaderBarycentricFeaturesNV {
6872 pub sType : StructureType,
6873 pub pNext : *mut void,
6874 pub fragmentShaderBarycentric : Bool32,
6875}
6876
6877#[repr(C)]
6878#[derive(Debug, Copy, Clone)]
6879pub struct PhysicalDeviceShaderImageFootprintFeaturesNV {
6880 pub sType : StructureType,
6881 pub pNext : *mut void,
6882 pub imageFootprint : Bool32,
6883}
6884
6885#[repr(C)]
6886#[derive(Debug, Copy, Clone)]
6887pub struct PipelineViewportExclusiveScissorStateCreateInfoNV {
6888 pub sType : StructureType,
6889 pub pNext : *const void,
6890 pub exclusiveScissorCount : u32,
6891 pub pExclusiveScissors : *const Rect2D,
6892}
6893
6894#[repr(C)]
6895#[derive(Debug, Copy, Clone)]
6896pub struct PhysicalDeviceExclusiveScissorFeaturesNV {
6897 pub sType : StructureType,
6898 pub pNext : *mut void,
6899 pub exclusiveScissor : Bool32,
6900}
6901
6902#[repr(C)]
6903#[derive(Debug, Copy, Clone)]
6904pub struct QueueFamilyCheckpointPropertiesNV {
6905 pub sType : StructureType,
6906 pub pNext : *mut void,
6907 pub checkpointExecutionStageMask : PipelineStageFlags,
6908}
6909
6910#[repr(C)]
6911#[derive(Debug, Copy, Clone)]
6912pub struct CheckpointDataNV {
6913 pub sType : StructureType,
6914 pub pNext : *mut void,
6915 pub stage : PipelineStageFlagBits,
6916 pub pCheckpointMarker : *mut void,
6917}
6918
6919#[repr(C)]
6920#[derive(Debug, Copy, Clone)]
6921pub struct PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
6922 pub sType : StructureType,
6923 pub pNext : *mut void,
6924 pub shaderIntegerFunctions2 : Bool32,
6925}
6926
6927pub type PerformanceConfigurationINTEL = u64;
6928pub type PerformanceConfigurationTypeINTEL = i32;
6929pub const PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL : i32 = 0;
6930pub const PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL : i32 = 0x7FFFFFF;
6931pub type QueryPoolSamplingModeINTEL = i32;
6932pub const QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL : i32 = 0;
6933pub const QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL : i32 = 0x7FFFFFF;
6934pub type PerformanceOverrideTypeINTEL = i32;
6935pub const PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL : i32 = 0;
6936pub const PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL : i32 = 1;
6937pub const PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL : i32 = 0x7FFFFFF;
6938pub type PerformanceParameterTypeINTEL = i32;
6939pub const PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL : i32 = 0;
6940pub const PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL : i32 = 1;
6941pub const PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL : i32 = 0x7FFFFFF;
6942pub type PerformanceValueTypeINTEL = i32;
6943pub const PERFORMANCE_VALUE_TYPE_UINT32_INTEL : i32 = 0;
6944pub const PERFORMANCE_VALUE_TYPE_UINT64_INTEL : i32 = 1;
6945pub const PERFORMANCE_VALUE_TYPE_FLOAT_INTEL : i32 = 2;
6946pub const PERFORMANCE_VALUE_TYPE_BOOL_INTEL : i32 = 3;
6947pub const PERFORMANCE_VALUE_TYPE_STRING_INTEL : i32 = 4;
6948pub const PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL : i32 = 0x7FFFFFF;
6949
6950union PerformanceValueDataINTEL {
6951 value32 : u32,
6952 value64 : u64,
6953 valueFloat : f32,
6954 valueBool : i32,
6955 valueString : *const i8,
6956}
6957
6958#[repr(C)]
6959#[derive(Debug, Copy, Clone)]
6960pub struct InitializePerformanceApiInfoINTEL {
6961 pub sType : StructureType,
6962 pub pNext : *const void,
6963 pub pUserData : *mut void,
6964}
6965
6966#[repr(C)]
6967#[derive(Debug, Copy, Clone)]
6968pub struct QueryPoolPerformanceQueryCreateInfoINTEL {
6969 pub sType : StructureType,
6970 pub pNext : *const void,
6971 pub performanceCountersSampling : QueryPoolSamplingModeINTEL,
6972}
6973
6974pub type QueryPoolCreateInfoINTEL = QueryPoolPerformanceQueryCreateInfoINTEL;
6975
6976#[repr(C)]
6977#[derive(Debug, Copy, Clone)]
6978pub struct PerformanceMarkerInfoINTEL {
6979 pub sType : StructureType,
6980 pub pNext : *const void,
6981 pub marker : u64,
6982}
6983
6984#[repr(C)]
6985#[derive(Debug, Copy, Clone)]
6986pub struct PerformanceStreamMarkerInfoINTEL {
6987 pub sType : StructureType,
6988 pub pNext : *const void,
6989 pub marker : u32,
6990}
6991
6992#[repr(C)]
6993#[derive(Debug, Copy, Clone)]
6994pub struct PerformanceOverrideInfoINTEL {
6995 pub sType : StructureType,
6996 pub pNext : *const void,
6997 pub r#type : PerformanceOverrideTypeINTEL,
6998 pub enable : Bool32,
6999 pub parameter : u64,
7000}
7001
7002#[repr(C)]
7003#[derive(Debug, Copy, Clone)]
7004pub struct PerformanceConfigurationAcquireInfoINTEL {
7005 pub sType : StructureType,
7006 pub pNext : *const void,
7007 pub r#type : PerformanceConfigurationTypeINTEL,
7008}
7009
7010#[repr(C)]
7011#[derive(Debug, Copy, Clone)]
7012pub struct PhysicalDevicePCIBusInfoPropertiesEXT {
7013 pub sType : StructureType,
7014 pub pNext : *mut void,
7015 pub pciDomain : u32,
7016 pub pciBus : u32,
7017 pub pciDevice : u32,
7018 pub pciFunction : u32,
7019}
7020
7021#[repr(C)]
7022#[derive(Debug, Copy, Clone)]
7023pub struct DisplayNativeHdrSurfaceCapabilitiesAMD {
7024 pub sType : StructureType,
7025 pub pNext : *mut void,
7026 pub localDimmingSupport : Bool32,
7027}
7028
7029#[repr(C)]
7030#[derive(Debug, Copy, Clone)]
7031pub struct SwapchainDisplayNativeHdrCreateInfoAMD {
7032 pub sType : StructureType,
7033 pub pNext : *const void,
7034 pub localDimmingEnable : Bool32,
7035}
7036
7037#[repr(C)]
7038#[derive(Debug, Copy, Clone)]
7039pub struct PhysicalDeviceFragmentDensityMapFeaturesEXT {
7040 pub sType : StructureType,
7041 pub pNext : *mut void,
7042 pub fragmentDensityMap : Bool32,
7043 pub fragmentDensityMapDynamic : Bool32,
7044 pub fragmentDensityMapNonSubsampledImages : Bool32,
7045}
7046
7047#[repr(C)]
7048#[derive(Debug, Copy, Clone)]
7049pub struct PhysicalDeviceFragmentDensityMapPropertiesEXT {
7050 pub sType : StructureType,
7051 pub pNext : *mut void,
7052 pub minFragmentDensityTexelSize : Extent2D,
7053 pub maxFragmentDensityTexelSize : Extent2D,
7054 pub fragmentDensityInvocations : Bool32,
7055}
7056
7057#[repr(C)]
7058#[derive(Debug, Copy, Clone)]
7059pub struct RenderPassFragmentDensityMapCreateInfoEXT {
7060 pub sType : StructureType,
7061 pub pNext : *const void,
7062 pub fragmentDensityMapAttachment : AttachmentReference,
7063}
7064
7065pub type PhysicalDeviceScalarBlockLayoutFeaturesEXT = PhysicalDeviceScalarBlockLayoutFeatures;
7066
7067#[repr(C)]
7068#[derive(Debug, Copy, Clone)]
7069pub struct PhysicalDeviceSubgroupSizeControlFeaturesEXT {
7070 pub sType : StructureType,
7071 pub pNext : *mut void,
7072 pub subgroupSizeControl : Bool32,
7073 pub computeFullSubgroups : Bool32,
7074}
7075
7076#[repr(C)]
7077#[derive(Debug, Copy, Clone)]
7078pub struct PhysicalDeviceSubgroupSizeControlPropertiesEXT {
7079 pub sType : StructureType,
7080 pub pNext : *mut void,
7081 pub minSubgroupSize : u32,
7082 pub maxSubgroupSize : u32,
7083 pub maxComputeWorkgroupSubgroups : u32,
7084 pub requiredSubgroupSizeStages : ShaderStageFlags,
7085}
7086
7087#[repr(C)]
7088#[derive(Debug, Copy, Clone)]
7089pub struct PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT {
7090 pub sType : StructureType,
7091 pub pNext : *mut void,
7092 pub requiredSubgroupSize : u32,
7093}
7094
7095pub type ShaderCorePropertiesFlagBitsAMD = i32;
7096pub const SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD : i32 = 0x7FFFFFF;
7097pub type ShaderCorePropertiesFlagsAMD = u32;
7098
7099#[repr(C)]
7100#[derive(Debug, Copy, Clone)]
7101pub struct PhysicalDeviceShaderCoreProperties2AMD {
7102 pub sType : StructureType,
7103 pub pNext : *mut void,
7104 pub shaderCoreFeatures : ShaderCorePropertiesFlagsAMD,
7105 pub activeComputeUnitCount : u32,
7106}
7107
7108#[repr(C)]
7109#[derive(Debug, Copy, Clone)]
7110pub struct PhysicalDeviceCoherentMemoryFeaturesAMD {
7111 pub sType : StructureType,
7112 pub pNext : *mut void,
7113 pub deviceCoherentMemory : Bool32,
7114}
7115
7116#[repr(C)]
7117#[derive(Debug, Copy, Clone)]
7118pub struct PhysicalDeviceMemoryBudgetPropertiesEXT {
7119 pub sType : StructureType,
7120 pub pNext : *mut void,
7121 pub heapBudget : [DeviceSize;MAX_MEMORY_HEAPS],
7122 pub heapUsage : [DeviceSize;MAX_MEMORY_HEAPS],
7123}
7124
7125#[repr(C)]
7126#[derive(Debug, Copy, Clone)]
7127pub struct PhysicalDeviceMemoryPriorityFeaturesEXT {
7128 pub sType : StructureType,
7129 pub pNext : *mut void,
7130 pub memoryPriority : Bool32,
7131}
7132
7133#[repr(C)]
7134#[derive(Debug, Copy, Clone)]
7135pub struct MemoryPriorityAllocateInfoEXT {
7136 pub sType : StructureType,
7137 pub pNext : *const void,
7138 pub priority : f32,
7139}
7140
7141#[repr(C)]
7142#[derive(Debug, Copy, Clone)]
7143pub struct PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
7144 pub sType : StructureType,
7145 pub pNext : *mut void,
7146 pub dedicatedAllocationImageAliasing : Bool32,
7147}
7148
7149#[repr(C)]
7150#[derive(Debug, Copy, Clone)]
7151pub struct PhysicalDeviceBufferDeviceAddressFeaturesEXT {
7152 pub sType : StructureType,
7153 pub pNext : *mut void,
7154 pub bufferDeviceAddress : Bool32,
7155 pub bufferDeviceAddressCaptureReplay : Bool32,
7156 pub bufferDeviceAddressMultiDevice : Bool32,
7157}
7158
7159pub type PhysicalDeviceBufferAddressFeaturesEXT = PhysicalDeviceBufferDeviceAddressFeaturesEXT;
7160pub type BufferDeviceAddressInfoEXT = BufferDeviceAddressInfo;
7161
7162#[repr(C)]
7163#[derive(Debug, Copy, Clone)]
7164pub struct BufferDeviceAddressCreateInfoEXT {
7165 pub sType : StructureType,
7166 pub pNext : *const void,
7167 pub deviceAddress : DeviceAddress,
7168}
7169
7170pub type ToolPurposeFlagBitsEXT = i32;
7171pub const TOOL_PURPOSE_VALIDATION_BIT_EXT : i32 = 0x00000001;
7172pub const TOOL_PURPOSE_PROFILING_BIT_EXT : i32 = 0x00000002;
7173pub const TOOL_PURPOSE_TRACING_BIT_EXT : i32 = 0x00000004;
7174pub const TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT : i32 = 0x00000008;
7175pub const TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT : i32 = 0x00000010;
7176pub const TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT : i32 = 0x00000020;
7177pub const TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT : i32 = 0x00000040;
7178pub const TOOL_PURPOSE_FLAG_BITS_MAX_ENUM_EXT : i32 = 0x7FFFFFF;
7179pub type ToolPurposeFlagsEXT = u32;
7180
7181#[repr(C)]
7182#[derive(Copy, Clone)]
7183pub struct PhysicalDeviceToolPropertiesEXT {
7184 pub sType : StructureType,
7185 pub pNext : *mut void,
7186 pub name : [i8;MAX_EXTENSION_NAME_SIZE],
7187 pub version : [i8;MAX_EXTENSION_NAME_SIZE],
7188 pub purposes : ToolPurposeFlagsEXT,
7189 pub description : [i8;MAX_DESCRIPTION_SIZE],
7190 pub layer : [i8;MAX_EXTENSION_NAME_SIZE],
7191}
7192
7193pub type ImageStencilUsageCreateInfoEXT = ImageStencilUsageCreateInfo;
7194pub type ValidationFeatureEnableEXT = i32;
7195pub const VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT : i32 = 0;
7196pub const VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT : i32 = 1;
7197pub const VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT : i32 = 2;
7198pub const VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT : i32 = 3;
7199pub const VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT : i32 = 0x7FFFFFF;
7200pub type ValidationFeatureDisableEXT = i32;
7201pub const VALIDATION_FEATURE_DISABLE_ALL_EXT : i32 = 0;
7202pub const VALIDATION_FEATURE_DISABLE_SHADERS_EXT : i32 = 1;
7203pub const VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT : i32 = 2;
7204pub const VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT : i32 = 3;
7205pub const VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT : i32 = 4;
7206pub const VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT : i32 = 5;
7207pub const VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT : i32 = 6;
7208pub const VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT : i32 = 0x7FFFFFF;
7209
7210#[repr(C)]
7211#[derive(Debug, Copy, Clone)]
7212pub struct ValidationFeaturesEXT {
7213 pub sType : StructureType,
7214 pub pNext : *const void,
7215 pub enabledValidationFeatureCount : u32,
7216 pub pEnabledValidationFeatures : *const ValidationFeatureEnableEXT,
7217 pub disabledValidationFeatureCount : u32,
7218 pub pDisabledValidationFeatures : *const ValidationFeatureDisableEXT,
7219}
7220
7221pub type ComponentTypeNV = i32;
7222pub const COMPONENT_TYPE_FLOAT16_NV : i32 = 0;
7223pub const COMPONENT_TYPE_FLOAT32_NV : i32 = 1;
7224pub const COMPONENT_TYPE_FLOAT64_NV : i32 = 2;
7225pub const COMPONENT_TYPE_SINT8_NV : i32 = 3;
7226pub const COMPONENT_TYPE_SINT16_NV : i32 = 4;
7227pub const COMPONENT_TYPE_SINT32_NV : i32 = 5;
7228pub const COMPONENT_TYPE_SINT64_NV : i32 = 6;
7229pub const COMPONENT_TYPE_UINT8_NV : i32 = 7;
7230pub const COMPONENT_TYPE_UINT16_NV : i32 = 8;
7231pub const COMPONENT_TYPE_UINT32_NV : i32 = 9;
7232pub const COMPONENT_TYPE_UINT64_NV : i32 = 10;
7233pub const COMPONENT_TYPE_MAX_ENUM_NV : i32 = 0x7FFFFFF;
7234pub type ScopeNV = i32;
7235pub const SCOPE_DEVICE_NV : i32 = 1;
7236pub const SCOPE_WORKGROUP_NV : i32 = 2;
7237pub const SCOPE_SUBGROUP_NV : i32 = 3;
7238pub const SCOPE_QUEUE_FAMILY_NV : i32 = 5;
7239pub const SCOPE_MAX_ENUM_NV : i32 = 0x7FFFFFF;
7240
7241#[repr(C)]
7242#[derive(Debug, Copy, Clone)]
7243pub struct CooperativeMatrixPropertiesNV {
7244 pub sType : StructureType,
7245 pub pNext : *mut void,
7246 pub MSize : u32,
7247 pub NSize : u32,
7248 pub KSize : u32,
7249 pub AType : ComponentTypeNV,
7250 pub BType : ComponentTypeNV,
7251 pub CType : ComponentTypeNV,
7252 pub DType : ComponentTypeNV,
7253 pub scope : ScopeNV,
7254}
7255
7256#[repr(C)]
7257#[derive(Debug, Copy, Clone)]
7258pub struct PhysicalDeviceCooperativeMatrixFeaturesNV {
7259 pub sType : StructureType,
7260 pub pNext : *mut void,
7261 pub cooperativeMatrix : Bool32,
7262 pub cooperativeMatrixRobustBufferAccess : Bool32,
7263}
7264
7265#[repr(C)]
7266#[derive(Debug, Copy, Clone)]
7267pub struct PhysicalDeviceCooperativeMatrixPropertiesNV {
7268 pub sType : StructureType,
7269 pub pNext : *mut void,
7270 pub cooperativeMatrixSupportedStages : ShaderStageFlags,
7271}
7272
7273pub type CoverageReductionModeNV = i32;
7274pub const COVERAGE_REDUCTION_MODE_MERGE_NV : i32 = 0;
7275pub const COVERAGE_REDUCTION_MODE_TRUNCATE_NV : i32 = 1;
7276pub const COVERAGE_REDUCTION_MODE_MAX_ENUM_NV : i32 = 0x7FFFFFF;
7277pub type PipelineCoverageReductionStateCreateFlagsNV = u32;
7278
7279#[repr(C)]
7280#[derive(Debug, Copy, Clone)]
7281pub struct PhysicalDeviceCoverageReductionModeFeaturesNV {
7282 pub sType : StructureType,
7283 pub pNext : *mut void,
7284 pub coverageReductionMode : Bool32,
7285}
7286
7287#[repr(C)]
7288#[derive(Debug, Copy, Clone)]
7289pub struct PipelineCoverageReductionStateCreateInfoNV {
7290 pub sType : StructureType,
7291 pub pNext : *const void,
7292 pub flags : PipelineCoverageReductionStateCreateFlagsNV,
7293 pub coverageReductionMode : CoverageReductionModeNV,
7294}
7295
7296#[repr(C)]
7297#[derive(Debug, Copy, Clone)]
7298pub struct FramebufferMixedSamplesCombinationNV {
7299 pub sType : StructureType,
7300 pub pNext : *mut void,
7301 pub coverageReductionMode : CoverageReductionModeNV,
7302 pub rasterizationSamples : SampleCountFlagBits,
7303 pub depthStencilSamples : SampleCountFlags,
7304 pub colorSamples : SampleCountFlags,
7305}
7306
7307#[repr(C)]
7308#[derive(Debug, Copy, Clone)]
7309pub struct PhysicalDeviceFragmentShaderInterlockFeaturesEXT {
7310 pub sType : StructureType,
7311 pub pNext : *mut void,
7312 pub fragmentShaderSampleInterlock : Bool32,
7313 pub fragmentShaderPixelInterlock : Bool32,
7314 pub fragmentShaderShadingRateInterlock : Bool32,
7315}
7316
7317#[repr(C)]
7318#[derive(Debug, Copy, Clone)]
7319pub struct PhysicalDeviceYcbcrImageArraysFeaturesEXT {
7320 pub sType : StructureType,
7321 pub pNext : *mut void,
7322 pub ycbcrImageArrays : Bool32,
7323}
7324
7325pub type HeadlessSurfaceCreateFlagsEXT = u32;
7326
7327#[repr(C)]
7328#[derive(Debug, Copy, Clone)]
7329pub struct HeadlessSurfaceCreateInfoEXT {
7330 pub sType : StructureType,
7331 pub pNext : *const void,
7332 pub flags : HeadlessSurfaceCreateFlagsEXT,
7333}
7334
7335pub type LineRasterizationModeEXT = i32;
7336pub const LINE_RASTERIZATION_MODE_DEFAULT_EXT : i32 = 0;
7337pub const LINE_RASTERIZATION_MODE_RECTANGULAR_EXT : i32 = 1;
7338pub const LINE_RASTERIZATION_MODE_BRESENHAM_EXT : i32 = 2;
7339pub const LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT : i32 = 3;
7340pub const LINE_RASTERIZATION_MODE_MAX_ENUM_EXT : i32 = 0x7FFFFFF;
7341
7342#[repr(C)]
7343#[derive(Debug, Copy, Clone)]
7344pub struct PhysicalDeviceLineRasterizationFeaturesEXT {
7345 pub sType : StructureType,
7346 pub pNext : *mut void,
7347 pub rectangularLines : Bool32,
7348 pub bresenhamLines : Bool32,
7349 pub smoothLines : Bool32,
7350 pub stippledRectangularLines : Bool32,
7351 pub stippledBresenhamLines : Bool32,
7352 pub stippledSmoothLines : Bool32,
7353}
7354
7355#[repr(C)]
7356#[derive(Debug, Copy, Clone)]
7357pub struct PhysicalDeviceLineRasterizationPropertiesEXT {
7358 pub sType : StructureType,
7359 pub pNext : *mut void,
7360 pub lineSubPixelPrecisionBits : u32,
7361}
7362
7363#[repr(C)]
7364#[derive(Debug, Copy, Clone)]
7365pub struct PipelineRasterizationLineStateCreateInfoEXT {
7366 pub sType : StructureType,
7367 pub pNext : *const void,
7368 pub lineRasterizationMode : LineRasterizationModeEXT,
7369 pub stippledLineEnable : Bool32,
7370 pub lineStippleFactor : u32,
7371 pub lineStipplePattern : u16,
7372}
7373
7374pub type PhysicalDeviceHostQueryResetFeaturesEXT = PhysicalDeviceHostQueryResetFeatures;
7375
7376#[repr(C)]
7377#[derive(Debug, Copy, Clone)]
7378pub struct PhysicalDeviceIndexTypeUint8FeaturesEXT {
7379 pub sType : StructureType,
7380 pub pNext : *mut void,
7381 pub indexTypeUint8 : Bool32,
7382}
7383
7384#[repr(C)]
7385#[derive(Debug, Copy, Clone)]
7386pub struct PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT {
7387 pub sType : StructureType,
7388 pub pNext : *mut void,
7389 pub shaderDemoteToHelperInvocation : Bool32,
7390}
7391
7392pub type IndirectCommandsLayoutNV = u64;
7393pub type IndirectCommandsTokenTypeNV = i32;
7394pub const INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV : i32 = 0;
7395pub const INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV : i32 = 1;
7396pub const INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV : i32 = 2;
7397pub const INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV : i32 = 3;
7398pub const INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV : i32 = 4;
7399pub const INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV : i32 = 5;
7400pub const INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV : i32 = 6;
7401pub const INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV : i32 = 7;
7402pub const INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV : i32 = 0x7FFFFFF;
7403pub type IndirectStateFlagBitsNV = i32;
7404pub const INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV : i32 = 0x00000001;
7405pub const INDIRECT_STATE_FLAG_BITS_MAX_ENUM_NV : i32 = 0x7FFFFFF;
7406pub type IndirectStateFlagsNV = u32;
7407pub type IndirectCommandsLayoutUsageFlagBitsNV = i32;
7408pub const INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV : i32 = 0x00000001;
7409pub const INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV : i32 = 0x00000002;
7410pub const INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV : i32 = 0x00000004;
7411pub const INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NV : i32 = 0x7FFFFFF;
7412pub type IndirectCommandsLayoutUsageFlagsNV = u32;
7413
7414#[repr(C)]
7415#[derive(Debug, Copy, Clone)]
7416pub struct PhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
7417 pub sType : StructureType,
7418 pub pNext : *mut void,
7419 pub maxGraphicsShaderGroupCount : u32,
7420 pub maxIndirectSequenceCount : u32,
7421 pub maxIndirectCommandsTokenCount : u32,
7422 pub maxIndirectCommandsStreamCount : u32,
7423 pub maxIndirectCommandsTokenOffset : u32,
7424 pub maxIndirectCommandsStreamStride : u32,
7425 pub minSequencesCountBufferOffsetAlignment : u32,
7426 pub minSequencesIndexBufferOffsetAlignment : u32,
7427 pub minIndirectCommandsBufferOffsetAlignment : u32,
7428}
7429
7430#[repr(C)]
7431#[derive(Debug, Copy, Clone)]
7432pub struct PhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
7433 pub sType : StructureType,
7434 pub pNext : *mut void,
7435 pub deviceGeneratedCommands : Bool32,
7436}
7437
7438#[repr(C)]
7439#[derive(Debug, Copy, Clone)]
7440pub struct GraphicsShaderGroupCreateInfoNV {
7441 pub sType : StructureType,
7442 pub pNext : *const void,
7443 pub stageCount : u32,
7444 pub pStages : *const PipelineShaderStageCreateInfo,
7445 pub pVertexInputState : *const PipelineVertexInputStateCreateInfo,
7446 pub pTessellationState : *const PipelineTessellationStateCreateInfo,
7447}
7448
7449#[repr(C)]
7450#[derive(Debug, Copy, Clone)]
7451pub struct GraphicsPipelineShaderGroupsCreateInfoNV {
7452 pub sType : StructureType,
7453 pub pNext : *const void,
7454 pub groupCount : u32,
7455 pub pGroups : *const GraphicsShaderGroupCreateInfoNV,
7456 pub pipelineCount : u32,
7457 pub pPipelines : *const Pipeline,
7458}
7459
7460#[repr(C)]
7461#[derive(Debug, Copy, Clone)]
7462pub struct BindShaderGroupIndirectCommandNV {
7463 pub groupIndex : u32,
7464}
7465
7466#[repr(C)]
7467#[derive(Debug, Copy, Clone)]
7468pub struct BindIndexBufferIndirectCommandNV {
7469 pub bufferAddress : DeviceAddress,
7470 pub size : u32,
7471 pub indexType : IndexType,
7472}
7473
7474#[repr(C)]
7475#[derive(Debug, Copy, Clone)]
7476pub struct BindVertexBufferIndirectCommandNV {
7477 pub bufferAddress : DeviceAddress,
7478 pub size : u32,
7479 pub stride : u32,
7480}
7481
7482#[repr(C)]
7483#[derive(Debug, Copy, Clone)]
7484pub struct SetStateFlagsIndirectCommandNV {
7485 pub data : u32,
7486}
7487
7488#[repr(C)]
7489#[derive(Debug, Copy, Clone)]
7490pub struct IndirectCommandsStreamNV {
7491 pub buffer : Buffer,
7492 pub offset : DeviceSize,
7493}
7494
7495#[repr(C)]
7496#[derive(Debug, Copy, Clone)]
7497pub struct IndirectCommandsLayoutTokenNV {
7498 pub sType : StructureType,
7499 pub pNext : *const void,
7500 pub tokenType : IndirectCommandsTokenTypeNV,
7501 pub stream : u32,
7502 pub offset : u32,
7503 pub vertexBindingUnit : u32,
7504 pub vertexDynamicStride : Bool32,
7505 pub pushconstantPipelineLayout : PipelineLayout,
7506 pub pushconstantShaderStageFlags : ShaderStageFlags,
7507 pub pushconstantOffset : u32,
7508 pub pushconstantSize : u32,
7509 pub indirectStateFlags : IndirectStateFlagsNV,
7510 pub indexTypeCount : u32,
7511 pub pIndexTypes : *const IndexType,
7512 pub pIndexTypeValues : *const u32,
7513}
7514
7515#[repr(C)]
7516#[derive(Debug, Copy, Clone)]
7517pub struct IndirectCommandsLayoutCreateInfoNV {
7518 pub sType : StructureType,
7519 pub pNext : *const void,
7520 pub flags : IndirectCommandsLayoutUsageFlagsNV,
7521 pub pipelineBindPoint : PipelineBindPoint,
7522 pub tokenCount : u32,
7523 pub pTokens : *const IndirectCommandsLayoutTokenNV,
7524 pub streamCount : u32,
7525 pub pStreamStrides : *const u32,
7526}
7527
7528#[repr(C)]
7529#[derive(Debug, Copy, Clone)]
7530pub struct GeneratedCommandsInfoNV {
7531 pub sType : StructureType,
7532 pub pNext : *const void,
7533 pub pipelineBindPoint : PipelineBindPoint,
7534 pub pipeline : Pipeline,
7535 pub indirectCommandsLayout : IndirectCommandsLayoutNV,
7536 pub streamCount : u32,
7537 pub pStreams : *const IndirectCommandsStreamNV,
7538 pub sequencesCount : u32,
7539 pub preprocessBuffer : Buffer,
7540 pub preprocessOffset : DeviceSize,
7541 pub preprocessSize : DeviceSize,
7542 pub sequencesCountBuffer : Buffer,
7543 pub sequencesCountOffset : DeviceSize,
7544 pub sequencesIndexBuffer : Buffer,
7545 pub sequencesIndexOffset : DeviceSize,
7546}
7547
7548#[repr(C)]
7549#[derive(Debug, Copy, Clone)]
7550pub struct GeneratedCommandsMemoryRequirementsInfoNV {
7551 pub sType : StructureType,
7552 pub pNext : *const void,
7553 pub pipelineBindPoint : PipelineBindPoint,
7554 pub pipeline : Pipeline,
7555 pub indirectCommandsLayout : IndirectCommandsLayoutNV,
7556 pub maxSequencesCount : u32,
7557}
7558
7559#[repr(C)]
7560#[derive(Debug, Copy, Clone)]
7561pub struct PhysicalDeviceTexelBufferAlignmentFeaturesEXT {
7562 pub sType : StructureType,
7563 pub pNext : *mut void,
7564 pub texelBufferAlignment : Bool32,
7565}
7566
7567#[repr(C)]
7568#[derive(Debug, Copy, Clone)]
7569pub struct PhysicalDeviceTexelBufferAlignmentPropertiesEXT {
7570 pub sType : StructureType,
7571 pub pNext : *mut void,
7572 pub storageTexelBufferOffsetAlignmentBytes : DeviceSize,
7573 pub storageTexelBufferOffsetSingleTexelAlignment : Bool32,
7574 pub uniformTexelBufferOffsetAlignmentBytes : DeviceSize,
7575 pub uniformTexelBufferOffsetSingleTexelAlignment : Bool32,
7576}
7577
7578#[repr(C)]
7579#[derive(Debug, Copy, Clone)]
7580pub struct RenderPassTransformBeginInfoQCOM {
7581 pub sType : StructureType,
7582 pub pNext : *mut void,
7583 pub transform : SurfaceTransformFlagBitsKHR,
7584}
7585
7586#[repr(C)]
7587#[derive(Debug, Copy, Clone)]
7588pub struct CommandBufferInheritanceRenderPassTransformInfoQCOM {
7589 pub sType : StructureType,
7590 pub pNext : *mut void,
7591 pub transform : SurfaceTransformFlagBitsKHR,
7592 pub renderArea : Rect2D,
7593}
7594
7595#[repr(C)]
7596#[derive(Debug, Copy, Clone)]
7597pub struct PhysicalDeviceRobustness2FeaturesEXT {
7598 pub sType : StructureType,
7599 pub pNext : *mut void,
7600 pub robustBufferAccess2 : Bool32,
7601 pub robustImageAccess2 : Bool32,
7602 pub nullDescriptor : Bool32,
7603}
7604
7605#[repr(C)]
7606#[derive(Debug, Copy, Clone)]
7607pub struct PhysicalDeviceRobustness2PropertiesEXT {
7608 pub sType : StructureType,
7609 pub pNext : *mut void,
7610 pub robustStorageBufferAccessSizeAlignment : DeviceSize,
7611 pub robustUniformBufferAccessSizeAlignment : DeviceSize,
7612}
7613
7614#[repr(C)]
7615#[derive(Debug, Copy, Clone)]
7616pub struct SamplerCustomBorderColorCreateInfoEXT {
7617 pub sType : StructureType,
7618 pub pNext : *const void,
7619 pub customBorderColor : ClearColorValue,
7620 pub format : Format,
7621}
7622
7623#[repr(C)]
7624#[derive(Debug, Copy, Clone)]
7625pub struct PhysicalDeviceCustomBorderColorPropertiesEXT {
7626 pub sType : StructureType,
7627 pub pNext : *mut void,
7628 pub maxCustomBorderColorSamplers : u32,
7629}
7630
7631#[repr(C)]
7632#[derive(Debug, Copy, Clone)]
7633pub struct PhysicalDeviceCustomBorderColorFeaturesEXT {
7634 pub sType : StructureType,
7635 pub pNext : *mut void,
7636 pub customBorderColors : Bool32,
7637 pub customBorderColorWithoutFormat : Bool32,
7638}
7639
7640pub type PrivateDataSlotEXT = u64;
7641pub type PrivateDataSlotCreateFlagBitsEXT = i32;
7642pub const PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM_EXT : i32 = 0x7FFFFFF;
7643pub type PrivateDataSlotCreateFlagsEXT = u32;
7644
7645#[repr(C)]
7646#[derive(Debug, Copy, Clone)]
7647pub struct PhysicalDevicePrivateDataFeaturesEXT {
7648 pub sType : StructureType,
7649 pub pNext : *mut void,
7650 pub privateData : Bool32,
7651}
7652
7653#[repr(C)]
7654#[derive(Debug, Copy, Clone)]
7655pub struct DevicePrivateDataCreateInfoEXT {
7656 pub sType : StructureType,
7657 pub pNext : *const void,
7658 pub privateDataSlotRequestCount : u32,
7659}
7660
7661#[repr(C)]
7662#[derive(Debug, Copy, Clone)]
7663pub struct PrivateDataSlotCreateInfoEXT {
7664 pub sType : StructureType,
7665 pub pNext : *const void,
7666 pub flags : PrivateDataSlotCreateFlagsEXT,
7667}
7668
7669#[repr(C)]
7670#[derive(Debug, Copy, Clone)]
7671pub struct PhysicalDevicePipelineCreationCacheControlFeaturesEXT {
7672 pub sType : StructureType,
7673 pub pNext : *mut void,
7674 pub pipelineCreationCacheControl : Bool32,
7675}
7676
7677pub type DeviceDiagnosticsConfigFlagBitsNV = i32;
7678pub const DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV : i32 = 0x00000001;
7679pub const DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV : i32 = 0x00000002;
7680pub const DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV : i32 = 0x00000004;
7681pub const DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV : i32 = 0x7FFFFFF;
7682pub type DeviceDiagnosticsConfigFlagsNV = u32;
7683
7684#[repr(C)]
7685#[derive(Debug, Copy, Clone)]
7686pub struct PhysicalDeviceDiagnosticsConfigFeaturesNV {
7687 pub sType : StructureType,
7688 pub pNext : *mut void,
7689 pub diagnosticsConfig : Bool32,
7690}
7691
7692#[repr(C)]
7693#[derive(Debug, Copy, Clone)]
7694pub struct DeviceDiagnosticsConfigCreateInfoNV {
7695 pub sType : StructureType,
7696 pub pNext : *const void,
7697 pub flags : DeviceDiagnosticsConfigFlagsNV,
7698}
7699
7700
7701pub type HINSTANCE = u64;
7704pub type HWND = u64;
7705pub type HANDLE = u64;
7706pub type DWORD = u32;
7707pub type LPCWSTR = *const i16;
7708pub type HMONITOR = u64;
7709pub type LPSECURITY_ATTRIBUTES = u64;
7710
7711pub type Win32SurfaceCreateFlagsKHR = u32;
7712
7713#[repr(C)]
7714#[derive(Debug, Copy, Clone)]
7715pub struct Win32SurfaceCreateInfoKHR {
7716 pub sType : StructureType,
7717 pub pNext : *const void,
7718 pub flags : Win32SurfaceCreateFlagsKHR,
7719 pub hinstance : HINSTANCE,
7720 pub hwnd : HWND,
7721}
7722
7723#[repr(C)]
7724#[derive(Debug, Copy, Clone)]
7725pub struct ImportMemoryWin32HandleInfoKHR {
7726 pub sType : StructureType,
7727 pub pNext : *const void,
7728 pub handleType : ExternalMemoryHandleTypeFlagBits,
7729 pub handle : HANDLE,
7730 pub name : LPCWSTR,
7731}
7732
7733#[repr(C)]
7734#[derive(Debug, Copy, Clone)]
7735pub struct ExportMemoryWin32HandleInfoKHR {
7736 pub sType : StructureType,
7737 pub pNext : *const void,
7738 pub pAttributes : LPSECURITY_ATTRIBUTES,
7739 pub dwAccess : DWORD,
7740 pub name : LPCWSTR,
7741}
7742
7743#[repr(C)]
7744#[derive(Debug, Copy, Clone)]
7745pub struct MemoryWin32HandlePropertiesKHR {
7746 pub sType : StructureType,
7747 pub pNext : *mut void,
7748 pub memoryTypeBits : u32,
7749}
7750
7751#[repr(C)]
7752#[derive(Debug, Copy, Clone)]
7753pub struct MemoryGetWin32HandleInfoKHR {
7754 pub sType : StructureType,
7755 pub pNext : *const void,
7756 pub memory : DeviceMemory,
7757 pub handleType : ExternalMemoryHandleTypeFlagBits,
7758}
7759
7760#[repr(C)]
7761#[derive(Debug, Copy, Clone)]
7762pub struct Win32KeyedMutexAcquireReleaseInfoKHR {
7763 pub sType : StructureType,
7764 pub pNext : *const void,
7765 pub acquireCount : u32,
7766 pub pAcquireSyncs : *const DeviceMemory,
7767 pub pAcquireKeys : *const u64,
7768 pub pAcquireTimeouts : *const u32,
7769 pub releaseCount : u32,
7770 pub pReleaseSyncs : *const DeviceMemory,
7771 pub pReleaseKeys : *const u64,
7772}
7773
7774#[repr(C)]
7775#[derive(Debug, Copy, Clone)]
7776pub struct ImportSemaphoreWin32HandleInfoKHR {
7777 pub sType : StructureType,
7778 pub pNext : *const void,
7779 pub semaphore : Semaphore,
7780 pub flags : SemaphoreImportFlags,
7781 pub handleType : ExternalSemaphoreHandleTypeFlagBits,
7782 pub handle : HANDLE,
7783 pub name : LPCWSTR,
7784}
7785
7786#[repr(C)]
7787#[derive(Debug, Copy, Clone)]
7788pub struct ExportSemaphoreWin32HandleInfoKHR {
7789 pub sType : StructureType,
7790 pub pNext : *const void,
7791 pub pAttributes : LPSECURITY_ATTRIBUTES,
7792 pub dwAccess : DWORD,
7793 pub name : LPCWSTR,
7794}
7795
7796#[repr(C)]
7797#[derive(Debug, Copy, Clone)]
7798pub struct D3D12FenceSubmitInfoKHR {
7799 pub sType : StructureType,
7800 pub pNext : *const void,
7801 pub waitSemaphoreValuesCount : u32,
7802 pub pWaitSemaphoreValues : *const u64,
7803 pub signalSemaphoreValuesCount : u32,
7804 pub pSignalSemaphoreValues : *const u64,
7805}
7806
7807#[repr(C)]
7808#[derive(Debug, Copy, Clone)]
7809pub struct SemaphoreGetWin32HandleInfoKHR {
7810 pub sType : StructureType,
7811 pub pNext : *const void,
7812 pub semaphore : Semaphore,
7813 pub handleType : ExternalSemaphoreHandleTypeFlagBits,
7814}
7815
7816#[repr(C)]
7817#[derive(Debug, Copy, Clone)]
7818pub struct ImportFenceWin32HandleInfoKHR {
7819 pub sType : StructureType,
7820 pub pNext : *const void,
7821 pub fence : Fence,
7822 pub flags : FenceImportFlags,
7823 pub handleType : ExternalFenceHandleTypeFlagBits,
7824 pub handle : HANDLE,
7825 pub name : LPCWSTR,
7826}
7827
7828#[repr(C)]
7829#[derive(Debug, Copy, Clone)]
7830pub struct ExportFenceWin32HandleInfoKHR {
7831 pub sType : StructureType,
7832 pub pNext : *const void,
7833 pub pAttributes : LPSECURITY_ATTRIBUTES,
7834 pub dwAccess : DWORD,
7835 pub name : LPCWSTR,
7836}
7837
7838#[repr(C)]
7839#[derive(Debug, Copy, Clone)]
7840pub struct FenceGetWin32HandleInfoKHR {
7841 pub sType : StructureType,
7842 pub pNext : *const void,
7843 pub fence : Fence,
7844 pub handleType : ExternalFenceHandleTypeFlagBits,
7845}
7846
7847#[repr(C)]
7848#[derive(Debug, Copy, Clone)]
7849pub struct ImportMemoryWin32HandleInfoNV {
7850 pub sType : StructureType,
7851 pub pNext : *const void,
7852 pub handleType : ExternalMemoryHandleTypeFlagsNV,
7853 pub handle : HANDLE,
7854}
7855
7856#[repr(C)]
7857#[derive(Debug, Copy, Clone)]
7858pub struct ExportMemoryWin32HandleInfoNV {
7859 pub sType : StructureType,
7860 pub pNext : *const void,
7861 pub pAttributes : LPSECURITY_ATTRIBUTES,
7862 pub dwAccess : DWORD,
7863}
7864
7865#[repr(C)]
7866#[derive(Debug, Copy, Clone)]
7867pub struct Win32KeyedMutexAcquireReleaseInfoNV {
7868 pub sType : StructureType,
7869 pub pNext : *const void,
7870 pub acquireCount : u32,
7871 pub pAcquireSyncs : *const DeviceMemory,
7872 pub pAcquireKeys : *const u64,
7873 pub pAcquireTimeoutMilliseconds : *const u32,
7874 pub releaseCount : u32,
7875 pub pReleaseSyncs : *const DeviceMemory,
7876 pub pReleaseKeys : *const u64,
7877}
7878
7879pub type FullScreenExclusiveEXT = i32;
7880pub const FULL_SCREEN_EXCLUSIVE_DEFAULT_EXT : i32 = 0;
7881pub const FULL_SCREEN_EXCLUSIVE_ALLOWED_EXT : i32 = 1;
7882pub const FULL_SCREEN_EXCLUSIVE_DISALLOWED_EXT : i32 = 2;
7883pub const FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT : i32 = 3;
7884pub const FULL_SCREEN_EXCLUSIVE_MAX_ENUM_EXT : i32 = 0x7FFFFFF;
7885
7886#[repr(C)]
7887#[derive(Debug, Copy, Clone)]
7888pub struct SurfaceFullScreenExclusiveInfoEXT {
7889 pub sType : StructureType,
7890 pub pNext : *mut void,
7891 pub fullScreenExclusive : FullScreenExclusiveEXT,
7892}
7893
7894#[repr(C)]
7895#[derive(Debug, Copy, Clone)]
7896pub struct SurfaceCapabilitiesFullScreenExclusiveEXT {
7897 pub sType : StructureType,
7898 pub pNext : *mut void,
7899 pub fullScreenExclusiveSupported : Bool32,
7900}
7901
7902#[repr(C)]
7903#[derive(Debug, Copy, Clone)]
7904pub struct SurfaceFullScreenExclusiveWin32InfoEXT {
7905 pub sType : StructureType,
7906 pub pNext : *const void,
7907 pub hmonitor : HMONITOR,
7908}
7909
7910impl ::std::default::Default for ApplicationInfo {
7911 fn default() -> ApplicationInfo {
7912 ApplicationInfo {
7913 sType : STRUCTURE_TYPE_APPLICATION_INFO,
7914 pNext : 0 as _,
7915 pApplicationName : 0 as _,
7916 applicationVersion : 0 as _,
7917 pEngineName : 0 as _,
7918 engineVersion : 0 as _,
7919 apiVersion : 0 as _,
7920 }
7921 }
7922}
7923impl ::std::default::Default for InstanceCreateInfo {
7924 fn default() -> InstanceCreateInfo {
7925 InstanceCreateInfo {
7926 sType : STRUCTURE_TYPE_INSTANCE_CREATE_INFO,
7927 pNext : 0 as _,
7928 flags : 0 as _,
7929 pApplicationInfo : 0 as _,
7930 enabledLayerCount : 0 as _,
7931 ppEnabledLayerNames : 0 as _,
7932 enabledExtensionCount : 0 as _,
7933 ppEnabledExtensionNames : 0 as _,
7934 }
7935 }
7936}
7937impl ::std::default::Default for AllocationCallbacks {
7938 fn default() -> AllocationCallbacks {
7939 AllocationCallbacks {
7940 pUserData : 0 as _,
7941 pfnAllocation : 0 as _,
7942 pfnReallocation : 0 as _,
7943 pfnFree : 0 as _,
7944 pfnInternalAllocation : 0 as _,
7945 pfnInternalFree : 0 as _,
7946 }
7947 }
7948}
7949impl ::std::default::Default for PhysicalDeviceFeatures {
7950 fn default() -> PhysicalDeviceFeatures {
7951 PhysicalDeviceFeatures {
7952 robustBufferAccess : 0 as _,
7953 fullDrawIndexUint32 : 0 as _,
7954 imageCubeArray : 0 as _,
7955 independentBlend : 0 as _,
7956 geometryShader : 0 as _,
7957 tessellationShader : 0 as _,
7958 sampleRateShading : 0 as _,
7959 dualSrcBlend : 0 as _,
7960 logicOp : 0 as _,
7961 multiDrawIndirect : 0 as _,
7962 drawIndirectFirstInstance : 0 as _,
7963 depthClamp : 0 as _,
7964 depthBiasClamp : 0 as _,
7965 fillModeNonSolid : 0 as _,
7966 depthBounds : 0 as _,
7967 wideLines : 0 as _,
7968 largePoints : 0 as _,
7969 alphaToOne : 0 as _,
7970 multiViewport : 0 as _,
7971 samplerAnisotropy : 0 as _,
7972 textureCompressionETC2 : 0 as _,
7973 textureCompressionASTC_LDR : 0 as _,
7974 textureCompressionBC : 0 as _,
7975 occlusionQueryPrecise : 0 as _,
7976 pipelineStatisticsQuery : 0 as _,
7977 vertexPipelineStoresAndAtomics : 0 as _,
7978 fragmentStoresAndAtomics : 0 as _,
7979 shaderTessellationAndGeometryPointSize : 0 as _,
7980 shaderImageGatherExtended : 0 as _,
7981 shaderStorageImageExtendedFormats : 0 as _,
7982 shaderStorageImageMultisample : 0 as _,
7983 shaderStorageImageReadWithoutFormat : 0 as _,
7984 shaderStorageImageWriteWithoutFormat : 0 as _,
7985 shaderUniformBufferArrayDynamicIndexing : 0 as _,
7986 shaderSampledImageArrayDynamicIndexing : 0 as _,
7987 shaderStorageBufferArrayDynamicIndexing : 0 as _,
7988 shaderStorageImageArrayDynamicIndexing : 0 as _,
7989 shaderClipDistance : 0 as _,
7990 shaderCullDistance : 0 as _,
7991 shaderFloat64 : 0 as _,
7992 shaderInt64 : 0 as _,
7993 shaderInt16 : 0 as _,
7994 shaderResourceResidency : 0 as _,
7995 shaderResourceMinLod : 0 as _,
7996 sparseBinding : 0 as _,
7997 sparseResidencyBuffer : 0 as _,
7998 sparseResidencyImage2D : 0 as _,
7999 sparseResidencyImage3D : 0 as _,
8000 sparseResidency2Samples : 0 as _,
8001 sparseResidency4Samples : 0 as _,
8002 sparseResidency8Samples : 0 as _,
8003 sparseResidency16Samples : 0 as _,
8004 sparseResidencyAliased : 0 as _,
8005 variableMultisampleRate : 0 as _,
8006 inheritedQueries : 0 as _,
8007 }
8008 }
8009}
8010impl ::std::default::Default for FormatProperties {
8011 fn default() -> FormatProperties {
8012 FormatProperties {
8013 linearTilingFeatures : Default::default(),
8014 optimalTilingFeatures : Default::default(),
8015 bufferFeatures : Default::default(),
8016 }
8017 }
8018}
8019impl ::std::default::Default for Extent3D {
8020 fn default() -> Extent3D {
8021 Extent3D {
8022 width : 0 as _,
8023 height : 0 as _,
8024 depth : 0 as _,
8025 }
8026 }
8027}
8028impl ::std::default::Default for ImageFormatProperties {
8029 fn default() -> ImageFormatProperties {
8030 ImageFormatProperties {
8031 maxExtent : Default::default(),
8032 maxMipLevels : 0 as _,
8033 maxArrayLayers : 0 as _,
8034 sampleCounts : Default::default(),
8035 maxResourceSize : Default::default(),
8036 }
8037 }
8038}
8039impl ::std::default::Default for PhysicalDeviceLimits {
8040 fn default() -> PhysicalDeviceLimits {
8041 PhysicalDeviceLimits {
8042 maxImageDimension1D : 0 as _,
8043 maxImageDimension2D : 0 as _,
8044 maxImageDimension3D : 0 as _,
8045 maxImageDimensionCube : 0 as _,
8046 maxImageArrayLayers : 0 as _,
8047 maxTexelBufferElements : 0 as _,
8048 maxUniformBufferRange : 0 as _,
8049 maxStorageBufferRange : 0 as _,
8050 maxPushConstantsSize : 0 as _,
8051 maxMemoryAllocationCount : 0 as _,
8052 maxSamplerAllocationCount : 0 as _,
8053 bufferImageGranularity : Default::default(),
8054 sparseAddressSpaceSize : Default::default(),
8055 maxBoundDescriptorSets : 0 as _,
8056 maxPerStageDescriptorSamplers : 0 as _,
8057 maxPerStageDescriptorUniformBuffers : 0 as _,
8058 maxPerStageDescriptorStorageBuffers : 0 as _,
8059 maxPerStageDescriptorSampledImages : 0 as _,
8060 maxPerStageDescriptorStorageImages : 0 as _,
8061 maxPerStageDescriptorInputAttachments : 0 as _,
8062 maxPerStageResources : 0 as _,
8063 maxDescriptorSetSamplers : 0 as _,
8064 maxDescriptorSetUniformBuffers : 0 as _,
8065 maxDescriptorSetUniformBuffersDynamic : 0 as _,
8066 maxDescriptorSetStorageBuffers : 0 as _,
8067 maxDescriptorSetStorageBuffersDynamic : 0 as _,
8068 maxDescriptorSetSampledImages : 0 as _,
8069 maxDescriptorSetStorageImages : 0 as _,
8070 maxDescriptorSetInputAttachments : 0 as _,
8071 maxVertexInputAttributes : 0 as _,
8072 maxVertexInputBindings : 0 as _,
8073 maxVertexInputAttributeOffset : 0 as _,
8074 maxVertexInputBindingStride : 0 as _,
8075 maxVertexOutputComponents : 0 as _,
8076 maxTessellationGenerationLevel : 0 as _,
8077 maxTessellationPatchSize : 0 as _,
8078 maxTessellationControlPerVertexInputComponents : 0 as _,
8079 maxTessellationControlPerVertexOutputComponents : 0 as _,
8080 maxTessellationControlPerPatchOutputComponents : 0 as _,
8081 maxTessellationControlTotalOutputComponents : 0 as _,
8082 maxTessellationEvaluationInputComponents : 0 as _,
8083 maxTessellationEvaluationOutputComponents : 0 as _,
8084 maxGeometryShaderInvocations : 0 as _,
8085 maxGeometryInputComponents : 0 as _,
8086 maxGeometryOutputComponents : 0 as _,
8087 maxGeometryOutputVertices : 0 as _,
8088 maxGeometryTotalOutputComponents : 0 as _,
8089 maxFragmentInputComponents : 0 as _,
8090 maxFragmentOutputAttachments : 0 as _,
8091 maxFragmentDualSrcAttachments : 0 as _,
8092 maxFragmentCombinedOutputResources : 0 as _,
8093 maxComputeSharedMemorySize : 0 as _,
8094 maxComputeWorkGroupCount : [Default::default();3],
8095 maxComputeWorkGroupInvocations : 0 as _,
8096 maxComputeWorkGroupSize : [Default::default();3],
8097 subPixelPrecisionBits : 0 as _,
8098 subTexelPrecisionBits : 0 as _,
8099 mipmapPrecisionBits : 0 as _,
8100 maxDrawIndexedIndexValue : 0 as _,
8101 maxDrawIndirectCount : 0 as _,
8102 maxSamplerLodBias : 0 as _,
8103 maxSamplerAnisotropy : 0 as _,
8104 maxViewports : 0 as _,
8105 maxViewportDimensions : [Default::default();2],
8106 viewportBoundsRange : [Default::default();2],
8107 viewportSubPixelBits : 0 as _,
8108 minMemoryMapAlignment : Default::default(),
8109 minTexelBufferOffsetAlignment : Default::default(),
8110 minUniformBufferOffsetAlignment : Default::default(),
8111 minStorageBufferOffsetAlignment : Default::default(),
8112 minTexelOffset : 0 as _,
8113 maxTexelOffset : 0 as _,
8114 minTexelGatherOffset : 0 as _,
8115 maxTexelGatherOffset : 0 as _,
8116 minInterpolationOffset : 0 as _,
8117 maxInterpolationOffset : 0 as _,
8118 subPixelInterpolationOffsetBits : 0 as _,
8119 maxFramebufferWidth : 0 as _,
8120 maxFramebufferHeight : 0 as _,
8121 maxFramebufferLayers : 0 as _,
8122 framebufferColorSampleCounts : Default::default(),
8123 framebufferDepthSampleCounts : Default::default(),
8124 framebufferStencilSampleCounts : Default::default(),
8125 framebufferNoAttachmentsSampleCounts : Default::default(),
8126 maxColorAttachments : 0 as _,
8127 sampledImageColorSampleCounts : Default::default(),
8128 sampledImageIntegerSampleCounts : Default::default(),
8129 sampledImageDepthSampleCounts : Default::default(),
8130 sampledImageStencilSampleCounts : Default::default(),
8131 storageImageSampleCounts : Default::default(),
8132 maxSampleMaskWords : 0 as _,
8133 timestampComputeAndGraphics : 0 as _,
8134 timestampPeriod : 0 as _,
8135 maxClipDistances : 0 as _,
8136 maxCullDistances : 0 as _,
8137 maxCombinedClipAndCullDistances : 0 as _,
8138 discreteQueuePriorities : 0 as _,
8139 pointSizeRange : [Default::default();2],
8140 lineWidthRange : [Default::default();2],
8141 pointSizeGranularity : 0 as _,
8142 lineWidthGranularity : 0 as _,
8143 strictLines : 0 as _,
8144 standardSampleLocations : 0 as _,
8145 optimalBufferCopyOffsetAlignment : Default::default(),
8146 optimalBufferCopyRowPitchAlignment : Default::default(),
8147 nonCoherentAtomSize : Default::default(),
8148 }
8149 }
8150}
8151impl ::std::default::Default for PhysicalDeviceSparseProperties {
8152 fn default() -> PhysicalDeviceSparseProperties {
8153 PhysicalDeviceSparseProperties {
8154 residencyStandard2DBlockShape : 0 as _,
8155 residencyStandard2DMultisampleBlockShape : 0 as _,
8156 residencyStandard3DBlockShape : 0 as _,
8157 residencyAlignedMipSize : 0 as _,
8158 residencyNonResidentStrict : 0 as _,
8159 }
8160 }
8161}
8162impl ::std::default::Default for PhysicalDeviceProperties {
8163 fn default() -> PhysicalDeviceProperties {
8164 PhysicalDeviceProperties {
8165 apiVersion : 0 as _,
8166 driverVersion : 0 as _,
8167 vendorID : 0 as _,
8168 deviceID : 0 as _,
8169 deviceType : Default::default(),
8170 deviceName : [Default::default();MAX_PHYSICAL_DEVICE_NAME_SIZE],
8171 pipelineCacheUUID : [Default::default();UUID_SIZE],
8172 limits : Default::default(),
8173 sparseProperties : Default::default(),
8174 }
8175 }
8176}
8177impl ::std::default::Default for QueueFamilyProperties {
8178 fn default() -> QueueFamilyProperties {
8179 QueueFamilyProperties {
8180 queueFlags : Default::default(),
8181 queueCount : 0 as _,
8182 timestampValidBits : 0 as _,
8183 minImageTransferGranularity : Default::default(),
8184 }
8185 }
8186}
8187impl ::std::default::Default for MemoryType {
8188 fn default() -> MemoryType {
8189 MemoryType {
8190 propertyFlags : Default::default(),
8191 heapIndex : 0 as _,
8192 }
8193 }
8194}
8195impl ::std::default::Default for MemoryHeap {
8196 fn default() -> MemoryHeap {
8197 MemoryHeap {
8198 size : Default::default(),
8199 flags : Default::default(),
8200 }
8201 }
8202}
8203impl ::std::default::Default for PhysicalDeviceMemoryProperties {
8204 fn default() -> PhysicalDeviceMemoryProperties {
8205 PhysicalDeviceMemoryProperties {
8206 memoryTypeCount : 0 as _,
8207 memoryTypes : [Default::default();MAX_MEMORY_TYPES],
8208 memoryHeapCount : 0 as _,
8209 memoryHeaps : [Default::default();MAX_MEMORY_HEAPS],
8210 }
8211 }
8212}
8213impl ::std::default::Default for DeviceQueueCreateInfo {
8214 fn default() -> DeviceQueueCreateInfo {
8215 DeviceQueueCreateInfo {
8216 sType : STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO,
8217 pNext : 0 as _,
8218 flags : Default::default(),
8219 queueFamilyIndex : 0 as _,
8220 queueCount : 0 as _,
8221 pQueuePriorities : 0 as _,
8222 }
8223 }
8224}
8225impl ::std::default::Default for DeviceCreateInfo {
8226 fn default() -> DeviceCreateInfo {
8227 DeviceCreateInfo {
8228 sType : STRUCTURE_TYPE_DEVICE_CREATE_INFO,
8229 pNext : 0 as _,
8230 flags : Default::default(),
8231 queueCreateInfoCount : 0 as _,
8232 pQueueCreateInfos : 0 as _,
8233 enabledLayerCount : 0 as _,
8234 ppEnabledLayerNames : 0 as _,
8235 enabledExtensionCount : 0 as _,
8236 ppEnabledExtensionNames : 0 as _,
8237 pEnabledFeatures : 0 as _,
8238 }
8239 }
8240}
8241impl ::std::default::Default for ExtensionProperties {
8242 fn default() -> ExtensionProperties {
8243 ExtensionProperties {
8244 extensionName : [Default::default();MAX_EXTENSION_NAME_SIZE],
8245 specVersion : 0 as _,
8246 }
8247 }
8248}
8249impl ::std::default::Default for LayerProperties {
8250 fn default() -> LayerProperties {
8251 LayerProperties {
8252 layerName : [Default::default();MAX_EXTENSION_NAME_SIZE],
8253 specVersion : 0 as _,
8254 implementationVersion : 0 as _,
8255 description : [Default::default();MAX_DESCRIPTION_SIZE],
8256 }
8257 }
8258}
8259impl ::std::default::Default for SubmitInfo {
8260 fn default() -> SubmitInfo {
8261 SubmitInfo {
8262 sType : STRUCTURE_TYPE_SUBMIT_INFO,
8263 pNext : 0 as _,
8264 waitSemaphoreCount : 0 as _,
8265 pWaitSemaphores : 0 as _,
8266 pWaitDstStageMask : 0 as _,
8267 commandBufferCount : 0 as _,
8268 pCommandBuffers : 0 as _,
8269 signalSemaphoreCount : 0 as _,
8270 pSignalSemaphores : 0 as _,
8271 }
8272 }
8273}
8274impl ::std::default::Default for MemoryAllocateInfo {
8275 fn default() -> MemoryAllocateInfo {
8276 MemoryAllocateInfo {
8277 sType : STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO,
8278 pNext : 0 as _,
8279 allocationSize : Default::default(),
8280 memoryTypeIndex : 0 as _,
8281 }
8282 }
8283}
8284impl ::std::default::Default for MappedMemoryRange {
8285 fn default() -> MappedMemoryRange {
8286 MappedMemoryRange {
8287 sType : STRUCTURE_TYPE_MAPPED_MEMORY_RANGE,
8288 pNext : 0 as _,
8289 memory : Default::default(),
8290 offset : Default::default(),
8291 size : Default::default(),
8292 }
8293 }
8294}
8295impl ::std::default::Default for MemoryRequirements {
8296 fn default() -> MemoryRequirements {
8297 MemoryRequirements {
8298 size : Default::default(),
8299 alignment : Default::default(),
8300 memoryTypeBits : 0 as _,
8301 }
8302 }
8303}
8304impl ::std::default::Default for SparseImageFormatProperties {
8305 fn default() -> SparseImageFormatProperties {
8306 SparseImageFormatProperties {
8307 aspectMask : Default::default(),
8308 imageGranularity : Default::default(),
8309 flags : Default::default(),
8310 }
8311 }
8312}
8313impl ::std::default::Default for SparseImageMemoryRequirements {
8314 fn default() -> SparseImageMemoryRequirements {
8315 SparseImageMemoryRequirements {
8316 formatProperties : Default::default(),
8317 imageMipTailFirstLod : 0 as _,
8318 imageMipTailSize : Default::default(),
8319 imageMipTailOffset : Default::default(),
8320 imageMipTailStride : Default::default(),
8321 }
8322 }
8323}
8324impl ::std::default::Default for SparseMemoryBind {
8325 fn default() -> SparseMemoryBind {
8326 SparseMemoryBind {
8327 resourceOffset : Default::default(),
8328 size : Default::default(),
8329 memory : Default::default(),
8330 memoryOffset : Default::default(),
8331 flags : Default::default(),
8332 }
8333 }
8334}
8335impl ::std::default::Default for SparseBufferMemoryBindInfo {
8336 fn default() -> SparseBufferMemoryBindInfo {
8337 SparseBufferMemoryBindInfo {
8338 buffer : Default::default(),
8339 bindCount : 0 as _,
8340 pBinds : 0 as _,
8341 }
8342 }
8343}
8344impl ::std::default::Default for SparseImageOpaqueMemoryBindInfo {
8345 fn default() -> SparseImageOpaqueMemoryBindInfo {
8346 SparseImageOpaqueMemoryBindInfo {
8347 image : Default::default(),
8348 bindCount : 0 as _,
8349 pBinds : 0 as _,
8350 }
8351 }
8352}
8353impl ::std::default::Default for ImageSubresource {
8354 fn default() -> ImageSubresource {
8355 ImageSubresource {
8356 aspectMask : Default::default(),
8357 mipLevel : 0 as _,
8358 arrayLayer : 0 as _,
8359 }
8360 }
8361}
8362impl ::std::default::Default for Offset3D {
8363 fn default() -> Offset3D {
8364 Offset3D {
8365 x : 0 as _,
8366 y : 0 as _,
8367 z : 0 as _,
8368 }
8369 }
8370}
8371impl ::std::default::Default for SparseImageMemoryBind {
8372 fn default() -> SparseImageMemoryBind {
8373 SparseImageMemoryBind {
8374 subresource : Default::default(),
8375 offset : Default::default(),
8376 extent : Default::default(),
8377 memory : Default::default(),
8378 memoryOffset : Default::default(),
8379 flags : Default::default(),
8380 }
8381 }
8382}
8383impl ::std::default::Default for SparseImageMemoryBindInfo {
8384 fn default() -> SparseImageMemoryBindInfo {
8385 SparseImageMemoryBindInfo {
8386 image : Default::default(),
8387 bindCount : 0 as _,
8388 pBinds : 0 as _,
8389 }
8390 }
8391}
8392impl ::std::default::Default for BindSparseInfo {
8393 fn default() -> BindSparseInfo {
8394 BindSparseInfo {
8395 sType : STRUCTURE_TYPE_BIND_SPARSE_INFO,
8396 pNext : 0 as _,
8397 waitSemaphoreCount : 0 as _,
8398 pWaitSemaphores : 0 as _,
8399 bufferBindCount : 0 as _,
8400 pBufferBinds : 0 as _,
8401 imageOpaqueBindCount : 0 as _,
8402 pImageOpaqueBinds : 0 as _,
8403 imageBindCount : 0 as _,
8404 pImageBinds : 0 as _,
8405 signalSemaphoreCount : 0 as _,
8406 pSignalSemaphores : 0 as _,
8407 }
8408 }
8409}
8410impl ::std::default::Default for FenceCreateInfo {
8411 fn default() -> FenceCreateInfo {
8412 FenceCreateInfo {
8413 sType : STRUCTURE_TYPE_FENCE_CREATE_INFO,
8414 pNext : 0 as _,
8415 flags : Default::default(),
8416 }
8417 }
8418}
8419impl ::std::default::Default for SemaphoreCreateInfo {
8420 fn default() -> SemaphoreCreateInfo {
8421 SemaphoreCreateInfo {
8422 sType : STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO,
8423 pNext : 0 as _,
8424 flags : Default::default(),
8425 }
8426 }
8427}
8428impl ::std::default::Default for EventCreateInfo {
8429 fn default() -> EventCreateInfo {
8430 EventCreateInfo {
8431 sType : STRUCTURE_TYPE_EVENT_CREATE_INFO,
8432 pNext : 0 as _,
8433 flags : Default::default(),
8434 }
8435 }
8436}
8437impl ::std::default::Default for QueryPoolCreateInfo {
8438 fn default() -> QueryPoolCreateInfo {
8439 QueryPoolCreateInfo {
8440 sType : STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO,
8441 pNext : 0 as _,
8442 flags : Default::default(),
8443 queryType : Default::default(),
8444 queryCount : 0 as _,
8445 pipelineStatistics : Default::default(),
8446 }
8447 }
8448}
8449impl ::std::default::Default for BufferCreateInfo {
8450 fn default() -> BufferCreateInfo {
8451 BufferCreateInfo {
8452 sType : STRUCTURE_TYPE_BUFFER_CREATE_INFO,
8453 pNext : 0 as _,
8454 flags : Default::default(),
8455 size : Default::default(),
8456 usage : Default::default(),
8457 sharingMode : Default::default(),
8458 queueFamilyIndexCount : 0 as _,
8459 pQueueFamilyIndices : 0 as _,
8460 }
8461 }
8462}
8463impl ::std::default::Default for BufferViewCreateInfo {
8464 fn default() -> BufferViewCreateInfo {
8465 BufferViewCreateInfo {
8466 sType : STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO,
8467 pNext : 0 as _,
8468 flags : Default::default(),
8469 buffer : Default::default(),
8470 format : Default::default(),
8471 offset : Default::default(),
8472 range : Default::default(),
8473 }
8474 }
8475}
8476impl ::std::default::Default for ImageCreateInfo {
8477 fn default() -> ImageCreateInfo {
8478 ImageCreateInfo {
8479 sType : STRUCTURE_TYPE_IMAGE_CREATE_INFO,
8480 pNext : 0 as _,
8481 flags : Default::default(),
8482 imageType : Default::default(),
8483 format : Default::default(),
8484 extent : Default::default(),
8485 mipLevels : 0 as _,
8486 arrayLayers : 0 as _,
8487 samples : Default::default(),
8488 tiling : Default::default(),
8489 usage : Default::default(),
8490 sharingMode : Default::default(),
8491 queueFamilyIndexCount : 0 as _,
8492 pQueueFamilyIndices : 0 as _,
8493 initialLayout : Default::default(),
8494 }
8495 }
8496}
8497impl ::std::default::Default for SubresourceLayout {
8498 fn default() -> SubresourceLayout {
8499 SubresourceLayout {
8500 offset : Default::default(),
8501 size : Default::default(),
8502 rowPitch : Default::default(),
8503 arrayPitch : Default::default(),
8504 depthPitch : Default::default(),
8505 }
8506 }
8507}
8508impl ::std::default::Default for ComponentMapping {
8509 fn default() -> ComponentMapping {
8510 ComponentMapping {
8511 r : Default::default(),
8512 g : Default::default(),
8513 b : Default::default(),
8514 a : Default::default(),
8515 }
8516 }
8517}
8518impl ::std::default::Default for ImageSubresourceRange {
8519 fn default() -> ImageSubresourceRange {
8520 ImageSubresourceRange {
8521 aspectMask : Default::default(),
8522 baseMipLevel : 0 as _,
8523 levelCount : 0 as _,
8524 baseArrayLayer : 0 as _,
8525 layerCount : 0 as _,
8526 }
8527 }
8528}
8529impl ::std::default::Default for ImageViewCreateInfo {
8530 fn default() -> ImageViewCreateInfo {
8531 ImageViewCreateInfo {
8532 sType : STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO,
8533 pNext : 0 as _,
8534 flags : Default::default(),
8535 image : Default::default(),
8536 viewType : Default::default(),
8537 format : Default::default(),
8538 components : Default::default(),
8539 subresourceRange : Default::default(),
8540 }
8541 }
8542}
8543impl ::std::default::Default for ShaderModuleCreateInfo {
8544 fn default() -> ShaderModuleCreateInfo {
8545 ShaderModuleCreateInfo {
8546 sType : STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO,
8547 pNext : 0 as _,
8548 flags : Default::default(),
8549 codeSize : Default::default(),
8550 pCode : 0 as _,
8551 }
8552 }
8553}
8554impl ::std::default::Default for PipelineCacheCreateInfo {
8555 fn default() -> PipelineCacheCreateInfo {
8556 PipelineCacheCreateInfo {
8557 sType : STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO,
8558 pNext : 0 as _,
8559 flags : Default::default(),
8560 initialDataSize : Default::default(),
8561 pInitialData : 0 as _,
8562 }
8563 }
8564}
8565impl ::std::default::Default for SpecializationMapEntry {
8566 fn default() -> SpecializationMapEntry {
8567 SpecializationMapEntry {
8568 constantID : 0 as _,
8569 offset : 0 as _,
8570 size : Default::default(),
8571 }
8572 }
8573}
8574impl ::std::default::Default for SpecializationInfo {
8575 fn default() -> SpecializationInfo {
8576 SpecializationInfo {
8577 mapEntryCount : 0 as _,
8578 pMapEntries : 0 as _,
8579 dataSize : Default::default(),
8580 pData : 0 as _,
8581 }
8582 }
8583}
8584impl ::std::default::Default for PipelineShaderStageCreateInfo {
8585 fn default() -> PipelineShaderStageCreateInfo {
8586 PipelineShaderStageCreateInfo {
8587 sType : STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO,
8588 pNext : 0 as _,
8589 flags : Default::default(),
8590 stage : Default::default(),
8591 module : Default::default(),
8592 pName : 0 as _,
8593 pSpecializationInfo : 0 as _,
8594 }
8595 }
8596}
8597impl ::std::default::Default for VertexInputBindingDescription {
8598 fn default() -> VertexInputBindingDescription {
8599 VertexInputBindingDescription {
8600 binding : 0 as _,
8601 stride : 0 as _,
8602 inputRate : Default::default(),
8603 }
8604 }
8605}
8606impl ::std::default::Default for VertexInputAttributeDescription {
8607 fn default() -> VertexInputAttributeDescription {
8608 VertexInputAttributeDescription {
8609 location : 0 as _,
8610 binding : 0 as _,
8611 format : Default::default(),
8612 offset : 0 as _,
8613 }
8614 }
8615}
8616impl ::std::default::Default for PipelineVertexInputStateCreateInfo {
8617 fn default() -> PipelineVertexInputStateCreateInfo {
8618 PipelineVertexInputStateCreateInfo {
8619 sType : STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO,
8620 pNext : 0 as _,
8621 flags : Default::default(),
8622 vertexBindingDescriptionCount : 0 as _,
8623 pVertexBindingDescriptions : 0 as _,
8624 vertexAttributeDescriptionCount : 0 as _,
8625 pVertexAttributeDescriptions : 0 as _,
8626 }
8627 }
8628}
8629impl ::std::default::Default for PipelineInputAssemblyStateCreateInfo {
8630 fn default() -> PipelineInputAssemblyStateCreateInfo {
8631 PipelineInputAssemblyStateCreateInfo {
8632 sType : STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO,
8633 pNext : 0 as _,
8634 flags : Default::default(),
8635 topology : Default::default(),
8636 primitiveRestartEnable : 0 as _,
8637 }
8638 }
8639}
8640impl ::std::default::Default for PipelineTessellationStateCreateInfo {
8641 fn default() -> PipelineTessellationStateCreateInfo {
8642 PipelineTessellationStateCreateInfo {
8643 sType : STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO,
8644 pNext : 0 as _,
8645 flags : Default::default(),
8646 patchControlPoints : 0 as _,
8647 }
8648 }
8649}
8650impl ::std::default::Default for Viewport {
8651 fn default() -> Viewport {
8652 Viewport {
8653 x : 0 as _,
8654 y : 0 as _,
8655 width : 0 as _,
8656 height : 0 as _,
8657 minDepth : 0 as _,
8658 maxDepth : 0 as _,
8659 }
8660 }
8661}
8662impl ::std::default::Default for Offset2D {
8663 fn default() -> Offset2D {
8664 Offset2D {
8665 x : 0 as _,
8666 y : 0 as _,
8667 }
8668 }
8669}
8670impl ::std::default::Default for Extent2D {
8671 fn default() -> Extent2D {
8672 Extent2D {
8673 width : 0 as _,
8674 height : 0 as _,
8675 }
8676 }
8677}
8678impl ::std::default::Default for Rect2D {
8679 fn default() -> Rect2D {
8680 Rect2D {
8681 offset : Default::default(),
8682 extent : Default::default(),
8683 }
8684 }
8685}
8686impl ::std::default::Default for PipelineViewportStateCreateInfo {
8687 fn default() -> PipelineViewportStateCreateInfo {
8688 PipelineViewportStateCreateInfo {
8689 sType : STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO,
8690 pNext : 0 as _,
8691 flags : Default::default(),
8692 viewportCount : 0 as _,
8693 pViewports : 0 as _,
8694 scissorCount : 0 as _,
8695 pScissors : 0 as _,
8696 }
8697 }
8698}
8699impl ::std::default::Default for PipelineRasterizationStateCreateInfo {
8700 fn default() -> PipelineRasterizationStateCreateInfo {
8701 PipelineRasterizationStateCreateInfo {
8702 sType : STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO,
8703 pNext : 0 as _,
8704 flags : Default::default(),
8705 depthClampEnable : 0 as _,
8706 rasterizerDiscardEnable : 0 as _,
8707 polygonMode : Default::default(),
8708 cullMode : Default::default(),
8709 frontFace : Default::default(),
8710 depthBiasEnable : 0 as _,
8711 depthBiasConstantFactor : 0 as _,
8712 depthBiasClamp : 0 as _,
8713 depthBiasSlopeFactor : 0 as _,
8714 lineWidth : 0 as _,
8715 }
8716 }
8717}
8718impl ::std::default::Default for PipelineMultisampleStateCreateInfo {
8719 fn default() -> PipelineMultisampleStateCreateInfo {
8720 PipelineMultisampleStateCreateInfo {
8721 sType : STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO,
8722 pNext : 0 as _,
8723 flags : Default::default(),
8724 rasterizationSamples : Default::default(),
8725 sampleShadingEnable : 0 as _,
8726 minSampleShading : 0 as _,
8727 pSampleMask : 0 as _,
8728 alphaToCoverageEnable : 0 as _,
8729 alphaToOneEnable : 0 as _,
8730 }
8731 }
8732}
8733impl ::std::default::Default for StencilOpState {
8734 fn default() -> StencilOpState {
8735 StencilOpState {
8736 failOp : Default::default(),
8737 passOp : Default::default(),
8738 depthFailOp : Default::default(),
8739 compareOp : Default::default(),
8740 compareMask : 0 as _,
8741 writeMask : 0 as _,
8742 reference : 0 as _,
8743 }
8744 }
8745}
8746impl ::std::default::Default for PipelineDepthStencilStateCreateInfo {
8747 fn default() -> PipelineDepthStencilStateCreateInfo {
8748 PipelineDepthStencilStateCreateInfo {
8749 sType : STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO,
8750 pNext : 0 as _,
8751 flags : Default::default(),
8752 depthTestEnable : 0 as _,
8753 depthWriteEnable : 0 as _,
8754 depthCompareOp : Default::default(),
8755 depthBoundsTestEnable : 0 as _,
8756 stencilTestEnable : 0 as _,
8757 front : Default::default(),
8758 back : Default::default(),
8759 minDepthBounds : 0 as _,
8760 maxDepthBounds : 0 as _,
8761 }
8762 }
8763}
8764impl ::std::default::Default for PipelineColorBlendAttachmentState {
8765 fn default() -> PipelineColorBlendAttachmentState {
8766 PipelineColorBlendAttachmentState {
8767 blendEnable : 0 as _,
8768 srcColorBlendFactor : Default::default(),
8769 dstColorBlendFactor : Default::default(),
8770 colorBlendOp : Default::default(),
8771 srcAlphaBlendFactor : Default::default(),
8772 dstAlphaBlendFactor : Default::default(),
8773 alphaBlendOp : Default::default(),
8774 colorWriteMask : Default::default(),
8775 }
8776 }
8777}
8778impl ::std::default::Default for PipelineColorBlendStateCreateInfo {
8779 fn default() -> PipelineColorBlendStateCreateInfo {
8780 PipelineColorBlendStateCreateInfo {
8781 sType : STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO,
8782 pNext : 0 as _,
8783 flags : Default::default(),
8784 logicOpEnable : 0 as _,
8785 logicOp : Default::default(),
8786 attachmentCount : 0 as _,
8787 pAttachments : 0 as _,
8788 blendConstants : [Default::default();4],
8789 }
8790 }
8791}
8792impl ::std::default::Default for PipelineDynamicStateCreateInfo {
8793 fn default() -> PipelineDynamicStateCreateInfo {
8794 PipelineDynamicStateCreateInfo {
8795 sType : STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO,
8796 pNext : 0 as _,
8797 flags : Default::default(),
8798 dynamicStateCount : 0 as _,
8799 pDynamicStates : 0 as _,
8800 }
8801 }
8802}
8803impl ::std::default::Default for GraphicsPipelineCreateInfo {
8804 fn default() -> GraphicsPipelineCreateInfo {
8805 GraphicsPipelineCreateInfo {
8806 sType : STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO,
8807 pNext : 0 as _,
8808 flags : Default::default(),
8809 stageCount : 0 as _,
8810 pStages : 0 as _,
8811 pVertexInputState : 0 as _,
8812 pInputAssemblyState : 0 as _,
8813 pTessellationState : 0 as _,
8814 pViewportState : 0 as _,
8815 pRasterizationState : 0 as _,
8816 pMultisampleState : 0 as _,
8817 pDepthStencilState : 0 as _,
8818 pColorBlendState : 0 as _,
8819 pDynamicState : 0 as _,
8820 layout : Default::default(),
8821 renderPass : Default::default(),
8822 subpass : 0 as _,
8823 basePipelineHandle : Default::default(),
8824 basePipelineIndex : 0 as _,
8825 }
8826 }
8827}
8828impl ::std::default::Default for ComputePipelineCreateInfo {
8829 fn default() -> ComputePipelineCreateInfo {
8830 ComputePipelineCreateInfo {
8831 sType : STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO,
8832 pNext : 0 as _,
8833 flags : Default::default(),
8834 stage : Default::default(),
8835 layout : Default::default(),
8836 basePipelineHandle : Default::default(),
8837 basePipelineIndex : 0 as _,
8838 }
8839 }
8840}
8841impl ::std::default::Default for PushConstantRange {
8842 fn default() -> PushConstantRange {
8843 PushConstantRange {
8844 stageFlags : Default::default(),
8845 offset : 0 as _,
8846 size : 0 as _,
8847 }
8848 }
8849}
8850impl ::std::default::Default for PipelineLayoutCreateInfo {
8851 fn default() -> PipelineLayoutCreateInfo {
8852 PipelineLayoutCreateInfo {
8853 sType : STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO,
8854 pNext : 0 as _,
8855 flags : Default::default(),
8856 setLayoutCount : 0 as _,
8857 pSetLayouts : 0 as _,
8858 pushConstantRangeCount : 0 as _,
8859 pPushConstantRanges : 0 as _,
8860 }
8861 }
8862}
8863impl ::std::default::Default for SamplerCreateInfo {
8864 fn default() -> SamplerCreateInfo {
8865 SamplerCreateInfo {
8866 sType : STRUCTURE_TYPE_SAMPLER_CREATE_INFO,
8867 pNext : 0 as _,
8868 flags : Default::default(),
8869 magFilter : Default::default(),
8870 minFilter : Default::default(),
8871 mipmapMode : Default::default(),
8872 addressModeU : Default::default(),
8873 addressModeV : Default::default(),
8874 addressModeW : Default::default(),
8875 mipLodBias : 0 as _,
8876 anisotropyEnable : 0 as _,
8877 maxAnisotropy : 0 as _,
8878 compareEnable : 0 as _,
8879 compareOp : Default::default(),
8880 minLod : 0 as _,
8881 maxLod : 0 as _,
8882 borderColor : Default::default(),
8883 unnormalizedCoordinates : 0 as _,
8884 }
8885 }
8886}
8887impl ::std::default::Default for DescriptorSetLayoutBinding {
8888 fn default() -> DescriptorSetLayoutBinding {
8889 DescriptorSetLayoutBinding {
8890 binding : 0 as _,
8891 descriptorType : Default::default(),
8892 descriptorCount : 0 as _,
8893 stageFlags : Default::default(),
8894 pImmutableSamplers : 0 as _,
8895 }
8896 }
8897}
8898impl ::std::default::Default for DescriptorSetLayoutCreateInfo {
8899 fn default() -> DescriptorSetLayoutCreateInfo {
8900 DescriptorSetLayoutCreateInfo {
8901 sType : STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO,
8902 pNext : 0 as _,
8903 flags : Default::default(),
8904 bindingCount : 0 as _,
8905 pBindings : 0 as _,
8906 }
8907 }
8908}
8909impl ::std::default::Default for DescriptorPoolSize {
8910 fn default() -> DescriptorPoolSize {
8911 DescriptorPoolSize {
8912 r#type : Default::default(),
8913 descriptorCount : 0 as _,
8914 }
8915 }
8916}
8917impl ::std::default::Default for DescriptorPoolCreateInfo {
8918 fn default() -> DescriptorPoolCreateInfo {
8919 DescriptorPoolCreateInfo {
8920 sType : STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO,
8921 pNext : 0 as _,
8922 flags : Default::default(),
8923 maxSets : 0 as _,
8924 poolSizeCount : 0 as _,
8925 pPoolSizes : 0 as _,
8926 }
8927 }
8928}
8929impl ::std::default::Default for DescriptorSetAllocateInfo {
8930 fn default() -> DescriptorSetAllocateInfo {
8931 DescriptorSetAllocateInfo {
8932 sType : STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO,
8933 pNext : 0 as _,
8934 descriptorPool : Default::default(),
8935 descriptorSetCount : 0 as _,
8936 pSetLayouts : 0 as _,
8937 }
8938 }
8939}
8940impl ::std::default::Default for DescriptorImageInfo {
8941 fn default() -> DescriptorImageInfo {
8942 DescriptorImageInfo {
8943 sampler : Default::default(),
8944 imageView : Default::default(),
8945 imageLayout : Default::default(),
8946 }
8947 }
8948}
8949impl ::std::default::Default for DescriptorBufferInfo {
8950 fn default() -> DescriptorBufferInfo {
8951 DescriptorBufferInfo {
8952 buffer : Default::default(),
8953 offset : Default::default(),
8954 range : Default::default(),
8955 }
8956 }
8957}
8958impl ::std::default::Default for WriteDescriptorSet {
8959 fn default() -> WriteDescriptorSet {
8960 WriteDescriptorSet {
8961 sType : STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET,
8962 pNext : 0 as _,
8963 dstSet : Default::default(),
8964 dstBinding : 0 as _,
8965 dstArrayElement : 0 as _,
8966 descriptorCount : 0 as _,
8967 descriptorType : Default::default(),
8968 pImageInfo : 0 as _,
8969 pBufferInfo : 0 as _,
8970 pTexelBufferView : 0 as _,
8971 }
8972 }
8973}
8974impl ::std::default::Default for CopyDescriptorSet {
8975 fn default() -> CopyDescriptorSet {
8976 CopyDescriptorSet {
8977 sType : STRUCTURE_TYPE_COPY_DESCRIPTOR_SET,
8978 pNext : 0 as _,
8979 srcSet : Default::default(),
8980 srcBinding : 0 as _,
8981 srcArrayElement : 0 as _,
8982 dstSet : Default::default(),
8983 dstBinding : 0 as _,
8984 dstArrayElement : 0 as _,
8985 descriptorCount : 0 as _,
8986 }
8987 }
8988}
8989impl ::std::default::Default for FramebufferCreateInfo {
8990 fn default() -> FramebufferCreateInfo {
8991 FramebufferCreateInfo {
8992 sType : STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO,
8993 pNext : 0 as _,
8994 flags : Default::default(),
8995 renderPass : Default::default(),
8996 attachmentCount : 0 as _,
8997 pAttachments : 0 as _,
8998 width : 0 as _,
8999 height : 0 as _,
9000 layers : 0 as _,
9001 }
9002 }
9003}
9004impl ::std::default::Default for AttachmentDescription {
9005 fn default() -> AttachmentDescription {
9006 AttachmentDescription {
9007 flags : Default::default(),
9008 format : Default::default(),
9009 samples : Default::default(),
9010 loadOp : Default::default(),
9011 storeOp : Default::default(),
9012 stencilLoadOp : Default::default(),
9013 stencilStoreOp : Default::default(),
9014 initialLayout : Default::default(),
9015 finalLayout : Default::default(),
9016 }
9017 }
9018}
9019impl ::std::default::Default for AttachmentReference {
9020 fn default() -> AttachmentReference {
9021 AttachmentReference {
9022 attachment : 0 as _,
9023 layout : Default::default(),
9024 }
9025 }
9026}
9027impl ::std::default::Default for SubpassDescription {
9028 fn default() -> SubpassDescription {
9029 SubpassDescription {
9030 flags : Default::default(),
9031 pipelineBindPoint : Default::default(),
9032 inputAttachmentCount : 0 as _,
9033 pInputAttachments : 0 as _,
9034 colorAttachmentCount : 0 as _,
9035 pColorAttachments : 0 as _,
9036 pResolveAttachments : 0 as _,
9037 pDepthStencilAttachment : 0 as _,
9038 preserveAttachmentCount : 0 as _,
9039 pPreserveAttachments : 0 as _,
9040 }
9041 }
9042}
9043impl ::std::default::Default for SubpassDependency {
9044 fn default() -> SubpassDependency {
9045 SubpassDependency {
9046 srcSubpass : 0 as _,
9047 dstSubpass : 0 as _,
9048 srcStageMask : Default::default(),
9049 dstStageMask : Default::default(),
9050 srcAccessMask : Default::default(),
9051 dstAccessMask : Default::default(),
9052 dependencyFlags : Default::default(),
9053 }
9054 }
9055}
9056impl ::std::default::Default for RenderPassCreateInfo {
9057 fn default() -> RenderPassCreateInfo {
9058 RenderPassCreateInfo {
9059 sType : STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO,
9060 pNext : 0 as _,
9061 flags : Default::default(),
9062 attachmentCount : 0 as _,
9063 pAttachments : 0 as _,
9064 subpassCount : 0 as _,
9065 pSubpasses : 0 as _,
9066 dependencyCount : 0 as _,
9067 pDependencies : 0 as _,
9068 }
9069 }
9070}
9071impl ::std::default::Default for CommandPoolCreateInfo {
9072 fn default() -> CommandPoolCreateInfo {
9073 CommandPoolCreateInfo {
9074 sType : STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,
9075 pNext : 0 as _,
9076 flags : Default::default(),
9077 queueFamilyIndex : 0 as _,
9078 }
9079 }
9080}
9081impl ::std::default::Default for CommandBufferAllocateInfo {
9082 fn default() -> CommandBufferAllocateInfo {
9083 CommandBufferAllocateInfo {
9084 sType : STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,
9085 pNext : 0 as _,
9086 commandPool : Default::default(),
9087 level : Default::default(),
9088 commandBufferCount : 0 as _,
9089 }
9090 }
9091}
9092impl ::std::default::Default for CommandBufferInheritanceInfo {
9093 fn default() -> CommandBufferInheritanceInfo {
9094 CommandBufferInheritanceInfo {
9095 sType : STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO,
9096 pNext : 0 as _,
9097 renderPass : Default::default(),
9098 subpass : 0 as _,
9099 framebuffer : Default::default(),
9100 occlusionQueryEnable : 0 as _,
9101 queryFlags : Default::default(),
9102 pipelineStatistics : Default::default(),
9103 }
9104 }
9105}
9106impl ::std::default::Default for CommandBufferBeginInfo {
9107 fn default() -> CommandBufferBeginInfo {
9108 CommandBufferBeginInfo {
9109 sType : STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO,
9110 pNext : 0 as _,
9111 flags : Default::default(),
9112 pInheritanceInfo : 0 as _,
9113 }
9114 }
9115}
9116impl ::std::default::Default for BufferCopy {
9117 fn default() -> BufferCopy {
9118 BufferCopy {
9119 srcOffset : Default::default(),
9120 dstOffset : Default::default(),
9121 size : Default::default(),
9122 }
9123 }
9124}
9125impl ::std::default::Default for ImageSubresourceLayers {
9126 fn default() -> ImageSubresourceLayers {
9127 ImageSubresourceLayers {
9128 aspectMask : Default::default(),
9129 mipLevel : 0 as _,
9130 baseArrayLayer : 0 as _,
9131 layerCount : 0 as _,
9132 }
9133 }
9134}
9135impl ::std::default::Default for ImageCopy {
9136 fn default() -> ImageCopy {
9137 ImageCopy {
9138 srcSubresource : Default::default(),
9139 srcOffset : Default::default(),
9140 dstSubresource : Default::default(),
9141 dstOffset : Default::default(),
9142 extent : Default::default(),
9143 }
9144 }
9145}
9146impl ::std::default::Default for ImageBlit {
9147 fn default() -> ImageBlit {
9148 ImageBlit {
9149 srcSubresource : Default::default(),
9150 srcOffsets : [Default::default();2],
9151 dstSubresource : Default::default(),
9152 dstOffsets : [Default::default();2],
9153 }
9154 }
9155}
9156impl ::std::default::Default for BufferImageCopy {
9157 fn default() -> BufferImageCopy {
9158 BufferImageCopy {
9159 bufferOffset : Default::default(),
9160 bufferRowLength : 0 as _,
9161 bufferImageHeight : 0 as _,
9162 imageSubresource : Default::default(),
9163 imageOffset : Default::default(),
9164 imageExtent : Default::default(),
9165 }
9166 }
9167}
9168impl ::std::default::Default for ClearDepthStencilValue {
9169 fn default() -> ClearDepthStencilValue {
9170 ClearDepthStencilValue {
9171 depth : 0 as _,
9172 stencil : 0 as _,
9173 }
9174 }
9175}
9176impl ::std::default::Default for ClearAttachment {
9177 fn default() -> ClearAttachment {
9178 ClearAttachment {
9179 aspectMask : Default::default(),
9180 colorAttachment : 0 as _,
9181 clearValue : Default::default(),
9182 }
9183 }
9184}
9185impl ::std::default::Default for ClearRect {
9186 fn default() -> ClearRect {
9187 ClearRect {
9188 rect : Default::default(),
9189 baseArrayLayer : 0 as _,
9190 layerCount : 0 as _,
9191 }
9192 }
9193}
9194impl ::std::default::Default for ImageResolve {
9195 fn default() -> ImageResolve {
9196 ImageResolve {
9197 srcSubresource : Default::default(),
9198 srcOffset : Default::default(),
9199 dstSubresource : Default::default(),
9200 dstOffset : Default::default(),
9201 extent : Default::default(),
9202 }
9203 }
9204}
9205impl ::std::default::Default for MemoryBarrier {
9206 fn default() -> MemoryBarrier {
9207 MemoryBarrier {
9208 sType : STRUCTURE_TYPE_MEMORY_BARRIER,
9209 pNext : 0 as _,
9210 srcAccessMask : Default::default(),
9211 dstAccessMask : Default::default(),
9212 }
9213 }
9214}
9215impl ::std::default::Default for BufferMemoryBarrier {
9216 fn default() -> BufferMemoryBarrier {
9217 BufferMemoryBarrier {
9218 sType : STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER,
9219 pNext : 0 as _,
9220 srcAccessMask : Default::default(),
9221 dstAccessMask : Default::default(),
9222 srcQueueFamilyIndex : 0 as _,
9223 dstQueueFamilyIndex : 0 as _,
9224 buffer : Default::default(),
9225 offset : Default::default(),
9226 size : Default::default(),
9227 }
9228 }
9229}
9230impl ::std::default::Default for ImageMemoryBarrier {
9231 fn default() -> ImageMemoryBarrier {
9232 ImageMemoryBarrier {
9233 sType : STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER,
9234 pNext : 0 as _,
9235 srcAccessMask : Default::default(),
9236 dstAccessMask : Default::default(),
9237 oldLayout : Default::default(),
9238 newLayout : Default::default(),
9239 srcQueueFamilyIndex : 0 as _,
9240 dstQueueFamilyIndex : 0 as _,
9241 image : Default::default(),
9242 subresourceRange : Default::default(),
9243 }
9244 }
9245}
9246impl ::std::default::Default for RenderPassBeginInfo {
9247 fn default() -> RenderPassBeginInfo {
9248 RenderPassBeginInfo {
9249 sType : STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO,
9250 pNext : 0 as _,
9251 renderPass : Default::default(),
9252 framebuffer : Default::default(),
9253 renderArea : Default::default(),
9254 clearValueCount : 0 as _,
9255 pClearValues : 0 as _,
9256 }
9257 }
9258}
9259impl ::std::default::Default for DispatchIndirectCommand {
9260 fn default() -> DispatchIndirectCommand {
9261 DispatchIndirectCommand {
9262 x : 0 as _,
9263 y : 0 as _,
9264 z : 0 as _,
9265 }
9266 }
9267}
9268impl ::std::default::Default for DrawIndexedIndirectCommand {
9269 fn default() -> DrawIndexedIndirectCommand {
9270 DrawIndexedIndirectCommand {
9271 indexCount : 0 as _,
9272 instanceCount : 0 as _,
9273 firstIndex : 0 as _,
9274 vertexOffset : 0 as _,
9275 firstInstance : 0 as _,
9276 }
9277 }
9278}
9279impl ::std::default::Default for DrawIndirectCommand {
9280 fn default() -> DrawIndirectCommand {
9281 DrawIndirectCommand {
9282 vertexCount : 0 as _,
9283 instanceCount : 0 as _,
9284 firstVertex : 0 as _,
9285 firstInstance : 0 as _,
9286 }
9287 }
9288}
9289impl ::std::default::Default for PhysicalDeviceSubgroupProperties {
9290 fn default() -> PhysicalDeviceSubgroupProperties {
9291 PhysicalDeviceSubgroupProperties {
9292 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES,
9293 pNext : 0 as _,
9294 subgroupSize : 0 as _,
9295 supportedStages : Default::default(),
9296 supportedOperations : Default::default(),
9297 quadOperationsInAllStages : 0 as _,
9298 }
9299 }
9300}
9301impl ::std::default::Default for BindBufferMemoryInfo {
9302 fn default() -> BindBufferMemoryInfo {
9303 BindBufferMemoryInfo {
9304 sType : STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,
9305 pNext : 0 as _,
9306 buffer : Default::default(),
9307 memory : Default::default(),
9308 memoryOffset : Default::default(),
9309 }
9310 }
9311}
9312impl ::std::default::Default for BindImageMemoryInfo {
9313 fn default() -> BindImageMemoryInfo {
9314 BindImageMemoryInfo {
9315 sType : STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO,
9316 pNext : 0 as _,
9317 image : Default::default(),
9318 memory : Default::default(),
9319 memoryOffset : Default::default(),
9320 }
9321 }
9322}
9323impl ::std::default::Default for PhysicalDevice16BitStorageFeatures {
9324 fn default() -> PhysicalDevice16BitStorageFeatures {
9325 PhysicalDevice16BitStorageFeatures {
9326 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
9327 pNext : 0 as _,
9328 storageBuffer16BitAccess : 0 as _,
9329 uniformAndStorageBuffer16BitAccess : 0 as _,
9330 storagePushConstant16 : 0 as _,
9331 storageInputOutput16 : 0 as _,
9332 }
9333 }
9334}
9335impl ::std::default::Default for MemoryDedicatedRequirements {
9336 fn default() -> MemoryDedicatedRequirements {
9337 MemoryDedicatedRequirements {
9338 sType : STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS,
9339 pNext : 0 as _,
9340 prefersDedicatedAllocation : 0 as _,
9341 requiresDedicatedAllocation : 0 as _,
9342 }
9343 }
9344}
9345impl ::std::default::Default for MemoryDedicatedAllocateInfo {
9346 fn default() -> MemoryDedicatedAllocateInfo {
9347 MemoryDedicatedAllocateInfo {
9348 sType : STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,
9349 pNext : 0 as _,
9350 image : Default::default(),
9351 buffer : Default::default(),
9352 }
9353 }
9354}
9355impl ::std::default::Default for MemoryAllocateFlagsInfo {
9356 fn default() -> MemoryAllocateFlagsInfo {
9357 MemoryAllocateFlagsInfo {
9358 sType : STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO,
9359 pNext : 0 as _,
9360 flags : Default::default(),
9361 deviceMask : 0 as _,
9362 }
9363 }
9364}
9365impl ::std::default::Default for DeviceGroupRenderPassBeginInfo {
9366 fn default() -> DeviceGroupRenderPassBeginInfo {
9367 DeviceGroupRenderPassBeginInfo {
9368 sType : STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
9369 pNext : 0 as _,
9370 deviceMask : 0 as _,
9371 deviceRenderAreaCount : 0 as _,
9372 pDeviceRenderAreas : 0 as _,
9373 }
9374 }
9375}
9376impl ::std::default::Default for DeviceGroupCommandBufferBeginInfo {
9377 fn default() -> DeviceGroupCommandBufferBeginInfo {
9378 DeviceGroupCommandBufferBeginInfo {
9379 sType : STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
9380 pNext : 0 as _,
9381 deviceMask : 0 as _,
9382 }
9383 }
9384}
9385impl ::std::default::Default for DeviceGroupSubmitInfo {
9386 fn default() -> DeviceGroupSubmitInfo {
9387 DeviceGroupSubmitInfo {
9388 sType : STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO,
9389 pNext : 0 as _,
9390 waitSemaphoreCount : 0 as _,
9391 pWaitSemaphoreDeviceIndices : 0 as _,
9392 commandBufferCount : 0 as _,
9393 pCommandBufferDeviceMasks : 0 as _,
9394 signalSemaphoreCount : 0 as _,
9395 pSignalSemaphoreDeviceIndices : 0 as _,
9396 }
9397 }
9398}
9399impl ::std::default::Default for DeviceGroupBindSparseInfo {
9400 fn default() -> DeviceGroupBindSparseInfo {
9401 DeviceGroupBindSparseInfo {
9402 sType : STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO,
9403 pNext : 0 as _,
9404 resourceDeviceIndex : 0 as _,
9405 memoryDeviceIndex : 0 as _,
9406 }
9407 }
9408}
9409impl ::std::default::Default for BindBufferMemoryDeviceGroupInfo {
9410 fn default() -> BindBufferMemoryDeviceGroupInfo {
9411 BindBufferMemoryDeviceGroupInfo {
9412 sType : STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,
9413 pNext : 0 as _,
9414 deviceIndexCount : 0 as _,
9415 pDeviceIndices : 0 as _,
9416 }
9417 }
9418}
9419impl ::std::default::Default for BindImageMemoryDeviceGroupInfo {
9420 fn default() -> BindImageMemoryDeviceGroupInfo {
9421 BindImageMemoryDeviceGroupInfo {
9422 sType : STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,
9423 pNext : 0 as _,
9424 deviceIndexCount : 0 as _,
9425 pDeviceIndices : 0 as _,
9426 splitInstanceBindRegionCount : 0 as _,
9427 pSplitInstanceBindRegions : 0 as _,
9428 }
9429 }
9430}
9431impl ::std::default::Default for PhysicalDeviceGroupProperties {
9432 fn default() -> PhysicalDeviceGroupProperties {
9433 PhysicalDeviceGroupProperties {
9434 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES,
9435 pNext : 0 as _,
9436 physicalDeviceCount : 0 as _,
9437 physicalDevices : [Default::default();MAX_DEVICE_GROUP_SIZE],
9438 subsetAllocation : 0 as _,
9439 }
9440 }
9441}
9442impl ::std::default::Default for DeviceGroupDeviceCreateInfo {
9443 fn default() -> DeviceGroupDeviceCreateInfo {
9444 DeviceGroupDeviceCreateInfo {
9445 sType : STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO,
9446 pNext : 0 as _,
9447 physicalDeviceCount : 0 as _,
9448 pPhysicalDevices : 0 as _,
9449 }
9450 }
9451}
9452impl ::std::default::Default for BufferMemoryRequirementsInfo2 {
9453 fn default() -> BufferMemoryRequirementsInfo2 {
9454 BufferMemoryRequirementsInfo2 {
9455 sType : STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,
9456 pNext : 0 as _,
9457 buffer : Default::default(),
9458 }
9459 }
9460}
9461impl ::std::default::Default for ImageMemoryRequirementsInfo2 {
9462 fn default() -> ImageMemoryRequirementsInfo2 {
9463 ImageMemoryRequirementsInfo2 {
9464 sType : STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,
9465 pNext : 0 as _,
9466 image : Default::default(),
9467 }
9468 }
9469}
9470impl ::std::default::Default for ImageSparseMemoryRequirementsInfo2 {
9471 fn default() -> ImageSparseMemoryRequirementsInfo2 {
9472 ImageSparseMemoryRequirementsInfo2 {
9473 sType : STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
9474 pNext : 0 as _,
9475 image : Default::default(),
9476 }
9477 }
9478}
9479impl ::std::default::Default for MemoryRequirements2 {
9480 fn default() -> MemoryRequirements2 {
9481 MemoryRequirements2 {
9482 sType : STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,
9483 pNext : 0 as _,
9484 memoryRequirements : Default::default(),
9485 }
9486 }
9487}
9488impl ::std::default::Default for SparseImageMemoryRequirements2 {
9489 fn default() -> SparseImageMemoryRequirements2 {
9490 SparseImageMemoryRequirements2 {
9491 sType : STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
9492 pNext : 0 as _,
9493 memoryRequirements : Default::default(),
9494 }
9495 }
9496}
9497impl ::std::default::Default for PhysicalDeviceFeatures2 {
9498 fn default() -> PhysicalDeviceFeatures2 {
9499 PhysicalDeviceFeatures2 {
9500 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,
9501 pNext : 0 as _,
9502 features : Default::default(),
9503 }
9504 }
9505}
9506impl ::std::default::Default for PhysicalDeviceProperties2 {
9507 fn default() -> PhysicalDeviceProperties2 {
9508 PhysicalDeviceProperties2 {
9509 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,
9510 pNext : 0 as _,
9511 properties : Default::default(),
9512 }
9513 }
9514}
9515impl ::std::default::Default for FormatProperties2 {
9516 fn default() -> FormatProperties2 {
9517 FormatProperties2 {
9518 sType : STRUCTURE_TYPE_FORMAT_PROPERTIES_2,
9519 pNext : 0 as _,
9520 formatProperties : Default::default(),
9521 }
9522 }
9523}
9524impl ::std::default::Default for ImageFormatProperties2 {
9525 fn default() -> ImageFormatProperties2 {
9526 ImageFormatProperties2 {
9527 sType : STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2,
9528 pNext : 0 as _,
9529 imageFormatProperties : Default::default(),
9530 }
9531 }
9532}
9533impl ::std::default::Default for PhysicalDeviceImageFormatInfo2 {
9534 fn default() -> PhysicalDeviceImageFormatInfo2 {
9535 PhysicalDeviceImageFormatInfo2 {
9536 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
9537 pNext : 0 as _,
9538 format : Default::default(),
9539 r#type : Default::default(),
9540 tiling : Default::default(),
9541 usage : Default::default(),
9542 flags : Default::default(),
9543 }
9544 }
9545}
9546impl ::std::default::Default for QueueFamilyProperties2 {
9547 fn default() -> QueueFamilyProperties2 {
9548 QueueFamilyProperties2 {
9549 sType : STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2,
9550 pNext : 0 as _,
9551 queueFamilyProperties : Default::default(),
9552 }
9553 }
9554}
9555impl ::std::default::Default for PhysicalDeviceMemoryProperties2 {
9556 fn default() -> PhysicalDeviceMemoryProperties2 {
9557 PhysicalDeviceMemoryProperties2 {
9558 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
9559 pNext : 0 as _,
9560 memoryProperties : Default::default(),
9561 }
9562 }
9563}
9564impl ::std::default::Default for SparseImageFormatProperties2 {
9565 fn default() -> SparseImageFormatProperties2 {
9566 SparseImageFormatProperties2 {
9567 sType : STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2,
9568 pNext : 0 as _,
9569 properties : Default::default(),
9570 }
9571 }
9572}
9573impl ::std::default::Default for PhysicalDeviceSparseImageFormatInfo2 {
9574 fn default() -> PhysicalDeviceSparseImageFormatInfo2 {
9575 PhysicalDeviceSparseImageFormatInfo2 {
9576 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
9577 pNext : 0 as _,
9578 format : Default::default(),
9579 r#type : Default::default(),
9580 samples : Default::default(),
9581 usage : Default::default(),
9582 tiling : Default::default(),
9583 }
9584 }
9585}
9586impl ::std::default::Default for PhysicalDevicePointClippingProperties {
9587 fn default() -> PhysicalDevicePointClippingProperties {
9588 PhysicalDevicePointClippingProperties {
9589 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
9590 pNext : 0 as _,
9591 pointClippingBehavior : Default::default(),
9592 }
9593 }
9594}
9595impl ::std::default::Default for InputAttachmentAspectReference {
9596 fn default() -> InputAttachmentAspectReference {
9597 InputAttachmentAspectReference {
9598 subpass : 0 as _,
9599 inputAttachmentIndex : 0 as _,
9600 aspectMask : Default::default(),
9601 }
9602 }
9603}
9604impl ::std::default::Default for RenderPassInputAttachmentAspectCreateInfo {
9605 fn default() -> RenderPassInputAttachmentAspectCreateInfo {
9606 RenderPassInputAttachmentAspectCreateInfo {
9607 sType : STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
9608 pNext : 0 as _,
9609 aspectReferenceCount : 0 as _,
9610 pAspectReferences : 0 as _,
9611 }
9612 }
9613}
9614impl ::std::default::Default for ImageViewUsageCreateInfo {
9615 fn default() -> ImageViewUsageCreateInfo {
9616 ImageViewUsageCreateInfo {
9617 sType : STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,
9618 pNext : 0 as _,
9619 usage : Default::default(),
9620 }
9621 }
9622}
9623impl ::std::default::Default for PipelineTessellationDomainOriginStateCreateInfo {
9624 fn default() -> PipelineTessellationDomainOriginStateCreateInfo {
9625 PipelineTessellationDomainOriginStateCreateInfo {
9626 sType : STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
9627 pNext : 0 as _,
9628 domainOrigin : Default::default(),
9629 }
9630 }
9631}
9632impl ::std::default::Default for RenderPassMultiviewCreateInfo {
9633 fn default() -> RenderPassMultiviewCreateInfo {
9634 RenderPassMultiviewCreateInfo {
9635 sType : STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
9636 pNext : 0 as _,
9637 subpassCount : 0 as _,
9638 pViewMasks : 0 as _,
9639 dependencyCount : 0 as _,
9640 pViewOffsets : 0 as _,
9641 correlationMaskCount : 0 as _,
9642 pCorrelationMasks : 0 as _,
9643 }
9644 }
9645}
9646impl ::std::default::Default for PhysicalDeviceMultiviewFeatures {
9647 fn default() -> PhysicalDeviceMultiviewFeatures {
9648 PhysicalDeviceMultiviewFeatures {
9649 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
9650 pNext : 0 as _,
9651 multiview : 0 as _,
9652 multiviewGeometryShader : 0 as _,
9653 multiviewTessellationShader : 0 as _,
9654 }
9655 }
9656}
9657impl ::std::default::Default for PhysicalDeviceMultiviewProperties {
9658 fn default() -> PhysicalDeviceMultiviewProperties {
9659 PhysicalDeviceMultiviewProperties {
9660 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
9661 pNext : 0 as _,
9662 maxMultiviewViewCount : 0 as _,
9663 maxMultiviewInstanceIndex : 0 as _,
9664 }
9665 }
9666}
9667impl ::std::default::Default for PhysicalDeviceVariablePointersFeatures {
9668 fn default() -> PhysicalDeviceVariablePointersFeatures {
9669 PhysicalDeviceVariablePointersFeatures {
9670 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
9671 pNext : 0 as _,
9672 variablePointersStorageBuffer : 0 as _,
9673 variablePointers : 0 as _,
9674 }
9675 }
9676}
9677impl ::std::default::Default for PhysicalDeviceProtectedMemoryFeatures {
9678 fn default() -> PhysicalDeviceProtectedMemoryFeatures {
9679 PhysicalDeviceProtectedMemoryFeatures {
9680 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES,
9681 pNext : 0 as _,
9682 protectedMemory : 0 as _,
9683 }
9684 }
9685}
9686impl ::std::default::Default for PhysicalDeviceProtectedMemoryProperties {
9687 fn default() -> PhysicalDeviceProtectedMemoryProperties {
9688 PhysicalDeviceProtectedMemoryProperties {
9689 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES,
9690 pNext : 0 as _,
9691 protectedNoFault : 0 as _,
9692 }
9693 }
9694}
9695impl ::std::default::Default for DeviceQueueInfo2 {
9696 fn default() -> DeviceQueueInfo2 {
9697 DeviceQueueInfo2 {
9698 sType : STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2,
9699 pNext : 0 as _,
9700 flags : Default::default(),
9701 queueFamilyIndex : 0 as _,
9702 queueIndex : 0 as _,
9703 }
9704 }
9705}
9706impl ::std::default::Default for ProtectedSubmitInfo {
9707 fn default() -> ProtectedSubmitInfo {
9708 ProtectedSubmitInfo {
9709 sType : STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO,
9710 pNext : 0 as _,
9711 protectedSubmit : 0 as _,
9712 }
9713 }
9714}
9715impl ::std::default::Default for SamplerYcbcrConversionCreateInfo {
9716 fn default() -> SamplerYcbcrConversionCreateInfo {
9717 SamplerYcbcrConversionCreateInfo {
9718 sType : STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
9719 pNext : 0 as _,
9720 format : Default::default(),
9721 ycbcrModel : Default::default(),
9722 ycbcrRange : Default::default(),
9723 components : Default::default(),
9724 xChromaOffset : Default::default(),
9725 yChromaOffset : Default::default(),
9726 chromaFilter : Default::default(),
9727 forceExplicitReconstruction : 0 as _,
9728 }
9729 }
9730}
9731impl ::std::default::Default for SamplerYcbcrConversionInfo {
9732 fn default() -> SamplerYcbcrConversionInfo {
9733 SamplerYcbcrConversionInfo {
9734 sType : STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO,
9735 pNext : 0 as _,
9736 conversion : Default::default(),
9737 }
9738 }
9739}
9740impl ::std::default::Default for BindImagePlaneMemoryInfo {
9741 fn default() -> BindImagePlaneMemoryInfo {
9742 BindImagePlaneMemoryInfo {
9743 sType : STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,
9744 pNext : 0 as _,
9745 planeAspect : Default::default(),
9746 }
9747 }
9748}
9749impl ::std::default::Default for ImagePlaneMemoryRequirementsInfo {
9750 fn default() -> ImagePlaneMemoryRequirementsInfo {
9751 ImagePlaneMemoryRequirementsInfo {
9752 sType : STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
9753 pNext : 0 as _,
9754 planeAspect : Default::default(),
9755 }
9756 }
9757}
9758impl ::std::default::Default for PhysicalDeviceSamplerYcbcrConversionFeatures {
9759 fn default() -> PhysicalDeviceSamplerYcbcrConversionFeatures {
9760 PhysicalDeviceSamplerYcbcrConversionFeatures {
9761 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
9762 pNext : 0 as _,
9763 samplerYcbcrConversion : 0 as _,
9764 }
9765 }
9766}
9767impl ::std::default::Default for SamplerYcbcrConversionImageFormatProperties {
9768 fn default() -> SamplerYcbcrConversionImageFormatProperties {
9769 SamplerYcbcrConversionImageFormatProperties {
9770 sType : STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
9771 pNext : 0 as _,
9772 combinedImageSamplerDescriptorCount : 0 as _,
9773 }
9774 }
9775}
9776impl ::std::default::Default for DescriptorUpdateTemplateEntry {
9777 fn default() -> DescriptorUpdateTemplateEntry {
9778 DescriptorUpdateTemplateEntry {
9779 dstBinding : 0 as _,
9780 dstArrayElement : 0 as _,
9781 descriptorCount : 0 as _,
9782 descriptorType : Default::default(),
9783 offset : Default::default(),
9784 stride : Default::default(),
9785 }
9786 }
9787}
9788impl ::std::default::Default for DescriptorUpdateTemplateCreateInfo {
9789 fn default() -> DescriptorUpdateTemplateCreateInfo {
9790 DescriptorUpdateTemplateCreateInfo {
9791 sType : STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
9792 pNext : 0 as _,
9793 flags : Default::default(),
9794 descriptorUpdateEntryCount : 0 as _,
9795 pDescriptorUpdateEntries : 0 as _,
9796 templateType : Default::default(),
9797 descriptorSetLayout : Default::default(),
9798 pipelineBindPoint : Default::default(),
9799 pipelineLayout : Default::default(),
9800 set : 0 as _,
9801 }
9802 }
9803}
9804impl ::std::default::Default for ExternalMemoryProperties {
9805 fn default() -> ExternalMemoryProperties {
9806 ExternalMemoryProperties {
9807 externalMemoryFeatures : Default::default(),
9808 exportFromImportedHandleTypes : Default::default(),
9809 compatibleHandleTypes : Default::default(),
9810 }
9811 }
9812}
9813impl ::std::default::Default for PhysicalDeviceExternalImageFormatInfo {
9814 fn default() -> PhysicalDeviceExternalImageFormatInfo {
9815 PhysicalDeviceExternalImageFormatInfo {
9816 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
9817 pNext : 0 as _,
9818 handleType : Default::default(),
9819 }
9820 }
9821}
9822impl ::std::default::Default for ExternalImageFormatProperties {
9823 fn default() -> ExternalImageFormatProperties {
9824 ExternalImageFormatProperties {
9825 sType : STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES,
9826 pNext : 0 as _,
9827 externalMemoryProperties : Default::default(),
9828 }
9829 }
9830}
9831impl ::std::default::Default for PhysicalDeviceExternalBufferInfo {
9832 fn default() -> PhysicalDeviceExternalBufferInfo {
9833 PhysicalDeviceExternalBufferInfo {
9834 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
9835 pNext : 0 as _,
9836 flags : Default::default(),
9837 usage : Default::default(),
9838 handleType : Default::default(),
9839 }
9840 }
9841}
9842impl ::std::default::Default for ExternalBufferProperties {
9843 fn default() -> ExternalBufferProperties {
9844 ExternalBufferProperties {
9845 sType : STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES,
9846 pNext : 0 as _,
9847 externalMemoryProperties : Default::default(),
9848 }
9849 }
9850}
9851impl ::std::default::Default for PhysicalDeviceIDProperties {
9852 fn default() -> PhysicalDeviceIDProperties {
9853 PhysicalDeviceIDProperties {
9854 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES,
9855 pNext : 0 as _,
9856 deviceUUID : [Default::default();UUID_SIZE],
9857 driverUUID : [Default::default();UUID_SIZE],
9858 deviceLUID : [Default::default();LUID_SIZE],
9859 deviceNodeMask : 0 as _,
9860 deviceLUIDValid : 0 as _,
9861 }
9862 }
9863}
9864impl ::std::default::Default for ExternalMemoryImageCreateInfo {
9865 fn default() -> ExternalMemoryImageCreateInfo {
9866 ExternalMemoryImageCreateInfo {
9867 sType : STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
9868 pNext : 0 as _,
9869 handleTypes : Default::default(),
9870 }
9871 }
9872}
9873impl ::std::default::Default for ExternalMemoryBufferCreateInfo {
9874 fn default() -> ExternalMemoryBufferCreateInfo {
9875 ExternalMemoryBufferCreateInfo {
9876 sType : STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
9877 pNext : 0 as _,
9878 handleTypes : Default::default(),
9879 }
9880 }
9881}
9882impl ::std::default::Default for ExportMemoryAllocateInfo {
9883 fn default() -> ExportMemoryAllocateInfo {
9884 ExportMemoryAllocateInfo {
9885 sType : STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO,
9886 pNext : 0 as _,
9887 handleTypes : Default::default(),
9888 }
9889 }
9890}
9891impl ::std::default::Default for PhysicalDeviceExternalFenceInfo {
9892 fn default() -> PhysicalDeviceExternalFenceInfo {
9893 PhysicalDeviceExternalFenceInfo {
9894 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
9895 pNext : 0 as _,
9896 handleType : Default::default(),
9897 }
9898 }
9899}
9900impl ::std::default::Default for ExternalFenceProperties {
9901 fn default() -> ExternalFenceProperties {
9902 ExternalFenceProperties {
9903 sType : STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,
9904 pNext : 0 as _,
9905 exportFromImportedHandleTypes : Default::default(),
9906 compatibleHandleTypes : Default::default(),
9907 externalFenceFeatures : Default::default(),
9908 }
9909 }
9910}
9911impl ::std::default::Default for ExportFenceCreateInfo {
9912 fn default() -> ExportFenceCreateInfo {
9913 ExportFenceCreateInfo {
9914 sType : STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,
9915 pNext : 0 as _,
9916 handleTypes : Default::default(),
9917 }
9918 }
9919}
9920impl ::std::default::Default for ExportSemaphoreCreateInfo {
9921 fn default() -> ExportSemaphoreCreateInfo {
9922 ExportSemaphoreCreateInfo {
9923 sType : STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO,
9924 pNext : 0 as _,
9925 handleTypes : Default::default(),
9926 }
9927 }
9928}
9929impl ::std::default::Default for PhysicalDeviceExternalSemaphoreInfo {
9930 fn default() -> PhysicalDeviceExternalSemaphoreInfo {
9931 PhysicalDeviceExternalSemaphoreInfo {
9932 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
9933 pNext : 0 as _,
9934 handleType : Default::default(),
9935 }
9936 }
9937}
9938impl ::std::default::Default for ExternalSemaphoreProperties {
9939 fn default() -> ExternalSemaphoreProperties {
9940 ExternalSemaphoreProperties {
9941 sType : STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,
9942 pNext : 0 as _,
9943 exportFromImportedHandleTypes : Default::default(),
9944 compatibleHandleTypes : Default::default(),
9945 externalSemaphoreFeatures : Default::default(),
9946 }
9947 }
9948}
9949impl ::std::default::Default for PhysicalDeviceMaintenance3Properties {
9950 fn default() -> PhysicalDeviceMaintenance3Properties {
9951 PhysicalDeviceMaintenance3Properties {
9952 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
9953 pNext : 0 as _,
9954 maxPerSetDescriptors : 0 as _,
9955 maxMemoryAllocationSize : Default::default(),
9956 }
9957 }
9958}
9959impl ::std::default::Default for DescriptorSetLayoutSupport {
9960 fn default() -> DescriptorSetLayoutSupport {
9961 DescriptorSetLayoutSupport {
9962 sType : STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,
9963 pNext : 0 as _,
9964 supported : 0 as _,
9965 }
9966 }
9967}
9968impl ::std::default::Default for PhysicalDeviceShaderDrawParametersFeatures {
9969 fn default() -> PhysicalDeviceShaderDrawParametersFeatures {
9970 PhysicalDeviceShaderDrawParametersFeatures {
9971 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
9972 pNext : 0 as _,
9973 shaderDrawParameters : 0 as _,
9974 }
9975 }
9976}
9977impl ::std::default::Default for PhysicalDeviceVulkan11Features {
9978 fn default() -> PhysicalDeviceVulkan11Features {
9979 PhysicalDeviceVulkan11Features {
9980 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES,
9981 pNext : 0 as _,
9982 storageBuffer16BitAccess : 0 as _,
9983 uniformAndStorageBuffer16BitAccess : 0 as _,
9984 storagePushConstant16 : 0 as _,
9985 storageInputOutput16 : 0 as _,
9986 multiview : 0 as _,
9987 multiviewGeometryShader : 0 as _,
9988 multiviewTessellationShader : 0 as _,
9989 variablePointersStorageBuffer : 0 as _,
9990 variablePointers : 0 as _,
9991 protectedMemory : 0 as _,
9992 samplerYcbcrConversion : 0 as _,
9993 shaderDrawParameters : 0 as _,
9994 }
9995 }
9996}
9997impl ::std::default::Default for PhysicalDeviceVulkan11Properties {
9998 fn default() -> PhysicalDeviceVulkan11Properties {
9999 PhysicalDeviceVulkan11Properties {
10000 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES,
10001 pNext : 0 as _,
10002 deviceUUID : [Default::default();UUID_SIZE],
10003 driverUUID : [Default::default();UUID_SIZE],
10004 deviceLUID : [Default::default();LUID_SIZE],
10005 deviceNodeMask : 0 as _,
10006 deviceLUIDValid : 0 as _,
10007 subgroupSize : 0 as _,
10008 subgroupSupportedStages : Default::default(),
10009 subgroupSupportedOperations : Default::default(),
10010 subgroupQuadOperationsInAllStages : 0 as _,
10011 pointClippingBehavior : Default::default(),
10012 maxMultiviewViewCount : 0 as _,
10013 maxMultiviewInstanceIndex : 0 as _,
10014 protectedNoFault : 0 as _,
10015 maxPerSetDescriptors : 0 as _,
10016 maxMemoryAllocationSize : Default::default(),
10017 }
10018 }
10019}
10020impl ::std::default::Default for PhysicalDeviceVulkan12Features {
10021 fn default() -> PhysicalDeviceVulkan12Features {
10022 PhysicalDeviceVulkan12Features {
10023 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES,
10024 pNext : 0 as _,
10025 samplerMirrorClampToEdge : 0 as _,
10026 drawIndirectCount : 0 as _,
10027 storageBuffer8BitAccess : 0 as _,
10028 uniformAndStorageBuffer8BitAccess : 0 as _,
10029 storagePushConstant8 : 0 as _,
10030 shaderBufferInt64Atomics : 0 as _,
10031 shaderSharedInt64Atomics : 0 as _,
10032 shaderFloat16 : 0 as _,
10033 shaderInt8 : 0 as _,
10034 descriptorIndexing : 0 as _,
10035 shaderInputAttachmentArrayDynamicIndexing : 0 as _,
10036 shaderUniformTexelBufferArrayDynamicIndexing : 0 as _,
10037 shaderStorageTexelBufferArrayDynamicIndexing : 0 as _,
10038 shaderUniformBufferArrayNonUniformIndexing : 0 as _,
10039 shaderSampledImageArrayNonUniformIndexing : 0 as _,
10040 shaderStorageBufferArrayNonUniformIndexing : 0 as _,
10041 shaderStorageImageArrayNonUniformIndexing : 0 as _,
10042 shaderInputAttachmentArrayNonUniformIndexing : 0 as _,
10043 shaderUniformTexelBufferArrayNonUniformIndexing : 0 as _,
10044 shaderStorageTexelBufferArrayNonUniformIndexing : 0 as _,
10045 descriptorBindingUniformBufferUpdateAfterBind : 0 as _,
10046 descriptorBindingSampledImageUpdateAfterBind : 0 as _,
10047 descriptorBindingStorageImageUpdateAfterBind : 0 as _,
10048 descriptorBindingStorageBufferUpdateAfterBind : 0 as _,
10049 descriptorBindingUniformTexelBufferUpdateAfterBind : 0 as _,
10050 descriptorBindingStorageTexelBufferUpdateAfterBind : 0 as _,
10051 descriptorBindingUpdateUnusedWhilePending : 0 as _,
10052 descriptorBindingPartiallyBound : 0 as _,
10053 descriptorBindingVariableDescriptorCount : 0 as _,
10054 runtimeDescriptorArray : 0 as _,
10055 samplerFilterMinmax : 0 as _,
10056 scalarBlockLayout : 0 as _,
10057 imagelessFramebuffer : 0 as _,
10058 uniformBufferStandardLayout : 0 as _,
10059 shaderSubgroupExtendedTypes : 0 as _,
10060 separateDepthStencilLayouts : 0 as _,
10061 hostQueryReset : 0 as _,
10062 timelineSemaphore : 0 as _,
10063 bufferDeviceAddress : 0 as _,
10064 bufferDeviceAddressCaptureReplay : 0 as _,
10065 bufferDeviceAddressMultiDevice : 0 as _,
10066 vulkanMemoryModel : 0 as _,
10067 vulkanMemoryModelDeviceScope : 0 as _,
10068 vulkanMemoryModelAvailabilityVisibilityChains : 0 as _,
10069 shaderOutputViewportIndex : 0 as _,
10070 shaderOutputLayer : 0 as _,
10071 subgroupBroadcastDynamicId : 0 as _,
10072 }
10073 }
10074}
10075impl ::std::default::Default for ConformanceVersion {
10076 fn default() -> ConformanceVersion {
10077 ConformanceVersion {
10078 major : Default::default(),
10079 minor : Default::default(),
10080 subminor : Default::default(),
10081 patch : Default::default(),
10082 }
10083 }
10084}
10085impl ::std::default::Default for PhysicalDeviceVulkan12Properties {
10086 fn default() -> PhysicalDeviceVulkan12Properties {
10087 PhysicalDeviceVulkan12Properties {
10088 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES,
10089 pNext : 0 as _,
10090 driverID : Default::default(),
10091 driverName : [Default::default();MAX_DRIVER_NAME_SIZE],
10092 driverInfo : [Default::default();MAX_DRIVER_INFO_SIZE],
10093 conformanceVersion : Default::default(),
10094 denormBehaviorIndependence : Default::default(),
10095 roundingModeIndependence : Default::default(),
10096 shaderSignedZeroInfNanPreserveFloat16 : 0 as _,
10097 shaderSignedZeroInfNanPreserveFloat32 : 0 as _,
10098 shaderSignedZeroInfNanPreserveFloat64 : 0 as _,
10099 shaderDenormPreserveFloat16 : 0 as _,
10100 shaderDenormPreserveFloat32 : 0 as _,
10101 shaderDenormPreserveFloat64 : 0 as _,
10102 shaderDenormFlushToZeroFloat16 : 0 as _,
10103 shaderDenormFlushToZeroFloat32 : 0 as _,
10104 shaderDenormFlushToZeroFloat64 : 0 as _,
10105 shaderRoundingModeRTEFloat16 : 0 as _,
10106 shaderRoundingModeRTEFloat32 : 0 as _,
10107 shaderRoundingModeRTEFloat64 : 0 as _,
10108 shaderRoundingModeRTZFloat16 : 0 as _,
10109 shaderRoundingModeRTZFloat32 : 0 as _,
10110 shaderRoundingModeRTZFloat64 : 0 as _,
10111 maxUpdateAfterBindDescriptorsInAllPools : 0 as _,
10112 shaderUniformBufferArrayNonUniformIndexingNative : 0 as _,
10113 shaderSampledImageArrayNonUniformIndexingNative : 0 as _,
10114 shaderStorageBufferArrayNonUniformIndexingNative : 0 as _,
10115 shaderStorageImageArrayNonUniformIndexingNative : 0 as _,
10116 shaderInputAttachmentArrayNonUniformIndexingNative : 0 as _,
10117 robustBufferAccessUpdateAfterBind : 0 as _,
10118 quadDivergentImplicitLod : 0 as _,
10119 maxPerStageDescriptorUpdateAfterBindSamplers : 0 as _,
10120 maxPerStageDescriptorUpdateAfterBindUniformBuffers : 0 as _,
10121 maxPerStageDescriptorUpdateAfterBindStorageBuffers : 0 as _,
10122 maxPerStageDescriptorUpdateAfterBindSampledImages : 0 as _,
10123 maxPerStageDescriptorUpdateAfterBindStorageImages : 0 as _,
10124 maxPerStageDescriptorUpdateAfterBindInputAttachments : 0 as _,
10125 maxPerStageUpdateAfterBindResources : 0 as _,
10126 maxDescriptorSetUpdateAfterBindSamplers : 0 as _,
10127 maxDescriptorSetUpdateAfterBindUniformBuffers : 0 as _,
10128 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic : 0 as _,
10129 maxDescriptorSetUpdateAfterBindStorageBuffers : 0 as _,
10130 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic : 0 as _,
10131 maxDescriptorSetUpdateAfterBindSampledImages : 0 as _,
10132 maxDescriptorSetUpdateAfterBindStorageImages : 0 as _,
10133 maxDescriptorSetUpdateAfterBindInputAttachments : 0 as _,
10134 supportedDepthResolveModes : Default::default(),
10135 supportedStencilResolveModes : Default::default(),
10136 independentResolveNone : 0 as _,
10137 independentResolve : 0 as _,
10138 filterMinmaxSingleComponentFormats : 0 as _,
10139 filterMinmaxImageComponentMapping : 0 as _,
10140 maxTimelineSemaphoreValueDifference : 0 as _,
10141 framebufferIntegerColorSampleCounts : Default::default(),
10142 }
10143 }
10144}
10145impl ::std::default::Default for ImageFormatListCreateInfo {
10146 fn default() -> ImageFormatListCreateInfo {
10147 ImageFormatListCreateInfo {
10148 sType : STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO,
10149 pNext : 0 as _,
10150 viewFormatCount : 0 as _,
10151 pViewFormats : 0 as _,
10152 }
10153 }
10154}
10155impl ::std::default::Default for AttachmentDescription2 {
10156 fn default() -> AttachmentDescription2 {
10157 AttachmentDescription2 {
10158 sType : STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2,
10159 pNext : 0 as _,
10160 flags : Default::default(),
10161 format : Default::default(),
10162 samples : Default::default(),
10163 loadOp : Default::default(),
10164 storeOp : Default::default(),
10165 stencilLoadOp : Default::default(),
10166 stencilStoreOp : Default::default(),
10167 initialLayout : Default::default(),
10168 finalLayout : Default::default(),
10169 }
10170 }
10171}
10172impl ::std::default::Default for AttachmentReference2 {
10173 fn default() -> AttachmentReference2 {
10174 AttachmentReference2 {
10175 sType : STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2,
10176 pNext : 0 as _,
10177 attachment : 0 as _,
10178 layout : Default::default(),
10179 aspectMask : Default::default(),
10180 }
10181 }
10182}
10183impl ::std::default::Default for SubpassDescription2 {
10184 fn default() -> SubpassDescription2 {
10185 SubpassDescription2 {
10186 sType : STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2,
10187 pNext : 0 as _,
10188 flags : Default::default(),
10189 pipelineBindPoint : Default::default(),
10190 viewMask : 0 as _,
10191 inputAttachmentCount : 0 as _,
10192 pInputAttachments : 0 as _,
10193 colorAttachmentCount : 0 as _,
10194 pColorAttachments : 0 as _,
10195 pResolveAttachments : 0 as _,
10196 pDepthStencilAttachment : 0 as _,
10197 preserveAttachmentCount : 0 as _,
10198 pPreserveAttachments : 0 as _,
10199 }
10200 }
10201}
10202impl ::std::default::Default for SubpassDependency2 {
10203 fn default() -> SubpassDependency2 {
10204 SubpassDependency2 {
10205 sType : STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2,
10206 pNext : 0 as _,
10207 srcSubpass : 0 as _,
10208 dstSubpass : 0 as _,
10209 srcStageMask : Default::default(),
10210 dstStageMask : Default::default(),
10211 srcAccessMask : Default::default(),
10212 dstAccessMask : Default::default(),
10213 dependencyFlags : Default::default(),
10214 viewOffset : 0 as _,
10215 }
10216 }
10217}
10218impl ::std::default::Default for RenderPassCreateInfo2 {
10219 fn default() -> RenderPassCreateInfo2 {
10220 RenderPassCreateInfo2 {
10221 sType : STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2,
10222 pNext : 0 as _,
10223 flags : Default::default(),
10224 attachmentCount : 0 as _,
10225 pAttachments : 0 as _,
10226 subpassCount : 0 as _,
10227 pSubpasses : 0 as _,
10228 dependencyCount : 0 as _,
10229 pDependencies : 0 as _,
10230 correlatedViewMaskCount : 0 as _,
10231 pCorrelatedViewMasks : 0 as _,
10232 }
10233 }
10234}
10235impl ::std::default::Default for SubpassBeginInfo {
10236 fn default() -> SubpassBeginInfo {
10237 SubpassBeginInfo {
10238 sType : STRUCTURE_TYPE_SUBPASS_BEGIN_INFO,
10239 pNext : 0 as _,
10240 contents : Default::default(),
10241 }
10242 }
10243}
10244impl ::std::default::Default for SubpassEndInfo {
10245 fn default() -> SubpassEndInfo {
10246 SubpassEndInfo {
10247 sType : STRUCTURE_TYPE_SUBPASS_END_INFO,
10248 pNext : 0 as _,
10249 }
10250 }
10251}
10252impl ::std::default::Default for PhysicalDevice8BitStorageFeatures {
10253 fn default() -> PhysicalDevice8BitStorageFeatures {
10254 PhysicalDevice8BitStorageFeatures {
10255 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES,
10256 pNext : 0 as _,
10257 storageBuffer8BitAccess : 0 as _,
10258 uniformAndStorageBuffer8BitAccess : 0 as _,
10259 storagePushConstant8 : 0 as _,
10260 }
10261 }
10262}
10263impl ::std::default::Default for PhysicalDeviceDriverProperties {
10264 fn default() -> PhysicalDeviceDriverProperties {
10265 PhysicalDeviceDriverProperties {
10266 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES,
10267 pNext : 0 as _,
10268 driverID : Default::default(),
10269 driverName : [Default::default();MAX_DRIVER_NAME_SIZE],
10270 driverInfo : [Default::default();MAX_DRIVER_INFO_SIZE],
10271 conformanceVersion : Default::default(),
10272 }
10273 }
10274}
10275impl ::std::default::Default for PhysicalDeviceShaderAtomicInt64Features {
10276 fn default() -> PhysicalDeviceShaderAtomicInt64Features {
10277 PhysicalDeviceShaderAtomicInt64Features {
10278 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES,
10279 pNext : 0 as _,
10280 shaderBufferInt64Atomics : 0 as _,
10281 shaderSharedInt64Atomics : 0 as _,
10282 }
10283 }
10284}
10285impl ::std::default::Default for PhysicalDeviceShaderFloat16Int8Features {
10286 fn default() -> PhysicalDeviceShaderFloat16Int8Features {
10287 PhysicalDeviceShaderFloat16Int8Features {
10288 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
10289 pNext : 0 as _,
10290 shaderFloat16 : 0 as _,
10291 shaderInt8 : 0 as _,
10292 }
10293 }
10294}
10295impl ::std::default::Default for PhysicalDeviceFloatControlsProperties {
10296 fn default() -> PhysicalDeviceFloatControlsProperties {
10297 PhysicalDeviceFloatControlsProperties {
10298 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,
10299 pNext : 0 as _,
10300 denormBehaviorIndependence : Default::default(),
10301 roundingModeIndependence : Default::default(),
10302 shaderSignedZeroInfNanPreserveFloat16 : 0 as _,
10303 shaderSignedZeroInfNanPreserveFloat32 : 0 as _,
10304 shaderSignedZeroInfNanPreserveFloat64 : 0 as _,
10305 shaderDenormPreserveFloat16 : 0 as _,
10306 shaderDenormPreserveFloat32 : 0 as _,
10307 shaderDenormPreserveFloat64 : 0 as _,
10308 shaderDenormFlushToZeroFloat16 : 0 as _,
10309 shaderDenormFlushToZeroFloat32 : 0 as _,
10310 shaderDenormFlushToZeroFloat64 : 0 as _,
10311 shaderRoundingModeRTEFloat16 : 0 as _,
10312 shaderRoundingModeRTEFloat32 : 0 as _,
10313 shaderRoundingModeRTEFloat64 : 0 as _,
10314 shaderRoundingModeRTZFloat16 : 0 as _,
10315 shaderRoundingModeRTZFloat32 : 0 as _,
10316 shaderRoundingModeRTZFloat64 : 0 as _,
10317 }
10318 }
10319}
10320impl ::std::default::Default for DescriptorSetLayoutBindingFlagsCreateInfo {
10321 fn default() -> DescriptorSetLayoutBindingFlagsCreateInfo {
10322 DescriptorSetLayoutBindingFlagsCreateInfo {
10323 sType : STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO,
10324 pNext : 0 as _,
10325 bindingCount : 0 as _,
10326 pBindingFlags : 0 as _,
10327 }
10328 }
10329}
10330impl ::std::default::Default for PhysicalDeviceDescriptorIndexingFeatures {
10331 fn default() -> PhysicalDeviceDescriptorIndexingFeatures {
10332 PhysicalDeviceDescriptorIndexingFeatures {
10333 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES,
10334 pNext : 0 as _,
10335 shaderInputAttachmentArrayDynamicIndexing : 0 as _,
10336 shaderUniformTexelBufferArrayDynamicIndexing : 0 as _,
10337 shaderStorageTexelBufferArrayDynamicIndexing : 0 as _,
10338 shaderUniformBufferArrayNonUniformIndexing : 0 as _,
10339 shaderSampledImageArrayNonUniformIndexing : 0 as _,
10340 shaderStorageBufferArrayNonUniformIndexing : 0 as _,
10341 shaderStorageImageArrayNonUniformIndexing : 0 as _,
10342 shaderInputAttachmentArrayNonUniformIndexing : 0 as _,
10343 shaderUniformTexelBufferArrayNonUniformIndexing : 0 as _,
10344 shaderStorageTexelBufferArrayNonUniformIndexing : 0 as _,
10345 descriptorBindingUniformBufferUpdateAfterBind : 0 as _,
10346 descriptorBindingSampledImageUpdateAfterBind : 0 as _,
10347 descriptorBindingStorageImageUpdateAfterBind : 0 as _,
10348 descriptorBindingStorageBufferUpdateAfterBind : 0 as _,
10349 descriptorBindingUniformTexelBufferUpdateAfterBind : 0 as _,
10350 descriptorBindingStorageTexelBufferUpdateAfterBind : 0 as _,
10351 descriptorBindingUpdateUnusedWhilePending : 0 as _,
10352 descriptorBindingPartiallyBound : 0 as _,
10353 descriptorBindingVariableDescriptorCount : 0 as _,
10354 runtimeDescriptorArray : 0 as _,
10355 }
10356 }
10357}
10358impl ::std::default::Default for PhysicalDeviceDescriptorIndexingProperties {
10359 fn default() -> PhysicalDeviceDescriptorIndexingProperties {
10360 PhysicalDeviceDescriptorIndexingProperties {
10361 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES,
10362 pNext : 0 as _,
10363 maxUpdateAfterBindDescriptorsInAllPools : 0 as _,
10364 shaderUniformBufferArrayNonUniformIndexingNative : 0 as _,
10365 shaderSampledImageArrayNonUniformIndexingNative : 0 as _,
10366 shaderStorageBufferArrayNonUniformIndexingNative : 0 as _,
10367 shaderStorageImageArrayNonUniformIndexingNative : 0 as _,
10368 shaderInputAttachmentArrayNonUniformIndexingNative : 0 as _,
10369 robustBufferAccessUpdateAfterBind : 0 as _,
10370 quadDivergentImplicitLod : 0 as _,
10371 maxPerStageDescriptorUpdateAfterBindSamplers : 0 as _,
10372 maxPerStageDescriptorUpdateAfterBindUniformBuffers : 0 as _,
10373 maxPerStageDescriptorUpdateAfterBindStorageBuffers : 0 as _,
10374 maxPerStageDescriptorUpdateAfterBindSampledImages : 0 as _,
10375 maxPerStageDescriptorUpdateAfterBindStorageImages : 0 as _,
10376 maxPerStageDescriptorUpdateAfterBindInputAttachments : 0 as _,
10377 maxPerStageUpdateAfterBindResources : 0 as _,
10378 maxDescriptorSetUpdateAfterBindSamplers : 0 as _,
10379 maxDescriptorSetUpdateAfterBindUniformBuffers : 0 as _,
10380 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic : 0 as _,
10381 maxDescriptorSetUpdateAfterBindStorageBuffers : 0 as _,
10382 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic : 0 as _,
10383 maxDescriptorSetUpdateAfterBindSampledImages : 0 as _,
10384 maxDescriptorSetUpdateAfterBindStorageImages : 0 as _,
10385 maxDescriptorSetUpdateAfterBindInputAttachments : 0 as _,
10386 }
10387 }
10388}
10389impl ::std::default::Default for DescriptorSetVariableDescriptorCountAllocateInfo {
10390 fn default() -> DescriptorSetVariableDescriptorCountAllocateInfo {
10391 DescriptorSetVariableDescriptorCountAllocateInfo {
10392 sType : STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO,
10393 pNext : 0 as _,
10394 descriptorSetCount : 0 as _,
10395 pDescriptorCounts : 0 as _,
10396 }
10397 }
10398}
10399impl ::std::default::Default for DescriptorSetVariableDescriptorCountLayoutSupport {
10400 fn default() -> DescriptorSetVariableDescriptorCountLayoutSupport {
10401 DescriptorSetVariableDescriptorCountLayoutSupport {
10402 sType : STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT,
10403 pNext : 0 as _,
10404 maxVariableDescriptorCount : 0 as _,
10405 }
10406 }
10407}
10408impl ::std::default::Default for SubpassDescriptionDepthStencilResolve {
10409 fn default() -> SubpassDescriptionDepthStencilResolve {
10410 SubpassDescriptionDepthStencilResolve {
10411 sType : STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE,
10412 pNext : 0 as _,
10413 depthResolveMode : Default::default(),
10414 stencilResolveMode : Default::default(),
10415 pDepthStencilResolveAttachment : 0 as _,
10416 }
10417 }
10418}
10419impl ::std::default::Default for PhysicalDeviceDepthStencilResolveProperties {
10420 fn default() -> PhysicalDeviceDepthStencilResolveProperties {
10421 PhysicalDeviceDepthStencilResolveProperties {
10422 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES,
10423 pNext : 0 as _,
10424 supportedDepthResolveModes : Default::default(),
10425 supportedStencilResolveModes : Default::default(),
10426 independentResolveNone : 0 as _,
10427 independentResolve : 0 as _,
10428 }
10429 }
10430}
10431impl ::std::default::Default for PhysicalDeviceScalarBlockLayoutFeatures {
10432 fn default() -> PhysicalDeviceScalarBlockLayoutFeatures {
10433 PhysicalDeviceScalarBlockLayoutFeatures {
10434 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES,
10435 pNext : 0 as _,
10436 scalarBlockLayout : 0 as _,
10437 }
10438 }
10439}
10440impl ::std::default::Default for ImageStencilUsageCreateInfo {
10441 fn default() -> ImageStencilUsageCreateInfo {
10442 ImageStencilUsageCreateInfo {
10443 sType : STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO,
10444 pNext : 0 as _,
10445 stencilUsage : Default::default(),
10446 }
10447 }
10448}
10449impl ::std::default::Default for SamplerReductionModeCreateInfo {
10450 fn default() -> SamplerReductionModeCreateInfo {
10451 SamplerReductionModeCreateInfo {
10452 sType : STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO,
10453 pNext : 0 as _,
10454 reductionMode : Default::default(),
10455 }
10456 }
10457}
10458impl ::std::default::Default for PhysicalDeviceSamplerFilterMinmaxProperties {
10459 fn default() -> PhysicalDeviceSamplerFilterMinmaxProperties {
10460 PhysicalDeviceSamplerFilterMinmaxProperties {
10461 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES,
10462 pNext : 0 as _,
10463 filterMinmaxSingleComponentFormats : 0 as _,
10464 filterMinmaxImageComponentMapping : 0 as _,
10465 }
10466 }
10467}
10468impl ::std::default::Default for PhysicalDeviceVulkanMemoryModelFeatures {
10469 fn default() -> PhysicalDeviceVulkanMemoryModelFeatures {
10470 PhysicalDeviceVulkanMemoryModelFeatures {
10471 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES,
10472 pNext : 0 as _,
10473 vulkanMemoryModel : 0 as _,
10474 vulkanMemoryModelDeviceScope : 0 as _,
10475 vulkanMemoryModelAvailabilityVisibilityChains : 0 as _,
10476 }
10477 }
10478}
10479impl ::std::default::Default for PhysicalDeviceImagelessFramebufferFeatures {
10480 fn default() -> PhysicalDeviceImagelessFramebufferFeatures {
10481 PhysicalDeviceImagelessFramebufferFeatures {
10482 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES,
10483 pNext : 0 as _,
10484 imagelessFramebuffer : 0 as _,
10485 }
10486 }
10487}
10488impl ::std::default::Default for FramebufferAttachmentImageInfo {
10489 fn default() -> FramebufferAttachmentImageInfo {
10490 FramebufferAttachmentImageInfo {
10491 sType : STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO,
10492 pNext : 0 as _,
10493 flags : Default::default(),
10494 usage : Default::default(),
10495 width : 0 as _,
10496 height : 0 as _,
10497 layerCount : 0 as _,
10498 viewFormatCount : 0 as _,
10499 pViewFormats : 0 as _,
10500 }
10501 }
10502}
10503impl ::std::default::Default for FramebufferAttachmentsCreateInfo {
10504 fn default() -> FramebufferAttachmentsCreateInfo {
10505 FramebufferAttachmentsCreateInfo {
10506 sType : STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO,
10507 pNext : 0 as _,
10508 attachmentImageInfoCount : 0 as _,
10509 pAttachmentImageInfos : 0 as _,
10510 }
10511 }
10512}
10513impl ::std::default::Default for RenderPassAttachmentBeginInfo {
10514 fn default() -> RenderPassAttachmentBeginInfo {
10515 RenderPassAttachmentBeginInfo {
10516 sType : STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO,
10517 pNext : 0 as _,
10518 attachmentCount : 0 as _,
10519 pAttachments : 0 as _,
10520 }
10521 }
10522}
10523impl ::std::default::Default for PhysicalDeviceUniformBufferStandardLayoutFeatures {
10524 fn default() -> PhysicalDeviceUniformBufferStandardLayoutFeatures {
10525 PhysicalDeviceUniformBufferStandardLayoutFeatures {
10526 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES,
10527 pNext : 0 as _,
10528 uniformBufferStandardLayout : 0 as _,
10529 }
10530 }
10531}
10532impl ::std::default::Default for PhysicalDeviceShaderSubgroupExtendedTypesFeatures {
10533 fn default() -> PhysicalDeviceShaderSubgroupExtendedTypesFeatures {
10534 PhysicalDeviceShaderSubgroupExtendedTypesFeatures {
10535 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES,
10536 pNext : 0 as _,
10537 shaderSubgroupExtendedTypes : 0 as _,
10538 }
10539 }
10540}
10541impl ::std::default::Default for PhysicalDeviceSeparateDepthStencilLayoutsFeatures {
10542 fn default() -> PhysicalDeviceSeparateDepthStencilLayoutsFeatures {
10543 PhysicalDeviceSeparateDepthStencilLayoutsFeatures {
10544 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES,
10545 pNext : 0 as _,
10546 separateDepthStencilLayouts : 0 as _,
10547 }
10548 }
10549}
10550impl ::std::default::Default for AttachmentReferenceStencilLayout {
10551 fn default() -> AttachmentReferenceStencilLayout {
10552 AttachmentReferenceStencilLayout {
10553 sType : STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT,
10554 pNext : 0 as _,
10555 stencilLayout : Default::default(),
10556 }
10557 }
10558}
10559impl ::std::default::Default for AttachmentDescriptionStencilLayout {
10560 fn default() -> AttachmentDescriptionStencilLayout {
10561 AttachmentDescriptionStencilLayout {
10562 sType : STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT,
10563 pNext : 0 as _,
10564 stencilInitialLayout : Default::default(),
10565 stencilFinalLayout : Default::default(),
10566 }
10567 }
10568}
10569impl ::std::default::Default for PhysicalDeviceHostQueryResetFeatures {
10570 fn default() -> PhysicalDeviceHostQueryResetFeatures {
10571 PhysicalDeviceHostQueryResetFeatures {
10572 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES,
10573 pNext : 0 as _,
10574 hostQueryReset : 0 as _,
10575 }
10576 }
10577}
10578impl ::std::default::Default for PhysicalDeviceTimelineSemaphoreFeatures {
10579 fn default() -> PhysicalDeviceTimelineSemaphoreFeatures {
10580 PhysicalDeviceTimelineSemaphoreFeatures {
10581 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
10582 pNext : 0 as _,
10583 timelineSemaphore : 0 as _,
10584 }
10585 }
10586}
10587impl ::std::default::Default for PhysicalDeviceTimelineSemaphoreProperties {
10588 fn default() -> PhysicalDeviceTimelineSemaphoreProperties {
10589 PhysicalDeviceTimelineSemaphoreProperties {
10590 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,
10591 pNext : 0 as _,
10592 maxTimelineSemaphoreValueDifference : 0 as _,
10593 }
10594 }
10595}
10596impl ::std::default::Default for SemaphoreTypeCreateInfo {
10597 fn default() -> SemaphoreTypeCreateInfo {
10598 SemaphoreTypeCreateInfo {
10599 sType : STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO,
10600 pNext : 0 as _,
10601 semaphoreType : Default::default(),
10602 initialValue : 0 as _,
10603 }
10604 }
10605}
10606impl ::std::default::Default for TimelineSemaphoreSubmitInfo {
10607 fn default() -> TimelineSemaphoreSubmitInfo {
10608 TimelineSemaphoreSubmitInfo {
10609 sType : STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO,
10610 pNext : 0 as _,
10611 waitSemaphoreValueCount : 0 as _,
10612 pWaitSemaphoreValues : 0 as _,
10613 signalSemaphoreValueCount : 0 as _,
10614 pSignalSemaphoreValues : 0 as _,
10615 }
10616 }
10617}
10618impl ::std::default::Default for SemaphoreWaitInfo {
10619 fn default() -> SemaphoreWaitInfo {
10620 SemaphoreWaitInfo {
10621 sType : STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO,
10622 pNext : 0 as _,
10623 flags : Default::default(),
10624 semaphoreCount : 0 as _,
10625 pSemaphores : 0 as _,
10626 pValues : 0 as _,
10627 }
10628 }
10629}
10630impl ::std::default::Default for SemaphoreSignalInfo {
10631 fn default() -> SemaphoreSignalInfo {
10632 SemaphoreSignalInfo {
10633 sType : STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO,
10634 pNext : 0 as _,
10635 semaphore : Default::default(),
10636 value : 0 as _,
10637 }
10638 }
10639}
10640impl ::std::default::Default for PhysicalDeviceBufferDeviceAddressFeatures {
10641 fn default() -> PhysicalDeviceBufferDeviceAddressFeatures {
10642 PhysicalDeviceBufferDeviceAddressFeatures {
10643 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES,
10644 pNext : 0 as _,
10645 bufferDeviceAddress : 0 as _,
10646 bufferDeviceAddressCaptureReplay : 0 as _,
10647 bufferDeviceAddressMultiDevice : 0 as _,
10648 }
10649 }
10650}
10651impl ::std::default::Default for BufferDeviceAddressInfo {
10652 fn default() -> BufferDeviceAddressInfo {
10653 BufferDeviceAddressInfo {
10654 sType : STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
10655 pNext : 0 as _,
10656 buffer : Default::default(),
10657 }
10658 }
10659}
10660impl ::std::default::Default for BufferOpaqueCaptureAddressCreateInfo {
10661 fn default() -> BufferOpaqueCaptureAddressCreateInfo {
10662 BufferOpaqueCaptureAddressCreateInfo {
10663 sType : STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO,
10664 pNext : 0 as _,
10665 opaqueCaptureAddress : 0 as _,
10666 }
10667 }
10668}
10669impl ::std::default::Default for MemoryOpaqueCaptureAddressAllocateInfo {
10670 fn default() -> MemoryOpaqueCaptureAddressAllocateInfo {
10671 MemoryOpaqueCaptureAddressAllocateInfo {
10672 sType : STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO,
10673 pNext : 0 as _,
10674 opaqueCaptureAddress : 0 as _,
10675 }
10676 }
10677}
10678impl ::std::default::Default for DeviceMemoryOpaqueCaptureAddressInfo {
10679 fn default() -> DeviceMemoryOpaqueCaptureAddressInfo {
10680 DeviceMemoryOpaqueCaptureAddressInfo {
10681 sType : STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO,
10682 pNext : 0 as _,
10683 memory : Default::default(),
10684 }
10685 }
10686}
10687impl ::std::default::Default for SurfaceCapabilitiesKHR {
10688 fn default() -> SurfaceCapabilitiesKHR {
10689 SurfaceCapabilitiesKHR {
10690 minImageCount : 0 as _,
10691 maxImageCount : 0 as _,
10692 currentExtent : Default::default(),
10693 minImageExtent : Default::default(),
10694 maxImageExtent : Default::default(),
10695 maxImageArrayLayers : 0 as _,
10696 supportedTransforms : Default::default(),
10697 currentTransform : Default::default(),
10698 supportedCompositeAlpha : Default::default(),
10699 supportedUsageFlags : Default::default(),
10700 }
10701 }
10702}
10703impl ::std::default::Default for SurfaceFormatKHR {
10704 fn default() -> SurfaceFormatKHR {
10705 SurfaceFormatKHR {
10706 format : Default::default(),
10707 colorSpace : Default::default(),
10708 }
10709 }
10710}
10711impl ::std::default::Default for SwapchainCreateInfoKHR {
10712 fn default() -> SwapchainCreateInfoKHR {
10713 SwapchainCreateInfoKHR {
10714 sType : STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR,
10715 pNext : 0 as _,
10716 flags : Default::default(),
10717 surface : Default::default(),
10718 minImageCount : 0 as _,
10719 imageFormat : Default::default(),
10720 imageColorSpace : Default::default(),
10721 imageExtent : Default::default(),
10722 imageArrayLayers : 0 as _,
10723 imageUsage : Default::default(),
10724 imageSharingMode : Default::default(),
10725 queueFamilyIndexCount : 0 as _,
10726 pQueueFamilyIndices : 0 as _,
10727 preTransform : Default::default(),
10728 compositeAlpha : Default::default(),
10729 presentMode : Default::default(),
10730 clipped : 0 as _,
10731 oldSwapchain : Default::default(),
10732 }
10733 }
10734}
10735impl ::std::default::Default for PresentInfoKHR {
10736 fn default() -> PresentInfoKHR {
10737 PresentInfoKHR {
10738 sType : STRUCTURE_TYPE_PRESENT_INFO_KHR,
10739 pNext : 0 as _,
10740 waitSemaphoreCount : 0 as _,
10741 pWaitSemaphores : 0 as _,
10742 swapchainCount : 0 as _,
10743 pSwapchains : 0 as _,
10744 pImageIndices : 0 as _,
10745 pResults : 0 as _,
10746 }
10747 }
10748}
10749impl ::std::default::Default for ImageSwapchainCreateInfoKHR {
10750 fn default() -> ImageSwapchainCreateInfoKHR {
10751 ImageSwapchainCreateInfoKHR {
10752 sType : STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR,
10753 pNext : 0 as _,
10754 swapchain : Default::default(),
10755 }
10756 }
10757}
10758impl ::std::default::Default for BindImageMemorySwapchainInfoKHR {
10759 fn default() -> BindImageMemorySwapchainInfoKHR {
10760 BindImageMemorySwapchainInfoKHR {
10761 sType : STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR,
10762 pNext : 0 as _,
10763 swapchain : Default::default(),
10764 imageIndex : 0 as _,
10765 }
10766 }
10767}
10768impl ::std::default::Default for AcquireNextImageInfoKHR {
10769 fn default() -> AcquireNextImageInfoKHR {
10770 AcquireNextImageInfoKHR {
10771 sType : STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR,
10772 pNext : 0 as _,
10773 swapchain : Default::default(),
10774 timeout : 0 as _,
10775 semaphore : Default::default(),
10776 fence : Default::default(),
10777 deviceMask : 0 as _,
10778 }
10779 }
10780}
10781impl ::std::default::Default for DeviceGroupPresentCapabilitiesKHR {
10782 fn default() -> DeviceGroupPresentCapabilitiesKHR {
10783 DeviceGroupPresentCapabilitiesKHR {
10784 sType : STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR,
10785 pNext : 0 as _,
10786 presentMask : [Default::default();MAX_DEVICE_GROUP_SIZE],
10787 modes : Default::default(),
10788 }
10789 }
10790}
10791impl ::std::default::Default for DeviceGroupPresentInfoKHR {
10792 fn default() -> DeviceGroupPresentInfoKHR {
10793 DeviceGroupPresentInfoKHR {
10794 sType : STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR,
10795 pNext : 0 as _,
10796 swapchainCount : 0 as _,
10797 pDeviceMasks : 0 as _,
10798 mode : Default::default(),
10799 }
10800 }
10801}
10802impl ::std::default::Default for DeviceGroupSwapchainCreateInfoKHR {
10803 fn default() -> DeviceGroupSwapchainCreateInfoKHR {
10804 DeviceGroupSwapchainCreateInfoKHR {
10805 sType : STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR,
10806 pNext : 0 as _,
10807 modes : Default::default(),
10808 }
10809 }
10810}
10811impl ::std::default::Default for DisplayPropertiesKHR {
10812 fn default() -> DisplayPropertiesKHR {
10813 DisplayPropertiesKHR {
10814 display : Default::default(),
10815 displayName : 0 as _,
10816 physicalDimensions : Default::default(),
10817 physicalResolution : Default::default(),
10818 supportedTransforms : Default::default(),
10819 planeReorderPossible : 0 as _,
10820 persistentContent : 0 as _,
10821 }
10822 }
10823}
10824impl ::std::default::Default for DisplayModeParametersKHR {
10825 fn default() -> DisplayModeParametersKHR {
10826 DisplayModeParametersKHR {
10827 visibleRegion : Default::default(),
10828 refreshRate : 0 as _,
10829 }
10830 }
10831}
10832impl ::std::default::Default for DisplayModePropertiesKHR {
10833 fn default() -> DisplayModePropertiesKHR {
10834 DisplayModePropertiesKHR {
10835 displayMode : Default::default(),
10836 parameters : Default::default(),
10837 }
10838 }
10839}
10840impl ::std::default::Default for DisplayModeCreateInfoKHR {
10841 fn default() -> DisplayModeCreateInfoKHR {
10842 DisplayModeCreateInfoKHR {
10843 sType : STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR,
10844 pNext : 0 as _,
10845 flags : Default::default(),
10846 parameters : Default::default(),
10847 }
10848 }
10849}
10850impl ::std::default::Default for DisplayPlaneCapabilitiesKHR {
10851 fn default() -> DisplayPlaneCapabilitiesKHR {
10852 DisplayPlaneCapabilitiesKHR {
10853 supportedAlpha : Default::default(),
10854 minSrcPosition : Default::default(),
10855 maxSrcPosition : Default::default(),
10856 minSrcExtent : Default::default(),
10857 maxSrcExtent : Default::default(),
10858 minDstPosition : Default::default(),
10859 maxDstPosition : Default::default(),
10860 minDstExtent : Default::default(),
10861 maxDstExtent : Default::default(),
10862 }
10863 }
10864}
10865impl ::std::default::Default for DisplayPlanePropertiesKHR {
10866 fn default() -> DisplayPlanePropertiesKHR {
10867 DisplayPlanePropertiesKHR {
10868 currentDisplay : Default::default(),
10869 currentStackIndex : 0 as _,
10870 }
10871 }
10872}
10873impl ::std::default::Default for DisplaySurfaceCreateInfoKHR {
10874 fn default() -> DisplaySurfaceCreateInfoKHR {
10875 DisplaySurfaceCreateInfoKHR {
10876 sType : STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR,
10877 pNext : 0 as _,
10878 flags : Default::default(),
10879 displayMode : Default::default(),
10880 planeIndex : 0 as _,
10881 planeStackIndex : 0 as _,
10882 transform : Default::default(),
10883 globalAlpha : 0 as _,
10884 alphaMode : Default::default(),
10885 imageExtent : Default::default(),
10886 }
10887 }
10888}
10889impl ::std::default::Default for DisplayPresentInfoKHR {
10890 fn default() -> DisplayPresentInfoKHR {
10891 DisplayPresentInfoKHR {
10892 sType : STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR,
10893 pNext : 0 as _,
10894 srcRect : Default::default(),
10895 dstRect : Default::default(),
10896 persistent : 0 as _,
10897 }
10898 }
10899}
10900impl ::std::default::Default for ImportMemoryFdInfoKHR {
10901 fn default() -> ImportMemoryFdInfoKHR {
10902 ImportMemoryFdInfoKHR {
10903 sType : STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR,
10904 pNext : 0 as _,
10905 handleType : Default::default(),
10906 fd : 0 as _,
10907 }
10908 }
10909}
10910impl ::std::default::Default for MemoryFdPropertiesKHR {
10911 fn default() -> MemoryFdPropertiesKHR {
10912 MemoryFdPropertiesKHR {
10913 sType : STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR,
10914 pNext : 0 as _,
10915 memoryTypeBits : 0 as _,
10916 }
10917 }
10918}
10919impl ::std::default::Default for MemoryGetFdInfoKHR {
10920 fn default() -> MemoryGetFdInfoKHR {
10921 MemoryGetFdInfoKHR {
10922 sType : STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR,
10923 pNext : 0 as _,
10924 memory : Default::default(),
10925 handleType : Default::default(),
10926 }
10927 }
10928}
10929impl ::std::default::Default for ImportSemaphoreFdInfoKHR {
10930 fn default() -> ImportSemaphoreFdInfoKHR {
10931 ImportSemaphoreFdInfoKHR {
10932 sType : STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR,
10933 pNext : 0 as _,
10934 semaphore : Default::default(),
10935 flags : Default::default(),
10936 handleType : Default::default(),
10937 fd : 0 as _,
10938 }
10939 }
10940}
10941impl ::std::default::Default for SemaphoreGetFdInfoKHR {
10942 fn default() -> SemaphoreGetFdInfoKHR {
10943 SemaphoreGetFdInfoKHR {
10944 sType : STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR,
10945 pNext : 0 as _,
10946 semaphore : Default::default(),
10947 handleType : Default::default(),
10948 }
10949 }
10950}
10951impl ::std::default::Default for PhysicalDevicePushDescriptorPropertiesKHR {
10952 fn default() -> PhysicalDevicePushDescriptorPropertiesKHR {
10953 PhysicalDevicePushDescriptorPropertiesKHR {
10954 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR,
10955 pNext : 0 as _,
10956 maxPushDescriptors : 0 as _,
10957 }
10958 }
10959}
10960impl ::std::default::Default for RectLayerKHR {
10961 fn default() -> RectLayerKHR {
10962 RectLayerKHR {
10963 offset : Default::default(),
10964 extent : Default::default(),
10965 layer : 0 as _,
10966 }
10967 }
10968}
10969impl ::std::default::Default for PresentRegionKHR {
10970 fn default() -> PresentRegionKHR {
10971 PresentRegionKHR {
10972 rectangleCount : 0 as _,
10973 pRectangles : 0 as _,
10974 }
10975 }
10976}
10977impl ::std::default::Default for PresentRegionsKHR {
10978 fn default() -> PresentRegionsKHR {
10979 PresentRegionsKHR {
10980 sType : STRUCTURE_TYPE_PRESENT_REGIONS_KHR,
10981 pNext : 0 as _,
10982 swapchainCount : 0 as _,
10983 pRegions : 0 as _,
10984 }
10985 }
10986}
10987impl ::std::default::Default for SharedPresentSurfaceCapabilitiesKHR {
10988 fn default() -> SharedPresentSurfaceCapabilitiesKHR {
10989 SharedPresentSurfaceCapabilitiesKHR {
10990 sType : STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR,
10991 pNext : 0 as _,
10992 sharedPresentSupportedUsageFlags : Default::default(),
10993 }
10994 }
10995}
10996impl ::std::default::Default for ImportFenceFdInfoKHR {
10997 fn default() -> ImportFenceFdInfoKHR {
10998 ImportFenceFdInfoKHR {
10999 sType : STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR,
11000 pNext : 0 as _,
11001 fence : Default::default(),
11002 flags : Default::default(),
11003 handleType : Default::default(),
11004 fd : 0 as _,
11005 }
11006 }
11007}
11008impl ::std::default::Default for FenceGetFdInfoKHR {
11009 fn default() -> FenceGetFdInfoKHR {
11010 FenceGetFdInfoKHR {
11011 sType : STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR,
11012 pNext : 0 as _,
11013 fence : Default::default(),
11014 handleType : Default::default(),
11015 }
11016 }
11017}
11018impl ::std::default::Default for PhysicalDevicePerformanceQueryFeaturesKHR {
11019 fn default() -> PhysicalDevicePerformanceQueryFeaturesKHR {
11020 PhysicalDevicePerformanceQueryFeaturesKHR {
11021 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR,
11022 pNext : 0 as _,
11023 performanceCounterQueryPools : 0 as _,
11024 performanceCounterMultipleQueryPools : 0 as _,
11025 }
11026 }
11027}
11028impl ::std::default::Default for PhysicalDevicePerformanceQueryPropertiesKHR {
11029 fn default() -> PhysicalDevicePerformanceQueryPropertiesKHR {
11030 PhysicalDevicePerformanceQueryPropertiesKHR {
11031 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR,
11032 pNext : 0 as _,
11033 allowCommandBufferQueryCopies : 0 as _,
11034 }
11035 }
11036}
11037impl ::std::default::Default for PerformanceCounterKHR {
11038 fn default() -> PerformanceCounterKHR {
11039 PerformanceCounterKHR {
11040 sType : STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR,
11041 pNext : 0 as _,
11042 unit : Default::default(),
11043 scope : Default::default(),
11044 storage : Default::default(),
11045 uuid : [Default::default();UUID_SIZE],
11046 }
11047 }
11048}
11049impl ::std::default::Default for PerformanceCounterDescriptionKHR {
11050 fn default() -> PerformanceCounterDescriptionKHR {
11051 PerformanceCounterDescriptionKHR {
11052 sType : STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR,
11053 pNext : 0 as _,
11054 flags : Default::default(),
11055 name : [Default::default();MAX_DESCRIPTION_SIZE],
11056 category : [Default::default();MAX_DESCRIPTION_SIZE],
11057 description : [Default::default();MAX_DESCRIPTION_SIZE],
11058 }
11059 }
11060}
11061impl ::std::default::Default for QueryPoolPerformanceCreateInfoKHR {
11062 fn default() -> QueryPoolPerformanceCreateInfoKHR {
11063 QueryPoolPerformanceCreateInfoKHR {
11064 sType : STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR,
11065 pNext : 0 as _,
11066 queueFamilyIndex : 0 as _,
11067 counterIndexCount : 0 as _,
11068 pCounterIndices : 0 as _,
11069 }
11070 }
11071}
11072impl ::std::default::Default for AcquireProfilingLockInfoKHR {
11073 fn default() -> AcquireProfilingLockInfoKHR {
11074 AcquireProfilingLockInfoKHR {
11075 sType : STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR,
11076 pNext : 0 as _,
11077 flags : Default::default(),
11078 timeout : 0 as _,
11079 }
11080 }
11081}
11082impl ::std::default::Default for PerformanceQuerySubmitInfoKHR {
11083 fn default() -> PerformanceQuerySubmitInfoKHR {
11084 PerformanceQuerySubmitInfoKHR {
11085 sType : STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR,
11086 pNext : 0 as _,
11087 counterPassIndex : 0 as _,
11088 }
11089 }
11090}
11091impl ::std::default::Default for PhysicalDeviceSurfaceInfo2KHR {
11092 fn default() -> PhysicalDeviceSurfaceInfo2KHR {
11093 PhysicalDeviceSurfaceInfo2KHR {
11094 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR,
11095 pNext : 0 as _,
11096 surface : Default::default(),
11097 }
11098 }
11099}
11100impl ::std::default::Default for SurfaceCapabilities2KHR {
11101 fn default() -> SurfaceCapabilities2KHR {
11102 SurfaceCapabilities2KHR {
11103 sType : STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR,
11104 pNext : 0 as _,
11105 surfaceCapabilities : Default::default(),
11106 }
11107 }
11108}
11109impl ::std::default::Default for SurfaceFormat2KHR {
11110 fn default() -> SurfaceFormat2KHR {
11111 SurfaceFormat2KHR {
11112 sType : STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR,
11113 pNext : 0 as _,
11114 surfaceFormat : Default::default(),
11115 }
11116 }
11117}
11118impl ::std::default::Default for DisplayProperties2KHR {
11119 fn default() -> DisplayProperties2KHR {
11120 DisplayProperties2KHR {
11121 sType : STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR,
11122 pNext : 0 as _,
11123 displayProperties : Default::default(),
11124 }
11125 }
11126}
11127impl ::std::default::Default for DisplayPlaneProperties2KHR {
11128 fn default() -> DisplayPlaneProperties2KHR {
11129 DisplayPlaneProperties2KHR {
11130 sType : STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR,
11131 pNext : 0 as _,
11132 displayPlaneProperties : Default::default(),
11133 }
11134 }
11135}
11136impl ::std::default::Default for DisplayModeProperties2KHR {
11137 fn default() -> DisplayModeProperties2KHR {
11138 DisplayModeProperties2KHR {
11139 sType : STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR,
11140 pNext : 0 as _,
11141 displayModeProperties : Default::default(),
11142 }
11143 }
11144}
11145impl ::std::default::Default for DisplayPlaneInfo2KHR {
11146 fn default() -> DisplayPlaneInfo2KHR {
11147 DisplayPlaneInfo2KHR {
11148 sType : STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR,
11149 pNext : 0 as _,
11150 mode : Default::default(),
11151 planeIndex : 0 as _,
11152 }
11153 }
11154}
11155impl ::std::default::Default for DisplayPlaneCapabilities2KHR {
11156 fn default() -> DisplayPlaneCapabilities2KHR {
11157 DisplayPlaneCapabilities2KHR {
11158 sType : STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR,
11159 pNext : 0 as _,
11160 capabilities : Default::default(),
11161 }
11162 }
11163}
11164impl ::std::default::Default for PhysicalDeviceShaderClockFeaturesKHR {
11165 fn default() -> PhysicalDeviceShaderClockFeaturesKHR {
11166 PhysicalDeviceShaderClockFeaturesKHR {
11167 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR,
11168 pNext : 0 as _,
11169 shaderSubgroupClock : 0 as _,
11170 shaderDeviceClock : 0 as _,
11171 }
11172 }
11173}
11174impl ::std::default::Default for SurfaceProtectedCapabilitiesKHR {
11175 fn default() -> SurfaceProtectedCapabilitiesKHR {
11176 SurfaceProtectedCapabilitiesKHR {
11177 sType : STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR,
11178 pNext : 0 as _,
11179 supportsProtected : 0 as _,
11180 }
11181 }
11182}
11183impl ::std::default::Default for PhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
11184 fn default() -> PhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
11185 PhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
11186 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR,
11187 pNext : 0 as _,
11188 pipelineExecutableInfo : 0 as _,
11189 }
11190 }
11191}
11192impl ::std::default::Default for PipelineInfoKHR {
11193 fn default() -> PipelineInfoKHR {
11194 PipelineInfoKHR {
11195 sType : STRUCTURE_TYPE_PIPELINE_INFO_KHR,
11196 pNext : 0 as _,
11197 pipeline : Default::default(),
11198 }
11199 }
11200}
11201impl ::std::default::Default for PipelineExecutablePropertiesKHR {
11202 fn default() -> PipelineExecutablePropertiesKHR {
11203 PipelineExecutablePropertiesKHR {
11204 sType : STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR,
11205 pNext : 0 as _,
11206 stages : Default::default(),
11207 name : [Default::default();MAX_DESCRIPTION_SIZE],
11208 description : [Default::default();MAX_DESCRIPTION_SIZE],
11209 subgroupSize : 0 as _,
11210 }
11211 }
11212}
11213impl ::std::default::Default for PipelineExecutableInfoKHR {
11214 fn default() -> PipelineExecutableInfoKHR {
11215 PipelineExecutableInfoKHR {
11216 sType : STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR,
11217 pNext : 0 as _,
11218 pipeline : Default::default(),
11219 executableIndex : 0 as _,
11220 }
11221 }
11222}
11223impl ::std::default::Default for PipelineExecutableInternalRepresentationKHR {
11224 fn default() -> PipelineExecutableInternalRepresentationKHR {
11225 PipelineExecutableInternalRepresentationKHR {
11226 sType : STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR,
11227 pNext : 0 as _,
11228 name : [Default::default();MAX_DESCRIPTION_SIZE],
11229 description : [Default::default();MAX_DESCRIPTION_SIZE],
11230 isText : 0 as _,
11231 dataSize : Default::default(),
11232 pData : 0 as _,
11233 }
11234 }
11235}
11236impl ::std::default::Default for DebugReportCallbackCreateInfoEXT {
11237 fn default() -> DebugReportCallbackCreateInfoEXT {
11238 DebugReportCallbackCreateInfoEXT {
11239 sType : STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
11240 pNext : 0 as _,
11241 flags : Default::default(),
11242 pfnCallback : 0 as _,
11243 pUserData : 0 as _,
11244 }
11245 }
11246}
11247impl ::std::default::Default for PipelineRasterizationStateRasterizationOrderAMD {
11248 fn default() -> PipelineRasterizationStateRasterizationOrderAMD {
11249 PipelineRasterizationStateRasterizationOrderAMD {
11250 sType : STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD,
11251 pNext : 0 as _,
11252 rasterizationOrder : Default::default(),
11253 }
11254 }
11255}
11256impl ::std::default::Default for DebugMarkerObjectNameInfoEXT {
11257 fn default() -> DebugMarkerObjectNameInfoEXT {
11258 DebugMarkerObjectNameInfoEXT {
11259 sType : STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT,
11260 pNext : 0 as _,
11261 objectType : Default::default(),
11262 object : 0 as _,
11263 pObjectName : 0 as _,
11264 }
11265 }
11266}
11267impl ::std::default::Default for DebugMarkerObjectTagInfoEXT {
11268 fn default() -> DebugMarkerObjectTagInfoEXT {
11269 DebugMarkerObjectTagInfoEXT {
11270 sType : STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT,
11271 pNext : 0 as _,
11272 objectType : Default::default(),
11273 object : 0 as _,
11274 tagName : 0 as _,
11275 tagSize : Default::default(),
11276 pTag : 0 as _,
11277 }
11278 }
11279}
11280impl ::std::default::Default for DebugMarkerMarkerInfoEXT {
11281 fn default() -> DebugMarkerMarkerInfoEXT {
11282 DebugMarkerMarkerInfoEXT {
11283 sType : STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT,
11284 pNext : 0 as _,
11285 pMarkerName : 0 as _,
11286 color : [Default::default();4],
11287 }
11288 }
11289}
11290impl ::std::default::Default for DedicatedAllocationImageCreateInfoNV {
11291 fn default() -> DedicatedAllocationImageCreateInfoNV {
11292 DedicatedAllocationImageCreateInfoNV {
11293 sType : STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV,
11294 pNext : 0 as _,
11295 dedicatedAllocation : 0 as _,
11296 }
11297 }
11298}
11299impl ::std::default::Default for DedicatedAllocationBufferCreateInfoNV {
11300 fn default() -> DedicatedAllocationBufferCreateInfoNV {
11301 DedicatedAllocationBufferCreateInfoNV {
11302 sType : STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV,
11303 pNext : 0 as _,
11304 dedicatedAllocation : 0 as _,
11305 }
11306 }
11307}
11308impl ::std::default::Default for DedicatedAllocationMemoryAllocateInfoNV {
11309 fn default() -> DedicatedAllocationMemoryAllocateInfoNV {
11310 DedicatedAllocationMemoryAllocateInfoNV {
11311 sType : STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV,
11312 pNext : 0 as _,
11313 image : Default::default(),
11314 buffer : Default::default(),
11315 }
11316 }
11317}
11318impl ::std::default::Default for PhysicalDeviceTransformFeedbackFeaturesEXT {
11319 fn default() -> PhysicalDeviceTransformFeedbackFeaturesEXT {
11320 PhysicalDeviceTransformFeedbackFeaturesEXT {
11321 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT,
11322 pNext : 0 as _,
11323 transformFeedback : 0 as _,
11324 geometryStreams : 0 as _,
11325 }
11326 }
11327}
11328impl ::std::default::Default for PhysicalDeviceTransformFeedbackPropertiesEXT {
11329 fn default() -> PhysicalDeviceTransformFeedbackPropertiesEXT {
11330 PhysicalDeviceTransformFeedbackPropertiesEXT {
11331 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT,
11332 pNext : 0 as _,
11333 maxTransformFeedbackStreams : 0 as _,
11334 maxTransformFeedbackBuffers : 0 as _,
11335 maxTransformFeedbackBufferSize : Default::default(),
11336 maxTransformFeedbackStreamDataSize : 0 as _,
11337 maxTransformFeedbackBufferDataSize : 0 as _,
11338 maxTransformFeedbackBufferDataStride : 0 as _,
11339 transformFeedbackQueries : 0 as _,
11340 transformFeedbackStreamsLinesTriangles : 0 as _,
11341 transformFeedbackRasterizationStreamSelect : 0 as _,
11342 transformFeedbackDraw : 0 as _,
11343 }
11344 }
11345}
11346impl ::std::default::Default for PipelineRasterizationStateStreamCreateInfoEXT {
11347 fn default() -> PipelineRasterizationStateStreamCreateInfoEXT {
11348 PipelineRasterizationStateStreamCreateInfoEXT {
11349 sType : STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT,
11350 pNext : 0 as _,
11351 flags : Default::default(),
11352 rasterizationStream : 0 as _,
11353 }
11354 }
11355}
11356impl ::std::default::Default for ImageViewHandleInfoNVX {
11357 fn default() -> ImageViewHandleInfoNVX {
11358 ImageViewHandleInfoNVX {
11359 sType : STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX,
11360 pNext : 0 as _,
11361 imageView : Default::default(),
11362 descriptorType : Default::default(),
11363 sampler : Default::default(),
11364 }
11365 }
11366}
11367impl ::std::default::Default for ImageViewAddressPropertiesNVX {
11368 fn default() -> ImageViewAddressPropertiesNVX {
11369 ImageViewAddressPropertiesNVX {
11370 sType : STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX,
11371 pNext : 0 as _,
11372 deviceAddress : Default::default(),
11373 size : Default::default(),
11374 }
11375 }
11376}
11377impl ::std::default::Default for TextureLODGatherFormatPropertiesAMD {
11378 fn default() -> TextureLODGatherFormatPropertiesAMD {
11379 TextureLODGatherFormatPropertiesAMD {
11380 sType : STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD,
11381 pNext : 0 as _,
11382 supportsTextureGatherLODBiasAMD : 0 as _,
11383 }
11384 }
11385}
11386impl ::std::default::Default for ShaderResourceUsageAMD {
11387 fn default() -> ShaderResourceUsageAMD {
11388 ShaderResourceUsageAMD {
11389 numUsedVgprs : 0 as _,
11390 numUsedSgprs : 0 as _,
11391 ldsSizePerLocalWorkGroup : 0 as _,
11392 ldsUsageSizeInBytes : Default::default(),
11393 scratchMemUsageInBytes : Default::default(),
11394 }
11395 }
11396}
11397impl ::std::default::Default for ShaderStatisticsInfoAMD {
11398 fn default() -> ShaderStatisticsInfoAMD {
11399 ShaderStatisticsInfoAMD {
11400 shaderStageMask : Default::default(),
11401 resourceUsage : Default::default(),
11402 numPhysicalVgprs : 0 as _,
11403 numPhysicalSgprs : 0 as _,
11404 numAvailableVgprs : 0 as _,
11405 numAvailableSgprs : 0 as _,
11406 computeWorkGroupSize : [Default::default();3],
11407 }
11408 }
11409}
11410impl ::std::default::Default for PhysicalDeviceCornerSampledImageFeaturesNV {
11411 fn default() -> PhysicalDeviceCornerSampledImageFeaturesNV {
11412 PhysicalDeviceCornerSampledImageFeaturesNV {
11413 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV,
11414 pNext : 0 as _,
11415 cornerSampledImage : 0 as _,
11416 }
11417 }
11418}
11419impl ::std::default::Default for ExternalImageFormatPropertiesNV {
11420 fn default() -> ExternalImageFormatPropertiesNV {
11421 ExternalImageFormatPropertiesNV {
11422 imageFormatProperties : Default::default(),
11423 externalMemoryFeatures : Default::default(),
11424 exportFromImportedHandleTypes : Default::default(),
11425 compatibleHandleTypes : Default::default(),
11426 }
11427 }
11428}
11429impl ::std::default::Default for ExternalMemoryImageCreateInfoNV {
11430 fn default() -> ExternalMemoryImageCreateInfoNV {
11431 ExternalMemoryImageCreateInfoNV {
11432 sType : STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV,
11433 pNext : 0 as _,
11434 handleTypes : Default::default(),
11435 }
11436 }
11437}
11438impl ::std::default::Default for ExportMemoryAllocateInfoNV {
11439 fn default() -> ExportMemoryAllocateInfoNV {
11440 ExportMemoryAllocateInfoNV {
11441 sType : STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV,
11442 pNext : 0 as _,
11443 handleTypes : Default::default(),
11444 }
11445 }
11446}
11447impl ::std::default::Default for ValidationFlagsEXT {
11448 fn default() -> ValidationFlagsEXT {
11449 ValidationFlagsEXT {
11450 sType : STRUCTURE_TYPE_VALIDATION_FLAGS_EXT,
11451 pNext : 0 as _,
11452 disabledValidationCheckCount : 0 as _,
11453 pDisabledValidationChecks : 0 as _,
11454 }
11455 }
11456}
11457impl ::std::default::Default for PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT {
11458 fn default() -> PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT {
11459 PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT {
11460 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT,
11461 pNext : 0 as _,
11462 textureCompressionASTC_HDR : 0 as _,
11463 }
11464 }
11465}
11466impl ::std::default::Default for ImageViewASTCDecodeModeEXT {
11467 fn default() -> ImageViewASTCDecodeModeEXT {
11468 ImageViewASTCDecodeModeEXT {
11469 sType : STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT,
11470 pNext : 0 as _,
11471 decodeMode : Default::default(),
11472 }
11473 }
11474}
11475impl ::std::default::Default for PhysicalDeviceASTCDecodeFeaturesEXT {
11476 fn default() -> PhysicalDeviceASTCDecodeFeaturesEXT {
11477 PhysicalDeviceASTCDecodeFeaturesEXT {
11478 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT,
11479 pNext : 0 as _,
11480 decodeModeSharedExponent : 0 as _,
11481 }
11482 }
11483}
11484impl ::std::default::Default for ConditionalRenderingBeginInfoEXT {
11485 fn default() -> ConditionalRenderingBeginInfoEXT {
11486 ConditionalRenderingBeginInfoEXT {
11487 sType : STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT,
11488 pNext : 0 as _,
11489 buffer : Default::default(),
11490 offset : Default::default(),
11491 flags : Default::default(),
11492 }
11493 }
11494}
11495impl ::std::default::Default for PhysicalDeviceConditionalRenderingFeaturesEXT {
11496 fn default() -> PhysicalDeviceConditionalRenderingFeaturesEXT {
11497 PhysicalDeviceConditionalRenderingFeaturesEXT {
11498 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT,
11499 pNext : 0 as _,
11500 conditionalRendering : 0 as _,
11501 inheritedConditionalRendering : 0 as _,
11502 }
11503 }
11504}
11505impl ::std::default::Default for CommandBufferInheritanceConditionalRenderingInfoEXT {
11506 fn default() -> CommandBufferInheritanceConditionalRenderingInfoEXT {
11507 CommandBufferInheritanceConditionalRenderingInfoEXT {
11508 sType : STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT,
11509 pNext : 0 as _,
11510 conditionalRenderingEnable : 0 as _,
11511 }
11512 }
11513}
11514impl ::std::default::Default for ViewportWScalingNV {
11515 fn default() -> ViewportWScalingNV {
11516 ViewportWScalingNV {
11517 xcoeff : 0 as _,
11518 ycoeff : 0 as _,
11519 }
11520 }
11521}
11522impl ::std::default::Default for PipelineViewportWScalingStateCreateInfoNV {
11523 fn default() -> PipelineViewportWScalingStateCreateInfoNV {
11524 PipelineViewportWScalingStateCreateInfoNV {
11525 sType : STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV,
11526 pNext : 0 as _,
11527 viewportWScalingEnable : 0 as _,
11528 viewportCount : 0 as _,
11529 pViewportWScalings : 0 as _,
11530 }
11531 }
11532}
11533impl ::std::default::Default for SurfaceCapabilities2EXT {
11534 fn default() -> SurfaceCapabilities2EXT {
11535 SurfaceCapabilities2EXT {
11536 sType : STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT,
11537 pNext : 0 as _,
11538 minImageCount : 0 as _,
11539 maxImageCount : 0 as _,
11540 currentExtent : Default::default(),
11541 minImageExtent : Default::default(),
11542 maxImageExtent : Default::default(),
11543 maxImageArrayLayers : 0 as _,
11544 supportedTransforms : Default::default(),
11545 currentTransform : Default::default(),
11546 supportedCompositeAlpha : Default::default(),
11547 supportedUsageFlags : Default::default(),
11548 supportedSurfaceCounters : Default::default(),
11549 }
11550 }
11551}
11552impl ::std::default::Default for DisplayPowerInfoEXT {
11553 fn default() -> DisplayPowerInfoEXT {
11554 DisplayPowerInfoEXT {
11555 sType : STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT,
11556 pNext : 0 as _,
11557 powerState : Default::default(),
11558 }
11559 }
11560}
11561impl ::std::default::Default for DeviceEventInfoEXT {
11562 fn default() -> DeviceEventInfoEXT {
11563 DeviceEventInfoEXT {
11564 sType : STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT,
11565 pNext : 0 as _,
11566 deviceEvent : Default::default(),
11567 }
11568 }
11569}
11570impl ::std::default::Default for DisplayEventInfoEXT {
11571 fn default() -> DisplayEventInfoEXT {
11572 DisplayEventInfoEXT {
11573 sType : STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT,
11574 pNext : 0 as _,
11575 displayEvent : Default::default(),
11576 }
11577 }
11578}
11579impl ::std::default::Default for SwapchainCounterCreateInfoEXT {
11580 fn default() -> SwapchainCounterCreateInfoEXT {
11581 SwapchainCounterCreateInfoEXT {
11582 sType : STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT,
11583 pNext : 0 as _,
11584 surfaceCounters : Default::default(),
11585 }
11586 }
11587}
11588impl ::std::default::Default for RefreshCycleDurationGOOGLE {
11589 fn default() -> RefreshCycleDurationGOOGLE {
11590 RefreshCycleDurationGOOGLE {
11591 refreshDuration : 0 as _,
11592 }
11593 }
11594}
11595impl ::std::default::Default for PastPresentationTimingGOOGLE {
11596 fn default() -> PastPresentationTimingGOOGLE {
11597 PastPresentationTimingGOOGLE {
11598 presentID : 0 as _,
11599 desiredPresentTime : 0 as _,
11600 actualPresentTime : 0 as _,
11601 earliestPresentTime : 0 as _,
11602 presentMargin : 0 as _,
11603 }
11604 }
11605}
11606impl ::std::default::Default for PresentTimeGOOGLE {
11607 fn default() -> PresentTimeGOOGLE {
11608 PresentTimeGOOGLE {
11609 presentID : 0 as _,
11610 desiredPresentTime : 0 as _,
11611 }
11612 }
11613}
11614impl ::std::default::Default for PresentTimesInfoGOOGLE {
11615 fn default() -> PresentTimesInfoGOOGLE {
11616 PresentTimesInfoGOOGLE {
11617 sType : STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE,
11618 pNext : 0 as _,
11619 swapchainCount : 0 as _,
11620 pTimes : 0 as _,
11621 }
11622 }
11623}
11624impl ::std::default::Default for PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
11625 fn default() -> PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
11626 PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
11627 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX,
11628 pNext : 0 as _,
11629 perViewPositionAllComponents : 0 as _,
11630 }
11631 }
11632}
11633impl ::std::default::Default for ViewportSwizzleNV {
11634 fn default() -> ViewportSwizzleNV {
11635 ViewportSwizzleNV {
11636 x : Default::default(),
11637 y : Default::default(),
11638 z : Default::default(),
11639 w : Default::default(),
11640 }
11641 }
11642}
11643impl ::std::default::Default for PipelineViewportSwizzleStateCreateInfoNV {
11644 fn default() -> PipelineViewportSwizzleStateCreateInfoNV {
11645 PipelineViewportSwizzleStateCreateInfoNV {
11646 sType : STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV,
11647 pNext : 0 as _,
11648 flags : Default::default(),
11649 viewportCount : 0 as _,
11650 pViewportSwizzles : 0 as _,
11651 }
11652 }
11653}
11654impl ::std::default::Default for PhysicalDeviceDiscardRectanglePropertiesEXT {
11655 fn default() -> PhysicalDeviceDiscardRectanglePropertiesEXT {
11656 PhysicalDeviceDiscardRectanglePropertiesEXT {
11657 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT,
11658 pNext : 0 as _,
11659 maxDiscardRectangles : 0 as _,
11660 }
11661 }
11662}
11663impl ::std::default::Default for PipelineDiscardRectangleStateCreateInfoEXT {
11664 fn default() -> PipelineDiscardRectangleStateCreateInfoEXT {
11665 PipelineDiscardRectangleStateCreateInfoEXT {
11666 sType : STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT,
11667 pNext : 0 as _,
11668 flags : Default::default(),
11669 discardRectangleMode : Default::default(),
11670 discardRectangleCount : 0 as _,
11671 pDiscardRectangles : 0 as _,
11672 }
11673 }
11674}
11675impl ::std::default::Default for PhysicalDeviceConservativeRasterizationPropertiesEXT {
11676 fn default() -> PhysicalDeviceConservativeRasterizationPropertiesEXT {
11677 PhysicalDeviceConservativeRasterizationPropertiesEXT {
11678 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT,
11679 pNext : 0 as _,
11680 primitiveOverestimationSize : 0 as _,
11681 maxExtraPrimitiveOverestimationSize : 0 as _,
11682 extraPrimitiveOverestimationSizeGranularity : 0 as _,
11683 primitiveUnderestimation : 0 as _,
11684 conservativePointAndLineRasterization : 0 as _,
11685 degenerateTrianglesRasterized : 0 as _,
11686 degenerateLinesRasterized : 0 as _,
11687 fullyCoveredFragmentShaderInputVariable : 0 as _,
11688 conservativeRasterizationPostDepthCoverage : 0 as _,
11689 }
11690 }
11691}
11692impl ::std::default::Default for PipelineRasterizationConservativeStateCreateInfoEXT {
11693 fn default() -> PipelineRasterizationConservativeStateCreateInfoEXT {
11694 PipelineRasterizationConservativeStateCreateInfoEXT {
11695 sType : STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT,
11696 pNext : 0 as _,
11697 flags : Default::default(),
11698 conservativeRasterizationMode : Default::default(),
11699 extraPrimitiveOverestimationSize : 0 as _,
11700 }
11701 }
11702}
11703impl ::std::default::Default for PhysicalDeviceDepthClipEnableFeaturesEXT {
11704 fn default() -> PhysicalDeviceDepthClipEnableFeaturesEXT {
11705 PhysicalDeviceDepthClipEnableFeaturesEXT {
11706 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT,
11707 pNext : 0 as _,
11708 depthClipEnable : 0 as _,
11709 }
11710 }
11711}
11712impl ::std::default::Default for PipelineRasterizationDepthClipStateCreateInfoEXT {
11713 fn default() -> PipelineRasterizationDepthClipStateCreateInfoEXT {
11714 PipelineRasterizationDepthClipStateCreateInfoEXT {
11715 sType : STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT,
11716 pNext : 0 as _,
11717 flags : Default::default(),
11718 depthClipEnable : 0 as _,
11719 }
11720 }
11721}
11722impl ::std::default::Default for XYColorEXT {
11723 fn default() -> XYColorEXT {
11724 XYColorEXT {
11725 x : 0 as _,
11726 y : 0 as _,
11727 }
11728 }
11729}
11730impl ::std::default::Default for HdrMetadataEXT {
11731 fn default() -> HdrMetadataEXT {
11732 HdrMetadataEXT {
11733 sType : STRUCTURE_TYPE_HDR_METADATA_EXT,
11734 pNext : 0 as _,
11735 displayPrimaryRed : Default::default(),
11736 displayPrimaryGreen : Default::default(),
11737 displayPrimaryBlue : Default::default(),
11738 whitePoint : Default::default(),
11739 maxLuminance : 0 as _,
11740 minLuminance : 0 as _,
11741 maxContentLightLevel : 0 as _,
11742 maxFrameAverageLightLevel : 0 as _,
11743 }
11744 }
11745}
11746impl ::std::default::Default for DebugUtilsLabelEXT {
11747 fn default() -> DebugUtilsLabelEXT {
11748 DebugUtilsLabelEXT {
11749 sType : STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT,
11750 pNext : 0 as _,
11751 pLabelName : 0 as _,
11752 color : [Default::default();4],
11753 }
11754 }
11755}
11756impl ::std::default::Default for DebugUtilsObjectNameInfoEXT {
11757 fn default() -> DebugUtilsObjectNameInfoEXT {
11758 DebugUtilsObjectNameInfoEXT {
11759 sType : STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT,
11760 pNext : 0 as _,
11761 objectType : Default::default(),
11762 objectHandle : 0 as _,
11763 pObjectName : 0 as _,
11764 }
11765 }
11766}
11767impl ::std::default::Default for DebugUtilsMessengerCallbackDataEXT {
11768 fn default() -> DebugUtilsMessengerCallbackDataEXT {
11769 DebugUtilsMessengerCallbackDataEXT {
11770 sType : STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT,
11771 pNext : 0 as _,
11772 flags : Default::default(),
11773 pMessageIdName : 0 as _,
11774 messageIdNumber : 0 as _,
11775 pMessage : 0 as _,
11776 queueLabelCount : 0 as _,
11777 pQueueLabels : 0 as _,
11778 cmdBufLabelCount : 0 as _,
11779 pCmdBufLabels : 0 as _,
11780 objectCount : 0 as _,
11781 pObjects : 0 as _,
11782 }
11783 }
11784}
11785impl ::std::default::Default for DebugUtilsObjectTagInfoEXT {
11786 fn default() -> DebugUtilsObjectTagInfoEXT {
11787 DebugUtilsObjectTagInfoEXT {
11788 sType : STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT,
11789 pNext : 0 as _,
11790 objectType : Default::default(),
11791 objectHandle : 0 as _,
11792 tagName : 0 as _,
11793 tagSize : Default::default(),
11794 pTag : 0 as _,
11795 }
11796 }
11797}
11798impl ::std::default::Default for DebugUtilsMessengerCreateInfoEXT {
11799 fn default() -> DebugUtilsMessengerCreateInfoEXT {
11800 DebugUtilsMessengerCreateInfoEXT {
11801 sType : STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT,
11802 pNext : 0 as _,
11803 flags : Default::default(),
11804 messageSeverity : Default::default(),
11805 messageType : Default::default(),
11806 pfnUserCallback : 0 as _,
11807 pUserData : 0 as _,
11808 }
11809 }
11810}
11811impl ::std::default::Default for PhysicalDeviceInlineUniformBlockFeaturesEXT {
11812 fn default() -> PhysicalDeviceInlineUniformBlockFeaturesEXT {
11813 PhysicalDeviceInlineUniformBlockFeaturesEXT {
11814 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT,
11815 pNext : 0 as _,
11816 inlineUniformBlock : 0 as _,
11817 descriptorBindingInlineUniformBlockUpdateAfterBind : 0 as _,
11818 }
11819 }
11820}
11821impl ::std::default::Default for PhysicalDeviceInlineUniformBlockPropertiesEXT {
11822 fn default() -> PhysicalDeviceInlineUniformBlockPropertiesEXT {
11823 PhysicalDeviceInlineUniformBlockPropertiesEXT {
11824 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT,
11825 pNext : 0 as _,
11826 maxInlineUniformBlockSize : 0 as _,
11827 maxPerStageDescriptorInlineUniformBlocks : 0 as _,
11828 maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks : 0 as _,
11829 maxDescriptorSetInlineUniformBlocks : 0 as _,
11830 maxDescriptorSetUpdateAfterBindInlineUniformBlocks : 0 as _,
11831 }
11832 }
11833}
11834impl ::std::default::Default for WriteDescriptorSetInlineUniformBlockEXT {
11835 fn default() -> WriteDescriptorSetInlineUniformBlockEXT {
11836 WriteDescriptorSetInlineUniformBlockEXT {
11837 sType : STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT,
11838 pNext : 0 as _,
11839 dataSize : 0 as _,
11840 pData : 0 as _,
11841 }
11842 }
11843}
11844impl ::std::default::Default for DescriptorPoolInlineUniformBlockCreateInfoEXT {
11845 fn default() -> DescriptorPoolInlineUniformBlockCreateInfoEXT {
11846 DescriptorPoolInlineUniformBlockCreateInfoEXT {
11847 sType : STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT,
11848 pNext : 0 as _,
11849 maxInlineUniformBlockBindings : 0 as _,
11850 }
11851 }
11852}
11853impl ::std::default::Default for SampleLocationEXT {
11854 fn default() -> SampleLocationEXT {
11855 SampleLocationEXT {
11856 x : 0 as _,
11857 y : 0 as _,
11858 }
11859 }
11860}
11861impl ::std::default::Default for SampleLocationsInfoEXT {
11862 fn default() -> SampleLocationsInfoEXT {
11863 SampleLocationsInfoEXT {
11864 sType : STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT,
11865 pNext : 0 as _,
11866 sampleLocationsPerPixel : Default::default(),
11867 sampleLocationGridSize : Default::default(),
11868 sampleLocationsCount : 0 as _,
11869 pSampleLocations : 0 as _,
11870 }
11871 }
11872}
11873impl ::std::default::Default for AttachmentSampleLocationsEXT {
11874 fn default() -> AttachmentSampleLocationsEXT {
11875 AttachmentSampleLocationsEXT {
11876 attachmentIndex : 0 as _,
11877 sampleLocationsInfo : Default::default(),
11878 }
11879 }
11880}
11881impl ::std::default::Default for SubpassSampleLocationsEXT {
11882 fn default() -> SubpassSampleLocationsEXT {
11883 SubpassSampleLocationsEXT {
11884 subpassIndex : 0 as _,
11885 sampleLocationsInfo : Default::default(),
11886 }
11887 }
11888}
11889impl ::std::default::Default for RenderPassSampleLocationsBeginInfoEXT {
11890 fn default() -> RenderPassSampleLocationsBeginInfoEXT {
11891 RenderPassSampleLocationsBeginInfoEXT {
11892 sType : STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT,
11893 pNext : 0 as _,
11894 attachmentInitialSampleLocationsCount : 0 as _,
11895 pAttachmentInitialSampleLocations : 0 as _,
11896 postSubpassSampleLocationsCount : 0 as _,
11897 pPostSubpassSampleLocations : 0 as _,
11898 }
11899 }
11900}
11901impl ::std::default::Default for PipelineSampleLocationsStateCreateInfoEXT {
11902 fn default() -> PipelineSampleLocationsStateCreateInfoEXT {
11903 PipelineSampleLocationsStateCreateInfoEXT {
11904 sType : STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT,
11905 pNext : 0 as _,
11906 sampleLocationsEnable : 0 as _,
11907 sampleLocationsInfo : Default::default(),
11908 }
11909 }
11910}
11911impl ::std::default::Default for PhysicalDeviceSampleLocationsPropertiesEXT {
11912 fn default() -> PhysicalDeviceSampleLocationsPropertiesEXT {
11913 PhysicalDeviceSampleLocationsPropertiesEXT {
11914 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT,
11915 pNext : 0 as _,
11916 sampleLocationSampleCounts : Default::default(),
11917 maxSampleLocationGridSize : Default::default(),
11918 sampleLocationCoordinateRange : [Default::default();2],
11919 sampleLocationSubPixelBits : 0 as _,
11920 variableSampleLocations : 0 as _,
11921 }
11922 }
11923}
11924impl ::std::default::Default for MultisamplePropertiesEXT {
11925 fn default() -> MultisamplePropertiesEXT {
11926 MultisamplePropertiesEXT {
11927 sType : STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT,
11928 pNext : 0 as _,
11929 maxSampleLocationGridSize : Default::default(),
11930 }
11931 }
11932}
11933impl ::std::default::Default for PhysicalDeviceBlendOperationAdvancedFeaturesEXT {
11934 fn default() -> PhysicalDeviceBlendOperationAdvancedFeaturesEXT {
11935 PhysicalDeviceBlendOperationAdvancedFeaturesEXT {
11936 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT,
11937 pNext : 0 as _,
11938 advancedBlendCoherentOperations : 0 as _,
11939 }
11940 }
11941}
11942impl ::std::default::Default for PhysicalDeviceBlendOperationAdvancedPropertiesEXT {
11943 fn default() -> PhysicalDeviceBlendOperationAdvancedPropertiesEXT {
11944 PhysicalDeviceBlendOperationAdvancedPropertiesEXT {
11945 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT,
11946 pNext : 0 as _,
11947 advancedBlendMaxColorAttachments : 0 as _,
11948 advancedBlendIndependentBlend : 0 as _,
11949 advancedBlendNonPremultipliedSrcColor : 0 as _,
11950 advancedBlendNonPremultipliedDstColor : 0 as _,
11951 advancedBlendCorrelatedOverlap : 0 as _,
11952 advancedBlendAllOperations : 0 as _,
11953 }
11954 }
11955}
11956impl ::std::default::Default for PipelineColorBlendAdvancedStateCreateInfoEXT {
11957 fn default() -> PipelineColorBlendAdvancedStateCreateInfoEXT {
11958 PipelineColorBlendAdvancedStateCreateInfoEXT {
11959 sType : STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT,
11960 pNext : 0 as _,
11961 srcPremultiplied : 0 as _,
11962 dstPremultiplied : 0 as _,
11963 blendOverlap : Default::default(),
11964 }
11965 }
11966}
11967impl ::std::default::Default for PipelineCoverageToColorStateCreateInfoNV {
11968 fn default() -> PipelineCoverageToColorStateCreateInfoNV {
11969 PipelineCoverageToColorStateCreateInfoNV {
11970 sType : STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV,
11971 pNext : 0 as _,
11972 flags : Default::default(),
11973 coverageToColorEnable : 0 as _,
11974 coverageToColorLocation : 0 as _,
11975 }
11976 }
11977}
11978impl ::std::default::Default for PipelineCoverageModulationStateCreateInfoNV {
11979 fn default() -> PipelineCoverageModulationStateCreateInfoNV {
11980 PipelineCoverageModulationStateCreateInfoNV {
11981 sType : STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV,
11982 pNext : 0 as _,
11983 flags : Default::default(),
11984 coverageModulationMode : Default::default(),
11985 coverageModulationTableEnable : 0 as _,
11986 coverageModulationTableCount : 0 as _,
11987 pCoverageModulationTable : 0 as _,
11988 }
11989 }
11990}
11991impl ::std::default::Default for PhysicalDeviceShaderSMBuiltinsPropertiesNV {
11992 fn default() -> PhysicalDeviceShaderSMBuiltinsPropertiesNV {
11993 PhysicalDeviceShaderSMBuiltinsPropertiesNV {
11994 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV,
11995 pNext : 0 as _,
11996 shaderSMCount : 0 as _,
11997 shaderWarpsPerSM : 0 as _,
11998 }
11999 }
12000}
12001impl ::std::default::Default for PhysicalDeviceShaderSMBuiltinsFeaturesNV {
12002 fn default() -> PhysicalDeviceShaderSMBuiltinsFeaturesNV {
12003 PhysicalDeviceShaderSMBuiltinsFeaturesNV {
12004 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV,
12005 pNext : 0 as _,
12006 shaderSMBuiltins : 0 as _,
12007 }
12008 }
12009}
12010impl ::std::default::Default for DrmFormatModifierPropertiesEXT {
12011 fn default() -> DrmFormatModifierPropertiesEXT {
12012 DrmFormatModifierPropertiesEXT {
12013 drmFormatModifier : 0 as _,
12014 drmFormatModifierPlaneCount : 0 as _,
12015 drmFormatModifierTilingFeatures : Default::default(),
12016 }
12017 }
12018}
12019impl ::std::default::Default for DrmFormatModifierPropertiesListEXT {
12020 fn default() -> DrmFormatModifierPropertiesListEXT {
12021 DrmFormatModifierPropertiesListEXT {
12022 sType : STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT,
12023 pNext : 0 as _,
12024 drmFormatModifierCount : 0 as _,
12025 pDrmFormatModifierProperties : 0 as _,
12026 }
12027 }
12028}
12029impl ::std::default::Default for PhysicalDeviceImageDrmFormatModifierInfoEXT {
12030 fn default() -> PhysicalDeviceImageDrmFormatModifierInfoEXT {
12031 PhysicalDeviceImageDrmFormatModifierInfoEXT {
12032 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT,
12033 pNext : 0 as _,
12034 drmFormatModifier : 0 as _,
12035 sharingMode : Default::default(),
12036 queueFamilyIndexCount : 0 as _,
12037 pQueueFamilyIndices : 0 as _,
12038 }
12039 }
12040}
12041impl ::std::default::Default for ImageDrmFormatModifierListCreateInfoEXT {
12042 fn default() -> ImageDrmFormatModifierListCreateInfoEXT {
12043 ImageDrmFormatModifierListCreateInfoEXT {
12044 sType : STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT,
12045 pNext : 0 as _,
12046 drmFormatModifierCount : 0 as _,
12047 pDrmFormatModifiers : 0 as _,
12048 }
12049 }
12050}
12051impl ::std::default::Default for ImageDrmFormatModifierExplicitCreateInfoEXT {
12052 fn default() -> ImageDrmFormatModifierExplicitCreateInfoEXT {
12053 ImageDrmFormatModifierExplicitCreateInfoEXT {
12054 sType : STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT,
12055 pNext : 0 as _,
12056 drmFormatModifier : 0 as _,
12057 drmFormatModifierPlaneCount : 0 as _,
12058 pPlaneLayouts : 0 as _,
12059 }
12060 }
12061}
12062impl ::std::default::Default for ImageDrmFormatModifierPropertiesEXT {
12063 fn default() -> ImageDrmFormatModifierPropertiesEXT {
12064 ImageDrmFormatModifierPropertiesEXT {
12065 sType : STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT,
12066 pNext : 0 as _,
12067 drmFormatModifier : 0 as _,
12068 }
12069 }
12070}
12071impl ::std::default::Default for ValidationCacheCreateInfoEXT {
12072 fn default() -> ValidationCacheCreateInfoEXT {
12073 ValidationCacheCreateInfoEXT {
12074 sType : STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT,
12075 pNext : 0 as _,
12076 flags : Default::default(),
12077 initialDataSize : Default::default(),
12078 pInitialData : 0 as _,
12079 }
12080 }
12081}
12082impl ::std::default::Default for ShaderModuleValidationCacheCreateInfoEXT {
12083 fn default() -> ShaderModuleValidationCacheCreateInfoEXT {
12084 ShaderModuleValidationCacheCreateInfoEXT {
12085 sType : STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT,
12086 pNext : 0 as _,
12087 validationCache : Default::default(),
12088 }
12089 }
12090}
12091impl ::std::default::Default for ShadingRatePaletteNV {
12092 fn default() -> ShadingRatePaletteNV {
12093 ShadingRatePaletteNV {
12094 shadingRatePaletteEntryCount : 0 as _,
12095 pShadingRatePaletteEntries : 0 as _,
12096 }
12097 }
12098}
12099impl ::std::default::Default for PipelineViewportShadingRateImageStateCreateInfoNV {
12100 fn default() -> PipelineViewportShadingRateImageStateCreateInfoNV {
12101 PipelineViewportShadingRateImageStateCreateInfoNV {
12102 sType : STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV,
12103 pNext : 0 as _,
12104 shadingRateImageEnable : 0 as _,
12105 viewportCount : 0 as _,
12106 pShadingRatePalettes : 0 as _,
12107 }
12108 }
12109}
12110impl ::std::default::Default for PhysicalDeviceShadingRateImageFeaturesNV {
12111 fn default() -> PhysicalDeviceShadingRateImageFeaturesNV {
12112 PhysicalDeviceShadingRateImageFeaturesNV {
12113 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV,
12114 pNext : 0 as _,
12115 shadingRateImage : 0 as _,
12116 shadingRateCoarseSampleOrder : 0 as _,
12117 }
12118 }
12119}
12120impl ::std::default::Default for PhysicalDeviceShadingRateImagePropertiesNV {
12121 fn default() -> PhysicalDeviceShadingRateImagePropertiesNV {
12122 PhysicalDeviceShadingRateImagePropertiesNV {
12123 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV,
12124 pNext : 0 as _,
12125 shadingRateTexelSize : Default::default(),
12126 shadingRatePaletteSize : 0 as _,
12127 shadingRateMaxCoarseSamples : 0 as _,
12128 }
12129 }
12130}
12131impl ::std::default::Default for CoarseSampleLocationNV {
12132 fn default() -> CoarseSampleLocationNV {
12133 CoarseSampleLocationNV {
12134 pixelX : 0 as _,
12135 pixelY : 0 as _,
12136 sample : 0 as _,
12137 }
12138 }
12139}
12140impl ::std::default::Default for CoarseSampleOrderCustomNV {
12141 fn default() -> CoarseSampleOrderCustomNV {
12142 CoarseSampleOrderCustomNV {
12143 shadingRate : Default::default(),
12144 sampleCount : 0 as _,
12145 sampleLocationCount : 0 as _,
12146 pSampleLocations : 0 as _,
12147 }
12148 }
12149}
12150impl ::std::default::Default for PipelineViewportCoarseSampleOrderStateCreateInfoNV {
12151 fn default() -> PipelineViewportCoarseSampleOrderStateCreateInfoNV {
12152 PipelineViewportCoarseSampleOrderStateCreateInfoNV {
12153 sType : STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV,
12154 pNext : 0 as _,
12155 sampleOrderType : Default::default(),
12156 customSampleOrderCount : 0 as _,
12157 pCustomSampleOrders : 0 as _,
12158 }
12159 }
12160}
12161impl ::std::default::Default for RayTracingShaderGroupCreateInfoNV {
12162 fn default() -> RayTracingShaderGroupCreateInfoNV {
12163 RayTracingShaderGroupCreateInfoNV {
12164 sType : STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV,
12165 pNext : 0 as _,
12166 r#type : Default::default(),
12167 generalShader : 0 as _,
12168 closestHitShader : 0 as _,
12169 anyHitShader : 0 as _,
12170 intersectionShader : 0 as _,
12171 }
12172 }
12173}
12174impl ::std::default::Default for RayTracingPipelineCreateInfoNV {
12175 fn default() -> RayTracingPipelineCreateInfoNV {
12176 RayTracingPipelineCreateInfoNV {
12177 sType : STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV,
12178 pNext : 0 as _,
12179 flags : Default::default(),
12180 stageCount : 0 as _,
12181 pStages : 0 as _,
12182 groupCount : 0 as _,
12183 pGroups : 0 as _,
12184 maxRecursionDepth : 0 as _,
12185 layout : Default::default(),
12186 basePipelineHandle : Default::default(),
12187 basePipelineIndex : 0 as _,
12188 }
12189 }
12190}
12191impl ::std::default::Default for GeometryTrianglesNV {
12192 fn default() -> GeometryTrianglesNV {
12193 GeometryTrianglesNV {
12194 sType : STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV,
12195 pNext : 0 as _,
12196 vertexData : Default::default(),
12197 vertexOffset : Default::default(),
12198 vertexCount : 0 as _,
12199 vertexStride : Default::default(),
12200 vertexFormat : Default::default(),
12201 indexData : Default::default(),
12202 indexOffset : Default::default(),
12203 indexCount : 0 as _,
12204 indexType : Default::default(),
12205 transformData : Default::default(),
12206 transformOffset : Default::default(),
12207 }
12208 }
12209}
12210impl ::std::default::Default for GeometryAABBNV {
12211 fn default() -> GeometryAABBNV {
12212 GeometryAABBNV {
12213 sType : STRUCTURE_TYPE_GEOMETRY_AABB_NV,
12214 pNext : 0 as _,
12215 aabbData : Default::default(),
12216 numAABBs : 0 as _,
12217 stride : 0 as _,
12218 offset : Default::default(),
12219 }
12220 }
12221}
12222impl ::std::default::Default for GeometryDataNV {
12223 fn default() -> GeometryDataNV {
12224 GeometryDataNV {
12225 triangles : Default::default(),
12226 aabbs : Default::default(),
12227 }
12228 }
12229}
12230impl ::std::default::Default for GeometryNV {
12231 fn default() -> GeometryNV {
12232 GeometryNV {
12233 sType : STRUCTURE_TYPE_GEOMETRY_NV,
12234 pNext : 0 as _,
12235 geometryType : Default::default(),
12236 geometry : Default::default(),
12237 flags : Default::default(),
12238 }
12239 }
12240}
12241impl ::std::default::Default for AccelerationStructureInfoNV {
12242 fn default() -> AccelerationStructureInfoNV {
12243 AccelerationStructureInfoNV {
12244 sType : STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV,
12245 pNext : 0 as _,
12246 r#type : Default::default(),
12247 flags : Default::default(),
12248 instanceCount : 0 as _,
12249 geometryCount : 0 as _,
12250 pGeometries : 0 as _,
12251 }
12252 }
12253}
12254impl ::std::default::Default for AccelerationStructureCreateInfoNV {
12255 fn default() -> AccelerationStructureCreateInfoNV {
12256 AccelerationStructureCreateInfoNV {
12257 sType : STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV,
12258 pNext : 0 as _,
12259 compactedSize : Default::default(),
12260 info : Default::default(),
12261 }
12262 }
12263}
12264impl ::std::default::Default for BindAccelerationStructureMemoryInfoKHR {
12265 fn default() -> BindAccelerationStructureMemoryInfoKHR {
12266 BindAccelerationStructureMemoryInfoKHR {
12267 sType : STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_KHR,
12268 pNext : 0 as _,
12269 accelerationStructure : Default::default(),
12270 memory : Default::default(),
12271 memoryOffset : Default::default(),
12272 deviceIndexCount : 0 as _,
12273 pDeviceIndices : 0 as _,
12274 }
12275 }
12276}
12277impl ::std::default::Default for WriteDescriptorSetAccelerationStructureKHR {
12278 fn default() -> WriteDescriptorSetAccelerationStructureKHR {
12279 WriteDescriptorSetAccelerationStructureKHR {
12280 sType : STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR,
12281 pNext : 0 as _,
12282 accelerationStructureCount : 0 as _,
12283 pAccelerationStructures : 0 as _,
12284 }
12285 }
12286}
12287impl ::std::default::Default for AccelerationStructureMemoryRequirementsInfoNV {
12288 fn default() -> AccelerationStructureMemoryRequirementsInfoNV {
12289 AccelerationStructureMemoryRequirementsInfoNV {
12290 sType : STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV,
12291 pNext : 0 as _,
12292 r#type : Default::default(),
12293 accelerationStructure : Default::default(),
12294 }
12295 }
12296}
12297impl ::std::default::Default for PhysicalDeviceRayTracingPropertiesNV {
12298 fn default() -> PhysicalDeviceRayTracingPropertiesNV {
12299 PhysicalDeviceRayTracingPropertiesNV {
12300 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV,
12301 pNext : 0 as _,
12302 shaderGroupHandleSize : 0 as _,
12303 maxRecursionDepth : 0 as _,
12304 maxShaderGroupStride : 0 as _,
12305 shaderGroupBaseAlignment : 0 as _,
12306 maxGeometryCount : 0 as _,
12307 maxInstanceCount : 0 as _,
12308 maxTriangleCount : 0 as _,
12309 maxDescriptorSetAccelerationStructures : 0 as _,
12310 }
12311 }
12312}
12313impl ::std::default::Default for TransformMatrixKHR {
12314 fn default() -> TransformMatrixKHR {
12315 TransformMatrixKHR {
12316 matrix : [Default::default();12],
12317 }
12318 }
12319}
12320impl ::std::default::Default for AabbPositionsKHR {
12321 fn default() -> AabbPositionsKHR {
12322 AabbPositionsKHR {
12323 minX : 0 as _,
12324 minY : 0 as _,
12325 minZ : 0 as _,
12326 maxX : 0 as _,
12327 maxY : 0 as _,
12328 maxZ : 0 as _,
12329 }
12330 }
12331}
12332impl ::std::default::Default for PhysicalDeviceRepresentativeFragmentTestFeaturesNV {
12333 fn default() -> PhysicalDeviceRepresentativeFragmentTestFeaturesNV {
12334 PhysicalDeviceRepresentativeFragmentTestFeaturesNV {
12335 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV,
12336 pNext : 0 as _,
12337 representativeFragmentTest : 0 as _,
12338 }
12339 }
12340}
12341impl ::std::default::Default for PipelineRepresentativeFragmentTestStateCreateInfoNV {
12342 fn default() -> PipelineRepresentativeFragmentTestStateCreateInfoNV {
12343 PipelineRepresentativeFragmentTestStateCreateInfoNV {
12344 sType : STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV,
12345 pNext : 0 as _,
12346 representativeFragmentTestEnable : 0 as _,
12347 }
12348 }
12349}
12350impl ::std::default::Default for PhysicalDeviceImageViewImageFormatInfoEXT {
12351 fn default() -> PhysicalDeviceImageViewImageFormatInfoEXT {
12352 PhysicalDeviceImageViewImageFormatInfoEXT {
12353 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT,
12354 pNext : 0 as _,
12355 imageViewType : Default::default(),
12356 }
12357 }
12358}
12359impl ::std::default::Default for FilterCubicImageViewImageFormatPropertiesEXT {
12360 fn default() -> FilterCubicImageViewImageFormatPropertiesEXT {
12361 FilterCubicImageViewImageFormatPropertiesEXT {
12362 sType : STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT,
12363 pNext : 0 as _,
12364 filterCubic : 0 as _,
12365 filterCubicMinmax : 0 as _,
12366 }
12367 }
12368}
12369impl ::std::default::Default for DeviceQueueGlobalPriorityCreateInfoEXT {
12370 fn default() -> DeviceQueueGlobalPriorityCreateInfoEXT {
12371 DeviceQueueGlobalPriorityCreateInfoEXT {
12372 sType : STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT,
12373 pNext : 0 as _,
12374 globalPriority : Default::default(),
12375 }
12376 }
12377}
12378impl ::std::default::Default for ImportMemoryHostPointerInfoEXT {
12379 fn default() -> ImportMemoryHostPointerInfoEXT {
12380 ImportMemoryHostPointerInfoEXT {
12381 sType : STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT,
12382 pNext : 0 as _,
12383 handleType : Default::default(),
12384 pHostPointer : 0 as _,
12385 }
12386 }
12387}
12388impl ::std::default::Default for MemoryHostPointerPropertiesEXT {
12389 fn default() -> MemoryHostPointerPropertiesEXT {
12390 MemoryHostPointerPropertiesEXT {
12391 sType : STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT,
12392 pNext : 0 as _,
12393 memoryTypeBits : 0 as _,
12394 }
12395 }
12396}
12397impl ::std::default::Default for PhysicalDeviceExternalMemoryHostPropertiesEXT {
12398 fn default() -> PhysicalDeviceExternalMemoryHostPropertiesEXT {
12399 PhysicalDeviceExternalMemoryHostPropertiesEXT {
12400 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT,
12401 pNext : 0 as _,
12402 minImportedHostPointerAlignment : Default::default(),
12403 }
12404 }
12405}
12406impl ::std::default::Default for PipelineCompilerControlCreateInfoAMD {
12407 fn default() -> PipelineCompilerControlCreateInfoAMD {
12408 PipelineCompilerControlCreateInfoAMD {
12409 sType : STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD,
12410 pNext : 0 as _,
12411 compilerControlFlags : Default::default(),
12412 }
12413 }
12414}
12415impl ::std::default::Default for CalibratedTimestampInfoEXT {
12416 fn default() -> CalibratedTimestampInfoEXT {
12417 CalibratedTimestampInfoEXT {
12418 sType : STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT,
12419 pNext : 0 as _,
12420 timeDomain : Default::default(),
12421 }
12422 }
12423}
12424impl ::std::default::Default for PhysicalDeviceShaderCorePropertiesAMD {
12425 fn default() -> PhysicalDeviceShaderCorePropertiesAMD {
12426 PhysicalDeviceShaderCorePropertiesAMD {
12427 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD,
12428 pNext : 0 as _,
12429 shaderEngineCount : 0 as _,
12430 shaderArraysPerEngineCount : 0 as _,
12431 computeUnitsPerShaderArray : 0 as _,
12432 simdPerComputeUnit : 0 as _,
12433 wavefrontsPerSimd : 0 as _,
12434 wavefrontSize : 0 as _,
12435 sgprsPerSimd : 0 as _,
12436 minSgprAllocation : 0 as _,
12437 maxSgprAllocation : 0 as _,
12438 sgprAllocationGranularity : 0 as _,
12439 vgprsPerSimd : 0 as _,
12440 minVgprAllocation : 0 as _,
12441 maxVgprAllocation : 0 as _,
12442 vgprAllocationGranularity : 0 as _,
12443 }
12444 }
12445}
12446impl ::std::default::Default for DeviceMemoryOverallocationCreateInfoAMD {
12447 fn default() -> DeviceMemoryOverallocationCreateInfoAMD {
12448 DeviceMemoryOverallocationCreateInfoAMD {
12449 sType : STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD,
12450 pNext : 0 as _,
12451 overallocationBehavior : Default::default(),
12452 }
12453 }
12454}
12455impl ::std::default::Default for PhysicalDeviceVertexAttributeDivisorPropertiesEXT {
12456 fn default() -> PhysicalDeviceVertexAttributeDivisorPropertiesEXT {
12457 PhysicalDeviceVertexAttributeDivisorPropertiesEXT {
12458 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT,
12459 pNext : 0 as _,
12460 maxVertexAttribDivisor : 0 as _,
12461 }
12462 }
12463}
12464impl ::std::default::Default for VertexInputBindingDivisorDescriptionEXT {
12465 fn default() -> VertexInputBindingDivisorDescriptionEXT {
12466 VertexInputBindingDivisorDescriptionEXT {
12467 binding : 0 as _,
12468 divisor : 0 as _,
12469 }
12470 }
12471}
12472impl ::std::default::Default for PipelineVertexInputDivisorStateCreateInfoEXT {
12473 fn default() -> PipelineVertexInputDivisorStateCreateInfoEXT {
12474 PipelineVertexInputDivisorStateCreateInfoEXT {
12475 sType : STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT,
12476 pNext : 0 as _,
12477 vertexBindingDivisorCount : 0 as _,
12478 pVertexBindingDivisors : 0 as _,
12479 }
12480 }
12481}
12482impl ::std::default::Default for PhysicalDeviceVertexAttributeDivisorFeaturesEXT {
12483 fn default() -> PhysicalDeviceVertexAttributeDivisorFeaturesEXT {
12484 PhysicalDeviceVertexAttributeDivisorFeaturesEXT {
12485 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT,
12486 pNext : 0 as _,
12487 vertexAttributeInstanceRateDivisor : 0 as _,
12488 vertexAttributeInstanceRateZeroDivisor : 0 as _,
12489 }
12490 }
12491}
12492impl ::std::default::Default for PipelineCreationFeedbackEXT {
12493 fn default() -> PipelineCreationFeedbackEXT {
12494 PipelineCreationFeedbackEXT {
12495 flags : Default::default(),
12496 duration : 0 as _,
12497 }
12498 }
12499}
12500impl ::std::default::Default for PipelineCreationFeedbackCreateInfoEXT {
12501 fn default() -> PipelineCreationFeedbackCreateInfoEXT {
12502 PipelineCreationFeedbackCreateInfoEXT {
12503 sType : STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT,
12504 pNext : 0 as _,
12505 pPipelineCreationFeedback : 0 as _,
12506 pipelineStageCreationFeedbackCount : 0 as _,
12507 pPipelineStageCreationFeedbacks : 0 as _,
12508 }
12509 }
12510}
12511impl ::std::default::Default for PhysicalDeviceComputeShaderDerivativesFeaturesNV {
12512 fn default() -> PhysicalDeviceComputeShaderDerivativesFeaturesNV {
12513 PhysicalDeviceComputeShaderDerivativesFeaturesNV {
12514 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV,
12515 pNext : 0 as _,
12516 computeDerivativeGroupQuads : 0 as _,
12517 computeDerivativeGroupLinear : 0 as _,
12518 }
12519 }
12520}
12521impl ::std::default::Default for PhysicalDeviceMeshShaderFeaturesNV {
12522 fn default() -> PhysicalDeviceMeshShaderFeaturesNV {
12523 PhysicalDeviceMeshShaderFeaturesNV {
12524 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV,
12525 pNext : 0 as _,
12526 taskShader : 0 as _,
12527 meshShader : 0 as _,
12528 }
12529 }
12530}
12531impl ::std::default::Default for PhysicalDeviceMeshShaderPropertiesNV {
12532 fn default() -> PhysicalDeviceMeshShaderPropertiesNV {
12533 PhysicalDeviceMeshShaderPropertiesNV {
12534 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV,
12535 pNext : 0 as _,
12536 maxDrawMeshTasksCount : 0 as _,
12537 maxTaskWorkGroupInvocations : 0 as _,
12538 maxTaskWorkGroupSize : [Default::default();3],
12539 maxTaskTotalMemorySize : 0 as _,
12540 maxTaskOutputCount : 0 as _,
12541 maxMeshWorkGroupInvocations : 0 as _,
12542 maxMeshWorkGroupSize : [Default::default();3],
12543 maxMeshTotalMemorySize : 0 as _,
12544 maxMeshOutputVertices : 0 as _,
12545 maxMeshOutputPrimitives : 0 as _,
12546 maxMeshMultiviewViewCount : 0 as _,
12547 meshOutputPerVertexGranularity : 0 as _,
12548 meshOutputPerPrimitiveGranularity : 0 as _,
12549 }
12550 }
12551}
12552impl ::std::default::Default for DrawMeshTasksIndirectCommandNV {
12553 fn default() -> DrawMeshTasksIndirectCommandNV {
12554 DrawMeshTasksIndirectCommandNV {
12555 taskCount : 0 as _,
12556 firstTask : 0 as _,
12557 }
12558 }
12559}
12560impl ::std::default::Default for PhysicalDeviceFragmentShaderBarycentricFeaturesNV {
12561 fn default() -> PhysicalDeviceFragmentShaderBarycentricFeaturesNV {
12562 PhysicalDeviceFragmentShaderBarycentricFeaturesNV {
12563 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV,
12564 pNext : 0 as _,
12565 fragmentShaderBarycentric : 0 as _,
12566 }
12567 }
12568}
12569impl ::std::default::Default for PhysicalDeviceShaderImageFootprintFeaturesNV {
12570 fn default() -> PhysicalDeviceShaderImageFootprintFeaturesNV {
12571 PhysicalDeviceShaderImageFootprintFeaturesNV {
12572 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV,
12573 pNext : 0 as _,
12574 imageFootprint : 0 as _,
12575 }
12576 }
12577}
12578impl ::std::default::Default for PipelineViewportExclusiveScissorStateCreateInfoNV {
12579 fn default() -> PipelineViewportExclusiveScissorStateCreateInfoNV {
12580 PipelineViewportExclusiveScissorStateCreateInfoNV {
12581 sType : STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV,
12582 pNext : 0 as _,
12583 exclusiveScissorCount : 0 as _,
12584 pExclusiveScissors : 0 as _,
12585 }
12586 }
12587}
12588impl ::std::default::Default for PhysicalDeviceExclusiveScissorFeaturesNV {
12589 fn default() -> PhysicalDeviceExclusiveScissorFeaturesNV {
12590 PhysicalDeviceExclusiveScissorFeaturesNV {
12591 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV,
12592 pNext : 0 as _,
12593 exclusiveScissor : 0 as _,
12594 }
12595 }
12596}
12597impl ::std::default::Default for QueueFamilyCheckpointPropertiesNV {
12598 fn default() -> QueueFamilyCheckpointPropertiesNV {
12599 QueueFamilyCheckpointPropertiesNV {
12600 sType : STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV,
12601 pNext : 0 as _,
12602 checkpointExecutionStageMask : Default::default(),
12603 }
12604 }
12605}
12606impl ::std::default::Default for CheckpointDataNV {
12607 fn default() -> CheckpointDataNV {
12608 CheckpointDataNV {
12609 sType : STRUCTURE_TYPE_CHECKPOINT_DATA_NV,
12610 pNext : 0 as _,
12611 stage : Default::default(),
12612 pCheckpointMarker : 0 as _,
12613 }
12614 }
12615}
12616impl ::std::default::Default for PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
12617 fn default() -> PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
12618 PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
12619 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL,
12620 pNext : 0 as _,
12621 shaderIntegerFunctions2 : 0 as _,
12622 }
12623 }
12624}
12625impl ::std::default::Default for InitializePerformanceApiInfoINTEL {
12626 fn default() -> InitializePerformanceApiInfoINTEL {
12627 InitializePerformanceApiInfoINTEL {
12628 sType : STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL,
12629 pNext : 0 as _,
12630 pUserData : 0 as _,
12631 }
12632 }
12633}
12634impl ::std::default::Default for QueryPoolPerformanceQueryCreateInfoINTEL {
12635 fn default() -> QueryPoolPerformanceQueryCreateInfoINTEL {
12636 QueryPoolPerformanceQueryCreateInfoINTEL {
12637 sType : STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL,
12638 pNext : 0 as _,
12639 performanceCountersSampling : Default::default(),
12640 }
12641 }
12642}
12643impl ::std::default::Default for PerformanceMarkerInfoINTEL {
12644 fn default() -> PerformanceMarkerInfoINTEL {
12645 PerformanceMarkerInfoINTEL {
12646 sType : STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL,
12647 pNext : 0 as _,
12648 marker : 0 as _,
12649 }
12650 }
12651}
12652impl ::std::default::Default for PerformanceStreamMarkerInfoINTEL {
12653 fn default() -> PerformanceStreamMarkerInfoINTEL {
12654 PerformanceStreamMarkerInfoINTEL {
12655 sType : STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL,
12656 pNext : 0 as _,
12657 marker : 0 as _,
12658 }
12659 }
12660}
12661impl ::std::default::Default for PerformanceOverrideInfoINTEL {
12662 fn default() -> PerformanceOverrideInfoINTEL {
12663 PerformanceOverrideInfoINTEL {
12664 sType : STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL,
12665 pNext : 0 as _,
12666 r#type : Default::default(),
12667 enable : 0 as _,
12668 parameter : 0 as _,
12669 }
12670 }
12671}
12672impl ::std::default::Default for PerformanceConfigurationAcquireInfoINTEL {
12673 fn default() -> PerformanceConfigurationAcquireInfoINTEL {
12674 PerformanceConfigurationAcquireInfoINTEL {
12675 sType : STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL,
12676 pNext : 0 as _,
12677 r#type : Default::default(),
12678 }
12679 }
12680}
12681impl ::std::default::Default for PhysicalDevicePCIBusInfoPropertiesEXT {
12682 fn default() -> PhysicalDevicePCIBusInfoPropertiesEXT {
12683 PhysicalDevicePCIBusInfoPropertiesEXT {
12684 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT,
12685 pNext : 0 as _,
12686 pciDomain : 0 as _,
12687 pciBus : 0 as _,
12688 pciDevice : 0 as _,
12689 pciFunction : 0 as _,
12690 }
12691 }
12692}
12693impl ::std::default::Default for DisplayNativeHdrSurfaceCapabilitiesAMD {
12694 fn default() -> DisplayNativeHdrSurfaceCapabilitiesAMD {
12695 DisplayNativeHdrSurfaceCapabilitiesAMD {
12696 sType : STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD,
12697 pNext : 0 as _,
12698 localDimmingSupport : 0 as _,
12699 }
12700 }
12701}
12702impl ::std::default::Default for SwapchainDisplayNativeHdrCreateInfoAMD {
12703 fn default() -> SwapchainDisplayNativeHdrCreateInfoAMD {
12704 SwapchainDisplayNativeHdrCreateInfoAMD {
12705 sType : STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD,
12706 pNext : 0 as _,
12707 localDimmingEnable : 0 as _,
12708 }
12709 }
12710}
12711impl ::std::default::Default for PhysicalDeviceFragmentDensityMapFeaturesEXT {
12712 fn default() -> PhysicalDeviceFragmentDensityMapFeaturesEXT {
12713 PhysicalDeviceFragmentDensityMapFeaturesEXT {
12714 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT,
12715 pNext : 0 as _,
12716 fragmentDensityMap : 0 as _,
12717 fragmentDensityMapDynamic : 0 as _,
12718 fragmentDensityMapNonSubsampledImages : 0 as _,
12719 }
12720 }
12721}
12722impl ::std::default::Default for PhysicalDeviceFragmentDensityMapPropertiesEXT {
12723 fn default() -> PhysicalDeviceFragmentDensityMapPropertiesEXT {
12724 PhysicalDeviceFragmentDensityMapPropertiesEXT {
12725 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT,
12726 pNext : 0 as _,
12727 minFragmentDensityTexelSize : Default::default(),
12728 maxFragmentDensityTexelSize : Default::default(),
12729 fragmentDensityInvocations : 0 as _,
12730 }
12731 }
12732}
12733impl ::std::default::Default for RenderPassFragmentDensityMapCreateInfoEXT {
12734 fn default() -> RenderPassFragmentDensityMapCreateInfoEXT {
12735 RenderPassFragmentDensityMapCreateInfoEXT {
12736 sType : STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT,
12737 pNext : 0 as _,
12738 fragmentDensityMapAttachment : Default::default(),
12739 }
12740 }
12741}
12742impl ::std::default::Default for PhysicalDeviceSubgroupSizeControlFeaturesEXT {
12743 fn default() -> PhysicalDeviceSubgroupSizeControlFeaturesEXT {
12744 PhysicalDeviceSubgroupSizeControlFeaturesEXT {
12745 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT,
12746 pNext : 0 as _,
12747 subgroupSizeControl : 0 as _,
12748 computeFullSubgroups : 0 as _,
12749 }
12750 }
12751}
12752impl ::std::default::Default for PhysicalDeviceSubgroupSizeControlPropertiesEXT {
12753 fn default() -> PhysicalDeviceSubgroupSizeControlPropertiesEXT {
12754 PhysicalDeviceSubgroupSizeControlPropertiesEXT {
12755 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT,
12756 pNext : 0 as _,
12757 minSubgroupSize : 0 as _,
12758 maxSubgroupSize : 0 as _,
12759 maxComputeWorkgroupSubgroups : 0 as _,
12760 requiredSubgroupSizeStages : Default::default(),
12761 }
12762 }
12763}
12764impl ::std::default::Default for PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT {
12765 fn default() -> PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT {
12766 PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT {
12767 sType : STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT,
12768 pNext : 0 as _,
12769 requiredSubgroupSize : 0 as _,
12770 }
12771 }
12772}
12773impl ::std::default::Default for PhysicalDeviceShaderCoreProperties2AMD {
12774 fn default() -> PhysicalDeviceShaderCoreProperties2AMD {
12775 PhysicalDeviceShaderCoreProperties2AMD {
12776 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD,
12777 pNext : 0 as _,
12778 shaderCoreFeatures : Default::default(),
12779 activeComputeUnitCount : 0 as _,
12780 }
12781 }
12782}
12783impl ::std::default::Default for PhysicalDeviceCoherentMemoryFeaturesAMD {
12784 fn default() -> PhysicalDeviceCoherentMemoryFeaturesAMD {
12785 PhysicalDeviceCoherentMemoryFeaturesAMD {
12786 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD,
12787 pNext : 0 as _,
12788 deviceCoherentMemory : 0 as _,
12789 }
12790 }
12791}
12792impl ::std::default::Default for PhysicalDeviceMemoryBudgetPropertiesEXT {
12793 fn default() -> PhysicalDeviceMemoryBudgetPropertiesEXT {
12794 PhysicalDeviceMemoryBudgetPropertiesEXT {
12795 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT,
12796 pNext : 0 as _,
12797 heapBudget : [Default::default();MAX_MEMORY_HEAPS],
12798 heapUsage : [Default::default();MAX_MEMORY_HEAPS],
12799 }
12800 }
12801}
12802impl ::std::default::Default for PhysicalDeviceMemoryPriorityFeaturesEXT {
12803 fn default() -> PhysicalDeviceMemoryPriorityFeaturesEXT {
12804 PhysicalDeviceMemoryPriorityFeaturesEXT {
12805 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT,
12806 pNext : 0 as _,
12807 memoryPriority : 0 as _,
12808 }
12809 }
12810}
12811impl ::std::default::Default for MemoryPriorityAllocateInfoEXT {
12812 fn default() -> MemoryPriorityAllocateInfoEXT {
12813 MemoryPriorityAllocateInfoEXT {
12814 sType : STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT,
12815 pNext : 0 as _,
12816 priority : 0 as _,
12817 }
12818 }
12819}
12820impl ::std::default::Default for PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
12821 fn default() -> PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
12822 PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
12823 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV,
12824 pNext : 0 as _,
12825 dedicatedAllocationImageAliasing : 0 as _,
12826 }
12827 }
12828}
12829impl ::std::default::Default for PhysicalDeviceBufferDeviceAddressFeaturesEXT {
12830 fn default() -> PhysicalDeviceBufferDeviceAddressFeaturesEXT {
12831 PhysicalDeviceBufferDeviceAddressFeaturesEXT {
12832 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
12833 pNext : 0 as _,
12834 bufferDeviceAddress : 0 as _,
12835 bufferDeviceAddressCaptureReplay : 0 as _,
12836 bufferDeviceAddressMultiDevice : 0 as _,
12837 }
12838 }
12839}
12840impl ::std::default::Default for BufferDeviceAddressCreateInfoEXT {
12841 fn default() -> BufferDeviceAddressCreateInfoEXT {
12842 BufferDeviceAddressCreateInfoEXT {
12843 sType : STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT,
12844 pNext : 0 as _,
12845 deviceAddress : Default::default(),
12846 }
12847 }
12848}
12849impl ::std::default::Default for PhysicalDeviceToolPropertiesEXT {
12850 fn default() -> PhysicalDeviceToolPropertiesEXT {
12851 PhysicalDeviceToolPropertiesEXT {
12852 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT,
12853 pNext : 0 as _,
12854 name : [Default::default();MAX_EXTENSION_NAME_SIZE],
12855 version : [Default::default();MAX_EXTENSION_NAME_SIZE],
12856 purposes : Default::default(),
12857 description : [Default::default();MAX_DESCRIPTION_SIZE],
12858 layer : [Default::default();MAX_EXTENSION_NAME_SIZE],
12859 }
12860 }
12861}
12862impl ::std::default::Default for ValidationFeaturesEXT {
12863 fn default() -> ValidationFeaturesEXT {
12864 ValidationFeaturesEXT {
12865 sType : STRUCTURE_TYPE_VALIDATION_FEATURES_EXT,
12866 pNext : 0 as _,
12867 enabledValidationFeatureCount : 0 as _,
12868 pEnabledValidationFeatures : 0 as _,
12869 disabledValidationFeatureCount : 0 as _,
12870 pDisabledValidationFeatures : 0 as _,
12871 }
12872 }
12873}
12874impl ::std::default::Default for CooperativeMatrixPropertiesNV {
12875 fn default() -> CooperativeMatrixPropertiesNV {
12876 CooperativeMatrixPropertiesNV {
12877 sType : STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV,
12878 pNext : 0 as _,
12879 MSize : 0 as _,
12880 NSize : 0 as _,
12881 KSize : 0 as _,
12882 AType : Default::default(),
12883 BType : Default::default(),
12884 CType : Default::default(),
12885 DType : Default::default(),
12886 scope : Default::default(),
12887 }
12888 }
12889}
12890impl ::std::default::Default for PhysicalDeviceCooperativeMatrixFeaturesNV {
12891 fn default() -> PhysicalDeviceCooperativeMatrixFeaturesNV {
12892 PhysicalDeviceCooperativeMatrixFeaturesNV {
12893 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV,
12894 pNext : 0 as _,
12895 cooperativeMatrix : 0 as _,
12896 cooperativeMatrixRobustBufferAccess : 0 as _,
12897 }
12898 }
12899}
12900impl ::std::default::Default for PhysicalDeviceCooperativeMatrixPropertiesNV {
12901 fn default() -> PhysicalDeviceCooperativeMatrixPropertiesNV {
12902 PhysicalDeviceCooperativeMatrixPropertiesNV {
12903 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV,
12904 pNext : 0 as _,
12905 cooperativeMatrixSupportedStages : Default::default(),
12906 }
12907 }
12908}
12909impl ::std::default::Default for PhysicalDeviceCoverageReductionModeFeaturesNV {
12910 fn default() -> PhysicalDeviceCoverageReductionModeFeaturesNV {
12911 PhysicalDeviceCoverageReductionModeFeaturesNV {
12912 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV,
12913 pNext : 0 as _,
12914 coverageReductionMode : 0 as _,
12915 }
12916 }
12917}
12918impl ::std::default::Default for PipelineCoverageReductionStateCreateInfoNV {
12919 fn default() -> PipelineCoverageReductionStateCreateInfoNV {
12920 PipelineCoverageReductionStateCreateInfoNV {
12921 sType : STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV,
12922 pNext : 0 as _,
12923 flags : Default::default(),
12924 coverageReductionMode : Default::default(),
12925 }
12926 }
12927}
12928impl ::std::default::Default for FramebufferMixedSamplesCombinationNV {
12929 fn default() -> FramebufferMixedSamplesCombinationNV {
12930 FramebufferMixedSamplesCombinationNV {
12931 sType : STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV,
12932 pNext : 0 as _,
12933 coverageReductionMode : Default::default(),
12934 rasterizationSamples : Default::default(),
12935 depthStencilSamples : Default::default(),
12936 colorSamples : Default::default(),
12937 }
12938 }
12939}
12940impl ::std::default::Default for PhysicalDeviceFragmentShaderInterlockFeaturesEXT {
12941 fn default() -> PhysicalDeviceFragmentShaderInterlockFeaturesEXT {
12942 PhysicalDeviceFragmentShaderInterlockFeaturesEXT {
12943 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT,
12944 pNext : 0 as _,
12945 fragmentShaderSampleInterlock : 0 as _,
12946 fragmentShaderPixelInterlock : 0 as _,
12947 fragmentShaderShadingRateInterlock : 0 as _,
12948 }
12949 }
12950}
12951impl ::std::default::Default for PhysicalDeviceYcbcrImageArraysFeaturesEXT {
12952 fn default() -> PhysicalDeviceYcbcrImageArraysFeaturesEXT {
12953 PhysicalDeviceYcbcrImageArraysFeaturesEXT {
12954 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT,
12955 pNext : 0 as _,
12956 ycbcrImageArrays : 0 as _,
12957 }
12958 }
12959}
12960impl ::std::default::Default for HeadlessSurfaceCreateInfoEXT {
12961 fn default() -> HeadlessSurfaceCreateInfoEXT {
12962 HeadlessSurfaceCreateInfoEXT {
12963 sType : STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT,
12964 pNext : 0 as _,
12965 flags : Default::default(),
12966 }
12967 }
12968}
12969impl ::std::default::Default for PhysicalDeviceLineRasterizationFeaturesEXT {
12970 fn default() -> PhysicalDeviceLineRasterizationFeaturesEXT {
12971 PhysicalDeviceLineRasterizationFeaturesEXT {
12972 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT,
12973 pNext : 0 as _,
12974 rectangularLines : 0 as _,
12975 bresenhamLines : 0 as _,
12976 smoothLines : 0 as _,
12977 stippledRectangularLines : 0 as _,
12978 stippledBresenhamLines : 0 as _,
12979 stippledSmoothLines : 0 as _,
12980 }
12981 }
12982}
12983impl ::std::default::Default for PhysicalDeviceLineRasterizationPropertiesEXT {
12984 fn default() -> PhysicalDeviceLineRasterizationPropertiesEXT {
12985 PhysicalDeviceLineRasterizationPropertiesEXT {
12986 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT,
12987 pNext : 0 as _,
12988 lineSubPixelPrecisionBits : 0 as _,
12989 }
12990 }
12991}
12992impl ::std::default::Default for PipelineRasterizationLineStateCreateInfoEXT {
12993 fn default() -> PipelineRasterizationLineStateCreateInfoEXT {
12994 PipelineRasterizationLineStateCreateInfoEXT {
12995 sType : STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT,
12996 pNext : 0 as _,
12997 lineRasterizationMode : Default::default(),
12998 stippledLineEnable : 0 as _,
12999 lineStippleFactor : 0 as _,
13000 lineStipplePattern : Default::default(),
13001 }
13002 }
13003}
13004impl ::std::default::Default for PhysicalDeviceIndexTypeUint8FeaturesEXT {
13005 fn default() -> PhysicalDeviceIndexTypeUint8FeaturesEXT {
13006 PhysicalDeviceIndexTypeUint8FeaturesEXT {
13007 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT,
13008 pNext : 0 as _,
13009 indexTypeUint8 : 0 as _,
13010 }
13011 }
13012}
13013impl ::std::default::Default for PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT {
13014 fn default() -> PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT {
13015 PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT {
13016 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT,
13017 pNext : 0 as _,
13018 shaderDemoteToHelperInvocation : 0 as _,
13019 }
13020 }
13021}
13022impl ::std::default::Default for PhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
13023 fn default() -> PhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
13024 PhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
13025 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV,
13026 pNext : 0 as _,
13027 maxGraphicsShaderGroupCount : 0 as _,
13028 maxIndirectSequenceCount : 0 as _,
13029 maxIndirectCommandsTokenCount : 0 as _,
13030 maxIndirectCommandsStreamCount : 0 as _,
13031 maxIndirectCommandsTokenOffset : 0 as _,
13032 maxIndirectCommandsStreamStride : 0 as _,
13033 minSequencesCountBufferOffsetAlignment : 0 as _,
13034 minSequencesIndexBufferOffsetAlignment : 0 as _,
13035 minIndirectCommandsBufferOffsetAlignment : 0 as _,
13036 }
13037 }
13038}
13039impl ::std::default::Default for PhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
13040 fn default() -> PhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
13041 PhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
13042 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV,
13043 pNext : 0 as _,
13044 deviceGeneratedCommands : 0 as _,
13045 }
13046 }
13047}
13048impl ::std::default::Default for GraphicsShaderGroupCreateInfoNV {
13049 fn default() -> GraphicsShaderGroupCreateInfoNV {
13050 GraphicsShaderGroupCreateInfoNV {
13051 sType : STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV,
13052 pNext : 0 as _,
13053 stageCount : 0 as _,
13054 pStages : 0 as _,
13055 pVertexInputState : 0 as _,
13056 pTessellationState : 0 as _,
13057 }
13058 }
13059}
13060impl ::std::default::Default for GraphicsPipelineShaderGroupsCreateInfoNV {
13061 fn default() -> GraphicsPipelineShaderGroupsCreateInfoNV {
13062 GraphicsPipelineShaderGroupsCreateInfoNV {
13063 sType : STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV,
13064 pNext : 0 as _,
13065 groupCount : 0 as _,
13066 pGroups : 0 as _,
13067 pipelineCount : 0 as _,
13068 pPipelines : 0 as _,
13069 }
13070 }
13071}
13072impl ::std::default::Default for BindShaderGroupIndirectCommandNV {
13073 fn default() -> BindShaderGroupIndirectCommandNV {
13074 BindShaderGroupIndirectCommandNV {
13075 groupIndex : 0 as _,
13076 }
13077 }
13078}
13079impl ::std::default::Default for BindIndexBufferIndirectCommandNV {
13080 fn default() -> BindIndexBufferIndirectCommandNV {
13081 BindIndexBufferIndirectCommandNV {
13082 bufferAddress : Default::default(),
13083 size : 0 as _,
13084 indexType : Default::default(),
13085 }
13086 }
13087}
13088impl ::std::default::Default for BindVertexBufferIndirectCommandNV {
13089 fn default() -> BindVertexBufferIndirectCommandNV {
13090 BindVertexBufferIndirectCommandNV {
13091 bufferAddress : Default::default(),
13092 size : 0 as _,
13093 stride : 0 as _,
13094 }
13095 }
13096}
13097impl ::std::default::Default for SetStateFlagsIndirectCommandNV {
13098 fn default() -> SetStateFlagsIndirectCommandNV {
13099 SetStateFlagsIndirectCommandNV {
13100 data : 0 as _,
13101 }
13102 }
13103}
13104impl ::std::default::Default for IndirectCommandsStreamNV {
13105 fn default() -> IndirectCommandsStreamNV {
13106 IndirectCommandsStreamNV {
13107 buffer : Default::default(),
13108 offset : Default::default(),
13109 }
13110 }
13111}
13112impl ::std::default::Default for IndirectCommandsLayoutTokenNV {
13113 fn default() -> IndirectCommandsLayoutTokenNV {
13114 IndirectCommandsLayoutTokenNV {
13115 sType : STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV,
13116 pNext : 0 as _,
13117 tokenType : Default::default(),
13118 stream : 0 as _,
13119 offset : 0 as _,
13120 vertexBindingUnit : 0 as _,
13121 vertexDynamicStride : 0 as _,
13122 pushconstantPipelineLayout : Default::default(),
13123 pushconstantShaderStageFlags : Default::default(),
13124 pushconstantOffset : 0 as _,
13125 pushconstantSize : 0 as _,
13126 indirectStateFlags : Default::default(),
13127 indexTypeCount : 0 as _,
13128 pIndexTypes : 0 as _,
13129 pIndexTypeValues : 0 as _,
13130 }
13131 }
13132}
13133impl ::std::default::Default for IndirectCommandsLayoutCreateInfoNV {
13134 fn default() -> IndirectCommandsLayoutCreateInfoNV {
13135 IndirectCommandsLayoutCreateInfoNV {
13136 sType : STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV,
13137 pNext : 0 as _,
13138 flags : Default::default(),
13139 pipelineBindPoint : Default::default(),
13140 tokenCount : 0 as _,
13141 pTokens : 0 as _,
13142 streamCount : 0 as _,
13143 pStreamStrides : 0 as _,
13144 }
13145 }
13146}
13147impl ::std::default::Default for GeneratedCommandsInfoNV {
13148 fn default() -> GeneratedCommandsInfoNV {
13149 GeneratedCommandsInfoNV {
13150 sType : STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV,
13151 pNext : 0 as _,
13152 pipelineBindPoint : Default::default(),
13153 pipeline : Default::default(),
13154 indirectCommandsLayout : Default::default(),
13155 streamCount : 0 as _,
13156 pStreams : 0 as _,
13157 sequencesCount : 0 as _,
13158 preprocessBuffer : Default::default(),
13159 preprocessOffset : Default::default(),
13160 preprocessSize : Default::default(),
13161 sequencesCountBuffer : Default::default(),
13162 sequencesCountOffset : Default::default(),
13163 sequencesIndexBuffer : Default::default(),
13164 sequencesIndexOffset : Default::default(),
13165 }
13166 }
13167}
13168impl ::std::default::Default for GeneratedCommandsMemoryRequirementsInfoNV {
13169 fn default() -> GeneratedCommandsMemoryRequirementsInfoNV {
13170 GeneratedCommandsMemoryRequirementsInfoNV {
13171 sType : STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV,
13172 pNext : 0 as _,
13173 pipelineBindPoint : Default::default(),
13174 pipeline : Default::default(),
13175 indirectCommandsLayout : Default::default(),
13176 maxSequencesCount : 0 as _,
13177 }
13178 }
13179}
13180impl ::std::default::Default for PhysicalDeviceTexelBufferAlignmentFeaturesEXT {
13181 fn default() -> PhysicalDeviceTexelBufferAlignmentFeaturesEXT {
13182 PhysicalDeviceTexelBufferAlignmentFeaturesEXT {
13183 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT,
13184 pNext : 0 as _,
13185 texelBufferAlignment : 0 as _,
13186 }
13187 }
13188}
13189impl ::std::default::Default for PhysicalDeviceTexelBufferAlignmentPropertiesEXT {
13190 fn default() -> PhysicalDeviceTexelBufferAlignmentPropertiesEXT {
13191 PhysicalDeviceTexelBufferAlignmentPropertiesEXT {
13192 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT,
13193 pNext : 0 as _,
13194 storageTexelBufferOffsetAlignmentBytes : Default::default(),
13195 storageTexelBufferOffsetSingleTexelAlignment : 0 as _,
13196 uniformTexelBufferOffsetAlignmentBytes : Default::default(),
13197 uniformTexelBufferOffsetSingleTexelAlignment : 0 as _,
13198 }
13199 }
13200}
13201impl ::std::default::Default for RenderPassTransformBeginInfoQCOM {
13202 fn default() -> RenderPassTransformBeginInfoQCOM {
13203 RenderPassTransformBeginInfoQCOM {
13204 sType : STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM,
13205 pNext : 0 as _,
13206 transform : Default::default(),
13207 }
13208 }
13209}
13210impl ::std::default::Default for CommandBufferInheritanceRenderPassTransformInfoQCOM {
13211 fn default() -> CommandBufferInheritanceRenderPassTransformInfoQCOM {
13212 CommandBufferInheritanceRenderPassTransformInfoQCOM {
13213 sType : STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM,
13214 pNext : 0 as _,
13215 transform : Default::default(),
13216 renderArea : Default::default(),
13217 }
13218 }
13219}
13220impl ::std::default::Default for PhysicalDeviceRobustness2FeaturesEXT {
13221 fn default() -> PhysicalDeviceRobustness2FeaturesEXT {
13222 PhysicalDeviceRobustness2FeaturesEXT {
13223 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT,
13224 pNext : 0 as _,
13225 robustBufferAccess2 : 0 as _,
13226 robustImageAccess2 : 0 as _,
13227 nullDescriptor : 0 as _,
13228 }
13229 }
13230}
13231impl ::std::default::Default for PhysicalDeviceRobustness2PropertiesEXT {
13232 fn default() -> PhysicalDeviceRobustness2PropertiesEXT {
13233 PhysicalDeviceRobustness2PropertiesEXT {
13234 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT,
13235 pNext : 0 as _,
13236 robustStorageBufferAccessSizeAlignment : Default::default(),
13237 robustUniformBufferAccessSizeAlignment : Default::default(),
13238 }
13239 }
13240}
13241impl ::std::default::Default for SamplerCustomBorderColorCreateInfoEXT {
13242 fn default() -> SamplerCustomBorderColorCreateInfoEXT {
13243 SamplerCustomBorderColorCreateInfoEXT {
13244 sType : STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT,
13245 pNext : 0 as _,
13246 customBorderColor : Default::default(),
13247 format : Default::default(),
13248 }
13249 }
13250}
13251impl ::std::default::Default for PhysicalDeviceCustomBorderColorPropertiesEXT {
13252 fn default() -> PhysicalDeviceCustomBorderColorPropertiesEXT {
13253 PhysicalDeviceCustomBorderColorPropertiesEXT {
13254 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT,
13255 pNext : 0 as _,
13256 maxCustomBorderColorSamplers : 0 as _,
13257 }
13258 }
13259}
13260impl ::std::default::Default for PhysicalDeviceCustomBorderColorFeaturesEXT {
13261 fn default() -> PhysicalDeviceCustomBorderColorFeaturesEXT {
13262 PhysicalDeviceCustomBorderColorFeaturesEXT {
13263 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT,
13264 pNext : 0 as _,
13265 customBorderColors : 0 as _,
13266 customBorderColorWithoutFormat : 0 as _,
13267 }
13268 }
13269}
13270impl ::std::default::Default for PhysicalDevicePrivateDataFeaturesEXT {
13271 fn default() -> PhysicalDevicePrivateDataFeaturesEXT {
13272 PhysicalDevicePrivateDataFeaturesEXT {
13273 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT,
13274 pNext : 0 as _,
13275 privateData : 0 as _,
13276 }
13277 }
13278}
13279impl ::std::default::Default for DevicePrivateDataCreateInfoEXT {
13280 fn default() -> DevicePrivateDataCreateInfoEXT {
13281 DevicePrivateDataCreateInfoEXT {
13282 sType : STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT,
13283 pNext : 0 as _,
13284 privateDataSlotRequestCount : 0 as _,
13285 }
13286 }
13287}
13288impl ::std::default::Default for PrivateDataSlotCreateInfoEXT {
13289 fn default() -> PrivateDataSlotCreateInfoEXT {
13290 PrivateDataSlotCreateInfoEXT {
13291 sType : STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT,
13292 pNext : 0 as _,
13293 flags : Default::default(),
13294 }
13295 }
13296}
13297impl ::std::default::Default for PhysicalDevicePipelineCreationCacheControlFeaturesEXT {
13298 fn default() -> PhysicalDevicePipelineCreationCacheControlFeaturesEXT {
13299 PhysicalDevicePipelineCreationCacheControlFeaturesEXT {
13300 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT,
13301 pNext : 0 as _,
13302 pipelineCreationCacheControl : 0 as _,
13303 }
13304 }
13305}
13306impl ::std::default::Default for PhysicalDeviceDiagnosticsConfigFeaturesNV {
13307 fn default() -> PhysicalDeviceDiagnosticsConfigFeaturesNV {
13308 PhysicalDeviceDiagnosticsConfigFeaturesNV {
13309 sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV,
13310 pNext : 0 as _,
13311 diagnosticsConfig : 0 as _,
13312 }
13313 }
13314}
13315impl ::std::default::Default for DeviceDiagnosticsConfigCreateInfoNV {
13316 fn default() -> DeviceDiagnosticsConfigCreateInfoNV {
13317 DeviceDiagnosticsConfigCreateInfoNV {
13318 sType : STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV,
13319 pNext : 0 as _,
13320 flags : Default::default(),
13321 }
13322 }
13323}
13324impl ::std::default::Default for Win32SurfaceCreateInfoKHR {
13325 fn default() -> Win32SurfaceCreateInfoKHR {
13326 Win32SurfaceCreateInfoKHR {
13327 sType : STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR,
13328 pNext : 0 as _,
13329 flags : Default::default(),
13330 hinstance : 0 as _,
13331 hwnd : 0 as _,
13332 }
13333 }
13334}
13335impl ::std::default::Default for ImportMemoryWin32HandleInfoKHR {
13336 fn default() -> ImportMemoryWin32HandleInfoKHR {
13337 ImportMemoryWin32HandleInfoKHR {
13338 sType : STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR,
13339 pNext : 0 as _,
13340 handleType : Default::default(),
13341 handle : 0 as _,
13342 name : 0 as _,
13343 }
13344 }
13345}
13346impl ::std::default::Default for ExportMemoryWin32HandleInfoKHR {
13347 fn default() -> ExportMemoryWin32HandleInfoKHR {
13348 ExportMemoryWin32HandleInfoKHR {
13349 sType : STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR,
13350 pNext : 0 as _,
13351 pAttributes : 0 as _,
13352 dwAccess : 0 as _,
13353 name : 0 as _,
13354 }
13355 }
13356}
13357impl ::std::default::Default for MemoryWin32HandlePropertiesKHR {
13358 fn default() -> MemoryWin32HandlePropertiesKHR {
13359 MemoryWin32HandlePropertiesKHR {
13360 sType : STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR,
13361 pNext : 0 as _,
13362 memoryTypeBits : 0 as _,
13363 }
13364 }
13365}
13366impl ::std::default::Default for MemoryGetWin32HandleInfoKHR {
13367 fn default() -> MemoryGetWin32HandleInfoKHR {
13368 MemoryGetWin32HandleInfoKHR {
13369 sType : STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR,
13370 pNext : 0 as _,
13371 memory : Default::default(),
13372 handleType : Default::default(),
13373 }
13374 }
13375}
13376impl ::std::default::Default for Win32KeyedMutexAcquireReleaseInfoKHR {
13377 fn default() -> Win32KeyedMutexAcquireReleaseInfoKHR {
13378 Win32KeyedMutexAcquireReleaseInfoKHR {
13379 sType : STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR,
13380 pNext : 0 as _,
13381 acquireCount : 0 as _,
13382 pAcquireSyncs : 0 as _,
13383 pAcquireKeys : 0 as _,
13384 pAcquireTimeouts : 0 as _,
13385 releaseCount : 0 as _,
13386 pReleaseSyncs : 0 as _,
13387 pReleaseKeys : 0 as _,
13388 }
13389 }
13390}
13391impl ::std::default::Default for ImportSemaphoreWin32HandleInfoKHR {
13392 fn default() -> ImportSemaphoreWin32HandleInfoKHR {
13393 ImportSemaphoreWin32HandleInfoKHR {
13394 sType : STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR,
13395 pNext : 0 as _,
13396 semaphore : Default::default(),
13397 flags : Default::default(),
13398 handleType : Default::default(),
13399 handle : 0 as _,
13400 name : 0 as _,
13401 }
13402 }
13403}
13404impl ::std::default::Default for ExportSemaphoreWin32HandleInfoKHR {
13405 fn default() -> ExportSemaphoreWin32HandleInfoKHR {
13406 ExportSemaphoreWin32HandleInfoKHR {
13407 sType : STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR,
13408 pNext : 0 as _,
13409 pAttributes : 0 as _,
13410 dwAccess : 0 as _,
13411 name : 0 as _,
13412 }
13413 }
13414}
13415impl ::std::default::Default for D3D12FenceSubmitInfoKHR {
13416 fn default() -> D3D12FenceSubmitInfoKHR {
13417 D3D12FenceSubmitInfoKHR {
13418 sType : STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR,
13419 pNext : 0 as _,
13420 waitSemaphoreValuesCount : 0 as _,
13421 pWaitSemaphoreValues : 0 as _,
13422 signalSemaphoreValuesCount : 0 as _,
13423 pSignalSemaphoreValues : 0 as _,
13424 }
13425 }
13426}
13427impl ::std::default::Default for SemaphoreGetWin32HandleInfoKHR {
13428 fn default() -> SemaphoreGetWin32HandleInfoKHR {
13429 SemaphoreGetWin32HandleInfoKHR {
13430 sType : STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR,
13431 pNext : 0 as _,
13432 semaphore : Default::default(),
13433 handleType : Default::default(),
13434 }
13435 }
13436}
13437impl ::std::default::Default for ImportFenceWin32HandleInfoKHR {
13438 fn default() -> ImportFenceWin32HandleInfoKHR {
13439 ImportFenceWin32HandleInfoKHR {
13440 sType : STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR,
13441 pNext : 0 as _,
13442 fence : Default::default(),
13443 flags : Default::default(),
13444 handleType : Default::default(),
13445 handle : 0 as _,
13446 name : 0 as _,
13447 }
13448 }
13449}
13450impl ::std::default::Default for ExportFenceWin32HandleInfoKHR {
13451 fn default() -> ExportFenceWin32HandleInfoKHR {
13452 ExportFenceWin32HandleInfoKHR {
13453 sType : STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR,
13454 pNext : 0 as _,
13455 pAttributes : 0 as _,
13456 dwAccess : 0 as _,
13457 name : 0 as _,
13458 }
13459 }
13460}
13461impl ::std::default::Default for FenceGetWin32HandleInfoKHR {
13462 fn default() -> FenceGetWin32HandleInfoKHR {
13463 FenceGetWin32HandleInfoKHR {
13464 sType : STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR,
13465 pNext : 0 as _,
13466 fence : Default::default(),
13467 handleType : Default::default(),
13468 }
13469 }
13470}
13471impl ::std::default::Default for ImportMemoryWin32HandleInfoNV {
13472 fn default() -> ImportMemoryWin32HandleInfoNV {
13473 ImportMemoryWin32HandleInfoNV {
13474 sType : STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV,
13475 pNext : 0 as _,
13476 handleType : Default::default(),
13477 handle : 0 as _,
13478 }
13479 }
13480}
13481impl ::std::default::Default for ExportMemoryWin32HandleInfoNV {
13482 fn default() -> ExportMemoryWin32HandleInfoNV {
13483 ExportMemoryWin32HandleInfoNV {
13484 sType : STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV,
13485 pNext : 0 as _,
13486 pAttributes : 0 as _,
13487 dwAccess : 0 as _,
13488 }
13489 }
13490}
13491impl ::std::default::Default for Win32KeyedMutexAcquireReleaseInfoNV {
13492 fn default() -> Win32KeyedMutexAcquireReleaseInfoNV {
13493 Win32KeyedMutexAcquireReleaseInfoNV {
13494 sType : STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV,
13495 pNext : 0 as _,
13496 acquireCount : 0 as _,
13497 pAcquireSyncs : 0 as _,
13498 pAcquireKeys : 0 as _,
13499 pAcquireTimeoutMilliseconds : 0 as _,
13500 releaseCount : 0 as _,
13501 pReleaseSyncs : 0 as _,
13502 pReleaseKeys : 0 as _,
13503 }
13504 }
13505}
13506impl ::std::default::Default for SurfaceFullScreenExclusiveInfoEXT {
13507 fn default() -> SurfaceFullScreenExclusiveInfoEXT {
13508 SurfaceFullScreenExclusiveInfoEXT {
13509 sType : STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT,
13510 pNext : 0 as _,
13511 fullScreenExclusive : Default::default(),
13512 }
13513 }
13514}
13515impl ::std::default::Default for SurfaceCapabilitiesFullScreenExclusiveEXT {
13516 fn default() -> SurfaceCapabilitiesFullScreenExclusiveEXT {
13517 SurfaceCapabilitiesFullScreenExclusiveEXT {
13518 sType : STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT,
13519 pNext : 0 as _,
13520 fullScreenExclusiveSupported : 0 as _,
13521 }
13522 }
13523}
13524impl ::std::default::Default for SurfaceFullScreenExclusiveWin32InfoEXT {
13525 fn default() -> SurfaceFullScreenExclusiveWin32InfoEXT {
13526 SurfaceFullScreenExclusiveWin32InfoEXT {
13527 sType : STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT,
13528 pNext : 0 as _,
13529 hmonitor : 0 as _,
13530 }
13531 }
13532}
13533
13534extern "C" {
13535 pub fn InitVulkanSimple(surface_extension : *const i8);
13536
13537 pub fn CreateInstance(pCreateInfo :*const InstanceCreateInfo) -> VkResult;
13538
13539 pub fn SetPhysicalDevice(physicalDevice : PhysicalDevice);
13540
13541 pub fn SetDeviceQueue(queueFamilyIndex : u32, queueIndex : u32);
13542
13543 pub fn CreateDevice(pCreateInfo : *const DeviceCreateInfo) -> VkResult;
13544
13545 pub fn DestroyInstance();
13546
13547 pub fn DestroyDevice();
13548
13549 pub fn DeviceWaitIdle();
13550
13551 pub fn EnumeratePhysicalDevices(
13552 pPhysicalDeviceCount : *mut u32,
13553 pPhysicalDevices : *mut PhysicalDevice) -> VkResult;
13554
13555 pub fn GetPhysicalDeviceFeatures(
13556 pFeatures : *mut PhysicalDeviceFeatures);
13557
13558 pub fn GetPhysicalDeviceFormatProperties(
13559 format : Format,
13560 pFormatProperties : *mut FormatProperties);
13561
13562 pub fn GetPhysicalDeviceImageFormatProperties(
13563 format : Format,
13564 r#type : ImageType,
13565 tiling : ImageTiling,
13566 usage : ImageUsageFlags,
13567 flags : ImageCreateFlags,
13568 pImageFormatProperties : *mut ImageFormatProperties) -> VkResult;
13569
13570 pub fn GetPhysicalDeviceProperties(
13571 pProperties : *mut PhysicalDeviceProperties);
13572
13573 pub fn GetPhysicalDeviceQueueFamilyProperties(
13574 pQueueFamilyPropertyCount : *mut u32,
13575 pQueueFamilyProperties : *mut QueueFamilyProperties);
13576
13577 pub fn GetPhysicalDeviceMemoryProperties(
13578 pMemoryProperties : *mut PhysicalDeviceMemoryProperties);
13579
13580 pub fn GetInstanceProcAddr(
13581 pName : *const i8) -> u64;
13582
13583 pub fn GetDeviceProcAddr(
13584 pName : *const i8) -> u64;
13585
13586 pub fn EnumerateInstanceExtensionProperties(
13587 pLayerName : *const i8,
13588 pPropertyCount : *mut u32,
13589 pProperties : *mut ExtensionProperties) -> VkResult;
13590
13591 pub fn EnumerateDeviceExtensionProperties(
13592 pLayerName : *const i8,
13593 pPropertyCount : *mut u32,
13594 pProperties : *mut ExtensionProperties) -> VkResult;
13595
13596 pub fn EnumerateInstanceLayerProperties(
13597 pPropertyCount : *mut u32,
13598 pProperties : *mut LayerProperties) -> VkResult;
13599
13600 pub fn EnumerateDeviceLayerProperties(
13601 pPropertyCount : *mut u32,
13602 pProperties : *mut LayerProperties) -> VkResult;
13603
13604 pub fn GetDeviceQueue(
13605 queueFamilyIndex : u32,
13606 queueIndex : u32,
13607 pQueue : *mut Queue);
13608
13609 pub fn QueueSubmit(
13610 submitCount : u32,
13611 pSubmits : *const SubmitInfo,
13612 fence : Fence) -> VkResult;
13613
13614 pub fn QueueWaitIdle(
13615 queue : Queue) -> VkResult;
13616
13617 pub fn AllocateMemory(
13618 pAllocateInfo : *const MemoryAllocateInfo,
13619 pMemory : *mut DeviceMemory) -> VkResult;
13620
13621 pub fn FreeMemory(
13622 memory : DeviceMemory);
13623
13624 pub fn MapMemory(
13625 memory : DeviceMemory,
13626 offset : DeviceSize,
13627 size : DeviceSize,
13628 flags : MemoryMapFlags,
13629 ppData : &mut*mut f32) -> VkResult;
13630
13631 pub fn UnmapMemory(
13632 memory : DeviceMemory);
13633
13634 pub fn FlushMappedMemoryRanges(
13635 memoryRangeCount : u32,
13636 pMemoryRanges : *const MappedMemoryRange) -> VkResult;
13637
13638 pub fn InvalidateMappedMemoryRanges(
13639 memoryRangeCount : u32,
13640 pMemoryRanges : *const MappedMemoryRange) -> VkResult;
13641
13642 pub fn GetDeviceMemoryCommitment(
13643 memory : DeviceMemory,
13644 pCommittedMemoryInBytes : *mut DeviceSize);
13645
13646 pub fn BindBufferMemory(
13647 buffer : Buffer,
13648 memory : DeviceMemory,
13649 memoryOffset : DeviceSize) -> VkResult;
13650
13651 pub fn BindImageMemory(
13652 image : Image,
13653 memory : DeviceMemory,
13654 memoryOffset : DeviceSize) -> VkResult;
13655
13656 pub fn GetBufferMemoryRequirements(
13657 buffer : Buffer,
13658 pMemoryRequirements : *mut MemoryRequirements);
13659
13660 pub fn GetImageMemoryRequirements(
13661 image : Image,
13662 pMemoryRequirements : *mut MemoryRequirements);
13663
13664 pub fn GetImageSparseMemoryRequirements(
13665 image : Image,
13666 pSparseMemoryRequirementCount : *mut u32,
13667 pSparseMemoryRequirements : *mut SparseImageMemoryRequirements);
13668
13669 pub fn GetPhysicalDeviceSparseImageFormatProperties(
13670 format : Format,
13671 r#type : ImageType,
13672 samples : SampleCountFlagBits,
13673 usage : ImageUsageFlags,
13674 tiling : ImageTiling,
13675 pPropertyCount : *mut u32,
13676 pProperties : *mut SparseImageFormatProperties);
13677
13678 pub fn QueueBindSparse(
13679 bindInfoCount : u32,
13680 pBindInfo : *const BindSparseInfo,
13681 fence : Fence) -> VkResult;
13682
13683 pub fn CreateFence(
13684 pCreateInfo : *const FenceCreateInfo,
13685 pFence : *mut Fence) -> VkResult;
13686
13687 pub fn DestroyFence(
13688 fence : Fence);
13689
13690 pub fn ResetFences(
13691 fenceCount : u32,
13692 pFences : *const Fence) -> VkResult;
13693
13694 pub fn GetFenceStatus(
13695 fence : Fence) -> VkResult;
13696
13697 pub fn WaitForFences(
13698 fenceCount : u32,
13699 pFences : *const Fence,
13700 waitAll : Bool32,
13701 timeout : u64) -> VkResult;
13702
13703 pub fn CreateSemaphore(
13704 pCreateInfo : *const SemaphoreCreateInfo,
13705 pSemaphore : *mut Semaphore) -> VkResult;
13706
13707 pub fn DestroySemaphore(
13708 semaphore : Semaphore);
13709
13710 pub fn CreateEvent(
13711 pCreateInfo : *const EventCreateInfo,
13712 pEvent : *mut Event) -> VkResult;
13713
13714 pub fn DestroyEvent(
13715 event : Event);
13716
13717 pub fn GetEventStatus(
13718 event : Event) -> VkResult;
13719
13720 pub fn SetEvent(
13721 event : Event) -> VkResult;
13722
13723 pub fn ResetEvent(
13724 event : Event) -> VkResult;
13725
13726 pub fn CreateQueryPool(
13727 pCreateInfo : *const QueryPoolCreateInfo,
13728 pQueryPool : *mut QueryPool) -> VkResult;
13729
13730 pub fn DestroyQueryPool(
13731 queryPool : QueryPool);
13732
13733 pub fn GetQueryPoolResults(
13734 queryPool : QueryPool,
13735 firstQuery : u32,
13736 queryCount : u32,
13737 dataSize : usize,
13738 pData : u64,
13739 stride : DeviceSize,
13740 flags : QueryResultFlags) -> VkResult;
13741
13742 pub fn CreateBuffer(
13743 pCreateInfo : *const BufferCreateInfo,
13744 pBuffer : *mut Buffer) -> VkResult;
13745
13746 pub fn DestroyBuffer(
13747 buffer : Buffer);
13748
13749 pub fn CreateBufferView(
13750 pCreateInfo : *const BufferViewCreateInfo,
13751 pView : *mut BufferView) -> VkResult;
13752
13753 pub fn DestroyBufferView(
13754 bufferView : BufferView);
13755
13756 pub fn CreateImage(
13757 pCreateInfo : *const ImageCreateInfo,
13758 pImage : *mut Image) -> VkResult;
13759
13760 pub fn DestroyImage(
13761 image : Image);
13762
13763 pub fn GetImageSubresourceLayout(
13764 image : Image,
13765 pSubresource : *const ImageSubresource,
13766 pLayout : *mut SubresourceLayout);
13767
13768 pub fn CreateImageView(
13769 pCreateInfo : *const ImageViewCreateInfo,
13770 pView : *mut ImageView) -> VkResult;
13771
13772 pub fn DestroyImageView(
13773 imageView : ImageView);
13774
13775 pub fn CreateShaderModule(
13776 pCreateInfo : *const ShaderModuleCreateInfo,
13777 pShaderModule : *mut ShaderModule) -> VkResult;
13778
13779 pub fn DestroyShaderModule(
13780 shaderModule : ShaderModule);
13781
13782 pub fn CreatePipelineCache(
13783 pCreateInfo : *const PipelineCacheCreateInfo,
13784 pPipelineCache : *mut PipelineCache) -> VkResult;
13785
13786 pub fn DestroyPipelineCache(
13787 pipelineCache : PipelineCache);
13788
13789 pub fn GetPipelineCacheData(
13790 pipelineCache : PipelineCache,
13791 pDataSize : *mut usize,
13792 pData : u64) -> VkResult;
13793
13794 pub fn MergePipelineCaches(
13795 dstCache : PipelineCache,
13796 srcCacheCount : u32,
13797 pSrcCaches : *const PipelineCache) -> VkResult;
13798
13799 pub fn CreateGraphicsPipelines(
13800 pipelineCache : PipelineCache,
13801 createInfoCount : u32,
13802 pCreateInfos : *const GraphicsPipelineCreateInfo,
13803 pPipelines : *mut Pipeline) -> VkResult;
13804
13805 pub fn CreateComputePipelines(
13806 pipelineCache : PipelineCache,
13807 createInfoCount : u32,
13808 pCreateInfos : *const ComputePipelineCreateInfo,
13809 pPipelines : *mut Pipeline) -> VkResult;
13810
13811 pub fn DestroyPipeline(
13812 pipeline : Pipeline);
13813
13814 pub fn CreatePipelineLayout(
13815 pCreateInfo : *const PipelineLayoutCreateInfo,
13816 pPipelineLayout : *mut PipelineLayout) -> VkResult;
13817
13818 pub fn DestroyPipelineLayout(
13819 pipelineLayout : PipelineLayout);
13820
13821 pub fn CreateSampler(
13822 pCreateInfo : *const SamplerCreateInfo,
13823 pSampler : *mut Sampler) -> VkResult;
13824
13825 pub fn DestroySampler(
13826 sampler : Sampler);
13827
13828 pub fn CreateDescriptorSetLayout(
13829 pCreateInfo : *const DescriptorSetLayoutCreateInfo,
13830 pSetLayout : *mut DescriptorSetLayout) -> VkResult;
13831
13832 pub fn DestroyDescriptorSetLayout(
13833 descriptorSetLayout : DescriptorSetLayout);
13834
13835 pub fn CreateDescriptorPool(
13836 pCreateInfo : *const DescriptorPoolCreateInfo,
13837 pDescriptorPool : *mut DescriptorPool) -> VkResult;
13838
13839 pub fn DestroyDescriptorPool(
13840 descriptorPool : DescriptorPool);
13841
13842 pub fn ResetDescriptorPool(
13843 descriptorPool : DescriptorPool,
13844 flags : DescriptorPoolResetFlags) -> VkResult;
13845
13846 pub fn AllocateDescriptorSets(
13847 pAllocateInfo : *const DescriptorSetAllocateInfo,
13848 pDescriptorSets : *mut DescriptorSet) -> VkResult;
13849
13850 pub fn FreeDescriptorSets(
13851 descriptorPool : DescriptorPool,
13852 descriptorSetCount : u32,
13853 pDescriptorSets : *const DescriptorSet) -> VkResult;
13854
13855 pub fn UpdateDescriptorSets(
13856 descriptorWriteCount : u32,
13857 pDescriptorWrites : *const WriteDescriptorSet,
13858 descriptorCopyCount : u32,
13859 pDescriptorCopies : *const CopyDescriptorSet);
13860
13861 pub fn CreateFramebuffer(
13862 pCreateInfo : *const FramebufferCreateInfo,
13863 pFramebuffer : *mut Framebuffer) -> VkResult;
13864
13865 pub fn DestroyFramebuffer(
13866 framebuffer : Framebuffer);
13867
13868 pub fn CreateRenderPass(
13869 pCreateInfo : *const RenderPassCreateInfo,
13870 pRenderPass : *mut RenderPass) -> VkResult;
13871
13872 pub fn DestroyRenderPass(
13873 renderPass : RenderPass);
13874
13875 pub fn GetRenderAreaGranularity(
13876 renderPass : RenderPass,
13877 pGranularity : *mut Extent2D);
13878
13879 pub fn CreateCommandPool(
13880 pCreateInfo : *const CommandPoolCreateInfo,
13881 pCommandPool : *mut CommandPool) -> VkResult;
13882
13883 pub fn DestroyCommandPool(
13884 commandPool : CommandPool);
13885
13886 pub fn ResetCommandPool(
13887 commandPool : CommandPool,
13888 flags : CommandPoolResetFlags) -> VkResult;
13889
13890 pub fn AllocateCommandBuffers(
13891 pAllocateInfo : *const CommandBufferAllocateInfo,
13892 pCommandBuffers : *mut CommandBuffer) -> VkResult;
13893
13894 pub fn FreeCommandBuffers(
13895 commandPool : CommandPool,
13896 commandBufferCount : u32,
13897 pCommandBuffers : *const CommandBuffer);
13898
13899 pub fn BeginCommandBuffer(
13900 commandBuffer : CommandBuffer,
13901 pBeginInfo : *const CommandBufferBeginInfo) -> VkResult;
13902
13903 pub fn EndCommandBuffer(
13904 commandBuffer : CommandBuffer) -> VkResult;
13905
13906 pub fn ResetCommandBuffer(
13907 commandBuffer : CommandBuffer,
13908 flags : CommandBufferResetFlags) -> VkResult;
13909
13910 pub fn CmdBindPipeline(
13911 commandBuffer : CommandBuffer,
13912 pipelineBindPoint : PipelineBindPoint,
13913 pipeline : Pipeline);
13914
13915 pub fn CmdSetViewport(
13916 commandBuffer : CommandBuffer,
13917 firstViewport : u32,
13918 viewportCount : u32,
13919 pViewports : *const Viewport);
13920
13921 pub fn CmdSetScissor(
13922 commandBuffer : CommandBuffer,
13923 firstScissor : u32,
13924 scissorCount : u32,
13925 pScissors : *const Rect2D);
13926
13927 pub fn CmdSetLineWidth(
13928 commandBuffer : CommandBuffer,
13929 lineWidth : f32);
13930
13931 pub fn CmdSetDepthBias(
13932 commandBuffer : CommandBuffer,
13933 depthBiasConstantFactor : f32,
13934 depthBiasClamp : f32,
13935 depthBiasSlopeFactor : f32);
13936
13937 pub fn CmdSetBlendConstants(
13938 commandBuffer : CommandBuffer,
13939 blendConstants : [f32;4]);
13940
13941 pub fn CmdSetDepthBounds(
13942 commandBuffer : CommandBuffer,
13943 minDepthBounds : f32,
13944 maxDepthBounds : f32);
13945
13946 pub fn CmdSetStencilCompareMask(
13947 commandBuffer : CommandBuffer,
13948 faceMask : StencilFaceFlags,
13949 compareMask : u32);
13950
13951 pub fn CmdSetStencilWriteMask(
13952 commandBuffer : CommandBuffer,
13953 faceMask : StencilFaceFlags,
13954 writeMask : u32);
13955
13956 pub fn CmdSetStencilReference(
13957 commandBuffer : CommandBuffer,
13958 faceMask : StencilFaceFlags,
13959 reference : u32);
13960
13961 pub fn CmdBindDescriptorSets(
13962 commandBuffer : CommandBuffer,
13963 pipelineBindPoint : PipelineBindPoint,
13964 layout : PipelineLayout,
13965 firstSet : u32,
13966 descriptorSetCount : u32,
13967 pDescriptorSets : *const DescriptorSet,
13968 dynamicOffsetCount : u32,
13969 pDynamicOffsets : *const u32);
13970
13971 pub fn CmdBindIndexBuffer(
13972 commandBuffer : CommandBuffer,
13973 buffer : Buffer,
13974 offset : DeviceSize,
13975 indexType : IndexType);
13976
13977 pub fn CmdBindVertexBuffers(
13978 commandBuffer : CommandBuffer,
13979 firstBinding : u32,
13980 bindingCount : u32,
13981 pBuffers : *const Buffer,
13982 pOffsets : *const DeviceSize);
13983
13984 pub fn CmdDraw(
13985 commandBuffer : CommandBuffer,
13986 vertexCount : u32,
13987 instanceCount : u32,
13988 firstVertex : u32,
13989 firstInstance : u32);
13990
13991 pub fn CmdDrawIndexed(
13992 commandBuffer : CommandBuffer,
13993 indexCount : u32,
13994 instanceCount : u32,
13995 firstIndex : u32,
13996 vertexOffset : i32,
13997 firstInstance : u32);
13998
13999 pub fn CmdDrawIndirect(
14000 commandBuffer : CommandBuffer,
14001 buffer : Buffer,
14002 offset : DeviceSize,
14003 drawCount : u32,
14004 stride : u32);
14005
14006 pub fn CmdDrawIndexedIndirect(
14007 commandBuffer : CommandBuffer,
14008 buffer : Buffer,
14009 offset : DeviceSize,
14010 drawCount : u32,
14011 stride : u32);
14012
14013 pub fn CmdDispatch(
14014 commandBuffer : CommandBuffer,
14015 groupCountX : u32,
14016 groupCountY : u32,
14017 groupCountZ : u32);
14018
14019 pub fn CmdDispatchIndirect(
14020 commandBuffer : CommandBuffer,
14021 buffer : Buffer,
14022 offset : DeviceSize);
14023
14024 pub fn CmdCopyBuffer(
14025 commandBuffer : CommandBuffer,
14026 srcBuffer : Buffer,
14027 dstBuffer : Buffer,
14028 regionCount : u32,
14029 pRegions : *const BufferCopy);
14030
14031 pub fn CmdCopyImage(
14032 commandBuffer : CommandBuffer,
14033 srcImage : Image,
14034 srcImageLayout : ImageLayout,
14035 dstImage : Image,
14036 dstImageLayout : ImageLayout,
14037 regionCount : u32,
14038 pRegions : *const ImageCopy);
14039
14040 pub fn CmdBlitImage(
14041 commandBuffer : CommandBuffer,
14042 srcImage : Image,
14043 srcImageLayout : ImageLayout,
14044 dstImage : Image,
14045 dstImageLayout : ImageLayout,
14046 regionCount : u32,
14047 pRegions : *const ImageBlit,
14048 filter : Filter);
14049
14050 pub fn CmdCopyBufferToImage(
14051 commandBuffer : CommandBuffer,
14052 srcBuffer : Buffer,
14053 dstImage : Image,
14054 dstImageLayout : ImageLayout,
14055 regionCount : u32,
14056 pRegions : *const BufferImageCopy);
14057
14058 pub fn CmdCopyImageToBuffer(
14059 commandBuffer : CommandBuffer,
14060 srcImage : Image,
14061 srcImageLayout : ImageLayout,
14062 dstBuffer : Buffer,
14063 regionCount : u32,
14064 pRegions : *const BufferImageCopy);
14065
14066 pub fn CmdUpdateBuffer(
14067 commandBuffer : CommandBuffer,
14068 dstBuffer : Buffer,
14069 dstOffset : DeviceSize,
14070 dataSize : DeviceSize,
14071 pData : u64);
14072
14073 pub fn CmdFillBuffer(
14074 commandBuffer : CommandBuffer,
14075 dstBuffer : Buffer,
14076 dstOffset : DeviceSize,
14077 size : DeviceSize,
14078 data : u32);
14079
14080 pub fn CmdClearColorImage(
14081 commandBuffer : CommandBuffer,
14082 image : Image,
14083 imageLayout : ImageLayout,
14084 pColor : *const ClearColorValue,
14085 rangeCount : u32,
14086 pRanges : *const ImageSubresourceRange);
14087
14088 pub fn CmdClearDepthStencilImage(
14089 commandBuffer : CommandBuffer,
14090 image : Image,
14091 imageLayout : ImageLayout,
14092 pDepthStencil : *const ClearDepthStencilValue,
14093 rangeCount : u32,
14094 pRanges : *const ImageSubresourceRange);
14095
14096 pub fn CmdClearAttachments(
14097 commandBuffer : CommandBuffer,
14098 attachmentCount : u32,
14099 pAttachments : *const ClearAttachment,
14100 rectCount : u32,
14101 pRects : *const ClearRect);
14102
14103 pub fn CmdResolveImage(
14104 commandBuffer : CommandBuffer,
14105 srcImage : Image,
14106 srcImageLayout : ImageLayout,
14107 dstImage : Image,
14108 dstImageLayout : ImageLayout,
14109 regionCount : u32,
14110 pRegions : *const ImageResolve);
14111
14112 pub fn CmdSetEvent(
14113 commandBuffer : CommandBuffer,
14114 event : Event,
14115 stageMask : PipelineStageFlags);
14116
14117 pub fn CmdResetEvent(
14118 commandBuffer : CommandBuffer,
14119 event : Event,
14120 stageMask : PipelineStageFlags);
14121
14122 pub fn CmdWaitEvents(
14123 commandBuffer : CommandBuffer,
14124 eventCount : u32,
14125 pEvents : *const Event,
14126 srcStageMask : PipelineStageFlags,
14127 dstStageMask : PipelineStageFlags,
14128 memoryBarrierCount : u32,
14129 pMemoryBarriers : *const MemoryBarrier,
14130 bufferMemoryBarrierCount : u32,
14131 pBufferMemoryBarriers : *const BufferMemoryBarrier,
14132 imageMemoryBarrierCount : u32,
14133 pImageMemoryBarriers : *const ImageMemoryBarrier);
14134
14135 pub fn CmdPipelineBarrier(
14136 commandBuffer : CommandBuffer,
14137 srcStageMask : PipelineStageFlags,
14138 dstStageMask : PipelineStageFlags,
14139 dependencyFlags : DependencyFlags,
14140 memoryBarrierCount : u32,
14141 pMemoryBarriers : *const MemoryBarrier,
14142 bufferMemoryBarrierCount : u32,
14143 pBufferMemoryBarriers : *const BufferMemoryBarrier,
14144 imageMemoryBarrierCount : u32,
14145 pImageMemoryBarriers : *const ImageMemoryBarrier);
14146
14147 pub fn CmdBeginQuery(
14148 commandBuffer : CommandBuffer,
14149 queryPool : QueryPool,
14150 query : u32,
14151 flags : QueryControlFlags);
14152
14153 pub fn CmdEndQuery(
14154 commandBuffer : CommandBuffer,
14155 queryPool : QueryPool,
14156 query : u32);
14157
14158 pub fn CmdResetQueryPool(
14159 commandBuffer : CommandBuffer,
14160 queryPool : QueryPool,
14161 firstQuery : u32,
14162 queryCount : u32);
14163
14164 pub fn CmdWriteTimestamp(
14165 commandBuffer : CommandBuffer,
14166 pipelineStage : PipelineStageFlagBits,
14167 queryPool : QueryPool,
14168 query : u32);
14169
14170 pub fn CmdCopyQueryPoolResults(
14171 commandBuffer : CommandBuffer,
14172 queryPool : QueryPool,
14173 firstQuery : u32,
14174 queryCount : u32,
14175 dstBuffer : Buffer,
14176 dstOffset : DeviceSize,
14177 stride : DeviceSize,
14178 flags : QueryResultFlags);
14179
14180 pub fn CmdPushConstants(
14181 commandBuffer : CommandBuffer,
14182 layout : PipelineLayout,
14183 stageFlags : ShaderStageFlags,
14184 offset : u32,
14185 size : u32,
14186 pValues : u64);
14187
14188 pub fn CmdBeginRenderPass(
14189 commandBuffer : CommandBuffer,
14190 pRenderPassBegin : *const RenderPassBeginInfo,
14191 contents : SubpassContents);
14192
14193 pub fn CmdNextSubpass(
14194 commandBuffer : CommandBuffer,
14195 contents : SubpassContents);
14196
14197 pub fn CmdEndRenderPass(
14198 commandBuffer : CommandBuffer);
14199
14200 pub fn CmdExecuteCommands(
14201 commandBuffer : CommandBuffer,
14202 commandBufferCount : u32,
14203 pCommandBuffers : *const CommandBuffer);
14204
14205 pub fn EnumerateInstanceVersion(
14206 pApiVersion : *mut u32) -> VkResult;
14207
14208 pub fn BindBufferMemory2(
14209 bindInfoCount : u32,
14210 pBindInfos : *const BindBufferMemoryInfo) -> VkResult;
14211
14212 pub fn BindImageMemory2(
14213 bindInfoCount : u32,
14214 pBindInfos : *const BindImageMemoryInfo) -> VkResult;
14215
14216 pub fn GetDeviceGroupPeerMemoryFeatures(
14217 heapIndex : u32,
14218 localDeviceIndex : u32,
14219 remoteDeviceIndex : u32,
14220 pPeerMemoryFeatures : *mut PeerMemoryFeatureFlags);
14221
14222 pub fn CmdSetDeviceMask(
14223 commandBuffer : CommandBuffer,
14224 deviceMask : u32);
14225
14226 pub fn CmdDispatchBase(
14227 commandBuffer : CommandBuffer,
14228 baseGroupX : u32,
14229 baseGroupY : u32,
14230 baseGroupZ : u32,
14231 groupCountX : u32,
14232 groupCountY : u32,
14233 groupCountZ : u32);
14234
14235 pub fn EnumeratePhysicalDeviceGroups(
14236 pPhysicalDeviceGroupCount : *mut u32,
14237 pPhysicalDeviceGroupProperties : *mut PhysicalDeviceGroupProperties) -> VkResult;
14238
14239 pub fn GetImageMemoryRequirements2(
14240 pInfo : *const ImageMemoryRequirementsInfo2,
14241 pMemoryRequirements : *mut MemoryRequirements2);
14242
14243 pub fn GetBufferMemoryRequirements2(
14244 pInfo : *const BufferMemoryRequirementsInfo2,
14245 pMemoryRequirements : *mut MemoryRequirements2);
14246
14247 pub fn GetImageSparseMemoryRequirements2(
14248 pInfo : *const ImageSparseMemoryRequirementsInfo2,
14249 pSparseMemoryRequirementCount : *mut u32,
14250 pSparseMemoryRequirements : *mut SparseImageMemoryRequirements2);
14251
14252 pub fn GetPhysicalDeviceFeatures2(
14253 pFeatures : *mut PhysicalDeviceFeatures2);
14254
14255 pub fn GetPhysicalDeviceProperties2(
14256 pProperties : *mut PhysicalDeviceProperties2);
14257
14258 pub fn GetPhysicalDeviceFormatProperties2(
14259 format : Format,
14260 pFormatProperties : *mut FormatProperties2);
14261
14262 pub fn GetPhysicalDeviceImageFormatProperties2(
14263 pImageFormatInfo : *const PhysicalDeviceImageFormatInfo2,
14264 pImageFormatProperties : *mut ImageFormatProperties2) -> VkResult;
14265
14266 pub fn GetPhysicalDeviceQueueFamilyProperties2(
14267 pQueueFamilyPropertyCount : *mut u32,
14268 pQueueFamilyProperties : *mut QueueFamilyProperties2);
14269
14270 pub fn GetPhysicalDeviceMemoryProperties2(
14271 pMemoryProperties : *mut PhysicalDeviceMemoryProperties2);
14272
14273 pub fn GetPhysicalDeviceSparseImageFormatProperties2(
14274 pFormatInfo : *const PhysicalDeviceSparseImageFormatInfo2,
14275 pPropertyCount : *mut u32,
14276 pProperties : *mut SparseImageFormatProperties2);
14277
14278 pub fn TrimCommandPool(
14279 commandPool : CommandPool,
14280 flags : CommandPoolTrimFlags);
14281
14282 pub fn GetDeviceQueue2(
14283 pQueueInfo : *const DeviceQueueInfo2,
14284 pQueue : *mut Queue);
14285
14286 pub fn CreateSamplerYcbcrConversion(
14287 pCreateInfo : *const SamplerYcbcrConversionCreateInfo,
14288 pYcbcrConversion : *mut SamplerYcbcrConversion) -> VkResult;
14289
14290 pub fn DestroySamplerYcbcrConversion(
14291 ycbcrConversion : SamplerYcbcrConversion);
14292
14293 pub fn CreateDescriptorUpdateTemplate(
14294 pCreateInfo : *const DescriptorUpdateTemplateCreateInfo,
14295 pDescriptorUpdateTemplate : *mut DescriptorUpdateTemplate) -> VkResult;
14296
14297 pub fn DestroyDescriptorUpdateTemplate(
14298 descriptorUpdateTemplate : DescriptorUpdateTemplate);
14299
14300 pub fn UpdateDescriptorSetWithTemplate(
14301 descriptorSet : DescriptorSet,
14302 descriptorUpdateTemplate : DescriptorUpdateTemplate,
14303 pData : u64);
14304
14305 pub fn GetPhysicalDeviceExternalBufferProperties(
14306 pExternalBufferInfo : *const PhysicalDeviceExternalBufferInfo,
14307 pExternalBufferProperties : *mut ExternalBufferProperties);
14308
14309 pub fn GetPhysicalDeviceExternalFenceProperties(
14310 pExternalFenceInfo : *const PhysicalDeviceExternalFenceInfo,
14311 pExternalFenceProperties : *mut ExternalFenceProperties);
14312
14313 pub fn GetPhysicalDeviceExternalSemaphoreProperties(
14314 pExternalSemaphoreInfo : *const PhysicalDeviceExternalSemaphoreInfo,
14315 pExternalSemaphoreProperties : *mut ExternalSemaphoreProperties);
14316
14317 pub fn GetDescriptorSetLayoutSupport(
14318 pCreateInfo : *const DescriptorSetLayoutCreateInfo,
14319 pSupport : *mut DescriptorSetLayoutSupport);
14320
14321 pub fn CmdDrawIndirectCount(
14322 commandBuffer : CommandBuffer,
14323 buffer : Buffer,
14324 offset : DeviceSize,
14325 countBuffer : Buffer,
14326 countBufferOffset : DeviceSize,
14327 maxDrawCount : u32,
14328 stride : u32);
14329
14330 pub fn CmdDrawIndexedIndirectCount(
14331 commandBuffer : CommandBuffer,
14332 buffer : Buffer,
14333 offset : DeviceSize,
14334 countBuffer : Buffer,
14335 countBufferOffset : DeviceSize,
14336 maxDrawCount : u32,
14337 stride : u32);
14338
14339 pub fn CreateRenderPass2(
14340 pCreateInfo : *const RenderPassCreateInfo2,
14341 pRenderPass : *mut RenderPass) -> VkResult;
14342
14343 pub fn CmdBeginRenderPass2(
14344 commandBuffer : CommandBuffer,
14345 pRenderPassBegin : *const RenderPassBeginInfo,
14346 pSubpassBeginInfo : *const SubpassBeginInfo);
14347
14348 pub fn CmdNextSubpass2(
14349 commandBuffer : CommandBuffer,
14350 pSubpassBeginInfo : *const SubpassBeginInfo,
14351 pSubpassEndInfo : *const SubpassEndInfo);
14352
14353 pub fn CmdEndRenderPass2(
14354 commandBuffer : CommandBuffer,
14355 pSubpassEndInfo : *const SubpassEndInfo);
14356
14357 pub fn ResetQueryPool(
14358 queryPool : QueryPool,
14359 firstQuery : u32,
14360 queryCount : u32);
14361
14362 pub fn GetSemaphoreCounterValue(
14363 semaphore : Semaphore,
14364 pValue : *mut u64) -> VkResult;
14365
14366 pub fn WaitSemaphores(
14367 pWaitInfo : *const SemaphoreWaitInfo,
14368 timeout : u64) -> VkResult;
14369
14370 pub fn SignalSemaphore(
14371 pSignalInfo : *const SemaphoreSignalInfo) -> VkResult;
14372
14373 pub fn GetBufferDeviceAddress(
14374 pInfo : *const BufferDeviceAddressInfo) -> DeviceAddress;
14375
14376 pub fn GetBufferOpaqueCaptureAddress(
14377 pInfo : *const BufferDeviceAddressInfo) -> u64;
14378
14379 pub fn GetDeviceMemoryOpaqueCaptureAddress(
14380 pInfo : *const DeviceMemoryOpaqueCaptureAddressInfo) -> u64;
14381
14382 pub fn DestroySurfaceKHR(
14383 surface : SurfaceKHR);
14384
14385 pub fn GetPhysicalDeviceSurfaceSupportKHR(
14386 queueFamilyIndex : u32,
14387 surface : SurfaceKHR,
14388 pSupported : *mut Bool32) -> VkResult;
14389
14390 pub fn GetPhysicalDeviceSurfaceCapabilitiesKHR(
14391 surface : SurfaceKHR,
14392 pSurfaceCapabilities : *mut SurfaceCapabilitiesKHR) -> VkResult;
14393
14394 pub fn GetPhysicalDeviceSurfaceFormatsKHR(
14395 surface : SurfaceKHR,
14396 pSurfaceFormatCount : *mut u32,
14397 pSurfaceFormats : *mut SurfaceFormatKHR) -> VkResult;
14398
14399 pub fn GetPhysicalDeviceSurfacePresentModesKHR(
14400 surface : SurfaceKHR,
14401 pPresentModeCount : *mut u32,
14402 pPresentModes : *mut PresentModeKHR) -> VkResult;
14403
14404 pub fn CreateSwapchainKHR(
14405 pCreateInfo : *const SwapchainCreateInfoKHR,
14406 pSwapchain : *mut SwapchainKHR) -> VkResult;
14407
14408 pub fn DestroySwapchainKHR(
14409 swapchain : SwapchainKHR);
14410
14411 pub fn GetSwapchainImagesKHR(
14412 swapchain : SwapchainKHR,
14413 pSwapchainImageCount : *mut u32,
14414 pSwapchainImages : *mut Image) -> VkResult;
14415
14416 pub fn AcquireNextImageKHR(
14417 swapchain : SwapchainKHR,
14418 timeout : u64,
14419 semaphore : Semaphore,
14420 fence : Fence,
14421 pImageIndex : *mut u32) -> VkResult;
14422
14423 pub fn QueuePresentKHR(
14424 pPresentInfo : *const PresentInfoKHR) -> VkResult;
14425
14426 pub fn GetDeviceGroupPresentCapabilitiesKHR(
14427 pDeviceGroupPresentCapabilities : *mut DeviceGroupPresentCapabilitiesKHR) -> VkResult;
14428
14429 pub fn GetDeviceGroupSurfacePresentModesKHR(
14430 surface : SurfaceKHR,
14431 pModes : *mut DeviceGroupPresentModeFlagsKHR) -> VkResult;
14432
14433 pub fn GetPhysicalDevicePresentRectanglesKHR(
14434 surface : SurfaceKHR,
14435 pRectCount : *mut u32,
14436 pRects : *mut Rect2D) -> VkResult;
14437
14438 pub fn AcquireNextImage2KHR(
14439 pAcquireInfo : *const AcquireNextImageInfoKHR,
14440 pImageIndex : *mut u32) -> VkResult;
14441
14442 pub fn GetPhysicalDeviceDisplayPropertiesKHR(
14443 pPropertyCount : *mut u32,
14444 pProperties : *mut DisplayPropertiesKHR) -> VkResult;
14445
14446 pub fn GetPhysicalDeviceDisplayPlanePropertiesKHR(
14447 pPropertyCount : *mut u32,
14448 pProperties : *mut DisplayPlanePropertiesKHR) -> VkResult;
14449
14450 pub fn GetDisplayPlaneSupportedDisplaysKHR(
14451 planeIndex : u32,
14452 pDisplayCount : *mut u32,
14453 pDisplays : *mut DisplayKHR) -> VkResult;
14454
14455 pub fn GetDisplayModePropertiesKHR(
14456 display : DisplayKHR,
14457 pPropertyCount : *mut u32,
14458 pProperties : *mut DisplayModePropertiesKHR) -> VkResult;
14459
14460 pub fn CreateDisplayModeKHR(
14461 display : DisplayKHR,
14462 pCreateInfo : *const DisplayModeCreateInfoKHR,
14463 pMode : *mut DisplayModeKHR) -> VkResult;
14464
14465 pub fn GetDisplayPlaneCapabilitiesKHR(
14466 mode : DisplayModeKHR,
14467 planeIndex : u32,
14468 pCapabilities : *mut DisplayPlaneCapabilitiesKHR) -> VkResult;
14469
14470 pub fn CreateDisplayPlaneSurfaceKHR(
14471 pCreateInfo : *const DisplaySurfaceCreateInfoKHR,
14472 pSurface : *mut SurfaceKHR) -> VkResult;
14473
14474 pub fn CreateSharedSwapchainsKHR(
14475 swapchainCount : u32,
14476 pCreateInfos : *const SwapchainCreateInfoKHR,
14477 pSwapchains : *mut SwapchainKHR) -> VkResult;
14478
14479 pub fn GetPhysicalDeviceFeatures2KHR(
14480 pFeatures : *mut PhysicalDeviceFeatures2);
14481
14482 pub fn GetPhysicalDeviceProperties2KHR(
14483 pProperties : *mut PhysicalDeviceProperties2);
14484
14485 pub fn GetPhysicalDeviceFormatProperties2KHR(
14486 format : Format,
14487 pFormatProperties : *mut FormatProperties2);
14488
14489 pub fn GetPhysicalDeviceImageFormatProperties2KHR(
14490 pImageFormatInfo : *const PhysicalDeviceImageFormatInfo2,
14491 pImageFormatProperties : *mut ImageFormatProperties2) -> VkResult;
14492
14493 pub fn GetPhysicalDeviceQueueFamilyProperties2KHR(
14494 pQueueFamilyPropertyCount : *mut u32,
14495 pQueueFamilyProperties : *mut QueueFamilyProperties2);
14496
14497 pub fn GetPhysicalDeviceMemoryProperties2KHR(
14498 pMemoryProperties : *mut PhysicalDeviceMemoryProperties2);
14499
14500 pub fn GetPhysicalDeviceSparseImageFormatProperties2KHR(
14501 pFormatInfo : *const PhysicalDeviceSparseImageFormatInfo2,
14502 pPropertyCount : *mut u32,
14503 pProperties : *mut SparseImageFormatProperties2);
14504
14505 pub fn GetDeviceGroupPeerMemoryFeaturesKHR(
14506 heapIndex : u32,
14507 localDeviceIndex : u32,
14508 remoteDeviceIndex : u32,
14509 pPeerMemoryFeatures : *mut PeerMemoryFeatureFlags);
14510
14511 pub fn CmdSetDeviceMaskKHR(
14512 commandBuffer : CommandBuffer,
14513 deviceMask : u32);
14514
14515 pub fn CmdDispatchBaseKHR(
14516 commandBuffer : CommandBuffer,
14517 baseGroupX : u32,
14518 baseGroupY : u32,
14519 baseGroupZ : u32,
14520 groupCountX : u32,
14521 groupCountY : u32,
14522 groupCountZ : u32);
14523
14524 pub fn TrimCommandPoolKHR(
14525 commandPool : CommandPool,
14526 flags : CommandPoolTrimFlags);
14527
14528 pub fn EnumeratePhysicalDeviceGroupsKHR(
14529 pPhysicalDeviceGroupCount : *mut u32,
14530 pPhysicalDeviceGroupProperties : *mut PhysicalDeviceGroupProperties) -> VkResult;
14531
14532 pub fn GetPhysicalDeviceExternalBufferPropertiesKHR(
14533 pExternalBufferInfo : *const PhysicalDeviceExternalBufferInfo,
14534 pExternalBufferProperties : *mut ExternalBufferProperties);
14535
14536 pub fn GetMemoryFdKHR(
14537 pGetFdInfo : *const MemoryGetFdInfoKHR,
14538 pFd : *mut i32) -> VkResult;
14539
14540 pub fn GetMemoryFdPropertiesKHR(
14541 handleType : ExternalMemoryHandleTypeFlagBits,
14542 fd : i32,
14543 pMemoryFdProperties : *mut MemoryFdPropertiesKHR) -> VkResult;
14544
14545 pub fn GetPhysicalDeviceExternalSemaphorePropertiesKHR(
14546 pExternalSemaphoreInfo : *const PhysicalDeviceExternalSemaphoreInfo,
14547 pExternalSemaphoreProperties : *mut ExternalSemaphoreProperties);
14548
14549 pub fn ImportSemaphoreFdKHR(
14550 pImportSemaphoreFdInfo : *const ImportSemaphoreFdInfoKHR) -> VkResult;
14551
14552 pub fn GetSemaphoreFdKHR(
14553 pGetFdInfo : *const SemaphoreGetFdInfoKHR,
14554 pFd : *mut i32) -> VkResult;
14555
14556 pub fn CmdPushDescriptorSetKHR(
14557 commandBuffer : CommandBuffer,
14558 pipelineBindPoint : PipelineBindPoint,
14559 layout : PipelineLayout,
14560 set : u32,
14561 descriptorWriteCount : u32,
14562 pDescriptorWrites : *const WriteDescriptorSet);
14563
14564 pub fn CmdPushDescriptorSetWithTemplateKHR(
14565 commandBuffer : CommandBuffer,
14566 descriptorUpdateTemplate : DescriptorUpdateTemplate,
14567 layout : PipelineLayout,
14568 set : u32,
14569 pData : u64);
14570
14571 pub fn CreateDescriptorUpdateTemplateKHR(
14572 pCreateInfo : *const DescriptorUpdateTemplateCreateInfo,
14573 pDescriptorUpdateTemplate : *mut DescriptorUpdateTemplate) -> VkResult;
14574
14575 pub fn DestroyDescriptorUpdateTemplateKHR(
14576 descriptorUpdateTemplate : DescriptorUpdateTemplate);
14577
14578 pub fn UpdateDescriptorSetWithTemplateKHR(
14579 descriptorSet : DescriptorSet,
14580 descriptorUpdateTemplate : DescriptorUpdateTemplate,
14581 pData : u64);
14582
14583 pub fn CreateRenderPass2KHR(
14584 pCreateInfo : *const RenderPassCreateInfo2,
14585 pRenderPass : *mut RenderPass) -> VkResult;
14586
14587 pub fn CmdBeginRenderPass2KHR(
14588 commandBuffer : CommandBuffer,
14589 pRenderPassBegin : *const RenderPassBeginInfo,
14590 pSubpassBeginInfo : *const SubpassBeginInfo);
14591
14592 pub fn CmdNextSubpass2KHR(
14593 commandBuffer : CommandBuffer,
14594 pSubpassBeginInfo : *const SubpassBeginInfo,
14595 pSubpassEndInfo : *const SubpassEndInfo);
14596
14597 pub fn CmdEndRenderPass2KHR(
14598 commandBuffer : CommandBuffer,
14599 pSubpassEndInfo : *const SubpassEndInfo);
14600
14601 pub fn GetSwapchainStatusKHR(
14602 swapchain : SwapchainKHR) -> VkResult;
14603
14604 pub fn GetPhysicalDeviceExternalFencePropertiesKHR(
14605 pExternalFenceInfo : *const PhysicalDeviceExternalFenceInfo,
14606 pExternalFenceProperties : *mut ExternalFenceProperties);
14607
14608 pub fn ImportFenceFdKHR(
14609 pImportFenceFdInfo : *const ImportFenceFdInfoKHR) -> VkResult;
14610
14611 pub fn GetFenceFdKHR(
14612 pGetFdInfo : *const FenceGetFdInfoKHR,
14613 pFd : *mut i32) -> VkResult;
14614
14615 pub fn EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
14616 queueFamilyIndex : u32,
14617 pCounterCount : *mut u32,
14618 pCounters : *mut PerformanceCounterKHR,
14619 pCounterDescriptions : *mut PerformanceCounterDescriptionKHR) -> VkResult;
14620
14621 pub fn GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
14622 pPerformanceQueryCreateInfo : *const QueryPoolPerformanceCreateInfoKHR,
14623 pNumPasses : *mut u32);
14624
14625 pub fn AcquireProfilingLockKHR(
14626 pInfo : *const AcquireProfilingLockInfoKHR) -> VkResult;
14627
14628 pub fn ReleaseProfilingLockKHR();
14629
14630 pub fn GetPhysicalDeviceSurfaceCapabilities2KHR(
14631 pSurfaceInfo : *const PhysicalDeviceSurfaceInfo2KHR,
14632 pSurfaceCapabilities : *mut SurfaceCapabilities2KHR) -> VkResult;
14633
14634 pub fn GetPhysicalDeviceSurfaceFormats2KHR(
14635 pSurfaceInfo : *const PhysicalDeviceSurfaceInfo2KHR,
14636 pSurfaceFormatCount : *mut u32,
14637 pSurfaceFormats : *mut SurfaceFormat2KHR) -> VkResult;
14638
14639 pub fn GetPhysicalDeviceDisplayProperties2KHR(
14640 pPropertyCount : *mut u32,
14641 pProperties : *mut DisplayProperties2KHR) -> VkResult;
14642
14643 pub fn GetPhysicalDeviceDisplayPlaneProperties2KHR(
14644 pPropertyCount : *mut u32,
14645 pProperties : *mut DisplayPlaneProperties2KHR) -> VkResult;
14646
14647 pub fn GetDisplayModeProperties2KHR(
14648 display : DisplayKHR,
14649 pPropertyCount : *mut u32,
14650 pProperties : *mut DisplayModeProperties2KHR) -> VkResult;
14651
14652 pub fn GetDisplayPlaneCapabilities2KHR(
14653 pDisplayPlaneInfo : *const DisplayPlaneInfo2KHR,
14654 pCapabilities : *mut DisplayPlaneCapabilities2KHR) -> VkResult;
14655
14656 pub fn GetImageMemoryRequirements2KHR(
14657 pInfo : *const ImageMemoryRequirementsInfo2,
14658 pMemoryRequirements : *mut MemoryRequirements2);
14659
14660 pub fn GetBufferMemoryRequirements2KHR(
14661 pInfo : *const BufferMemoryRequirementsInfo2,
14662 pMemoryRequirements : *mut MemoryRequirements2);
14663
14664 pub fn GetImageSparseMemoryRequirements2KHR(
14665 pInfo : *const ImageSparseMemoryRequirementsInfo2,
14666 pSparseMemoryRequirementCount : *mut u32,
14667 pSparseMemoryRequirements : *mut SparseImageMemoryRequirements2);
14668
14669 pub fn CreateSamplerYcbcrConversionKHR(
14670 pCreateInfo : *const SamplerYcbcrConversionCreateInfo,
14671 pYcbcrConversion : *mut SamplerYcbcrConversion) -> VkResult;
14672
14673 pub fn DestroySamplerYcbcrConversionKHR(
14674 ycbcrConversion : SamplerYcbcrConversion);
14675
14676 pub fn BindBufferMemory2KHR(
14677 bindInfoCount : u32,
14678 pBindInfos : *const BindBufferMemoryInfo) -> VkResult;
14679
14680 pub fn BindImageMemory2KHR(
14681 bindInfoCount : u32,
14682 pBindInfos : *const BindImageMemoryInfo) -> VkResult;
14683
14684 pub fn GetDescriptorSetLayoutSupportKHR(
14685 pCreateInfo : *const DescriptorSetLayoutCreateInfo,
14686 pSupport : *mut DescriptorSetLayoutSupport);
14687
14688 pub fn CmdDrawIndirectCountKHR(
14689 commandBuffer : CommandBuffer,
14690 buffer : Buffer,
14691 offset : DeviceSize,
14692 countBuffer : Buffer,
14693 countBufferOffset : DeviceSize,
14694 maxDrawCount : u32,
14695 stride : u32);
14696
14697 pub fn CmdDrawIndexedIndirectCountKHR(
14698 commandBuffer : CommandBuffer,
14699 buffer : Buffer,
14700 offset : DeviceSize,
14701 countBuffer : Buffer,
14702 countBufferOffset : DeviceSize,
14703 maxDrawCount : u32,
14704 stride : u32);
14705
14706 pub fn GetSemaphoreCounterValueKHR(
14707 semaphore : Semaphore,
14708 pValue : *mut u64) -> VkResult;
14709
14710 pub fn WaitSemaphoresKHR(
14711 pWaitInfo : *const SemaphoreWaitInfo,
14712 timeout : u64) -> VkResult;
14713
14714 pub fn SignalSemaphoreKHR(
14715 pSignalInfo : *const SemaphoreSignalInfo) -> VkResult;
14716
14717 pub fn GetBufferDeviceAddressKHR(
14718 pInfo : *const BufferDeviceAddressInfo) -> DeviceAddress;
14719
14720 pub fn GetBufferOpaqueCaptureAddressKHR(
14721 pInfo : *const BufferDeviceAddressInfo) -> u64;
14722
14723 pub fn GetDeviceMemoryOpaqueCaptureAddressKHR(
14724 pInfo : *const DeviceMemoryOpaqueCaptureAddressInfo) -> u64;
14725
14726 pub fn GetPipelineExecutablePropertiesKHR(
14727 pPipelineInfo : *const PipelineInfoKHR,
14728 pExecutableCount : *mut u32,
14729 pProperties : *mut PipelineExecutablePropertiesKHR) -> VkResult;
14730
14731 pub fn GetPipelineExecutableInternalRepresentationsKHR(
14737 pExecutableInfo : *const PipelineExecutableInfoKHR,
14738 pInternalRepresentationCount : *mut u32,
14739 pInternalRepresentations : *mut PipelineExecutableInternalRepresentationKHR) -> VkResult;
14740
14741 pub fn CreateDebugReportCallbackEXT(
14742 pCreateInfo : *const DebugReportCallbackCreateInfoEXT,
14743 pCallback : *mut DebugReportCallbackEXT) -> VkResult;
14744
14745 pub fn DestroyDebugReportCallbackEXT(
14746 callback : DebugReportCallbackEXT);
14747
14748 pub fn DebugReportMessageEXT(
14749 flags : DebugReportFlagsEXT,
14750 objectType : DebugReportObjectTypeEXT,
14751 object : u64,
14752 location : usize,
14753 messageCode : i32,
14754 pLayerPrefix : *const i8,
14755 pMessage : *const i8);
14756
14757 pub fn DebugMarkerSetObjectTagEXT(
14758 pTagInfo : *const DebugMarkerObjectTagInfoEXT) -> VkResult;
14759
14760 pub fn DebugMarkerSetObjectNameEXT(
14761 pNameInfo : *const DebugMarkerObjectNameInfoEXT) -> VkResult;
14762
14763 pub fn CmdDebugMarkerBeginEXT(
14764 commandBuffer : CommandBuffer,
14765 pMarkerInfo : *const DebugMarkerMarkerInfoEXT);
14766
14767 pub fn CmdDebugMarkerEndEXT(
14768 commandBuffer : CommandBuffer);
14769
14770 pub fn CmdDebugMarkerInsertEXT(
14771 commandBuffer : CommandBuffer,
14772 pMarkerInfo : *const DebugMarkerMarkerInfoEXT);
14773
14774 pub fn CmdBindTransformFeedbackBuffersEXT(
14775 commandBuffer : CommandBuffer,
14776 firstBinding : u32,
14777 bindingCount : u32,
14778 pBuffers : *const Buffer,
14779 pOffsets : *const DeviceSize,
14780 pSizes : *const DeviceSize);
14781
14782 pub fn CmdBeginTransformFeedbackEXT(
14783 commandBuffer : CommandBuffer,
14784 firstCounterBuffer : u32,
14785 counterBufferCount : u32,
14786 pCounterBuffers : *const Buffer,
14787 pCounterBufferOffsets : *const DeviceSize);
14788
14789 pub fn CmdEndTransformFeedbackEXT(
14790 commandBuffer : CommandBuffer,
14791 firstCounterBuffer : u32,
14792 counterBufferCount : u32,
14793 pCounterBuffers : *const Buffer,
14794 pCounterBufferOffsets : *const DeviceSize);
14795
14796 pub fn CmdBeginQueryIndexedEXT(
14797 commandBuffer : CommandBuffer,
14798 queryPool : QueryPool,
14799 query : u32,
14800 flags : QueryControlFlags,
14801 index : u32);
14802
14803 pub fn CmdEndQueryIndexedEXT(
14804 commandBuffer : CommandBuffer,
14805 queryPool : QueryPool,
14806 query : u32,
14807 index : u32);
14808
14809 pub fn CmdDrawIndirectByteCountEXT(
14810 commandBuffer : CommandBuffer,
14811 instanceCount : u32,
14812 firstInstance : u32,
14813 counterBuffer : Buffer,
14814 counterBufferOffset : DeviceSize,
14815 counterOffset : u32,
14816 vertexStride : u32);
14817
14818 pub fn GetImageViewHandleNVX(
14819 pInfo : *const ImageViewHandleInfoNVX) -> u32;
14820
14821 pub fn GetImageViewAddressNVX(
14822 imageView : ImageView,
14823 pProperties : *mut ImageViewAddressPropertiesNVX) -> VkResult;
14824
14825 pub fn CmdDrawIndirectCountAMD(
14826 commandBuffer : CommandBuffer,
14827 buffer : Buffer,
14828 offset : DeviceSize,
14829 countBuffer : Buffer,
14830 countBufferOffset : DeviceSize,
14831 maxDrawCount : u32,
14832 stride : u32);
14833
14834 pub fn CmdDrawIndexedIndirectCountAMD(
14835 commandBuffer : CommandBuffer,
14836 buffer : Buffer,
14837 offset : DeviceSize,
14838 countBuffer : Buffer,
14839 countBufferOffset : DeviceSize,
14840 maxDrawCount : u32,
14841 stride : u32);
14842
14843 pub fn GetShaderInfoAMD(
14844 pipeline : Pipeline,
14845 shaderStage : ShaderStageFlagBits,
14846 infoType : ShaderInfoTypeAMD,
14847 pInfoSize : *mut usize,
14848 pInfo : u64) -> VkResult;
14849
14850 pub fn GetPhysicalDeviceExternalImageFormatPropertiesNV(
14851 format : Format,
14852 r#type : ImageType,
14853 tiling : ImageTiling,
14854 usage : ImageUsageFlags,
14855 flags : ImageCreateFlags,
14856 externalHandleType : ExternalMemoryHandleTypeFlagsNV,
14857 pExternalImageFormatProperties : *mut ExternalImageFormatPropertiesNV) -> VkResult;
14858
14859 pub fn CmdBeginConditionalRenderingEXT(
14860 commandBuffer : CommandBuffer,
14861 pConditionalRenderingBegin : *const ConditionalRenderingBeginInfoEXT);
14862
14863 pub fn CmdEndConditionalRenderingEXT(
14864 commandBuffer : CommandBuffer);
14865
14866 pub fn CmdSetViewportWScalingNV(
14867 commandBuffer : CommandBuffer,
14868 firstViewport : u32,
14869 viewportCount : u32,
14870 pViewportWScalings : *const ViewportWScalingNV);
14871
14872 pub fn ReleaseDisplayEXT(
14873 display : DisplayKHR) -> VkResult;
14874
14875 pub fn GetPhysicalDeviceSurfaceCapabilities2EXT(
14876 surface : SurfaceKHR,
14877 pSurfaceCapabilities : *mut SurfaceCapabilities2EXT) -> VkResult;
14878
14879 pub fn DisplayPowerControlEXT(
14880 display : DisplayKHR,
14881 pDisplayPowerInfo : *const DisplayPowerInfoEXT) -> VkResult;
14882
14883 pub fn RegisterDeviceEventEXT(
14884 pDeviceEventInfo : *const DeviceEventInfoEXT,
14885 pFence : *mut Fence) -> VkResult;
14886
14887 pub fn RegisterDisplayEventEXT(
14888 display : DisplayKHR,
14889 pDisplayEventInfo : *const DisplayEventInfoEXT,
14890 pFence : *mut Fence) -> VkResult;
14891
14892 pub fn GetSwapchainCounterEXT(
14893 swapchain : SwapchainKHR,
14894 counter : SurfaceCounterFlagBitsEXT,
14895 pCounterValue : *mut u64) -> VkResult;
14896
14897 pub fn GetRefreshCycleDurationGOOGLE(
14898 swapchain : SwapchainKHR,
14899 pDisplayTimingProperties : *mut RefreshCycleDurationGOOGLE) -> VkResult;
14900
14901 pub fn GetPastPresentationTimingGOOGLE(
14902 swapchain : SwapchainKHR,
14903 pPresentationTimingCount : *mut u32,
14904 pPresentationTimings : *mut PastPresentationTimingGOOGLE) -> VkResult;
14905
14906 pub fn CmdSetDiscardRectangleEXT(
14907 commandBuffer : CommandBuffer,
14908 firstDiscardRectangle : u32,
14909 discardRectangleCount : u32,
14910 pDiscardRectangles : *const Rect2D);
14911
14912 pub fn SetHdrMetadataEXT(
14913 swapchainCount : u32,
14914 pSwapchains : *const SwapchainKHR,
14915 pMetadata : *const HdrMetadataEXT);
14916
14917 pub fn SetDebugUtilsObjectNameEXT(
14918 pNameInfo : *const DebugUtilsObjectNameInfoEXT) -> VkResult;
14919
14920 pub fn SetDebugUtilsObjectTagEXT(
14921 pTagInfo : *const DebugUtilsObjectTagInfoEXT) -> VkResult;
14922
14923 pub fn QueueBeginDebugUtilsLabelEXT(
14924 pLabelInfo : *const DebugUtilsLabelEXT);
14925
14926 pub fn QueueEndDebugUtilsLabelEXT(
14927 queue : Queue);
14928
14929 pub fn QueueInsertDebugUtilsLabelEXT(
14930 pLabelInfo : *const DebugUtilsLabelEXT);
14931
14932 pub fn CmdBeginDebugUtilsLabelEXT(
14933 commandBuffer : CommandBuffer,
14934 pLabelInfo : *const DebugUtilsLabelEXT);
14935
14936 pub fn CmdEndDebugUtilsLabelEXT(
14937 commandBuffer : CommandBuffer);
14938
14939 pub fn CmdInsertDebugUtilsLabelEXT(
14940 commandBuffer : CommandBuffer,
14941 pLabelInfo : *const DebugUtilsLabelEXT);
14942
14943 pub fn CreateDebugUtilsMessengerEXT(
14944 pCreateInfo : *const DebugUtilsMessengerCreateInfoEXT,
14945 pMessenger : *mut DebugUtilsMessengerEXT) -> VkResult;
14946
14947 pub fn DestroyDebugUtilsMessengerEXT(
14948 messenger : DebugUtilsMessengerEXT);
14949
14950 pub fn SubmitDebugUtilsMessageEXT(
14951 messageSeverity : DebugUtilsMessageSeverityFlagBitsEXT,
14952 messageTypes : DebugUtilsMessageTypeFlagsEXT,
14953 pCallbackData : *const DebugUtilsMessengerCallbackDataEXT);
14954
14955 pub fn CmdSetSampleLocationsEXT(
14956 commandBuffer : CommandBuffer,
14957 pSampleLocationsInfo : *const SampleLocationsInfoEXT);
14958
14959 pub fn GetPhysicalDeviceMultisamplePropertiesEXT(
14960 samples : SampleCountFlagBits,
14961 pMultisampleProperties : *mut MultisamplePropertiesEXT);
14962
14963 pub fn GetImageDrmFormatModifierPropertiesEXT(
14964 image : Image,
14965 pProperties : *mut ImageDrmFormatModifierPropertiesEXT) -> VkResult;
14966
14967 pub fn CreateValidationCacheEXT(
14968 pCreateInfo : *const ValidationCacheCreateInfoEXT,
14969 pValidationCache : *mut ValidationCacheEXT) -> VkResult;
14970
14971 pub fn DestroyValidationCacheEXT(
14972 validationCache : ValidationCacheEXT);
14973
14974 pub fn MergeValidationCachesEXT(
14975 dstCache : ValidationCacheEXT,
14976 srcCacheCount : u32,
14977 pSrcCaches : *const ValidationCacheEXT) -> VkResult;
14978
14979 pub fn GetValidationCacheDataEXT(
14980 validationCache : ValidationCacheEXT,
14981 pDataSize : *mut usize,
14982 pData : u64) -> VkResult;
14983
14984 pub fn CmdBindShadingRateImageNV(
14985 commandBuffer : CommandBuffer,
14986 imageView : ImageView,
14987 imageLayout : ImageLayout);
14988
14989 pub fn CmdSetViewportShadingRatePaletteNV(
14990 commandBuffer : CommandBuffer,
14991 firstViewport : u32,
14992 viewportCount : u32,
14993 pShadingRatePalettes : *const ShadingRatePaletteNV);
14994
14995 pub fn CmdSetCoarseSampleOrderNV(
14996 commandBuffer : CommandBuffer,
14997 sampleOrderType : CoarseSampleOrderTypeNV,
14998 customSampleOrderCount : u32,
14999 pCustomSampleOrders : *const CoarseSampleOrderCustomNV);
15000
15001 pub fn CreateAccelerationStructureNV(
15002 pCreateInfo : *const AccelerationStructureCreateInfoNV,
15003 pAccelerationStructure : *mut AccelerationStructureNV) -> VkResult;
15004
15005 pub fn DestroyAccelerationStructureKHR(
15006 accelerationStructure : AccelerationStructureKHR);
15007
15008 pub fn DestroyAccelerationStructureNV(
15009 accelerationStructure : AccelerationStructureKHR);
15010
15011 pub fn GetAccelerationStructureMemoryRequirementsNV(
15012 pInfo : *const AccelerationStructureMemoryRequirementsInfoNV,
15013 pMemoryRequirements : *mut MemoryRequirements2KHR);
15014
15015 pub fn BindAccelerationStructureMemoryKHR(
15016 bindInfoCount : u32,
15017 pBindInfos : *const BindAccelerationStructureMemoryInfoKHR) -> VkResult;
15018
15019 pub fn BindAccelerationStructureMemoryNV(
15020 bindInfoCount : u32,
15021 pBindInfos : *const BindAccelerationStructureMemoryInfoKHR) -> VkResult;
15022
15023 pub fn CmdBuildAccelerationStructureNV(
15024 commandBuffer : CommandBuffer,
15025 pInfo : *const AccelerationStructureInfoNV,
15026 instanceData : Buffer,
15027 instanceOffset : DeviceSize,
15028 update : Bool32,
15029 dst : AccelerationStructureKHR,
15030 src : AccelerationStructureKHR,
15031 scratch : Buffer,
15032 scratchOffset : DeviceSize);
15033
15034 pub fn CmdCopyAccelerationStructureNV(
15035 commandBuffer : CommandBuffer,
15036 dst : AccelerationStructureKHR,
15037 src : AccelerationStructureKHR,
15038 mode : CopyAccelerationStructureModeKHR);
15039
15040 pub fn CmdTraceRaysNV(
15041 commandBuffer : CommandBuffer,
15042 raygenShaderBindingTableBuffer : Buffer,
15043 raygenShaderBindingOffset : DeviceSize,
15044 missShaderBindingTableBuffer : Buffer,
15045 missShaderBindingOffset : DeviceSize,
15046 missShaderBindingStride : DeviceSize,
15047 hitShaderBindingTableBuffer : Buffer,
15048 hitShaderBindingOffset : DeviceSize,
15049 hitShaderBindingStride : DeviceSize,
15050 callableShaderBindingTableBuffer : Buffer,
15051 callableShaderBindingOffset : DeviceSize,
15052 callableShaderBindingStride : DeviceSize,
15053 width : u32,
15054 height : u32,
15055 depth : u32);
15056
15057 pub fn CreateRayTracingPipelinesNV(
15058 pipelineCache : PipelineCache,
15059 createInfoCount : u32,
15060 pCreateInfos : *const RayTracingPipelineCreateInfoNV,
15061 pPipelines : *mut Pipeline) -> VkResult;
15062
15063 pub fn GetRayTracingShaderGroupHandlesKHR(
15064 pipeline : Pipeline,
15065 firstGroup : u32,
15066 groupCount : u32,
15067 dataSize : usize,
15068 pData : u64) -> VkResult;
15069
15070 pub fn GetRayTracingShaderGroupHandlesNV(
15071 pipeline : Pipeline,
15072 firstGroup : u32,
15073 groupCount : u32,
15074 dataSize : usize,
15075 pData : u64) -> VkResult;
15076
15077 pub fn GetAccelerationStructureHandleNV(
15078 accelerationStructure : AccelerationStructureKHR,
15079 dataSize : usize,
15080 pData : u64) -> VkResult;
15081
15082 pub fn CmdWriteAccelerationStructuresPropertiesKHR(
15083 commandBuffer : CommandBuffer,
15084 accelerationStructureCount : u32,
15085 pAccelerationStructures : *const AccelerationStructureKHR,
15086 queryType : QueryType,
15087 queryPool : QueryPool,
15088 firstQuery : u32);
15089
15090 pub fn CmdWriteAccelerationStructuresPropertiesNV(
15091 commandBuffer : CommandBuffer,
15092 accelerationStructureCount : u32,
15093 pAccelerationStructures : *const AccelerationStructureKHR,
15094 queryType : QueryType,
15095 queryPool : QueryPool,
15096 firstQuery : u32);
15097
15098 pub fn CompileDeferredNV(
15099 pipeline : Pipeline,
15100 shader : u32) -> VkResult;
15101
15102 pub fn GetMemoryHostPointerPropertiesEXT(
15103 handleType : ExternalMemoryHandleTypeFlagBits,
15104 pHostPointer : u64,
15105 pMemoryHostPointerProperties : *mut MemoryHostPointerPropertiesEXT) -> VkResult;
15106
15107 pub fn CmdWriteBufferMarkerAMD(
15108 commandBuffer : CommandBuffer,
15109 pipelineStage : PipelineStageFlagBits,
15110 dstBuffer : Buffer,
15111 dstOffset : DeviceSize,
15112 marker : u32);
15113
15114 pub fn GetPhysicalDeviceCalibrateableTimeDomainsEXT(
15115 pTimeDomainCount : *mut u32,
15116 pTimeDomains : *mut TimeDomainEXT) -> VkResult;
15117
15118 pub fn GetCalibratedTimestampsEXT(
15119 timestampCount : u32,
15120 pTimestampInfos : *const CalibratedTimestampInfoEXT,
15121 pTimestamps : *mut u64,
15122 pMaxDeviation : *mut u64) -> VkResult;
15123
15124 pub fn CmdDrawMeshTasksNV(
15125 commandBuffer : CommandBuffer,
15126 taskCount : u32,
15127 firstTask : u32);
15128
15129 pub fn CmdDrawMeshTasksIndirectNV(
15130 commandBuffer : CommandBuffer,
15131 buffer : Buffer,
15132 offset : DeviceSize,
15133 drawCount : u32,
15134 stride : u32);
15135
15136 pub fn CmdDrawMeshTasksIndirectCountNV(
15137 commandBuffer : CommandBuffer,
15138 buffer : Buffer,
15139 offset : DeviceSize,
15140 countBuffer : Buffer,
15141 countBufferOffset : DeviceSize,
15142 maxDrawCount : u32,
15143 stride : u32);
15144
15145 pub fn CmdSetExclusiveScissorNV(
15146 commandBuffer : CommandBuffer,
15147 firstExclusiveScissor : u32,
15148 exclusiveScissorCount : u32,
15149 pExclusiveScissors : *const Rect2D);
15150
15151 pub fn CmdSetCheckpointNV(
15152 commandBuffer : CommandBuffer,
15153 pCheckpointMarker : u64);
15154
15155 pub fn GetQueueCheckpointDataNV(
15156 pCheckpointDataCount : *mut u32,
15157 pCheckpointData : *mut CheckpointDataNV);
15158
15159 pub fn InitializePerformanceApiINTEL(
15160 pInitializeInfo : *const InitializePerformanceApiInfoINTEL) -> VkResult;
15161
15162 pub fn UninitializePerformanceApiINTEL();
15163
15164 pub fn CmdSetPerformanceMarkerINTEL(
15165 commandBuffer : CommandBuffer,
15166 pMarkerInfo : *const PerformanceMarkerInfoINTEL) -> VkResult;
15167
15168 pub fn CmdSetPerformanceStreamMarkerINTEL(
15169 commandBuffer : CommandBuffer,
15170 pMarkerInfo : *const PerformanceStreamMarkerInfoINTEL) -> VkResult;
15171
15172 pub fn CmdSetPerformanceOverrideINTEL(
15173 commandBuffer : CommandBuffer,
15174 pOverrideInfo : *const PerformanceOverrideInfoINTEL) -> VkResult;
15175
15176 pub fn AcquirePerformanceConfigurationINTEL(
15177 pAcquireInfo : *const PerformanceConfigurationAcquireInfoINTEL,
15178 pConfiguration : *mut PerformanceConfigurationINTEL) -> VkResult;
15179
15180 pub fn ReleasePerformanceConfigurationINTEL(
15181 configuration : PerformanceConfigurationINTEL) -> VkResult;
15182
15183 pub fn QueueSetPerformanceConfigurationINTEL(
15184 configuration : PerformanceConfigurationINTEL) -> VkResult;
15185
15186 pub fn SetLocalDimmingAMD(
15191 swapChain : SwapchainKHR,
15192 localDimmingEnable : Bool32);
15193
15194 pub fn GetBufferDeviceAddressEXT(
15195 pInfo : *const BufferDeviceAddressInfo) -> DeviceAddress;
15196
15197 pub fn GetPhysicalDeviceToolPropertiesEXT(
15198 pToolCount : *mut u32,
15199 pToolProperties : *mut PhysicalDeviceToolPropertiesEXT) -> VkResult;
15200
15201 pub fn GetPhysicalDeviceCooperativeMatrixPropertiesNV(
15202 pPropertyCount : *mut u32,
15203 pProperties : *mut CooperativeMatrixPropertiesNV) -> VkResult;
15204
15205 pub fn GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
15206 pCombinationCount : *mut u32,
15207 pCombinations : *mut FramebufferMixedSamplesCombinationNV) -> VkResult;
15208
15209 pub fn CreateHeadlessSurfaceEXT(
15210 pCreateInfo : *const HeadlessSurfaceCreateInfoEXT,
15211 pSurface : *mut SurfaceKHR) -> VkResult;
15212
15213 pub fn CmdSetLineStippleEXT(
15214 commandBuffer : CommandBuffer,
15215 lineStippleFactor : u32,
15216 lineStipplePattern : u16);
15217
15218 pub fn ResetQueryPoolEXT(
15219 queryPool : QueryPool,
15220 firstQuery : u32,
15221 queryCount : u32);
15222
15223 pub fn GetGeneratedCommandsMemoryRequirementsNV(
15224 pInfo : *const GeneratedCommandsMemoryRequirementsInfoNV,
15225 pMemoryRequirements : *mut MemoryRequirements2);
15226
15227 pub fn CmdPreprocessGeneratedCommandsNV(
15228 commandBuffer : CommandBuffer,
15229 pGeneratedCommandsInfo : *const GeneratedCommandsInfoNV);
15230
15231 pub fn CmdExecuteGeneratedCommandsNV(
15232 commandBuffer : CommandBuffer,
15233 isPreprocessed : Bool32,
15234 pGeneratedCommandsInfo : *const GeneratedCommandsInfoNV);
15235
15236 pub fn CmdBindPipelineShaderGroupNV(
15237 commandBuffer : CommandBuffer,
15238 pipelineBindPoint : PipelineBindPoint,
15239 pipeline : Pipeline,
15240 groupIndex : u32);
15241
15242 pub fn CreateIndirectCommandsLayoutNV(
15243 pCreateInfo : *const IndirectCommandsLayoutCreateInfoNV,
15244 pIndirectCommandsLayout : *mut IndirectCommandsLayoutNV) -> VkResult;
15245
15246 pub fn DestroyIndirectCommandsLayoutNV(
15247 indirectCommandsLayout : IndirectCommandsLayoutNV);
15248
15249 pub fn CreatePrivateDataSlotEXT(
15250 pCreateInfo : *const PrivateDataSlotCreateInfoEXT,
15251 pPrivateDataSlot : *mut PrivateDataSlotEXT) -> VkResult;
15252
15253 pub fn DestroyPrivateDataSlotEXT(
15254 privateDataSlot : PrivateDataSlotEXT);
15255
15256 pub fn SetPrivateDataEXT(
15257 objectType : ObjectType,
15258 objectHandle : u64,
15259 privateDataSlot : PrivateDataSlotEXT,
15260 data : u64) -> VkResult;
15261
15262 pub fn GetPrivateDataEXT(
15263 objectType : ObjectType,
15264 objectHandle : u64,
15265 privateDataSlot : PrivateDataSlotEXT,
15266 pData : *mut u64);
15267 }
15268
15269extern "C" {
15270 pub fn CreateWin32SurfaceKHR(
15271 pCreateInfo : *const Win32SurfaceCreateInfoKHR,
15272 pSurface : *mut SurfaceKHR) -> VkResult;
15273
15274 pub fn GetPhysicalDeviceWin32PresentationSupportKHR() -> Bool32;
15275
15276 pub fn GetMemoryWin32HandleKHR(
15277 pGetWin32HandleInfo : *const MemoryGetWin32HandleInfoKHR,
15278 pHandle : *mut HANDLE) -> VkResult;
15279
15280 pub fn GetMemoryWin32HandlePropertiesKHR(
15281 handleType : ExternalMemoryHandleTypeFlagBits,
15282 handle : HANDLE,
15283 pMemoryWin32HandleProperties : *mut MemoryWin32HandlePropertiesKHR) -> VkResult;
15284
15285 pub fn ImportSemaphoreWin32HandleKHR(
15286 pImportSemaphoreWin32HandleInfo : *const ImportSemaphoreWin32HandleInfoKHR) -> VkResult;
15287
15288 pub fn GetSemaphoreWin32HandleKHR(
15289 pGetWin32HandleInfo : *const SemaphoreGetWin32HandleInfoKHR,
15290 pHandle : *mut HANDLE) -> VkResult;
15291
15292 pub fn ImportFenceWin32HandleKHR(
15293 pImportFenceWin32HandleInfo : *const ImportFenceWin32HandleInfoKHR) -> VkResult;
15294
15295 pub fn GetFenceWin32HandleKHR(
15296 pGetWin32HandleInfo : *const FenceGetWin32HandleInfoKHR,
15297 pHandle : *mut HANDLE) -> VkResult;
15298
15299 pub fn GetMemoryWin32HandleNV(
15300 memory : DeviceMemory,
15301 handleType : ExternalMemoryHandleTypeFlagsNV,
15302 pHandle : *mut HANDLE) -> VkResult;
15303
15304 pub fn GetPhysicalDeviceSurfacePresentModes2EXT(
15305 pSurfaceInfo : *const PhysicalDeviceSurfaceInfo2KHR,
15306 pPresentModeCount : *mut u32,
15307 pPresentModes : *mut PresentModeKHR) -> VkResult;
15308
15309 pub fn AcquireFullScreenExclusiveModeEXT(
15310 swapchain : SwapchainKHR) -> VkResult;
15311
15312 pub fn ReleaseFullScreenExclusiveModeEXT(
15313 swapchain : SwapchainKHR) -> VkResult;
15314
15315 pub fn GetDeviceGroupSurfacePresentModes2EXT(
15316 pSurfaceInfo : *const PhysicalDeviceSurfaceInfo2KHR,
15317 pModes : *mut DeviceGroupPresentModeFlagsKHR) -> VkResult;
15318}
15319
15320pub type XlibSurfaceCreateFlagsKHR = u32;
15321#[repr(C)]
15322#[derive(Debug, Copy, Clone)]
15323pub struct XlibSurfaceCreateInfoKHR {
15324 pub sType : StructureType,
15325 pub pNext : *const void,
15326 pub flags : XlibSurfaceCreateFlagsKHR,
15327 pub dpy : u64,
15328 pub window : u64,
15329}
15330
15331impl ::std::default::Default for XlibSurfaceCreateInfoKHR {
15332 fn default() -> XlibSurfaceCreateInfoKHR {
15333 XlibSurfaceCreateInfoKHR {
15334 sType : STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR,
15335 pNext : 0 as _,
15336 flags : Default::default(),
15337 dpy : 0 as _,
15338 window : 0 as _,
15339 }
15340 }
15341}
15342
15343extern "C" {
15344 pub fn CreateXlibSurfaceKHR(
15345 pCreateInfo : *const XlibSurfaceCreateInfoKHR,
15346 pSurface : *mut SurfaceKHR) -> VkResult;
15347
15348 pub fn GetPhysicalDeviceXlibPresentationSupportKHR(
15349 queueFamilyIndex : u32,
15350 dpy : u64,
15351 visualID : u64) -> Bool32;
15352}
15353
15354pub type XcbSurfaceCreateFlagsKHR = u32;
15355#[repr(C)]
15356#[derive(Debug, Copy, Clone)]
15357pub struct XcbSurfaceCreateInfoKHR {
15358 pub sType : StructureType,
15359 pub pNext : *const void,
15360 pub flags : XcbSurfaceCreateFlagsKHR,
15361 pub connection : u64,
15362 pub window : u64,
15363}
15364
15365impl ::std::default::Default for XcbSurfaceCreateInfoKHR {
15366 fn default() -> XcbSurfaceCreateInfoKHR {
15367 XcbSurfaceCreateInfoKHR {
15368 sType : STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR,
15369 pNext : 0 as _,
15370 flags : Default::default(),
15371 connection : 0 as _,
15372 window : 0 as _,
15373 }
15374 }
15375}
15376
15377extern "C" {
15378 pub fn CreateXcbSurfaceKHR(
15379 pCreateInfo : *const XcbSurfaceCreateInfoKHR,
15380 pSurface : *mut SurfaceKHR) -> VkResult;
15381
15382 pub fn GetPhysicalDeviceXcbPresentationSupportKHR(
15383 queueFamilyIndex : u32,
15384 connection : u64,
15385 visual_id : u32) -> Bool32;
15386}
15387
15388pub type WaylandSurfaceCreateFlagsKHR = u32;
15389
15390#[repr(C)]
15391#[derive(Debug, Copy, Clone)]
15392pub struct WaylandSurfaceCreateInfoKHR {
15393 pub sType : StructureType,
15394 pub pNext : *const void,
15395 pub flags : WaylandSurfaceCreateFlagsKHR,
15396 pub display : u64,
15397 pub surface : u64,
15398}
15399
15400impl ::std::default::Default for WaylandSurfaceCreateInfoKHR {
15401 fn default() -> WaylandSurfaceCreateInfoKHR {
15402 WaylandSurfaceCreateInfoKHR {
15403 sType : STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR,
15404 pNext : 0 as _,
15405 flags : Default::default(),
15406 display : 0 as _,
15407 surface : 0 as _,
15408 }
15409 }
15410}
15411
15412extern "C" {
15413 pub fn CreateWaylandSurfaceKHR(
15414 pCreateInfo : *const WaylandSurfaceCreateInfoKHR,
15415 pSurface : *const SurfaceKHR) -> VkResult;
15416
15417 pub fn GetPhysicalDeviceWaylandPresentationSupportKHR(
15418 queueFamilyIndex : u32,
15419 display : u64) -> Bool32;
15420}
15421
15422pub type AndroidSurfaceCreateFlagsKHR = u32;
15423#[repr(C)]
15424#[derive(Debug, Copy, Clone)]
15425pub struct AndroidSurfaceCreateInfoKHR {
15426 pub sType : StructureType,
15427 pub pNext : *const void,
15428 pub flags : AndroidSurfaceCreateFlagsKHR,
15429 pub window : u64,
15430}
15431
15432#[repr(C)]
15433#[derive(Debug, Copy, Clone)]
15434pub struct AndroidHardwareBufferUsageANDROID {
15435 pub sType : StructureType,
15436 pub pNext : *mut void,
15437 pub androidHardwareBufferUsage : u64,
15438}
15439
15440#[repr(C)]
15441#[derive(Debug, Copy, Clone)]
15442pub struct AndroidHardwareBufferPropertiesANDROID {
15443 pub sType : StructureType,
15444 pub pNext : *mut void,
15445 pub allocationSize : DeviceSize,
15446 pub memoryTypeBits : u32,
15447}
15448
15449#[repr(C)]
15450#[derive(Debug, Copy, Clone)]
15451pub struct AndroidHardwareBufferFormatPropertiesANDROID {
15452 pub sType : StructureType,
15453 pub pNext : *mut void,
15454 pub format : Format,
15455 pub externalFormat : u64,
15456 pub formatFeatures : FormatFeatureFlags,
15457 pub samplerYcbcrConversionComponents : ComponentMapping,
15458 pub suggestedYcbcrModel : SamplerYcbcrModelConversion,
15459 pub suggestedYcbcrRange : SamplerYcbcrRange,
15460 pub suggestedXChromaOffset : ChromaLocation,
15461 pub suggestedYChromaOffset : ChromaLocation,
15462}
15463
15464#[repr(C)]
15465#[derive(Debug, Copy, Clone)]
15466pub struct ImportAndroidHardwareBufferInfoANDROID {
15467 pub sType : StructureType,
15468 pub pNext : *const void,
15469 pub buffer : u64,
15470}
15471
15472#[repr(C)]
15473#[derive(Debug, Copy, Clone)]
15474pub struct MemoryGetAndroidHardwareBufferInfoANDROID {
15475 pub sType : StructureType,
15476 pub pNext : *const void,
15477 pub memory : DeviceMemory,
15478}
15479
15480#[repr(C)]
15481#[derive(Debug, Copy, Clone)]
15482pub struct ExternalFormatANDROID {
15483 pub sType : StructureType,
15484 pub pNext : *mut void,
15485 pub externalFormat : u64,
15486}
15487
15488
15489impl ::std::default::Default for AndroidSurfaceCreateInfoKHR {
15490 fn default() -> AndroidSurfaceCreateInfoKHR {
15491 AndroidSurfaceCreateInfoKHR {
15492 sType : STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR,
15493 pNext : 0 as _,
15494 flags : 0 as _,
15495 window : 0 as _,
15496 }
15497 }
15498}
15499
15500impl ::std::default::Default for AndroidHardwareBufferUsageANDROID {
15501 fn default() -> AndroidHardwareBufferUsageANDROID {
15502 AndroidHardwareBufferUsageANDROID {
15503 sType : STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID,
15504 pNext : 0 as _,
15505 androidHardwareBufferUsage : 0 as _,
15506 }
15507 }
15508}
15509
15510impl ::std::default::Default for AndroidHardwareBufferPropertiesANDROID {
15511 fn default() -> AndroidHardwareBufferPropertiesANDROID {
15512 AndroidHardwareBufferPropertiesANDROID {
15513 sType : STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID,
15514 pNext : 0 as _,
15515 allocationSize : 0 as _,
15516 memoryTypeBits : 0 as _,
15517 }
15518 }
15519}
15520
15521impl ::std::default::Default for AndroidHardwareBufferFormatPropertiesANDROID {
15522 fn default() -> AndroidHardwareBufferFormatPropertiesANDROID {
15523 AndroidHardwareBufferFormatPropertiesANDROID {
15524 sType : STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID,
15525 pNext : 0 as _,
15526 format : 0 as _,
15527 externalFormat : 0 as _,
15528 formatFeatures : 0 as _,
15529 samplerYcbcrConversionComponents : Default::default(),
15530 suggestedYcbcrModel : 0 as _,
15531 suggestedYcbcrRange : 0 as _,
15532 suggestedXChromaOffset : 0 as _,
15533 suggestedYChromaOffset : 0 as _,
15534 }
15535 }
15536}
15537
15538impl ::std::default::Default for ImportAndroidHardwareBufferInfoANDROID {
15539 fn default() -> ImportAndroidHardwareBufferInfoANDROID {
15540 ImportAndroidHardwareBufferInfoANDROID {
15541 sType : STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID,
15542 pNext : 0 as _,
15543 buffer : 0 as _,
15544 }
15545 }
15546}
15547
15548impl ::std::default::Default for MemoryGetAndroidHardwareBufferInfoANDROID {
15549 fn default() -> MemoryGetAndroidHardwareBufferInfoANDROID {
15550 MemoryGetAndroidHardwareBufferInfoANDROID {
15551 sType : STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID,
15552 pNext : 0 as _,
15553 memory : 0 as _,
15554 }
15555 }
15556}
15557
15558impl ::std::default::Default for ExternalFormatANDROID {
15559 fn default() -> ExternalFormatANDROID {
15560 ExternalFormatANDROID {
15561 sType : STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID,
15562 pNext : 0 as _,
15563 externalFormat : 0 as _,
15564 }
15565 }
15566}
15567
15568extern "C" {
15569 pub fn CreateAndroidSurfaceKHR(
15570 pCreateInfo : *const AndroidSurfaceCreateInfoKHR,
15571 pSurface : *mut SurfaceKHR) -> VkResult;
15572
15573 pub fn GetAndroidHardwareBufferPropertiesANDROID(
15574 buffer : u64,
15575 pProperties : *mut AndroidHardwareBufferPropertiesANDROID) -> VkResult;
15576
15577 pub fn GetMemoryAndroidHardwareBufferANDROID(
15578 pInfo : *const MemoryGetAndroidHardwareBufferInfoANDROID,
15579 pBuffer : u64) -> VkResult;
15580}
15581
15582impl ApplicationInfo {
15583
15584 pub fn new() -> Self {
15585 Self::default()
15586 }
15587
15588 pub fn sType(mut self, sType : StructureType) -> Self {
15589 self.sType = sType;
15590 self
15591 }
15592
15593 pub fn pNext(mut self, pNext : *const void) -> Self {
15594 self.pNext = pNext;
15595 self
15596 }
15597
15598 pub fn pApplicationName(mut self, pApplicationName : *const i8) -> Self {
15599 self.pApplicationName = pApplicationName;
15600 self
15601 }
15602
15603 pub fn applicationVersion(mut self, applicationVersion : u32) -> Self {
15604 self.applicationVersion = applicationVersion;
15605 self
15606 }
15607
15608 pub fn pEngineName(mut self, pEngineName : *const i8) -> Self {
15609 self.pEngineName = pEngineName;
15610 self
15611 }
15612
15613 pub fn engineVersion(mut self, engineVersion : u32) -> Self {
15614 self.engineVersion = engineVersion;
15615 self
15616 }
15617
15618 pub fn apiVersion(mut self, apiVersion : u32) -> Self {
15619 self.apiVersion = apiVersion;
15620 self
15621 }
15622
15623}
15624
15625impl InstanceCreateInfo {
15626
15627 pub fn new() -> Self {
15628 Self::default()
15629 }
15630
15631 pub fn sType(mut self, sType : StructureType) -> Self {
15632 self.sType = sType;
15633 self
15634 }
15635
15636 pub fn pNext(mut self, pNext : *const void) -> Self {
15637 self.pNext = pNext;
15638 self
15639 }
15640
15641 pub fn flags(mut self, flags : i32) -> Self {
15642 self.flags = flags;
15643 self
15644 }
15645
15646 pub fn pApplicationInfo(mut self, pApplicationInfo : *const ApplicationInfo) -> Self {
15647 self.pApplicationInfo = pApplicationInfo;
15648 self
15649 }
15650
15651 pub fn enabledLayerCount(mut self, enabledLayerCount : u32) -> Self {
15652 self.enabledLayerCount = enabledLayerCount;
15653 self
15654 }
15655
15656 pub fn ppEnabledLayerNames(mut self, ppEnabledLayerNames : *const *const i8) -> Self {
15657 self.ppEnabledLayerNames = ppEnabledLayerNames;
15658 self
15659 }
15660
15661 pub fn enabledExtensionCount(mut self, enabledExtensionCount : u32) -> Self {
15662 self.enabledExtensionCount = enabledExtensionCount;
15663 self
15664 }
15665
15666 pub fn ppEnabledExtensionNames(mut self, ppEnabledExtensionNames : *const *const i8) -> Self {
15667 self.ppEnabledExtensionNames = ppEnabledExtensionNames;
15668 self
15669 }
15670
15671}
15672
15673impl AllocationCallbacks {
15674
15675 pub fn new() -> Self {
15676 Self::default()
15677 }
15678
15679 pub fn pUserData(mut self, pUserData : *mut void) -> Self {
15680 self.pUserData = pUserData;
15681 self
15682 }
15683
15684 pub fn pfnAllocation(mut self, pfnAllocation : u64) -> Self {
15685 self.pfnAllocation = pfnAllocation;
15686 self
15687 }
15688
15689 pub fn pfnReallocation(mut self, pfnReallocation : u64) -> Self {
15690 self.pfnReallocation = pfnReallocation;
15691 self
15692 }
15693
15694 pub fn pfnFree(mut self, pfnFree : u64) -> Self {
15695 self.pfnFree = pfnFree;
15696 self
15697 }
15698
15699 pub fn pfnInternalAllocation(mut self, pfnInternalAllocation : u64) -> Self {
15700 self.pfnInternalAllocation = pfnInternalAllocation;
15701 self
15702 }
15703
15704 pub fn pfnInternalFree(mut self, pfnInternalFree : u64) -> Self {
15705 self.pfnInternalFree = pfnInternalFree;
15706 self
15707 }
15708
15709}
15710
15711impl PhysicalDeviceFeatures {
15712
15713 pub fn new() -> Self {
15714 Self::default()
15715 }
15716
15717 pub fn robustBufferAccess(mut self, robustBufferAccess : Bool32) -> Self {
15718 self.robustBufferAccess = robustBufferAccess;
15719 self
15720 }
15721
15722 pub fn fullDrawIndexUint32(mut self, fullDrawIndexUint32 : Bool32) -> Self {
15723 self.fullDrawIndexUint32 = fullDrawIndexUint32;
15724 self
15725 }
15726
15727 pub fn imageCubeArray(mut self, imageCubeArray : Bool32) -> Self {
15728 self.imageCubeArray = imageCubeArray;
15729 self
15730 }
15731
15732 pub fn independentBlend(mut self, independentBlend : Bool32) -> Self {
15733 self.independentBlend = independentBlend;
15734 self
15735 }
15736
15737 pub fn geometryShader(mut self, geometryShader : Bool32) -> Self {
15738 self.geometryShader = geometryShader;
15739 self
15740 }
15741
15742 pub fn tessellationShader(mut self, tessellationShader : Bool32) -> Self {
15743 self.tessellationShader = tessellationShader;
15744 self
15745 }
15746
15747 pub fn sampleRateShading(mut self, sampleRateShading : Bool32) -> Self {
15748 self.sampleRateShading = sampleRateShading;
15749 self
15750 }
15751
15752 pub fn dualSrcBlend(mut self, dualSrcBlend : Bool32) -> Self {
15753 self.dualSrcBlend = dualSrcBlend;
15754 self
15755 }
15756
15757 pub fn logicOp(mut self, logicOp : Bool32) -> Self {
15758 self.logicOp = logicOp;
15759 self
15760 }
15761
15762 pub fn multiDrawIndirect(mut self, multiDrawIndirect : Bool32) -> Self {
15763 self.multiDrawIndirect = multiDrawIndirect;
15764 self
15765 }
15766
15767 pub fn drawIndirectFirstInstance(mut self, drawIndirectFirstInstance : Bool32) -> Self {
15768 self.drawIndirectFirstInstance = drawIndirectFirstInstance;
15769 self
15770 }
15771
15772 pub fn depthClamp(mut self, depthClamp : Bool32) -> Self {
15773 self.depthClamp = depthClamp;
15774 self
15775 }
15776
15777 pub fn depthBiasClamp(mut self, depthBiasClamp : Bool32) -> Self {
15778 self.depthBiasClamp = depthBiasClamp;
15779 self
15780 }
15781
15782 pub fn fillModeNonSolid(mut self, fillModeNonSolid : Bool32) -> Self {
15783 self.fillModeNonSolid = fillModeNonSolid;
15784 self
15785 }
15786
15787 pub fn depthBounds(mut self, depthBounds : Bool32) -> Self {
15788 self.depthBounds = depthBounds;
15789 self
15790 }
15791
15792 pub fn wideLines(mut self, wideLines : Bool32) -> Self {
15793 self.wideLines = wideLines;
15794 self
15795 }
15796
15797 pub fn largePoints(mut self, largePoints : Bool32) -> Self {
15798 self.largePoints = largePoints;
15799 self
15800 }
15801
15802 pub fn alphaToOne(mut self, alphaToOne : Bool32) -> Self {
15803 self.alphaToOne = alphaToOne;
15804 self
15805 }
15806
15807 pub fn multiViewport(mut self, multiViewport : Bool32) -> Self {
15808 self.multiViewport = multiViewport;
15809 self
15810 }
15811
15812 pub fn samplerAnisotropy(mut self, samplerAnisotropy : Bool32) -> Self {
15813 self.samplerAnisotropy = samplerAnisotropy;
15814 self
15815 }
15816
15817 pub fn textureCompressionETC2(mut self, textureCompressionETC2 : Bool32) -> Self {
15818 self.textureCompressionETC2 = textureCompressionETC2;
15819 self
15820 }
15821
15822 pub fn textureCompressionASTC_LDR(mut self, textureCompressionASTC_LDR : Bool32) -> Self {
15823 self.textureCompressionASTC_LDR = textureCompressionASTC_LDR;
15824 self
15825 }
15826
15827 pub fn textureCompressionBC(mut self, textureCompressionBC : Bool32) -> Self {
15828 self.textureCompressionBC = textureCompressionBC;
15829 self
15830 }
15831
15832 pub fn occlusionQueryPrecise(mut self, occlusionQueryPrecise : Bool32) -> Self {
15833 self.occlusionQueryPrecise = occlusionQueryPrecise;
15834 self
15835 }
15836
15837 pub fn pipelineStatisticsQuery(mut self, pipelineStatisticsQuery : Bool32) -> Self {
15838 self.pipelineStatisticsQuery = pipelineStatisticsQuery;
15839 self
15840 }
15841
15842 pub fn vertexPipelineStoresAndAtomics(mut self, vertexPipelineStoresAndAtomics : Bool32) -> Self {
15843 self.vertexPipelineStoresAndAtomics = vertexPipelineStoresAndAtomics;
15844 self
15845 }
15846
15847 pub fn fragmentStoresAndAtomics(mut self, fragmentStoresAndAtomics : Bool32) -> Self {
15848 self.fragmentStoresAndAtomics = fragmentStoresAndAtomics;
15849 self
15850 }
15851
15852 pub fn shaderTessellationAndGeometryPointSize(mut self, shaderTessellationAndGeometryPointSize : Bool32) -> Self {
15853 self.shaderTessellationAndGeometryPointSize = shaderTessellationAndGeometryPointSize;
15854 self
15855 }
15856
15857 pub fn shaderImageGatherExtended(mut self, shaderImageGatherExtended : Bool32) -> Self {
15858 self.shaderImageGatherExtended = shaderImageGatherExtended;
15859 self
15860 }
15861
15862 pub fn shaderStorageImageExtendedFormats(mut self, shaderStorageImageExtendedFormats : Bool32) -> Self {
15863 self.shaderStorageImageExtendedFormats = shaderStorageImageExtendedFormats;
15864 self
15865 }
15866
15867 pub fn shaderStorageImageMultisample(mut self, shaderStorageImageMultisample : Bool32) -> Self {
15868 self.shaderStorageImageMultisample = shaderStorageImageMultisample;
15869 self
15870 }
15871
15872 pub fn shaderStorageImageReadWithoutFormat(mut self, shaderStorageImageReadWithoutFormat : Bool32) -> Self {
15873 self.shaderStorageImageReadWithoutFormat = shaderStorageImageReadWithoutFormat;
15874 self
15875 }
15876
15877 pub fn shaderStorageImageWriteWithoutFormat(mut self, shaderStorageImageWriteWithoutFormat : Bool32) -> Self {
15878 self.shaderStorageImageWriteWithoutFormat = shaderStorageImageWriteWithoutFormat;
15879 self
15880 }
15881
15882 pub fn shaderUniformBufferArrayDynamicIndexing(mut self, shaderUniformBufferArrayDynamicIndexing : Bool32) -> Self {
15883 self.shaderUniformBufferArrayDynamicIndexing = shaderUniformBufferArrayDynamicIndexing;
15884 self
15885 }
15886
15887 pub fn shaderSampledImageArrayDynamicIndexing(mut self, shaderSampledImageArrayDynamicIndexing : Bool32) -> Self {
15888 self.shaderSampledImageArrayDynamicIndexing = shaderSampledImageArrayDynamicIndexing;
15889 self
15890 }
15891
15892 pub fn shaderStorageBufferArrayDynamicIndexing(mut self, shaderStorageBufferArrayDynamicIndexing : Bool32) -> Self {
15893 self.shaderStorageBufferArrayDynamicIndexing = shaderStorageBufferArrayDynamicIndexing;
15894 self
15895 }
15896
15897 pub fn shaderStorageImageArrayDynamicIndexing(mut self, shaderStorageImageArrayDynamicIndexing : Bool32) -> Self {
15898 self.shaderStorageImageArrayDynamicIndexing = shaderStorageImageArrayDynamicIndexing;
15899 self
15900 }
15901
15902 pub fn shaderClipDistance(mut self, shaderClipDistance : Bool32) -> Self {
15903 self.shaderClipDistance = shaderClipDistance;
15904 self
15905 }
15906
15907 pub fn shaderCullDistance(mut self, shaderCullDistance : Bool32) -> Self {
15908 self.shaderCullDistance = shaderCullDistance;
15909 self
15910 }
15911
15912 pub fn shaderFloat64(mut self, shaderFloat64 : Bool32) -> Self {
15913 self.shaderFloat64 = shaderFloat64;
15914 self
15915 }
15916
15917 pub fn shaderInt64(mut self, shaderInt64 : Bool32) -> Self {
15918 self.shaderInt64 = shaderInt64;
15919 self
15920 }
15921
15922 pub fn shaderInt16(mut self, shaderInt16 : Bool32) -> Self {
15923 self.shaderInt16 = shaderInt16;
15924 self
15925 }
15926
15927 pub fn shaderResourceResidency(mut self, shaderResourceResidency : Bool32) -> Self {
15928 self.shaderResourceResidency = shaderResourceResidency;
15929 self
15930 }
15931
15932 pub fn shaderResourceMinLod(mut self, shaderResourceMinLod : Bool32) -> Self {
15933 self.shaderResourceMinLod = shaderResourceMinLod;
15934 self
15935 }
15936
15937 pub fn sparseBinding(mut self, sparseBinding : Bool32) -> Self {
15938 self.sparseBinding = sparseBinding;
15939 self
15940 }
15941
15942 pub fn sparseResidencyBuffer(mut self, sparseResidencyBuffer : Bool32) -> Self {
15943 self.sparseResidencyBuffer = sparseResidencyBuffer;
15944 self
15945 }
15946
15947 pub fn sparseResidencyImage2D(mut self, sparseResidencyImage2D : Bool32) -> Self {
15948 self.sparseResidencyImage2D = sparseResidencyImage2D;
15949 self
15950 }
15951
15952 pub fn sparseResidencyImage3D(mut self, sparseResidencyImage3D : Bool32) -> Self {
15953 self.sparseResidencyImage3D = sparseResidencyImage3D;
15954 self
15955 }
15956
15957 pub fn sparseResidency2Samples(mut self, sparseResidency2Samples : Bool32) -> Self {
15958 self.sparseResidency2Samples = sparseResidency2Samples;
15959 self
15960 }
15961
15962 pub fn sparseResidency4Samples(mut self, sparseResidency4Samples : Bool32) -> Self {
15963 self.sparseResidency4Samples = sparseResidency4Samples;
15964 self
15965 }
15966
15967 pub fn sparseResidency8Samples(mut self, sparseResidency8Samples : Bool32) -> Self {
15968 self.sparseResidency8Samples = sparseResidency8Samples;
15969 self
15970 }
15971
15972 pub fn sparseResidency16Samples(mut self, sparseResidency16Samples : Bool32) -> Self {
15973 self.sparseResidency16Samples = sparseResidency16Samples;
15974 self
15975 }
15976
15977 pub fn sparseResidencyAliased(mut self, sparseResidencyAliased : Bool32) -> Self {
15978 self.sparseResidencyAliased = sparseResidencyAliased;
15979 self
15980 }
15981
15982 pub fn variableMultisampleRate(mut self, variableMultisampleRate : Bool32) -> Self {
15983 self.variableMultisampleRate = variableMultisampleRate;
15984 self
15985 }
15986
15987 pub fn inheritedQueries(mut self, inheritedQueries : Bool32) -> Self {
15988 self.inheritedQueries = inheritedQueries;
15989 self
15990 }
15991
15992}
15993
15994impl FormatProperties {
15995
15996 pub fn new() -> Self {
15997 Self::default()
15998 }
15999
16000 pub fn linearTilingFeatures(mut self, linearTilingFeatures : FormatFeatureFlags) -> Self {
16001 self.linearTilingFeatures = linearTilingFeatures;
16002 self
16003 }
16004
16005 pub fn optimalTilingFeatures(mut self, optimalTilingFeatures : FormatFeatureFlags) -> Self {
16006 self.optimalTilingFeatures = optimalTilingFeatures;
16007 self
16008 }
16009
16010 pub fn bufferFeatures(mut self, bufferFeatures : FormatFeatureFlags) -> Self {
16011 self.bufferFeatures = bufferFeatures;
16012 self
16013 }
16014
16015}
16016
16017impl Extent3D {
16018
16019 pub fn new() -> Self {
16020 Self::default()
16021 }
16022
16023 pub fn width(mut self, width : u32) -> Self {
16024 self.width = width;
16025 self
16026 }
16027
16028 pub fn height(mut self, height : u32) -> Self {
16029 self.height = height;
16030 self
16031 }
16032
16033 pub fn depth(mut self, depth : u32) -> Self {
16034 self.depth = depth;
16035 self
16036 }
16037
16038}
16039
16040impl ImageFormatProperties {
16041
16042 pub fn new() -> Self {
16043 Self::default()
16044 }
16045
16046 pub fn maxExtent(mut self, maxExtent : Extent3D) -> Self {
16047 self.maxExtent = maxExtent;
16048 self
16049 }
16050
16051 pub fn maxMipLevels(mut self, maxMipLevels : u32) -> Self {
16052 self.maxMipLevels = maxMipLevels;
16053 self
16054 }
16055
16056 pub fn maxArrayLayers(mut self, maxArrayLayers : u32) -> Self {
16057 self.maxArrayLayers = maxArrayLayers;
16058 self
16059 }
16060
16061 pub fn sampleCounts(mut self, sampleCounts : SampleCountFlags) -> Self {
16062 self.sampleCounts = sampleCounts;
16063 self
16064 }
16065
16066 pub fn maxResourceSize(mut self, maxResourceSize : DeviceSize) -> Self {
16067 self.maxResourceSize = maxResourceSize;
16068 self
16069 }
16070
16071}
16072
16073impl PhysicalDeviceLimits {
16074
16075 pub fn new() -> Self {
16076 Self::default()
16077 }
16078
16079 pub fn maxImageDimension1D(mut self, maxImageDimension1D : u32) -> Self {
16080 self.maxImageDimension1D = maxImageDimension1D;
16081 self
16082 }
16083
16084 pub fn maxImageDimension2D(mut self, maxImageDimension2D : u32) -> Self {
16085 self.maxImageDimension2D = maxImageDimension2D;
16086 self
16087 }
16088
16089 pub fn maxImageDimension3D(mut self, maxImageDimension3D : u32) -> Self {
16090 self.maxImageDimension3D = maxImageDimension3D;
16091 self
16092 }
16093
16094 pub fn maxImageDimensionCube(mut self, maxImageDimensionCube : u32) -> Self {
16095 self.maxImageDimensionCube = maxImageDimensionCube;
16096 self
16097 }
16098
16099 pub fn maxImageArrayLayers(mut self, maxImageArrayLayers : u32) -> Self {
16100 self.maxImageArrayLayers = maxImageArrayLayers;
16101 self
16102 }
16103
16104 pub fn maxTexelBufferElements(mut self, maxTexelBufferElements : u32) -> Self {
16105 self.maxTexelBufferElements = maxTexelBufferElements;
16106 self
16107 }
16108
16109 pub fn maxUniformBufferRange(mut self, maxUniformBufferRange : u32) -> Self {
16110 self.maxUniformBufferRange = maxUniformBufferRange;
16111 self
16112 }
16113
16114 pub fn maxStorageBufferRange(mut self, maxStorageBufferRange : u32) -> Self {
16115 self.maxStorageBufferRange = maxStorageBufferRange;
16116 self
16117 }
16118
16119 pub fn maxPushConstantsSize(mut self, maxPushConstantsSize : u32) -> Self {
16120 self.maxPushConstantsSize = maxPushConstantsSize;
16121 self
16122 }
16123
16124 pub fn maxMemoryAllocationCount(mut self, maxMemoryAllocationCount : u32) -> Self {
16125 self.maxMemoryAllocationCount = maxMemoryAllocationCount;
16126 self
16127 }
16128
16129 pub fn maxSamplerAllocationCount(mut self, maxSamplerAllocationCount : u32) -> Self {
16130 self.maxSamplerAllocationCount = maxSamplerAllocationCount;
16131 self
16132 }
16133
16134 pub fn bufferImageGranularity(mut self, bufferImageGranularity : DeviceSize) -> Self {
16135 self.bufferImageGranularity = bufferImageGranularity;
16136 self
16137 }
16138
16139 pub fn sparseAddressSpaceSize(mut self, sparseAddressSpaceSize : DeviceSize) -> Self {
16140 self.sparseAddressSpaceSize = sparseAddressSpaceSize;
16141 self
16142 }
16143
16144 pub fn maxBoundDescriptorSets(mut self, maxBoundDescriptorSets : u32) -> Self {
16145 self.maxBoundDescriptorSets = maxBoundDescriptorSets;
16146 self
16147 }
16148
16149 pub fn maxPerStageDescriptorSamplers(mut self, maxPerStageDescriptorSamplers : u32) -> Self {
16150 self.maxPerStageDescriptorSamplers = maxPerStageDescriptorSamplers;
16151 self
16152 }
16153
16154 pub fn maxPerStageDescriptorUniformBuffers(mut self, maxPerStageDescriptorUniformBuffers : u32) -> Self {
16155 self.maxPerStageDescriptorUniformBuffers = maxPerStageDescriptorUniformBuffers;
16156 self
16157 }
16158
16159 pub fn maxPerStageDescriptorStorageBuffers(mut self, maxPerStageDescriptorStorageBuffers : u32) -> Self {
16160 self.maxPerStageDescriptorStorageBuffers = maxPerStageDescriptorStorageBuffers;
16161 self
16162 }
16163
16164 pub fn maxPerStageDescriptorSampledImages(mut self, maxPerStageDescriptorSampledImages : u32) -> Self {
16165 self.maxPerStageDescriptorSampledImages = maxPerStageDescriptorSampledImages;
16166 self
16167 }
16168
16169 pub fn maxPerStageDescriptorStorageImages(mut self, maxPerStageDescriptorStorageImages : u32) -> Self {
16170 self.maxPerStageDescriptorStorageImages = maxPerStageDescriptorStorageImages;
16171 self
16172 }
16173
16174 pub fn maxPerStageDescriptorInputAttachments(mut self, maxPerStageDescriptorInputAttachments : u32) -> Self {
16175 self.maxPerStageDescriptorInputAttachments = maxPerStageDescriptorInputAttachments;
16176 self
16177 }
16178
16179 pub fn maxPerStageResources(mut self, maxPerStageResources : u32) -> Self {
16180 self.maxPerStageResources = maxPerStageResources;
16181 self
16182 }
16183
16184 pub fn maxDescriptorSetSamplers(mut self, maxDescriptorSetSamplers : u32) -> Self {
16185 self.maxDescriptorSetSamplers = maxDescriptorSetSamplers;
16186 self
16187 }
16188
16189 pub fn maxDescriptorSetUniformBuffers(mut self, maxDescriptorSetUniformBuffers : u32) -> Self {
16190 self.maxDescriptorSetUniformBuffers = maxDescriptorSetUniformBuffers;
16191 self
16192 }
16193
16194 pub fn maxDescriptorSetUniformBuffersDynamic(mut self, maxDescriptorSetUniformBuffersDynamic : u32) -> Self {
16195 self.maxDescriptorSetUniformBuffersDynamic = maxDescriptorSetUniformBuffersDynamic;
16196 self
16197 }
16198
16199 pub fn maxDescriptorSetStorageBuffers(mut self, maxDescriptorSetStorageBuffers : u32) -> Self {
16200 self.maxDescriptorSetStorageBuffers = maxDescriptorSetStorageBuffers;
16201 self
16202 }
16203
16204 pub fn maxDescriptorSetStorageBuffersDynamic(mut self, maxDescriptorSetStorageBuffersDynamic : u32) -> Self {
16205 self.maxDescriptorSetStorageBuffersDynamic = maxDescriptorSetStorageBuffersDynamic;
16206 self
16207 }
16208
16209 pub fn maxDescriptorSetSampledImages(mut self, maxDescriptorSetSampledImages : u32) -> Self {
16210 self.maxDescriptorSetSampledImages = maxDescriptorSetSampledImages;
16211 self
16212 }
16213
16214 pub fn maxDescriptorSetStorageImages(mut self, maxDescriptorSetStorageImages : u32) -> Self {
16215 self.maxDescriptorSetStorageImages = maxDescriptorSetStorageImages;
16216 self
16217 }
16218
16219 pub fn maxDescriptorSetInputAttachments(mut self, maxDescriptorSetInputAttachments : u32) -> Self {
16220 self.maxDescriptorSetInputAttachments = maxDescriptorSetInputAttachments;
16221 self
16222 }
16223
16224 pub fn maxVertexInputAttributes(mut self, maxVertexInputAttributes : u32) -> Self {
16225 self.maxVertexInputAttributes = maxVertexInputAttributes;
16226 self
16227 }
16228
16229 pub fn maxVertexInputBindings(mut self, maxVertexInputBindings : u32) -> Self {
16230 self.maxVertexInputBindings = maxVertexInputBindings;
16231 self
16232 }
16233
16234 pub fn maxVertexInputAttributeOffset(mut self, maxVertexInputAttributeOffset : u32) -> Self {
16235 self.maxVertexInputAttributeOffset = maxVertexInputAttributeOffset;
16236 self
16237 }
16238
16239 pub fn maxVertexInputBindingStride(mut self, maxVertexInputBindingStride : u32) -> Self {
16240 self.maxVertexInputBindingStride = maxVertexInputBindingStride;
16241 self
16242 }
16243
16244 pub fn maxVertexOutputComponents(mut self, maxVertexOutputComponents : u32) -> Self {
16245 self.maxVertexOutputComponents = maxVertexOutputComponents;
16246 self
16247 }
16248
16249 pub fn maxTessellationGenerationLevel(mut self, maxTessellationGenerationLevel : u32) -> Self {
16250 self.maxTessellationGenerationLevel = maxTessellationGenerationLevel;
16251 self
16252 }
16253
16254 pub fn maxTessellationPatchSize(mut self, maxTessellationPatchSize : u32) -> Self {
16255 self.maxTessellationPatchSize = maxTessellationPatchSize;
16256 self
16257 }
16258
16259 pub fn maxTessellationControlPerVertexInputComponents(mut self, maxTessellationControlPerVertexInputComponents : u32) -> Self {
16260 self.maxTessellationControlPerVertexInputComponents = maxTessellationControlPerVertexInputComponents;
16261 self
16262 }
16263
16264 pub fn maxTessellationControlPerVertexOutputComponents(mut self, maxTessellationControlPerVertexOutputComponents : u32) -> Self {
16265 self.maxTessellationControlPerVertexOutputComponents = maxTessellationControlPerVertexOutputComponents;
16266 self
16267 }
16268
16269 pub fn maxTessellationControlPerPatchOutputComponents(mut self, maxTessellationControlPerPatchOutputComponents : u32) -> Self {
16270 self.maxTessellationControlPerPatchOutputComponents = maxTessellationControlPerPatchOutputComponents;
16271 self
16272 }
16273
16274 pub fn maxTessellationControlTotalOutputComponents(mut self, maxTessellationControlTotalOutputComponents : u32) -> Self {
16275 self.maxTessellationControlTotalOutputComponents = maxTessellationControlTotalOutputComponents;
16276 self
16277 }
16278
16279 pub fn maxTessellationEvaluationInputComponents(mut self, maxTessellationEvaluationInputComponents : u32) -> Self {
16280 self.maxTessellationEvaluationInputComponents = maxTessellationEvaluationInputComponents;
16281 self
16282 }
16283
16284 pub fn maxTessellationEvaluationOutputComponents(mut self, maxTessellationEvaluationOutputComponents : u32) -> Self {
16285 self.maxTessellationEvaluationOutputComponents = maxTessellationEvaluationOutputComponents;
16286 self
16287 }
16288
16289 pub fn maxGeometryShaderInvocations(mut self, maxGeometryShaderInvocations : u32) -> Self {
16290 self.maxGeometryShaderInvocations = maxGeometryShaderInvocations;
16291 self
16292 }
16293
16294 pub fn maxGeometryInputComponents(mut self, maxGeometryInputComponents : u32) -> Self {
16295 self.maxGeometryInputComponents = maxGeometryInputComponents;
16296 self
16297 }
16298
16299 pub fn maxGeometryOutputComponents(mut self, maxGeometryOutputComponents : u32) -> Self {
16300 self.maxGeometryOutputComponents = maxGeometryOutputComponents;
16301 self
16302 }
16303
16304 pub fn maxGeometryOutputVertices(mut self, maxGeometryOutputVertices : u32) -> Self {
16305 self.maxGeometryOutputVertices = maxGeometryOutputVertices;
16306 self
16307 }
16308
16309 pub fn maxGeometryTotalOutputComponents(mut self, maxGeometryTotalOutputComponents : u32) -> Self {
16310 self.maxGeometryTotalOutputComponents = maxGeometryTotalOutputComponents;
16311 self
16312 }
16313
16314 pub fn maxFragmentInputComponents(mut self, maxFragmentInputComponents : u32) -> Self {
16315 self.maxFragmentInputComponents = maxFragmentInputComponents;
16316 self
16317 }
16318
16319 pub fn maxFragmentOutputAttachments(mut self, maxFragmentOutputAttachments : u32) -> Self {
16320 self.maxFragmentOutputAttachments = maxFragmentOutputAttachments;
16321 self
16322 }
16323
16324 pub fn maxFragmentDualSrcAttachments(mut self, maxFragmentDualSrcAttachments : u32) -> Self {
16325 self.maxFragmentDualSrcAttachments = maxFragmentDualSrcAttachments;
16326 self
16327 }
16328
16329 pub fn maxFragmentCombinedOutputResources(mut self, maxFragmentCombinedOutputResources : u32) -> Self {
16330 self.maxFragmentCombinedOutputResources = maxFragmentCombinedOutputResources;
16331 self
16332 }
16333
16334 pub fn maxComputeSharedMemorySize(mut self, maxComputeSharedMemorySize : u32) -> Self {
16335 self.maxComputeSharedMemorySize = maxComputeSharedMemorySize;
16336 self
16337 }
16338
16339 pub fn maxComputeWorkGroupCount(mut self, maxComputeWorkGroupCount : [u32;3]) -> Self {
16340 self.maxComputeWorkGroupCount = maxComputeWorkGroupCount;
16341 self
16342 }
16343
16344 pub fn maxComputeWorkGroupInvocations(mut self, maxComputeWorkGroupInvocations : u32) -> Self {
16345 self.maxComputeWorkGroupInvocations = maxComputeWorkGroupInvocations;
16346 self
16347 }
16348
16349 pub fn maxComputeWorkGroupSize(mut self, maxComputeWorkGroupSize : [u32;3]) -> Self {
16350 self.maxComputeWorkGroupSize = maxComputeWorkGroupSize;
16351 self
16352 }
16353
16354 pub fn subPixelPrecisionBits(mut self, subPixelPrecisionBits : u32) -> Self {
16355 self.subPixelPrecisionBits = subPixelPrecisionBits;
16356 self
16357 }
16358
16359 pub fn subTexelPrecisionBits(mut self, subTexelPrecisionBits : u32) -> Self {
16360 self.subTexelPrecisionBits = subTexelPrecisionBits;
16361 self
16362 }
16363
16364 pub fn mipmapPrecisionBits(mut self, mipmapPrecisionBits : u32) -> Self {
16365 self.mipmapPrecisionBits = mipmapPrecisionBits;
16366 self
16367 }
16368
16369 pub fn maxDrawIndexedIndexValue(mut self, maxDrawIndexedIndexValue : u32) -> Self {
16370 self.maxDrawIndexedIndexValue = maxDrawIndexedIndexValue;
16371 self
16372 }
16373
16374 pub fn maxDrawIndirectCount(mut self, maxDrawIndirectCount : u32) -> Self {
16375 self.maxDrawIndirectCount = maxDrawIndirectCount;
16376 self
16377 }
16378
16379 pub fn maxSamplerLodBias(mut self, maxSamplerLodBias : f32) -> Self {
16380 self.maxSamplerLodBias = maxSamplerLodBias;
16381 self
16382 }
16383
16384 pub fn maxSamplerAnisotropy(mut self, maxSamplerAnisotropy : f32) -> Self {
16385 self.maxSamplerAnisotropy = maxSamplerAnisotropy;
16386 self
16387 }
16388
16389 pub fn maxViewports(mut self, maxViewports : u32) -> Self {
16390 self.maxViewports = maxViewports;
16391 self
16392 }
16393
16394 pub fn maxViewportDimensions(mut self, maxViewportDimensions : [u32;2]) -> Self {
16395 self.maxViewportDimensions = maxViewportDimensions;
16396 self
16397 }
16398
16399 pub fn viewportBoundsRange(mut self, viewportBoundsRange : [f32;2]) -> Self {
16400 self.viewportBoundsRange = viewportBoundsRange;
16401 self
16402 }
16403
16404 pub fn viewportSubPixelBits(mut self, viewportSubPixelBits : u32) -> Self {
16405 self.viewportSubPixelBits = viewportSubPixelBits;
16406 self
16407 }
16408
16409 pub fn minMemoryMapAlignment(mut self, minMemoryMapAlignment : usize) -> Self {
16410 self.minMemoryMapAlignment = minMemoryMapAlignment;
16411 self
16412 }
16413
16414 pub fn minTexelBufferOffsetAlignment(mut self, minTexelBufferOffsetAlignment : DeviceSize) -> Self {
16415 self.minTexelBufferOffsetAlignment = minTexelBufferOffsetAlignment;
16416 self
16417 }
16418
16419 pub fn minUniformBufferOffsetAlignment(mut self, minUniformBufferOffsetAlignment : DeviceSize) -> Self {
16420 self.minUniformBufferOffsetAlignment = minUniformBufferOffsetAlignment;
16421 self
16422 }
16423
16424 pub fn minStorageBufferOffsetAlignment(mut self, minStorageBufferOffsetAlignment : DeviceSize) -> Self {
16425 self.minStorageBufferOffsetAlignment = minStorageBufferOffsetAlignment;
16426 self
16427 }
16428
16429 pub fn minTexelOffset(mut self, minTexelOffset : i32) -> Self {
16430 self.minTexelOffset = minTexelOffset;
16431 self
16432 }
16433
16434 pub fn maxTexelOffset(mut self, maxTexelOffset : u32) -> Self {
16435 self.maxTexelOffset = maxTexelOffset;
16436 self
16437 }
16438
16439 pub fn minTexelGatherOffset(mut self, minTexelGatherOffset : i32) -> Self {
16440 self.minTexelGatherOffset = minTexelGatherOffset;
16441 self
16442 }
16443
16444 pub fn maxTexelGatherOffset(mut self, maxTexelGatherOffset : u32) -> Self {
16445 self.maxTexelGatherOffset = maxTexelGatherOffset;
16446 self
16447 }
16448
16449 pub fn minInterpolationOffset(mut self, minInterpolationOffset : f32) -> Self {
16450 self.minInterpolationOffset = minInterpolationOffset;
16451 self
16452 }
16453
16454 pub fn maxInterpolationOffset(mut self, maxInterpolationOffset : f32) -> Self {
16455 self.maxInterpolationOffset = maxInterpolationOffset;
16456 self
16457 }
16458
16459 pub fn subPixelInterpolationOffsetBits(mut self, subPixelInterpolationOffsetBits : u32) -> Self {
16460 self.subPixelInterpolationOffsetBits = subPixelInterpolationOffsetBits;
16461 self
16462 }
16463
16464 pub fn maxFramebufferWidth(mut self, maxFramebufferWidth : u32) -> Self {
16465 self.maxFramebufferWidth = maxFramebufferWidth;
16466 self
16467 }
16468
16469 pub fn maxFramebufferHeight(mut self, maxFramebufferHeight : u32) -> Self {
16470 self.maxFramebufferHeight = maxFramebufferHeight;
16471 self
16472 }
16473
16474 pub fn maxFramebufferLayers(mut self, maxFramebufferLayers : u32) -> Self {
16475 self.maxFramebufferLayers = maxFramebufferLayers;
16476 self
16477 }
16478
16479 pub fn framebufferColorSampleCounts(mut self, framebufferColorSampleCounts : SampleCountFlags) -> Self {
16480 self.framebufferColorSampleCounts = framebufferColorSampleCounts;
16481 self
16482 }
16483
16484 pub fn framebufferDepthSampleCounts(mut self, framebufferDepthSampleCounts : SampleCountFlags) -> Self {
16485 self.framebufferDepthSampleCounts = framebufferDepthSampleCounts;
16486 self
16487 }
16488
16489 pub fn framebufferStencilSampleCounts(mut self, framebufferStencilSampleCounts : SampleCountFlags) -> Self {
16490 self.framebufferStencilSampleCounts = framebufferStencilSampleCounts;
16491 self
16492 }
16493
16494 pub fn framebufferNoAttachmentsSampleCounts(mut self, framebufferNoAttachmentsSampleCounts : SampleCountFlags) -> Self {
16495 self.framebufferNoAttachmentsSampleCounts = framebufferNoAttachmentsSampleCounts;
16496 self
16497 }
16498
16499 pub fn maxColorAttachments(mut self, maxColorAttachments : u32) -> Self {
16500 self.maxColorAttachments = maxColorAttachments;
16501 self
16502 }
16503
16504 pub fn sampledImageColorSampleCounts(mut self, sampledImageColorSampleCounts : SampleCountFlags) -> Self {
16505 self.sampledImageColorSampleCounts = sampledImageColorSampleCounts;
16506 self
16507 }
16508
16509 pub fn sampledImageIntegerSampleCounts(mut self, sampledImageIntegerSampleCounts : SampleCountFlags) -> Self {
16510 self.sampledImageIntegerSampleCounts = sampledImageIntegerSampleCounts;
16511 self
16512 }
16513
16514 pub fn sampledImageDepthSampleCounts(mut self, sampledImageDepthSampleCounts : SampleCountFlags) -> Self {
16515 self.sampledImageDepthSampleCounts = sampledImageDepthSampleCounts;
16516 self
16517 }
16518
16519 pub fn sampledImageStencilSampleCounts(mut self, sampledImageStencilSampleCounts : SampleCountFlags) -> Self {
16520 self.sampledImageStencilSampleCounts = sampledImageStencilSampleCounts;
16521 self
16522 }
16523
16524 pub fn storageImageSampleCounts(mut self, storageImageSampleCounts : SampleCountFlags) -> Self {
16525 self.storageImageSampleCounts = storageImageSampleCounts;
16526 self
16527 }
16528
16529 pub fn maxSampleMaskWords(mut self, maxSampleMaskWords : u32) -> Self {
16530 self.maxSampleMaskWords = maxSampleMaskWords;
16531 self
16532 }
16533
16534 pub fn timestampComputeAndGraphics(mut self, timestampComputeAndGraphics : Bool32) -> Self {
16535 self.timestampComputeAndGraphics = timestampComputeAndGraphics;
16536 self
16537 }
16538
16539 pub fn timestampPeriod(mut self, timestampPeriod : f32) -> Self {
16540 self.timestampPeriod = timestampPeriod;
16541 self
16542 }
16543
16544 pub fn maxClipDistances(mut self, maxClipDistances : u32) -> Self {
16545 self.maxClipDistances = maxClipDistances;
16546 self
16547 }
16548
16549 pub fn maxCullDistances(mut self, maxCullDistances : u32) -> Self {
16550 self.maxCullDistances = maxCullDistances;
16551 self
16552 }
16553
16554 pub fn maxCombinedClipAndCullDistances(mut self, maxCombinedClipAndCullDistances : u32) -> Self {
16555 self.maxCombinedClipAndCullDistances = maxCombinedClipAndCullDistances;
16556 self
16557 }
16558
16559 pub fn discreteQueuePriorities(mut self, discreteQueuePriorities : u32) -> Self {
16560 self.discreteQueuePriorities = discreteQueuePriorities;
16561 self
16562 }
16563
16564 pub fn pointSizeRange(mut self, pointSizeRange : [f32;2]) -> Self {
16565 self.pointSizeRange = pointSizeRange;
16566 self
16567 }
16568
16569 pub fn lineWidthRange(mut self, lineWidthRange : [f32;2]) -> Self {
16570 self.lineWidthRange = lineWidthRange;
16571 self
16572 }
16573
16574 pub fn pointSizeGranularity(mut self, pointSizeGranularity : f32) -> Self {
16575 self.pointSizeGranularity = pointSizeGranularity;
16576 self
16577 }
16578
16579 pub fn lineWidthGranularity(mut self, lineWidthGranularity : f32) -> Self {
16580 self.lineWidthGranularity = lineWidthGranularity;
16581 self
16582 }
16583
16584 pub fn strictLines(mut self, strictLines : Bool32) -> Self {
16585 self.strictLines = strictLines;
16586 self
16587 }
16588
16589 pub fn standardSampleLocations(mut self, standardSampleLocations : Bool32) -> Self {
16590 self.standardSampleLocations = standardSampleLocations;
16591 self
16592 }
16593
16594 pub fn optimalBufferCopyOffsetAlignment(mut self, optimalBufferCopyOffsetAlignment : DeviceSize) -> Self {
16595 self.optimalBufferCopyOffsetAlignment = optimalBufferCopyOffsetAlignment;
16596 self
16597 }
16598
16599 pub fn optimalBufferCopyRowPitchAlignment(mut self, optimalBufferCopyRowPitchAlignment : DeviceSize) -> Self {
16600 self.optimalBufferCopyRowPitchAlignment = optimalBufferCopyRowPitchAlignment;
16601 self
16602 }
16603
16604 pub fn nonCoherentAtomSize(mut self, nonCoherentAtomSize : DeviceSize) -> Self {
16605 self.nonCoherentAtomSize = nonCoherentAtomSize;
16606 self
16607 }
16608
16609}
16610
16611impl PhysicalDeviceSparseProperties {
16612
16613 pub fn new() -> Self {
16614 Self::default()
16615 }
16616
16617 pub fn residencyStandard2DBlockShape(mut self, residencyStandard2DBlockShape : Bool32) -> Self {
16618 self.residencyStandard2DBlockShape = residencyStandard2DBlockShape;
16619 self
16620 }
16621
16622 pub fn residencyStandard2DMultisampleBlockShape(mut self, residencyStandard2DMultisampleBlockShape : Bool32) -> Self {
16623 self.residencyStandard2DMultisampleBlockShape = residencyStandard2DMultisampleBlockShape;
16624 self
16625 }
16626
16627 pub fn residencyStandard3DBlockShape(mut self, residencyStandard3DBlockShape : Bool32) -> Self {
16628 self.residencyStandard3DBlockShape = residencyStandard3DBlockShape;
16629 self
16630 }
16631
16632 pub fn residencyAlignedMipSize(mut self, residencyAlignedMipSize : Bool32) -> Self {
16633 self.residencyAlignedMipSize = residencyAlignedMipSize;
16634 self
16635 }
16636
16637 pub fn residencyNonResidentStrict(mut self, residencyNonResidentStrict : Bool32) -> Self {
16638 self.residencyNonResidentStrict = residencyNonResidentStrict;
16639 self
16640 }
16641
16642}
16643
16644impl PhysicalDeviceProperties {
16645
16646 pub fn new() -> Self {
16647 Self::default()
16648 }
16649
16650 pub fn apiVersion(mut self, apiVersion : u32) -> Self {
16651 self.apiVersion = apiVersion;
16652 self
16653 }
16654
16655 pub fn driverVersion(mut self, driverVersion : u32) -> Self {
16656 self.driverVersion = driverVersion;
16657 self
16658 }
16659
16660 pub fn vendorID(mut self, vendorID : u32) -> Self {
16661 self.vendorID = vendorID;
16662 self
16663 }
16664
16665 pub fn deviceID(mut self, deviceID : u32) -> Self {
16666 self.deviceID = deviceID;
16667 self
16668 }
16669
16670 pub fn deviceType(mut self, deviceType : PhysicalDeviceType) -> Self {
16671 self.deviceType = deviceType;
16672 self
16673 }
16674
16675 pub fn deviceName(mut self, deviceName : [i8;MAX_PHYSICAL_DEVICE_NAME_SIZE]) -> Self {
16676 self.deviceName = deviceName;
16677 self
16678 }
16679
16680 pub fn pipelineCacheUUID(mut self, pipelineCacheUUID : [u8;UUID_SIZE]) -> Self {
16681 self.pipelineCacheUUID = pipelineCacheUUID;
16682 self
16683 }
16684
16685 pub fn limits(mut self, limits : PhysicalDeviceLimits) -> Self {
16686 self.limits = limits;
16687 self
16688 }
16689
16690 pub fn sparseProperties(mut self, sparseProperties : PhysicalDeviceSparseProperties) -> Self {
16691 self.sparseProperties = sparseProperties;
16692 self
16693 }
16694
16695}
16696
16697impl QueueFamilyProperties {
16698
16699 pub fn new() -> Self {
16700 Self::default()
16701 }
16702
16703 pub fn queueFlags(mut self, queueFlags : QueueFlags) -> Self {
16704 self.queueFlags = queueFlags;
16705 self
16706 }
16707
16708 pub fn queueCount(mut self, queueCount : u32) -> Self {
16709 self.queueCount = queueCount;
16710 self
16711 }
16712
16713 pub fn timestampValidBits(mut self, timestampValidBits : u32) -> Self {
16714 self.timestampValidBits = timestampValidBits;
16715 self
16716 }
16717
16718 pub fn minImageTransferGranularity(mut self, minImageTransferGranularity : Extent3D) -> Self {
16719 self.minImageTransferGranularity = minImageTransferGranularity;
16720 self
16721 }
16722
16723}
16724
16725impl MemoryType {
16726
16727 pub fn new() -> Self {
16728 Self::default()
16729 }
16730
16731 pub fn propertyFlags(mut self, propertyFlags : MemoryPropertyFlags) -> Self {
16732 self.propertyFlags = propertyFlags;
16733 self
16734 }
16735
16736 pub fn heapIndex(mut self, heapIndex : u32) -> Self {
16737 self.heapIndex = heapIndex;
16738 self
16739 }
16740
16741}
16742
16743impl MemoryHeap {
16744
16745 pub fn new() -> Self {
16746 Self::default()
16747 }
16748
16749 pub fn size(mut self, size : DeviceSize) -> Self {
16750 self.size = size;
16751 self
16752 }
16753
16754 pub fn flags(mut self, flags : MemoryHeapFlags) -> Self {
16755 self.flags = flags;
16756 self
16757 }
16758
16759}
16760
16761impl PhysicalDeviceMemoryProperties {
16762
16763 pub fn new() -> Self {
16764 Self::default()
16765 }
16766
16767 pub fn memoryTypeCount(mut self, memoryTypeCount : u32) -> Self {
16768 self.memoryTypeCount = memoryTypeCount;
16769 self
16770 }
16771
16772 pub fn memoryTypes(mut self, memoryTypes : [MemoryType;MAX_MEMORY_TYPES]) -> Self {
16773 self.memoryTypes = memoryTypes;
16774 self
16775 }
16776
16777 pub fn memoryHeapCount(mut self, memoryHeapCount : u32) -> Self {
16778 self.memoryHeapCount = memoryHeapCount;
16779 self
16780 }
16781
16782 pub fn memoryHeaps(mut self, memoryHeaps : [MemoryHeap;MAX_MEMORY_HEAPS]) -> Self {
16783 self.memoryHeaps = memoryHeaps;
16784 self
16785 }
16786
16787}
16788
16789impl DeviceQueueCreateInfo {
16790
16791 pub fn new() -> Self {
16792 Self::default()
16793 }
16794
16795 pub fn sType(mut self, sType : StructureType) -> Self {
16796 self.sType = sType;
16797 self
16798 }
16799
16800 pub fn pNext(mut self, pNext : *const void) -> Self {
16801 self.pNext = pNext;
16802 self
16803 }
16804
16805 pub fn flags(mut self, flags : DeviceQueueCreateFlags) -> Self {
16806 self.flags = flags;
16807 self
16808 }
16809
16810 pub fn queueFamilyIndex(mut self, queueFamilyIndex : u32) -> Self {
16811 self.queueFamilyIndex = queueFamilyIndex;
16812 self
16813 }
16814
16815 pub fn queueCount(mut self, queueCount : u32) -> Self {
16816 self.queueCount = queueCount;
16817 self
16818 }
16819
16820 pub fn pQueuePriorities(mut self, pQueuePriorities : *const f32) -> Self {
16821 self.pQueuePriorities = pQueuePriorities;
16822 self
16823 }
16824
16825}
16826
16827impl DeviceCreateInfo {
16828
16829 pub fn new() -> Self {
16830 Self::default()
16831 }
16832
16833 pub fn sType(mut self, sType : StructureType) -> Self {
16834 self.sType = sType;
16835 self
16836 }
16837
16838 pub fn pNext(mut self, pNext : *const void) -> Self {
16839 self.pNext = pNext;
16840 self
16841 }
16842
16843 pub fn flags(mut self, flags : DeviceCreateFlags) -> Self {
16844 self.flags = flags;
16845 self
16846 }
16847
16848 pub fn queueCreateInfoCount(mut self, queueCreateInfoCount : u32) -> Self {
16849 self.queueCreateInfoCount = queueCreateInfoCount;
16850 self
16851 }
16852
16853 pub fn pQueueCreateInfos(mut self, pQueueCreateInfos : *const DeviceQueueCreateInfo) -> Self {
16854 self.pQueueCreateInfos = pQueueCreateInfos;
16855 self
16856 }
16857
16858 pub fn enabledLayerCount(mut self, enabledLayerCount : u32) -> Self {
16859 self.enabledLayerCount = enabledLayerCount;
16860 self
16861 }
16862
16863 pub fn ppEnabledLayerNames(mut self, ppEnabledLayerNames : *const *const i8) -> Self {
16864 self.ppEnabledLayerNames = ppEnabledLayerNames;
16865 self
16866 }
16867
16868 pub fn enabledExtensionCount(mut self, enabledExtensionCount : u32) -> Self {
16869 self.enabledExtensionCount = enabledExtensionCount;
16870 self
16871 }
16872
16873 pub fn ppEnabledExtensionNames(mut self, ppEnabledExtensionNames : *const *const i8) -> Self {
16874 self.ppEnabledExtensionNames = ppEnabledExtensionNames;
16875 self
16876 }
16877
16878 pub fn pEnabledFeatures(mut self, pEnabledFeatures : *const PhysicalDeviceFeatures) -> Self {
16879 self.pEnabledFeatures = pEnabledFeatures;
16880 self
16881 }
16882
16883}
16884
16885impl ExtensionProperties {
16886
16887 pub fn new() -> Self {
16888 Self::default()
16889 }
16890
16891 pub fn extensionName(mut self, extensionName : [i8;MAX_EXTENSION_NAME_SIZE]) -> Self {
16892 self.extensionName = extensionName;
16893 self
16894 }
16895
16896 pub fn specVersion(mut self, specVersion : u32) -> Self {
16897 self.specVersion = specVersion;
16898 self
16899 }
16900
16901}
16902
16903impl LayerProperties {
16904
16905 pub fn new() -> Self {
16906 Self::default()
16907 }
16908
16909 pub fn layerName(mut self, layerName : [i8;MAX_EXTENSION_NAME_SIZE]) -> Self {
16910 self.layerName = layerName;
16911 self
16912 }
16913
16914 pub fn specVersion(mut self, specVersion : u32) -> Self {
16915 self.specVersion = specVersion;
16916 self
16917 }
16918
16919 pub fn implementationVersion(mut self, implementationVersion : u32) -> Self {
16920 self.implementationVersion = implementationVersion;
16921 self
16922 }
16923
16924 pub fn description(mut self, description : [i8;MAX_DESCRIPTION_SIZE]) -> Self {
16925 self.description = description;
16926 self
16927 }
16928
16929}
16930
16931impl SubmitInfo {
16932
16933 pub fn new() -> Self {
16934 Self::default()
16935 }
16936
16937 pub fn sType(mut self, sType : StructureType) -> Self {
16938 self.sType = sType;
16939 self
16940 }
16941
16942 pub fn pNext(mut self, pNext : *const void) -> Self {
16943 self.pNext = pNext;
16944 self
16945 }
16946
16947 pub fn waitSemaphoreCount(mut self, waitSemaphoreCount : u32) -> Self {
16948 self.waitSemaphoreCount = waitSemaphoreCount;
16949 self
16950 }
16951
16952 pub fn pWaitSemaphores(mut self, pWaitSemaphores : *const Semaphore) -> Self {
16953 self.pWaitSemaphores = pWaitSemaphores;
16954 self
16955 }
16956
16957 pub fn pWaitDstStageMask(mut self, pWaitDstStageMask : *const PipelineStageFlags) -> Self {
16958 self.pWaitDstStageMask = pWaitDstStageMask;
16959 self
16960 }
16961
16962 pub fn commandBufferCount(mut self, commandBufferCount : u32) -> Self {
16963 self.commandBufferCount = commandBufferCount;
16964 self
16965 }
16966
16967 pub fn pCommandBuffers(mut self, pCommandBuffers : *const CommandBuffer) -> Self {
16968 self.pCommandBuffers = pCommandBuffers;
16969 self
16970 }
16971
16972 pub fn signalSemaphoreCount(mut self, signalSemaphoreCount : u32) -> Self {
16973 self.signalSemaphoreCount = signalSemaphoreCount;
16974 self
16975 }
16976
16977 pub fn pSignalSemaphores(mut self, pSignalSemaphores : *const Semaphore) -> Self {
16978 self.pSignalSemaphores = pSignalSemaphores;
16979 self
16980 }
16981
16982}
16983
16984impl MemoryAllocateInfo {
16985
16986 pub fn new() -> Self {
16987 Self::default()
16988 }
16989
16990 pub fn sType(mut self, sType : StructureType) -> Self {
16991 self.sType = sType;
16992 self
16993 }
16994
16995 pub fn pNext(mut self, pNext : *const void) -> Self {
16996 self.pNext = pNext;
16997 self
16998 }
16999
17000 pub fn allocationSize(mut self, allocationSize : DeviceSize) -> Self {
17001 self.allocationSize = allocationSize;
17002 self
17003 }
17004
17005 pub fn memoryTypeIndex(mut self, memoryTypeIndex : u32) -> Self {
17006 self.memoryTypeIndex = memoryTypeIndex;
17007 self
17008 }
17009
17010}
17011
17012impl MappedMemoryRange {
17013
17014 pub fn new() -> Self {
17015 Self::default()
17016 }
17017
17018 pub fn sType(mut self, sType : StructureType) -> Self {
17019 self.sType = sType;
17020 self
17021 }
17022
17023 pub fn pNext(mut self, pNext : *const void) -> Self {
17024 self.pNext = pNext;
17025 self
17026 }
17027
17028 pub fn memory(mut self, memory : DeviceMemory) -> Self {
17029 self.memory = memory;
17030 self
17031 }
17032
17033 pub fn offset(mut self, offset : DeviceSize) -> Self {
17034 self.offset = offset;
17035 self
17036 }
17037
17038 pub fn size(mut self, size : DeviceSize) -> Self {
17039 self.size = size;
17040 self
17041 }
17042
17043}
17044
17045impl MemoryRequirements {
17046
17047 pub fn new() -> Self {
17048 Self::default()
17049 }
17050
17051 pub fn size(mut self, size : DeviceSize) -> Self {
17052 self.size = size;
17053 self
17054 }
17055
17056 pub fn alignment(mut self, alignment : DeviceSize) -> Self {
17057 self.alignment = alignment;
17058 self
17059 }
17060
17061 pub fn memoryTypeBits(mut self, memoryTypeBits : u32) -> Self {
17062 self.memoryTypeBits = memoryTypeBits;
17063 self
17064 }
17065
17066}
17067
17068impl SparseImageFormatProperties {
17069
17070 pub fn new() -> Self {
17071 Self::default()
17072 }
17073
17074 pub fn aspectMask(mut self, aspectMask : ImageAspectFlags) -> Self {
17075 self.aspectMask = aspectMask;
17076 self
17077 }
17078
17079 pub fn imageGranularity(mut self, imageGranularity : Extent3D) -> Self {
17080 self.imageGranularity = imageGranularity;
17081 self
17082 }
17083
17084 pub fn flags(mut self, flags : SparseImageFormatFlags) -> Self {
17085 self.flags = flags;
17086 self
17087 }
17088
17089}
17090
17091impl SparseImageMemoryRequirements {
17092
17093 pub fn new() -> Self {
17094 Self::default()
17095 }
17096
17097 pub fn formatProperties(mut self, formatProperties : SparseImageFormatProperties) -> Self {
17098 self.formatProperties = formatProperties;
17099 self
17100 }
17101
17102 pub fn imageMipTailFirstLod(mut self, imageMipTailFirstLod : u32) -> Self {
17103 self.imageMipTailFirstLod = imageMipTailFirstLod;
17104 self
17105 }
17106
17107 pub fn imageMipTailSize(mut self, imageMipTailSize : DeviceSize) -> Self {
17108 self.imageMipTailSize = imageMipTailSize;
17109 self
17110 }
17111
17112 pub fn imageMipTailOffset(mut self, imageMipTailOffset : DeviceSize) -> Self {
17113 self.imageMipTailOffset = imageMipTailOffset;
17114 self
17115 }
17116
17117 pub fn imageMipTailStride(mut self, imageMipTailStride : DeviceSize) -> Self {
17118 self.imageMipTailStride = imageMipTailStride;
17119 self
17120 }
17121
17122}
17123
17124impl SparseMemoryBind {
17125
17126 pub fn new() -> Self {
17127 Self::default()
17128 }
17129
17130 pub fn resourceOffset(mut self, resourceOffset : DeviceSize) -> Self {
17131 self.resourceOffset = resourceOffset;
17132 self
17133 }
17134
17135 pub fn size(mut self, size : DeviceSize) -> Self {
17136 self.size = size;
17137 self
17138 }
17139
17140 pub fn memory(mut self, memory : DeviceMemory) -> Self {
17141 self.memory = memory;
17142 self
17143 }
17144
17145 pub fn memoryOffset(mut self, memoryOffset : DeviceSize) -> Self {
17146 self.memoryOffset = memoryOffset;
17147 self
17148 }
17149
17150 pub fn flags(mut self, flags : SparseMemoryBindFlags) -> Self {
17151 self.flags = flags;
17152 self
17153 }
17154
17155}
17156
17157impl SparseBufferMemoryBindInfo {
17158
17159 pub fn new() -> Self {
17160 Self::default()
17161 }
17162
17163 pub fn buffer(mut self, buffer : Buffer) -> Self {
17164 self.buffer = buffer;
17165 self
17166 }
17167
17168 pub fn bindCount(mut self, bindCount : u32) -> Self {
17169 self.bindCount = bindCount;
17170 self
17171 }
17172
17173 pub fn pBinds(mut self, pBinds : *const SparseMemoryBind) -> Self {
17174 self.pBinds = pBinds;
17175 self
17176 }
17177
17178}
17179
17180impl SparseImageOpaqueMemoryBindInfo {
17181
17182 pub fn new() -> Self {
17183 Self::default()
17184 }
17185
17186 pub fn image(mut self, image : Image) -> Self {
17187 self.image = image;
17188 self
17189 }
17190
17191 pub fn bindCount(mut self, bindCount : u32) -> Self {
17192 self.bindCount = bindCount;
17193 self
17194 }
17195
17196 pub fn pBinds(mut self, pBinds : *const SparseMemoryBind) -> Self {
17197 self.pBinds = pBinds;
17198 self
17199 }
17200
17201}
17202
17203impl ImageSubresource {
17204
17205 pub fn new() -> Self {
17206 Self::default()
17207 }
17208
17209 pub fn aspectMask(mut self, aspectMask : ImageAspectFlags) -> Self {
17210 self.aspectMask = aspectMask;
17211 self
17212 }
17213
17214 pub fn mipLevel(mut self, mipLevel : u32) -> Self {
17215 self.mipLevel = mipLevel;
17216 self
17217 }
17218
17219 pub fn arrayLayer(mut self, arrayLayer : u32) -> Self {
17220 self.arrayLayer = arrayLayer;
17221 self
17222 }
17223
17224}
17225
17226impl Offset3D {
17227
17228 pub fn new() -> Self {
17229 Self::default()
17230 }
17231
17232 pub fn x(mut self, x : i32) -> Self {
17233 self.x = x;
17234 self
17235 }
17236
17237 pub fn y(mut self, y : i32) -> Self {
17238 self.y = y;
17239 self
17240 }
17241
17242 pub fn z(mut self, z : i32) -> Self {
17243 self.z = z;
17244 self
17245 }
17246
17247}
17248
17249impl SparseImageMemoryBind {
17250
17251 pub fn new() -> Self {
17252 Self::default()
17253 }
17254
17255 pub fn subresource(mut self, subresource : ImageSubresource) -> Self {
17256 self.subresource = subresource;
17257 self
17258 }
17259
17260 pub fn offset(mut self, offset : Offset3D) -> Self {
17261 self.offset = offset;
17262 self
17263 }
17264
17265 pub fn extent(mut self, extent : Extent3D) -> Self {
17266 self.extent = extent;
17267 self
17268 }
17269
17270 pub fn memory(mut self, memory : DeviceMemory) -> Self {
17271 self.memory = memory;
17272 self
17273 }
17274
17275 pub fn memoryOffset(mut self, memoryOffset : DeviceSize) -> Self {
17276 self.memoryOffset = memoryOffset;
17277 self
17278 }
17279
17280 pub fn flags(mut self, flags : SparseMemoryBindFlags) -> Self {
17281 self.flags = flags;
17282 self
17283 }
17284
17285}
17286
17287impl SparseImageMemoryBindInfo {
17288
17289 pub fn new() -> Self {
17290 Self::default()
17291 }
17292
17293 pub fn image(mut self, image : Image) -> Self {
17294 self.image = image;
17295 self
17296 }
17297
17298 pub fn bindCount(mut self, bindCount : u32) -> Self {
17299 self.bindCount = bindCount;
17300 self
17301 }
17302
17303 pub fn pBinds(mut self, pBinds : *const SparseImageMemoryBind) -> Self {
17304 self.pBinds = pBinds;
17305 self
17306 }
17307
17308}
17309
17310impl BindSparseInfo {
17311
17312 pub fn new() -> Self {
17313 Self::default()
17314 }
17315
17316 pub fn sType(mut self, sType : StructureType) -> Self {
17317 self.sType = sType;
17318 self
17319 }
17320
17321 pub fn pNext(mut self, pNext : *const void) -> Self {
17322 self.pNext = pNext;
17323 self
17324 }
17325
17326 pub fn waitSemaphoreCount(mut self, waitSemaphoreCount : u32) -> Self {
17327 self.waitSemaphoreCount = waitSemaphoreCount;
17328 self
17329 }
17330
17331 pub fn pWaitSemaphores(mut self, pWaitSemaphores : *const Semaphore) -> Self {
17332 self.pWaitSemaphores = pWaitSemaphores;
17333 self
17334 }
17335
17336 pub fn bufferBindCount(mut self, bufferBindCount : u32) -> Self {
17337 self.bufferBindCount = bufferBindCount;
17338 self
17339 }
17340
17341 pub fn pBufferBinds(mut self, pBufferBinds : *const SparseBufferMemoryBindInfo) -> Self {
17342 self.pBufferBinds = pBufferBinds;
17343 self
17344 }
17345
17346 pub fn imageOpaqueBindCount(mut self, imageOpaqueBindCount : u32) -> Self {
17347 self.imageOpaqueBindCount = imageOpaqueBindCount;
17348 self
17349 }
17350
17351 pub fn pImageOpaqueBinds(mut self, pImageOpaqueBinds : *const SparseImageOpaqueMemoryBindInfo) -> Self {
17352 self.pImageOpaqueBinds = pImageOpaqueBinds;
17353 self
17354 }
17355
17356 pub fn imageBindCount(mut self, imageBindCount : u32) -> Self {
17357 self.imageBindCount = imageBindCount;
17358 self
17359 }
17360
17361 pub fn pImageBinds(mut self, pImageBinds : *const SparseImageMemoryBindInfo) -> Self {
17362 self.pImageBinds = pImageBinds;
17363 self
17364 }
17365
17366 pub fn signalSemaphoreCount(mut self, signalSemaphoreCount : u32) -> Self {
17367 self.signalSemaphoreCount = signalSemaphoreCount;
17368 self
17369 }
17370
17371 pub fn pSignalSemaphores(mut self, pSignalSemaphores : *const Semaphore) -> Self {
17372 self.pSignalSemaphores = pSignalSemaphores;
17373 self
17374 }
17375
17376}
17377
17378impl FenceCreateInfo {
17379
17380 pub fn new() -> Self {
17381 Self::default()
17382 }
17383
17384 pub fn sType(mut self, sType : StructureType) -> Self {
17385 self.sType = sType;
17386 self
17387 }
17388
17389 pub fn pNext(mut self, pNext : *const void) -> Self {
17390 self.pNext = pNext;
17391 self
17392 }
17393
17394 pub fn flags(mut self, flags : FenceCreateFlags) -> Self {
17395 self.flags = flags;
17396 self
17397 }
17398
17399}
17400
17401impl SemaphoreCreateInfo {
17402
17403 pub fn new() -> Self {
17404 Self::default()
17405 }
17406
17407 pub fn sType(mut self, sType : StructureType) -> Self {
17408 self.sType = sType;
17409 self
17410 }
17411
17412 pub fn pNext(mut self, pNext : *const void) -> Self {
17413 self.pNext = pNext;
17414 self
17415 }
17416
17417 pub fn flags(mut self, flags : SemaphoreCreateFlags) -> Self {
17418 self.flags = flags;
17419 self
17420 }
17421
17422}
17423
17424impl EventCreateInfo {
17425
17426 pub fn new() -> Self {
17427 Self::default()
17428 }
17429
17430 pub fn sType(mut self, sType : StructureType) -> Self {
17431 self.sType = sType;
17432 self
17433 }
17434
17435 pub fn pNext(mut self, pNext : *const void) -> Self {
17436 self.pNext = pNext;
17437 self
17438 }
17439
17440 pub fn flags(mut self, flags : EventCreateFlags) -> Self {
17441 self.flags = flags;
17442 self
17443 }
17444
17445}
17446
17447impl QueryPoolCreateInfo {
17448
17449 pub fn new() -> Self {
17450 Self::default()
17451 }
17452
17453 pub fn sType(mut self, sType : StructureType) -> Self {
17454 self.sType = sType;
17455 self
17456 }
17457
17458 pub fn pNext(mut self, pNext : *const void) -> Self {
17459 self.pNext = pNext;
17460 self
17461 }
17462
17463 pub fn flags(mut self, flags : QueryPoolCreateFlags) -> Self {
17464 self.flags = flags;
17465 self
17466 }
17467
17468 pub fn queryType(mut self, queryType : QueryType) -> Self {
17469 self.queryType = queryType;
17470 self
17471 }
17472
17473 pub fn queryCount(mut self, queryCount : u32) -> Self {
17474 self.queryCount = queryCount;
17475 self
17476 }
17477
17478 pub fn pipelineStatistics(mut self, pipelineStatistics : QueryPipelineStatisticFlags) -> Self {
17479 self.pipelineStatistics = pipelineStatistics;
17480 self
17481 }
17482
17483}
17484
17485impl BufferCreateInfo {
17486
17487 pub fn new() -> Self {
17488 Self::default()
17489 }
17490
17491 pub fn sType(mut self, sType : StructureType) -> Self {
17492 self.sType = sType;
17493 self
17494 }
17495
17496 pub fn pNext(mut self, pNext : *const void) -> Self {
17497 self.pNext = pNext;
17498 self
17499 }
17500
17501 pub fn flags(mut self, flags : BufferCreateFlags) -> Self {
17502 self.flags = flags;
17503 self
17504 }
17505
17506 pub fn size(mut self, size : DeviceSize) -> Self {
17507 self.size = size;
17508 self
17509 }
17510
17511 pub fn usage(mut self, usage : BufferUsageFlags) -> Self {
17512 self.usage = usage;
17513 self
17514 }
17515
17516 pub fn sharingMode(mut self, sharingMode : SharingMode) -> Self {
17517 self.sharingMode = sharingMode;
17518 self
17519 }
17520
17521 pub fn queueFamilyIndexCount(mut self, queueFamilyIndexCount : u32) -> Self {
17522 self.queueFamilyIndexCount = queueFamilyIndexCount;
17523 self
17524 }
17525
17526 pub fn pQueueFamilyIndices(mut self, pQueueFamilyIndices : *const u32) -> Self {
17527 self.pQueueFamilyIndices = pQueueFamilyIndices;
17528 self
17529 }
17530
17531}
17532
17533impl BufferViewCreateInfo {
17534
17535 pub fn new() -> Self {
17536 Self::default()
17537 }
17538
17539 pub fn sType(mut self, sType : StructureType) -> Self {
17540 self.sType = sType;
17541 self
17542 }
17543
17544 pub fn pNext(mut self, pNext : *const void) -> Self {
17545 self.pNext = pNext;
17546 self
17547 }
17548
17549 pub fn flags(mut self, flags : BufferViewCreateFlags) -> Self {
17550 self.flags = flags;
17551 self
17552 }
17553
17554 pub fn buffer(mut self, buffer : Buffer) -> Self {
17555 self.buffer = buffer;
17556 self
17557 }
17558
17559 pub fn format(mut self, format : Format) -> Self {
17560 self.format = format;
17561 self
17562 }
17563
17564 pub fn offset(mut self, offset : DeviceSize) -> Self {
17565 self.offset = offset;
17566 self
17567 }
17568
17569 pub fn range(mut self, range : DeviceSize) -> Self {
17570 self.range = range;
17571 self
17572 }
17573
17574}
17575
17576impl ImageCreateInfo {
17577
17578 pub fn new() -> Self {
17579 Self::default()
17580 }
17581
17582 pub fn sType(mut self, sType : StructureType) -> Self {
17583 self.sType = sType;
17584 self
17585 }
17586
17587 pub fn pNext(mut self, pNext : *const void) -> Self {
17588 self.pNext = pNext;
17589 self
17590 }
17591
17592 pub fn flags(mut self, flags : ImageCreateFlags) -> Self {
17593 self.flags = flags;
17594 self
17595 }
17596
17597 pub fn imageType(mut self, imageType : ImageType) -> Self {
17598 self.imageType = imageType;
17599 self
17600 }
17601
17602 pub fn format(mut self, format : Format) -> Self {
17603 self.format = format;
17604 self
17605 }
17606
17607 pub fn extent(mut self, extent : Extent3D) -> Self {
17608 self.extent = extent;
17609 self
17610 }
17611
17612 pub fn mipLevels(mut self, mipLevels : u32) -> Self {
17613 self.mipLevels = mipLevels;
17614 self
17615 }
17616
17617 pub fn arrayLayers(mut self, arrayLayers : u32) -> Self {
17618 self.arrayLayers = arrayLayers;
17619 self
17620 }
17621
17622 pub fn samples(mut self, samples : SampleCountFlagBits) -> Self {
17623 self.samples = samples;
17624 self
17625 }
17626
17627 pub fn tiling(mut self, tiling : ImageTiling) -> Self {
17628 self.tiling = tiling;
17629 self
17630 }
17631
17632 pub fn usage(mut self, usage : ImageUsageFlags) -> Self {
17633 self.usage = usage;
17634 self
17635 }
17636
17637 pub fn sharingMode(mut self, sharingMode : SharingMode) -> Self {
17638 self.sharingMode = sharingMode;
17639 self
17640 }
17641
17642 pub fn queueFamilyIndexCount(mut self, queueFamilyIndexCount : u32) -> Self {
17643 self.queueFamilyIndexCount = queueFamilyIndexCount;
17644 self
17645 }
17646
17647 pub fn pQueueFamilyIndices(mut self, pQueueFamilyIndices : *const u32) -> Self {
17648 self.pQueueFamilyIndices = pQueueFamilyIndices;
17649 self
17650 }
17651
17652 pub fn initialLayout(mut self, initialLayout : ImageLayout) -> Self {
17653 self.initialLayout = initialLayout;
17654 self
17655 }
17656
17657}
17658
17659impl SubresourceLayout {
17660
17661 pub fn new() -> Self {
17662 Self::default()
17663 }
17664
17665 pub fn offset(mut self, offset : DeviceSize) -> Self {
17666 self.offset = offset;
17667 self
17668 }
17669
17670 pub fn size(mut self, size : DeviceSize) -> Self {
17671 self.size = size;
17672 self
17673 }
17674
17675 pub fn rowPitch(mut self, rowPitch : DeviceSize) -> Self {
17676 self.rowPitch = rowPitch;
17677 self
17678 }
17679
17680 pub fn arrayPitch(mut self, arrayPitch : DeviceSize) -> Self {
17681 self.arrayPitch = arrayPitch;
17682 self
17683 }
17684
17685 pub fn depthPitch(mut self, depthPitch : DeviceSize) -> Self {
17686 self.depthPitch = depthPitch;
17687 self
17688 }
17689
17690}
17691
17692impl ComponentMapping {
17693
17694 pub fn new() -> Self {
17695 Self::default()
17696 }
17697
17698 pub fn r(mut self, r : ComponentSwizzle) -> Self {
17699 self.r = r;
17700 self
17701 }
17702
17703 pub fn g(mut self, g : ComponentSwizzle) -> Self {
17704 self.g = g;
17705 self
17706 }
17707
17708 pub fn b(mut self, b : ComponentSwizzle) -> Self {
17709 self.b = b;
17710 self
17711 }
17712
17713 pub fn a(mut self, a : ComponentSwizzle) -> Self {
17714 self.a = a;
17715 self
17716 }
17717
17718}
17719
17720impl ImageSubresourceRange {
17721
17722 pub fn new() -> Self {
17723 Self::default()
17724 }
17725
17726 pub fn aspectMask(mut self, aspectMask : ImageAspectFlags) -> Self {
17727 self.aspectMask = aspectMask;
17728 self
17729 }
17730
17731 pub fn baseMipLevel(mut self, baseMipLevel : u32) -> Self {
17732 self.baseMipLevel = baseMipLevel;
17733 self
17734 }
17735
17736 pub fn levelCount(mut self, levelCount : u32) -> Self {
17737 self.levelCount = levelCount;
17738 self
17739 }
17740
17741 pub fn baseArrayLayer(mut self, baseArrayLayer : u32) -> Self {
17742 self.baseArrayLayer = baseArrayLayer;
17743 self
17744 }
17745
17746 pub fn layerCount(mut self, layerCount : u32) -> Self {
17747 self.layerCount = layerCount;
17748 self
17749 }
17750
17751}
17752
17753impl ImageViewCreateInfo {
17754
17755 pub fn new() -> Self {
17756 Self::default()
17757 }
17758
17759 pub fn sType(mut self, sType : StructureType) -> Self {
17760 self.sType = sType;
17761 self
17762 }
17763
17764 pub fn pNext(mut self, pNext : *const void) -> Self {
17765 self.pNext = pNext;
17766 self
17767 }
17768
17769 pub fn flags(mut self, flags : ImageViewCreateFlags) -> Self {
17770 self.flags = flags;
17771 self
17772 }
17773
17774 pub fn image(mut self, image : Image) -> Self {
17775 self.image = image;
17776 self
17777 }
17778
17779 pub fn viewType(mut self, viewType : ImageViewType) -> Self {
17780 self.viewType = viewType;
17781 self
17782 }
17783
17784 pub fn format(mut self, format : Format) -> Self {
17785 self.format = format;
17786 self
17787 }
17788
17789 pub fn components(mut self, components : ComponentMapping) -> Self {
17790 self.components = components;
17791 self
17792 }
17793
17794 pub fn subresourceRange(mut self, subresourceRange : ImageSubresourceRange) -> Self {
17795 self.subresourceRange = subresourceRange;
17796 self
17797 }
17798
17799}
17800
17801impl ShaderModuleCreateInfo {
17802
17803 pub fn new() -> Self {
17804 Self::default()
17805 }
17806
17807 pub fn sType(mut self, sType : StructureType) -> Self {
17808 self.sType = sType;
17809 self
17810 }
17811
17812 pub fn pNext(mut self, pNext : *const void) -> Self {
17813 self.pNext = pNext;
17814 self
17815 }
17816
17817 pub fn flags(mut self, flags : ShaderModuleCreateFlags) -> Self {
17818 self.flags = flags;
17819 self
17820 }
17821
17822 pub fn codeSize(mut self, codeSize : usize) -> Self {
17823 self.codeSize = codeSize;
17824 self
17825 }
17826
17827 pub fn pCode(mut self, pCode : *const u32) -> Self {
17828 self.pCode = pCode;
17829 self
17830 }
17831
17832}
17833
17834impl PipelineCacheCreateInfo {
17835
17836 pub fn new() -> Self {
17837 Self::default()
17838 }
17839
17840 pub fn sType(mut self, sType : StructureType) -> Self {
17841 self.sType = sType;
17842 self
17843 }
17844
17845 pub fn pNext(mut self, pNext : *const void) -> Self {
17846 self.pNext = pNext;
17847 self
17848 }
17849
17850 pub fn flags(mut self, flags : PipelineCacheCreateFlags) -> Self {
17851 self.flags = flags;
17852 self
17853 }
17854
17855 pub fn initialDataSize(mut self, initialDataSize : usize) -> Self {
17856 self.initialDataSize = initialDataSize;
17857 self
17858 }
17859
17860 pub fn pInitialData(mut self, pInitialData : *const void) -> Self {
17861 self.pInitialData = pInitialData;
17862 self
17863 }
17864
17865}
17866
17867impl SpecializationMapEntry {
17868
17869 pub fn new() -> Self {
17870 Self::default()
17871 }
17872
17873 pub fn constantID(mut self, constantID : u32) -> Self {
17874 self.constantID = constantID;
17875 self
17876 }
17877
17878 pub fn offset(mut self, offset : u32) -> Self {
17879 self.offset = offset;
17880 self
17881 }
17882
17883 pub fn size(mut self, size : usize) -> Self {
17884 self.size = size;
17885 self
17886 }
17887
17888}
17889
17890impl SpecializationInfo {
17891
17892 pub fn new() -> Self {
17893 Self::default()
17894 }
17895
17896 pub fn mapEntryCount(mut self, mapEntryCount : u32) -> Self {
17897 self.mapEntryCount = mapEntryCount;
17898 self
17899 }
17900
17901 pub fn pMapEntries(mut self, pMapEntries : *const SpecializationMapEntry) -> Self {
17902 self.pMapEntries = pMapEntries;
17903 self
17904 }
17905
17906 pub fn dataSize(mut self, dataSize : usize) -> Self {
17907 self.dataSize = dataSize;
17908 self
17909 }
17910
17911 pub fn pData(mut self, pData : *const void) -> Self {
17912 self.pData = pData;
17913 self
17914 }
17915
17916}
17917
17918impl PipelineShaderStageCreateInfo {
17919
17920 pub fn new() -> Self {
17921 Self::default()
17922 }
17923
17924 pub fn sType(mut self, sType : StructureType) -> Self {
17925 self.sType = sType;
17926 self
17927 }
17928
17929 pub fn pNext(mut self, pNext : *const void) -> Self {
17930 self.pNext = pNext;
17931 self
17932 }
17933
17934 pub fn flags(mut self, flags : PipelineShaderStageCreateFlags) -> Self {
17935 self.flags = flags;
17936 self
17937 }
17938
17939 pub fn stage(mut self, stage : ShaderStageFlagBits) -> Self {
17940 self.stage = stage;
17941 self
17942 }
17943
17944 pub fn module(mut self, module : ShaderModule) -> Self {
17945 self.module = module;
17946 self
17947 }
17948
17949 pub fn pName(mut self, pName : *const i8) -> Self {
17950 self.pName = pName;
17951 self
17952 }
17953
17954 pub fn pSpecializationInfo(mut self, pSpecializationInfo : *const SpecializationInfo) -> Self {
17955 self.pSpecializationInfo = pSpecializationInfo;
17956 self
17957 }
17958
17959}
17960
17961impl VertexInputBindingDescription {
17962
17963 pub fn new() -> Self {
17964 Self::default()
17965 }
17966
17967 pub fn binding(mut self, binding : u32) -> Self {
17968 self.binding = binding;
17969 self
17970 }
17971
17972 pub fn stride(mut self, stride : u32) -> Self {
17973 self.stride = stride;
17974 self
17975 }
17976
17977 pub fn inputRate(mut self, inputRate : VertexInputRate) -> Self {
17978 self.inputRate = inputRate;
17979 self
17980 }
17981
17982}
17983
17984impl VertexInputAttributeDescription {
17985
17986 pub fn new() -> Self {
17987 Self::default()
17988 }
17989
17990 pub fn location(mut self, location : u32) -> Self {
17991 self.location = location;
17992 self
17993 }
17994
17995 pub fn binding(mut self, binding : u32) -> Self {
17996 self.binding = binding;
17997 self
17998 }
17999
18000 pub fn format(mut self, format : Format) -> Self {
18001 self.format = format;
18002 self
18003 }
18004
18005 pub fn offset(mut self, offset : u32) -> Self {
18006 self.offset = offset;
18007 self
18008 }
18009
18010}
18011
18012impl PipelineVertexInputStateCreateInfo {
18013
18014 pub fn new() -> Self {
18015 Self::default()
18016 }
18017
18018 pub fn sType(mut self, sType : StructureType) -> Self {
18019 self.sType = sType;
18020 self
18021 }
18022
18023 pub fn pNext(mut self, pNext : *const void) -> Self {
18024 self.pNext = pNext;
18025 self
18026 }
18027
18028 pub fn flags(mut self, flags : PipelineVertexInputStateCreateFlags) -> Self {
18029 self.flags = flags;
18030 self
18031 }
18032
18033 pub fn vertexBindingDescriptionCount(mut self, vertexBindingDescriptionCount : u32) -> Self {
18034 self.vertexBindingDescriptionCount = vertexBindingDescriptionCount;
18035 self
18036 }
18037
18038 pub fn pVertexBindingDescriptions(mut self, pVertexBindingDescriptions : *const VertexInputBindingDescription) -> Self {
18039 self.pVertexBindingDescriptions = pVertexBindingDescriptions;
18040 self
18041 }
18042
18043 pub fn vertexAttributeDescriptionCount(mut self, vertexAttributeDescriptionCount : u32) -> Self {
18044 self.vertexAttributeDescriptionCount = vertexAttributeDescriptionCount;
18045 self
18046 }
18047
18048 pub fn pVertexAttributeDescriptions(mut self, pVertexAttributeDescriptions : *const VertexInputAttributeDescription) -> Self {
18049 self.pVertexAttributeDescriptions = pVertexAttributeDescriptions;
18050 self
18051 }
18052
18053}
18054
18055impl PipelineInputAssemblyStateCreateInfo {
18056
18057 pub fn new() -> Self {
18058 Self::default()
18059 }
18060
18061 pub fn sType(mut self, sType : StructureType) -> Self {
18062 self.sType = sType;
18063 self
18064 }
18065
18066 pub fn pNext(mut self, pNext : *const void) -> Self {
18067 self.pNext = pNext;
18068 self
18069 }
18070
18071 pub fn flags(mut self, flags : PipelineInputAssemblyStateCreateFlags) -> Self {
18072 self.flags = flags;
18073 self
18074 }
18075
18076 pub fn topology(mut self, topology : PrimitiveTopology) -> Self {
18077 self.topology = topology;
18078 self
18079 }
18080
18081 pub fn primitiveRestartEnable(mut self, primitiveRestartEnable : Bool32) -> Self {
18082 self.primitiveRestartEnable = primitiveRestartEnable;
18083 self
18084 }
18085
18086}
18087
18088impl PipelineTessellationStateCreateInfo {
18089
18090 pub fn new() -> Self {
18091 Self::default()
18092 }
18093
18094 pub fn sType(mut self, sType : StructureType) -> Self {
18095 self.sType = sType;
18096 self
18097 }
18098
18099 pub fn pNext(mut self, pNext : *const void) -> Self {
18100 self.pNext = pNext;
18101 self
18102 }
18103
18104 pub fn flags(mut self, flags : PipelineTessellationStateCreateFlags) -> Self {
18105 self.flags = flags;
18106 self
18107 }
18108
18109 pub fn patchControlPoints(mut self, patchControlPoints : u32) -> Self {
18110 self.patchControlPoints = patchControlPoints;
18111 self
18112 }
18113
18114}
18115
18116impl Viewport {
18117
18118 pub fn new() -> Self {
18119 Self::default()
18120 }
18121
18122 pub fn x(mut self, x : f32) -> Self {
18123 self.x = x;
18124 self
18125 }
18126
18127 pub fn y(mut self, y : f32) -> Self {
18128 self.y = y;
18129 self
18130 }
18131
18132 pub fn width(mut self, width : f32) -> Self {
18133 self.width = width;
18134 self
18135 }
18136
18137 pub fn height(mut self, height : f32) -> Self {
18138 self.height = height;
18139 self
18140 }
18141
18142 pub fn minDepth(mut self, minDepth : f32) -> Self {
18143 self.minDepth = minDepth;
18144 self
18145 }
18146
18147 pub fn maxDepth(mut self, maxDepth : f32) -> Self {
18148 self.maxDepth = maxDepth;
18149 self
18150 }
18151
18152}
18153
18154impl Offset2D {
18155
18156 pub fn new() -> Self {
18157 Self::default()
18158 }
18159
18160 pub fn x(mut self, x : i32) -> Self {
18161 self.x = x;
18162 self
18163 }
18164
18165 pub fn y(mut self, y : i32) -> Self {
18166 self.y = y;
18167 self
18168 }
18169
18170}
18171
18172impl Extent2D {
18173
18174 pub fn new() -> Self {
18175 Self::default()
18176 }
18177
18178 pub fn width(mut self, width : u32) -> Self {
18179 self.width = width;
18180 self
18181 }
18182
18183 pub fn height(mut self, height : u32) -> Self {
18184 self.height = height;
18185 self
18186 }
18187
18188}
18189
18190impl Rect2D {
18191
18192 pub fn new() -> Self {
18193 Self::default()
18194 }
18195
18196 pub fn offset(mut self, offset : Offset2D) -> Self {
18197 self.offset = offset;
18198 self
18199 }
18200
18201 pub fn extent(mut self, extent : Extent2D) -> Self {
18202 self.extent = extent;
18203 self
18204 }
18205
18206}
18207
18208impl PipelineViewportStateCreateInfo {
18209
18210 pub fn new() -> Self {
18211 Self::default()
18212 }
18213
18214 pub fn sType(mut self, sType : StructureType) -> Self {
18215 self.sType = sType;
18216 self
18217 }
18218
18219 pub fn pNext(mut self, pNext : *const void) -> Self {
18220 self.pNext = pNext;
18221 self
18222 }
18223
18224 pub fn flags(mut self, flags : PipelineViewportStateCreateFlags) -> Self {
18225 self.flags = flags;
18226 self
18227 }
18228
18229 pub fn viewportCount(mut self, viewportCount : u32) -> Self {
18230 self.viewportCount = viewportCount;
18231 self
18232 }
18233
18234 pub fn pViewports(mut self, pViewports : *const Viewport) -> Self {
18235 self.pViewports = pViewports;
18236 self
18237 }
18238
18239 pub fn scissorCount(mut self, scissorCount : u32) -> Self {
18240 self.scissorCount = scissorCount;
18241 self
18242 }
18243
18244 pub fn pScissors(mut self, pScissors : *const Rect2D) -> Self {
18245 self.pScissors = pScissors;
18246 self
18247 }
18248
18249}
18250
18251impl PipelineRasterizationStateCreateInfo {
18252
18253 pub fn new() -> Self {
18254 Self::default()
18255 }
18256
18257 pub fn sType(mut self, sType : StructureType) -> Self {
18258 self.sType = sType;
18259 self
18260 }
18261
18262 pub fn pNext(mut self, pNext : *const void) -> Self {
18263 self.pNext = pNext;
18264 self
18265 }
18266
18267 pub fn flags(mut self, flags : PipelineRasterizationStateCreateFlags) -> Self {
18268 self.flags = flags;
18269 self
18270 }
18271
18272 pub fn depthClampEnable(mut self, depthClampEnable : Bool32) -> Self {
18273 self.depthClampEnable = depthClampEnable;
18274 self
18275 }
18276
18277 pub fn rasterizerDiscardEnable(mut self, rasterizerDiscardEnable : Bool32) -> Self {
18278 self.rasterizerDiscardEnable = rasterizerDiscardEnable;
18279 self
18280 }
18281
18282 pub fn polygonMode(mut self, polygonMode : PolygonMode) -> Self {
18283 self.polygonMode = polygonMode;
18284 self
18285 }
18286
18287 pub fn cullMode(mut self, cullMode : CullModeFlags) -> Self {
18288 self.cullMode = cullMode;
18289 self
18290 }
18291
18292 pub fn frontFace(mut self, frontFace : FrontFace) -> Self {
18293 self.frontFace = frontFace;
18294 self
18295 }
18296
18297 pub fn depthBiasEnable(mut self, depthBiasEnable : Bool32) -> Self {
18298 self.depthBiasEnable = depthBiasEnable;
18299 self
18300 }
18301
18302 pub fn depthBiasConstantFactor(mut self, depthBiasConstantFactor : f32) -> Self {
18303 self.depthBiasConstantFactor = depthBiasConstantFactor;
18304 self
18305 }
18306
18307 pub fn depthBiasClamp(mut self, depthBiasClamp : f32) -> Self {
18308 self.depthBiasClamp = depthBiasClamp;
18309 self
18310 }
18311
18312 pub fn depthBiasSlopeFactor(mut self, depthBiasSlopeFactor : f32) -> Self {
18313 self.depthBiasSlopeFactor = depthBiasSlopeFactor;
18314 self
18315 }
18316
18317 pub fn lineWidth(mut self, lineWidth : f32) -> Self {
18318 self.lineWidth = lineWidth;
18319 self
18320 }
18321
18322}
18323
18324impl PipelineMultisampleStateCreateInfo {
18325
18326 pub fn new() -> Self {
18327 Self::default()
18328 }
18329
18330 pub fn sType(mut self, sType : StructureType) -> Self {
18331 self.sType = sType;
18332 self
18333 }
18334
18335 pub fn pNext(mut self, pNext : *const void) -> Self {
18336 self.pNext = pNext;
18337 self
18338 }
18339
18340 pub fn flags(mut self, flags : PipelineMultisampleStateCreateFlags) -> Self {
18341 self.flags = flags;
18342 self
18343 }
18344
18345 pub fn rasterizationSamples(mut self, rasterizationSamples : SampleCountFlagBits) -> Self {
18346 self.rasterizationSamples = rasterizationSamples;
18347 self
18348 }
18349
18350 pub fn sampleShadingEnable(mut self, sampleShadingEnable : Bool32) -> Self {
18351 self.sampleShadingEnable = sampleShadingEnable;
18352 self
18353 }
18354
18355 pub fn minSampleShading(mut self, minSampleShading : f32) -> Self {
18356 self.minSampleShading = minSampleShading;
18357 self
18358 }
18359
18360 pub fn pSampleMask(mut self, pSampleMask : *const SampleMask) -> Self {
18361 self.pSampleMask = pSampleMask;
18362 self
18363 }
18364
18365 pub fn alphaToCoverageEnable(mut self, alphaToCoverageEnable : Bool32) -> Self {
18366 self.alphaToCoverageEnable = alphaToCoverageEnable;
18367 self
18368 }
18369
18370 pub fn alphaToOneEnable(mut self, alphaToOneEnable : Bool32) -> Self {
18371 self.alphaToOneEnable = alphaToOneEnable;
18372 self
18373 }
18374
18375}
18376
18377impl StencilOpState {
18378
18379 pub fn new() -> Self {
18380 Self::default()
18381 }
18382
18383 pub fn failOp(mut self, failOp : StencilOp) -> Self {
18384 self.failOp = failOp;
18385 self
18386 }
18387
18388 pub fn passOp(mut self, passOp : StencilOp) -> Self {
18389 self.passOp = passOp;
18390 self
18391 }
18392
18393 pub fn depthFailOp(mut self, depthFailOp : StencilOp) -> Self {
18394 self.depthFailOp = depthFailOp;
18395 self
18396 }
18397
18398 pub fn compareOp(mut self, compareOp : CompareOp) -> Self {
18399 self.compareOp = compareOp;
18400 self
18401 }
18402
18403 pub fn compareMask(mut self, compareMask : u32) -> Self {
18404 self.compareMask = compareMask;
18405 self
18406 }
18407
18408 pub fn writeMask(mut self, writeMask : u32) -> Self {
18409 self.writeMask = writeMask;
18410 self
18411 }
18412
18413 pub fn reference(mut self, reference : u32) -> Self {
18414 self.reference = reference;
18415 self
18416 }
18417
18418}
18419
18420impl PipelineDepthStencilStateCreateInfo {
18421
18422 pub fn new() -> Self {
18423 Self::default()
18424 }
18425
18426 pub fn sType(mut self, sType : StructureType) -> Self {
18427 self.sType = sType;
18428 self
18429 }
18430
18431 pub fn pNext(mut self, pNext : *const void) -> Self {
18432 self.pNext = pNext;
18433 self
18434 }
18435
18436 pub fn flags(mut self, flags : PipelineDepthStencilStateCreateFlags) -> Self {
18437 self.flags = flags;
18438 self
18439 }
18440
18441 pub fn depthTestEnable(mut self, depthTestEnable : Bool32) -> Self {
18442 self.depthTestEnable = depthTestEnable;
18443 self
18444 }
18445
18446 pub fn depthWriteEnable(mut self, depthWriteEnable : Bool32) -> Self {
18447 self.depthWriteEnable = depthWriteEnable;
18448 self
18449 }
18450
18451 pub fn depthCompareOp(mut self, depthCompareOp : CompareOp) -> Self {
18452 self.depthCompareOp = depthCompareOp;
18453 self
18454 }
18455
18456 pub fn depthBoundsTestEnable(mut self, depthBoundsTestEnable : Bool32) -> Self {
18457 self.depthBoundsTestEnable = depthBoundsTestEnable;
18458 self
18459 }
18460
18461 pub fn stencilTestEnable(mut self, stencilTestEnable : Bool32) -> Self {
18462 self.stencilTestEnable = stencilTestEnable;
18463 self
18464 }
18465
18466 pub fn front(mut self, front : StencilOpState) -> Self {
18467 self.front = front;
18468 self
18469 }
18470
18471 pub fn back(mut self, back : StencilOpState) -> Self {
18472 self.back = back;
18473 self
18474 }
18475
18476 pub fn minDepthBounds(mut self, minDepthBounds : f32) -> Self {
18477 self.minDepthBounds = minDepthBounds;
18478 self
18479 }
18480
18481 pub fn maxDepthBounds(mut self, maxDepthBounds : f32) -> Self {
18482 self.maxDepthBounds = maxDepthBounds;
18483 self
18484 }
18485
18486}
18487
18488impl PipelineColorBlendAttachmentState {
18489
18490 pub fn new() -> Self {
18491 Self::default()
18492 }
18493
18494 pub fn blendEnable(mut self, blendEnable : Bool32) -> Self {
18495 self.blendEnable = blendEnable;
18496 self
18497 }
18498
18499 pub fn srcColorBlendFactor(mut self, srcColorBlendFactor : BlendFactor) -> Self {
18500 self.srcColorBlendFactor = srcColorBlendFactor;
18501 self
18502 }
18503
18504 pub fn dstColorBlendFactor(mut self, dstColorBlendFactor : BlendFactor) -> Self {
18505 self.dstColorBlendFactor = dstColorBlendFactor;
18506 self
18507 }
18508
18509 pub fn colorBlendOp(mut self, colorBlendOp : BlendOp) -> Self {
18510 self.colorBlendOp = colorBlendOp;
18511 self
18512 }
18513
18514 pub fn srcAlphaBlendFactor(mut self, srcAlphaBlendFactor : BlendFactor) -> Self {
18515 self.srcAlphaBlendFactor = srcAlphaBlendFactor;
18516 self
18517 }
18518
18519 pub fn dstAlphaBlendFactor(mut self, dstAlphaBlendFactor : BlendFactor) -> Self {
18520 self.dstAlphaBlendFactor = dstAlphaBlendFactor;
18521 self
18522 }
18523
18524 pub fn alphaBlendOp(mut self, alphaBlendOp : BlendOp) -> Self {
18525 self.alphaBlendOp = alphaBlendOp;
18526 self
18527 }
18528
18529 pub fn colorWriteMask(mut self, colorWriteMask : ColorComponentFlags) -> Self {
18530 self.colorWriteMask = colorWriteMask;
18531 self
18532 }
18533
18534}
18535
18536impl PipelineColorBlendStateCreateInfo {
18537
18538 pub fn new() -> Self {
18539 Self::default()
18540 }
18541
18542 pub fn sType(mut self, sType : StructureType) -> Self {
18543 self.sType = sType;
18544 self
18545 }
18546
18547 pub fn pNext(mut self, pNext : *const void) -> Self {
18548 self.pNext = pNext;
18549 self
18550 }
18551
18552 pub fn flags(mut self, flags : PipelineColorBlendStateCreateFlags) -> Self {
18553 self.flags = flags;
18554 self
18555 }
18556
18557 pub fn logicOpEnable(mut self, logicOpEnable : Bool32) -> Self {
18558 self.logicOpEnable = logicOpEnable;
18559 self
18560 }
18561
18562 pub fn logicOp(mut self, logicOp : LogicOp) -> Self {
18563 self.logicOp = logicOp;
18564 self
18565 }
18566
18567 pub fn attachmentCount(mut self, attachmentCount : u32) -> Self {
18568 self.attachmentCount = attachmentCount;
18569 self
18570 }
18571
18572 pub fn pAttachments(mut self, pAttachments : *const PipelineColorBlendAttachmentState) -> Self {
18573 self.pAttachments = pAttachments;
18574 self
18575 }
18576
18577 pub fn blendConstants(mut self, blendConstants : [f32;4]) -> Self {
18578 self.blendConstants = blendConstants;
18579 self
18580 }
18581
18582}
18583
18584impl PipelineDynamicStateCreateInfo {
18585
18586 pub fn new() -> Self {
18587 Self::default()
18588 }
18589
18590 pub fn sType(mut self, sType : StructureType) -> Self {
18591 self.sType = sType;
18592 self
18593 }
18594
18595 pub fn pNext(mut self, pNext : *const void) -> Self {
18596 self.pNext = pNext;
18597 self
18598 }
18599
18600 pub fn flags(mut self, flags : PipelineDynamicStateCreateFlags) -> Self {
18601 self.flags = flags;
18602 self
18603 }
18604
18605 pub fn dynamicStateCount(mut self, dynamicStateCount : u32) -> Self {
18606 self.dynamicStateCount = dynamicStateCount;
18607 self
18608 }
18609
18610 pub fn pDynamicStates(mut self, pDynamicStates : *const DynamicState) -> Self {
18611 self.pDynamicStates = pDynamicStates;
18612 self
18613 }
18614
18615}
18616
18617impl GraphicsPipelineCreateInfo {
18618
18619 pub fn new() -> Self {
18620 Self::default()
18621 }
18622
18623 pub fn sType(mut self, sType : StructureType) -> Self {
18624 self.sType = sType;
18625 self
18626 }
18627
18628 pub fn pNext(mut self, pNext : *const void) -> Self {
18629 self.pNext = pNext;
18630 self
18631 }
18632
18633 pub fn flags(mut self, flags : PipelineCreateFlags) -> Self {
18634 self.flags = flags;
18635 self
18636 }
18637
18638 pub fn stageCount(mut self, stageCount : u32) -> Self {
18639 self.stageCount = stageCount;
18640 self
18641 }
18642
18643 pub fn pStages(mut self, pStages : *const PipelineShaderStageCreateInfo) -> Self {
18644 self.pStages = pStages;
18645 self
18646 }
18647
18648 pub fn pVertexInputState(mut self, pVertexInputState : *const PipelineVertexInputStateCreateInfo) -> Self {
18649 self.pVertexInputState = pVertexInputState;
18650 self
18651 }
18652
18653 pub fn pInputAssemblyState(mut self, pInputAssemblyState : *const PipelineInputAssemblyStateCreateInfo) -> Self {
18654 self.pInputAssemblyState = pInputAssemblyState;
18655 self
18656 }
18657
18658 pub fn pTessellationState(mut self, pTessellationState : *const PipelineTessellationStateCreateInfo) -> Self {
18659 self.pTessellationState = pTessellationState;
18660 self
18661 }
18662
18663 pub fn pViewportState(mut self, pViewportState : *const PipelineViewportStateCreateInfo) -> Self {
18664 self.pViewportState = pViewportState;
18665 self
18666 }
18667
18668 pub fn pRasterizationState(mut self, pRasterizationState : *const PipelineRasterizationStateCreateInfo) -> Self {
18669 self.pRasterizationState = pRasterizationState;
18670 self
18671 }
18672
18673 pub fn pMultisampleState(mut self, pMultisampleState : *const PipelineMultisampleStateCreateInfo) -> Self {
18674 self.pMultisampleState = pMultisampleState;
18675 self
18676 }
18677
18678 pub fn pDepthStencilState(mut self, pDepthStencilState : *const PipelineDepthStencilStateCreateInfo) -> Self {
18679 self.pDepthStencilState = pDepthStencilState;
18680 self
18681 }
18682
18683 pub fn pColorBlendState(mut self, pColorBlendState : *const PipelineColorBlendStateCreateInfo) -> Self {
18684 self.pColorBlendState = pColorBlendState;
18685 self
18686 }
18687
18688 pub fn pDynamicState(mut self, pDynamicState : *const PipelineDynamicStateCreateInfo) -> Self {
18689 self.pDynamicState = pDynamicState;
18690 self
18691 }
18692
18693 pub fn layout(mut self, layout : PipelineLayout) -> Self {
18694 self.layout = layout;
18695 self
18696 }
18697
18698 pub fn renderPass(mut self, renderPass : RenderPass) -> Self {
18699 self.renderPass = renderPass;
18700 self
18701 }
18702
18703 pub fn subpass(mut self, subpass : u32) -> Self {
18704 self.subpass = subpass;
18705 self
18706 }
18707
18708 pub fn basePipelineHandle(mut self, basePipelineHandle : Pipeline) -> Self {
18709 self.basePipelineHandle = basePipelineHandle;
18710 self
18711 }
18712
18713 pub fn basePipelineIndex(mut self, basePipelineIndex : i32) -> Self {
18714 self.basePipelineIndex = basePipelineIndex;
18715 self
18716 }
18717
18718}
18719
18720impl ComputePipelineCreateInfo {
18721
18722 pub fn new() -> Self {
18723 Self::default()
18724 }
18725
18726 pub fn sType(mut self, sType : StructureType) -> Self {
18727 self.sType = sType;
18728 self
18729 }
18730
18731 pub fn pNext(mut self, pNext : *const void) -> Self {
18732 self.pNext = pNext;
18733 self
18734 }
18735
18736 pub fn flags(mut self, flags : PipelineCreateFlags) -> Self {
18737 self.flags = flags;
18738 self
18739 }
18740
18741 pub fn stage(mut self, stage : PipelineShaderStageCreateInfo) -> Self {
18742 self.stage = stage;
18743 self
18744 }
18745
18746 pub fn layout(mut self, layout : PipelineLayout) -> Self {
18747 self.layout = layout;
18748 self
18749 }
18750
18751 pub fn basePipelineHandle(mut self, basePipelineHandle : Pipeline) -> Self {
18752 self.basePipelineHandle = basePipelineHandle;
18753 self
18754 }
18755
18756 pub fn basePipelineIndex(mut self, basePipelineIndex : i32) -> Self {
18757 self.basePipelineIndex = basePipelineIndex;
18758 self
18759 }
18760
18761}
18762
18763impl PushConstantRange {
18764
18765 pub fn new() -> Self {
18766 Self::default()
18767 }
18768
18769 pub fn stageFlags(mut self, stageFlags : ShaderStageFlags) -> Self {
18770 self.stageFlags = stageFlags;
18771 self
18772 }
18773
18774 pub fn offset(mut self, offset : u32) -> Self {
18775 self.offset = offset;
18776 self
18777 }
18778
18779 pub fn size(mut self, size : u32) -> Self {
18780 self.size = size;
18781 self
18782 }
18783
18784}
18785
18786impl PipelineLayoutCreateInfo {
18787
18788 pub fn new() -> Self {
18789 Self::default()
18790 }
18791
18792 pub fn sType(mut self, sType : StructureType) -> Self {
18793 self.sType = sType;
18794 self
18795 }
18796
18797 pub fn pNext(mut self, pNext : *const void) -> Self {
18798 self.pNext = pNext;
18799 self
18800 }
18801
18802 pub fn flags(mut self, flags : PipelineLayoutCreateFlags) -> Self {
18803 self.flags = flags;
18804 self
18805 }
18806
18807 pub fn setLayoutCount(mut self, setLayoutCount : u32) -> Self {
18808 self.setLayoutCount = setLayoutCount;
18809 self
18810 }
18811
18812 pub fn pSetLayouts(mut self, pSetLayouts : *const DescriptorSetLayout) -> Self {
18813 self.pSetLayouts = pSetLayouts;
18814 self
18815 }
18816
18817 pub fn pushConstantRangeCount(mut self, pushConstantRangeCount : u32) -> Self {
18818 self.pushConstantRangeCount = pushConstantRangeCount;
18819 self
18820 }
18821
18822 pub fn pPushConstantRanges(mut self, pPushConstantRanges : *const PushConstantRange) -> Self {
18823 self.pPushConstantRanges = pPushConstantRanges;
18824 self
18825 }
18826
18827}
18828
18829impl SamplerCreateInfo {
18830
18831 pub fn new() -> Self {
18832 Self::default()
18833 }
18834
18835 pub fn sType(mut self, sType : StructureType) -> Self {
18836 self.sType = sType;
18837 self
18838 }
18839
18840 pub fn pNext(mut self, pNext : *const void) -> Self {
18841 self.pNext = pNext;
18842 self
18843 }
18844
18845 pub fn flags(mut self, flags : SamplerCreateFlags) -> Self {
18846 self.flags = flags;
18847 self
18848 }
18849
18850 pub fn magFilter(mut self, magFilter : Filter) -> Self {
18851 self.magFilter = magFilter;
18852 self
18853 }
18854
18855 pub fn minFilter(mut self, minFilter : Filter) -> Self {
18856 self.minFilter = minFilter;
18857 self
18858 }
18859
18860 pub fn mipmapMode(mut self, mipmapMode : SamplerMipmapMode) -> Self {
18861 self.mipmapMode = mipmapMode;
18862 self
18863 }
18864
18865 pub fn addressModeU(mut self, addressModeU : SamplerAddressMode) -> Self {
18866 self.addressModeU = addressModeU;
18867 self
18868 }
18869
18870 pub fn addressModeV(mut self, addressModeV : SamplerAddressMode) -> Self {
18871 self.addressModeV = addressModeV;
18872 self
18873 }
18874
18875 pub fn addressModeW(mut self, addressModeW : SamplerAddressMode) -> Self {
18876 self.addressModeW = addressModeW;
18877 self
18878 }
18879
18880 pub fn mipLodBias(mut self, mipLodBias : f32) -> Self {
18881 self.mipLodBias = mipLodBias;
18882 self
18883 }
18884
18885 pub fn anisotropyEnable(mut self, anisotropyEnable : Bool32) -> Self {
18886 self.anisotropyEnable = anisotropyEnable;
18887 self
18888 }
18889
18890 pub fn maxAnisotropy(mut self, maxAnisotropy : f32) -> Self {
18891 self.maxAnisotropy = maxAnisotropy;
18892 self
18893 }
18894
18895 pub fn compareEnable(mut self, compareEnable : Bool32) -> Self {
18896 self.compareEnable = compareEnable;
18897 self
18898 }
18899
18900 pub fn compareOp(mut self, compareOp : CompareOp) -> Self {
18901 self.compareOp = compareOp;
18902 self
18903 }
18904
18905 pub fn minLod(mut self, minLod : f32) -> Self {
18906 self.minLod = minLod;
18907 self
18908 }
18909
18910 pub fn maxLod(mut self, maxLod : f32) -> Self {
18911 self.maxLod = maxLod;
18912 self
18913 }
18914
18915 pub fn borderColor(mut self, borderColor : BorderColor) -> Self {
18916 self.borderColor = borderColor;
18917 self
18918 }
18919
18920 pub fn unnormalizedCoordinates(mut self, unnormalizedCoordinates : Bool32) -> Self {
18921 self.unnormalizedCoordinates = unnormalizedCoordinates;
18922 self
18923 }
18924
18925}
18926
18927impl DescriptorSetLayoutBinding {
18928
18929 pub fn new() -> Self {
18930 Self::default()
18931 }
18932
18933 pub fn binding(mut self, binding : u32) -> Self {
18934 self.binding = binding;
18935 self
18936 }
18937
18938 pub fn descriptorType(mut self, descriptorType : DescriptorType) -> Self {
18939 self.descriptorType = descriptorType;
18940 self
18941 }
18942
18943 pub fn descriptorCount(mut self, descriptorCount : u32) -> Self {
18944 self.descriptorCount = descriptorCount;
18945 self
18946 }
18947
18948 pub fn stageFlags(mut self, stageFlags : ShaderStageFlags) -> Self {
18949 self.stageFlags = stageFlags;
18950 self
18951 }
18952
18953 pub fn pImmutableSamplers(mut self, pImmutableSamplers : *const Sampler) -> Self {
18954 self.pImmutableSamplers = pImmutableSamplers;
18955 self
18956 }
18957
18958}
18959
18960impl DescriptorSetLayoutCreateInfo {
18961
18962 pub fn new() -> Self {
18963 Self::default()
18964 }
18965
18966 pub fn sType(mut self, sType : StructureType) -> Self {
18967 self.sType = sType;
18968 self
18969 }
18970
18971 pub fn pNext(mut self, pNext : *const void) -> Self {
18972 self.pNext = pNext;
18973 self
18974 }
18975
18976 pub fn flags(mut self, flags : DescriptorSetLayoutCreateFlags) -> Self {
18977 self.flags = flags;
18978 self
18979 }
18980
18981 pub fn bindingCount(mut self, bindingCount : u32) -> Self {
18982 self.bindingCount = bindingCount;
18983 self
18984 }
18985
18986 pub fn pBindings(mut self, pBindings : *const DescriptorSetLayoutBinding) -> Self {
18987 self.pBindings = pBindings;
18988 self
18989 }
18990
18991}
18992
18993impl DescriptorPoolSize {
18994
18995 pub fn new() -> Self {
18996 Self::default()
18997 }
18998
18999 pub fn r#type(mut self, r#type : DescriptorType) -> Self {
19000 self.r#type = r#type;
19001 self
19002 }
19003
19004 pub fn descriptorCount(mut self, descriptorCount : u32) -> Self {
19005 self.descriptorCount = descriptorCount;
19006 self
19007 }
19008
19009}
19010
19011impl DescriptorPoolCreateInfo {
19012
19013 pub fn new() -> Self {
19014 Self::default()
19015 }
19016
19017 pub fn sType(mut self, sType : StructureType) -> Self {
19018 self.sType = sType;
19019 self
19020 }
19021
19022 pub fn pNext(mut self, pNext : *const void) -> Self {
19023 self.pNext = pNext;
19024 self
19025 }
19026
19027 pub fn flags(mut self, flags : DescriptorPoolCreateFlags) -> Self {
19028 self.flags = flags;
19029 self
19030 }
19031
19032 pub fn maxSets(mut self, maxSets : u32) -> Self {
19033 self.maxSets = maxSets;
19034 self
19035 }
19036
19037 pub fn poolSizeCount(mut self, poolSizeCount : u32) -> Self {
19038 self.poolSizeCount = poolSizeCount;
19039 self
19040 }
19041
19042 pub fn pPoolSizes(mut self, pPoolSizes : *const DescriptorPoolSize) -> Self {
19043 self.pPoolSizes = pPoolSizes;
19044 self
19045 }
19046
19047}
19048
19049impl DescriptorSetAllocateInfo {
19050
19051 pub fn new() -> Self {
19052 Self::default()
19053 }
19054
19055 pub fn sType(mut self, sType : StructureType) -> Self {
19056 self.sType = sType;
19057 self
19058 }
19059
19060 pub fn pNext(mut self, pNext : *const void) -> Self {
19061 self.pNext = pNext;
19062 self
19063 }
19064
19065 pub fn descriptorPool(mut self, descriptorPool : DescriptorPool) -> Self {
19066 self.descriptorPool = descriptorPool;
19067 self
19068 }
19069
19070 pub fn descriptorSetCount(mut self, descriptorSetCount : u32) -> Self {
19071 self.descriptorSetCount = descriptorSetCount;
19072 self
19073 }
19074
19075 pub fn pSetLayouts(mut self, pSetLayouts : *const DescriptorSetLayout) -> Self {
19076 self.pSetLayouts = pSetLayouts;
19077 self
19078 }
19079
19080}
19081
19082impl DescriptorImageInfo {
19083
19084 pub fn new() -> Self {
19085 Self::default()
19086 }
19087
19088 pub fn sampler(mut self, sampler : Sampler) -> Self {
19089 self.sampler = sampler;
19090 self
19091 }
19092
19093 pub fn imageView(mut self, imageView : ImageView) -> Self {
19094 self.imageView = imageView;
19095 self
19096 }
19097
19098 pub fn imageLayout(mut self, imageLayout : ImageLayout) -> Self {
19099 self.imageLayout = imageLayout;
19100 self
19101 }
19102
19103}
19104
19105impl DescriptorBufferInfo {
19106
19107 pub fn new() -> Self {
19108 Self::default()
19109 }
19110
19111 pub fn buffer(mut self, buffer : Buffer) -> Self {
19112 self.buffer = buffer;
19113 self
19114 }
19115
19116 pub fn offset(mut self, offset : DeviceSize) -> Self {
19117 self.offset = offset;
19118 self
19119 }
19120
19121 pub fn range(mut self, range : DeviceSize) -> Self {
19122 self.range = range;
19123 self
19124 }
19125
19126}
19127
19128impl WriteDescriptorSet {
19129
19130 pub fn new() -> Self {
19131 Self::default()
19132 }
19133
19134 pub fn sType(mut self, sType : StructureType) -> Self {
19135 self.sType = sType;
19136 self
19137 }
19138
19139 pub fn pNext(mut self, pNext : *const void) -> Self {
19140 self.pNext = pNext;
19141 self
19142 }
19143
19144 pub fn dstSet(mut self, dstSet : DescriptorSet) -> Self {
19145 self.dstSet = dstSet;
19146 self
19147 }
19148
19149 pub fn dstBinding(mut self, dstBinding : u32) -> Self {
19150 self.dstBinding = dstBinding;
19151 self
19152 }
19153
19154 pub fn dstArrayElement(mut self, dstArrayElement : u32) -> Self {
19155 self.dstArrayElement = dstArrayElement;
19156 self
19157 }
19158
19159 pub fn descriptorCount(mut self, descriptorCount : u32) -> Self {
19160 self.descriptorCount = descriptorCount;
19161 self
19162 }
19163
19164 pub fn descriptorType(mut self, descriptorType : DescriptorType) -> Self {
19165 self.descriptorType = descriptorType;
19166 self
19167 }
19168
19169 pub fn pImageInfo(mut self, pImageInfo : *const DescriptorImageInfo) -> Self {
19170 self.pImageInfo = pImageInfo;
19171 self
19172 }
19173
19174 pub fn pBufferInfo(mut self, pBufferInfo : *const DescriptorBufferInfo) -> Self {
19175 self.pBufferInfo = pBufferInfo;
19176 self
19177 }
19178
19179 pub fn pTexelBufferView(mut self, pTexelBufferView : *const BufferView) -> Self {
19180 self.pTexelBufferView = pTexelBufferView;
19181 self
19182 }
19183
19184}
19185
19186impl CopyDescriptorSet {
19187
19188 pub fn new() -> Self {
19189 Self::default()
19190 }
19191
19192 pub fn sType(mut self, sType : StructureType) -> Self {
19193 self.sType = sType;
19194 self
19195 }
19196
19197 pub fn pNext(mut self, pNext : *const void) -> Self {
19198 self.pNext = pNext;
19199 self
19200 }
19201
19202 pub fn srcSet(mut self, srcSet : DescriptorSet) -> Self {
19203 self.srcSet = srcSet;
19204 self
19205 }
19206
19207 pub fn srcBinding(mut self, srcBinding : u32) -> Self {
19208 self.srcBinding = srcBinding;
19209 self
19210 }
19211
19212 pub fn srcArrayElement(mut self, srcArrayElement : u32) -> Self {
19213 self.srcArrayElement = srcArrayElement;
19214 self
19215 }
19216
19217 pub fn dstSet(mut self, dstSet : DescriptorSet) -> Self {
19218 self.dstSet = dstSet;
19219 self
19220 }
19221
19222 pub fn dstBinding(mut self, dstBinding : u32) -> Self {
19223 self.dstBinding = dstBinding;
19224 self
19225 }
19226
19227 pub fn dstArrayElement(mut self, dstArrayElement : u32) -> Self {
19228 self.dstArrayElement = dstArrayElement;
19229 self
19230 }
19231
19232 pub fn descriptorCount(mut self, descriptorCount : u32) -> Self {
19233 self.descriptorCount = descriptorCount;
19234 self
19235 }
19236
19237}
19238
19239impl FramebufferCreateInfo {
19240
19241 pub fn new() -> Self {
19242 Self::default()
19243 }
19244
19245 pub fn sType(mut self, sType : StructureType) -> Self {
19246 self.sType = sType;
19247 self
19248 }
19249
19250 pub fn pNext(mut self, pNext : *const void) -> Self {
19251 self.pNext = pNext;
19252 self
19253 }
19254
19255 pub fn flags(mut self, flags : FramebufferCreateFlags) -> Self {
19256 self.flags = flags;
19257 self
19258 }
19259
19260 pub fn renderPass(mut self, renderPass : RenderPass) -> Self {
19261 self.renderPass = renderPass;
19262 self
19263 }
19264
19265 pub fn attachmentCount(mut self, attachmentCount : u32) -> Self {
19266 self.attachmentCount = attachmentCount;
19267 self
19268 }
19269
19270 pub fn pAttachments(mut self, pAttachments : *const ImageView) -> Self {
19271 self.pAttachments = pAttachments;
19272 self
19273 }
19274
19275 pub fn width(mut self, width : u32) -> Self {
19276 self.width = width;
19277 self
19278 }
19279
19280 pub fn height(mut self, height : u32) -> Self {
19281 self.height = height;
19282 self
19283 }
19284
19285 pub fn layers(mut self, layers : u32) -> Self {
19286 self.layers = layers;
19287 self
19288 }
19289
19290}
19291
19292impl AttachmentDescription {
19293
19294 pub fn new() -> Self {
19295 Self::default()
19296 }
19297
19298 pub fn flags(mut self, flags : AttachmentDescriptionFlags) -> Self {
19299 self.flags = flags;
19300 self
19301 }
19302
19303 pub fn format(mut self, format : Format) -> Self {
19304 self.format = format;
19305 self
19306 }
19307
19308 pub fn samples(mut self, samples : SampleCountFlagBits) -> Self {
19309 self.samples = samples;
19310 self
19311 }
19312
19313 pub fn loadOp(mut self, loadOp : AttachmentLoadOp) -> Self {
19314 self.loadOp = loadOp;
19315 self
19316 }
19317
19318 pub fn storeOp(mut self, storeOp : AttachmentStoreOp) -> Self {
19319 self.storeOp = storeOp;
19320 self
19321 }
19322
19323 pub fn stencilLoadOp(mut self, stencilLoadOp : AttachmentLoadOp) -> Self {
19324 self.stencilLoadOp = stencilLoadOp;
19325 self
19326 }
19327
19328 pub fn stencilStoreOp(mut self, stencilStoreOp : AttachmentStoreOp) -> Self {
19329 self.stencilStoreOp = stencilStoreOp;
19330 self
19331 }
19332
19333 pub fn initialLayout(mut self, initialLayout : ImageLayout) -> Self {
19334 self.initialLayout = initialLayout;
19335 self
19336 }
19337
19338 pub fn finalLayout(mut self, finalLayout : ImageLayout) -> Self {
19339 self.finalLayout = finalLayout;
19340 self
19341 }
19342
19343}
19344
19345impl AttachmentReference {
19346
19347 pub fn new() -> Self {
19348 Self::default()
19349 }
19350
19351 pub fn attachment(mut self, attachment : u32) -> Self {
19352 self.attachment = attachment;
19353 self
19354 }
19355
19356 pub fn layout(mut self, layout : ImageLayout) -> Self {
19357 self.layout = layout;
19358 self
19359 }
19360
19361}
19362
19363impl SubpassDescription {
19364
19365 pub fn new() -> Self {
19366 Self::default()
19367 }
19368
19369 pub fn flags(mut self, flags : SubpassDescriptionFlags) -> Self {
19370 self.flags = flags;
19371 self
19372 }
19373
19374 pub fn pipelineBindPoint(mut self, pipelineBindPoint : PipelineBindPoint) -> Self {
19375 self.pipelineBindPoint = pipelineBindPoint;
19376 self
19377 }
19378
19379 pub fn inputAttachmentCount(mut self, inputAttachmentCount : u32) -> Self {
19380 self.inputAttachmentCount = inputAttachmentCount;
19381 self
19382 }
19383
19384 pub fn pInputAttachments(mut self, pInputAttachments : *const AttachmentReference) -> Self {
19385 self.pInputAttachments = pInputAttachments;
19386 self
19387 }
19388
19389 pub fn colorAttachmentCount(mut self, colorAttachmentCount : u32) -> Self {
19390 self.colorAttachmentCount = colorAttachmentCount;
19391 self
19392 }
19393
19394 pub fn pColorAttachments(mut self, pColorAttachments : *const AttachmentReference) -> Self {
19395 self.pColorAttachments = pColorAttachments;
19396 self
19397 }
19398
19399 pub fn pResolveAttachments(mut self, pResolveAttachments : *const AttachmentReference) -> Self {
19400 self.pResolveAttachments = pResolveAttachments;
19401 self
19402 }
19403
19404 pub fn pDepthStencilAttachment(mut self, pDepthStencilAttachment : *const AttachmentReference) -> Self {
19405 self.pDepthStencilAttachment = pDepthStencilAttachment;
19406 self
19407 }
19408
19409 pub fn preserveAttachmentCount(mut self, preserveAttachmentCount : u32) -> Self {
19410 self.preserveAttachmentCount = preserveAttachmentCount;
19411 self
19412 }
19413
19414 pub fn pPreserveAttachments(mut self, pPreserveAttachments : *const u32) -> Self {
19415 self.pPreserveAttachments = pPreserveAttachments;
19416 self
19417 }
19418
19419}
19420
19421impl SubpassDependency {
19422
19423 pub fn new() -> Self {
19424 Self::default()
19425 }
19426
19427 pub fn srcSubpass(mut self, srcSubpass : u32) -> Self {
19428 self.srcSubpass = srcSubpass;
19429 self
19430 }
19431
19432 pub fn dstSubpass(mut self, dstSubpass : u32) -> Self {
19433 self.dstSubpass = dstSubpass;
19434 self
19435 }
19436
19437 pub fn srcStageMask(mut self, srcStageMask : PipelineStageFlags) -> Self {
19438 self.srcStageMask = srcStageMask;
19439 self
19440 }
19441
19442 pub fn dstStageMask(mut self, dstStageMask : PipelineStageFlags) -> Self {
19443 self.dstStageMask = dstStageMask;
19444 self
19445 }
19446
19447 pub fn srcAccessMask(mut self, srcAccessMask : AccessFlags) -> Self {
19448 self.srcAccessMask = srcAccessMask;
19449 self
19450 }
19451
19452 pub fn dstAccessMask(mut self, dstAccessMask : AccessFlags) -> Self {
19453 self.dstAccessMask = dstAccessMask;
19454 self
19455 }
19456
19457 pub fn dependencyFlags(mut self, dependencyFlags : DependencyFlags) -> Self {
19458 self.dependencyFlags = dependencyFlags;
19459 self
19460 }
19461
19462}
19463
19464impl RenderPassCreateInfo {
19465
19466 pub fn new() -> Self {
19467 Self::default()
19468 }
19469
19470 pub fn sType(mut self, sType : StructureType) -> Self {
19471 self.sType = sType;
19472 self
19473 }
19474
19475 pub fn pNext(mut self, pNext : *const void) -> Self {
19476 self.pNext = pNext;
19477 self
19478 }
19479
19480 pub fn flags(mut self, flags : RenderPassCreateFlags) -> Self {
19481 self.flags = flags;
19482 self
19483 }
19484
19485 pub fn attachmentCount(mut self, attachmentCount : u32) -> Self {
19486 self.attachmentCount = attachmentCount;
19487 self
19488 }
19489
19490 pub fn pAttachments(mut self, pAttachments : *const AttachmentDescription) -> Self {
19491 self.pAttachments = pAttachments;
19492 self
19493 }
19494
19495 pub fn subpassCount(mut self, subpassCount : u32) -> Self {
19496 self.subpassCount = subpassCount;
19497 self
19498 }
19499
19500 pub fn pSubpasses(mut self, pSubpasses : *const SubpassDescription) -> Self {
19501 self.pSubpasses = pSubpasses;
19502 self
19503 }
19504
19505 pub fn dependencyCount(mut self, dependencyCount : u32) -> Self {
19506 self.dependencyCount = dependencyCount;
19507 self
19508 }
19509
19510 pub fn pDependencies(mut self, pDependencies : *const SubpassDependency) -> Self {
19511 self.pDependencies = pDependencies;
19512 self
19513 }
19514
19515}
19516
19517impl CommandPoolCreateInfo {
19518
19519 pub fn new() -> Self {
19520 Self::default()
19521 }
19522
19523 pub fn sType(mut self, sType : StructureType) -> Self {
19524 self.sType = sType;
19525 self
19526 }
19527
19528 pub fn pNext(mut self, pNext : *const void) -> Self {
19529 self.pNext = pNext;
19530 self
19531 }
19532
19533 pub fn flags(mut self, flags : CommandPoolCreateFlags) -> Self {
19534 self.flags = flags;
19535 self
19536 }
19537
19538 pub fn queueFamilyIndex(mut self, queueFamilyIndex : u32) -> Self {
19539 self.queueFamilyIndex = queueFamilyIndex;
19540 self
19541 }
19542
19543}
19544
19545impl CommandBufferAllocateInfo {
19546
19547 pub fn new() -> Self {
19548 Self::default()
19549 }
19550
19551 pub fn sType(mut self, sType : StructureType) -> Self {
19552 self.sType = sType;
19553 self
19554 }
19555
19556 pub fn pNext(mut self, pNext : *const void) -> Self {
19557 self.pNext = pNext;
19558 self
19559 }
19560
19561 pub fn commandPool(mut self, commandPool : CommandPool) -> Self {
19562 self.commandPool = commandPool;
19563 self
19564 }
19565
19566 pub fn level(mut self, level : CommandBufferLevel) -> Self {
19567 self.level = level;
19568 self
19569 }
19570
19571 pub fn commandBufferCount(mut self, commandBufferCount : u32) -> Self {
19572 self.commandBufferCount = commandBufferCount;
19573 self
19574 }
19575
19576}
19577
19578impl CommandBufferInheritanceInfo {
19579
19580 pub fn new() -> Self {
19581 Self::default()
19582 }
19583
19584 pub fn sType(mut self, sType : StructureType) -> Self {
19585 self.sType = sType;
19586 self
19587 }
19588
19589 pub fn pNext(mut self, pNext : *const void) -> Self {
19590 self.pNext = pNext;
19591 self
19592 }
19593
19594 pub fn renderPass(mut self, renderPass : RenderPass) -> Self {
19595 self.renderPass = renderPass;
19596 self
19597 }
19598
19599 pub fn subpass(mut self, subpass : u32) -> Self {
19600 self.subpass = subpass;
19601 self
19602 }
19603
19604 pub fn framebuffer(mut self, framebuffer : Framebuffer) -> Self {
19605 self.framebuffer = framebuffer;
19606 self
19607 }
19608
19609 pub fn occlusionQueryEnable(mut self, occlusionQueryEnable : Bool32) -> Self {
19610 self.occlusionQueryEnable = occlusionQueryEnable;
19611 self
19612 }
19613
19614 pub fn queryFlags(mut self, queryFlags : QueryControlFlags) -> Self {
19615 self.queryFlags = queryFlags;
19616 self
19617 }
19618
19619 pub fn pipelineStatistics(mut self, pipelineStatistics : QueryPipelineStatisticFlags) -> Self {
19620 self.pipelineStatistics = pipelineStatistics;
19621 self
19622 }
19623
19624}
19625
19626impl CommandBufferBeginInfo {
19627
19628 pub fn new() -> Self {
19629 Self::default()
19630 }
19631
19632 pub fn sType(mut self, sType : StructureType) -> Self {
19633 self.sType = sType;
19634 self
19635 }
19636
19637 pub fn pNext(mut self, pNext : *const void) -> Self {
19638 self.pNext = pNext;
19639 self
19640 }
19641
19642 pub fn flags(mut self, flags : CommandBufferUsageFlags) -> Self {
19643 self.flags = flags;
19644 self
19645 }
19646
19647 pub fn pInheritanceInfo(mut self, pInheritanceInfo : *const CommandBufferInheritanceInfo) -> Self {
19648 self.pInheritanceInfo = pInheritanceInfo;
19649 self
19650 }
19651
19652}
19653
19654impl BufferCopy {
19655
19656 pub fn new() -> Self {
19657 Self::default()
19658 }
19659
19660 pub fn srcOffset(mut self, srcOffset : DeviceSize) -> Self {
19661 self.srcOffset = srcOffset;
19662 self
19663 }
19664
19665 pub fn dstOffset(mut self, dstOffset : DeviceSize) -> Self {
19666 self.dstOffset = dstOffset;
19667 self
19668 }
19669
19670 pub fn size(mut self, size : DeviceSize) -> Self {
19671 self.size = size;
19672 self
19673 }
19674
19675}
19676
19677impl ImageSubresourceLayers {
19678
19679 pub fn new() -> Self {
19680 Self::default()
19681 }
19682
19683 pub fn aspectMask(mut self, aspectMask : ImageAspectFlags) -> Self {
19684 self.aspectMask = aspectMask;
19685 self
19686 }
19687
19688 pub fn mipLevel(mut self, mipLevel : u32) -> Self {
19689 self.mipLevel = mipLevel;
19690 self
19691 }
19692
19693 pub fn baseArrayLayer(mut self, baseArrayLayer : u32) -> Self {
19694 self.baseArrayLayer = baseArrayLayer;
19695 self
19696 }
19697
19698 pub fn layerCount(mut self, layerCount : u32) -> Self {
19699 self.layerCount = layerCount;
19700 self
19701 }
19702
19703}
19704
19705impl ImageCopy {
19706
19707 pub fn new() -> Self {
19708 Self::default()
19709 }
19710
19711 pub fn srcSubresource(mut self, srcSubresource : ImageSubresourceLayers) -> Self {
19712 self.srcSubresource = srcSubresource;
19713 self
19714 }
19715
19716 pub fn srcOffset(mut self, srcOffset : Offset3D) -> Self {
19717 self.srcOffset = srcOffset;
19718 self
19719 }
19720
19721 pub fn dstSubresource(mut self, dstSubresource : ImageSubresourceLayers) -> Self {
19722 self.dstSubresource = dstSubresource;
19723 self
19724 }
19725
19726 pub fn dstOffset(mut self, dstOffset : Offset3D) -> Self {
19727 self.dstOffset = dstOffset;
19728 self
19729 }
19730
19731 pub fn extent(mut self, extent : Extent3D) -> Self {
19732 self.extent = extent;
19733 self
19734 }
19735
19736}
19737
19738impl ImageBlit {
19739
19740 pub fn new() -> Self {
19741 Self::default()
19742 }
19743
19744 pub fn srcSubresource(mut self, srcSubresource : ImageSubresourceLayers) -> Self {
19745 self.srcSubresource = srcSubresource;
19746 self
19747 }
19748
19749 pub fn srcOffsets(mut self, srcOffsets : [Offset3D;2]) -> Self {
19750 self.srcOffsets = srcOffsets;
19751 self
19752 }
19753
19754 pub fn dstSubresource(mut self, dstSubresource : ImageSubresourceLayers) -> Self {
19755 self.dstSubresource = dstSubresource;
19756 self
19757 }
19758
19759 pub fn dstOffsets(mut self, dstOffsets : [Offset3D;2]) -> Self {
19760 self.dstOffsets = dstOffsets;
19761 self
19762 }
19763
19764}
19765
19766impl BufferImageCopy {
19767
19768 pub fn new() -> Self {
19769 Self::default()
19770 }
19771
19772 pub fn bufferOffset(mut self, bufferOffset : DeviceSize) -> Self {
19773 self.bufferOffset = bufferOffset;
19774 self
19775 }
19776
19777 pub fn bufferRowLength(mut self, bufferRowLength : u32) -> Self {
19778 self.bufferRowLength = bufferRowLength;
19779 self
19780 }
19781
19782 pub fn bufferImageHeight(mut self, bufferImageHeight : u32) -> Self {
19783 self.bufferImageHeight = bufferImageHeight;
19784 self
19785 }
19786
19787 pub fn imageSubresource(mut self, imageSubresource : ImageSubresourceLayers) -> Self {
19788 self.imageSubresource = imageSubresource;
19789 self
19790 }
19791
19792 pub fn imageOffset(mut self, imageOffset : Offset3D) -> Self {
19793 self.imageOffset = imageOffset;
19794 self
19795 }
19796
19797 pub fn imageExtent(mut self, imageExtent : Extent3D) -> Self {
19798 self.imageExtent = imageExtent;
19799 self
19800 }
19801
19802}
19803
19804impl ClearColorValue {
19805
19806 pub fn new() -> Self {
19807 Self::default()
19808 }
19809
19810 pub fn float32(mut self, float32 : [f32;4]) -> Self {
19811 self.float32 = float32;
19812 self
19813 }
19814
19815}
19816
19817impl ClearDepthStencilValue {
19818
19819 pub fn new() -> Self {
19820 Self::default()
19821 }
19822
19823 pub fn depth(mut self, depth : f32) -> Self {
19824 self.depth = depth;
19825 self
19826 }
19827
19828 pub fn stencil(mut self, stencil : u32) -> Self {
19829 self.stencil = stencil;
19830 self
19831 }
19832
19833}
19834
19835impl ClearValue {
19836
19837 pub fn new() -> Self {
19838 Self::default()
19839 }
19840
19841 pub fn color(mut self, color : [f32;4]) -> Self {
19842 self.color = color;
19843 self
19844 }
19845
19846}
19847
19848impl ClearAttachment {
19849
19850 pub fn new() -> Self {
19851 Self::default()
19852 }
19853
19854 pub fn aspectMask(mut self, aspectMask : ImageAspectFlags) -> Self {
19855 self.aspectMask = aspectMask;
19856 self
19857 }
19858
19859 pub fn colorAttachment(mut self, colorAttachment : u32) -> Self {
19860 self.colorAttachment = colorAttachment;
19861 self
19862 }
19863
19864 pub fn clearValue(mut self, clearValue : ClearValue) -> Self {
19865 self.clearValue = clearValue;
19866 self
19867 }
19868
19869}
19870
19871impl ClearRect {
19872
19873 pub fn new() -> Self {
19874 Self::default()
19875 }
19876
19877 pub fn rect(mut self, rect : Rect2D) -> Self {
19878 self.rect = rect;
19879 self
19880 }
19881
19882 pub fn baseArrayLayer(mut self, baseArrayLayer : u32) -> Self {
19883 self.baseArrayLayer = baseArrayLayer;
19884 self
19885 }
19886
19887 pub fn layerCount(mut self, layerCount : u32) -> Self {
19888 self.layerCount = layerCount;
19889 self
19890 }
19891
19892}
19893
19894impl ImageResolve {
19895
19896 pub fn new() -> Self {
19897 Self::default()
19898 }
19899
19900 pub fn srcSubresource(mut self, srcSubresource : ImageSubresourceLayers) -> Self {
19901 self.srcSubresource = srcSubresource;
19902 self
19903 }
19904
19905 pub fn srcOffset(mut self, srcOffset : Offset3D) -> Self {
19906 self.srcOffset = srcOffset;
19907 self
19908 }
19909
19910 pub fn dstSubresource(mut self, dstSubresource : ImageSubresourceLayers) -> Self {
19911 self.dstSubresource = dstSubresource;
19912 self
19913 }
19914
19915 pub fn dstOffset(mut self, dstOffset : Offset3D) -> Self {
19916 self.dstOffset = dstOffset;
19917 self
19918 }
19919
19920 pub fn extent(mut self, extent : Extent3D) -> Self {
19921 self.extent = extent;
19922 self
19923 }
19924
19925}
19926
19927impl MemoryBarrier {
19928
19929 pub fn new() -> Self {
19930 Self::default()
19931 }
19932
19933 pub fn sType(mut self, sType : StructureType) -> Self {
19934 self.sType = sType;
19935 self
19936 }
19937
19938 pub fn pNext(mut self, pNext : *const void) -> Self {
19939 self.pNext = pNext;
19940 self
19941 }
19942
19943 pub fn srcAccessMask(mut self, srcAccessMask : AccessFlags) -> Self {
19944 self.srcAccessMask = srcAccessMask;
19945 self
19946 }
19947
19948 pub fn dstAccessMask(mut self, dstAccessMask : AccessFlags) -> Self {
19949 self.dstAccessMask = dstAccessMask;
19950 self
19951 }
19952
19953}
19954
19955impl BufferMemoryBarrier {
19956
19957 pub fn new() -> Self {
19958 Self::default()
19959 }
19960
19961 pub fn sType(mut self, sType : StructureType) -> Self {
19962 self.sType = sType;
19963 self
19964 }
19965
19966 pub fn pNext(mut self, pNext : *const void) -> Self {
19967 self.pNext = pNext;
19968 self
19969 }
19970
19971 pub fn srcAccessMask(mut self, srcAccessMask : AccessFlags) -> Self {
19972 self.srcAccessMask = srcAccessMask;
19973 self
19974 }
19975
19976 pub fn dstAccessMask(mut self, dstAccessMask : AccessFlags) -> Self {
19977 self.dstAccessMask = dstAccessMask;
19978 self
19979 }
19980
19981 pub fn srcQueueFamilyIndex(mut self, srcQueueFamilyIndex : u32) -> Self {
19982 self.srcQueueFamilyIndex = srcQueueFamilyIndex;
19983 self
19984 }
19985
19986 pub fn dstQueueFamilyIndex(mut self, dstQueueFamilyIndex : u32) -> Self {
19987 self.dstQueueFamilyIndex = dstQueueFamilyIndex;
19988 self
19989 }
19990
19991 pub fn buffer(mut self, buffer : Buffer) -> Self {
19992 self.buffer = buffer;
19993 self
19994 }
19995
19996 pub fn offset(mut self, offset : DeviceSize) -> Self {
19997 self.offset = offset;
19998 self
19999 }
20000
20001 pub fn size(mut self, size : DeviceSize) -> Self {
20002 self.size = size;
20003 self
20004 }
20005
20006}
20007
20008impl ImageMemoryBarrier {
20009
20010 pub fn new() -> Self {
20011 Self::default()
20012 }
20013
20014 pub fn sType(mut self, sType : StructureType) -> Self {
20015 self.sType = sType;
20016 self
20017 }
20018
20019 pub fn pNext(mut self, pNext : *const void) -> Self {
20020 self.pNext = pNext;
20021 self
20022 }
20023
20024 pub fn srcAccessMask(mut self, srcAccessMask : AccessFlags) -> Self {
20025 self.srcAccessMask = srcAccessMask;
20026 self
20027 }
20028
20029 pub fn dstAccessMask(mut self, dstAccessMask : AccessFlags) -> Self {
20030 self.dstAccessMask = dstAccessMask;
20031 self
20032 }
20033
20034 pub fn oldLayout(mut self, oldLayout : ImageLayout) -> Self {
20035 self.oldLayout = oldLayout;
20036 self
20037 }
20038
20039 pub fn newLayout(mut self, newLayout : ImageLayout) -> Self {
20040 self.newLayout = newLayout;
20041 self
20042 }
20043
20044 pub fn srcQueueFamilyIndex(mut self, srcQueueFamilyIndex : u32) -> Self {
20045 self.srcQueueFamilyIndex = srcQueueFamilyIndex;
20046 self
20047 }
20048
20049 pub fn dstQueueFamilyIndex(mut self, dstQueueFamilyIndex : u32) -> Self {
20050 self.dstQueueFamilyIndex = dstQueueFamilyIndex;
20051 self
20052 }
20053
20054 pub fn image(mut self, image : Image) -> Self {
20055 self.image = image;
20056 self
20057 }
20058
20059 pub fn subresourceRange(mut self, subresourceRange : ImageSubresourceRange) -> Self {
20060 self.subresourceRange = subresourceRange;
20061 self
20062 }
20063
20064}
20065
20066impl RenderPassBeginInfo {
20067
20068 pub fn new() -> Self {
20069 Self::default()
20070 }
20071
20072 pub fn sType(mut self, sType : StructureType) -> Self {
20073 self.sType = sType;
20074 self
20075 }
20076
20077 pub fn pNext(mut self, pNext : *const void) -> Self {
20078 self.pNext = pNext;
20079 self
20080 }
20081
20082 pub fn renderPass(mut self, renderPass : RenderPass) -> Self {
20083 self.renderPass = renderPass;
20084 self
20085 }
20086
20087 pub fn framebuffer(mut self, framebuffer : Framebuffer) -> Self {
20088 self.framebuffer = framebuffer;
20089 self
20090 }
20091
20092 pub fn renderArea(mut self, renderArea : Rect2D) -> Self {
20093 self.renderArea = renderArea;
20094 self
20095 }
20096
20097 pub fn clearValueCount(mut self, clearValueCount : u32) -> Self {
20098 self.clearValueCount = clearValueCount;
20099 self
20100 }
20101
20102 pub fn pClearValues(mut self, pClearValues : *const ClearValue) -> Self {
20103 self.pClearValues = pClearValues;
20104 self
20105 }
20106
20107}
20108
20109impl DispatchIndirectCommand {
20110
20111 pub fn new() -> Self {
20112 Self::default()
20113 }
20114
20115 pub fn x(mut self, x : u32) -> Self {
20116 self.x = x;
20117 self
20118 }
20119
20120 pub fn y(mut self, y : u32) -> Self {
20121 self.y = y;
20122 self
20123 }
20124
20125 pub fn z(mut self, z : u32) -> Self {
20126 self.z = z;
20127 self
20128 }
20129
20130}
20131
20132impl DrawIndexedIndirectCommand {
20133
20134 pub fn new() -> Self {
20135 Self::default()
20136 }
20137
20138 pub fn indexCount(mut self, indexCount : u32) -> Self {
20139 self.indexCount = indexCount;
20140 self
20141 }
20142
20143 pub fn instanceCount(mut self, instanceCount : u32) -> Self {
20144 self.instanceCount = instanceCount;
20145 self
20146 }
20147
20148 pub fn firstIndex(mut self, firstIndex : u32) -> Self {
20149 self.firstIndex = firstIndex;
20150 self
20151 }
20152
20153 pub fn vertexOffset(mut self, vertexOffset : i32) -> Self {
20154 self.vertexOffset = vertexOffset;
20155 self
20156 }
20157
20158 pub fn firstInstance(mut self, firstInstance : u32) -> Self {
20159 self.firstInstance = firstInstance;
20160 self
20161 }
20162
20163}
20164
20165impl DrawIndirectCommand {
20166
20167 pub fn new() -> Self {
20168 Self::default()
20169 }
20170
20171 pub fn vertexCount(mut self, vertexCount : u32) -> Self {
20172 self.vertexCount = vertexCount;
20173 self
20174 }
20175
20176 pub fn instanceCount(mut self, instanceCount : u32) -> Self {
20177 self.instanceCount = instanceCount;
20178 self
20179 }
20180
20181 pub fn firstVertex(mut self, firstVertex : u32) -> Self {
20182 self.firstVertex = firstVertex;
20183 self
20184 }
20185
20186 pub fn firstInstance(mut self, firstInstance : u32) -> Self {
20187 self.firstInstance = firstInstance;
20188 self
20189 }
20190
20191}
20192
20193impl PhysicalDeviceSubgroupProperties {
20194
20195 pub fn new() -> Self {
20196 Self::default()
20197 }
20198
20199 pub fn sType(mut self, sType : StructureType) -> Self {
20200 self.sType = sType;
20201 self
20202 }
20203
20204 pub fn pNext(mut self, pNext : *mut void) -> Self {
20205 self.pNext = pNext;
20206 self
20207 }
20208
20209 pub fn subgroupSize(mut self, subgroupSize : u32) -> Self {
20210 self.subgroupSize = subgroupSize;
20211 self
20212 }
20213
20214 pub fn supportedStages(mut self, supportedStages : ShaderStageFlags) -> Self {
20215 self.supportedStages = supportedStages;
20216 self
20217 }
20218
20219 pub fn supportedOperations(mut self, supportedOperations : SubgroupFeatureFlags) -> Self {
20220 self.supportedOperations = supportedOperations;
20221 self
20222 }
20223
20224 pub fn quadOperationsInAllStages(mut self, quadOperationsInAllStages : Bool32) -> Self {
20225 self.quadOperationsInAllStages = quadOperationsInAllStages;
20226 self
20227 }
20228
20229}
20230
20231impl BindBufferMemoryInfo {
20232
20233 pub fn new() -> Self {
20234 Self::default()
20235 }
20236
20237 pub fn sType(mut self, sType : StructureType) -> Self {
20238 self.sType = sType;
20239 self
20240 }
20241
20242 pub fn pNext(mut self, pNext : *const void) -> Self {
20243 self.pNext = pNext;
20244 self
20245 }
20246
20247 pub fn buffer(mut self, buffer : Buffer) -> Self {
20248 self.buffer = buffer;
20249 self
20250 }
20251
20252 pub fn memory(mut self, memory : DeviceMemory) -> Self {
20253 self.memory = memory;
20254 self
20255 }
20256
20257 pub fn memoryOffset(mut self, memoryOffset : DeviceSize) -> Self {
20258 self.memoryOffset = memoryOffset;
20259 self
20260 }
20261
20262}
20263
20264impl BindImageMemoryInfo {
20265
20266 pub fn new() -> Self {
20267 Self::default()
20268 }
20269
20270 pub fn sType(mut self, sType : StructureType) -> Self {
20271 self.sType = sType;
20272 self
20273 }
20274
20275 pub fn pNext(mut self, pNext : *const void) -> Self {
20276 self.pNext = pNext;
20277 self
20278 }
20279
20280 pub fn image(mut self, image : Image) -> Self {
20281 self.image = image;
20282 self
20283 }
20284
20285 pub fn memory(mut self, memory : DeviceMemory) -> Self {
20286 self.memory = memory;
20287 self
20288 }
20289
20290 pub fn memoryOffset(mut self, memoryOffset : DeviceSize) -> Self {
20291 self.memoryOffset = memoryOffset;
20292 self
20293 }
20294
20295}
20296
20297impl PhysicalDevice16BitStorageFeatures {
20298
20299 pub fn new() -> Self {
20300 Self::default()
20301 }
20302
20303 pub fn sType(mut self, sType : StructureType) -> Self {
20304 self.sType = sType;
20305 self
20306 }
20307
20308 pub fn pNext(mut self, pNext : *mut void) -> Self {
20309 self.pNext = pNext;
20310 self
20311 }
20312
20313 pub fn storageBuffer16BitAccess(mut self, storageBuffer16BitAccess : Bool32) -> Self {
20314 self.storageBuffer16BitAccess = storageBuffer16BitAccess;
20315 self
20316 }
20317
20318 pub fn uniformAndStorageBuffer16BitAccess(mut self, uniformAndStorageBuffer16BitAccess : Bool32) -> Self {
20319 self.uniformAndStorageBuffer16BitAccess = uniformAndStorageBuffer16BitAccess;
20320 self
20321 }
20322
20323 pub fn storagePushConstant16(mut self, storagePushConstant16 : Bool32) -> Self {
20324 self.storagePushConstant16 = storagePushConstant16;
20325 self
20326 }
20327
20328 pub fn storageInputOutput16(mut self, storageInputOutput16 : Bool32) -> Self {
20329 self.storageInputOutput16 = storageInputOutput16;
20330 self
20331 }
20332
20333}
20334
20335impl MemoryDedicatedRequirements {
20336
20337 pub fn new() -> Self {
20338 Self::default()
20339 }
20340
20341 pub fn sType(mut self, sType : StructureType) -> Self {
20342 self.sType = sType;
20343 self
20344 }
20345
20346 pub fn pNext(mut self, pNext : *mut void) -> Self {
20347 self.pNext = pNext;
20348 self
20349 }
20350
20351 pub fn prefersDedicatedAllocation(mut self, prefersDedicatedAllocation : Bool32) -> Self {
20352 self.prefersDedicatedAllocation = prefersDedicatedAllocation;
20353 self
20354 }
20355
20356 pub fn requiresDedicatedAllocation(mut self, requiresDedicatedAllocation : Bool32) -> Self {
20357 self.requiresDedicatedAllocation = requiresDedicatedAllocation;
20358 self
20359 }
20360
20361}
20362
20363impl MemoryDedicatedAllocateInfo {
20364
20365 pub fn new() -> Self {
20366 Self::default()
20367 }
20368
20369 pub fn sType(mut self, sType : StructureType) -> Self {
20370 self.sType = sType;
20371 self
20372 }
20373
20374 pub fn pNext(mut self, pNext : *const void) -> Self {
20375 self.pNext = pNext;
20376 self
20377 }
20378
20379 pub fn image(mut self, image : Image) -> Self {
20380 self.image = image;
20381 self
20382 }
20383
20384 pub fn buffer(mut self, buffer : Buffer) -> Self {
20385 self.buffer = buffer;
20386 self
20387 }
20388
20389}
20390
20391impl MemoryAllocateFlagsInfo {
20392
20393 pub fn new() -> Self {
20394 Self::default()
20395 }
20396
20397 pub fn sType(mut self, sType : StructureType) -> Self {
20398 self.sType = sType;
20399 self
20400 }
20401
20402 pub fn pNext(mut self, pNext : *const void) -> Self {
20403 self.pNext = pNext;
20404 self
20405 }
20406
20407 pub fn flags(mut self, flags : MemoryAllocateFlags) -> Self {
20408 self.flags = flags;
20409 self
20410 }
20411
20412 pub fn deviceMask(mut self, deviceMask : u32) -> Self {
20413 self.deviceMask = deviceMask;
20414 self
20415 }
20416
20417}
20418
20419impl DeviceGroupRenderPassBeginInfo {
20420
20421 pub fn new() -> Self {
20422 Self::default()
20423 }
20424
20425 pub fn sType(mut self, sType : StructureType) -> Self {
20426 self.sType = sType;
20427 self
20428 }
20429
20430 pub fn pNext(mut self, pNext : *const void) -> Self {
20431 self.pNext = pNext;
20432 self
20433 }
20434
20435 pub fn deviceMask(mut self, deviceMask : u32) -> Self {
20436 self.deviceMask = deviceMask;
20437 self
20438 }
20439
20440 pub fn deviceRenderAreaCount(mut self, deviceRenderAreaCount : u32) -> Self {
20441 self.deviceRenderAreaCount = deviceRenderAreaCount;
20442 self
20443 }
20444
20445 pub fn pDeviceRenderAreas(mut self, pDeviceRenderAreas : *const Rect2D) -> Self {
20446 self.pDeviceRenderAreas = pDeviceRenderAreas;
20447 self
20448 }
20449
20450}
20451
20452impl DeviceGroupCommandBufferBeginInfo {
20453
20454 pub fn new() -> Self {
20455 Self::default()
20456 }
20457
20458 pub fn sType(mut self, sType : StructureType) -> Self {
20459 self.sType = sType;
20460 self
20461 }
20462
20463 pub fn pNext(mut self, pNext : *const void) -> Self {
20464 self.pNext = pNext;
20465 self
20466 }
20467
20468 pub fn deviceMask(mut self, deviceMask : u32) -> Self {
20469 self.deviceMask = deviceMask;
20470 self
20471 }
20472
20473}
20474
20475impl DeviceGroupSubmitInfo {
20476
20477 pub fn new() -> Self {
20478 Self::default()
20479 }
20480
20481 pub fn sType(mut self, sType : StructureType) -> Self {
20482 self.sType = sType;
20483 self
20484 }
20485
20486 pub fn pNext(mut self, pNext : *const void) -> Self {
20487 self.pNext = pNext;
20488 self
20489 }
20490
20491 pub fn waitSemaphoreCount(mut self, waitSemaphoreCount : u32) -> Self {
20492 self.waitSemaphoreCount = waitSemaphoreCount;
20493 self
20494 }
20495
20496 pub fn pWaitSemaphoreDeviceIndices(mut self, pWaitSemaphoreDeviceIndices : *const u32) -> Self {
20497 self.pWaitSemaphoreDeviceIndices = pWaitSemaphoreDeviceIndices;
20498 self
20499 }
20500
20501 pub fn commandBufferCount(mut self, commandBufferCount : u32) -> Self {
20502 self.commandBufferCount = commandBufferCount;
20503 self
20504 }
20505
20506 pub fn pCommandBufferDeviceMasks(mut self, pCommandBufferDeviceMasks : *const u32) -> Self {
20507 self.pCommandBufferDeviceMasks = pCommandBufferDeviceMasks;
20508 self
20509 }
20510
20511 pub fn signalSemaphoreCount(mut self, signalSemaphoreCount : u32) -> Self {
20512 self.signalSemaphoreCount = signalSemaphoreCount;
20513 self
20514 }
20515
20516 pub fn pSignalSemaphoreDeviceIndices(mut self, pSignalSemaphoreDeviceIndices : *const u32) -> Self {
20517 self.pSignalSemaphoreDeviceIndices = pSignalSemaphoreDeviceIndices;
20518 self
20519 }
20520
20521}
20522
20523impl DeviceGroupBindSparseInfo {
20524
20525 pub fn new() -> Self {
20526 Self::default()
20527 }
20528
20529 pub fn sType(mut self, sType : StructureType) -> Self {
20530 self.sType = sType;
20531 self
20532 }
20533
20534 pub fn pNext(mut self, pNext : *const void) -> Self {
20535 self.pNext = pNext;
20536 self
20537 }
20538
20539 pub fn resourceDeviceIndex(mut self, resourceDeviceIndex : u32) -> Self {
20540 self.resourceDeviceIndex = resourceDeviceIndex;
20541 self
20542 }
20543
20544 pub fn memoryDeviceIndex(mut self, memoryDeviceIndex : u32) -> Self {
20545 self.memoryDeviceIndex = memoryDeviceIndex;
20546 self
20547 }
20548
20549}
20550
20551impl BindBufferMemoryDeviceGroupInfo {
20552
20553 pub fn new() -> Self {
20554 Self::default()
20555 }
20556
20557 pub fn sType(mut self, sType : StructureType) -> Self {
20558 self.sType = sType;
20559 self
20560 }
20561
20562 pub fn pNext(mut self, pNext : *const void) -> Self {
20563 self.pNext = pNext;
20564 self
20565 }
20566
20567 pub fn deviceIndexCount(mut self, deviceIndexCount : u32) -> Self {
20568 self.deviceIndexCount = deviceIndexCount;
20569 self
20570 }
20571
20572 pub fn pDeviceIndices(mut self, pDeviceIndices : *const u32) -> Self {
20573 self.pDeviceIndices = pDeviceIndices;
20574 self
20575 }
20576
20577}
20578
20579impl BindImageMemoryDeviceGroupInfo {
20580
20581 pub fn new() -> Self {
20582 Self::default()
20583 }
20584
20585 pub fn sType(mut self, sType : StructureType) -> Self {
20586 self.sType = sType;
20587 self
20588 }
20589
20590 pub fn pNext(mut self, pNext : *const void) -> Self {
20591 self.pNext = pNext;
20592 self
20593 }
20594
20595 pub fn deviceIndexCount(mut self, deviceIndexCount : u32) -> Self {
20596 self.deviceIndexCount = deviceIndexCount;
20597 self
20598 }
20599
20600 pub fn pDeviceIndices(mut self, pDeviceIndices : *const u32) -> Self {
20601 self.pDeviceIndices = pDeviceIndices;
20602 self
20603 }
20604
20605 pub fn splitInstanceBindRegionCount(mut self, splitInstanceBindRegionCount : u32) -> Self {
20606 self.splitInstanceBindRegionCount = splitInstanceBindRegionCount;
20607 self
20608 }
20609
20610 pub fn pSplitInstanceBindRegions(mut self, pSplitInstanceBindRegions : *const Rect2D) -> Self {
20611 self.pSplitInstanceBindRegions = pSplitInstanceBindRegions;
20612 self
20613 }
20614
20615}
20616
20617impl PhysicalDeviceGroupProperties {
20618
20619 pub fn new() -> Self {
20620 Self::default()
20621 }
20622
20623 pub fn sType(mut self, sType : StructureType) -> Self {
20624 self.sType = sType;
20625 self
20626 }
20627
20628 pub fn pNext(mut self, pNext : *mut void) -> Self {
20629 self.pNext = pNext;
20630 self
20631 }
20632
20633 pub fn physicalDeviceCount(mut self, physicalDeviceCount : u32) -> Self {
20634 self.physicalDeviceCount = physicalDeviceCount;
20635 self
20636 }
20637
20638 pub fn physicalDevices(mut self, physicalDevices : [PhysicalDevice;MAX_DEVICE_GROUP_SIZE]) -> Self {
20639 self.physicalDevices = physicalDevices;
20640 self
20641 }
20642
20643 pub fn subsetAllocation(mut self, subsetAllocation : Bool32) -> Self {
20644 self.subsetAllocation = subsetAllocation;
20645 self
20646 }
20647
20648}
20649
20650impl DeviceGroupDeviceCreateInfo {
20651
20652 pub fn new() -> Self {
20653 Self::default()
20654 }
20655
20656 pub fn sType(mut self, sType : StructureType) -> Self {
20657 self.sType = sType;
20658 self
20659 }
20660
20661 pub fn pNext(mut self, pNext : *const void) -> Self {
20662 self.pNext = pNext;
20663 self
20664 }
20665
20666 pub fn physicalDeviceCount(mut self, physicalDeviceCount : u32) -> Self {
20667 self.physicalDeviceCount = physicalDeviceCount;
20668 self
20669 }
20670
20671 pub fn pPhysicalDevices(mut self, pPhysicalDevices : *const PhysicalDevice) -> Self {
20672 self.pPhysicalDevices = pPhysicalDevices;
20673 self
20674 }
20675
20676}
20677
20678impl BufferMemoryRequirementsInfo2 {
20679
20680 pub fn new() -> Self {
20681 Self::default()
20682 }
20683
20684 pub fn sType(mut self, sType : StructureType) -> Self {
20685 self.sType = sType;
20686 self
20687 }
20688
20689 pub fn pNext(mut self, pNext : *const void) -> Self {
20690 self.pNext = pNext;
20691 self
20692 }
20693
20694 pub fn buffer(mut self, buffer : Buffer) -> Self {
20695 self.buffer = buffer;
20696 self
20697 }
20698
20699}
20700
20701impl ImageMemoryRequirementsInfo2 {
20702
20703 pub fn new() -> Self {
20704 Self::default()
20705 }
20706
20707 pub fn sType(mut self, sType : StructureType) -> Self {
20708 self.sType = sType;
20709 self
20710 }
20711
20712 pub fn pNext(mut self, pNext : *const void) -> Self {
20713 self.pNext = pNext;
20714 self
20715 }
20716
20717 pub fn image(mut self, image : Image) -> Self {
20718 self.image = image;
20719 self
20720 }
20721
20722}
20723
20724impl ImageSparseMemoryRequirementsInfo2 {
20725
20726 pub fn new() -> Self {
20727 Self::default()
20728 }
20729
20730 pub fn sType(mut self, sType : StructureType) -> Self {
20731 self.sType = sType;
20732 self
20733 }
20734
20735 pub fn pNext(mut self, pNext : *const void) -> Self {
20736 self.pNext = pNext;
20737 self
20738 }
20739
20740 pub fn image(mut self, image : Image) -> Self {
20741 self.image = image;
20742 self
20743 }
20744
20745}
20746
20747impl MemoryRequirements2 {
20748
20749 pub fn new() -> Self {
20750 Self::default()
20751 }
20752
20753 pub fn sType(mut self, sType : StructureType) -> Self {
20754 self.sType = sType;
20755 self
20756 }
20757
20758 pub fn pNext(mut self, pNext : *mut void) -> Self {
20759 self.pNext = pNext;
20760 self
20761 }
20762
20763 pub fn memoryRequirements(mut self, memoryRequirements : MemoryRequirements) -> Self {
20764 self.memoryRequirements = memoryRequirements;
20765 self
20766 }
20767
20768}
20769
20770impl SparseImageMemoryRequirements2 {
20771
20772 pub fn new() -> Self {
20773 Self::default()
20774 }
20775
20776 pub fn sType(mut self, sType : StructureType) -> Self {
20777 self.sType = sType;
20778 self
20779 }
20780
20781 pub fn pNext(mut self, pNext : *mut void) -> Self {
20782 self.pNext = pNext;
20783 self
20784 }
20785
20786 pub fn memoryRequirements(mut self, memoryRequirements : SparseImageMemoryRequirements) -> Self {
20787 self.memoryRequirements = memoryRequirements;
20788 self
20789 }
20790
20791}
20792
20793impl PhysicalDeviceFeatures2 {
20794
20795 pub fn new() -> Self {
20796 Self::default()
20797 }
20798
20799 pub fn sType(mut self, sType : StructureType) -> Self {
20800 self.sType = sType;
20801 self
20802 }
20803
20804 pub fn pNext(mut self, pNext : *mut void) -> Self {
20805 self.pNext = pNext;
20806 self
20807 }
20808
20809 pub fn features(mut self, features : PhysicalDeviceFeatures) -> Self {
20810 self.features = features;
20811 self
20812 }
20813
20814}
20815
20816impl PhysicalDeviceProperties2 {
20817
20818 pub fn new() -> Self {
20819 Self::default()
20820 }
20821
20822 pub fn sType(mut self, sType : StructureType) -> Self {
20823 self.sType = sType;
20824 self
20825 }
20826
20827 pub fn pNext(mut self, pNext : *mut void) -> Self {
20828 self.pNext = pNext;
20829 self
20830 }
20831
20832 pub fn properties(mut self, properties : PhysicalDeviceProperties) -> Self {
20833 self.properties = properties;
20834 self
20835 }
20836
20837}
20838
20839impl FormatProperties2 {
20840
20841 pub fn new() -> Self {
20842 Self::default()
20843 }
20844
20845 pub fn sType(mut self, sType : StructureType) -> Self {
20846 self.sType = sType;
20847 self
20848 }
20849
20850 pub fn pNext(mut self, pNext : *mut void) -> Self {
20851 self.pNext = pNext;
20852 self
20853 }
20854
20855 pub fn formatProperties(mut self, formatProperties : FormatProperties) -> Self {
20856 self.formatProperties = formatProperties;
20857 self
20858 }
20859
20860}
20861
20862impl ImageFormatProperties2 {
20863
20864 pub fn new() -> Self {
20865 Self::default()
20866 }
20867
20868 pub fn sType(mut self, sType : StructureType) -> Self {
20869 self.sType = sType;
20870 self
20871 }
20872
20873 pub fn pNext(mut self, pNext : *mut void) -> Self {
20874 self.pNext = pNext;
20875 self
20876 }
20877
20878 pub fn imageFormatProperties(mut self, imageFormatProperties : ImageFormatProperties) -> Self {
20879 self.imageFormatProperties = imageFormatProperties;
20880 self
20881 }
20882
20883}
20884
20885impl PhysicalDeviceImageFormatInfo2 {
20886
20887 pub fn new() -> Self {
20888 Self::default()
20889 }
20890
20891 pub fn sType(mut self, sType : StructureType) -> Self {
20892 self.sType = sType;
20893 self
20894 }
20895
20896 pub fn pNext(mut self, pNext : *const void) -> Self {
20897 self.pNext = pNext;
20898 self
20899 }
20900
20901 pub fn format(mut self, format : Format) -> Self {
20902 self.format = format;
20903 self
20904 }
20905
20906 pub fn r#type(mut self, r#type : ImageType) -> Self {
20907 self.r#type = r#type;
20908 self
20909 }
20910
20911 pub fn tiling(mut self, tiling : ImageTiling) -> Self {
20912 self.tiling = tiling;
20913 self
20914 }
20915
20916 pub fn usage(mut self, usage : ImageUsageFlags) -> Self {
20917 self.usage = usage;
20918 self
20919 }
20920
20921 pub fn flags(mut self, flags : ImageCreateFlags) -> Self {
20922 self.flags = flags;
20923 self
20924 }
20925
20926}
20927
20928impl QueueFamilyProperties2 {
20929
20930 pub fn new() -> Self {
20931 Self::default()
20932 }
20933
20934 pub fn sType(mut self, sType : StructureType) -> Self {
20935 self.sType = sType;
20936 self
20937 }
20938
20939 pub fn pNext(mut self, pNext : *mut void) -> Self {
20940 self.pNext = pNext;
20941 self
20942 }
20943
20944 pub fn queueFamilyProperties(mut self, queueFamilyProperties : QueueFamilyProperties) -> Self {
20945 self.queueFamilyProperties = queueFamilyProperties;
20946 self
20947 }
20948
20949}
20950
20951impl PhysicalDeviceMemoryProperties2 {
20952
20953 pub fn new() -> Self {
20954 Self::default()
20955 }
20956
20957 pub fn sType(mut self, sType : StructureType) -> Self {
20958 self.sType = sType;
20959 self
20960 }
20961
20962 pub fn pNext(mut self, pNext : *mut void) -> Self {
20963 self.pNext = pNext;
20964 self
20965 }
20966
20967 pub fn memoryProperties(mut self, memoryProperties : PhysicalDeviceMemoryProperties) -> Self {
20968 self.memoryProperties = memoryProperties;
20969 self
20970 }
20971
20972}
20973
20974impl SparseImageFormatProperties2 {
20975
20976 pub fn new() -> Self {
20977 Self::default()
20978 }
20979
20980 pub fn sType(mut self, sType : StructureType) -> Self {
20981 self.sType = sType;
20982 self
20983 }
20984
20985 pub fn pNext(mut self, pNext : *mut void) -> Self {
20986 self.pNext = pNext;
20987 self
20988 }
20989
20990 pub fn properties(mut self, properties : SparseImageFormatProperties) -> Self {
20991 self.properties = properties;
20992 self
20993 }
20994
20995}
20996
20997impl PhysicalDeviceSparseImageFormatInfo2 {
20998
20999 pub fn new() -> Self {
21000 Self::default()
21001 }
21002
21003 pub fn sType(mut self, sType : StructureType) -> Self {
21004 self.sType = sType;
21005 self
21006 }
21007
21008 pub fn pNext(mut self, pNext : *const void) -> Self {
21009 self.pNext = pNext;
21010 self
21011 }
21012
21013 pub fn format(mut self, format : Format) -> Self {
21014 self.format = format;
21015 self
21016 }
21017
21018 pub fn r#type(mut self, r#type : ImageType) -> Self {
21019 self.r#type = r#type;
21020 self
21021 }
21022
21023 pub fn samples(mut self, samples : SampleCountFlagBits) -> Self {
21024 self.samples = samples;
21025 self
21026 }
21027
21028 pub fn usage(mut self, usage : ImageUsageFlags) -> Self {
21029 self.usage = usage;
21030 self
21031 }
21032
21033 pub fn tiling(mut self, tiling : ImageTiling) -> Self {
21034 self.tiling = tiling;
21035 self
21036 }
21037
21038}
21039
21040impl PhysicalDevicePointClippingProperties {
21041
21042 pub fn new() -> Self {
21043 Self::default()
21044 }
21045
21046 pub fn sType(mut self, sType : StructureType) -> Self {
21047 self.sType = sType;
21048 self
21049 }
21050
21051 pub fn pNext(mut self, pNext : *mut void) -> Self {
21052 self.pNext = pNext;
21053 self
21054 }
21055
21056 pub fn pointClippingBehavior(mut self, pointClippingBehavior : PointClippingBehavior) -> Self {
21057 self.pointClippingBehavior = pointClippingBehavior;
21058 self
21059 }
21060
21061}
21062
21063impl InputAttachmentAspectReference {
21064
21065 pub fn new() -> Self {
21066 Self::default()
21067 }
21068
21069 pub fn subpass(mut self, subpass : u32) -> Self {
21070 self.subpass = subpass;
21071 self
21072 }
21073
21074 pub fn inputAttachmentIndex(mut self, inputAttachmentIndex : u32) -> Self {
21075 self.inputAttachmentIndex = inputAttachmentIndex;
21076 self
21077 }
21078
21079 pub fn aspectMask(mut self, aspectMask : ImageAspectFlags) -> Self {
21080 self.aspectMask = aspectMask;
21081 self
21082 }
21083
21084}
21085
21086impl RenderPassInputAttachmentAspectCreateInfo {
21087
21088 pub fn new() -> Self {
21089 Self::default()
21090 }
21091
21092 pub fn sType(mut self, sType : StructureType) -> Self {
21093 self.sType = sType;
21094 self
21095 }
21096
21097 pub fn pNext(mut self, pNext : *const void) -> Self {
21098 self.pNext = pNext;
21099 self
21100 }
21101
21102 pub fn aspectReferenceCount(mut self, aspectReferenceCount : u32) -> Self {
21103 self.aspectReferenceCount = aspectReferenceCount;
21104 self
21105 }
21106
21107 pub fn pAspectReferences(mut self, pAspectReferences : *const InputAttachmentAspectReference) -> Self {
21108 self.pAspectReferences = pAspectReferences;
21109 self
21110 }
21111
21112}
21113
21114impl ImageViewUsageCreateInfo {
21115
21116 pub fn new() -> Self {
21117 Self::default()
21118 }
21119
21120 pub fn sType(mut self, sType : StructureType) -> Self {
21121 self.sType = sType;
21122 self
21123 }
21124
21125 pub fn pNext(mut self, pNext : *const void) -> Self {
21126 self.pNext = pNext;
21127 self
21128 }
21129
21130 pub fn usage(mut self, usage : ImageUsageFlags) -> Self {
21131 self.usage = usage;
21132 self
21133 }
21134
21135}
21136
21137impl PipelineTessellationDomainOriginStateCreateInfo {
21138
21139 pub fn new() -> Self {
21140 Self::default()
21141 }
21142
21143 pub fn sType(mut self, sType : StructureType) -> Self {
21144 self.sType = sType;
21145 self
21146 }
21147
21148 pub fn pNext(mut self, pNext : *const void) -> Self {
21149 self.pNext = pNext;
21150 self
21151 }
21152
21153 pub fn domainOrigin(mut self, domainOrigin : TessellationDomainOrigin) -> Self {
21154 self.domainOrigin = domainOrigin;
21155 self
21156 }
21157
21158}
21159
21160impl RenderPassMultiviewCreateInfo {
21161
21162 pub fn new() -> Self {
21163 Self::default()
21164 }
21165
21166 pub fn sType(mut self, sType : StructureType) -> Self {
21167 self.sType = sType;
21168 self
21169 }
21170
21171 pub fn pNext(mut self, pNext : *const void) -> Self {
21172 self.pNext = pNext;
21173 self
21174 }
21175
21176 pub fn subpassCount(mut self, subpassCount : u32) -> Self {
21177 self.subpassCount = subpassCount;
21178 self
21179 }
21180
21181 pub fn pViewMasks(mut self, pViewMasks : *const u32) -> Self {
21182 self.pViewMasks = pViewMasks;
21183 self
21184 }
21185
21186 pub fn dependencyCount(mut self, dependencyCount : u32) -> Self {
21187 self.dependencyCount = dependencyCount;
21188 self
21189 }
21190
21191 pub fn pViewOffsets(mut self, pViewOffsets : *const i32) -> Self {
21192 self.pViewOffsets = pViewOffsets;
21193 self
21194 }
21195
21196 pub fn correlationMaskCount(mut self, correlationMaskCount : u32) -> Self {
21197 self.correlationMaskCount = correlationMaskCount;
21198 self
21199 }
21200
21201 pub fn pCorrelationMasks(mut self, pCorrelationMasks : *const u32) -> Self {
21202 self.pCorrelationMasks = pCorrelationMasks;
21203 self
21204 }
21205
21206}
21207
21208impl PhysicalDeviceMultiviewFeatures {
21209
21210 pub fn new() -> Self {
21211 Self::default()
21212 }
21213
21214 pub fn sType(mut self, sType : StructureType) -> Self {
21215 self.sType = sType;
21216 self
21217 }
21218
21219 pub fn pNext(mut self, pNext : *mut void) -> Self {
21220 self.pNext = pNext;
21221 self
21222 }
21223
21224 pub fn multiview(mut self, multiview : Bool32) -> Self {
21225 self.multiview = multiview;
21226 self
21227 }
21228
21229 pub fn multiviewGeometryShader(mut self, multiviewGeometryShader : Bool32) -> Self {
21230 self.multiviewGeometryShader = multiviewGeometryShader;
21231 self
21232 }
21233
21234 pub fn multiviewTessellationShader(mut self, multiviewTessellationShader : Bool32) -> Self {
21235 self.multiviewTessellationShader = multiviewTessellationShader;
21236 self
21237 }
21238
21239}
21240
21241impl PhysicalDeviceMultiviewProperties {
21242
21243 pub fn new() -> Self {
21244 Self::default()
21245 }
21246
21247 pub fn sType(mut self, sType : StructureType) -> Self {
21248 self.sType = sType;
21249 self
21250 }
21251
21252 pub fn pNext(mut self, pNext : *mut void) -> Self {
21253 self.pNext = pNext;
21254 self
21255 }
21256
21257 pub fn maxMultiviewViewCount(mut self, maxMultiviewViewCount : u32) -> Self {
21258 self.maxMultiviewViewCount = maxMultiviewViewCount;
21259 self
21260 }
21261
21262 pub fn maxMultiviewInstanceIndex(mut self, maxMultiviewInstanceIndex : u32) -> Self {
21263 self.maxMultiviewInstanceIndex = maxMultiviewInstanceIndex;
21264 self
21265 }
21266
21267}
21268
21269impl PhysicalDeviceVariablePointersFeatures {
21270
21271 pub fn new() -> Self {
21272 Self::default()
21273 }
21274
21275 pub fn sType(mut self, sType : StructureType) -> Self {
21276 self.sType = sType;
21277 self
21278 }
21279
21280 pub fn pNext(mut self, pNext : *mut void) -> Self {
21281 self.pNext = pNext;
21282 self
21283 }
21284
21285 pub fn variablePointersStorageBuffer(mut self, variablePointersStorageBuffer : Bool32) -> Self {
21286 self.variablePointersStorageBuffer = variablePointersStorageBuffer;
21287 self
21288 }
21289
21290 pub fn variablePointers(mut self, variablePointers : Bool32) -> Self {
21291 self.variablePointers = variablePointers;
21292 self
21293 }
21294
21295}
21296
21297impl PhysicalDeviceProtectedMemoryFeatures {
21298
21299 pub fn new() -> Self {
21300 Self::default()
21301 }
21302
21303 pub fn sType(mut self, sType : StructureType) -> Self {
21304 self.sType = sType;
21305 self
21306 }
21307
21308 pub fn pNext(mut self, pNext : *mut void) -> Self {
21309 self.pNext = pNext;
21310 self
21311 }
21312
21313 pub fn protectedMemory(mut self, protectedMemory : Bool32) -> Self {
21314 self.protectedMemory = protectedMemory;
21315 self
21316 }
21317
21318}
21319
21320impl PhysicalDeviceProtectedMemoryProperties {
21321
21322 pub fn new() -> Self {
21323 Self::default()
21324 }
21325
21326 pub fn sType(mut self, sType : StructureType) -> Self {
21327 self.sType = sType;
21328 self
21329 }
21330
21331 pub fn pNext(mut self, pNext : *mut void) -> Self {
21332 self.pNext = pNext;
21333 self
21334 }
21335
21336 pub fn protectedNoFault(mut self, protectedNoFault : Bool32) -> Self {
21337 self.protectedNoFault = protectedNoFault;
21338 self
21339 }
21340
21341}
21342
21343impl DeviceQueueInfo2 {
21344
21345 pub fn new() -> Self {
21346 Self::default()
21347 }
21348
21349 pub fn sType(mut self, sType : StructureType) -> Self {
21350 self.sType = sType;
21351 self
21352 }
21353
21354 pub fn pNext(mut self, pNext : *const void) -> Self {
21355 self.pNext = pNext;
21356 self
21357 }
21358
21359 pub fn flags(mut self, flags : DeviceQueueCreateFlags) -> Self {
21360 self.flags = flags;
21361 self
21362 }
21363
21364 pub fn queueFamilyIndex(mut self, queueFamilyIndex : u32) -> Self {
21365 self.queueFamilyIndex = queueFamilyIndex;
21366 self
21367 }
21368
21369 pub fn queueIndex(mut self, queueIndex : u32) -> Self {
21370 self.queueIndex = queueIndex;
21371 self
21372 }
21373
21374}
21375
21376impl ProtectedSubmitInfo {
21377
21378 pub fn new() -> Self {
21379 Self::default()
21380 }
21381
21382 pub fn sType(mut self, sType : StructureType) -> Self {
21383 self.sType = sType;
21384 self
21385 }
21386
21387 pub fn pNext(mut self, pNext : *const void) -> Self {
21388 self.pNext = pNext;
21389 self
21390 }
21391
21392 pub fn protectedSubmit(mut self, protectedSubmit : Bool32) -> Self {
21393 self.protectedSubmit = protectedSubmit;
21394 self
21395 }
21396
21397}
21398
21399impl SamplerYcbcrConversionCreateInfo {
21400
21401 pub fn new() -> Self {
21402 Self::default()
21403 }
21404
21405 pub fn sType(mut self, sType : StructureType) -> Self {
21406 self.sType = sType;
21407 self
21408 }
21409
21410 pub fn pNext(mut self, pNext : *const void) -> Self {
21411 self.pNext = pNext;
21412 self
21413 }
21414
21415 pub fn format(mut self, format : Format) -> Self {
21416 self.format = format;
21417 self
21418 }
21419
21420 pub fn ycbcrModel(mut self, ycbcrModel : SamplerYcbcrModelConversion) -> Self {
21421 self.ycbcrModel = ycbcrModel;
21422 self
21423 }
21424
21425 pub fn ycbcrRange(mut self, ycbcrRange : SamplerYcbcrRange) -> Self {
21426 self.ycbcrRange = ycbcrRange;
21427 self
21428 }
21429
21430 pub fn components(mut self, components : ComponentMapping) -> Self {
21431 self.components = components;
21432 self
21433 }
21434
21435 pub fn xChromaOffset(mut self, xChromaOffset : ChromaLocation) -> Self {
21436 self.xChromaOffset = xChromaOffset;
21437 self
21438 }
21439
21440 pub fn yChromaOffset(mut self, yChromaOffset : ChromaLocation) -> Self {
21441 self.yChromaOffset = yChromaOffset;
21442 self
21443 }
21444
21445 pub fn chromaFilter(mut self, chromaFilter : Filter) -> Self {
21446 self.chromaFilter = chromaFilter;
21447 self
21448 }
21449
21450 pub fn forceExplicitReconstruction(mut self, forceExplicitReconstruction : Bool32) -> Self {
21451 self.forceExplicitReconstruction = forceExplicitReconstruction;
21452 self
21453 }
21454
21455}
21456
21457impl SamplerYcbcrConversionInfo {
21458
21459 pub fn new() -> Self {
21460 Self::default()
21461 }
21462
21463 pub fn sType(mut self, sType : StructureType) -> Self {
21464 self.sType = sType;
21465 self
21466 }
21467
21468 pub fn pNext(mut self, pNext : *const void) -> Self {
21469 self.pNext = pNext;
21470 self
21471 }
21472
21473 pub fn conversion(mut self, conversion : SamplerYcbcrConversion) -> Self {
21474 self.conversion = conversion;
21475 self
21476 }
21477
21478}
21479
21480impl BindImagePlaneMemoryInfo {
21481
21482 pub fn new() -> Self {
21483 Self::default()
21484 }
21485
21486 pub fn sType(mut self, sType : StructureType) -> Self {
21487 self.sType = sType;
21488 self
21489 }
21490
21491 pub fn pNext(mut self, pNext : *const void) -> Self {
21492 self.pNext = pNext;
21493 self
21494 }
21495
21496 pub fn planeAspect(mut self, planeAspect : ImageAspectFlagBits) -> Self {
21497 self.planeAspect = planeAspect;
21498 self
21499 }
21500
21501}
21502
21503impl ImagePlaneMemoryRequirementsInfo {
21504
21505 pub fn new() -> Self {
21506 Self::default()
21507 }
21508
21509 pub fn sType(mut self, sType : StructureType) -> Self {
21510 self.sType = sType;
21511 self
21512 }
21513
21514 pub fn pNext(mut self, pNext : *const void) -> Self {
21515 self.pNext = pNext;
21516 self
21517 }
21518
21519 pub fn planeAspect(mut self, planeAspect : ImageAspectFlagBits) -> Self {
21520 self.planeAspect = planeAspect;
21521 self
21522 }
21523
21524}
21525
21526impl PhysicalDeviceSamplerYcbcrConversionFeatures {
21527
21528 pub fn new() -> Self {
21529 Self::default()
21530 }
21531
21532 pub fn sType(mut self, sType : StructureType) -> Self {
21533 self.sType = sType;
21534 self
21535 }
21536
21537 pub fn pNext(mut self, pNext : *mut void) -> Self {
21538 self.pNext = pNext;
21539 self
21540 }
21541
21542 pub fn samplerYcbcrConversion(mut self, samplerYcbcrConversion : Bool32) -> Self {
21543 self.samplerYcbcrConversion = samplerYcbcrConversion;
21544 self
21545 }
21546
21547}
21548
21549impl SamplerYcbcrConversionImageFormatProperties {
21550
21551 pub fn new() -> Self {
21552 Self::default()
21553 }
21554
21555 pub fn sType(mut self, sType : StructureType) -> Self {
21556 self.sType = sType;
21557 self
21558 }
21559
21560 pub fn pNext(mut self, pNext : *mut void) -> Self {
21561 self.pNext = pNext;
21562 self
21563 }
21564
21565 pub fn combinedImageSamplerDescriptorCount(mut self, combinedImageSamplerDescriptorCount : u32) -> Self {
21566 self.combinedImageSamplerDescriptorCount = combinedImageSamplerDescriptorCount;
21567 self
21568 }
21569
21570}
21571
21572impl DescriptorUpdateTemplateEntry {
21573
21574 pub fn new() -> Self {
21575 Self::default()
21576 }
21577
21578 pub fn dstBinding(mut self, dstBinding : u32) -> Self {
21579 self.dstBinding = dstBinding;
21580 self
21581 }
21582
21583 pub fn dstArrayElement(mut self, dstArrayElement : u32) -> Self {
21584 self.dstArrayElement = dstArrayElement;
21585 self
21586 }
21587
21588 pub fn descriptorCount(mut self, descriptorCount : u32) -> Self {
21589 self.descriptorCount = descriptorCount;
21590 self
21591 }
21592
21593 pub fn descriptorType(mut self, descriptorType : DescriptorType) -> Self {
21594 self.descriptorType = descriptorType;
21595 self
21596 }
21597
21598 pub fn offset(mut self, offset : usize) -> Self {
21599 self.offset = offset;
21600 self
21601 }
21602
21603 pub fn stride(mut self, stride : usize) -> Self {
21604 self.stride = stride;
21605 self
21606 }
21607
21608}
21609
21610impl DescriptorUpdateTemplateCreateInfo {
21611
21612 pub fn new() -> Self {
21613 Self::default()
21614 }
21615
21616 pub fn sType(mut self, sType : StructureType) -> Self {
21617 self.sType = sType;
21618 self
21619 }
21620
21621 pub fn pNext(mut self, pNext : *const void) -> Self {
21622 self.pNext = pNext;
21623 self
21624 }
21625
21626 pub fn flags(mut self, flags : DescriptorUpdateTemplateCreateFlags) -> Self {
21627 self.flags = flags;
21628 self
21629 }
21630
21631 pub fn descriptorUpdateEntryCount(mut self, descriptorUpdateEntryCount : u32) -> Self {
21632 self.descriptorUpdateEntryCount = descriptorUpdateEntryCount;
21633 self
21634 }
21635
21636 pub fn pDescriptorUpdateEntries(mut self, pDescriptorUpdateEntries : *const DescriptorUpdateTemplateEntry) -> Self {
21637 self.pDescriptorUpdateEntries = pDescriptorUpdateEntries;
21638 self
21639 }
21640
21641 pub fn templateType(mut self, templateType : DescriptorUpdateTemplateType) -> Self {
21642 self.templateType = templateType;
21643 self
21644 }
21645
21646 pub fn descriptorSetLayout(mut self, descriptorSetLayout : DescriptorSetLayout) -> Self {
21647 self.descriptorSetLayout = descriptorSetLayout;
21648 self
21649 }
21650
21651 pub fn pipelineBindPoint(mut self, pipelineBindPoint : PipelineBindPoint) -> Self {
21652 self.pipelineBindPoint = pipelineBindPoint;
21653 self
21654 }
21655
21656 pub fn pipelineLayout(mut self, pipelineLayout : PipelineLayout) -> Self {
21657 self.pipelineLayout = pipelineLayout;
21658 self
21659 }
21660
21661 pub fn set(mut self, set : u32) -> Self {
21662 self.set = set;
21663 self
21664 }
21665
21666}
21667
21668impl ExternalMemoryProperties {
21669
21670 pub fn new() -> Self {
21671 Self::default()
21672 }
21673
21674 pub fn externalMemoryFeatures(mut self, externalMemoryFeatures : ExternalMemoryFeatureFlags) -> Self {
21675 self.externalMemoryFeatures = externalMemoryFeatures;
21676 self
21677 }
21678
21679 pub fn exportFromImportedHandleTypes(mut self, exportFromImportedHandleTypes : ExternalMemoryHandleTypeFlags) -> Self {
21680 self.exportFromImportedHandleTypes = exportFromImportedHandleTypes;
21681 self
21682 }
21683
21684 pub fn compatibleHandleTypes(mut self, compatibleHandleTypes : ExternalMemoryHandleTypeFlags) -> Self {
21685 self.compatibleHandleTypes = compatibleHandleTypes;
21686 self
21687 }
21688
21689}
21690
21691impl PhysicalDeviceExternalImageFormatInfo {
21692
21693 pub fn new() -> Self {
21694 Self::default()
21695 }
21696
21697 pub fn sType(mut self, sType : StructureType) -> Self {
21698 self.sType = sType;
21699 self
21700 }
21701
21702 pub fn pNext(mut self, pNext : *const void) -> Self {
21703 self.pNext = pNext;
21704 self
21705 }
21706
21707 pub fn handleType(mut self, handleType : ExternalMemoryHandleTypeFlagBits) -> Self {
21708 self.handleType = handleType;
21709 self
21710 }
21711
21712}
21713
21714impl ExternalImageFormatProperties {
21715
21716 pub fn new() -> Self {
21717 Self::default()
21718 }
21719
21720 pub fn sType(mut self, sType : StructureType) -> Self {
21721 self.sType = sType;
21722 self
21723 }
21724
21725 pub fn pNext(mut self, pNext : *mut void) -> Self {
21726 self.pNext = pNext;
21727 self
21728 }
21729
21730 pub fn externalMemoryProperties(mut self, externalMemoryProperties : ExternalMemoryProperties) -> Self {
21731 self.externalMemoryProperties = externalMemoryProperties;
21732 self
21733 }
21734
21735}
21736
21737impl PhysicalDeviceExternalBufferInfo {
21738
21739 pub fn new() -> Self {
21740 Self::default()
21741 }
21742
21743 pub fn sType(mut self, sType : StructureType) -> Self {
21744 self.sType = sType;
21745 self
21746 }
21747
21748 pub fn pNext(mut self, pNext : *const void) -> Self {
21749 self.pNext = pNext;
21750 self
21751 }
21752
21753 pub fn flags(mut self, flags : BufferCreateFlags) -> Self {
21754 self.flags = flags;
21755 self
21756 }
21757
21758 pub fn usage(mut self, usage : BufferUsageFlags) -> Self {
21759 self.usage = usage;
21760 self
21761 }
21762
21763 pub fn handleType(mut self, handleType : ExternalMemoryHandleTypeFlagBits) -> Self {
21764 self.handleType = handleType;
21765 self
21766 }
21767
21768}
21769
21770impl ExternalBufferProperties {
21771
21772 pub fn new() -> Self {
21773 Self::default()
21774 }
21775
21776 pub fn sType(mut self, sType : StructureType) -> Self {
21777 self.sType = sType;
21778 self
21779 }
21780
21781 pub fn pNext(mut self, pNext : *mut void) -> Self {
21782 self.pNext = pNext;
21783 self
21784 }
21785
21786 pub fn externalMemoryProperties(mut self, externalMemoryProperties : ExternalMemoryProperties) -> Self {
21787 self.externalMemoryProperties = externalMemoryProperties;
21788 self
21789 }
21790
21791}
21792
21793impl PhysicalDeviceIDProperties {
21794
21795 pub fn new() -> Self {
21796 Self::default()
21797 }
21798
21799 pub fn sType(mut self, sType : StructureType) -> Self {
21800 self.sType = sType;
21801 self
21802 }
21803
21804 pub fn pNext(mut self, pNext : *mut void) -> Self {
21805 self.pNext = pNext;
21806 self
21807 }
21808
21809 pub fn deviceUUID(mut self, deviceUUID : [u8;UUID_SIZE]) -> Self {
21810 self.deviceUUID = deviceUUID;
21811 self
21812 }
21813
21814 pub fn driverUUID(mut self, driverUUID : [u8;UUID_SIZE]) -> Self {
21815 self.driverUUID = driverUUID;
21816 self
21817 }
21818
21819 pub fn deviceLUID(mut self, deviceLUID : [u8;LUID_SIZE]) -> Self {
21820 self.deviceLUID = deviceLUID;
21821 self
21822 }
21823
21824 pub fn deviceNodeMask(mut self, deviceNodeMask : u32) -> Self {
21825 self.deviceNodeMask = deviceNodeMask;
21826 self
21827 }
21828
21829 pub fn deviceLUIDValid(mut self, deviceLUIDValid : Bool32) -> Self {
21830 self.deviceLUIDValid = deviceLUIDValid;
21831 self
21832 }
21833
21834}
21835
21836impl ExternalMemoryImageCreateInfo {
21837
21838 pub fn new() -> Self {
21839 Self::default()
21840 }
21841
21842 pub fn sType(mut self, sType : StructureType) -> Self {
21843 self.sType = sType;
21844 self
21845 }
21846
21847 pub fn pNext(mut self, pNext : *const void) -> Self {
21848 self.pNext = pNext;
21849 self
21850 }
21851
21852 pub fn handleTypes(mut self, handleTypes : ExternalMemoryHandleTypeFlags) -> Self {
21853 self.handleTypes = handleTypes;
21854 self
21855 }
21856
21857}
21858
21859impl ExternalMemoryBufferCreateInfo {
21860
21861 pub fn new() -> Self {
21862 Self::default()
21863 }
21864
21865 pub fn sType(mut self, sType : StructureType) -> Self {
21866 self.sType = sType;
21867 self
21868 }
21869
21870 pub fn pNext(mut self, pNext : *const void) -> Self {
21871 self.pNext = pNext;
21872 self
21873 }
21874
21875 pub fn handleTypes(mut self, handleTypes : ExternalMemoryHandleTypeFlags) -> Self {
21876 self.handleTypes = handleTypes;
21877 self
21878 }
21879
21880}
21881
21882impl ExportMemoryAllocateInfo {
21883
21884 pub fn new() -> Self {
21885 Self::default()
21886 }
21887
21888 pub fn sType(mut self, sType : StructureType) -> Self {
21889 self.sType = sType;
21890 self
21891 }
21892
21893 pub fn pNext(mut self, pNext : *const void) -> Self {
21894 self.pNext = pNext;
21895 self
21896 }
21897
21898 pub fn handleTypes(mut self, handleTypes : ExternalMemoryHandleTypeFlags) -> Self {
21899 self.handleTypes = handleTypes;
21900 self
21901 }
21902
21903}
21904
21905impl PhysicalDeviceExternalFenceInfo {
21906
21907 pub fn new() -> Self {
21908 Self::default()
21909 }
21910
21911 pub fn sType(mut self, sType : StructureType) -> Self {
21912 self.sType = sType;
21913 self
21914 }
21915
21916 pub fn pNext(mut self, pNext : *const void) -> Self {
21917 self.pNext = pNext;
21918 self
21919 }
21920
21921 pub fn handleType(mut self, handleType : ExternalFenceHandleTypeFlagBits) -> Self {
21922 self.handleType = handleType;
21923 self
21924 }
21925
21926}
21927
21928impl ExternalFenceProperties {
21929
21930 pub fn new() -> Self {
21931 Self::default()
21932 }
21933
21934 pub fn sType(mut self, sType : StructureType) -> Self {
21935 self.sType = sType;
21936 self
21937 }
21938
21939 pub fn pNext(mut self, pNext : *mut void) -> Self {
21940 self.pNext = pNext;
21941 self
21942 }
21943
21944 pub fn exportFromImportedHandleTypes(mut self, exportFromImportedHandleTypes : ExternalFenceHandleTypeFlags) -> Self {
21945 self.exportFromImportedHandleTypes = exportFromImportedHandleTypes;
21946 self
21947 }
21948
21949 pub fn compatibleHandleTypes(mut self, compatibleHandleTypes : ExternalFenceHandleTypeFlags) -> Self {
21950 self.compatibleHandleTypes = compatibleHandleTypes;
21951 self
21952 }
21953
21954 pub fn externalFenceFeatures(mut self, externalFenceFeatures : ExternalFenceFeatureFlags) -> Self {
21955 self.externalFenceFeatures = externalFenceFeatures;
21956 self
21957 }
21958
21959}
21960
21961impl ExportFenceCreateInfo {
21962
21963 pub fn new() -> Self {
21964 Self::default()
21965 }
21966
21967 pub fn sType(mut self, sType : StructureType) -> Self {
21968 self.sType = sType;
21969 self
21970 }
21971
21972 pub fn pNext(mut self, pNext : *const void) -> Self {
21973 self.pNext = pNext;
21974 self
21975 }
21976
21977 pub fn handleTypes(mut self, handleTypes : ExternalFenceHandleTypeFlags) -> Self {
21978 self.handleTypes = handleTypes;
21979 self
21980 }
21981
21982}
21983
21984impl ExportSemaphoreCreateInfo {
21985
21986 pub fn new() -> Self {
21987 Self::default()
21988 }
21989
21990 pub fn sType(mut self, sType : StructureType) -> Self {
21991 self.sType = sType;
21992 self
21993 }
21994
21995 pub fn pNext(mut self, pNext : *const void) -> Self {
21996 self.pNext = pNext;
21997 self
21998 }
21999
22000 pub fn handleTypes(mut self, handleTypes : ExternalSemaphoreHandleTypeFlags) -> Self {
22001 self.handleTypes = handleTypes;
22002 self
22003 }
22004
22005}
22006
22007impl PhysicalDeviceExternalSemaphoreInfo {
22008
22009 pub fn new() -> Self {
22010 Self::default()
22011 }
22012
22013 pub fn sType(mut self, sType : StructureType) -> Self {
22014 self.sType = sType;
22015 self
22016 }
22017
22018 pub fn pNext(mut self, pNext : *const void) -> Self {
22019 self.pNext = pNext;
22020 self
22021 }
22022
22023 pub fn handleType(mut self, handleType : ExternalSemaphoreHandleTypeFlagBits) -> Self {
22024 self.handleType = handleType;
22025 self
22026 }
22027
22028}
22029
22030impl ExternalSemaphoreProperties {
22031
22032 pub fn new() -> Self {
22033 Self::default()
22034 }
22035
22036 pub fn sType(mut self, sType : StructureType) -> Self {
22037 self.sType = sType;
22038 self
22039 }
22040
22041 pub fn pNext(mut self, pNext : *mut void) -> Self {
22042 self.pNext = pNext;
22043 self
22044 }
22045
22046 pub fn exportFromImportedHandleTypes(mut self, exportFromImportedHandleTypes : ExternalSemaphoreHandleTypeFlags) -> Self {
22047 self.exportFromImportedHandleTypes = exportFromImportedHandleTypes;
22048 self
22049 }
22050
22051 pub fn compatibleHandleTypes(mut self, compatibleHandleTypes : ExternalSemaphoreHandleTypeFlags) -> Self {
22052 self.compatibleHandleTypes = compatibleHandleTypes;
22053 self
22054 }
22055
22056 pub fn externalSemaphoreFeatures(mut self, externalSemaphoreFeatures : ExternalSemaphoreFeatureFlags) -> Self {
22057 self.externalSemaphoreFeatures = externalSemaphoreFeatures;
22058 self
22059 }
22060
22061}
22062
22063impl PhysicalDeviceMaintenance3Properties {
22064
22065 pub fn new() -> Self {
22066 Self::default()
22067 }
22068
22069 pub fn sType(mut self, sType : StructureType) -> Self {
22070 self.sType = sType;
22071 self
22072 }
22073
22074 pub fn pNext(mut self, pNext : *mut void) -> Self {
22075 self.pNext = pNext;
22076 self
22077 }
22078
22079 pub fn maxPerSetDescriptors(mut self, maxPerSetDescriptors : u32) -> Self {
22080 self.maxPerSetDescriptors = maxPerSetDescriptors;
22081 self
22082 }
22083
22084 pub fn maxMemoryAllocationSize(mut self, maxMemoryAllocationSize : DeviceSize) -> Self {
22085 self.maxMemoryAllocationSize = maxMemoryAllocationSize;
22086 self
22087 }
22088
22089}
22090
22091impl DescriptorSetLayoutSupport {
22092
22093 pub fn new() -> Self {
22094 Self::default()
22095 }
22096
22097 pub fn sType(mut self, sType : StructureType) -> Self {
22098 self.sType = sType;
22099 self
22100 }
22101
22102 pub fn pNext(mut self, pNext : *mut void) -> Self {
22103 self.pNext = pNext;
22104 self
22105 }
22106
22107 pub fn supported(mut self, supported : Bool32) -> Self {
22108 self.supported = supported;
22109 self
22110 }
22111
22112}
22113
22114impl PhysicalDeviceShaderDrawParametersFeatures {
22115
22116 pub fn new() -> Self {
22117 Self::default()
22118 }
22119
22120 pub fn sType(mut self, sType : StructureType) -> Self {
22121 self.sType = sType;
22122 self
22123 }
22124
22125 pub fn pNext(mut self, pNext : *mut void) -> Self {
22126 self.pNext = pNext;
22127 self
22128 }
22129
22130 pub fn shaderDrawParameters(mut self, shaderDrawParameters : Bool32) -> Self {
22131 self.shaderDrawParameters = shaderDrawParameters;
22132 self
22133 }
22134
22135}
22136
22137impl PhysicalDeviceVulkan11Features {
22138
22139 pub fn new() -> Self {
22140 Self::default()
22141 }
22142
22143 pub fn sType(mut self, sType : StructureType) -> Self {
22144 self.sType = sType;
22145 self
22146 }
22147
22148 pub fn pNext(mut self, pNext : *mut void) -> Self {
22149 self.pNext = pNext;
22150 self
22151 }
22152
22153 pub fn storageBuffer16BitAccess(mut self, storageBuffer16BitAccess : Bool32) -> Self {
22154 self.storageBuffer16BitAccess = storageBuffer16BitAccess;
22155 self
22156 }
22157
22158 pub fn uniformAndStorageBuffer16BitAccess(mut self, uniformAndStorageBuffer16BitAccess : Bool32) -> Self {
22159 self.uniformAndStorageBuffer16BitAccess = uniformAndStorageBuffer16BitAccess;
22160 self
22161 }
22162
22163 pub fn storagePushConstant16(mut self, storagePushConstant16 : Bool32) -> Self {
22164 self.storagePushConstant16 = storagePushConstant16;
22165 self
22166 }
22167
22168 pub fn storageInputOutput16(mut self, storageInputOutput16 : Bool32) -> Self {
22169 self.storageInputOutput16 = storageInputOutput16;
22170 self
22171 }
22172
22173 pub fn multiview(mut self, multiview : Bool32) -> Self {
22174 self.multiview = multiview;
22175 self
22176 }
22177
22178 pub fn multiviewGeometryShader(mut self, multiviewGeometryShader : Bool32) -> Self {
22179 self.multiviewGeometryShader = multiviewGeometryShader;
22180 self
22181 }
22182
22183 pub fn multiviewTessellationShader(mut self, multiviewTessellationShader : Bool32) -> Self {
22184 self.multiviewTessellationShader = multiviewTessellationShader;
22185 self
22186 }
22187
22188 pub fn variablePointersStorageBuffer(mut self, variablePointersStorageBuffer : Bool32) -> Self {
22189 self.variablePointersStorageBuffer = variablePointersStorageBuffer;
22190 self
22191 }
22192
22193 pub fn variablePointers(mut self, variablePointers : Bool32) -> Self {
22194 self.variablePointers = variablePointers;
22195 self
22196 }
22197
22198 pub fn protectedMemory(mut self, protectedMemory : Bool32) -> Self {
22199 self.protectedMemory = protectedMemory;
22200 self
22201 }
22202
22203 pub fn samplerYcbcrConversion(mut self, samplerYcbcrConversion : Bool32) -> Self {
22204 self.samplerYcbcrConversion = samplerYcbcrConversion;
22205 self
22206 }
22207
22208 pub fn shaderDrawParameters(mut self, shaderDrawParameters : Bool32) -> Self {
22209 self.shaderDrawParameters = shaderDrawParameters;
22210 self
22211 }
22212
22213}
22214
22215impl PhysicalDeviceVulkan11Properties {
22216
22217 pub fn new() -> Self {
22218 Self::default()
22219 }
22220
22221 pub fn sType(mut self, sType : StructureType) -> Self {
22222 self.sType = sType;
22223 self
22224 }
22225
22226 pub fn pNext(mut self, pNext : *mut void) -> Self {
22227 self.pNext = pNext;
22228 self
22229 }
22230
22231 pub fn deviceUUID(mut self, deviceUUID : [u8;UUID_SIZE]) -> Self {
22232 self.deviceUUID = deviceUUID;
22233 self
22234 }
22235
22236 pub fn driverUUID(mut self, driverUUID : [u8;UUID_SIZE]) -> Self {
22237 self.driverUUID = driverUUID;
22238 self
22239 }
22240
22241 pub fn deviceLUID(mut self, deviceLUID : [u8;LUID_SIZE]) -> Self {
22242 self.deviceLUID = deviceLUID;
22243 self
22244 }
22245
22246 pub fn deviceNodeMask(mut self, deviceNodeMask : u32) -> Self {
22247 self.deviceNodeMask = deviceNodeMask;
22248 self
22249 }
22250
22251 pub fn deviceLUIDValid(mut self, deviceLUIDValid : Bool32) -> Self {
22252 self.deviceLUIDValid = deviceLUIDValid;
22253 self
22254 }
22255
22256 pub fn subgroupSize(mut self, subgroupSize : u32) -> Self {
22257 self.subgroupSize = subgroupSize;
22258 self
22259 }
22260
22261 pub fn subgroupSupportedStages(mut self, subgroupSupportedStages : ShaderStageFlags) -> Self {
22262 self.subgroupSupportedStages = subgroupSupportedStages;
22263 self
22264 }
22265
22266 pub fn subgroupSupportedOperations(mut self, subgroupSupportedOperations : SubgroupFeatureFlags) -> Self {
22267 self.subgroupSupportedOperations = subgroupSupportedOperations;
22268 self
22269 }
22270
22271 pub fn subgroupQuadOperationsInAllStages(mut self, subgroupQuadOperationsInAllStages : Bool32) -> Self {
22272 self.subgroupQuadOperationsInAllStages = subgroupQuadOperationsInAllStages;
22273 self
22274 }
22275
22276 pub fn pointClippingBehavior(mut self, pointClippingBehavior : PointClippingBehavior) -> Self {
22277 self.pointClippingBehavior = pointClippingBehavior;
22278 self
22279 }
22280
22281 pub fn maxMultiviewViewCount(mut self, maxMultiviewViewCount : u32) -> Self {
22282 self.maxMultiviewViewCount = maxMultiviewViewCount;
22283 self
22284 }
22285
22286 pub fn maxMultiviewInstanceIndex(mut self, maxMultiviewInstanceIndex : u32) -> Self {
22287 self.maxMultiviewInstanceIndex = maxMultiviewInstanceIndex;
22288 self
22289 }
22290
22291 pub fn protectedNoFault(mut self, protectedNoFault : Bool32) -> Self {
22292 self.protectedNoFault = protectedNoFault;
22293 self
22294 }
22295
22296 pub fn maxPerSetDescriptors(mut self, maxPerSetDescriptors : u32) -> Self {
22297 self.maxPerSetDescriptors = maxPerSetDescriptors;
22298 self
22299 }
22300
22301 pub fn maxMemoryAllocationSize(mut self, maxMemoryAllocationSize : DeviceSize) -> Self {
22302 self.maxMemoryAllocationSize = maxMemoryAllocationSize;
22303 self
22304 }
22305
22306}
22307
22308impl PhysicalDeviceVulkan12Features {
22309
22310 pub fn new() -> Self {
22311 Self::default()
22312 }
22313
22314 pub fn sType(mut self, sType : StructureType) -> Self {
22315 self.sType = sType;
22316 self
22317 }
22318
22319 pub fn pNext(mut self, pNext : *mut void) -> Self {
22320 self.pNext = pNext;
22321 self
22322 }
22323
22324 pub fn samplerMirrorClampToEdge(mut self, samplerMirrorClampToEdge : Bool32) -> Self {
22325 self.samplerMirrorClampToEdge = samplerMirrorClampToEdge;
22326 self
22327 }
22328
22329 pub fn drawIndirectCount(mut self, drawIndirectCount : Bool32) -> Self {
22330 self.drawIndirectCount = drawIndirectCount;
22331 self
22332 }
22333
22334 pub fn storageBuffer8BitAccess(mut self, storageBuffer8BitAccess : Bool32) -> Self {
22335 self.storageBuffer8BitAccess = storageBuffer8BitAccess;
22336 self
22337 }
22338
22339 pub fn uniformAndStorageBuffer8BitAccess(mut self, uniformAndStorageBuffer8BitAccess : Bool32) -> Self {
22340 self.uniformAndStorageBuffer8BitAccess = uniformAndStorageBuffer8BitAccess;
22341 self
22342 }
22343
22344 pub fn storagePushConstant8(mut self, storagePushConstant8 : Bool32) -> Self {
22345 self.storagePushConstant8 = storagePushConstant8;
22346 self
22347 }
22348
22349 pub fn shaderBufferInt64Atomics(mut self, shaderBufferInt64Atomics : Bool32) -> Self {
22350 self.shaderBufferInt64Atomics = shaderBufferInt64Atomics;
22351 self
22352 }
22353
22354 pub fn shaderSharedInt64Atomics(mut self, shaderSharedInt64Atomics : Bool32) -> Self {
22355 self.shaderSharedInt64Atomics = shaderSharedInt64Atomics;
22356 self
22357 }
22358
22359 pub fn shaderFloat16(mut self, shaderFloat16 : Bool32) -> Self {
22360 self.shaderFloat16 = shaderFloat16;
22361 self
22362 }
22363
22364 pub fn shaderInt8(mut self, shaderInt8 : Bool32) -> Self {
22365 self.shaderInt8 = shaderInt8;
22366 self
22367 }
22368
22369 pub fn descriptorIndexing(mut self, descriptorIndexing : Bool32) -> Self {
22370 self.descriptorIndexing = descriptorIndexing;
22371 self
22372 }
22373
22374 pub fn shaderInputAttachmentArrayDynamicIndexing(mut self, shaderInputAttachmentArrayDynamicIndexing : Bool32) -> Self {
22375 self.shaderInputAttachmentArrayDynamicIndexing = shaderInputAttachmentArrayDynamicIndexing;
22376 self
22377 }
22378
22379 pub fn shaderUniformTexelBufferArrayDynamicIndexing(mut self, shaderUniformTexelBufferArrayDynamicIndexing : Bool32) -> Self {
22380 self.shaderUniformTexelBufferArrayDynamicIndexing = shaderUniformTexelBufferArrayDynamicIndexing;
22381 self
22382 }
22383
22384 pub fn shaderStorageTexelBufferArrayDynamicIndexing(mut self, shaderStorageTexelBufferArrayDynamicIndexing : Bool32) -> Self {
22385 self.shaderStorageTexelBufferArrayDynamicIndexing = shaderStorageTexelBufferArrayDynamicIndexing;
22386 self
22387 }
22388
22389 pub fn shaderUniformBufferArrayNonUniformIndexing(mut self, shaderUniformBufferArrayNonUniformIndexing : Bool32) -> Self {
22390 self.shaderUniformBufferArrayNonUniformIndexing = shaderUniformBufferArrayNonUniformIndexing;
22391 self
22392 }
22393
22394 pub fn shaderSampledImageArrayNonUniformIndexing(mut self, shaderSampledImageArrayNonUniformIndexing : Bool32) -> Self {
22395 self.shaderSampledImageArrayNonUniformIndexing = shaderSampledImageArrayNonUniformIndexing;
22396 self
22397 }
22398
22399 pub fn shaderStorageBufferArrayNonUniformIndexing(mut self, shaderStorageBufferArrayNonUniformIndexing : Bool32) -> Self {
22400 self.shaderStorageBufferArrayNonUniformIndexing = shaderStorageBufferArrayNonUniformIndexing;
22401 self
22402 }
22403
22404 pub fn shaderStorageImageArrayNonUniformIndexing(mut self, shaderStorageImageArrayNonUniformIndexing : Bool32) -> Self {
22405 self.shaderStorageImageArrayNonUniformIndexing = shaderStorageImageArrayNonUniformIndexing;
22406 self
22407 }
22408
22409 pub fn shaderInputAttachmentArrayNonUniformIndexing(mut self, shaderInputAttachmentArrayNonUniformIndexing : Bool32) -> Self {
22410 self.shaderInputAttachmentArrayNonUniformIndexing = shaderInputAttachmentArrayNonUniformIndexing;
22411 self
22412 }
22413
22414 pub fn shaderUniformTexelBufferArrayNonUniformIndexing(mut self, shaderUniformTexelBufferArrayNonUniformIndexing : Bool32) -> Self {
22415 self.shaderUniformTexelBufferArrayNonUniformIndexing = shaderUniformTexelBufferArrayNonUniformIndexing;
22416 self
22417 }
22418
22419 pub fn shaderStorageTexelBufferArrayNonUniformIndexing(mut self, shaderStorageTexelBufferArrayNonUniformIndexing : Bool32) -> Self {
22420 self.shaderStorageTexelBufferArrayNonUniformIndexing = shaderStorageTexelBufferArrayNonUniformIndexing;
22421 self
22422 }
22423
22424 pub fn descriptorBindingUniformBufferUpdateAfterBind(mut self, descriptorBindingUniformBufferUpdateAfterBind : Bool32) -> Self {
22425 self.descriptorBindingUniformBufferUpdateAfterBind = descriptorBindingUniformBufferUpdateAfterBind;
22426 self
22427 }
22428
22429 pub fn descriptorBindingSampledImageUpdateAfterBind(mut self, descriptorBindingSampledImageUpdateAfterBind : Bool32) -> Self {
22430 self.descriptorBindingSampledImageUpdateAfterBind = descriptorBindingSampledImageUpdateAfterBind;
22431 self
22432 }
22433
22434 pub fn descriptorBindingStorageImageUpdateAfterBind(mut self, descriptorBindingStorageImageUpdateAfterBind : Bool32) -> Self {
22435 self.descriptorBindingStorageImageUpdateAfterBind = descriptorBindingStorageImageUpdateAfterBind;
22436 self
22437 }
22438
22439 pub fn descriptorBindingStorageBufferUpdateAfterBind(mut self, descriptorBindingStorageBufferUpdateAfterBind : Bool32) -> Self {
22440 self.descriptorBindingStorageBufferUpdateAfterBind = descriptorBindingStorageBufferUpdateAfterBind;
22441 self
22442 }
22443
22444 pub fn descriptorBindingUniformTexelBufferUpdateAfterBind(mut self, descriptorBindingUniformTexelBufferUpdateAfterBind : Bool32) -> Self {
22445 self.descriptorBindingUniformTexelBufferUpdateAfterBind = descriptorBindingUniformTexelBufferUpdateAfterBind;
22446 self
22447 }
22448
22449 pub fn descriptorBindingStorageTexelBufferUpdateAfterBind(mut self, descriptorBindingStorageTexelBufferUpdateAfterBind : Bool32) -> Self {
22450 self.descriptorBindingStorageTexelBufferUpdateAfterBind = descriptorBindingStorageTexelBufferUpdateAfterBind;
22451 self
22452 }
22453
22454 pub fn descriptorBindingUpdateUnusedWhilePending(mut self, descriptorBindingUpdateUnusedWhilePending : Bool32) -> Self {
22455 self.descriptorBindingUpdateUnusedWhilePending = descriptorBindingUpdateUnusedWhilePending;
22456 self
22457 }
22458
22459 pub fn descriptorBindingPartiallyBound(mut self, descriptorBindingPartiallyBound : Bool32) -> Self {
22460 self.descriptorBindingPartiallyBound = descriptorBindingPartiallyBound;
22461 self
22462 }
22463
22464 pub fn descriptorBindingVariableDescriptorCount(mut self, descriptorBindingVariableDescriptorCount : Bool32) -> Self {
22465 self.descriptorBindingVariableDescriptorCount = descriptorBindingVariableDescriptorCount;
22466 self
22467 }
22468
22469 pub fn runtimeDescriptorArray(mut self, runtimeDescriptorArray : Bool32) -> Self {
22470 self.runtimeDescriptorArray = runtimeDescriptorArray;
22471 self
22472 }
22473
22474 pub fn samplerFilterMinmax(mut self, samplerFilterMinmax : Bool32) -> Self {
22475 self.samplerFilterMinmax = samplerFilterMinmax;
22476 self
22477 }
22478
22479 pub fn scalarBlockLayout(mut self, scalarBlockLayout : Bool32) -> Self {
22480 self.scalarBlockLayout = scalarBlockLayout;
22481 self
22482 }
22483
22484 pub fn imagelessFramebuffer(mut self, imagelessFramebuffer : Bool32) -> Self {
22485 self.imagelessFramebuffer = imagelessFramebuffer;
22486 self
22487 }
22488
22489 pub fn uniformBufferStandardLayout(mut self, uniformBufferStandardLayout : Bool32) -> Self {
22490 self.uniformBufferStandardLayout = uniformBufferStandardLayout;
22491 self
22492 }
22493
22494 pub fn shaderSubgroupExtendedTypes(mut self, shaderSubgroupExtendedTypes : Bool32) -> Self {
22495 self.shaderSubgroupExtendedTypes = shaderSubgroupExtendedTypes;
22496 self
22497 }
22498
22499 pub fn separateDepthStencilLayouts(mut self, separateDepthStencilLayouts : Bool32) -> Self {
22500 self.separateDepthStencilLayouts = separateDepthStencilLayouts;
22501 self
22502 }
22503
22504 pub fn hostQueryReset(mut self, hostQueryReset : Bool32) -> Self {
22505 self.hostQueryReset = hostQueryReset;
22506 self
22507 }
22508
22509 pub fn timelineSemaphore(mut self, timelineSemaphore : Bool32) -> Self {
22510 self.timelineSemaphore = timelineSemaphore;
22511 self
22512 }
22513
22514 pub fn bufferDeviceAddress(mut self, bufferDeviceAddress : Bool32) -> Self {
22515 self.bufferDeviceAddress = bufferDeviceAddress;
22516 self
22517 }
22518
22519 pub fn bufferDeviceAddressCaptureReplay(mut self, bufferDeviceAddressCaptureReplay : Bool32) -> Self {
22520 self.bufferDeviceAddressCaptureReplay = bufferDeviceAddressCaptureReplay;
22521 self
22522 }
22523
22524 pub fn bufferDeviceAddressMultiDevice(mut self, bufferDeviceAddressMultiDevice : Bool32) -> Self {
22525 self.bufferDeviceAddressMultiDevice = bufferDeviceAddressMultiDevice;
22526 self
22527 }
22528
22529 pub fn vulkanMemoryModel(mut self, vulkanMemoryModel : Bool32) -> Self {
22530 self.vulkanMemoryModel = vulkanMemoryModel;
22531 self
22532 }
22533
22534 pub fn vulkanMemoryModelDeviceScope(mut self, vulkanMemoryModelDeviceScope : Bool32) -> Self {
22535 self.vulkanMemoryModelDeviceScope = vulkanMemoryModelDeviceScope;
22536 self
22537 }
22538
22539 pub fn vulkanMemoryModelAvailabilityVisibilityChains(mut self, vulkanMemoryModelAvailabilityVisibilityChains : Bool32) -> Self {
22540 self.vulkanMemoryModelAvailabilityVisibilityChains = vulkanMemoryModelAvailabilityVisibilityChains;
22541 self
22542 }
22543
22544 pub fn shaderOutputViewportIndex(mut self, shaderOutputViewportIndex : Bool32) -> Self {
22545 self.shaderOutputViewportIndex = shaderOutputViewportIndex;
22546 self
22547 }
22548
22549 pub fn shaderOutputLayer(mut self, shaderOutputLayer : Bool32) -> Self {
22550 self.shaderOutputLayer = shaderOutputLayer;
22551 self
22552 }
22553
22554 pub fn subgroupBroadcastDynamicId(mut self, subgroupBroadcastDynamicId : Bool32) -> Self {
22555 self.subgroupBroadcastDynamicId = subgroupBroadcastDynamicId;
22556 self
22557 }
22558
22559}
22560
22561impl ConformanceVersion {
22562
22563 pub fn new() -> Self {
22564 Self::default()
22565 }
22566
22567 pub fn major(mut self, major : u8) -> Self {
22568 self.major = major;
22569 self
22570 }
22571
22572 pub fn minor(mut self, minor : u8) -> Self {
22573 self.minor = minor;
22574 self
22575 }
22576
22577 pub fn subminor(mut self, subminor : u8) -> Self {
22578 self.subminor = subminor;
22579 self
22580 }
22581
22582 pub fn patch(mut self, patch : u8) -> Self {
22583 self.patch = patch;
22584 self
22585 }
22586
22587}
22588
22589impl PhysicalDeviceVulkan12Properties {
22590
22591 pub fn new() -> Self {
22592 Self::default()
22593 }
22594
22595 pub fn sType(mut self, sType : StructureType) -> Self {
22596 self.sType = sType;
22597 self
22598 }
22599
22600 pub fn pNext(mut self, pNext : *mut void) -> Self {
22601 self.pNext = pNext;
22602 self
22603 }
22604
22605 pub fn driverID(mut self, driverID : DriverId) -> Self {
22606 self.driverID = driverID;
22607 self
22608 }
22609
22610 pub fn driverName(mut self, driverName : [i8;MAX_DRIVER_NAME_SIZE]) -> Self {
22611 self.driverName = driverName;
22612 self
22613 }
22614
22615 pub fn driverInfo(mut self, driverInfo : [i8;MAX_DRIVER_INFO_SIZE]) -> Self {
22616 self.driverInfo = driverInfo;
22617 self
22618 }
22619
22620 pub fn conformanceVersion(mut self, conformanceVersion : ConformanceVersion) -> Self {
22621 self.conformanceVersion = conformanceVersion;
22622 self
22623 }
22624
22625 pub fn denormBehaviorIndependence(mut self, denormBehaviorIndependence : ShaderFloatControlsIndependence) -> Self {
22626 self.denormBehaviorIndependence = denormBehaviorIndependence;
22627 self
22628 }
22629
22630 pub fn roundingModeIndependence(mut self, roundingModeIndependence : ShaderFloatControlsIndependence) -> Self {
22631 self.roundingModeIndependence = roundingModeIndependence;
22632 self
22633 }
22634
22635 pub fn shaderSignedZeroInfNanPreserveFloat16(mut self, shaderSignedZeroInfNanPreserveFloat16 : Bool32) -> Self {
22636 self.shaderSignedZeroInfNanPreserveFloat16 = shaderSignedZeroInfNanPreserveFloat16;
22637 self
22638 }
22639
22640 pub fn shaderSignedZeroInfNanPreserveFloat32(mut self, shaderSignedZeroInfNanPreserveFloat32 : Bool32) -> Self {
22641 self.shaderSignedZeroInfNanPreserveFloat32 = shaderSignedZeroInfNanPreserveFloat32;
22642 self
22643 }
22644
22645 pub fn shaderSignedZeroInfNanPreserveFloat64(mut self, shaderSignedZeroInfNanPreserveFloat64 : Bool32) -> Self {
22646 self.shaderSignedZeroInfNanPreserveFloat64 = shaderSignedZeroInfNanPreserveFloat64;
22647 self
22648 }
22649
22650 pub fn shaderDenormPreserveFloat16(mut self, shaderDenormPreserveFloat16 : Bool32) -> Self {
22651 self.shaderDenormPreserveFloat16 = shaderDenormPreserveFloat16;
22652 self
22653 }
22654
22655 pub fn shaderDenormPreserveFloat32(mut self, shaderDenormPreserveFloat32 : Bool32) -> Self {
22656 self.shaderDenormPreserveFloat32 = shaderDenormPreserveFloat32;
22657 self
22658 }
22659
22660 pub fn shaderDenormPreserveFloat64(mut self, shaderDenormPreserveFloat64 : Bool32) -> Self {
22661 self.shaderDenormPreserveFloat64 = shaderDenormPreserveFloat64;
22662 self
22663 }
22664
22665 pub fn shaderDenormFlushToZeroFloat16(mut self, shaderDenormFlushToZeroFloat16 : Bool32) -> Self {
22666 self.shaderDenormFlushToZeroFloat16 = shaderDenormFlushToZeroFloat16;
22667 self
22668 }
22669
22670 pub fn shaderDenormFlushToZeroFloat32(mut self, shaderDenormFlushToZeroFloat32 : Bool32) -> Self {
22671 self.shaderDenormFlushToZeroFloat32 = shaderDenormFlushToZeroFloat32;
22672 self
22673 }
22674
22675 pub fn shaderDenormFlushToZeroFloat64(mut self, shaderDenormFlushToZeroFloat64 : Bool32) -> Self {
22676 self.shaderDenormFlushToZeroFloat64 = shaderDenormFlushToZeroFloat64;
22677 self
22678 }
22679
22680 pub fn shaderRoundingModeRTEFloat16(mut self, shaderRoundingModeRTEFloat16 : Bool32) -> Self {
22681 self.shaderRoundingModeRTEFloat16 = shaderRoundingModeRTEFloat16;
22682 self
22683 }
22684
22685 pub fn shaderRoundingModeRTEFloat32(mut self, shaderRoundingModeRTEFloat32 : Bool32) -> Self {
22686 self.shaderRoundingModeRTEFloat32 = shaderRoundingModeRTEFloat32;
22687 self
22688 }
22689
22690 pub fn shaderRoundingModeRTEFloat64(mut self, shaderRoundingModeRTEFloat64 : Bool32) -> Self {
22691 self.shaderRoundingModeRTEFloat64 = shaderRoundingModeRTEFloat64;
22692 self
22693 }
22694
22695 pub fn shaderRoundingModeRTZFloat16(mut self, shaderRoundingModeRTZFloat16 : Bool32) -> Self {
22696 self.shaderRoundingModeRTZFloat16 = shaderRoundingModeRTZFloat16;
22697 self
22698 }
22699
22700 pub fn shaderRoundingModeRTZFloat32(mut self, shaderRoundingModeRTZFloat32 : Bool32) -> Self {
22701 self.shaderRoundingModeRTZFloat32 = shaderRoundingModeRTZFloat32;
22702 self
22703 }
22704
22705 pub fn shaderRoundingModeRTZFloat64(mut self, shaderRoundingModeRTZFloat64 : Bool32) -> Self {
22706 self.shaderRoundingModeRTZFloat64 = shaderRoundingModeRTZFloat64;
22707 self
22708 }
22709
22710 pub fn maxUpdateAfterBindDescriptorsInAllPools(mut self, maxUpdateAfterBindDescriptorsInAllPools : u32) -> Self {
22711 self.maxUpdateAfterBindDescriptorsInAllPools = maxUpdateAfterBindDescriptorsInAllPools;
22712 self
22713 }
22714
22715 pub fn shaderUniformBufferArrayNonUniformIndexingNative(mut self, shaderUniformBufferArrayNonUniformIndexingNative : Bool32) -> Self {
22716 self.shaderUniformBufferArrayNonUniformIndexingNative = shaderUniformBufferArrayNonUniformIndexingNative;
22717 self
22718 }
22719
22720 pub fn shaderSampledImageArrayNonUniformIndexingNative(mut self, shaderSampledImageArrayNonUniformIndexingNative : Bool32) -> Self {
22721 self.shaderSampledImageArrayNonUniformIndexingNative = shaderSampledImageArrayNonUniformIndexingNative;
22722 self
22723 }
22724
22725 pub fn shaderStorageBufferArrayNonUniformIndexingNative(mut self, shaderStorageBufferArrayNonUniformIndexingNative : Bool32) -> Self {
22726 self.shaderStorageBufferArrayNonUniformIndexingNative = shaderStorageBufferArrayNonUniformIndexingNative;
22727 self
22728 }
22729
22730 pub fn shaderStorageImageArrayNonUniformIndexingNative(mut self, shaderStorageImageArrayNonUniformIndexingNative : Bool32) -> Self {
22731 self.shaderStorageImageArrayNonUniformIndexingNative = shaderStorageImageArrayNonUniformIndexingNative;
22732 self
22733 }
22734
22735 pub fn shaderInputAttachmentArrayNonUniformIndexingNative(mut self, shaderInputAttachmentArrayNonUniformIndexingNative : Bool32) -> Self {
22736 self.shaderInputAttachmentArrayNonUniformIndexingNative = shaderInputAttachmentArrayNonUniformIndexingNative;
22737 self
22738 }
22739
22740 pub fn robustBufferAccessUpdateAfterBind(mut self, robustBufferAccessUpdateAfterBind : Bool32) -> Self {
22741 self.robustBufferAccessUpdateAfterBind = robustBufferAccessUpdateAfterBind;
22742 self
22743 }
22744
22745 pub fn quadDivergentImplicitLod(mut self, quadDivergentImplicitLod : Bool32) -> Self {
22746 self.quadDivergentImplicitLod = quadDivergentImplicitLod;
22747 self
22748 }
22749
22750 pub fn maxPerStageDescriptorUpdateAfterBindSamplers(mut self, maxPerStageDescriptorUpdateAfterBindSamplers : u32) -> Self {
22751 self.maxPerStageDescriptorUpdateAfterBindSamplers = maxPerStageDescriptorUpdateAfterBindSamplers;
22752 self
22753 }
22754
22755 pub fn maxPerStageDescriptorUpdateAfterBindUniformBuffers(mut self, maxPerStageDescriptorUpdateAfterBindUniformBuffers : u32) -> Self {
22756 self.maxPerStageDescriptorUpdateAfterBindUniformBuffers = maxPerStageDescriptorUpdateAfterBindUniformBuffers;
22757 self
22758 }
22759
22760 pub fn maxPerStageDescriptorUpdateAfterBindStorageBuffers(mut self, maxPerStageDescriptorUpdateAfterBindStorageBuffers : u32) -> Self {
22761 self.maxPerStageDescriptorUpdateAfterBindStorageBuffers = maxPerStageDescriptorUpdateAfterBindStorageBuffers;
22762 self
22763 }
22764
22765 pub fn maxPerStageDescriptorUpdateAfterBindSampledImages(mut self, maxPerStageDescriptorUpdateAfterBindSampledImages : u32) -> Self {
22766 self.maxPerStageDescriptorUpdateAfterBindSampledImages = maxPerStageDescriptorUpdateAfterBindSampledImages;
22767 self
22768 }
22769
22770 pub fn maxPerStageDescriptorUpdateAfterBindStorageImages(mut self, maxPerStageDescriptorUpdateAfterBindStorageImages : u32) -> Self {
22771 self.maxPerStageDescriptorUpdateAfterBindStorageImages = maxPerStageDescriptorUpdateAfterBindStorageImages;
22772 self
22773 }
22774
22775 pub fn maxPerStageDescriptorUpdateAfterBindInputAttachments(mut self, maxPerStageDescriptorUpdateAfterBindInputAttachments : u32) -> Self {
22776 self.maxPerStageDescriptorUpdateAfterBindInputAttachments = maxPerStageDescriptorUpdateAfterBindInputAttachments;
22777 self
22778 }
22779
22780 pub fn maxPerStageUpdateAfterBindResources(mut self, maxPerStageUpdateAfterBindResources : u32) -> Self {
22781 self.maxPerStageUpdateAfterBindResources = maxPerStageUpdateAfterBindResources;
22782 self
22783 }
22784
22785 pub fn maxDescriptorSetUpdateAfterBindSamplers(mut self, maxDescriptorSetUpdateAfterBindSamplers : u32) -> Self {
22786 self.maxDescriptorSetUpdateAfterBindSamplers = maxDescriptorSetUpdateAfterBindSamplers;
22787 self
22788 }
22789
22790 pub fn maxDescriptorSetUpdateAfterBindUniformBuffers(mut self, maxDescriptorSetUpdateAfterBindUniformBuffers : u32) -> Self {
22791 self.maxDescriptorSetUpdateAfterBindUniformBuffers = maxDescriptorSetUpdateAfterBindUniformBuffers;
22792 self
22793 }
22794
22795 pub fn maxDescriptorSetUpdateAfterBindUniformBuffersDynamic(mut self, maxDescriptorSetUpdateAfterBindUniformBuffersDynamic : u32) -> Self {
22796 self.maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
22797 self
22798 }
22799
22800 pub fn maxDescriptorSetUpdateAfterBindStorageBuffers(mut self, maxDescriptorSetUpdateAfterBindStorageBuffers : u32) -> Self {
22801 self.maxDescriptorSetUpdateAfterBindStorageBuffers = maxDescriptorSetUpdateAfterBindStorageBuffers;
22802 self
22803 }
22804
22805 pub fn maxDescriptorSetUpdateAfterBindStorageBuffersDynamic(mut self, maxDescriptorSetUpdateAfterBindStorageBuffersDynamic : u32) -> Self {
22806 self.maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
22807 self
22808 }
22809
22810 pub fn maxDescriptorSetUpdateAfterBindSampledImages(mut self, maxDescriptorSetUpdateAfterBindSampledImages : u32) -> Self {
22811 self.maxDescriptorSetUpdateAfterBindSampledImages = maxDescriptorSetUpdateAfterBindSampledImages;
22812 self
22813 }
22814
22815 pub fn maxDescriptorSetUpdateAfterBindStorageImages(mut self, maxDescriptorSetUpdateAfterBindStorageImages : u32) -> Self {
22816 self.maxDescriptorSetUpdateAfterBindStorageImages = maxDescriptorSetUpdateAfterBindStorageImages;
22817 self
22818 }
22819
22820 pub fn maxDescriptorSetUpdateAfterBindInputAttachments(mut self, maxDescriptorSetUpdateAfterBindInputAttachments : u32) -> Self {
22821 self.maxDescriptorSetUpdateAfterBindInputAttachments = maxDescriptorSetUpdateAfterBindInputAttachments;
22822 self
22823 }
22824
22825 pub fn supportedDepthResolveModes(mut self, supportedDepthResolveModes : ResolveModeFlags) -> Self {
22826 self.supportedDepthResolveModes = supportedDepthResolveModes;
22827 self
22828 }
22829
22830 pub fn supportedStencilResolveModes(mut self, supportedStencilResolveModes : ResolveModeFlags) -> Self {
22831 self.supportedStencilResolveModes = supportedStencilResolveModes;
22832 self
22833 }
22834
22835 pub fn independentResolveNone(mut self, independentResolveNone : Bool32) -> Self {
22836 self.independentResolveNone = independentResolveNone;
22837 self
22838 }
22839
22840 pub fn independentResolve(mut self, independentResolve : Bool32) -> Self {
22841 self.independentResolve = independentResolve;
22842 self
22843 }
22844
22845 pub fn filterMinmaxSingleComponentFormats(mut self, filterMinmaxSingleComponentFormats : Bool32) -> Self {
22846 self.filterMinmaxSingleComponentFormats = filterMinmaxSingleComponentFormats;
22847 self
22848 }
22849
22850 pub fn filterMinmaxImageComponentMapping(mut self, filterMinmaxImageComponentMapping : Bool32) -> Self {
22851 self.filterMinmaxImageComponentMapping = filterMinmaxImageComponentMapping;
22852 self
22853 }
22854
22855 pub fn maxTimelineSemaphoreValueDifference(mut self, maxTimelineSemaphoreValueDifference : u64) -> Self {
22856 self.maxTimelineSemaphoreValueDifference = maxTimelineSemaphoreValueDifference;
22857 self
22858 }
22859
22860 pub fn framebufferIntegerColorSampleCounts(mut self, framebufferIntegerColorSampleCounts : SampleCountFlags) -> Self {
22861 self.framebufferIntegerColorSampleCounts = framebufferIntegerColorSampleCounts;
22862 self
22863 }
22864
22865}
22866
22867impl ImageFormatListCreateInfo {
22868
22869 pub fn new() -> Self {
22870 Self::default()
22871 }
22872
22873 pub fn sType(mut self, sType : StructureType) -> Self {
22874 self.sType = sType;
22875 self
22876 }
22877
22878 pub fn pNext(mut self, pNext : *const void) -> Self {
22879 self.pNext = pNext;
22880 self
22881 }
22882
22883 pub fn viewFormatCount(mut self, viewFormatCount : u32) -> Self {
22884 self.viewFormatCount = viewFormatCount;
22885 self
22886 }
22887
22888 pub fn pViewFormats(mut self, pViewFormats : *const Format) -> Self {
22889 self.pViewFormats = pViewFormats;
22890 self
22891 }
22892
22893}
22894
22895impl AttachmentDescription2 {
22896
22897 pub fn new() -> Self {
22898 Self::default()
22899 }
22900
22901 pub fn sType(mut self, sType : StructureType) -> Self {
22902 self.sType = sType;
22903 self
22904 }
22905
22906 pub fn pNext(mut self, pNext : *const void) -> Self {
22907 self.pNext = pNext;
22908 self
22909 }
22910
22911 pub fn flags(mut self, flags : AttachmentDescriptionFlags) -> Self {
22912 self.flags = flags;
22913 self
22914 }
22915
22916 pub fn format(mut self, format : Format) -> Self {
22917 self.format = format;
22918 self
22919 }
22920
22921 pub fn samples(mut self, samples : SampleCountFlagBits) -> Self {
22922 self.samples = samples;
22923 self
22924 }
22925
22926 pub fn loadOp(mut self, loadOp : AttachmentLoadOp) -> Self {
22927 self.loadOp = loadOp;
22928 self
22929 }
22930
22931 pub fn storeOp(mut self, storeOp : AttachmentStoreOp) -> Self {
22932 self.storeOp = storeOp;
22933 self
22934 }
22935
22936 pub fn stencilLoadOp(mut self, stencilLoadOp : AttachmentLoadOp) -> Self {
22937 self.stencilLoadOp = stencilLoadOp;
22938 self
22939 }
22940
22941 pub fn stencilStoreOp(mut self, stencilStoreOp : AttachmentStoreOp) -> Self {
22942 self.stencilStoreOp = stencilStoreOp;
22943 self
22944 }
22945
22946 pub fn initialLayout(mut self, initialLayout : ImageLayout) -> Self {
22947 self.initialLayout = initialLayout;
22948 self
22949 }
22950
22951 pub fn finalLayout(mut self, finalLayout : ImageLayout) -> Self {
22952 self.finalLayout = finalLayout;
22953 self
22954 }
22955
22956}
22957
22958impl AttachmentReference2 {
22959
22960 pub fn new() -> Self {
22961 Self::default()
22962 }
22963
22964 pub fn sType(mut self, sType : StructureType) -> Self {
22965 self.sType = sType;
22966 self
22967 }
22968
22969 pub fn pNext(mut self, pNext : *const void) -> Self {
22970 self.pNext = pNext;
22971 self
22972 }
22973
22974 pub fn attachment(mut self, attachment : u32) -> Self {
22975 self.attachment = attachment;
22976 self
22977 }
22978
22979 pub fn layout(mut self, layout : ImageLayout) -> Self {
22980 self.layout = layout;
22981 self
22982 }
22983
22984 pub fn aspectMask(mut self, aspectMask : ImageAspectFlags) -> Self {
22985 self.aspectMask = aspectMask;
22986 self
22987 }
22988
22989}
22990
22991impl SubpassDescription2 {
22992
22993 pub fn new() -> Self {
22994 Self::default()
22995 }
22996
22997 pub fn sType(mut self, sType : StructureType) -> Self {
22998 self.sType = sType;
22999 self
23000 }
23001
23002 pub fn pNext(mut self, pNext : *const void) -> Self {
23003 self.pNext = pNext;
23004 self
23005 }
23006
23007 pub fn flags(mut self, flags : SubpassDescriptionFlags) -> Self {
23008 self.flags = flags;
23009 self
23010 }
23011
23012 pub fn pipelineBindPoint(mut self, pipelineBindPoint : PipelineBindPoint) -> Self {
23013 self.pipelineBindPoint = pipelineBindPoint;
23014 self
23015 }
23016
23017 pub fn viewMask(mut self, viewMask : u32) -> Self {
23018 self.viewMask = viewMask;
23019 self
23020 }
23021
23022 pub fn inputAttachmentCount(mut self, inputAttachmentCount : u32) -> Self {
23023 self.inputAttachmentCount = inputAttachmentCount;
23024 self
23025 }
23026
23027 pub fn pInputAttachments(mut self, pInputAttachments : *const AttachmentReference2) -> Self {
23028 self.pInputAttachments = pInputAttachments;
23029 self
23030 }
23031
23032 pub fn colorAttachmentCount(mut self, colorAttachmentCount : u32) -> Self {
23033 self.colorAttachmentCount = colorAttachmentCount;
23034 self
23035 }
23036
23037 pub fn pColorAttachments(mut self, pColorAttachments : *const AttachmentReference2) -> Self {
23038 self.pColorAttachments = pColorAttachments;
23039 self
23040 }
23041
23042 pub fn pResolveAttachments(mut self, pResolveAttachments : *const AttachmentReference2) -> Self {
23043 self.pResolveAttachments = pResolveAttachments;
23044 self
23045 }
23046
23047 pub fn pDepthStencilAttachment(mut self, pDepthStencilAttachment : *const AttachmentReference2) -> Self {
23048 self.pDepthStencilAttachment = pDepthStencilAttachment;
23049 self
23050 }
23051
23052 pub fn preserveAttachmentCount(mut self, preserveAttachmentCount : u32) -> Self {
23053 self.preserveAttachmentCount = preserveAttachmentCount;
23054 self
23055 }
23056
23057 pub fn pPreserveAttachments(mut self, pPreserveAttachments : *const u32) -> Self {
23058 self.pPreserveAttachments = pPreserveAttachments;
23059 self
23060 }
23061
23062}
23063
23064impl SubpassDependency2 {
23065
23066 pub fn new() -> Self {
23067 Self::default()
23068 }
23069
23070 pub fn sType(mut self, sType : StructureType) -> Self {
23071 self.sType = sType;
23072 self
23073 }
23074
23075 pub fn pNext(mut self, pNext : *const void) -> Self {
23076 self.pNext = pNext;
23077 self
23078 }
23079
23080 pub fn srcSubpass(mut self, srcSubpass : u32) -> Self {
23081 self.srcSubpass = srcSubpass;
23082 self
23083 }
23084
23085 pub fn dstSubpass(mut self, dstSubpass : u32) -> Self {
23086 self.dstSubpass = dstSubpass;
23087 self
23088 }
23089
23090 pub fn srcStageMask(mut self, srcStageMask : PipelineStageFlags) -> Self {
23091 self.srcStageMask = srcStageMask;
23092 self
23093 }
23094
23095 pub fn dstStageMask(mut self, dstStageMask : PipelineStageFlags) -> Self {
23096 self.dstStageMask = dstStageMask;
23097 self
23098 }
23099
23100 pub fn srcAccessMask(mut self, srcAccessMask : AccessFlags) -> Self {
23101 self.srcAccessMask = srcAccessMask;
23102 self
23103 }
23104
23105 pub fn dstAccessMask(mut self, dstAccessMask : AccessFlags) -> Self {
23106 self.dstAccessMask = dstAccessMask;
23107 self
23108 }
23109
23110 pub fn dependencyFlags(mut self, dependencyFlags : DependencyFlags) -> Self {
23111 self.dependencyFlags = dependencyFlags;
23112 self
23113 }
23114
23115 pub fn viewOffset(mut self, viewOffset : i32) -> Self {
23116 self.viewOffset = viewOffset;
23117 self
23118 }
23119
23120}
23121
23122impl RenderPassCreateInfo2 {
23123
23124 pub fn new() -> Self {
23125 Self::default()
23126 }
23127
23128 pub fn sType(mut self, sType : StructureType) -> Self {
23129 self.sType = sType;
23130 self
23131 }
23132
23133 pub fn pNext(mut self, pNext : *const void) -> Self {
23134 self.pNext = pNext;
23135 self
23136 }
23137
23138 pub fn flags(mut self, flags : RenderPassCreateFlags) -> Self {
23139 self.flags = flags;
23140 self
23141 }
23142
23143 pub fn attachmentCount(mut self, attachmentCount : u32) -> Self {
23144 self.attachmentCount = attachmentCount;
23145 self
23146 }
23147
23148 pub fn pAttachments(mut self, pAttachments : *const AttachmentDescription2) -> Self {
23149 self.pAttachments = pAttachments;
23150 self
23151 }
23152
23153 pub fn subpassCount(mut self, subpassCount : u32) -> Self {
23154 self.subpassCount = subpassCount;
23155 self
23156 }
23157
23158 pub fn pSubpasses(mut self, pSubpasses : *const SubpassDescription2) -> Self {
23159 self.pSubpasses = pSubpasses;
23160 self
23161 }
23162
23163 pub fn dependencyCount(mut self, dependencyCount : u32) -> Self {
23164 self.dependencyCount = dependencyCount;
23165 self
23166 }
23167
23168 pub fn pDependencies(mut self, pDependencies : *const SubpassDependency2) -> Self {
23169 self.pDependencies = pDependencies;
23170 self
23171 }
23172
23173 pub fn correlatedViewMaskCount(mut self, correlatedViewMaskCount : u32) -> Self {
23174 self.correlatedViewMaskCount = correlatedViewMaskCount;
23175 self
23176 }
23177
23178 pub fn pCorrelatedViewMasks(mut self, pCorrelatedViewMasks : *const u32) -> Self {
23179 self.pCorrelatedViewMasks = pCorrelatedViewMasks;
23180 self
23181 }
23182
23183}
23184
23185impl SubpassBeginInfo {
23186
23187 pub fn new() -> Self {
23188 Self::default()
23189 }
23190
23191 pub fn sType(mut self, sType : StructureType) -> Self {
23192 self.sType = sType;
23193 self
23194 }
23195
23196 pub fn pNext(mut self, pNext : *const void) -> Self {
23197 self.pNext = pNext;
23198 self
23199 }
23200
23201 pub fn contents(mut self, contents : SubpassContents) -> Self {
23202 self.contents = contents;
23203 self
23204 }
23205
23206}
23207
23208impl SubpassEndInfo {
23209
23210 pub fn new() -> Self {
23211 Self::default()
23212 }
23213
23214 pub fn sType(mut self, sType : StructureType) -> Self {
23215 self.sType = sType;
23216 self
23217 }
23218
23219 pub fn pNext(mut self, pNext : *const void) -> Self {
23220 self.pNext = pNext;
23221 self
23222 }
23223
23224}
23225
23226impl PhysicalDevice8BitStorageFeatures {
23227
23228 pub fn new() -> Self {
23229 Self::default()
23230 }
23231
23232 pub fn sType(mut self, sType : StructureType) -> Self {
23233 self.sType = sType;
23234 self
23235 }
23236
23237 pub fn pNext(mut self, pNext : *mut void) -> Self {
23238 self.pNext = pNext;
23239 self
23240 }
23241
23242 pub fn storageBuffer8BitAccess(mut self, storageBuffer8BitAccess : Bool32) -> Self {
23243 self.storageBuffer8BitAccess = storageBuffer8BitAccess;
23244 self
23245 }
23246
23247 pub fn uniformAndStorageBuffer8BitAccess(mut self, uniformAndStorageBuffer8BitAccess : Bool32) -> Self {
23248 self.uniformAndStorageBuffer8BitAccess = uniformAndStorageBuffer8BitAccess;
23249 self
23250 }
23251
23252 pub fn storagePushConstant8(mut self, storagePushConstant8 : Bool32) -> Self {
23253 self.storagePushConstant8 = storagePushConstant8;
23254 self
23255 }
23256
23257}
23258
23259impl PhysicalDeviceDriverProperties {
23260
23261 pub fn new() -> Self {
23262 Self::default()
23263 }
23264
23265 pub fn sType(mut self, sType : StructureType) -> Self {
23266 self.sType = sType;
23267 self
23268 }
23269
23270 pub fn pNext(mut self, pNext : *mut void) -> Self {
23271 self.pNext = pNext;
23272 self
23273 }
23274
23275 pub fn driverID(mut self, driverID : DriverId) -> Self {
23276 self.driverID = driverID;
23277 self
23278 }
23279
23280 pub fn driverName(mut self, driverName : [i8;MAX_DRIVER_NAME_SIZE]) -> Self {
23281 self.driverName = driverName;
23282 self
23283 }
23284
23285 pub fn driverInfo(mut self, driverInfo : [i8;MAX_DRIVER_INFO_SIZE]) -> Self {
23286 self.driverInfo = driverInfo;
23287 self
23288 }
23289
23290 pub fn conformanceVersion(mut self, conformanceVersion : ConformanceVersion) -> Self {
23291 self.conformanceVersion = conformanceVersion;
23292 self
23293 }
23294
23295}
23296
23297impl PhysicalDeviceShaderAtomicInt64Features {
23298
23299 pub fn new() -> Self {
23300 Self::default()
23301 }
23302
23303 pub fn sType(mut self, sType : StructureType) -> Self {
23304 self.sType = sType;
23305 self
23306 }
23307
23308 pub fn pNext(mut self, pNext : *mut void) -> Self {
23309 self.pNext = pNext;
23310 self
23311 }
23312
23313 pub fn shaderBufferInt64Atomics(mut self, shaderBufferInt64Atomics : Bool32) -> Self {
23314 self.shaderBufferInt64Atomics = shaderBufferInt64Atomics;
23315 self
23316 }
23317
23318 pub fn shaderSharedInt64Atomics(mut self, shaderSharedInt64Atomics : Bool32) -> Self {
23319 self.shaderSharedInt64Atomics = shaderSharedInt64Atomics;
23320 self
23321 }
23322
23323}
23324
23325impl PhysicalDeviceShaderFloat16Int8Features {
23326
23327 pub fn new() -> Self {
23328 Self::default()
23329 }
23330
23331 pub fn sType(mut self, sType : StructureType) -> Self {
23332 self.sType = sType;
23333 self
23334 }
23335
23336 pub fn pNext(mut self, pNext : *mut void) -> Self {
23337 self.pNext = pNext;
23338 self
23339 }
23340
23341 pub fn shaderFloat16(mut self, shaderFloat16 : Bool32) -> Self {
23342 self.shaderFloat16 = shaderFloat16;
23343 self
23344 }
23345
23346 pub fn shaderInt8(mut self, shaderInt8 : Bool32) -> Self {
23347 self.shaderInt8 = shaderInt8;
23348 self
23349 }
23350
23351}
23352
23353impl PhysicalDeviceFloatControlsProperties {
23354
23355 pub fn new() -> Self {
23356 Self::default()
23357 }
23358
23359 pub fn sType(mut self, sType : StructureType) -> Self {
23360 self.sType = sType;
23361 self
23362 }
23363
23364 pub fn pNext(mut self, pNext : *mut void) -> Self {
23365 self.pNext = pNext;
23366 self
23367 }
23368
23369 pub fn denormBehaviorIndependence(mut self, denormBehaviorIndependence : ShaderFloatControlsIndependence) -> Self {
23370 self.denormBehaviorIndependence = denormBehaviorIndependence;
23371 self
23372 }
23373
23374 pub fn roundingModeIndependence(mut self, roundingModeIndependence : ShaderFloatControlsIndependence) -> Self {
23375 self.roundingModeIndependence = roundingModeIndependence;
23376 self
23377 }
23378
23379 pub fn shaderSignedZeroInfNanPreserveFloat16(mut self, shaderSignedZeroInfNanPreserveFloat16 : Bool32) -> Self {
23380 self.shaderSignedZeroInfNanPreserveFloat16 = shaderSignedZeroInfNanPreserveFloat16;
23381 self
23382 }
23383
23384 pub fn shaderSignedZeroInfNanPreserveFloat32(mut self, shaderSignedZeroInfNanPreserveFloat32 : Bool32) -> Self {
23385 self.shaderSignedZeroInfNanPreserveFloat32 = shaderSignedZeroInfNanPreserveFloat32;
23386 self
23387 }
23388
23389 pub fn shaderSignedZeroInfNanPreserveFloat64(mut self, shaderSignedZeroInfNanPreserveFloat64 : Bool32) -> Self {
23390 self.shaderSignedZeroInfNanPreserveFloat64 = shaderSignedZeroInfNanPreserveFloat64;
23391 self
23392 }
23393
23394 pub fn shaderDenormPreserveFloat16(mut self, shaderDenormPreserveFloat16 : Bool32) -> Self {
23395 self.shaderDenormPreserveFloat16 = shaderDenormPreserveFloat16;
23396 self
23397 }
23398
23399 pub fn shaderDenormPreserveFloat32(mut self, shaderDenormPreserveFloat32 : Bool32) -> Self {
23400 self.shaderDenormPreserveFloat32 = shaderDenormPreserveFloat32;
23401 self
23402 }
23403
23404 pub fn shaderDenormPreserveFloat64(mut self, shaderDenormPreserveFloat64 : Bool32) -> Self {
23405 self.shaderDenormPreserveFloat64 = shaderDenormPreserveFloat64;
23406 self
23407 }
23408
23409 pub fn shaderDenormFlushToZeroFloat16(mut self, shaderDenormFlushToZeroFloat16 : Bool32) -> Self {
23410 self.shaderDenormFlushToZeroFloat16 = shaderDenormFlushToZeroFloat16;
23411 self
23412 }
23413
23414 pub fn shaderDenormFlushToZeroFloat32(mut self, shaderDenormFlushToZeroFloat32 : Bool32) -> Self {
23415 self.shaderDenormFlushToZeroFloat32 = shaderDenormFlushToZeroFloat32;
23416 self
23417 }
23418
23419 pub fn shaderDenormFlushToZeroFloat64(mut self, shaderDenormFlushToZeroFloat64 : Bool32) -> Self {
23420 self.shaderDenormFlushToZeroFloat64 = shaderDenormFlushToZeroFloat64;
23421 self
23422 }
23423
23424 pub fn shaderRoundingModeRTEFloat16(mut self, shaderRoundingModeRTEFloat16 : Bool32) -> Self {
23425 self.shaderRoundingModeRTEFloat16 = shaderRoundingModeRTEFloat16;
23426 self
23427 }
23428
23429 pub fn shaderRoundingModeRTEFloat32(mut self, shaderRoundingModeRTEFloat32 : Bool32) -> Self {
23430 self.shaderRoundingModeRTEFloat32 = shaderRoundingModeRTEFloat32;
23431 self
23432 }
23433
23434 pub fn shaderRoundingModeRTEFloat64(mut self, shaderRoundingModeRTEFloat64 : Bool32) -> Self {
23435 self.shaderRoundingModeRTEFloat64 = shaderRoundingModeRTEFloat64;
23436 self
23437 }
23438
23439 pub fn shaderRoundingModeRTZFloat16(mut self, shaderRoundingModeRTZFloat16 : Bool32) -> Self {
23440 self.shaderRoundingModeRTZFloat16 = shaderRoundingModeRTZFloat16;
23441 self
23442 }
23443
23444 pub fn shaderRoundingModeRTZFloat32(mut self, shaderRoundingModeRTZFloat32 : Bool32) -> Self {
23445 self.shaderRoundingModeRTZFloat32 = shaderRoundingModeRTZFloat32;
23446 self
23447 }
23448
23449 pub fn shaderRoundingModeRTZFloat64(mut self, shaderRoundingModeRTZFloat64 : Bool32) -> Self {
23450 self.shaderRoundingModeRTZFloat64 = shaderRoundingModeRTZFloat64;
23451 self
23452 }
23453
23454}
23455
23456impl DescriptorSetLayoutBindingFlagsCreateInfo {
23457
23458 pub fn new() -> Self {
23459 Self::default()
23460 }
23461
23462 pub fn sType(mut self, sType : StructureType) -> Self {
23463 self.sType = sType;
23464 self
23465 }
23466
23467 pub fn pNext(mut self, pNext : *const void) -> Self {
23468 self.pNext = pNext;
23469 self
23470 }
23471
23472 pub fn bindingCount(mut self, bindingCount : u32) -> Self {
23473 self.bindingCount = bindingCount;
23474 self
23475 }
23476
23477 pub fn pBindingFlags(mut self, pBindingFlags : *const DescriptorBindingFlags) -> Self {
23478 self.pBindingFlags = pBindingFlags;
23479 self
23480 }
23481
23482}
23483
23484impl PhysicalDeviceDescriptorIndexingFeatures {
23485
23486 pub fn new() -> Self {
23487 Self::default()
23488 }
23489
23490 pub fn sType(mut self, sType : StructureType) -> Self {
23491 self.sType = sType;
23492 self
23493 }
23494
23495 pub fn pNext(mut self, pNext : *mut void) -> Self {
23496 self.pNext = pNext;
23497 self
23498 }
23499
23500 pub fn shaderInputAttachmentArrayDynamicIndexing(mut self, shaderInputAttachmentArrayDynamicIndexing : Bool32) -> Self {
23501 self.shaderInputAttachmentArrayDynamicIndexing = shaderInputAttachmentArrayDynamicIndexing;
23502 self
23503 }
23504
23505 pub fn shaderUniformTexelBufferArrayDynamicIndexing(mut self, shaderUniformTexelBufferArrayDynamicIndexing : Bool32) -> Self {
23506 self.shaderUniformTexelBufferArrayDynamicIndexing = shaderUniformTexelBufferArrayDynamicIndexing;
23507 self
23508 }
23509
23510 pub fn shaderStorageTexelBufferArrayDynamicIndexing(mut self, shaderStorageTexelBufferArrayDynamicIndexing : Bool32) -> Self {
23511 self.shaderStorageTexelBufferArrayDynamicIndexing = shaderStorageTexelBufferArrayDynamicIndexing;
23512 self
23513 }
23514
23515 pub fn shaderUniformBufferArrayNonUniformIndexing(mut self, shaderUniformBufferArrayNonUniformIndexing : Bool32) -> Self {
23516 self.shaderUniformBufferArrayNonUniformIndexing = shaderUniformBufferArrayNonUniformIndexing;
23517 self
23518 }
23519
23520 pub fn shaderSampledImageArrayNonUniformIndexing(mut self, shaderSampledImageArrayNonUniformIndexing : Bool32) -> Self {
23521 self.shaderSampledImageArrayNonUniformIndexing = shaderSampledImageArrayNonUniformIndexing;
23522 self
23523 }
23524
23525 pub fn shaderStorageBufferArrayNonUniformIndexing(mut self, shaderStorageBufferArrayNonUniformIndexing : Bool32) -> Self {
23526 self.shaderStorageBufferArrayNonUniformIndexing = shaderStorageBufferArrayNonUniformIndexing;
23527 self
23528 }
23529
23530 pub fn shaderStorageImageArrayNonUniformIndexing(mut self, shaderStorageImageArrayNonUniformIndexing : Bool32) -> Self {
23531 self.shaderStorageImageArrayNonUniformIndexing = shaderStorageImageArrayNonUniformIndexing;
23532 self
23533 }
23534
23535 pub fn shaderInputAttachmentArrayNonUniformIndexing(mut self, shaderInputAttachmentArrayNonUniformIndexing : Bool32) -> Self {
23536 self.shaderInputAttachmentArrayNonUniformIndexing = shaderInputAttachmentArrayNonUniformIndexing;
23537 self
23538 }
23539
23540 pub fn shaderUniformTexelBufferArrayNonUniformIndexing(mut self, shaderUniformTexelBufferArrayNonUniformIndexing : Bool32) -> Self {
23541 self.shaderUniformTexelBufferArrayNonUniformIndexing = shaderUniformTexelBufferArrayNonUniformIndexing;
23542 self
23543 }
23544
23545 pub fn shaderStorageTexelBufferArrayNonUniformIndexing(mut self, shaderStorageTexelBufferArrayNonUniformIndexing : Bool32) -> Self {
23546 self.shaderStorageTexelBufferArrayNonUniformIndexing = shaderStorageTexelBufferArrayNonUniformIndexing;
23547 self
23548 }
23549
23550 pub fn descriptorBindingUniformBufferUpdateAfterBind(mut self, descriptorBindingUniformBufferUpdateAfterBind : Bool32) -> Self {
23551 self.descriptorBindingUniformBufferUpdateAfterBind = descriptorBindingUniformBufferUpdateAfterBind;
23552 self
23553 }
23554
23555 pub fn descriptorBindingSampledImageUpdateAfterBind(mut self, descriptorBindingSampledImageUpdateAfterBind : Bool32) -> Self {
23556 self.descriptorBindingSampledImageUpdateAfterBind = descriptorBindingSampledImageUpdateAfterBind;
23557 self
23558 }
23559
23560 pub fn descriptorBindingStorageImageUpdateAfterBind(mut self, descriptorBindingStorageImageUpdateAfterBind : Bool32) -> Self {
23561 self.descriptorBindingStorageImageUpdateAfterBind = descriptorBindingStorageImageUpdateAfterBind;
23562 self
23563 }
23564
23565 pub fn descriptorBindingStorageBufferUpdateAfterBind(mut self, descriptorBindingStorageBufferUpdateAfterBind : Bool32) -> Self {
23566 self.descriptorBindingStorageBufferUpdateAfterBind = descriptorBindingStorageBufferUpdateAfterBind;
23567 self
23568 }
23569
23570 pub fn descriptorBindingUniformTexelBufferUpdateAfterBind(mut self, descriptorBindingUniformTexelBufferUpdateAfterBind : Bool32) -> Self {
23571 self.descriptorBindingUniformTexelBufferUpdateAfterBind = descriptorBindingUniformTexelBufferUpdateAfterBind;
23572 self
23573 }
23574
23575 pub fn descriptorBindingStorageTexelBufferUpdateAfterBind(mut self, descriptorBindingStorageTexelBufferUpdateAfterBind : Bool32) -> Self {
23576 self.descriptorBindingStorageTexelBufferUpdateAfterBind = descriptorBindingStorageTexelBufferUpdateAfterBind;
23577 self
23578 }
23579
23580 pub fn descriptorBindingUpdateUnusedWhilePending(mut self, descriptorBindingUpdateUnusedWhilePending : Bool32) -> Self {
23581 self.descriptorBindingUpdateUnusedWhilePending = descriptorBindingUpdateUnusedWhilePending;
23582 self
23583 }
23584
23585 pub fn descriptorBindingPartiallyBound(mut self, descriptorBindingPartiallyBound : Bool32) -> Self {
23586 self.descriptorBindingPartiallyBound = descriptorBindingPartiallyBound;
23587 self
23588 }
23589
23590 pub fn descriptorBindingVariableDescriptorCount(mut self, descriptorBindingVariableDescriptorCount : Bool32) -> Self {
23591 self.descriptorBindingVariableDescriptorCount = descriptorBindingVariableDescriptorCount;
23592 self
23593 }
23594
23595 pub fn runtimeDescriptorArray(mut self, runtimeDescriptorArray : Bool32) -> Self {
23596 self.runtimeDescriptorArray = runtimeDescriptorArray;
23597 self
23598 }
23599
23600}
23601
23602impl PhysicalDeviceDescriptorIndexingProperties {
23603
23604 pub fn new() -> Self {
23605 Self::default()
23606 }
23607
23608 pub fn sType(mut self, sType : StructureType) -> Self {
23609 self.sType = sType;
23610 self
23611 }
23612
23613 pub fn pNext(mut self, pNext : *mut void) -> Self {
23614 self.pNext = pNext;
23615 self
23616 }
23617
23618 pub fn maxUpdateAfterBindDescriptorsInAllPools(mut self, maxUpdateAfterBindDescriptorsInAllPools : u32) -> Self {
23619 self.maxUpdateAfterBindDescriptorsInAllPools = maxUpdateAfterBindDescriptorsInAllPools;
23620 self
23621 }
23622
23623 pub fn shaderUniformBufferArrayNonUniformIndexingNative(mut self, shaderUniformBufferArrayNonUniformIndexingNative : Bool32) -> Self {
23624 self.shaderUniformBufferArrayNonUniformIndexingNative = shaderUniformBufferArrayNonUniformIndexingNative;
23625 self
23626 }
23627
23628 pub fn shaderSampledImageArrayNonUniformIndexingNative(mut self, shaderSampledImageArrayNonUniformIndexingNative : Bool32) -> Self {
23629 self.shaderSampledImageArrayNonUniformIndexingNative = shaderSampledImageArrayNonUniformIndexingNative;
23630 self
23631 }
23632
23633 pub fn shaderStorageBufferArrayNonUniformIndexingNative(mut self, shaderStorageBufferArrayNonUniformIndexingNative : Bool32) -> Self {
23634 self.shaderStorageBufferArrayNonUniformIndexingNative = shaderStorageBufferArrayNonUniformIndexingNative;
23635 self
23636 }
23637
23638 pub fn shaderStorageImageArrayNonUniformIndexingNative(mut self, shaderStorageImageArrayNonUniformIndexingNative : Bool32) -> Self {
23639 self.shaderStorageImageArrayNonUniformIndexingNative = shaderStorageImageArrayNonUniformIndexingNative;
23640 self
23641 }
23642
23643 pub fn shaderInputAttachmentArrayNonUniformIndexingNative(mut self, shaderInputAttachmentArrayNonUniformIndexingNative : Bool32) -> Self {
23644 self.shaderInputAttachmentArrayNonUniformIndexingNative = shaderInputAttachmentArrayNonUniformIndexingNative;
23645 self
23646 }
23647
23648 pub fn robustBufferAccessUpdateAfterBind(mut self, robustBufferAccessUpdateAfterBind : Bool32) -> Self {
23649 self.robustBufferAccessUpdateAfterBind = robustBufferAccessUpdateAfterBind;
23650 self
23651 }
23652
23653 pub fn quadDivergentImplicitLod(mut self, quadDivergentImplicitLod : Bool32) -> Self {
23654 self.quadDivergentImplicitLod = quadDivergentImplicitLod;
23655 self
23656 }
23657
23658 pub fn maxPerStageDescriptorUpdateAfterBindSamplers(mut self, maxPerStageDescriptorUpdateAfterBindSamplers : u32) -> Self {
23659 self.maxPerStageDescriptorUpdateAfterBindSamplers = maxPerStageDescriptorUpdateAfterBindSamplers;
23660 self
23661 }
23662
23663 pub fn maxPerStageDescriptorUpdateAfterBindUniformBuffers(mut self, maxPerStageDescriptorUpdateAfterBindUniformBuffers : u32) -> Self {
23664 self.maxPerStageDescriptorUpdateAfterBindUniformBuffers = maxPerStageDescriptorUpdateAfterBindUniformBuffers;
23665 self
23666 }
23667
23668 pub fn maxPerStageDescriptorUpdateAfterBindStorageBuffers(mut self, maxPerStageDescriptorUpdateAfterBindStorageBuffers : u32) -> Self {
23669 self.maxPerStageDescriptorUpdateAfterBindStorageBuffers = maxPerStageDescriptorUpdateAfterBindStorageBuffers;
23670 self
23671 }
23672
23673 pub fn maxPerStageDescriptorUpdateAfterBindSampledImages(mut self, maxPerStageDescriptorUpdateAfterBindSampledImages : u32) -> Self {
23674 self.maxPerStageDescriptorUpdateAfterBindSampledImages = maxPerStageDescriptorUpdateAfterBindSampledImages;
23675 self
23676 }
23677
23678 pub fn maxPerStageDescriptorUpdateAfterBindStorageImages(mut self, maxPerStageDescriptorUpdateAfterBindStorageImages : u32) -> Self {
23679 self.maxPerStageDescriptorUpdateAfterBindStorageImages = maxPerStageDescriptorUpdateAfterBindStorageImages;
23680 self
23681 }
23682
23683 pub fn maxPerStageDescriptorUpdateAfterBindInputAttachments(mut self, maxPerStageDescriptorUpdateAfterBindInputAttachments : u32) -> Self {
23684 self.maxPerStageDescriptorUpdateAfterBindInputAttachments = maxPerStageDescriptorUpdateAfterBindInputAttachments;
23685 self
23686 }
23687
23688 pub fn maxPerStageUpdateAfterBindResources(mut self, maxPerStageUpdateAfterBindResources : u32) -> Self {
23689 self.maxPerStageUpdateAfterBindResources = maxPerStageUpdateAfterBindResources;
23690 self
23691 }
23692
23693 pub fn maxDescriptorSetUpdateAfterBindSamplers(mut self, maxDescriptorSetUpdateAfterBindSamplers : u32) -> Self {
23694 self.maxDescriptorSetUpdateAfterBindSamplers = maxDescriptorSetUpdateAfterBindSamplers;
23695 self
23696 }
23697
23698 pub fn maxDescriptorSetUpdateAfterBindUniformBuffers(mut self, maxDescriptorSetUpdateAfterBindUniformBuffers : u32) -> Self {
23699 self.maxDescriptorSetUpdateAfterBindUniformBuffers = maxDescriptorSetUpdateAfterBindUniformBuffers;
23700 self
23701 }
23702
23703 pub fn maxDescriptorSetUpdateAfterBindUniformBuffersDynamic(mut self, maxDescriptorSetUpdateAfterBindUniformBuffersDynamic : u32) -> Self {
23704 self.maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
23705 self
23706 }
23707
23708 pub fn maxDescriptorSetUpdateAfterBindStorageBuffers(mut self, maxDescriptorSetUpdateAfterBindStorageBuffers : u32) -> Self {
23709 self.maxDescriptorSetUpdateAfterBindStorageBuffers = maxDescriptorSetUpdateAfterBindStorageBuffers;
23710 self
23711 }
23712
23713 pub fn maxDescriptorSetUpdateAfterBindStorageBuffersDynamic(mut self, maxDescriptorSetUpdateAfterBindStorageBuffersDynamic : u32) -> Self {
23714 self.maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
23715 self
23716 }
23717
23718 pub fn maxDescriptorSetUpdateAfterBindSampledImages(mut self, maxDescriptorSetUpdateAfterBindSampledImages : u32) -> Self {
23719 self.maxDescriptorSetUpdateAfterBindSampledImages = maxDescriptorSetUpdateAfterBindSampledImages;
23720 self
23721 }
23722
23723 pub fn maxDescriptorSetUpdateAfterBindStorageImages(mut self, maxDescriptorSetUpdateAfterBindStorageImages : u32) -> Self {
23724 self.maxDescriptorSetUpdateAfterBindStorageImages = maxDescriptorSetUpdateAfterBindStorageImages;
23725 self
23726 }
23727
23728 pub fn maxDescriptorSetUpdateAfterBindInputAttachments(mut self, maxDescriptorSetUpdateAfterBindInputAttachments : u32) -> Self {
23729 self.maxDescriptorSetUpdateAfterBindInputAttachments = maxDescriptorSetUpdateAfterBindInputAttachments;
23730 self
23731 }
23732
23733}
23734
23735impl DescriptorSetVariableDescriptorCountAllocateInfo {
23736
23737 pub fn new() -> Self {
23738 Self::default()
23739 }
23740
23741 pub fn sType(mut self, sType : StructureType) -> Self {
23742 self.sType = sType;
23743 self
23744 }
23745
23746 pub fn pNext(mut self, pNext : *const void) -> Self {
23747 self.pNext = pNext;
23748 self
23749 }
23750
23751 pub fn descriptorSetCount(mut self, descriptorSetCount : u32) -> Self {
23752 self.descriptorSetCount = descriptorSetCount;
23753 self
23754 }
23755
23756 pub fn pDescriptorCounts(mut self, pDescriptorCounts : *const u32) -> Self {
23757 self.pDescriptorCounts = pDescriptorCounts;
23758 self
23759 }
23760
23761}
23762
23763impl DescriptorSetVariableDescriptorCountLayoutSupport {
23764
23765 pub fn new() -> Self {
23766 Self::default()
23767 }
23768
23769 pub fn sType(mut self, sType : StructureType) -> Self {
23770 self.sType = sType;
23771 self
23772 }
23773
23774 pub fn pNext(mut self, pNext : *mut void) -> Self {
23775 self.pNext = pNext;
23776 self
23777 }
23778
23779 pub fn maxVariableDescriptorCount(mut self, maxVariableDescriptorCount : u32) -> Self {
23780 self.maxVariableDescriptorCount = maxVariableDescriptorCount;
23781 self
23782 }
23783
23784}
23785
23786impl SubpassDescriptionDepthStencilResolve {
23787
23788 pub fn new() -> Self {
23789 Self::default()
23790 }
23791
23792 pub fn sType(mut self, sType : StructureType) -> Self {
23793 self.sType = sType;
23794 self
23795 }
23796
23797 pub fn pNext(mut self, pNext : *const void) -> Self {
23798 self.pNext = pNext;
23799 self
23800 }
23801
23802 pub fn depthResolveMode(mut self, depthResolveMode : ResolveModeFlagBits) -> Self {
23803 self.depthResolveMode = depthResolveMode;
23804 self
23805 }
23806
23807 pub fn stencilResolveMode(mut self, stencilResolveMode : ResolveModeFlagBits) -> Self {
23808 self.stencilResolveMode = stencilResolveMode;
23809 self
23810 }
23811
23812 pub fn pDepthStencilResolveAttachment(mut self, pDepthStencilResolveAttachment : *const AttachmentReference2) -> Self {
23813 self.pDepthStencilResolveAttachment = pDepthStencilResolveAttachment;
23814 self
23815 }
23816
23817}
23818
23819impl PhysicalDeviceDepthStencilResolveProperties {
23820
23821 pub fn new() -> Self {
23822 Self::default()
23823 }
23824
23825 pub fn sType(mut self, sType : StructureType) -> Self {
23826 self.sType = sType;
23827 self
23828 }
23829
23830 pub fn pNext(mut self, pNext : *mut void) -> Self {
23831 self.pNext = pNext;
23832 self
23833 }
23834
23835 pub fn supportedDepthResolveModes(mut self, supportedDepthResolveModes : ResolveModeFlags) -> Self {
23836 self.supportedDepthResolveModes = supportedDepthResolveModes;
23837 self
23838 }
23839
23840 pub fn supportedStencilResolveModes(mut self, supportedStencilResolveModes : ResolveModeFlags) -> Self {
23841 self.supportedStencilResolveModes = supportedStencilResolveModes;
23842 self
23843 }
23844
23845 pub fn independentResolveNone(mut self, independentResolveNone : Bool32) -> Self {
23846 self.independentResolveNone = independentResolveNone;
23847 self
23848 }
23849
23850 pub fn independentResolve(mut self, independentResolve : Bool32) -> Self {
23851 self.independentResolve = independentResolve;
23852 self
23853 }
23854
23855}
23856
23857impl PhysicalDeviceScalarBlockLayoutFeatures {
23858
23859 pub fn new() -> Self {
23860 Self::default()
23861 }
23862
23863 pub fn sType(mut self, sType : StructureType) -> Self {
23864 self.sType = sType;
23865 self
23866 }
23867
23868 pub fn pNext(mut self, pNext : *mut void) -> Self {
23869 self.pNext = pNext;
23870 self
23871 }
23872
23873 pub fn scalarBlockLayout(mut self, scalarBlockLayout : Bool32) -> Self {
23874 self.scalarBlockLayout = scalarBlockLayout;
23875 self
23876 }
23877
23878}
23879
23880impl ImageStencilUsageCreateInfo {
23881
23882 pub fn new() -> Self {
23883 Self::default()
23884 }
23885
23886 pub fn sType(mut self, sType : StructureType) -> Self {
23887 self.sType = sType;
23888 self
23889 }
23890
23891 pub fn pNext(mut self, pNext : *const void) -> Self {
23892 self.pNext = pNext;
23893 self
23894 }
23895
23896 pub fn stencilUsage(mut self, stencilUsage : ImageUsageFlags) -> Self {
23897 self.stencilUsage = stencilUsage;
23898 self
23899 }
23900
23901}
23902
23903impl SamplerReductionModeCreateInfo {
23904
23905 pub fn new() -> Self {
23906 Self::default()
23907 }
23908
23909 pub fn sType(mut self, sType : StructureType) -> Self {
23910 self.sType = sType;
23911 self
23912 }
23913
23914 pub fn pNext(mut self, pNext : *const void) -> Self {
23915 self.pNext = pNext;
23916 self
23917 }
23918
23919 pub fn reductionMode(mut self, reductionMode : SamplerReductionMode) -> Self {
23920 self.reductionMode = reductionMode;
23921 self
23922 }
23923
23924}
23925
23926impl PhysicalDeviceSamplerFilterMinmaxProperties {
23927
23928 pub fn new() -> Self {
23929 Self::default()
23930 }
23931
23932 pub fn sType(mut self, sType : StructureType) -> Self {
23933 self.sType = sType;
23934 self
23935 }
23936
23937 pub fn pNext(mut self, pNext : *mut void) -> Self {
23938 self.pNext = pNext;
23939 self
23940 }
23941
23942 pub fn filterMinmaxSingleComponentFormats(mut self, filterMinmaxSingleComponentFormats : Bool32) -> Self {
23943 self.filterMinmaxSingleComponentFormats = filterMinmaxSingleComponentFormats;
23944 self
23945 }
23946
23947 pub fn filterMinmaxImageComponentMapping(mut self, filterMinmaxImageComponentMapping : Bool32) -> Self {
23948 self.filterMinmaxImageComponentMapping = filterMinmaxImageComponentMapping;
23949 self
23950 }
23951
23952}
23953
23954impl PhysicalDeviceVulkanMemoryModelFeatures {
23955
23956 pub fn new() -> Self {
23957 Self::default()
23958 }
23959
23960 pub fn sType(mut self, sType : StructureType) -> Self {
23961 self.sType = sType;
23962 self
23963 }
23964
23965 pub fn pNext(mut self, pNext : *mut void) -> Self {
23966 self.pNext = pNext;
23967 self
23968 }
23969
23970 pub fn vulkanMemoryModel(mut self, vulkanMemoryModel : Bool32) -> Self {
23971 self.vulkanMemoryModel = vulkanMemoryModel;
23972 self
23973 }
23974
23975 pub fn vulkanMemoryModelDeviceScope(mut self, vulkanMemoryModelDeviceScope : Bool32) -> Self {
23976 self.vulkanMemoryModelDeviceScope = vulkanMemoryModelDeviceScope;
23977 self
23978 }
23979
23980 pub fn vulkanMemoryModelAvailabilityVisibilityChains(mut self, vulkanMemoryModelAvailabilityVisibilityChains : Bool32) -> Self {
23981 self.vulkanMemoryModelAvailabilityVisibilityChains = vulkanMemoryModelAvailabilityVisibilityChains;
23982 self
23983 }
23984
23985}
23986
23987impl PhysicalDeviceImagelessFramebufferFeatures {
23988
23989 pub fn new() -> Self {
23990 Self::default()
23991 }
23992
23993 pub fn sType(mut self, sType : StructureType) -> Self {
23994 self.sType = sType;
23995 self
23996 }
23997
23998 pub fn pNext(mut self, pNext : *mut void) -> Self {
23999 self.pNext = pNext;
24000 self
24001 }
24002
24003 pub fn imagelessFramebuffer(mut self, imagelessFramebuffer : Bool32) -> Self {
24004 self.imagelessFramebuffer = imagelessFramebuffer;
24005 self
24006 }
24007
24008}
24009
24010impl FramebufferAttachmentImageInfo {
24011
24012 pub fn new() -> Self {
24013 Self::default()
24014 }
24015
24016 pub fn sType(mut self, sType : StructureType) -> Self {
24017 self.sType = sType;
24018 self
24019 }
24020
24021 pub fn pNext(mut self, pNext : *const void) -> Self {
24022 self.pNext = pNext;
24023 self
24024 }
24025
24026 pub fn flags(mut self, flags : ImageCreateFlags) -> Self {
24027 self.flags = flags;
24028 self
24029 }
24030
24031 pub fn usage(mut self, usage : ImageUsageFlags) -> Self {
24032 self.usage = usage;
24033 self
24034 }
24035
24036 pub fn width(mut self, width : u32) -> Self {
24037 self.width = width;
24038 self
24039 }
24040
24041 pub fn height(mut self, height : u32) -> Self {
24042 self.height = height;
24043 self
24044 }
24045
24046 pub fn layerCount(mut self, layerCount : u32) -> Self {
24047 self.layerCount = layerCount;
24048 self
24049 }
24050
24051 pub fn viewFormatCount(mut self, viewFormatCount : u32) -> Self {
24052 self.viewFormatCount = viewFormatCount;
24053 self
24054 }
24055
24056 pub fn pViewFormats(mut self, pViewFormats : *const Format) -> Self {
24057 self.pViewFormats = pViewFormats;
24058 self
24059 }
24060
24061}
24062
24063impl FramebufferAttachmentsCreateInfo {
24064
24065 pub fn new() -> Self {
24066 Self::default()
24067 }
24068
24069 pub fn sType(mut self, sType : StructureType) -> Self {
24070 self.sType = sType;
24071 self
24072 }
24073
24074 pub fn pNext(mut self, pNext : *const void) -> Self {
24075 self.pNext = pNext;
24076 self
24077 }
24078
24079 pub fn attachmentImageInfoCount(mut self, attachmentImageInfoCount : u32) -> Self {
24080 self.attachmentImageInfoCount = attachmentImageInfoCount;
24081 self
24082 }
24083
24084 pub fn pAttachmentImageInfos(mut self, pAttachmentImageInfos : *const FramebufferAttachmentImageInfo) -> Self {
24085 self.pAttachmentImageInfos = pAttachmentImageInfos;
24086 self
24087 }
24088
24089}
24090
24091impl RenderPassAttachmentBeginInfo {
24092
24093 pub fn new() -> Self {
24094 Self::default()
24095 }
24096
24097 pub fn sType(mut self, sType : StructureType) -> Self {
24098 self.sType = sType;
24099 self
24100 }
24101
24102 pub fn pNext(mut self, pNext : *const void) -> Self {
24103 self.pNext = pNext;
24104 self
24105 }
24106
24107 pub fn attachmentCount(mut self, attachmentCount : u32) -> Self {
24108 self.attachmentCount = attachmentCount;
24109 self
24110 }
24111
24112 pub fn pAttachments(mut self, pAttachments : *const ImageView) -> Self {
24113 self.pAttachments = pAttachments;
24114 self
24115 }
24116
24117}
24118
24119impl PhysicalDeviceUniformBufferStandardLayoutFeatures {
24120
24121 pub fn new() -> Self {
24122 Self::default()
24123 }
24124
24125 pub fn sType(mut self, sType : StructureType) -> Self {
24126 self.sType = sType;
24127 self
24128 }
24129
24130 pub fn pNext(mut self, pNext : *mut void) -> Self {
24131 self.pNext = pNext;
24132 self
24133 }
24134
24135 pub fn uniformBufferStandardLayout(mut self, uniformBufferStandardLayout : Bool32) -> Self {
24136 self.uniformBufferStandardLayout = uniformBufferStandardLayout;
24137 self
24138 }
24139
24140}
24141
24142impl PhysicalDeviceShaderSubgroupExtendedTypesFeatures {
24143
24144 pub fn new() -> Self {
24145 Self::default()
24146 }
24147
24148 pub fn sType(mut self, sType : StructureType) -> Self {
24149 self.sType = sType;
24150 self
24151 }
24152
24153 pub fn pNext(mut self, pNext : *mut void) -> Self {
24154 self.pNext = pNext;
24155 self
24156 }
24157
24158 pub fn shaderSubgroupExtendedTypes(mut self, shaderSubgroupExtendedTypes : Bool32) -> Self {
24159 self.shaderSubgroupExtendedTypes = shaderSubgroupExtendedTypes;
24160 self
24161 }
24162
24163}
24164
24165impl PhysicalDeviceSeparateDepthStencilLayoutsFeatures {
24166
24167 pub fn new() -> Self {
24168 Self::default()
24169 }
24170
24171 pub fn sType(mut self, sType : StructureType) -> Self {
24172 self.sType = sType;
24173 self
24174 }
24175
24176 pub fn pNext(mut self, pNext : *mut void) -> Self {
24177 self.pNext = pNext;
24178 self
24179 }
24180
24181 pub fn separateDepthStencilLayouts(mut self, separateDepthStencilLayouts : Bool32) -> Self {
24182 self.separateDepthStencilLayouts = separateDepthStencilLayouts;
24183 self
24184 }
24185
24186}
24187
24188impl AttachmentReferenceStencilLayout {
24189
24190 pub fn new() -> Self {
24191 Self::default()
24192 }
24193
24194 pub fn sType(mut self, sType : StructureType) -> Self {
24195 self.sType = sType;
24196 self
24197 }
24198
24199 pub fn pNext(mut self, pNext : *mut void) -> Self {
24200 self.pNext = pNext;
24201 self
24202 }
24203
24204 pub fn stencilLayout(mut self, stencilLayout : ImageLayout) -> Self {
24205 self.stencilLayout = stencilLayout;
24206 self
24207 }
24208
24209}
24210
24211impl AttachmentDescriptionStencilLayout {
24212
24213 pub fn new() -> Self {
24214 Self::default()
24215 }
24216
24217 pub fn sType(mut self, sType : StructureType) -> Self {
24218 self.sType = sType;
24219 self
24220 }
24221
24222 pub fn pNext(mut self, pNext : *mut void) -> Self {
24223 self.pNext = pNext;
24224 self
24225 }
24226
24227 pub fn stencilInitialLayout(mut self, stencilInitialLayout : ImageLayout) -> Self {
24228 self.stencilInitialLayout = stencilInitialLayout;
24229 self
24230 }
24231
24232 pub fn stencilFinalLayout(mut self, stencilFinalLayout : ImageLayout) -> Self {
24233 self.stencilFinalLayout = stencilFinalLayout;
24234 self
24235 }
24236
24237}
24238
24239impl PhysicalDeviceHostQueryResetFeatures {
24240
24241 pub fn new() -> Self {
24242 Self::default()
24243 }
24244
24245 pub fn sType(mut self, sType : StructureType) -> Self {
24246 self.sType = sType;
24247 self
24248 }
24249
24250 pub fn pNext(mut self, pNext : *mut void) -> Self {
24251 self.pNext = pNext;
24252 self
24253 }
24254
24255 pub fn hostQueryReset(mut self, hostQueryReset : Bool32) -> Self {
24256 self.hostQueryReset = hostQueryReset;
24257 self
24258 }
24259
24260}
24261
24262impl PhysicalDeviceTimelineSemaphoreFeatures {
24263
24264 pub fn new() -> Self {
24265 Self::default()
24266 }
24267
24268 pub fn sType(mut self, sType : StructureType) -> Self {
24269 self.sType = sType;
24270 self
24271 }
24272
24273 pub fn pNext(mut self, pNext : *mut void) -> Self {
24274 self.pNext = pNext;
24275 self
24276 }
24277
24278 pub fn timelineSemaphore(mut self, timelineSemaphore : Bool32) -> Self {
24279 self.timelineSemaphore = timelineSemaphore;
24280 self
24281 }
24282
24283}
24284
24285impl PhysicalDeviceTimelineSemaphoreProperties {
24286
24287 pub fn new() -> Self {
24288 Self::default()
24289 }
24290
24291 pub fn sType(mut self, sType : StructureType) -> Self {
24292 self.sType = sType;
24293 self
24294 }
24295
24296 pub fn pNext(mut self, pNext : *mut void) -> Self {
24297 self.pNext = pNext;
24298 self
24299 }
24300
24301 pub fn maxTimelineSemaphoreValueDifference(mut self, maxTimelineSemaphoreValueDifference : u64) -> Self {
24302 self.maxTimelineSemaphoreValueDifference = maxTimelineSemaphoreValueDifference;
24303 self
24304 }
24305
24306}
24307
24308impl SemaphoreTypeCreateInfo {
24309
24310 pub fn new() -> Self {
24311 Self::default()
24312 }
24313
24314 pub fn sType(mut self, sType : StructureType) -> Self {
24315 self.sType = sType;
24316 self
24317 }
24318
24319 pub fn pNext(mut self, pNext : *const void) -> Self {
24320 self.pNext = pNext;
24321 self
24322 }
24323
24324 pub fn semaphoreType(mut self, semaphoreType : SemaphoreType) -> Self {
24325 self.semaphoreType = semaphoreType;
24326 self
24327 }
24328
24329 pub fn initialValue(mut self, initialValue : u64) -> Self {
24330 self.initialValue = initialValue;
24331 self
24332 }
24333
24334}
24335
24336impl TimelineSemaphoreSubmitInfo {
24337
24338 pub fn new() -> Self {
24339 Self::default()
24340 }
24341
24342 pub fn sType(mut self, sType : StructureType) -> Self {
24343 self.sType = sType;
24344 self
24345 }
24346
24347 pub fn pNext(mut self, pNext : *const void) -> Self {
24348 self.pNext = pNext;
24349 self
24350 }
24351
24352 pub fn waitSemaphoreValueCount(mut self, waitSemaphoreValueCount : u32) -> Self {
24353 self.waitSemaphoreValueCount = waitSemaphoreValueCount;
24354 self
24355 }
24356
24357 pub fn pWaitSemaphoreValues(mut self, pWaitSemaphoreValues : *const u64) -> Self {
24358 self.pWaitSemaphoreValues = pWaitSemaphoreValues;
24359 self
24360 }
24361
24362 pub fn signalSemaphoreValueCount(mut self, signalSemaphoreValueCount : u32) -> Self {
24363 self.signalSemaphoreValueCount = signalSemaphoreValueCount;
24364 self
24365 }
24366
24367 pub fn pSignalSemaphoreValues(mut self, pSignalSemaphoreValues : *const u64) -> Self {
24368 self.pSignalSemaphoreValues = pSignalSemaphoreValues;
24369 self
24370 }
24371
24372}
24373
24374impl SemaphoreWaitInfo {
24375
24376 pub fn new() -> Self {
24377 Self::default()
24378 }
24379
24380 pub fn sType(mut self, sType : StructureType) -> Self {
24381 self.sType = sType;
24382 self
24383 }
24384
24385 pub fn pNext(mut self, pNext : *const void) -> Self {
24386 self.pNext = pNext;
24387 self
24388 }
24389
24390 pub fn flags(mut self, flags : SemaphoreWaitFlags) -> Self {
24391 self.flags = flags;
24392 self
24393 }
24394
24395 pub fn semaphoreCount(mut self, semaphoreCount : u32) -> Self {
24396 self.semaphoreCount = semaphoreCount;
24397 self
24398 }
24399
24400 pub fn pSemaphores(mut self, pSemaphores : *const Semaphore) -> Self {
24401 self.pSemaphores = pSemaphores;
24402 self
24403 }
24404
24405 pub fn pValues(mut self, pValues : *const u64) -> Self {
24406 self.pValues = pValues;
24407 self
24408 }
24409
24410}
24411
24412impl SemaphoreSignalInfo {
24413
24414 pub fn new() -> Self {
24415 Self::default()
24416 }
24417
24418 pub fn sType(mut self, sType : StructureType) -> Self {
24419 self.sType = sType;
24420 self
24421 }
24422
24423 pub fn pNext(mut self, pNext : *const void) -> Self {
24424 self.pNext = pNext;
24425 self
24426 }
24427
24428 pub fn semaphore(mut self, semaphore : Semaphore) -> Self {
24429 self.semaphore = semaphore;
24430 self
24431 }
24432
24433 pub fn value(mut self, value : u64) -> Self {
24434 self.value = value;
24435 self
24436 }
24437
24438}
24439
24440impl PhysicalDeviceBufferDeviceAddressFeatures {
24441
24442 pub fn new() -> Self {
24443 Self::default()
24444 }
24445
24446 pub fn sType(mut self, sType : StructureType) -> Self {
24447 self.sType = sType;
24448 self
24449 }
24450
24451 pub fn pNext(mut self, pNext : *mut void) -> Self {
24452 self.pNext = pNext;
24453 self
24454 }
24455
24456 pub fn bufferDeviceAddress(mut self, bufferDeviceAddress : Bool32) -> Self {
24457 self.bufferDeviceAddress = bufferDeviceAddress;
24458 self
24459 }
24460
24461 pub fn bufferDeviceAddressCaptureReplay(mut self, bufferDeviceAddressCaptureReplay : Bool32) -> Self {
24462 self.bufferDeviceAddressCaptureReplay = bufferDeviceAddressCaptureReplay;
24463 self
24464 }
24465
24466 pub fn bufferDeviceAddressMultiDevice(mut self, bufferDeviceAddressMultiDevice : Bool32) -> Self {
24467 self.bufferDeviceAddressMultiDevice = bufferDeviceAddressMultiDevice;
24468 self
24469 }
24470
24471}
24472
24473impl BufferDeviceAddressInfo {
24474
24475 pub fn new() -> Self {
24476 Self::default()
24477 }
24478
24479 pub fn sType(mut self, sType : StructureType) -> Self {
24480 self.sType = sType;
24481 self
24482 }
24483
24484 pub fn pNext(mut self, pNext : *const void) -> Self {
24485 self.pNext = pNext;
24486 self
24487 }
24488
24489 pub fn buffer(mut self, buffer : Buffer) -> Self {
24490 self.buffer = buffer;
24491 self
24492 }
24493
24494}
24495
24496impl BufferOpaqueCaptureAddressCreateInfo {
24497
24498 pub fn new() -> Self {
24499 Self::default()
24500 }
24501
24502 pub fn sType(mut self, sType : StructureType) -> Self {
24503 self.sType = sType;
24504 self
24505 }
24506
24507 pub fn pNext(mut self, pNext : *const void) -> Self {
24508 self.pNext = pNext;
24509 self
24510 }
24511
24512 pub fn opaqueCaptureAddress(mut self, opaqueCaptureAddress : u64) -> Self {
24513 self.opaqueCaptureAddress = opaqueCaptureAddress;
24514 self
24515 }
24516
24517}
24518
24519impl MemoryOpaqueCaptureAddressAllocateInfo {
24520
24521 pub fn new() -> Self {
24522 Self::default()
24523 }
24524
24525 pub fn sType(mut self, sType : StructureType) -> Self {
24526 self.sType = sType;
24527 self
24528 }
24529
24530 pub fn pNext(mut self, pNext : *const void) -> Self {
24531 self.pNext = pNext;
24532 self
24533 }
24534
24535 pub fn opaqueCaptureAddress(mut self, opaqueCaptureAddress : u64) -> Self {
24536 self.opaqueCaptureAddress = opaqueCaptureAddress;
24537 self
24538 }
24539
24540}
24541
24542impl DeviceMemoryOpaqueCaptureAddressInfo {
24543
24544 pub fn new() -> Self {
24545 Self::default()
24546 }
24547
24548 pub fn sType(mut self, sType : StructureType) -> Self {
24549 self.sType = sType;
24550 self
24551 }
24552
24553 pub fn pNext(mut self, pNext : *const void) -> Self {
24554 self.pNext = pNext;
24555 self
24556 }
24557
24558 pub fn memory(mut self, memory : DeviceMemory) -> Self {
24559 self.memory = memory;
24560 self
24561 }
24562
24563}
24564
24565impl SurfaceCapabilitiesKHR {
24566
24567 pub fn new() -> Self {
24568 Self::default()
24569 }
24570
24571 pub fn minImageCount(mut self, minImageCount : u32) -> Self {
24572 self.minImageCount = minImageCount;
24573 self
24574 }
24575
24576 pub fn maxImageCount(mut self, maxImageCount : u32) -> Self {
24577 self.maxImageCount = maxImageCount;
24578 self
24579 }
24580
24581 pub fn currentExtent(mut self, currentExtent : Extent2D) -> Self {
24582 self.currentExtent = currentExtent;
24583 self
24584 }
24585
24586 pub fn minImageExtent(mut self, minImageExtent : Extent2D) -> Self {
24587 self.minImageExtent = minImageExtent;
24588 self
24589 }
24590
24591 pub fn maxImageExtent(mut self, maxImageExtent : Extent2D) -> Self {
24592 self.maxImageExtent = maxImageExtent;
24593 self
24594 }
24595
24596 pub fn maxImageArrayLayers(mut self, maxImageArrayLayers : u32) -> Self {
24597 self.maxImageArrayLayers = maxImageArrayLayers;
24598 self
24599 }
24600
24601 pub fn supportedTransforms(mut self, supportedTransforms : SurfaceTransformFlagsKHR) -> Self {
24602 self.supportedTransforms = supportedTransforms;
24603 self
24604 }
24605
24606 pub fn currentTransform(mut self, currentTransform : SurfaceTransformFlagBitsKHR) -> Self {
24607 self.currentTransform = currentTransform;
24608 self
24609 }
24610
24611 pub fn supportedCompositeAlpha(mut self, supportedCompositeAlpha : CompositeAlphaFlagsKHR) -> Self {
24612 self.supportedCompositeAlpha = supportedCompositeAlpha;
24613 self
24614 }
24615
24616 pub fn supportedUsageFlags(mut self, supportedUsageFlags : ImageUsageFlags) -> Self {
24617 self.supportedUsageFlags = supportedUsageFlags;
24618 self
24619 }
24620
24621}
24622
24623impl SurfaceFormatKHR {
24624
24625 pub fn new() -> Self {
24626 Self::default()
24627 }
24628
24629 pub fn format(mut self, format : Format) -> Self {
24630 self.format = format;
24631 self
24632 }
24633
24634 pub fn colorSpace(mut self, colorSpace : ColorSpaceKHR) -> Self {
24635 self.colorSpace = colorSpace;
24636 self
24637 }
24638
24639}
24640
24641impl SwapchainCreateInfoKHR {
24642
24643 pub fn new() -> Self {
24644 Self::default()
24645 }
24646
24647 pub fn sType(mut self, sType : StructureType) -> Self {
24648 self.sType = sType;
24649 self
24650 }
24651
24652 pub fn pNext(mut self, pNext : *const void) -> Self {
24653 self.pNext = pNext;
24654 self
24655 }
24656
24657 pub fn flags(mut self, flags : SwapchainCreateFlagsKHR) -> Self {
24658 self.flags = flags;
24659 self
24660 }
24661
24662 pub fn surface(mut self, surface : SurfaceKHR) -> Self {
24663 self.surface = surface;
24664 self
24665 }
24666
24667 pub fn minImageCount(mut self, minImageCount : u32) -> Self {
24668 self.minImageCount = minImageCount;
24669 self
24670 }
24671
24672 pub fn imageFormat(mut self, imageFormat : Format) -> Self {
24673 self.imageFormat = imageFormat;
24674 self
24675 }
24676
24677 pub fn imageColorSpace(mut self, imageColorSpace : ColorSpaceKHR) -> Self {
24678 self.imageColorSpace = imageColorSpace;
24679 self
24680 }
24681
24682 pub fn imageExtent(mut self, imageExtent : Extent2D) -> Self {
24683 self.imageExtent = imageExtent;
24684 self
24685 }
24686
24687 pub fn imageArrayLayers(mut self, imageArrayLayers : u32) -> Self {
24688 self.imageArrayLayers = imageArrayLayers;
24689 self
24690 }
24691
24692 pub fn imageUsage(mut self, imageUsage : ImageUsageFlags) -> Self {
24693 self.imageUsage = imageUsage;
24694 self
24695 }
24696
24697 pub fn imageSharingMode(mut self, imageSharingMode : SharingMode) -> Self {
24698 self.imageSharingMode = imageSharingMode;
24699 self
24700 }
24701
24702 pub fn queueFamilyIndexCount(mut self, queueFamilyIndexCount : u32) -> Self {
24703 self.queueFamilyIndexCount = queueFamilyIndexCount;
24704 self
24705 }
24706
24707 pub fn pQueueFamilyIndices(mut self, pQueueFamilyIndices : *const u32) -> Self {
24708 self.pQueueFamilyIndices = pQueueFamilyIndices;
24709 self
24710 }
24711
24712 pub fn preTransform(mut self, preTransform : SurfaceTransformFlagBitsKHR) -> Self {
24713 self.preTransform = preTransform;
24714 self
24715 }
24716
24717 pub fn compositeAlpha(mut self, compositeAlpha : CompositeAlphaFlagBitsKHR) -> Self {
24718 self.compositeAlpha = compositeAlpha;
24719 self
24720 }
24721
24722 pub fn presentMode(mut self, presentMode : PresentModeKHR) -> Self {
24723 self.presentMode = presentMode;
24724 self
24725 }
24726
24727 pub fn clipped(mut self, clipped : Bool32) -> Self {
24728 self.clipped = clipped;
24729 self
24730 }
24731
24732 pub fn oldSwapchain(mut self, oldSwapchain : SwapchainKHR) -> Self {
24733 self.oldSwapchain = oldSwapchain;
24734 self
24735 }
24736
24737}
24738
24739impl PresentInfoKHR {
24740
24741 pub fn new() -> Self {
24742 Self::default()
24743 }
24744
24745 pub fn sType(mut self, sType : StructureType) -> Self {
24746 self.sType = sType;
24747 self
24748 }
24749
24750 pub fn pNext(mut self, pNext : *const void) -> Self {
24751 self.pNext = pNext;
24752 self
24753 }
24754
24755 pub fn waitSemaphoreCount(mut self, waitSemaphoreCount : u32) -> Self {
24756 self.waitSemaphoreCount = waitSemaphoreCount;
24757 self
24758 }
24759
24760 pub fn pWaitSemaphores(mut self, pWaitSemaphores : *const Semaphore) -> Self {
24761 self.pWaitSemaphores = pWaitSemaphores;
24762 self
24763 }
24764
24765 pub fn swapchainCount(mut self, swapchainCount : u32) -> Self {
24766 self.swapchainCount = swapchainCount;
24767 self
24768 }
24769
24770 pub fn pSwapchains(mut self, pSwapchains : *const SwapchainKHR) -> Self {
24771 self.pSwapchains = pSwapchains;
24772 self
24773 }
24774
24775 pub fn pImageIndices(mut self, pImageIndices : *const i32) -> Self {
24776 self.pImageIndices = pImageIndices;
24777 self
24778 }
24779
24780 pub fn pResults(mut self, pResults : *mut VkResult) -> Self {
24781 self.pResults = pResults;
24782 self
24783 }
24784
24785}
24786
24787impl ImageSwapchainCreateInfoKHR {
24788
24789 pub fn new() -> Self {
24790 Self::default()
24791 }
24792
24793 pub fn sType(mut self, sType : StructureType) -> Self {
24794 self.sType = sType;
24795 self
24796 }
24797
24798 pub fn pNext(mut self, pNext : *const void) -> Self {
24799 self.pNext = pNext;
24800 self
24801 }
24802
24803 pub fn swapchain(mut self, swapchain : SwapchainKHR) -> Self {
24804 self.swapchain = swapchain;
24805 self
24806 }
24807
24808}
24809
24810impl BindImageMemorySwapchainInfoKHR {
24811
24812 pub fn new() -> Self {
24813 Self::default()
24814 }
24815
24816 pub fn sType(mut self, sType : StructureType) -> Self {
24817 self.sType = sType;
24818 self
24819 }
24820
24821 pub fn pNext(mut self, pNext : *const void) -> Self {
24822 self.pNext = pNext;
24823 self
24824 }
24825
24826 pub fn swapchain(mut self, swapchain : SwapchainKHR) -> Self {
24827 self.swapchain = swapchain;
24828 self
24829 }
24830
24831 pub fn imageIndex(mut self, imageIndex : u32) -> Self {
24832 self.imageIndex = imageIndex;
24833 self
24834 }
24835
24836}
24837
24838impl AcquireNextImageInfoKHR {
24839
24840 pub fn new() -> Self {
24841 Self::default()
24842 }
24843
24844 pub fn sType(mut self, sType : StructureType) -> Self {
24845 self.sType = sType;
24846 self
24847 }
24848
24849 pub fn pNext(mut self, pNext : *const void) -> Self {
24850 self.pNext = pNext;
24851 self
24852 }
24853
24854 pub fn swapchain(mut self, swapchain : SwapchainKHR) -> Self {
24855 self.swapchain = swapchain;
24856 self
24857 }
24858
24859 pub fn timeout(mut self, timeout : u64) -> Self {
24860 self.timeout = timeout;
24861 self
24862 }
24863
24864 pub fn semaphore(mut self, semaphore : Semaphore) -> Self {
24865 self.semaphore = semaphore;
24866 self
24867 }
24868
24869 pub fn fence(mut self, fence : Fence) -> Self {
24870 self.fence = fence;
24871 self
24872 }
24873
24874 pub fn deviceMask(mut self, deviceMask : u32) -> Self {
24875 self.deviceMask = deviceMask;
24876 self
24877 }
24878
24879}
24880
24881impl DeviceGroupPresentCapabilitiesKHR {
24882
24883 pub fn new() -> Self {
24884 Self::default()
24885 }
24886
24887 pub fn sType(mut self, sType : StructureType) -> Self {
24888 self.sType = sType;
24889 self
24890 }
24891
24892 pub fn pNext(mut self, pNext : *const void) -> Self {
24893 self.pNext = pNext;
24894 self
24895 }
24896
24897 pub fn presentMask(mut self, presentMask : [u32;MAX_DEVICE_GROUP_SIZE]) -> Self {
24898 self.presentMask = presentMask;
24899 self
24900 }
24901
24902 pub fn modes(mut self, modes : DeviceGroupPresentModeFlagsKHR) -> Self {
24903 self.modes = modes;
24904 self
24905 }
24906
24907}
24908
24909impl DeviceGroupPresentInfoKHR {
24910
24911 pub fn new() -> Self {
24912 Self::default()
24913 }
24914
24915 pub fn sType(mut self, sType : StructureType) -> Self {
24916 self.sType = sType;
24917 self
24918 }
24919
24920 pub fn pNext(mut self, pNext : *const void) -> Self {
24921 self.pNext = pNext;
24922 self
24923 }
24924
24925 pub fn swapchainCount(mut self, swapchainCount : u32) -> Self {
24926 self.swapchainCount = swapchainCount;
24927 self
24928 }
24929
24930 pub fn pDeviceMasks(mut self, pDeviceMasks : *const u32) -> Self {
24931 self.pDeviceMasks = pDeviceMasks;
24932 self
24933 }
24934
24935 pub fn mode(mut self, mode : DeviceGroupPresentModeFlagBitsKHR) -> Self {
24936 self.mode = mode;
24937 self
24938 }
24939
24940}
24941
24942impl DeviceGroupSwapchainCreateInfoKHR {
24943
24944 pub fn new() -> Self {
24945 Self::default()
24946 }
24947
24948 pub fn sType(mut self, sType : StructureType) -> Self {
24949 self.sType = sType;
24950 self
24951 }
24952
24953 pub fn pNext(mut self, pNext : *const void) -> Self {
24954 self.pNext = pNext;
24955 self
24956 }
24957
24958 pub fn modes(mut self, modes : DeviceGroupPresentModeFlagsKHR) -> Self {
24959 self.modes = modes;
24960 self
24961 }
24962
24963}
24964
24965impl DisplayPropertiesKHR {
24966
24967 pub fn new() -> Self {
24968 Self::default()
24969 }
24970
24971 pub fn display(mut self, display : DisplayKHR) -> Self {
24972 self.display = display;
24973 self
24974 }
24975
24976 pub fn displayName(mut self, displayName : *const i8) -> Self {
24977 self.displayName = displayName;
24978 self
24979 }
24980
24981 pub fn physicalDimensions(mut self, physicalDimensions : Extent2D) -> Self {
24982 self.physicalDimensions = physicalDimensions;
24983 self
24984 }
24985
24986 pub fn physicalResolution(mut self, physicalResolution : Extent2D) -> Self {
24987 self.physicalResolution = physicalResolution;
24988 self
24989 }
24990
24991 pub fn supportedTransforms(mut self, supportedTransforms : SurfaceTransformFlagsKHR) -> Self {
24992 self.supportedTransforms = supportedTransforms;
24993 self
24994 }
24995
24996 pub fn planeReorderPossible(mut self, planeReorderPossible : Bool32) -> Self {
24997 self.planeReorderPossible = planeReorderPossible;
24998 self
24999 }
25000
25001 pub fn persistentContent(mut self, persistentContent : Bool32) -> Self {
25002 self.persistentContent = persistentContent;
25003 self
25004 }
25005
25006}
25007
25008impl DisplayModeParametersKHR {
25009
25010 pub fn new() -> Self {
25011 Self::default()
25012 }
25013
25014 pub fn visibleRegion(mut self, visibleRegion : Extent2D) -> Self {
25015 self.visibleRegion = visibleRegion;
25016 self
25017 }
25018
25019 pub fn refreshRate(mut self, refreshRate : u32) -> Self {
25020 self.refreshRate = refreshRate;
25021 self
25022 }
25023
25024}
25025
25026impl DisplayModePropertiesKHR {
25027
25028 pub fn new() -> Self {
25029 Self::default()
25030 }
25031
25032 pub fn displayMode(mut self, displayMode : DisplayModeKHR) -> Self {
25033 self.displayMode = displayMode;
25034 self
25035 }
25036
25037 pub fn parameters(mut self, parameters : DisplayModeParametersKHR) -> Self {
25038 self.parameters = parameters;
25039 self
25040 }
25041
25042}
25043
25044impl DisplayModeCreateInfoKHR {
25045
25046 pub fn new() -> Self {
25047 Self::default()
25048 }
25049
25050 pub fn sType(mut self, sType : StructureType) -> Self {
25051 self.sType = sType;
25052 self
25053 }
25054
25055 pub fn pNext(mut self, pNext : *const void) -> Self {
25056 self.pNext = pNext;
25057 self
25058 }
25059
25060 pub fn flags(mut self, flags : DisplayModeCreateFlagsKHR) -> Self {
25061 self.flags = flags;
25062 self
25063 }
25064
25065 pub fn parameters(mut self, parameters : DisplayModeParametersKHR) -> Self {
25066 self.parameters = parameters;
25067 self
25068 }
25069
25070}
25071
25072impl DisplayPlaneCapabilitiesKHR {
25073
25074 pub fn new() -> Self {
25075 Self::default()
25076 }
25077
25078 pub fn supportedAlpha(mut self, supportedAlpha : DisplayPlaneAlphaFlagsKHR) -> Self {
25079 self.supportedAlpha = supportedAlpha;
25080 self
25081 }
25082
25083 pub fn minSrcPosition(mut self, minSrcPosition : Offset2D) -> Self {
25084 self.minSrcPosition = minSrcPosition;
25085 self
25086 }
25087
25088 pub fn maxSrcPosition(mut self, maxSrcPosition : Offset2D) -> Self {
25089 self.maxSrcPosition = maxSrcPosition;
25090 self
25091 }
25092
25093 pub fn minSrcExtent(mut self, minSrcExtent : Extent2D) -> Self {
25094 self.minSrcExtent = minSrcExtent;
25095 self
25096 }
25097
25098 pub fn maxSrcExtent(mut self, maxSrcExtent : Extent2D) -> Self {
25099 self.maxSrcExtent = maxSrcExtent;
25100 self
25101 }
25102
25103 pub fn minDstPosition(mut self, minDstPosition : Offset2D) -> Self {
25104 self.minDstPosition = minDstPosition;
25105 self
25106 }
25107
25108 pub fn maxDstPosition(mut self, maxDstPosition : Offset2D) -> Self {
25109 self.maxDstPosition = maxDstPosition;
25110 self
25111 }
25112
25113 pub fn minDstExtent(mut self, minDstExtent : Extent2D) -> Self {
25114 self.minDstExtent = minDstExtent;
25115 self
25116 }
25117
25118 pub fn maxDstExtent(mut self, maxDstExtent : Extent2D) -> Self {
25119 self.maxDstExtent = maxDstExtent;
25120 self
25121 }
25122
25123}
25124
25125impl DisplayPlanePropertiesKHR {
25126
25127 pub fn new() -> Self {
25128 Self::default()
25129 }
25130
25131 pub fn currentDisplay(mut self, currentDisplay : DisplayKHR) -> Self {
25132 self.currentDisplay = currentDisplay;
25133 self
25134 }
25135
25136 pub fn currentStackIndex(mut self, currentStackIndex : u32) -> Self {
25137 self.currentStackIndex = currentStackIndex;
25138 self
25139 }
25140
25141}
25142
25143impl DisplaySurfaceCreateInfoKHR {
25144
25145 pub fn new() -> Self {
25146 Self::default()
25147 }
25148
25149 pub fn sType(mut self, sType : StructureType) -> Self {
25150 self.sType = sType;
25151 self
25152 }
25153
25154 pub fn pNext(mut self, pNext : *const void) -> Self {
25155 self.pNext = pNext;
25156 self
25157 }
25158
25159 pub fn flags(mut self, flags : DisplaySurfaceCreateFlagsKHR) -> Self {
25160 self.flags = flags;
25161 self
25162 }
25163
25164 pub fn displayMode(mut self, displayMode : DisplayModeKHR) -> Self {
25165 self.displayMode = displayMode;
25166 self
25167 }
25168
25169 pub fn planeIndex(mut self, planeIndex : u32) -> Self {
25170 self.planeIndex = planeIndex;
25171 self
25172 }
25173
25174 pub fn planeStackIndex(mut self, planeStackIndex : u32) -> Self {
25175 self.planeStackIndex = planeStackIndex;
25176 self
25177 }
25178
25179 pub fn transform(mut self, transform : SurfaceTransformFlagBitsKHR) -> Self {
25180 self.transform = transform;
25181 self
25182 }
25183
25184 pub fn globalAlpha(mut self, globalAlpha : f32) -> Self {
25185 self.globalAlpha = globalAlpha;
25186 self
25187 }
25188
25189 pub fn alphaMode(mut self, alphaMode : DisplayPlaneAlphaFlagBitsKHR) -> Self {
25190 self.alphaMode = alphaMode;
25191 self
25192 }
25193
25194 pub fn imageExtent(mut self, imageExtent : Extent2D) -> Self {
25195 self.imageExtent = imageExtent;
25196 self
25197 }
25198
25199}
25200
25201impl DisplayPresentInfoKHR {
25202
25203 pub fn new() -> Self {
25204 Self::default()
25205 }
25206
25207 pub fn sType(mut self, sType : StructureType) -> Self {
25208 self.sType = sType;
25209 self
25210 }
25211
25212 pub fn pNext(mut self, pNext : *const void) -> Self {
25213 self.pNext = pNext;
25214 self
25215 }
25216
25217 pub fn srcRect(mut self, srcRect : Rect2D) -> Self {
25218 self.srcRect = srcRect;
25219 self
25220 }
25221
25222 pub fn dstRect(mut self, dstRect : Rect2D) -> Self {
25223 self.dstRect = dstRect;
25224 self
25225 }
25226
25227 pub fn persistent(mut self, persistent : Bool32) -> Self {
25228 self.persistent = persistent;
25229 self
25230 }
25231
25232}
25233
25234impl ImportMemoryFdInfoKHR {
25235
25236 pub fn new() -> Self {
25237 Self::default()
25238 }
25239
25240 pub fn sType(mut self, sType : StructureType) -> Self {
25241 self.sType = sType;
25242 self
25243 }
25244
25245 pub fn pNext(mut self, pNext : *const void) -> Self {
25246 self.pNext = pNext;
25247 self
25248 }
25249
25250 pub fn handleType(mut self, handleType : ExternalMemoryHandleTypeFlagBits) -> Self {
25251 self.handleType = handleType;
25252 self
25253 }
25254
25255 pub fn fd(mut self, fd : i32) -> Self {
25256 self.fd = fd;
25257 self
25258 }
25259
25260}
25261
25262impl MemoryFdPropertiesKHR {
25263
25264 pub fn new() -> Self {
25265 Self::default()
25266 }
25267
25268 pub fn sType(mut self, sType : StructureType) -> Self {
25269 self.sType = sType;
25270 self
25271 }
25272
25273 pub fn pNext(mut self, pNext : *mut void) -> Self {
25274 self.pNext = pNext;
25275 self
25276 }
25277
25278 pub fn memoryTypeBits(mut self, memoryTypeBits : u32) -> Self {
25279 self.memoryTypeBits = memoryTypeBits;
25280 self
25281 }
25282
25283}
25284
25285impl MemoryGetFdInfoKHR {
25286
25287 pub fn new() -> Self {
25288 Self::default()
25289 }
25290
25291 pub fn sType(mut self, sType : StructureType) -> Self {
25292 self.sType = sType;
25293 self
25294 }
25295
25296 pub fn pNext(mut self, pNext : *const void) -> Self {
25297 self.pNext = pNext;
25298 self
25299 }
25300
25301 pub fn memory(mut self, memory : DeviceMemory) -> Self {
25302 self.memory = memory;
25303 self
25304 }
25305
25306 pub fn handleType(mut self, handleType : ExternalMemoryHandleTypeFlagBits) -> Self {
25307 self.handleType = handleType;
25308 self
25309 }
25310
25311}
25312
25313impl ImportSemaphoreFdInfoKHR {
25314
25315 pub fn new() -> Self {
25316 Self::default()
25317 }
25318
25319 pub fn sType(mut self, sType : StructureType) -> Self {
25320 self.sType = sType;
25321 self
25322 }
25323
25324 pub fn pNext(mut self, pNext : *const void) -> Self {
25325 self.pNext = pNext;
25326 self
25327 }
25328
25329 pub fn semaphore(mut self, semaphore : Semaphore) -> Self {
25330 self.semaphore = semaphore;
25331 self
25332 }
25333
25334 pub fn flags(mut self, flags : SemaphoreImportFlags) -> Self {
25335 self.flags = flags;
25336 self
25337 }
25338
25339 pub fn handleType(mut self, handleType : ExternalSemaphoreHandleTypeFlagBits) -> Self {
25340 self.handleType = handleType;
25341 self
25342 }
25343
25344 pub fn fd(mut self, fd : i32) -> Self {
25345 self.fd = fd;
25346 self
25347 }
25348
25349}
25350
25351impl SemaphoreGetFdInfoKHR {
25352
25353 pub fn new() -> Self {
25354 Self::default()
25355 }
25356
25357 pub fn sType(mut self, sType : StructureType) -> Self {
25358 self.sType = sType;
25359 self
25360 }
25361
25362 pub fn pNext(mut self, pNext : *const void) -> Self {
25363 self.pNext = pNext;
25364 self
25365 }
25366
25367 pub fn semaphore(mut self, semaphore : Semaphore) -> Self {
25368 self.semaphore = semaphore;
25369 self
25370 }
25371
25372 pub fn handleType(mut self, handleType : ExternalSemaphoreHandleTypeFlagBits) -> Self {
25373 self.handleType = handleType;
25374 self
25375 }
25376
25377}
25378
25379impl PhysicalDevicePushDescriptorPropertiesKHR {
25380
25381 pub fn new() -> Self {
25382 Self::default()
25383 }
25384
25385 pub fn sType(mut self, sType : StructureType) -> Self {
25386 self.sType = sType;
25387 self
25388 }
25389
25390 pub fn pNext(mut self, pNext : *mut void) -> Self {
25391 self.pNext = pNext;
25392 self
25393 }
25394
25395 pub fn maxPushDescriptors(mut self, maxPushDescriptors : u32) -> Self {
25396 self.maxPushDescriptors = maxPushDescriptors;
25397 self
25398 }
25399
25400}
25401
25402impl RectLayerKHR {
25403
25404 pub fn new() -> Self {
25405 Self::default()
25406 }
25407
25408 pub fn offset(mut self, offset : Offset2D) -> Self {
25409 self.offset = offset;
25410 self
25411 }
25412
25413 pub fn extent(mut self, extent : Extent2D) -> Self {
25414 self.extent = extent;
25415 self
25416 }
25417
25418 pub fn layer(mut self, layer : u32) -> Self {
25419 self.layer = layer;
25420 self
25421 }
25422
25423}
25424
25425impl PresentRegionKHR {
25426
25427 pub fn new() -> Self {
25428 Self::default()
25429 }
25430
25431 pub fn rectangleCount(mut self, rectangleCount : u32) -> Self {
25432 self.rectangleCount = rectangleCount;
25433 self
25434 }
25435
25436 pub fn pRectangles(mut self, pRectangles : *const RectLayerKHR) -> Self {
25437 self.pRectangles = pRectangles;
25438 self
25439 }
25440
25441}
25442
25443impl PresentRegionsKHR {
25444
25445 pub fn new() -> Self {
25446 Self::default()
25447 }
25448
25449 pub fn sType(mut self, sType : StructureType) -> Self {
25450 self.sType = sType;
25451 self
25452 }
25453
25454 pub fn pNext(mut self, pNext : *const void) -> Self {
25455 self.pNext = pNext;
25456 self
25457 }
25458
25459 pub fn swapchainCount(mut self, swapchainCount : u32) -> Self {
25460 self.swapchainCount = swapchainCount;
25461 self
25462 }
25463
25464 pub fn pRegions(mut self, pRegions : *const PresentRegionKHR) -> Self {
25465 self.pRegions = pRegions;
25466 self
25467 }
25468
25469}
25470
25471impl SharedPresentSurfaceCapabilitiesKHR {
25472
25473 pub fn new() -> Self {
25474 Self::default()
25475 }
25476
25477 pub fn sType(mut self, sType : StructureType) -> Self {
25478 self.sType = sType;
25479 self
25480 }
25481
25482 pub fn pNext(mut self, pNext : *mut void) -> Self {
25483 self.pNext = pNext;
25484 self
25485 }
25486
25487 pub fn sharedPresentSupportedUsageFlags(mut self, sharedPresentSupportedUsageFlags : ImageUsageFlags) -> Self {
25488 self.sharedPresentSupportedUsageFlags = sharedPresentSupportedUsageFlags;
25489 self
25490 }
25491
25492}
25493
25494impl ImportFenceFdInfoKHR {
25495
25496 pub fn new() -> Self {
25497 Self::default()
25498 }
25499
25500 pub fn sType(mut self, sType : StructureType) -> Self {
25501 self.sType = sType;
25502 self
25503 }
25504
25505 pub fn pNext(mut self, pNext : *const void) -> Self {
25506 self.pNext = pNext;
25507 self
25508 }
25509
25510 pub fn fence(mut self, fence : Fence) -> Self {
25511 self.fence = fence;
25512 self
25513 }
25514
25515 pub fn flags(mut self, flags : FenceImportFlags) -> Self {
25516 self.flags = flags;
25517 self
25518 }
25519
25520 pub fn handleType(mut self, handleType : ExternalFenceHandleTypeFlagBits) -> Self {
25521 self.handleType = handleType;
25522 self
25523 }
25524
25525 pub fn fd(mut self, fd : i32) -> Self {
25526 self.fd = fd;
25527 self
25528 }
25529
25530}
25531
25532impl FenceGetFdInfoKHR {
25533
25534 pub fn new() -> Self {
25535 Self::default()
25536 }
25537
25538 pub fn sType(mut self, sType : StructureType) -> Self {
25539 self.sType = sType;
25540 self
25541 }
25542
25543 pub fn pNext(mut self, pNext : *const void) -> Self {
25544 self.pNext = pNext;
25545 self
25546 }
25547
25548 pub fn fence(mut self, fence : Fence) -> Self {
25549 self.fence = fence;
25550 self
25551 }
25552
25553 pub fn handleType(mut self, handleType : ExternalFenceHandleTypeFlagBits) -> Self {
25554 self.handleType = handleType;
25555 self
25556 }
25557
25558}
25559
25560impl PhysicalDevicePerformanceQueryFeaturesKHR {
25561
25562 pub fn new() -> Self {
25563 Self::default()
25564 }
25565
25566 pub fn sType(mut self, sType : StructureType) -> Self {
25567 self.sType = sType;
25568 self
25569 }
25570
25571 pub fn pNext(mut self, pNext : *mut void) -> Self {
25572 self.pNext = pNext;
25573 self
25574 }
25575
25576 pub fn performanceCounterQueryPools(mut self, performanceCounterQueryPools : Bool32) -> Self {
25577 self.performanceCounterQueryPools = performanceCounterQueryPools;
25578 self
25579 }
25580
25581 pub fn performanceCounterMultipleQueryPools(mut self, performanceCounterMultipleQueryPools : Bool32) -> Self {
25582 self.performanceCounterMultipleQueryPools = performanceCounterMultipleQueryPools;
25583 self
25584 }
25585
25586}
25587
25588impl PhysicalDevicePerformanceQueryPropertiesKHR {
25589
25590 pub fn new() -> Self {
25591 Self::default()
25592 }
25593
25594 pub fn sType(mut self, sType : StructureType) -> Self {
25595 self.sType = sType;
25596 self
25597 }
25598
25599 pub fn pNext(mut self, pNext : *mut void) -> Self {
25600 self.pNext = pNext;
25601 self
25602 }
25603
25604 pub fn allowCommandBufferQueryCopies(mut self, allowCommandBufferQueryCopies : Bool32) -> Self {
25605 self.allowCommandBufferQueryCopies = allowCommandBufferQueryCopies;
25606 self
25607 }
25608
25609}
25610
25611impl PerformanceCounterKHR {
25612
25613 pub fn new() -> Self {
25614 Self::default()
25615 }
25616
25617 pub fn sType(mut self, sType : StructureType) -> Self {
25618 self.sType = sType;
25619 self
25620 }
25621
25622 pub fn pNext(mut self, pNext : *const void) -> Self {
25623 self.pNext = pNext;
25624 self
25625 }
25626
25627 pub fn unit(mut self, unit : PerformanceCounterUnitKHR) -> Self {
25628 self.unit = unit;
25629 self
25630 }
25631
25632 pub fn scope(mut self, scope : PerformanceCounterScopeKHR) -> Self {
25633 self.scope = scope;
25634 self
25635 }
25636
25637 pub fn storage(mut self, storage : PerformanceCounterStorageKHR) -> Self {
25638 self.storage = storage;
25639 self
25640 }
25641
25642 pub fn uuid(mut self, uuid : [u8;UUID_SIZE]) -> Self {
25643 self.uuid = uuid;
25644 self
25645 }
25646
25647}
25648
25649impl PerformanceCounterDescriptionKHR {
25650
25651 pub fn new() -> Self {
25652 Self::default()
25653 }
25654
25655 pub fn sType(mut self, sType : StructureType) -> Self {
25656 self.sType = sType;
25657 self
25658 }
25659
25660 pub fn pNext(mut self, pNext : *const void) -> Self {
25661 self.pNext = pNext;
25662 self
25663 }
25664
25665 pub fn flags(mut self, flags : PerformanceCounterDescriptionFlagsKHR) -> Self {
25666 self.flags = flags;
25667 self
25668 }
25669
25670 pub fn name(mut self, name : [i8;MAX_DESCRIPTION_SIZE]) -> Self {
25671 self.name = name;
25672 self
25673 }
25674
25675 pub fn category(mut self, category : [i8;MAX_DESCRIPTION_SIZE]) -> Self {
25676 self.category = category;
25677 self
25678 }
25679
25680 pub fn description(mut self, description : [i8;MAX_DESCRIPTION_SIZE]) -> Self {
25681 self.description = description;
25682 self
25683 }
25684
25685}
25686
25687impl QueryPoolPerformanceCreateInfoKHR {
25688
25689 pub fn new() -> Self {
25690 Self::default()
25691 }
25692
25693 pub fn sType(mut self, sType : StructureType) -> Self {
25694 self.sType = sType;
25695 self
25696 }
25697
25698 pub fn pNext(mut self, pNext : *const void) -> Self {
25699 self.pNext = pNext;
25700 self
25701 }
25702
25703 pub fn queueFamilyIndex(mut self, queueFamilyIndex : u32) -> Self {
25704 self.queueFamilyIndex = queueFamilyIndex;
25705 self
25706 }
25707
25708 pub fn counterIndexCount(mut self, counterIndexCount : u32) -> Self {
25709 self.counterIndexCount = counterIndexCount;
25710 self
25711 }
25712
25713 pub fn pCounterIndices(mut self, pCounterIndices : *const u32) -> Self {
25714 self.pCounterIndices = pCounterIndices;
25715 self
25716 }
25717
25718}
25719
25720impl AcquireProfilingLockInfoKHR {
25721
25722 pub fn new() -> Self {
25723 Self::default()
25724 }
25725
25726 pub fn sType(mut self, sType : StructureType) -> Self {
25727 self.sType = sType;
25728 self
25729 }
25730
25731 pub fn pNext(mut self, pNext : *const void) -> Self {
25732 self.pNext = pNext;
25733 self
25734 }
25735
25736 pub fn flags(mut self, flags : AcquireProfilingLockFlagsKHR) -> Self {
25737 self.flags = flags;
25738 self
25739 }
25740
25741 pub fn timeout(mut self, timeout : u64) -> Self {
25742 self.timeout = timeout;
25743 self
25744 }
25745
25746}
25747
25748impl PerformanceQuerySubmitInfoKHR {
25749
25750 pub fn new() -> Self {
25751 Self::default()
25752 }
25753
25754 pub fn sType(mut self, sType : StructureType) -> Self {
25755 self.sType = sType;
25756 self
25757 }
25758
25759 pub fn pNext(mut self, pNext : *const void) -> Self {
25760 self.pNext = pNext;
25761 self
25762 }
25763
25764 pub fn counterPassIndex(mut self, counterPassIndex : u32) -> Self {
25765 self.counterPassIndex = counterPassIndex;
25766 self
25767 }
25768
25769}
25770
25771impl PhysicalDeviceSurfaceInfo2KHR {
25772
25773 pub fn new() -> Self {
25774 Self::default()
25775 }
25776
25777 pub fn sType(mut self, sType : StructureType) -> Self {
25778 self.sType = sType;
25779 self
25780 }
25781
25782 pub fn pNext(mut self, pNext : *const void) -> Self {
25783 self.pNext = pNext;
25784 self
25785 }
25786
25787 pub fn surface(mut self, surface : SurfaceKHR) -> Self {
25788 self.surface = surface;
25789 self
25790 }
25791
25792}
25793
25794impl SurfaceCapabilities2KHR {
25795
25796 pub fn new() -> Self {
25797 Self::default()
25798 }
25799
25800 pub fn sType(mut self, sType : StructureType) -> Self {
25801 self.sType = sType;
25802 self
25803 }
25804
25805 pub fn pNext(mut self, pNext : *mut void) -> Self {
25806 self.pNext = pNext;
25807 self
25808 }
25809
25810 pub fn surfaceCapabilities(mut self, surfaceCapabilities : SurfaceCapabilitiesKHR) -> Self {
25811 self.surfaceCapabilities = surfaceCapabilities;
25812 self
25813 }
25814
25815}
25816
25817impl SurfaceFormat2KHR {
25818
25819 pub fn new() -> Self {
25820 Self::default()
25821 }
25822
25823 pub fn sType(mut self, sType : StructureType) -> Self {
25824 self.sType = sType;
25825 self
25826 }
25827
25828 pub fn pNext(mut self, pNext : *mut void) -> Self {
25829 self.pNext = pNext;
25830 self
25831 }
25832
25833 pub fn surfaceFormat(mut self, surfaceFormat : SurfaceFormatKHR) -> Self {
25834 self.surfaceFormat = surfaceFormat;
25835 self
25836 }
25837
25838}
25839
25840impl DisplayProperties2KHR {
25841
25842 pub fn new() -> Self {
25843 Self::default()
25844 }
25845
25846 pub fn sType(mut self, sType : StructureType) -> Self {
25847 self.sType = sType;
25848 self
25849 }
25850
25851 pub fn pNext(mut self, pNext : *mut void) -> Self {
25852 self.pNext = pNext;
25853 self
25854 }
25855
25856 pub fn displayProperties(mut self, displayProperties : DisplayPropertiesKHR) -> Self {
25857 self.displayProperties = displayProperties;
25858 self
25859 }
25860
25861}
25862
25863impl DisplayPlaneProperties2KHR {
25864
25865 pub fn new() -> Self {
25866 Self::default()
25867 }
25868
25869 pub fn sType(mut self, sType : StructureType) -> Self {
25870 self.sType = sType;
25871 self
25872 }
25873
25874 pub fn pNext(mut self, pNext : *mut void) -> Self {
25875 self.pNext = pNext;
25876 self
25877 }
25878
25879 pub fn displayPlaneProperties(mut self, displayPlaneProperties : DisplayPlanePropertiesKHR) -> Self {
25880 self.displayPlaneProperties = displayPlaneProperties;
25881 self
25882 }
25883
25884}
25885
25886impl DisplayModeProperties2KHR {
25887
25888 pub fn new() -> Self {
25889 Self::default()
25890 }
25891
25892 pub fn sType(mut self, sType : StructureType) -> Self {
25893 self.sType = sType;
25894 self
25895 }
25896
25897 pub fn pNext(mut self, pNext : *mut void) -> Self {
25898 self.pNext = pNext;
25899 self
25900 }
25901
25902 pub fn displayModeProperties(mut self, displayModeProperties : DisplayModePropertiesKHR) -> Self {
25903 self.displayModeProperties = displayModeProperties;
25904 self
25905 }
25906
25907}
25908
25909impl DisplayPlaneInfo2KHR {
25910
25911 pub fn new() -> Self {
25912 Self::default()
25913 }
25914
25915 pub fn sType(mut self, sType : StructureType) -> Self {
25916 self.sType = sType;
25917 self
25918 }
25919
25920 pub fn pNext(mut self, pNext : *const void) -> Self {
25921 self.pNext = pNext;
25922 self
25923 }
25924
25925 pub fn mode(mut self, mode : DisplayModeKHR) -> Self {
25926 self.mode = mode;
25927 self
25928 }
25929
25930 pub fn planeIndex(mut self, planeIndex : u32) -> Self {
25931 self.planeIndex = planeIndex;
25932 self
25933 }
25934
25935}
25936
25937impl DisplayPlaneCapabilities2KHR {
25938
25939 pub fn new() -> Self {
25940 Self::default()
25941 }
25942
25943 pub fn sType(mut self, sType : StructureType) -> Self {
25944 self.sType = sType;
25945 self
25946 }
25947
25948 pub fn pNext(mut self, pNext : *mut void) -> Self {
25949 self.pNext = pNext;
25950 self
25951 }
25952
25953 pub fn capabilities(mut self, capabilities : DisplayPlaneCapabilitiesKHR) -> Self {
25954 self.capabilities = capabilities;
25955 self
25956 }
25957
25958}
25959
25960impl PhysicalDeviceShaderClockFeaturesKHR {
25961
25962 pub fn new() -> Self {
25963 Self::default()
25964 }
25965
25966 pub fn sType(mut self, sType : StructureType) -> Self {
25967 self.sType = sType;
25968 self
25969 }
25970
25971 pub fn pNext(mut self, pNext : *mut void) -> Self {
25972 self.pNext = pNext;
25973 self
25974 }
25975
25976 pub fn shaderSubgroupClock(mut self, shaderSubgroupClock : Bool32) -> Self {
25977 self.shaderSubgroupClock = shaderSubgroupClock;
25978 self
25979 }
25980
25981 pub fn shaderDeviceClock(mut self, shaderDeviceClock : Bool32) -> Self {
25982 self.shaderDeviceClock = shaderDeviceClock;
25983 self
25984 }
25985
25986}
25987
25988impl SurfaceProtectedCapabilitiesKHR {
25989
25990 pub fn new() -> Self {
25991 Self::default()
25992 }
25993
25994 pub fn sType(mut self, sType : StructureType) -> Self {
25995 self.sType = sType;
25996 self
25997 }
25998
25999 pub fn pNext(mut self, pNext : *const void) -> Self {
26000 self.pNext = pNext;
26001 self
26002 }
26003
26004 pub fn supportsProtected(mut self, supportsProtected : Bool32) -> Self {
26005 self.supportsProtected = supportsProtected;
26006 self
26007 }
26008
26009}
26010
26011impl PhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
26012
26013 pub fn new() -> Self {
26014 Self::default()
26015 }
26016
26017 pub fn sType(mut self, sType : StructureType) -> Self {
26018 self.sType = sType;
26019 self
26020 }
26021
26022 pub fn pNext(mut self, pNext : *mut void) -> Self {
26023 self.pNext = pNext;
26024 self
26025 }
26026
26027 pub fn pipelineExecutableInfo(mut self, pipelineExecutableInfo : Bool32) -> Self {
26028 self.pipelineExecutableInfo = pipelineExecutableInfo;
26029 self
26030 }
26031
26032}
26033
26034impl PipelineInfoKHR {
26035
26036 pub fn new() -> Self {
26037 Self::default()
26038 }
26039
26040 pub fn sType(mut self, sType : StructureType) -> Self {
26041 self.sType = sType;
26042 self
26043 }
26044
26045 pub fn pNext(mut self, pNext : *const void) -> Self {
26046 self.pNext = pNext;
26047 self
26048 }
26049
26050 pub fn pipeline(mut self, pipeline : Pipeline) -> Self {
26051 self.pipeline = pipeline;
26052 self
26053 }
26054
26055}
26056
26057impl PipelineExecutablePropertiesKHR {
26058
26059 pub fn new() -> Self {
26060 Self::default()
26061 }
26062
26063 pub fn sType(mut self, sType : StructureType) -> Self {
26064 self.sType = sType;
26065 self
26066 }
26067
26068 pub fn pNext(mut self, pNext : *mut void) -> Self {
26069 self.pNext = pNext;
26070 self
26071 }
26072
26073 pub fn stages(mut self, stages : ShaderStageFlags) -> Self {
26074 self.stages = stages;
26075 self
26076 }
26077
26078 pub fn name(mut self, name : [i8;MAX_DESCRIPTION_SIZE]) -> Self {
26079 self.name = name;
26080 self
26081 }
26082
26083 pub fn description(mut self, description : [i8;MAX_DESCRIPTION_SIZE]) -> Self {
26084 self.description = description;
26085 self
26086 }
26087
26088 pub fn subgroupSize(mut self, subgroupSize : u32) -> Self {
26089 self.subgroupSize = subgroupSize;
26090 self
26091 }
26092
26093}
26094
26095impl PipelineExecutableInfoKHR {
26096
26097 pub fn new() -> Self {
26098 Self::default()
26099 }
26100
26101 pub fn sType(mut self, sType : StructureType) -> Self {
26102 self.sType = sType;
26103 self
26104 }
26105
26106 pub fn pNext(mut self, pNext : *const void) -> Self {
26107 self.pNext = pNext;
26108 self
26109 }
26110
26111 pub fn pipeline(mut self, pipeline : Pipeline) -> Self {
26112 self.pipeline = pipeline;
26113 self
26114 }
26115
26116 pub fn executableIndex(mut self, executableIndex : u32) -> Self {
26117 self.executableIndex = executableIndex;
26118 self
26119 }
26120
26121}
26122
26123impl PipelineExecutableInternalRepresentationKHR {
26124
26125 pub fn new() -> Self {
26126 Self::default()
26127 }
26128
26129 pub fn sType(mut self, sType : StructureType) -> Self {
26130 self.sType = sType;
26131 self
26132 }
26133
26134 pub fn pNext(mut self, pNext : *mut void) -> Self {
26135 self.pNext = pNext;
26136 self
26137 }
26138
26139 pub fn name(mut self, name : [i8;MAX_DESCRIPTION_SIZE]) -> Self {
26140 self.name = name;
26141 self
26142 }
26143
26144 pub fn description(mut self, description : [i8;MAX_DESCRIPTION_SIZE]) -> Self {
26145 self.description = description;
26146 self
26147 }
26148
26149 pub fn isText(mut self, isText : Bool32) -> Self {
26150 self.isText = isText;
26151 self
26152 }
26153
26154 pub fn dataSize(mut self, dataSize : usize) -> Self {
26155 self.dataSize = dataSize;
26156 self
26157 }
26158
26159 pub fn pData(mut self, pData : *mut void) -> Self {
26160 self.pData = pData;
26161 self
26162 }
26163
26164}
26165
26166impl DebugReportCallbackCreateInfoEXT {
26167
26168 pub fn new() -> Self {
26169 Self::default()
26170 }
26171
26172 pub fn sType(mut self, sType : StructureType) -> Self {
26173 self.sType = sType;
26174 self
26175 }
26176
26177 pub fn pNext(mut self, pNext : *const void) -> Self {
26178 self.pNext = pNext;
26179 self
26180 }
26181
26182 pub fn flags(mut self, flags : DebugReportFlagsEXT) -> Self {
26183 self.flags = flags;
26184 self
26185 }
26186
26187 pub fn pfnCallback(mut self, pfnCallback : u64) -> Self {
26188 self.pfnCallback = pfnCallback;
26189 self
26190 }
26191
26192 pub fn pUserData(mut self, pUserData : *mut void) -> Self {
26193 self.pUserData = pUserData;
26194 self
26195 }
26196
26197}
26198
26199impl PipelineRasterizationStateRasterizationOrderAMD {
26200
26201 pub fn new() -> Self {
26202 Self::default()
26203 }
26204
26205 pub fn sType(mut self, sType : StructureType) -> Self {
26206 self.sType = sType;
26207 self
26208 }
26209
26210 pub fn pNext(mut self, pNext : *const void) -> Self {
26211 self.pNext = pNext;
26212 self
26213 }
26214
26215 pub fn rasterizationOrder(mut self, rasterizationOrder : RasterizationOrderAMD) -> Self {
26216 self.rasterizationOrder = rasterizationOrder;
26217 self
26218 }
26219
26220}
26221
26222impl DebugMarkerObjectNameInfoEXT {
26223
26224 pub fn new() -> Self {
26225 Self::default()
26226 }
26227
26228 pub fn sType(mut self, sType : StructureType) -> Self {
26229 self.sType = sType;
26230 self
26231 }
26232
26233 pub fn pNext(mut self, pNext : *const void) -> Self {
26234 self.pNext = pNext;
26235 self
26236 }
26237
26238 pub fn objectType(mut self, objectType : DebugReportObjectTypeEXT) -> Self {
26239 self.objectType = objectType;
26240 self
26241 }
26242
26243 pub fn object(mut self, object : u64) -> Self {
26244 self.object = object;
26245 self
26246 }
26247
26248 pub fn pObjectName(mut self, pObjectName : *const i8) -> Self {
26249 self.pObjectName = pObjectName;
26250 self
26251 }
26252
26253}
26254
26255impl DebugMarkerObjectTagInfoEXT {
26256
26257 pub fn new() -> Self {
26258 Self::default()
26259 }
26260
26261 pub fn sType(mut self, sType : StructureType) -> Self {
26262 self.sType = sType;
26263 self
26264 }
26265
26266 pub fn pNext(mut self, pNext : *const void) -> Self {
26267 self.pNext = pNext;
26268 self
26269 }
26270
26271 pub fn objectType(mut self, objectType : DebugReportObjectTypeEXT) -> Self {
26272 self.objectType = objectType;
26273 self
26274 }
26275
26276 pub fn object(mut self, object : u64) -> Self {
26277 self.object = object;
26278 self
26279 }
26280
26281 pub fn tagName(mut self, tagName : u64) -> Self {
26282 self.tagName = tagName;
26283 self
26284 }
26285
26286 pub fn tagSize(mut self, tagSize : usize) -> Self {
26287 self.tagSize = tagSize;
26288 self
26289 }
26290
26291 pub fn pTag(mut self, pTag : *const void) -> Self {
26292 self.pTag = pTag;
26293 self
26294 }
26295
26296}
26297
26298impl DebugMarkerMarkerInfoEXT {
26299
26300 pub fn new() -> Self {
26301 Self::default()
26302 }
26303
26304 pub fn sType(mut self, sType : StructureType) -> Self {
26305 self.sType = sType;
26306 self
26307 }
26308
26309 pub fn pNext(mut self, pNext : *const void) -> Self {
26310 self.pNext = pNext;
26311 self
26312 }
26313
26314 pub fn pMarkerName(mut self, pMarkerName : *const i8) -> Self {
26315 self.pMarkerName = pMarkerName;
26316 self
26317 }
26318
26319 pub fn color(mut self, color : [f32;4]) -> Self {
26320 self.color = color;
26321 self
26322 }
26323
26324}
26325
26326impl DedicatedAllocationImageCreateInfoNV {
26327
26328 pub fn new() -> Self {
26329 Self::default()
26330 }
26331
26332 pub fn sType(mut self, sType : StructureType) -> Self {
26333 self.sType = sType;
26334 self
26335 }
26336
26337 pub fn pNext(mut self, pNext : *const void) -> Self {
26338 self.pNext = pNext;
26339 self
26340 }
26341
26342 pub fn dedicatedAllocation(mut self, dedicatedAllocation : Bool32) -> Self {
26343 self.dedicatedAllocation = dedicatedAllocation;
26344 self
26345 }
26346
26347}
26348
26349impl DedicatedAllocationBufferCreateInfoNV {
26350
26351 pub fn new() -> Self {
26352 Self::default()
26353 }
26354
26355 pub fn sType(mut self, sType : StructureType) -> Self {
26356 self.sType = sType;
26357 self
26358 }
26359
26360 pub fn pNext(mut self, pNext : *const void) -> Self {
26361 self.pNext = pNext;
26362 self
26363 }
26364
26365 pub fn dedicatedAllocation(mut self, dedicatedAllocation : Bool32) -> Self {
26366 self.dedicatedAllocation = dedicatedAllocation;
26367 self
26368 }
26369
26370}
26371
26372impl DedicatedAllocationMemoryAllocateInfoNV {
26373
26374 pub fn new() -> Self {
26375 Self::default()
26376 }
26377
26378 pub fn sType(mut self, sType : StructureType) -> Self {
26379 self.sType = sType;
26380 self
26381 }
26382
26383 pub fn pNext(mut self, pNext : *const void) -> Self {
26384 self.pNext = pNext;
26385 self
26386 }
26387
26388 pub fn image(mut self, image : Image) -> Self {
26389 self.image = image;
26390 self
26391 }
26392
26393 pub fn buffer(mut self, buffer : Buffer) -> Self {
26394 self.buffer = buffer;
26395 self
26396 }
26397
26398}
26399
26400impl PhysicalDeviceTransformFeedbackFeaturesEXT {
26401
26402 pub fn new() -> Self {
26403 Self::default()
26404 }
26405
26406 pub fn sType(mut self, sType : StructureType) -> Self {
26407 self.sType = sType;
26408 self
26409 }
26410
26411 pub fn pNext(mut self, pNext : *mut void) -> Self {
26412 self.pNext = pNext;
26413 self
26414 }
26415
26416 pub fn transformFeedback(mut self, transformFeedback : Bool32) -> Self {
26417 self.transformFeedback = transformFeedback;
26418 self
26419 }
26420
26421 pub fn geometryStreams(mut self, geometryStreams : Bool32) -> Self {
26422 self.geometryStreams = geometryStreams;
26423 self
26424 }
26425
26426}
26427
26428impl PhysicalDeviceTransformFeedbackPropertiesEXT {
26429
26430 pub fn new() -> Self {
26431 Self::default()
26432 }
26433
26434 pub fn sType(mut self, sType : StructureType) -> Self {
26435 self.sType = sType;
26436 self
26437 }
26438
26439 pub fn pNext(mut self, pNext : *mut void) -> Self {
26440 self.pNext = pNext;
26441 self
26442 }
26443
26444 pub fn maxTransformFeedbackStreams(mut self, maxTransformFeedbackStreams : u32) -> Self {
26445 self.maxTransformFeedbackStreams = maxTransformFeedbackStreams;
26446 self
26447 }
26448
26449 pub fn maxTransformFeedbackBuffers(mut self, maxTransformFeedbackBuffers : u32) -> Self {
26450 self.maxTransformFeedbackBuffers = maxTransformFeedbackBuffers;
26451 self
26452 }
26453
26454 pub fn maxTransformFeedbackBufferSize(mut self, maxTransformFeedbackBufferSize : DeviceSize) -> Self {
26455 self.maxTransformFeedbackBufferSize = maxTransformFeedbackBufferSize;
26456 self
26457 }
26458
26459 pub fn maxTransformFeedbackStreamDataSize(mut self, maxTransformFeedbackStreamDataSize : u32) -> Self {
26460 self.maxTransformFeedbackStreamDataSize = maxTransformFeedbackStreamDataSize;
26461 self
26462 }
26463
26464 pub fn maxTransformFeedbackBufferDataSize(mut self, maxTransformFeedbackBufferDataSize : u32) -> Self {
26465 self.maxTransformFeedbackBufferDataSize = maxTransformFeedbackBufferDataSize;
26466 self
26467 }
26468
26469 pub fn maxTransformFeedbackBufferDataStride(mut self, maxTransformFeedbackBufferDataStride : u32) -> Self {
26470 self.maxTransformFeedbackBufferDataStride = maxTransformFeedbackBufferDataStride;
26471 self
26472 }
26473
26474 pub fn transformFeedbackQueries(mut self, transformFeedbackQueries : Bool32) -> Self {
26475 self.transformFeedbackQueries = transformFeedbackQueries;
26476 self
26477 }
26478
26479 pub fn transformFeedbackStreamsLinesTriangles(mut self, transformFeedbackStreamsLinesTriangles : Bool32) -> Self {
26480 self.transformFeedbackStreamsLinesTriangles = transformFeedbackStreamsLinesTriangles;
26481 self
26482 }
26483
26484 pub fn transformFeedbackRasterizationStreamSelect(mut self, transformFeedbackRasterizationStreamSelect : Bool32) -> Self {
26485 self.transformFeedbackRasterizationStreamSelect = transformFeedbackRasterizationStreamSelect;
26486 self
26487 }
26488
26489 pub fn transformFeedbackDraw(mut self, transformFeedbackDraw : Bool32) -> Self {
26490 self.transformFeedbackDraw = transformFeedbackDraw;
26491 self
26492 }
26493
26494}
26495
26496impl PipelineRasterizationStateStreamCreateInfoEXT {
26497
26498 pub fn new() -> Self {
26499 Self::default()
26500 }
26501
26502 pub fn sType(mut self, sType : StructureType) -> Self {
26503 self.sType = sType;
26504 self
26505 }
26506
26507 pub fn pNext(mut self, pNext : *const void) -> Self {
26508 self.pNext = pNext;
26509 self
26510 }
26511
26512 pub fn flags(mut self, flags : PipelineRasterizationStateStreamCreateFlagsEXT) -> Self {
26513 self.flags = flags;
26514 self
26515 }
26516
26517 pub fn rasterizationStream(mut self, rasterizationStream : u32) -> Self {
26518 self.rasterizationStream = rasterizationStream;
26519 self
26520 }
26521
26522}
26523
26524impl ImageViewHandleInfoNVX {
26525
26526 pub fn new() -> Self {
26527 Self::default()
26528 }
26529
26530 pub fn sType(mut self, sType : StructureType) -> Self {
26531 self.sType = sType;
26532 self
26533 }
26534
26535 pub fn pNext(mut self, pNext : *const void) -> Self {
26536 self.pNext = pNext;
26537 self
26538 }
26539
26540 pub fn imageView(mut self, imageView : ImageView) -> Self {
26541 self.imageView = imageView;
26542 self
26543 }
26544
26545 pub fn descriptorType(mut self, descriptorType : DescriptorType) -> Self {
26546 self.descriptorType = descriptorType;
26547 self
26548 }
26549
26550 pub fn sampler(mut self, sampler : Sampler) -> Self {
26551 self.sampler = sampler;
26552 self
26553 }
26554
26555}
26556
26557impl ImageViewAddressPropertiesNVX {
26558
26559 pub fn new() -> Self {
26560 Self::default()
26561 }
26562
26563 pub fn sType(mut self, sType : StructureType) -> Self {
26564 self.sType = sType;
26565 self
26566 }
26567
26568 pub fn pNext(mut self, pNext : *mut void) -> Self {
26569 self.pNext = pNext;
26570 self
26571 }
26572
26573 pub fn deviceAddress(mut self, deviceAddress : DeviceAddress) -> Self {
26574 self.deviceAddress = deviceAddress;
26575 self
26576 }
26577
26578 pub fn size(mut self, size : DeviceSize) -> Self {
26579 self.size = size;
26580 self
26581 }
26582
26583}
26584
26585impl TextureLODGatherFormatPropertiesAMD {
26586
26587 pub fn new() -> Self {
26588 Self::default()
26589 }
26590
26591 pub fn sType(mut self, sType : StructureType) -> Self {
26592 self.sType = sType;
26593 self
26594 }
26595
26596 pub fn pNext(mut self, pNext : *mut void) -> Self {
26597 self.pNext = pNext;
26598 self
26599 }
26600
26601 pub fn supportsTextureGatherLODBiasAMD(mut self, supportsTextureGatherLODBiasAMD : Bool32) -> Self {
26602 self.supportsTextureGatherLODBiasAMD = supportsTextureGatherLODBiasAMD;
26603 self
26604 }
26605
26606}
26607
26608impl ShaderResourceUsageAMD {
26609
26610 pub fn new() -> Self {
26611 Self::default()
26612 }
26613
26614 pub fn numUsedVgprs(mut self, numUsedVgprs : u32) -> Self {
26615 self.numUsedVgprs = numUsedVgprs;
26616 self
26617 }
26618
26619 pub fn numUsedSgprs(mut self, numUsedSgprs : u32) -> Self {
26620 self.numUsedSgprs = numUsedSgprs;
26621 self
26622 }
26623
26624 pub fn ldsSizePerLocalWorkGroup(mut self, ldsSizePerLocalWorkGroup : u32) -> Self {
26625 self.ldsSizePerLocalWorkGroup = ldsSizePerLocalWorkGroup;
26626 self
26627 }
26628
26629 pub fn ldsUsageSizeInBytes(mut self, ldsUsageSizeInBytes : usize) -> Self {
26630 self.ldsUsageSizeInBytes = ldsUsageSizeInBytes;
26631 self
26632 }
26633
26634 pub fn scratchMemUsageInBytes(mut self, scratchMemUsageInBytes : usize) -> Self {
26635 self.scratchMemUsageInBytes = scratchMemUsageInBytes;
26636 self
26637 }
26638
26639}
26640
26641impl ShaderStatisticsInfoAMD {
26642
26643 pub fn new() -> Self {
26644 Self::default()
26645 }
26646
26647 pub fn shaderStageMask(mut self, shaderStageMask : ShaderStageFlags) -> Self {
26648 self.shaderStageMask = shaderStageMask;
26649 self
26650 }
26651
26652 pub fn resourceUsage(mut self, resourceUsage : ShaderResourceUsageAMD) -> Self {
26653 self.resourceUsage = resourceUsage;
26654 self
26655 }
26656
26657 pub fn numPhysicalVgprs(mut self, numPhysicalVgprs : u32) -> Self {
26658 self.numPhysicalVgprs = numPhysicalVgprs;
26659 self
26660 }
26661
26662 pub fn numPhysicalSgprs(mut self, numPhysicalSgprs : u32) -> Self {
26663 self.numPhysicalSgprs = numPhysicalSgprs;
26664 self
26665 }
26666
26667 pub fn numAvailableVgprs(mut self, numAvailableVgprs : u32) -> Self {
26668 self.numAvailableVgprs = numAvailableVgprs;
26669 self
26670 }
26671
26672 pub fn numAvailableSgprs(mut self, numAvailableSgprs : u32) -> Self {
26673 self.numAvailableSgprs = numAvailableSgprs;
26674 self
26675 }
26676
26677 pub fn computeWorkGroupSize(mut self, computeWorkGroupSize : [u32;3]) -> Self {
26678 self.computeWorkGroupSize = computeWorkGroupSize;
26679 self
26680 }
26681
26682}
26683
26684impl PhysicalDeviceCornerSampledImageFeaturesNV {
26685
26686 pub fn new() -> Self {
26687 Self::default()
26688 }
26689
26690 pub fn sType(mut self, sType : StructureType) -> Self {
26691 self.sType = sType;
26692 self
26693 }
26694
26695 pub fn pNext(mut self, pNext : *mut void) -> Self {
26696 self.pNext = pNext;
26697 self
26698 }
26699
26700 pub fn cornerSampledImage(mut self, cornerSampledImage : Bool32) -> Self {
26701 self.cornerSampledImage = cornerSampledImage;
26702 self
26703 }
26704
26705}
26706
26707impl ExternalImageFormatPropertiesNV {
26708
26709 pub fn new() -> Self {
26710 Self::default()
26711 }
26712
26713 pub fn imageFormatProperties(mut self, imageFormatProperties : ImageFormatProperties) -> Self {
26714 self.imageFormatProperties = imageFormatProperties;
26715 self
26716 }
26717
26718 pub fn externalMemoryFeatures(mut self, externalMemoryFeatures : ExternalMemoryFeatureFlagsNV) -> Self {
26719 self.externalMemoryFeatures = externalMemoryFeatures;
26720 self
26721 }
26722
26723 pub fn exportFromImportedHandleTypes(mut self, exportFromImportedHandleTypes : ExternalMemoryHandleTypeFlagsNV) -> Self {
26724 self.exportFromImportedHandleTypes = exportFromImportedHandleTypes;
26725 self
26726 }
26727
26728 pub fn compatibleHandleTypes(mut self, compatibleHandleTypes : ExternalMemoryHandleTypeFlagsNV) -> Self {
26729 self.compatibleHandleTypes = compatibleHandleTypes;
26730 self
26731 }
26732
26733}
26734
26735impl ExternalMemoryImageCreateInfoNV {
26736
26737 pub fn new() -> Self {
26738 Self::default()
26739 }
26740
26741 pub fn sType(mut self, sType : StructureType) -> Self {
26742 self.sType = sType;
26743 self
26744 }
26745
26746 pub fn pNext(mut self, pNext : *const void) -> Self {
26747 self.pNext = pNext;
26748 self
26749 }
26750
26751 pub fn handleTypes(mut self, handleTypes : ExternalMemoryHandleTypeFlagsNV) -> Self {
26752 self.handleTypes = handleTypes;
26753 self
26754 }
26755
26756}
26757
26758impl ExportMemoryAllocateInfoNV {
26759
26760 pub fn new() -> Self {
26761 Self::default()
26762 }
26763
26764 pub fn sType(mut self, sType : StructureType) -> Self {
26765 self.sType = sType;
26766 self
26767 }
26768
26769 pub fn pNext(mut self, pNext : *const void) -> Self {
26770 self.pNext = pNext;
26771 self
26772 }
26773
26774 pub fn handleTypes(mut self, handleTypes : ExternalMemoryHandleTypeFlagsNV) -> Self {
26775 self.handleTypes = handleTypes;
26776 self
26777 }
26778
26779}
26780
26781impl ValidationFlagsEXT {
26782
26783 pub fn new() -> Self {
26784 Self::default()
26785 }
26786
26787 pub fn sType(mut self, sType : StructureType) -> Self {
26788 self.sType = sType;
26789 self
26790 }
26791
26792 pub fn pNext(mut self, pNext : *const void) -> Self {
26793 self.pNext = pNext;
26794 self
26795 }
26796
26797 pub fn disabledValidationCheckCount(mut self, disabledValidationCheckCount : u32) -> Self {
26798 self.disabledValidationCheckCount = disabledValidationCheckCount;
26799 self
26800 }
26801
26802 pub fn pDisabledValidationChecks(mut self, pDisabledValidationChecks : *const ValidationCheckEXT) -> Self {
26803 self.pDisabledValidationChecks = pDisabledValidationChecks;
26804 self
26805 }
26806
26807}
26808
26809impl PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT {
26810
26811 pub fn new() -> Self {
26812 Self::default()
26813 }
26814
26815 pub fn sType(mut self, sType : StructureType) -> Self {
26816 self.sType = sType;
26817 self
26818 }
26819
26820 pub fn pNext(mut self, pNext : *mut void) -> Self {
26821 self.pNext = pNext;
26822 self
26823 }
26824
26825 pub fn textureCompressionASTC_HDR(mut self, textureCompressionASTC_HDR : Bool32) -> Self {
26826 self.textureCompressionASTC_HDR = textureCompressionASTC_HDR;
26827 self
26828 }
26829
26830}
26831
26832impl ImageViewASTCDecodeModeEXT {
26833
26834 pub fn new() -> Self {
26835 Self::default()
26836 }
26837
26838 pub fn sType(mut self, sType : StructureType) -> Self {
26839 self.sType = sType;
26840 self
26841 }
26842
26843 pub fn pNext(mut self, pNext : *const void) -> Self {
26844 self.pNext = pNext;
26845 self
26846 }
26847
26848 pub fn decodeMode(mut self, decodeMode : Format) -> Self {
26849 self.decodeMode = decodeMode;
26850 self
26851 }
26852
26853}
26854
26855impl PhysicalDeviceASTCDecodeFeaturesEXT {
26856
26857 pub fn new() -> Self {
26858 Self::default()
26859 }
26860
26861 pub fn sType(mut self, sType : StructureType) -> Self {
26862 self.sType = sType;
26863 self
26864 }
26865
26866 pub fn pNext(mut self, pNext : *mut void) -> Self {
26867 self.pNext = pNext;
26868 self
26869 }
26870
26871 pub fn decodeModeSharedExponent(mut self, decodeModeSharedExponent : Bool32) -> Self {
26872 self.decodeModeSharedExponent = decodeModeSharedExponent;
26873 self
26874 }
26875
26876}
26877
26878impl ConditionalRenderingBeginInfoEXT {
26879
26880 pub fn new() -> Self {
26881 Self::default()
26882 }
26883
26884 pub fn sType(mut self, sType : StructureType) -> Self {
26885 self.sType = sType;
26886 self
26887 }
26888
26889 pub fn pNext(mut self, pNext : *const void) -> Self {
26890 self.pNext = pNext;
26891 self
26892 }
26893
26894 pub fn buffer(mut self, buffer : Buffer) -> Self {
26895 self.buffer = buffer;
26896 self
26897 }
26898
26899 pub fn offset(mut self, offset : DeviceSize) -> Self {
26900 self.offset = offset;
26901 self
26902 }
26903
26904 pub fn flags(mut self, flags : ConditionalRenderingFlagsEXT) -> Self {
26905 self.flags = flags;
26906 self
26907 }
26908
26909}
26910
26911impl PhysicalDeviceConditionalRenderingFeaturesEXT {
26912
26913 pub fn new() -> Self {
26914 Self::default()
26915 }
26916
26917 pub fn sType(mut self, sType : StructureType) -> Self {
26918 self.sType = sType;
26919 self
26920 }
26921
26922 pub fn pNext(mut self, pNext : *mut void) -> Self {
26923 self.pNext = pNext;
26924 self
26925 }
26926
26927 pub fn conditionalRendering(mut self, conditionalRendering : Bool32) -> Self {
26928 self.conditionalRendering = conditionalRendering;
26929 self
26930 }
26931
26932 pub fn inheritedConditionalRendering(mut self, inheritedConditionalRendering : Bool32) -> Self {
26933 self.inheritedConditionalRendering = inheritedConditionalRendering;
26934 self
26935 }
26936
26937}
26938
26939impl CommandBufferInheritanceConditionalRenderingInfoEXT {
26940
26941 pub fn new() -> Self {
26942 Self::default()
26943 }
26944
26945 pub fn sType(mut self, sType : StructureType) -> Self {
26946 self.sType = sType;
26947 self
26948 }
26949
26950 pub fn pNext(mut self, pNext : *const void) -> Self {
26951 self.pNext = pNext;
26952 self
26953 }
26954
26955 pub fn conditionalRenderingEnable(mut self, conditionalRenderingEnable : Bool32) -> Self {
26956 self.conditionalRenderingEnable = conditionalRenderingEnable;
26957 self
26958 }
26959
26960}
26961
26962impl ViewportWScalingNV {
26963
26964 pub fn new() -> Self {
26965 Self::default()
26966 }
26967
26968 pub fn xcoeff(mut self, xcoeff : f32) -> Self {
26969 self.xcoeff = xcoeff;
26970 self
26971 }
26972
26973 pub fn ycoeff(mut self, ycoeff : f32) -> Self {
26974 self.ycoeff = ycoeff;
26975 self
26976 }
26977
26978}
26979
26980impl PipelineViewportWScalingStateCreateInfoNV {
26981
26982 pub fn new() -> Self {
26983 Self::default()
26984 }
26985
26986 pub fn sType(mut self, sType : StructureType) -> Self {
26987 self.sType = sType;
26988 self
26989 }
26990
26991 pub fn pNext(mut self, pNext : *const void) -> Self {
26992 self.pNext = pNext;
26993 self
26994 }
26995
26996 pub fn viewportWScalingEnable(mut self, viewportWScalingEnable : Bool32) -> Self {
26997 self.viewportWScalingEnable = viewportWScalingEnable;
26998 self
26999 }
27000
27001 pub fn viewportCount(mut self, viewportCount : u32) -> Self {
27002 self.viewportCount = viewportCount;
27003 self
27004 }
27005
27006 pub fn pViewportWScalings(mut self, pViewportWScalings : *const ViewportWScalingNV) -> Self {
27007 self.pViewportWScalings = pViewportWScalings;
27008 self
27009 }
27010
27011}
27012
27013impl SurfaceCapabilities2EXT {
27014
27015 pub fn new() -> Self {
27016 Self::default()
27017 }
27018
27019 pub fn sType(mut self, sType : StructureType) -> Self {
27020 self.sType = sType;
27021 self
27022 }
27023
27024 pub fn pNext(mut self, pNext : *mut void) -> Self {
27025 self.pNext = pNext;
27026 self
27027 }
27028
27029 pub fn minImageCount(mut self, minImageCount : u32) -> Self {
27030 self.minImageCount = minImageCount;
27031 self
27032 }
27033
27034 pub fn maxImageCount(mut self, maxImageCount : u32) -> Self {
27035 self.maxImageCount = maxImageCount;
27036 self
27037 }
27038
27039 pub fn currentExtent(mut self, currentExtent : Extent2D) -> Self {
27040 self.currentExtent = currentExtent;
27041 self
27042 }
27043
27044 pub fn minImageExtent(mut self, minImageExtent : Extent2D) -> Self {
27045 self.minImageExtent = minImageExtent;
27046 self
27047 }
27048
27049 pub fn maxImageExtent(mut self, maxImageExtent : Extent2D) -> Self {
27050 self.maxImageExtent = maxImageExtent;
27051 self
27052 }
27053
27054 pub fn maxImageArrayLayers(mut self, maxImageArrayLayers : u32) -> Self {
27055 self.maxImageArrayLayers = maxImageArrayLayers;
27056 self
27057 }
27058
27059 pub fn supportedTransforms(mut self, supportedTransforms : SurfaceTransformFlagsKHR) -> Self {
27060 self.supportedTransforms = supportedTransforms;
27061 self
27062 }
27063
27064 pub fn currentTransform(mut self, currentTransform : SurfaceTransformFlagBitsKHR) -> Self {
27065 self.currentTransform = currentTransform;
27066 self
27067 }
27068
27069 pub fn supportedCompositeAlpha(mut self, supportedCompositeAlpha : CompositeAlphaFlagsKHR) -> Self {
27070 self.supportedCompositeAlpha = supportedCompositeAlpha;
27071 self
27072 }
27073
27074 pub fn supportedUsageFlags(mut self, supportedUsageFlags : ImageUsageFlags) -> Self {
27075 self.supportedUsageFlags = supportedUsageFlags;
27076 self
27077 }
27078
27079 pub fn supportedSurfaceCounters(mut self, supportedSurfaceCounters : SurfaceCounterFlagsEXT) -> Self {
27080 self.supportedSurfaceCounters = supportedSurfaceCounters;
27081 self
27082 }
27083
27084}
27085
27086impl DisplayPowerInfoEXT {
27087
27088 pub fn new() -> Self {
27089 Self::default()
27090 }
27091
27092 pub fn sType(mut self, sType : StructureType) -> Self {
27093 self.sType = sType;
27094 self
27095 }
27096
27097 pub fn pNext(mut self, pNext : *const void) -> Self {
27098 self.pNext = pNext;
27099 self
27100 }
27101
27102 pub fn powerState(mut self, powerState : DisplayPowerStateEXT) -> Self {
27103 self.powerState = powerState;
27104 self
27105 }
27106
27107}
27108
27109impl DeviceEventInfoEXT {
27110
27111 pub fn new() -> Self {
27112 Self::default()
27113 }
27114
27115 pub fn sType(mut self, sType : StructureType) -> Self {
27116 self.sType = sType;
27117 self
27118 }
27119
27120 pub fn pNext(mut self, pNext : *const void) -> Self {
27121 self.pNext = pNext;
27122 self
27123 }
27124
27125 pub fn deviceEvent(mut self, deviceEvent : DeviceEventTypeEXT) -> Self {
27126 self.deviceEvent = deviceEvent;
27127 self
27128 }
27129
27130}
27131
27132impl DisplayEventInfoEXT {
27133
27134 pub fn new() -> Self {
27135 Self::default()
27136 }
27137
27138 pub fn sType(mut self, sType : StructureType) -> Self {
27139 self.sType = sType;
27140 self
27141 }
27142
27143 pub fn pNext(mut self, pNext : *const void) -> Self {
27144 self.pNext = pNext;
27145 self
27146 }
27147
27148 pub fn displayEvent(mut self, displayEvent : DisplayEventTypeEXT) -> Self {
27149 self.displayEvent = displayEvent;
27150 self
27151 }
27152
27153}
27154
27155impl SwapchainCounterCreateInfoEXT {
27156
27157 pub fn new() -> Self {
27158 Self::default()
27159 }
27160
27161 pub fn sType(mut self, sType : StructureType) -> Self {
27162 self.sType = sType;
27163 self
27164 }
27165
27166 pub fn pNext(mut self, pNext : *const void) -> Self {
27167 self.pNext = pNext;
27168 self
27169 }
27170
27171 pub fn surfaceCounters(mut self, surfaceCounters : SurfaceCounterFlagsEXT) -> Self {
27172 self.surfaceCounters = surfaceCounters;
27173 self
27174 }
27175
27176}
27177
27178impl RefreshCycleDurationGOOGLE {
27179
27180 pub fn new() -> Self {
27181 Self::default()
27182 }
27183
27184 pub fn refreshDuration(mut self, refreshDuration : u64) -> Self {
27185 self.refreshDuration = refreshDuration;
27186 self
27187 }
27188
27189}
27190
27191impl PastPresentationTimingGOOGLE {
27192
27193 pub fn new() -> Self {
27194 Self::default()
27195 }
27196
27197 pub fn presentID(mut self, presentID : u32) -> Self {
27198 self.presentID = presentID;
27199 self
27200 }
27201
27202 pub fn desiredPresentTime(mut self, desiredPresentTime : u64) -> Self {
27203 self.desiredPresentTime = desiredPresentTime;
27204 self
27205 }
27206
27207 pub fn actualPresentTime(mut self, actualPresentTime : u64) -> Self {
27208 self.actualPresentTime = actualPresentTime;
27209 self
27210 }
27211
27212 pub fn earliestPresentTime(mut self, earliestPresentTime : u64) -> Self {
27213 self.earliestPresentTime = earliestPresentTime;
27214 self
27215 }
27216
27217 pub fn presentMargin(mut self, presentMargin : u64) -> Self {
27218 self.presentMargin = presentMargin;
27219 self
27220 }
27221
27222}
27223
27224impl PresentTimeGOOGLE {
27225
27226 pub fn new() -> Self {
27227 Self::default()
27228 }
27229
27230 pub fn presentID(mut self, presentID : u32) -> Self {
27231 self.presentID = presentID;
27232 self
27233 }
27234
27235 pub fn desiredPresentTime(mut self, desiredPresentTime : u64) -> Self {
27236 self.desiredPresentTime = desiredPresentTime;
27237 self
27238 }
27239
27240}
27241
27242impl PresentTimesInfoGOOGLE {
27243
27244 pub fn new() -> Self {
27245 Self::default()
27246 }
27247
27248 pub fn sType(mut self, sType : StructureType) -> Self {
27249 self.sType = sType;
27250 self
27251 }
27252
27253 pub fn pNext(mut self, pNext : *const void) -> Self {
27254 self.pNext = pNext;
27255 self
27256 }
27257
27258 pub fn swapchainCount(mut self, swapchainCount : u32) -> Self {
27259 self.swapchainCount = swapchainCount;
27260 self
27261 }
27262
27263 pub fn pTimes(mut self, pTimes : *const PresentTimeGOOGLE) -> Self {
27264 self.pTimes = pTimes;
27265 self
27266 }
27267
27268}
27269
27270impl PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
27271
27272 pub fn new() -> Self {
27273 Self::default()
27274 }
27275
27276 pub fn sType(mut self, sType : StructureType) -> Self {
27277 self.sType = sType;
27278 self
27279 }
27280
27281 pub fn pNext(mut self, pNext : *mut void) -> Self {
27282 self.pNext = pNext;
27283 self
27284 }
27285
27286 pub fn perViewPositionAllComponents(mut self, perViewPositionAllComponents : Bool32) -> Self {
27287 self.perViewPositionAllComponents = perViewPositionAllComponents;
27288 self
27289 }
27290
27291}
27292
27293impl ViewportSwizzleNV {
27294
27295 pub fn new() -> Self {
27296 Self::default()
27297 }
27298
27299 pub fn x(mut self, x : ViewportCoordinateSwizzleNV) -> Self {
27300 self.x = x;
27301 self
27302 }
27303
27304 pub fn y(mut self, y : ViewportCoordinateSwizzleNV) -> Self {
27305 self.y = y;
27306 self
27307 }
27308
27309 pub fn z(mut self, z : ViewportCoordinateSwizzleNV) -> Self {
27310 self.z = z;
27311 self
27312 }
27313
27314 pub fn w(mut self, w : ViewportCoordinateSwizzleNV) -> Self {
27315 self.w = w;
27316 self
27317 }
27318
27319}
27320
27321impl PipelineViewportSwizzleStateCreateInfoNV {
27322
27323 pub fn new() -> Self {
27324 Self::default()
27325 }
27326
27327 pub fn sType(mut self, sType : StructureType) -> Self {
27328 self.sType = sType;
27329 self
27330 }
27331
27332 pub fn pNext(mut self, pNext : *const void) -> Self {
27333 self.pNext = pNext;
27334 self
27335 }
27336
27337 pub fn flags(mut self, flags : PipelineViewportSwizzleStateCreateFlagsNV) -> Self {
27338 self.flags = flags;
27339 self
27340 }
27341
27342 pub fn viewportCount(mut self, viewportCount : u32) -> Self {
27343 self.viewportCount = viewportCount;
27344 self
27345 }
27346
27347 pub fn pViewportSwizzles(mut self, pViewportSwizzles : *const ViewportSwizzleNV) -> Self {
27348 self.pViewportSwizzles = pViewportSwizzles;
27349 self
27350 }
27351
27352}
27353
27354impl PhysicalDeviceDiscardRectanglePropertiesEXT {
27355
27356 pub fn new() -> Self {
27357 Self::default()
27358 }
27359
27360 pub fn sType(mut self, sType : StructureType) -> Self {
27361 self.sType = sType;
27362 self
27363 }
27364
27365 pub fn pNext(mut self, pNext : *mut void) -> Self {
27366 self.pNext = pNext;
27367 self
27368 }
27369
27370 pub fn maxDiscardRectangles(mut self, maxDiscardRectangles : u32) -> Self {
27371 self.maxDiscardRectangles = maxDiscardRectangles;
27372 self
27373 }
27374
27375}
27376
27377impl PipelineDiscardRectangleStateCreateInfoEXT {
27378
27379 pub fn new() -> Self {
27380 Self::default()
27381 }
27382
27383 pub fn sType(mut self, sType : StructureType) -> Self {
27384 self.sType = sType;
27385 self
27386 }
27387
27388 pub fn pNext(mut self, pNext : *const void) -> Self {
27389 self.pNext = pNext;
27390 self
27391 }
27392
27393 pub fn flags(mut self, flags : PipelineDiscardRectangleStateCreateFlagsEXT) -> Self {
27394 self.flags = flags;
27395 self
27396 }
27397
27398 pub fn discardRectangleMode(mut self, discardRectangleMode : DiscardRectangleModeEXT) -> Self {
27399 self.discardRectangleMode = discardRectangleMode;
27400 self
27401 }
27402
27403 pub fn discardRectangleCount(mut self, discardRectangleCount : u32) -> Self {
27404 self.discardRectangleCount = discardRectangleCount;
27405 self
27406 }
27407
27408 pub fn pDiscardRectangles(mut self, pDiscardRectangles : *const Rect2D) -> Self {
27409 self.pDiscardRectangles = pDiscardRectangles;
27410 self
27411 }
27412
27413}
27414
27415impl PhysicalDeviceConservativeRasterizationPropertiesEXT {
27416
27417 pub fn new() -> Self {
27418 Self::default()
27419 }
27420
27421 pub fn sType(mut self, sType : StructureType) -> Self {
27422 self.sType = sType;
27423 self
27424 }
27425
27426 pub fn pNext(mut self, pNext : *mut void) -> Self {
27427 self.pNext = pNext;
27428 self
27429 }
27430
27431 pub fn primitiveOverestimationSize(mut self, primitiveOverestimationSize : f32) -> Self {
27432 self.primitiveOverestimationSize = primitiveOverestimationSize;
27433 self
27434 }
27435
27436 pub fn maxExtraPrimitiveOverestimationSize(mut self, maxExtraPrimitiveOverestimationSize : f32) -> Self {
27437 self.maxExtraPrimitiveOverestimationSize = maxExtraPrimitiveOverestimationSize;
27438 self
27439 }
27440
27441 pub fn extraPrimitiveOverestimationSizeGranularity(mut self, extraPrimitiveOverestimationSizeGranularity : f32) -> Self {
27442 self.extraPrimitiveOverestimationSizeGranularity = extraPrimitiveOverestimationSizeGranularity;
27443 self
27444 }
27445
27446 pub fn primitiveUnderestimation(mut self, primitiveUnderestimation : Bool32) -> Self {
27447 self.primitiveUnderestimation = primitiveUnderestimation;
27448 self
27449 }
27450
27451 pub fn conservativePointAndLineRasterization(mut self, conservativePointAndLineRasterization : Bool32) -> Self {
27452 self.conservativePointAndLineRasterization = conservativePointAndLineRasterization;
27453 self
27454 }
27455
27456 pub fn degenerateTrianglesRasterized(mut self, degenerateTrianglesRasterized : Bool32) -> Self {
27457 self.degenerateTrianglesRasterized = degenerateTrianglesRasterized;
27458 self
27459 }
27460
27461 pub fn degenerateLinesRasterized(mut self, degenerateLinesRasterized : Bool32) -> Self {
27462 self.degenerateLinesRasterized = degenerateLinesRasterized;
27463 self
27464 }
27465
27466 pub fn fullyCoveredFragmentShaderInputVariable(mut self, fullyCoveredFragmentShaderInputVariable : Bool32) -> Self {
27467 self.fullyCoveredFragmentShaderInputVariable = fullyCoveredFragmentShaderInputVariable;
27468 self
27469 }
27470
27471 pub fn conservativeRasterizationPostDepthCoverage(mut self, conservativeRasterizationPostDepthCoverage : Bool32) -> Self {
27472 self.conservativeRasterizationPostDepthCoverage = conservativeRasterizationPostDepthCoverage;
27473 self
27474 }
27475
27476}
27477
27478impl PipelineRasterizationConservativeStateCreateInfoEXT {
27479
27480 pub fn new() -> Self {
27481 Self::default()
27482 }
27483
27484 pub fn sType(mut self, sType : StructureType) -> Self {
27485 self.sType = sType;
27486 self
27487 }
27488
27489 pub fn pNext(mut self, pNext : *const void) -> Self {
27490 self.pNext = pNext;
27491 self
27492 }
27493
27494 pub fn flags(mut self, flags : PipelineRasterizationConservativeStateCreateFlagsEXT) -> Self {
27495 self.flags = flags;
27496 self
27497 }
27498
27499 pub fn conservativeRasterizationMode(mut self, conservativeRasterizationMode : ConservativeRasterizationModeEXT) -> Self {
27500 self.conservativeRasterizationMode = conservativeRasterizationMode;
27501 self
27502 }
27503
27504 pub fn extraPrimitiveOverestimationSize(mut self, extraPrimitiveOverestimationSize : f32) -> Self {
27505 self.extraPrimitiveOverestimationSize = extraPrimitiveOverestimationSize;
27506 self
27507 }
27508
27509}
27510
27511impl PhysicalDeviceDepthClipEnableFeaturesEXT {
27512
27513 pub fn new() -> Self {
27514 Self::default()
27515 }
27516
27517 pub fn sType(mut self, sType : StructureType) -> Self {
27518 self.sType = sType;
27519 self
27520 }
27521
27522 pub fn pNext(mut self, pNext : *mut void) -> Self {
27523 self.pNext = pNext;
27524 self
27525 }
27526
27527 pub fn depthClipEnable(mut self, depthClipEnable : Bool32) -> Self {
27528 self.depthClipEnable = depthClipEnable;
27529 self
27530 }
27531
27532}
27533
27534impl PipelineRasterizationDepthClipStateCreateInfoEXT {
27535
27536 pub fn new() -> Self {
27537 Self::default()
27538 }
27539
27540 pub fn sType(mut self, sType : StructureType) -> Self {
27541 self.sType = sType;
27542 self
27543 }
27544
27545 pub fn pNext(mut self, pNext : *const void) -> Self {
27546 self.pNext = pNext;
27547 self
27548 }
27549
27550 pub fn flags(mut self, flags : PipelineRasterizationDepthClipStateCreateFlagsEXT) -> Self {
27551 self.flags = flags;
27552 self
27553 }
27554
27555 pub fn depthClipEnable(mut self, depthClipEnable : Bool32) -> Self {
27556 self.depthClipEnable = depthClipEnable;
27557 self
27558 }
27559
27560}
27561
27562impl XYColorEXT {
27563
27564 pub fn new() -> Self {
27565 Self::default()
27566 }
27567
27568 pub fn x(mut self, x : f32) -> Self {
27569 self.x = x;
27570 self
27571 }
27572
27573 pub fn y(mut self, y : f32) -> Self {
27574 self.y = y;
27575 self
27576 }
27577
27578}
27579
27580impl HdrMetadataEXT {
27581
27582 pub fn new() -> Self {
27583 Self::default()
27584 }
27585
27586 pub fn sType(mut self, sType : StructureType) -> Self {
27587 self.sType = sType;
27588 self
27589 }
27590
27591 pub fn pNext(mut self, pNext : *const void) -> Self {
27592 self.pNext = pNext;
27593 self
27594 }
27595
27596 pub fn displayPrimaryRed(mut self, displayPrimaryRed : XYColorEXT) -> Self {
27597 self.displayPrimaryRed = displayPrimaryRed;
27598 self
27599 }
27600
27601 pub fn displayPrimaryGreen(mut self, displayPrimaryGreen : XYColorEXT) -> Self {
27602 self.displayPrimaryGreen = displayPrimaryGreen;
27603 self
27604 }
27605
27606 pub fn displayPrimaryBlue(mut self, displayPrimaryBlue : XYColorEXT) -> Self {
27607 self.displayPrimaryBlue = displayPrimaryBlue;
27608 self
27609 }
27610
27611 pub fn whitePoint(mut self, whitePoint : XYColorEXT) -> Self {
27612 self.whitePoint = whitePoint;
27613 self
27614 }
27615
27616 pub fn maxLuminance(mut self, maxLuminance : f32) -> Self {
27617 self.maxLuminance = maxLuminance;
27618 self
27619 }
27620
27621 pub fn minLuminance(mut self, minLuminance : f32) -> Self {
27622 self.minLuminance = minLuminance;
27623 self
27624 }
27625
27626 pub fn maxContentLightLevel(mut self, maxContentLightLevel : f32) -> Self {
27627 self.maxContentLightLevel = maxContentLightLevel;
27628 self
27629 }
27630
27631 pub fn maxFrameAverageLightLevel(mut self, maxFrameAverageLightLevel : f32) -> Self {
27632 self.maxFrameAverageLightLevel = maxFrameAverageLightLevel;
27633 self
27634 }
27635
27636}
27637
27638impl DebugUtilsLabelEXT {
27639
27640 pub fn new() -> Self {
27641 Self::default()
27642 }
27643
27644 pub fn sType(mut self, sType : StructureType) -> Self {
27645 self.sType = sType;
27646 self
27647 }
27648
27649 pub fn pNext(mut self, pNext : *const void) -> Self {
27650 self.pNext = pNext;
27651 self
27652 }
27653
27654 pub fn pLabelName(mut self, pLabelName : *const i8) -> Self {
27655 self.pLabelName = pLabelName;
27656 self
27657 }
27658
27659 pub fn color(mut self, color : [f32;4]) -> Self {
27660 self.color = color;
27661 self
27662 }
27663
27664}
27665
27666impl DebugUtilsObjectNameInfoEXT {
27667
27668 pub fn new() -> Self {
27669 Self::default()
27670 }
27671
27672 pub fn sType(mut self, sType : StructureType) -> Self {
27673 self.sType = sType;
27674 self
27675 }
27676
27677 pub fn pNext(mut self, pNext : *const void) -> Self {
27678 self.pNext = pNext;
27679 self
27680 }
27681
27682 pub fn objectType(mut self, objectType : ObjectType) -> Self {
27683 self.objectType = objectType;
27684 self
27685 }
27686
27687 pub fn objectHandle(mut self, objectHandle : u64) -> Self {
27688 self.objectHandle = objectHandle;
27689 self
27690 }
27691
27692 pub fn pObjectName(mut self, pObjectName : *const i8) -> Self {
27693 self.pObjectName = pObjectName;
27694 self
27695 }
27696
27697}
27698
27699impl DebugUtilsMessengerCallbackDataEXT {
27700
27701 pub fn new() -> Self {
27702 Self::default()
27703 }
27704
27705 pub fn sType(mut self, sType : StructureType) -> Self {
27706 self.sType = sType;
27707 self
27708 }
27709
27710 pub fn pNext(mut self, pNext : *const void) -> Self {
27711 self.pNext = pNext;
27712 self
27713 }
27714
27715 pub fn flags(mut self, flags : DebugUtilsMessengerCallbackDataFlagsEXT) -> Self {
27716 self.flags = flags;
27717 self
27718 }
27719
27720 pub fn pMessageIdName(mut self, pMessageIdName : *const i8) -> Self {
27721 self.pMessageIdName = pMessageIdName;
27722 self
27723 }
27724
27725 pub fn messageIdNumber(mut self, messageIdNumber : i32) -> Self {
27726 self.messageIdNumber = messageIdNumber;
27727 self
27728 }
27729
27730 pub fn pMessage(mut self, pMessage : *const i8) -> Self {
27731 self.pMessage = pMessage;
27732 self
27733 }
27734
27735 pub fn queueLabelCount(mut self, queueLabelCount : u32) -> Self {
27736 self.queueLabelCount = queueLabelCount;
27737 self
27738 }
27739
27740 pub fn pQueueLabels(mut self, pQueueLabels : *const DebugUtilsLabelEXT) -> Self {
27741 self.pQueueLabels = pQueueLabels;
27742 self
27743 }
27744
27745 pub fn cmdBufLabelCount(mut self, cmdBufLabelCount : u32) -> Self {
27746 self.cmdBufLabelCount = cmdBufLabelCount;
27747 self
27748 }
27749
27750 pub fn pCmdBufLabels(mut self, pCmdBufLabels : *const DebugUtilsLabelEXT) -> Self {
27751 self.pCmdBufLabels = pCmdBufLabels;
27752 self
27753 }
27754
27755 pub fn objectCount(mut self, objectCount : u32) -> Self {
27756 self.objectCount = objectCount;
27757 self
27758 }
27759
27760 pub fn pObjects(mut self, pObjects : *const DebugUtilsObjectNameInfoEXT) -> Self {
27761 self.pObjects = pObjects;
27762 self
27763 }
27764
27765}
27766
27767impl DebugUtilsObjectTagInfoEXT {
27768
27769 pub fn new() -> Self {
27770 Self::default()
27771 }
27772
27773 pub fn sType(mut self, sType : StructureType) -> Self {
27774 self.sType = sType;
27775 self
27776 }
27777
27778 pub fn pNext(mut self, pNext : *const void) -> Self {
27779 self.pNext = pNext;
27780 self
27781 }
27782
27783 pub fn objectType(mut self, objectType : ObjectType) -> Self {
27784 self.objectType = objectType;
27785 self
27786 }
27787
27788 pub fn objectHandle(mut self, objectHandle : u64) -> Self {
27789 self.objectHandle = objectHandle;
27790 self
27791 }
27792
27793 pub fn tagName(mut self, tagName : u64) -> Self {
27794 self.tagName = tagName;
27795 self
27796 }
27797
27798 pub fn tagSize(mut self, tagSize : usize) -> Self {
27799 self.tagSize = tagSize;
27800 self
27801 }
27802
27803 pub fn pTag(mut self, pTag : *const void) -> Self {
27804 self.pTag = pTag;
27805 self
27806 }
27807
27808}
27809
27810impl DebugUtilsMessengerCreateInfoEXT {
27811
27812 pub fn new() -> Self {
27813 Self::default()
27814 }
27815
27816 pub fn sType(mut self, sType : StructureType) -> Self {
27817 self.sType = sType;
27818 self
27819 }
27820
27821 pub fn pNext(mut self, pNext : *const void) -> Self {
27822 self.pNext = pNext;
27823 self
27824 }
27825
27826 pub fn flags(mut self, flags : DebugUtilsMessengerCreateFlagsEXT) -> Self {
27827 self.flags = flags;
27828 self
27829 }
27830
27831 pub fn messageSeverity(mut self, messageSeverity : DebugUtilsMessageSeverityFlagsEXT) -> Self {
27832 self.messageSeverity = messageSeverity;
27833 self
27834 }
27835
27836 pub fn messageType(mut self, messageType : DebugUtilsMessageTypeFlagsEXT) -> Self {
27837 self.messageType = messageType;
27838 self
27839 }
27840
27841 pub fn pfnUserCallback(mut self, pfnUserCallback : u64) -> Self {
27842 self.pfnUserCallback = pfnUserCallback;
27843 self
27844 }
27845
27846 pub fn pUserData(mut self, pUserData : *mut void) -> Self {
27847 self.pUserData = pUserData;
27848 self
27849 }
27850
27851}
27852
27853impl PhysicalDeviceInlineUniformBlockFeaturesEXT {
27854
27855 pub fn new() -> Self {
27856 Self::default()
27857 }
27858
27859 pub fn sType(mut self, sType : StructureType) -> Self {
27860 self.sType = sType;
27861 self
27862 }
27863
27864 pub fn pNext(mut self, pNext : *mut void) -> Self {
27865 self.pNext = pNext;
27866 self
27867 }
27868
27869 pub fn inlineUniformBlock(mut self, inlineUniformBlock : Bool32) -> Self {
27870 self.inlineUniformBlock = inlineUniformBlock;
27871 self
27872 }
27873
27874 pub fn descriptorBindingInlineUniformBlockUpdateAfterBind(mut self, descriptorBindingInlineUniformBlockUpdateAfterBind : Bool32) -> Self {
27875 self.descriptorBindingInlineUniformBlockUpdateAfterBind = descriptorBindingInlineUniformBlockUpdateAfterBind;
27876 self
27877 }
27878
27879}
27880
27881impl PhysicalDeviceInlineUniformBlockPropertiesEXT {
27882
27883 pub fn new() -> Self {
27884 Self::default()
27885 }
27886
27887 pub fn sType(mut self, sType : StructureType) -> Self {
27888 self.sType = sType;
27889 self
27890 }
27891
27892 pub fn pNext(mut self, pNext : *mut void) -> Self {
27893 self.pNext = pNext;
27894 self
27895 }
27896
27897 pub fn maxInlineUniformBlockSize(mut self, maxInlineUniformBlockSize : u32) -> Self {
27898 self.maxInlineUniformBlockSize = maxInlineUniformBlockSize;
27899 self
27900 }
27901
27902 pub fn maxPerStageDescriptorInlineUniformBlocks(mut self, maxPerStageDescriptorInlineUniformBlocks : u32) -> Self {
27903 self.maxPerStageDescriptorInlineUniformBlocks = maxPerStageDescriptorInlineUniformBlocks;
27904 self
27905 }
27906
27907 pub fn maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks(mut self, maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks : u32) -> Self {
27908 self.maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks = maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
27909 self
27910 }
27911
27912 pub fn maxDescriptorSetInlineUniformBlocks(mut self, maxDescriptorSetInlineUniformBlocks : u32) -> Self {
27913 self.maxDescriptorSetInlineUniformBlocks = maxDescriptorSetInlineUniformBlocks;
27914 self
27915 }
27916
27917 pub fn maxDescriptorSetUpdateAfterBindInlineUniformBlocks(mut self, maxDescriptorSetUpdateAfterBindInlineUniformBlocks : u32) -> Self {
27918 self.maxDescriptorSetUpdateAfterBindInlineUniformBlocks = maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
27919 self
27920 }
27921
27922}
27923
27924impl WriteDescriptorSetInlineUniformBlockEXT {
27925
27926 pub fn new() -> Self {
27927 Self::default()
27928 }
27929
27930 pub fn sType(mut self, sType : StructureType) -> Self {
27931 self.sType = sType;
27932 self
27933 }
27934
27935 pub fn pNext(mut self, pNext : *const void) -> Self {
27936 self.pNext = pNext;
27937 self
27938 }
27939
27940 pub fn dataSize(mut self, dataSize : u32) -> Self {
27941 self.dataSize = dataSize;
27942 self
27943 }
27944
27945 pub fn pData(mut self, pData : *const void) -> Self {
27946 self.pData = pData;
27947 self
27948 }
27949
27950}
27951
27952impl DescriptorPoolInlineUniformBlockCreateInfoEXT {
27953
27954 pub fn new() -> Self {
27955 Self::default()
27956 }
27957
27958 pub fn sType(mut self, sType : StructureType) -> Self {
27959 self.sType = sType;
27960 self
27961 }
27962
27963 pub fn pNext(mut self, pNext : *const void) -> Self {
27964 self.pNext = pNext;
27965 self
27966 }
27967
27968 pub fn maxInlineUniformBlockBindings(mut self, maxInlineUniformBlockBindings : u32) -> Self {
27969 self.maxInlineUniformBlockBindings = maxInlineUniformBlockBindings;
27970 self
27971 }
27972
27973}
27974
27975impl SampleLocationEXT {
27976
27977 pub fn new() -> Self {
27978 Self::default()
27979 }
27980
27981 pub fn x(mut self, x : f32) -> Self {
27982 self.x = x;
27983 self
27984 }
27985
27986 pub fn y(mut self, y : f32) -> Self {
27987 self.y = y;
27988 self
27989 }
27990
27991}
27992
27993impl SampleLocationsInfoEXT {
27994
27995 pub fn new() -> Self {
27996 Self::default()
27997 }
27998
27999 pub fn sType(mut self, sType : StructureType) -> Self {
28000 self.sType = sType;
28001 self
28002 }
28003
28004 pub fn pNext(mut self, pNext : *const void) -> Self {
28005 self.pNext = pNext;
28006 self
28007 }
28008
28009 pub fn sampleLocationsPerPixel(mut self, sampleLocationsPerPixel : SampleCountFlagBits) -> Self {
28010 self.sampleLocationsPerPixel = sampleLocationsPerPixel;
28011 self
28012 }
28013
28014 pub fn sampleLocationGridSize(mut self, sampleLocationGridSize : Extent2D) -> Self {
28015 self.sampleLocationGridSize = sampleLocationGridSize;
28016 self
28017 }
28018
28019 pub fn sampleLocationsCount(mut self, sampleLocationsCount : u32) -> Self {
28020 self.sampleLocationsCount = sampleLocationsCount;
28021 self
28022 }
28023
28024 pub fn pSampleLocations(mut self, pSampleLocations : *const SampleLocationEXT) -> Self {
28025 self.pSampleLocations = pSampleLocations;
28026 self
28027 }
28028
28029}
28030
28031impl AttachmentSampleLocationsEXT {
28032
28033 pub fn new() -> Self {
28034 Self::default()
28035 }
28036
28037 pub fn attachmentIndex(mut self, attachmentIndex : u32) -> Self {
28038 self.attachmentIndex = attachmentIndex;
28039 self
28040 }
28041
28042 pub fn sampleLocationsInfo(mut self, sampleLocationsInfo : SampleLocationsInfoEXT) -> Self {
28043 self.sampleLocationsInfo = sampleLocationsInfo;
28044 self
28045 }
28046
28047}
28048
28049impl SubpassSampleLocationsEXT {
28050
28051 pub fn new() -> Self {
28052 Self::default()
28053 }
28054
28055 pub fn subpassIndex(mut self, subpassIndex : u32) -> Self {
28056 self.subpassIndex = subpassIndex;
28057 self
28058 }
28059
28060 pub fn sampleLocationsInfo(mut self, sampleLocationsInfo : SampleLocationsInfoEXT) -> Self {
28061 self.sampleLocationsInfo = sampleLocationsInfo;
28062 self
28063 }
28064
28065}
28066
28067impl RenderPassSampleLocationsBeginInfoEXT {
28068
28069 pub fn new() -> Self {
28070 Self::default()
28071 }
28072
28073 pub fn sType(mut self, sType : StructureType) -> Self {
28074 self.sType = sType;
28075 self
28076 }
28077
28078 pub fn pNext(mut self, pNext : *const void) -> Self {
28079 self.pNext = pNext;
28080 self
28081 }
28082
28083 pub fn attachmentInitialSampleLocationsCount(mut self, attachmentInitialSampleLocationsCount : u32) -> Self {
28084 self.attachmentInitialSampleLocationsCount = attachmentInitialSampleLocationsCount;
28085 self
28086 }
28087
28088 pub fn pAttachmentInitialSampleLocations(mut self, pAttachmentInitialSampleLocations : *const AttachmentSampleLocationsEXT) -> Self {
28089 self.pAttachmentInitialSampleLocations = pAttachmentInitialSampleLocations;
28090 self
28091 }
28092
28093 pub fn postSubpassSampleLocationsCount(mut self, postSubpassSampleLocationsCount : u32) -> Self {
28094 self.postSubpassSampleLocationsCount = postSubpassSampleLocationsCount;
28095 self
28096 }
28097
28098 pub fn pPostSubpassSampleLocations(mut self, pPostSubpassSampleLocations : *const SubpassSampleLocationsEXT) -> Self {
28099 self.pPostSubpassSampleLocations = pPostSubpassSampleLocations;
28100 self
28101 }
28102
28103}
28104
28105impl PipelineSampleLocationsStateCreateInfoEXT {
28106
28107 pub fn new() -> Self {
28108 Self::default()
28109 }
28110
28111 pub fn sType(mut self, sType : StructureType) -> Self {
28112 self.sType = sType;
28113 self
28114 }
28115
28116 pub fn pNext(mut self, pNext : *const void) -> Self {
28117 self.pNext = pNext;
28118 self
28119 }
28120
28121 pub fn sampleLocationsEnable(mut self, sampleLocationsEnable : Bool32) -> Self {
28122 self.sampleLocationsEnable = sampleLocationsEnable;
28123 self
28124 }
28125
28126 pub fn sampleLocationsInfo(mut self, sampleLocationsInfo : SampleLocationsInfoEXT) -> Self {
28127 self.sampleLocationsInfo = sampleLocationsInfo;
28128 self
28129 }
28130
28131}
28132
28133impl PhysicalDeviceSampleLocationsPropertiesEXT {
28134
28135 pub fn new() -> Self {
28136 Self::default()
28137 }
28138
28139 pub fn sType(mut self, sType : StructureType) -> Self {
28140 self.sType = sType;
28141 self
28142 }
28143
28144 pub fn pNext(mut self, pNext : *mut void) -> Self {
28145 self.pNext = pNext;
28146 self
28147 }
28148
28149 pub fn sampleLocationSampleCounts(mut self, sampleLocationSampleCounts : SampleCountFlags) -> Self {
28150 self.sampleLocationSampleCounts = sampleLocationSampleCounts;
28151 self
28152 }
28153
28154 pub fn maxSampleLocationGridSize(mut self, maxSampleLocationGridSize : Extent2D) -> Self {
28155 self.maxSampleLocationGridSize = maxSampleLocationGridSize;
28156 self
28157 }
28158
28159 pub fn sampleLocationCoordinateRange(mut self, sampleLocationCoordinateRange : [f32;2]) -> Self {
28160 self.sampleLocationCoordinateRange = sampleLocationCoordinateRange;
28161 self
28162 }
28163
28164 pub fn sampleLocationSubPixelBits(mut self, sampleLocationSubPixelBits : u32) -> Self {
28165 self.sampleLocationSubPixelBits = sampleLocationSubPixelBits;
28166 self
28167 }
28168
28169 pub fn variableSampleLocations(mut self, variableSampleLocations : Bool32) -> Self {
28170 self.variableSampleLocations = variableSampleLocations;
28171 self
28172 }
28173
28174}
28175
28176impl MultisamplePropertiesEXT {
28177
28178 pub fn new() -> Self {
28179 Self::default()
28180 }
28181
28182 pub fn sType(mut self, sType : StructureType) -> Self {
28183 self.sType = sType;
28184 self
28185 }
28186
28187 pub fn pNext(mut self, pNext : *mut void) -> Self {
28188 self.pNext = pNext;
28189 self
28190 }
28191
28192 pub fn maxSampleLocationGridSize(mut self, maxSampleLocationGridSize : Extent2D) -> Self {
28193 self.maxSampleLocationGridSize = maxSampleLocationGridSize;
28194 self
28195 }
28196
28197}
28198
28199impl PhysicalDeviceBlendOperationAdvancedFeaturesEXT {
28200
28201 pub fn new() -> Self {
28202 Self::default()
28203 }
28204
28205 pub fn sType(mut self, sType : StructureType) -> Self {
28206 self.sType = sType;
28207 self
28208 }
28209
28210 pub fn pNext(mut self, pNext : *mut void) -> Self {
28211 self.pNext = pNext;
28212 self
28213 }
28214
28215 pub fn advancedBlendCoherentOperations(mut self, advancedBlendCoherentOperations : Bool32) -> Self {
28216 self.advancedBlendCoherentOperations = advancedBlendCoherentOperations;
28217 self
28218 }
28219
28220}
28221
28222impl PhysicalDeviceBlendOperationAdvancedPropertiesEXT {
28223
28224 pub fn new() -> Self {
28225 Self::default()
28226 }
28227
28228 pub fn sType(mut self, sType : StructureType) -> Self {
28229 self.sType = sType;
28230 self
28231 }
28232
28233 pub fn pNext(mut self, pNext : *mut void) -> Self {
28234 self.pNext = pNext;
28235 self
28236 }
28237
28238 pub fn advancedBlendMaxColorAttachments(mut self, advancedBlendMaxColorAttachments : u32) -> Self {
28239 self.advancedBlendMaxColorAttachments = advancedBlendMaxColorAttachments;
28240 self
28241 }
28242
28243 pub fn advancedBlendIndependentBlend(mut self, advancedBlendIndependentBlend : Bool32) -> Self {
28244 self.advancedBlendIndependentBlend = advancedBlendIndependentBlend;
28245 self
28246 }
28247
28248 pub fn advancedBlendNonPremultipliedSrcColor(mut self, advancedBlendNonPremultipliedSrcColor : Bool32) -> Self {
28249 self.advancedBlendNonPremultipliedSrcColor = advancedBlendNonPremultipliedSrcColor;
28250 self
28251 }
28252
28253 pub fn advancedBlendNonPremultipliedDstColor(mut self, advancedBlendNonPremultipliedDstColor : Bool32) -> Self {
28254 self.advancedBlendNonPremultipliedDstColor = advancedBlendNonPremultipliedDstColor;
28255 self
28256 }
28257
28258 pub fn advancedBlendCorrelatedOverlap(mut self, advancedBlendCorrelatedOverlap : Bool32) -> Self {
28259 self.advancedBlendCorrelatedOverlap = advancedBlendCorrelatedOverlap;
28260 self
28261 }
28262
28263 pub fn advancedBlendAllOperations(mut self, advancedBlendAllOperations : Bool32) -> Self {
28264 self.advancedBlendAllOperations = advancedBlendAllOperations;
28265 self
28266 }
28267
28268}
28269
28270impl PipelineColorBlendAdvancedStateCreateInfoEXT {
28271
28272 pub fn new() -> Self {
28273 Self::default()
28274 }
28275
28276 pub fn sType(mut self, sType : StructureType) -> Self {
28277 self.sType = sType;
28278 self
28279 }
28280
28281 pub fn pNext(mut self, pNext : *const void) -> Self {
28282 self.pNext = pNext;
28283 self
28284 }
28285
28286 pub fn srcPremultiplied(mut self, srcPremultiplied : Bool32) -> Self {
28287 self.srcPremultiplied = srcPremultiplied;
28288 self
28289 }
28290
28291 pub fn dstPremultiplied(mut self, dstPremultiplied : Bool32) -> Self {
28292 self.dstPremultiplied = dstPremultiplied;
28293 self
28294 }
28295
28296 pub fn blendOverlap(mut self, blendOverlap : BlendOverlapEXT) -> Self {
28297 self.blendOverlap = blendOverlap;
28298 self
28299 }
28300
28301}
28302
28303impl PipelineCoverageToColorStateCreateInfoNV {
28304
28305 pub fn new() -> Self {
28306 Self::default()
28307 }
28308
28309 pub fn sType(mut self, sType : StructureType) -> Self {
28310 self.sType = sType;
28311 self
28312 }
28313
28314 pub fn pNext(mut self, pNext : *const void) -> Self {
28315 self.pNext = pNext;
28316 self
28317 }
28318
28319 pub fn flags(mut self, flags : PipelineCoverageToColorStateCreateFlagsNV) -> Self {
28320 self.flags = flags;
28321 self
28322 }
28323
28324 pub fn coverageToColorEnable(mut self, coverageToColorEnable : Bool32) -> Self {
28325 self.coverageToColorEnable = coverageToColorEnable;
28326 self
28327 }
28328
28329 pub fn coverageToColorLocation(mut self, coverageToColorLocation : u32) -> Self {
28330 self.coverageToColorLocation = coverageToColorLocation;
28331 self
28332 }
28333
28334}
28335
28336impl PipelineCoverageModulationStateCreateInfoNV {
28337
28338 pub fn new() -> Self {
28339 Self::default()
28340 }
28341
28342 pub fn sType(mut self, sType : StructureType) -> Self {
28343 self.sType = sType;
28344 self
28345 }
28346
28347 pub fn pNext(mut self, pNext : *const void) -> Self {
28348 self.pNext = pNext;
28349 self
28350 }
28351
28352 pub fn flags(mut self, flags : PipelineCoverageModulationStateCreateFlagsNV) -> Self {
28353 self.flags = flags;
28354 self
28355 }
28356
28357 pub fn coverageModulationMode(mut self, coverageModulationMode : CoverageModulationModeNV) -> Self {
28358 self.coverageModulationMode = coverageModulationMode;
28359 self
28360 }
28361
28362 pub fn coverageModulationTableEnable(mut self, coverageModulationTableEnable : Bool32) -> Self {
28363 self.coverageModulationTableEnable = coverageModulationTableEnable;
28364 self
28365 }
28366
28367 pub fn coverageModulationTableCount(mut self, coverageModulationTableCount : u32) -> Self {
28368 self.coverageModulationTableCount = coverageModulationTableCount;
28369 self
28370 }
28371
28372 pub fn pCoverageModulationTable(mut self, pCoverageModulationTable : *const f32) -> Self {
28373 self.pCoverageModulationTable = pCoverageModulationTable;
28374 self
28375 }
28376
28377}
28378
28379impl PhysicalDeviceShaderSMBuiltinsPropertiesNV {
28380
28381 pub fn new() -> Self {
28382 Self::default()
28383 }
28384
28385 pub fn sType(mut self, sType : StructureType) -> Self {
28386 self.sType = sType;
28387 self
28388 }
28389
28390 pub fn pNext(mut self, pNext : *mut void) -> Self {
28391 self.pNext = pNext;
28392 self
28393 }
28394
28395 pub fn shaderSMCount(mut self, shaderSMCount : u32) -> Self {
28396 self.shaderSMCount = shaderSMCount;
28397 self
28398 }
28399
28400 pub fn shaderWarpsPerSM(mut self, shaderWarpsPerSM : u32) -> Self {
28401 self.shaderWarpsPerSM = shaderWarpsPerSM;
28402 self
28403 }
28404
28405}
28406
28407impl PhysicalDeviceShaderSMBuiltinsFeaturesNV {
28408
28409 pub fn new() -> Self {
28410 Self::default()
28411 }
28412
28413 pub fn sType(mut self, sType : StructureType) -> Self {
28414 self.sType = sType;
28415 self
28416 }
28417
28418 pub fn pNext(mut self, pNext : *mut void) -> Self {
28419 self.pNext = pNext;
28420 self
28421 }
28422
28423 pub fn shaderSMBuiltins(mut self, shaderSMBuiltins : Bool32) -> Self {
28424 self.shaderSMBuiltins = shaderSMBuiltins;
28425 self
28426 }
28427
28428}
28429
28430impl DrmFormatModifierPropertiesEXT {
28431
28432 pub fn new() -> Self {
28433 Self::default()
28434 }
28435
28436 pub fn drmFormatModifier(mut self, drmFormatModifier : u64) -> Self {
28437 self.drmFormatModifier = drmFormatModifier;
28438 self
28439 }
28440
28441 pub fn drmFormatModifierPlaneCount(mut self, drmFormatModifierPlaneCount : u32) -> Self {
28442 self.drmFormatModifierPlaneCount = drmFormatModifierPlaneCount;
28443 self
28444 }
28445
28446 pub fn drmFormatModifierTilingFeatures(mut self, drmFormatModifierTilingFeatures : FormatFeatureFlags) -> Self {
28447 self.drmFormatModifierTilingFeatures = drmFormatModifierTilingFeatures;
28448 self
28449 }
28450
28451}
28452
28453impl DrmFormatModifierPropertiesListEXT {
28454
28455 pub fn new() -> Self {
28456 Self::default()
28457 }
28458
28459 pub fn sType(mut self, sType : StructureType) -> Self {
28460 self.sType = sType;
28461 self
28462 }
28463
28464 pub fn pNext(mut self, pNext : *mut void) -> Self {
28465 self.pNext = pNext;
28466 self
28467 }
28468
28469 pub fn drmFormatModifierCount(mut self, drmFormatModifierCount : u32) -> Self {
28470 self.drmFormatModifierCount = drmFormatModifierCount;
28471 self
28472 }
28473
28474 pub fn pDrmFormatModifierProperties(mut self, pDrmFormatModifierProperties : *mut DrmFormatModifierPropertiesEXT) -> Self {
28475 self.pDrmFormatModifierProperties = pDrmFormatModifierProperties;
28476 self
28477 }
28478
28479}
28480
28481impl PhysicalDeviceImageDrmFormatModifierInfoEXT {
28482
28483 pub fn new() -> Self {
28484 Self::default()
28485 }
28486
28487 pub fn sType(mut self, sType : StructureType) -> Self {
28488 self.sType = sType;
28489 self
28490 }
28491
28492 pub fn pNext(mut self, pNext : *const void) -> Self {
28493 self.pNext = pNext;
28494 self
28495 }
28496
28497 pub fn drmFormatModifier(mut self, drmFormatModifier : u64) -> Self {
28498 self.drmFormatModifier = drmFormatModifier;
28499 self
28500 }
28501
28502 pub fn sharingMode(mut self, sharingMode : SharingMode) -> Self {
28503 self.sharingMode = sharingMode;
28504 self
28505 }
28506
28507 pub fn queueFamilyIndexCount(mut self, queueFamilyIndexCount : u32) -> Self {
28508 self.queueFamilyIndexCount = queueFamilyIndexCount;
28509 self
28510 }
28511
28512 pub fn pQueueFamilyIndices(mut self, pQueueFamilyIndices : *const u32) -> Self {
28513 self.pQueueFamilyIndices = pQueueFamilyIndices;
28514 self
28515 }
28516
28517}
28518
28519impl ImageDrmFormatModifierListCreateInfoEXT {
28520
28521 pub fn new() -> Self {
28522 Self::default()
28523 }
28524
28525 pub fn sType(mut self, sType : StructureType) -> Self {
28526 self.sType = sType;
28527 self
28528 }
28529
28530 pub fn pNext(mut self, pNext : *const void) -> Self {
28531 self.pNext = pNext;
28532 self
28533 }
28534
28535 pub fn drmFormatModifierCount(mut self, drmFormatModifierCount : u32) -> Self {
28536 self.drmFormatModifierCount = drmFormatModifierCount;
28537 self
28538 }
28539
28540 pub fn pDrmFormatModifiers(mut self, pDrmFormatModifiers : *const u64) -> Self {
28541 self.pDrmFormatModifiers = pDrmFormatModifiers;
28542 self
28543 }
28544
28545}
28546
28547impl ImageDrmFormatModifierExplicitCreateInfoEXT {
28548
28549 pub fn new() -> Self {
28550 Self::default()
28551 }
28552
28553 pub fn sType(mut self, sType : StructureType) -> Self {
28554 self.sType = sType;
28555 self
28556 }
28557
28558 pub fn pNext(mut self, pNext : *const void) -> Self {
28559 self.pNext = pNext;
28560 self
28561 }
28562
28563 pub fn drmFormatModifier(mut self, drmFormatModifier : u64) -> Self {
28564 self.drmFormatModifier = drmFormatModifier;
28565 self
28566 }
28567
28568 pub fn drmFormatModifierPlaneCount(mut self, drmFormatModifierPlaneCount : u32) -> Self {
28569 self.drmFormatModifierPlaneCount = drmFormatModifierPlaneCount;
28570 self
28571 }
28572
28573 pub fn pPlaneLayouts(mut self, pPlaneLayouts : *const SubresourceLayout) -> Self {
28574 self.pPlaneLayouts = pPlaneLayouts;
28575 self
28576 }
28577
28578}
28579
28580impl ImageDrmFormatModifierPropertiesEXT {
28581
28582 pub fn new() -> Self {
28583 Self::default()
28584 }
28585
28586 pub fn sType(mut self, sType : StructureType) -> Self {
28587 self.sType = sType;
28588 self
28589 }
28590
28591 pub fn pNext(mut self, pNext : *mut void) -> Self {
28592 self.pNext = pNext;
28593 self
28594 }
28595
28596 pub fn drmFormatModifier(mut self, drmFormatModifier : u64) -> Self {
28597 self.drmFormatModifier = drmFormatModifier;
28598 self
28599 }
28600
28601}
28602
28603impl ValidationCacheCreateInfoEXT {
28604
28605 pub fn new() -> Self {
28606 Self::default()
28607 }
28608
28609 pub fn sType(mut self, sType : StructureType) -> Self {
28610 self.sType = sType;
28611 self
28612 }
28613
28614 pub fn pNext(mut self, pNext : *const void) -> Self {
28615 self.pNext = pNext;
28616 self
28617 }
28618
28619 pub fn flags(mut self, flags : ValidationCacheCreateFlagsEXT) -> Self {
28620 self.flags = flags;
28621 self
28622 }
28623
28624 pub fn initialDataSize(mut self, initialDataSize : usize) -> Self {
28625 self.initialDataSize = initialDataSize;
28626 self
28627 }
28628
28629 pub fn pInitialData(mut self, pInitialData : *const void) -> Self {
28630 self.pInitialData = pInitialData;
28631 self
28632 }
28633
28634}
28635
28636impl ShaderModuleValidationCacheCreateInfoEXT {
28637
28638 pub fn new() -> Self {
28639 Self::default()
28640 }
28641
28642 pub fn sType(mut self, sType : StructureType) -> Self {
28643 self.sType = sType;
28644 self
28645 }
28646
28647 pub fn pNext(mut self, pNext : *const void) -> Self {
28648 self.pNext = pNext;
28649 self
28650 }
28651
28652 pub fn validationCache(mut self, validationCache : ValidationCacheEXT) -> Self {
28653 self.validationCache = validationCache;
28654 self
28655 }
28656
28657}
28658
28659impl ShadingRatePaletteNV {
28660
28661 pub fn new() -> Self {
28662 Self::default()
28663 }
28664
28665 pub fn shadingRatePaletteEntryCount(mut self, shadingRatePaletteEntryCount : u32) -> Self {
28666 self.shadingRatePaletteEntryCount = shadingRatePaletteEntryCount;
28667 self
28668 }
28669
28670 pub fn pShadingRatePaletteEntries(mut self, pShadingRatePaletteEntries : *const ShadingRatePaletteEntryNV) -> Self {
28671 self.pShadingRatePaletteEntries = pShadingRatePaletteEntries;
28672 self
28673 }
28674
28675}
28676
28677impl PipelineViewportShadingRateImageStateCreateInfoNV {
28678
28679 pub fn new() -> Self {
28680 Self::default()
28681 }
28682
28683 pub fn sType(mut self, sType : StructureType) -> Self {
28684 self.sType = sType;
28685 self
28686 }
28687
28688 pub fn pNext(mut self, pNext : *const void) -> Self {
28689 self.pNext = pNext;
28690 self
28691 }
28692
28693 pub fn shadingRateImageEnable(mut self, shadingRateImageEnable : Bool32) -> Self {
28694 self.shadingRateImageEnable = shadingRateImageEnable;
28695 self
28696 }
28697
28698 pub fn viewportCount(mut self, viewportCount : u32) -> Self {
28699 self.viewportCount = viewportCount;
28700 self
28701 }
28702
28703 pub fn pShadingRatePalettes(mut self, pShadingRatePalettes : *const ShadingRatePaletteNV) -> Self {
28704 self.pShadingRatePalettes = pShadingRatePalettes;
28705 self
28706 }
28707
28708}
28709
28710impl PhysicalDeviceShadingRateImageFeaturesNV {
28711
28712 pub fn new() -> Self {
28713 Self::default()
28714 }
28715
28716 pub fn sType(mut self, sType : StructureType) -> Self {
28717 self.sType = sType;
28718 self
28719 }
28720
28721 pub fn pNext(mut self, pNext : *mut void) -> Self {
28722 self.pNext = pNext;
28723 self
28724 }
28725
28726 pub fn shadingRateImage(mut self, shadingRateImage : Bool32) -> Self {
28727 self.shadingRateImage = shadingRateImage;
28728 self
28729 }
28730
28731 pub fn shadingRateCoarseSampleOrder(mut self, shadingRateCoarseSampleOrder : Bool32) -> Self {
28732 self.shadingRateCoarseSampleOrder = shadingRateCoarseSampleOrder;
28733 self
28734 }
28735
28736}
28737
28738impl PhysicalDeviceShadingRateImagePropertiesNV {
28739
28740 pub fn new() -> Self {
28741 Self::default()
28742 }
28743
28744 pub fn sType(mut self, sType : StructureType) -> Self {
28745 self.sType = sType;
28746 self
28747 }
28748
28749 pub fn pNext(mut self, pNext : *mut void) -> Self {
28750 self.pNext = pNext;
28751 self
28752 }
28753
28754 pub fn shadingRateTexelSize(mut self, shadingRateTexelSize : Extent2D) -> Self {
28755 self.shadingRateTexelSize = shadingRateTexelSize;
28756 self
28757 }
28758
28759 pub fn shadingRatePaletteSize(mut self, shadingRatePaletteSize : u32) -> Self {
28760 self.shadingRatePaletteSize = shadingRatePaletteSize;
28761 self
28762 }
28763
28764 pub fn shadingRateMaxCoarseSamples(mut self, shadingRateMaxCoarseSamples : u32) -> Self {
28765 self.shadingRateMaxCoarseSamples = shadingRateMaxCoarseSamples;
28766 self
28767 }
28768
28769}
28770
28771impl CoarseSampleLocationNV {
28772
28773 pub fn new() -> Self {
28774 Self::default()
28775 }
28776
28777 pub fn pixelX(mut self, pixelX : u32) -> Self {
28778 self.pixelX = pixelX;
28779 self
28780 }
28781
28782 pub fn pixelY(mut self, pixelY : u32) -> Self {
28783 self.pixelY = pixelY;
28784 self
28785 }
28786
28787 pub fn sample(mut self, sample : u32) -> Self {
28788 self.sample = sample;
28789 self
28790 }
28791
28792}
28793
28794impl CoarseSampleOrderCustomNV {
28795
28796 pub fn new() -> Self {
28797 Self::default()
28798 }
28799
28800 pub fn shadingRate(mut self, shadingRate : ShadingRatePaletteEntryNV) -> Self {
28801 self.shadingRate = shadingRate;
28802 self
28803 }
28804
28805 pub fn sampleCount(mut self, sampleCount : u32) -> Self {
28806 self.sampleCount = sampleCount;
28807 self
28808 }
28809
28810 pub fn sampleLocationCount(mut self, sampleLocationCount : u32) -> Self {
28811 self.sampleLocationCount = sampleLocationCount;
28812 self
28813 }
28814
28815 pub fn pSampleLocations(mut self, pSampleLocations : *const CoarseSampleLocationNV) -> Self {
28816 self.pSampleLocations = pSampleLocations;
28817 self
28818 }
28819
28820}
28821
28822impl PipelineViewportCoarseSampleOrderStateCreateInfoNV {
28823
28824 pub fn new() -> Self {
28825 Self::default()
28826 }
28827
28828 pub fn sType(mut self, sType : StructureType) -> Self {
28829 self.sType = sType;
28830 self
28831 }
28832
28833 pub fn pNext(mut self, pNext : *const void) -> Self {
28834 self.pNext = pNext;
28835 self
28836 }
28837
28838 pub fn sampleOrderType(mut self, sampleOrderType : CoarseSampleOrderTypeNV) -> Self {
28839 self.sampleOrderType = sampleOrderType;
28840 self
28841 }
28842
28843 pub fn customSampleOrderCount(mut self, customSampleOrderCount : u32) -> Self {
28844 self.customSampleOrderCount = customSampleOrderCount;
28845 self
28846 }
28847
28848 pub fn pCustomSampleOrders(mut self, pCustomSampleOrders : *const CoarseSampleOrderCustomNV) -> Self {
28849 self.pCustomSampleOrders = pCustomSampleOrders;
28850 self
28851 }
28852
28853}
28854
28855impl RayTracingShaderGroupCreateInfoNV {
28856
28857 pub fn new() -> Self {
28858 Self::default()
28859 }
28860
28861 pub fn sType(mut self, sType : StructureType) -> Self {
28862 self.sType = sType;
28863 self
28864 }
28865
28866 pub fn pNext(mut self, pNext : *const void) -> Self {
28867 self.pNext = pNext;
28868 self
28869 }
28870
28871 pub fn r#type(mut self, r#type : RayTracingShaderGroupTypeKHR) -> Self {
28872 self.r#type = r#type;
28873 self
28874 }
28875
28876 pub fn generalShader(mut self, generalShader : u32) -> Self {
28877 self.generalShader = generalShader;
28878 self
28879 }
28880
28881 pub fn closestHitShader(mut self, closestHitShader : u32) -> Self {
28882 self.closestHitShader = closestHitShader;
28883 self
28884 }
28885
28886 pub fn anyHitShader(mut self, anyHitShader : u32) -> Self {
28887 self.anyHitShader = anyHitShader;
28888 self
28889 }
28890
28891 pub fn intersectionShader(mut self, intersectionShader : u32) -> Self {
28892 self.intersectionShader = intersectionShader;
28893 self
28894 }
28895
28896}
28897
28898impl RayTracingPipelineCreateInfoNV {
28899
28900 pub fn new() -> Self {
28901 Self::default()
28902 }
28903
28904 pub fn sType(mut self, sType : StructureType) -> Self {
28905 self.sType = sType;
28906 self
28907 }
28908
28909 pub fn pNext(mut self, pNext : *const void) -> Self {
28910 self.pNext = pNext;
28911 self
28912 }
28913
28914 pub fn flags(mut self, flags : PipelineCreateFlags) -> Self {
28915 self.flags = flags;
28916 self
28917 }
28918
28919 pub fn stageCount(mut self, stageCount : u32) -> Self {
28920 self.stageCount = stageCount;
28921 self
28922 }
28923
28924 pub fn pStages(mut self, pStages : *const PipelineShaderStageCreateInfo) -> Self {
28925 self.pStages = pStages;
28926 self
28927 }
28928
28929 pub fn groupCount(mut self, groupCount : u32) -> Self {
28930 self.groupCount = groupCount;
28931 self
28932 }
28933
28934 pub fn pGroups(mut self, pGroups : *const RayTracingShaderGroupCreateInfoNV) -> Self {
28935 self.pGroups = pGroups;
28936 self
28937 }
28938
28939 pub fn maxRecursionDepth(mut self, maxRecursionDepth : u32) -> Self {
28940 self.maxRecursionDepth = maxRecursionDepth;
28941 self
28942 }
28943
28944 pub fn layout(mut self, layout : PipelineLayout) -> Self {
28945 self.layout = layout;
28946 self
28947 }
28948
28949 pub fn basePipelineHandle(mut self, basePipelineHandle : Pipeline) -> Self {
28950 self.basePipelineHandle = basePipelineHandle;
28951 self
28952 }
28953
28954 pub fn basePipelineIndex(mut self, basePipelineIndex : i32) -> Self {
28955 self.basePipelineIndex = basePipelineIndex;
28956 self
28957 }
28958
28959}
28960
28961impl GeometryTrianglesNV {
28962
28963 pub fn new() -> Self {
28964 Self::default()
28965 }
28966
28967 pub fn sType(mut self, sType : StructureType) -> Self {
28968 self.sType = sType;
28969 self
28970 }
28971
28972 pub fn pNext(mut self, pNext : *const void) -> Self {
28973 self.pNext = pNext;
28974 self
28975 }
28976
28977 pub fn vertexData(mut self, vertexData : Buffer) -> Self {
28978 self.vertexData = vertexData;
28979 self
28980 }
28981
28982 pub fn vertexOffset(mut self, vertexOffset : DeviceSize) -> Self {
28983 self.vertexOffset = vertexOffset;
28984 self
28985 }
28986
28987 pub fn vertexCount(mut self, vertexCount : u32) -> Self {
28988 self.vertexCount = vertexCount;
28989 self
28990 }
28991
28992 pub fn vertexStride(mut self, vertexStride : DeviceSize) -> Self {
28993 self.vertexStride = vertexStride;
28994 self
28995 }
28996
28997 pub fn vertexFormat(mut self, vertexFormat : Format) -> Self {
28998 self.vertexFormat = vertexFormat;
28999 self
29000 }
29001
29002 pub fn indexData(mut self, indexData : Buffer) -> Self {
29003 self.indexData = indexData;
29004 self
29005 }
29006
29007 pub fn indexOffset(mut self, indexOffset : DeviceSize) -> Self {
29008 self.indexOffset = indexOffset;
29009 self
29010 }
29011
29012 pub fn indexCount(mut self, indexCount : u32) -> Self {
29013 self.indexCount = indexCount;
29014 self
29015 }
29016
29017 pub fn indexType(mut self, indexType : IndexType) -> Self {
29018 self.indexType = indexType;
29019 self
29020 }
29021
29022 pub fn transformData(mut self, transformData : Buffer) -> Self {
29023 self.transformData = transformData;
29024 self
29025 }
29026
29027 pub fn transformOffset(mut self, transformOffset : DeviceSize) -> Self {
29028 self.transformOffset = transformOffset;
29029 self
29030 }
29031
29032}
29033
29034impl GeometryAABBNV {
29035
29036 pub fn new() -> Self {
29037 Self::default()
29038 }
29039
29040 pub fn sType(mut self, sType : StructureType) -> Self {
29041 self.sType = sType;
29042 self
29043 }
29044
29045 pub fn pNext(mut self, pNext : *const void) -> Self {
29046 self.pNext = pNext;
29047 self
29048 }
29049
29050 pub fn aabbData(mut self, aabbData : Buffer) -> Self {
29051 self.aabbData = aabbData;
29052 self
29053 }
29054
29055 pub fn numAABBs(mut self, numAABBs : u32) -> Self {
29056 self.numAABBs = numAABBs;
29057 self
29058 }
29059
29060 pub fn stride(mut self, stride : u32) -> Self {
29061 self.stride = stride;
29062 self
29063 }
29064
29065 pub fn offset(mut self, offset : DeviceSize) -> Self {
29066 self.offset = offset;
29067 self
29068 }
29069
29070}
29071
29072impl GeometryDataNV {
29073
29074 pub fn new() -> Self {
29075 Self::default()
29076 }
29077
29078 pub fn triangles(mut self, triangles : GeometryTrianglesNV) -> Self {
29079 self.triangles = triangles;
29080 self
29081 }
29082
29083 pub fn aabbs(mut self, aabbs : GeometryAABBNV) -> Self {
29084 self.aabbs = aabbs;
29085 self
29086 }
29087
29088}
29089
29090impl GeometryNV {
29091
29092 pub fn new() -> Self {
29093 Self::default()
29094 }
29095
29096 pub fn sType(mut self, sType : StructureType) -> Self {
29097 self.sType = sType;
29098 self
29099 }
29100
29101 pub fn pNext(mut self, pNext : *const void) -> Self {
29102 self.pNext = pNext;
29103 self
29104 }
29105
29106 pub fn geometryType(mut self, geometryType : GeometryTypeKHR) -> Self {
29107 self.geometryType = geometryType;
29108 self
29109 }
29110
29111 pub fn geometry(mut self, geometry : GeometryDataNV) -> Self {
29112 self.geometry = geometry;
29113 self
29114 }
29115
29116 pub fn flags(mut self, flags : GeometryFlagsKHR) -> Self {
29117 self.flags = flags;
29118 self
29119 }
29120
29121}
29122
29123impl AccelerationStructureInfoNV {
29124
29125 pub fn new() -> Self {
29126 Self::default()
29127 }
29128
29129 pub fn sType(mut self, sType : StructureType) -> Self {
29130 self.sType = sType;
29131 self
29132 }
29133
29134 pub fn pNext(mut self, pNext : *const void) -> Self {
29135 self.pNext = pNext;
29136 self
29137 }
29138
29139 pub fn r#type(mut self, r#type : AccelerationStructureTypeNV) -> Self {
29140 self.r#type = r#type;
29141 self
29142 }
29143
29144 pub fn flags(mut self, flags : BuildAccelerationStructureFlagsNV) -> Self {
29145 self.flags = flags;
29146 self
29147 }
29148
29149 pub fn instanceCount(mut self, instanceCount : u32) -> Self {
29150 self.instanceCount = instanceCount;
29151 self
29152 }
29153
29154 pub fn geometryCount(mut self, geometryCount : u32) -> Self {
29155 self.geometryCount = geometryCount;
29156 self
29157 }
29158
29159 pub fn pGeometries(mut self, pGeometries : *const GeometryNV) -> Self {
29160 self.pGeometries = pGeometries;
29161 self
29162 }
29163
29164}
29165
29166impl AccelerationStructureCreateInfoNV {
29167
29168 pub fn new() -> Self {
29169 Self::default()
29170 }
29171
29172 pub fn sType(mut self, sType : StructureType) -> Self {
29173 self.sType = sType;
29174 self
29175 }
29176
29177 pub fn pNext(mut self, pNext : *const void) -> Self {
29178 self.pNext = pNext;
29179 self
29180 }
29181
29182 pub fn compactedSize(mut self, compactedSize : DeviceSize) -> Self {
29183 self.compactedSize = compactedSize;
29184 self
29185 }
29186
29187 pub fn info(mut self, info : AccelerationStructureInfoNV) -> Self {
29188 self.info = info;
29189 self
29190 }
29191
29192}
29193
29194impl BindAccelerationStructureMemoryInfoKHR {
29195
29196 pub fn new() -> Self {
29197 Self::default()
29198 }
29199
29200 pub fn sType(mut self, sType : StructureType) -> Self {
29201 self.sType = sType;
29202 self
29203 }
29204
29205 pub fn pNext(mut self, pNext : *const void) -> Self {
29206 self.pNext = pNext;
29207 self
29208 }
29209
29210 pub fn accelerationStructure(mut self, accelerationStructure : AccelerationStructureKHR) -> Self {
29211 self.accelerationStructure = accelerationStructure;
29212 self
29213 }
29214
29215 pub fn memory(mut self, memory : DeviceMemory) -> Self {
29216 self.memory = memory;
29217 self
29218 }
29219
29220 pub fn memoryOffset(mut self, memoryOffset : DeviceSize) -> Self {
29221 self.memoryOffset = memoryOffset;
29222 self
29223 }
29224
29225 pub fn deviceIndexCount(mut self, deviceIndexCount : u32) -> Self {
29226 self.deviceIndexCount = deviceIndexCount;
29227 self
29228 }
29229
29230 pub fn pDeviceIndices(mut self, pDeviceIndices : *const u32) -> Self {
29231 self.pDeviceIndices = pDeviceIndices;
29232 self
29233 }
29234
29235}
29236
29237impl WriteDescriptorSetAccelerationStructureKHR {
29238
29239 pub fn new() -> Self {
29240 Self::default()
29241 }
29242
29243 pub fn sType(mut self, sType : StructureType) -> Self {
29244 self.sType = sType;
29245 self
29246 }
29247
29248 pub fn pNext(mut self, pNext : *const void) -> Self {
29249 self.pNext = pNext;
29250 self
29251 }
29252
29253 pub fn accelerationStructureCount(mut self, accelerationStructureCount : u32) -> Self {
29254 self.accelerationStructureCount = accelerationStructureCount;
29255 self
29256 }
29257
29258 pub fn pAccelerationStructures(mut self, pAccelerationStructures : *const AccelerationStructureKHR) -> Self {
29259 self.pAccelerationStructures = pAccelerationStructures;
29260 self
29261 }
29262
29263}
29264
29265impl AccelerationStructureMemoryRequirementsInfoNV {
29266
29267 pub fn new() -> Self {
29268 Self::default()
29269 }
29270
29271 pub fn sType(mut self, sType : StructureType) -> Self {
29272 self.sType = sType;
29273 self
29274 }
29275
29276 pub fn pNext(mut self, pNext : *const void) -> Self {
29277 self.pNext = pNext;
29278 self
29279 }
29280
29281 pub fn r#type(mut self, r#type : AccelerationStructureMemoryRequirementsTypeNV) -> Self {
29282 self.r#type = r#type;
29283 self
29284 }
29285
29286 pub fn accelerationStructure(mut self, accelerationStructure : AccelerationStructureNV) -> Self {
29287 self.accelerationStructure = accelerationStructure;
29288 self
29289 }
29290
29291}
29292
29293impl PhysicalDeviceRayTracingPropertiesNV {
29294
29295 pub fn new() -> Self {
29296 Self::default()
29297 }
29298
29299 pub fn sType(mut self, sType : StructureType) -> Self {
29300 self.sType = sType;
29301 self
29302 }
29303
29304 pub fn pNext(mut self, pNext : *mut void) -> Self {
29305 self.pNext = pNext;
29306 self
29307 }
29308
29309 pub fn shaderGroupHandleSize(mut self, shaderGroupHandleSize : u32) -> Self {
29310 self.shaderGroupHandleSize = shaderGroupHandleSize;
29311 self
29312 }
29313
29314 pub fn maxRecursionDepth(mut self, maxRecursionDepth : u32) -> Self {
29315 self.maxRecursionDepth = maxRecursionDepth;
29316 self
29317 }
29318
29319 pub fn maxShaderGroupStride(mut self, maxShaderGroupStride : u32) -> Self {
29320 self.maxShaderGroupStride = maxShaderGroupStride;
29321 self
29322 }
29323
29324 pub fn shaderGroupBaseAlignment(mut self, shaderGroupBaseAlignment : u32) -> Self {
29325 self.shaderGroupBaseAlignment = shaderGroupBaseAlignment;
29326 self
29327 }
29328
29329 pub fn maxGeometryCount(mut self, maxGeometryCount : u64) -> Self {
29330 self.maxGeometryCount = maxGeometryCount;
29331 self
29332 }
29333
29334 pub fn maxInstanceCount(mut self, maxInstanceCount : u64) -> Self {
29335 self.maxInstanceCount = maxInstanceCount;
29336 self
29337 }
29338
29339 pub fn maxTriangleCount(mut self, maxTriangleCount : u64) -> Self {
29340 self.maxTriangleCount = maxTriangleCount;
29341 self
29342 }
29343
29344 pub fn maxDescriptorSetAccelerationStructures(mut self, maxDescriptorSetAccelerationStructures : u32) -> Self {
29345 self.maxDescriptorSetAccelerationStructures = maxDescriptorSetAccelerationStructures;
29346 self
29347 }
29348
29349}
29350
29351impl TransformMatrixKHR {
29352
29353 pub fn new() -> Self {
29354 Self::default()
29355 }
29356
29357 pub fn matrix(mut self, matrix : [f32;12]) -> Self {
29358 self.matrix = matrix;
29359 self
29360 }
29361
29362}
29363
29364impl AabbPositionsKHR {
29365
29366 pub fn new() -> Self {
29367 Self::default()
29368 }
29369
29370 pub fn minX(mut self, minX : f32) -> Self {
29371 self.minX = minX;
29372 self
29373 }
29374
29375 pub fn minY(mut self, minY : f32) -> Self {
29376 self.minY = minY;
29377 self
29378 }
29379
29380 pub fn minZ(mut self, minZ : f32) -> Self {
29381 self.minZ = minZ;
29382 self
29383 }
29384
29385 pub fn maxX(mut self, maxX : f32) -> Self {
29386 self.maxX = maxX;
29387 self
29388 }
29389
29390 pub fn maxY(mut self, maxY : f32) -> Self {
29391 self.maxY = maxY;
29392 self
29393 }
29394
29395 pub fn maxZ(mut self, maxZ : f32) -> Self {
29396 self.maxZ = maxZ;
29397 self
29398 }
29399
29400}
29401
29402impl PhysicalDeviceRepresentativeFragmentTestFeaturesNV {
29403
29404 pub fn new() -> Self {
29405 Self::default()
29406 }
29407
29408 pub fn sType(mut self, sType : StructureType) -> Self {
29409 self.sType = sType;
29410 self
29411 }
29412
29413 pub fn pNext(mut self, pNext : *mut void) -> Self {
29414 self.pNext = pNext;
29415 self
29416 }
29417
29418 pub fn representativeFragmentTest(mut self, representativeFragmentTest : Bool32) -> Self {
29419 self.representativeFragmentTest = representativeFragmentTest;
29420 self
29421 }
29422
29423}
29424
29425impl PipelineRepresentativeFragmentTestStateCreateInfoNV {
29426
29427 pub fn new() -> Self {
29428 Self::default()
29429 }
29430
29431 pub fn sType(mut self, sType : StructureType) -> Self {
29432 self.sType = sType;
29433 self
29434 }
29435
29436 pub fn pNext(mut self, pNext : *const void) -> Self {
29437 self.pNext = pNext;
29438 self
29439 }
29440
29441 pub fn representativeFragmentTestEnable(mut self, representativeFragmentTestEnable : Bool32) -> Self {
29442 self.representativeFragmentTestEnable = representativeFragmentTestEnable;
29443 self
29444 }
29445
29446}
29447
29448impl PhysicalDeviceImageViewImageFormatInfoEXT {
29449
29450 pub fn new() -> Self {
29451 Self::default()
29452 }
29453
29454 pub fn sType(mut self, sType : StructureType) -> Self {
29455 self.sType = sType;
29456 self
29457 }
29458
29459 pub fn pNext(mut self, pNext : *mut void) -> Self {
29460 self.pNext = pNext;
29461 self
29462 }
29463
29464 pub fn imageViewType(mut self, imageViewType : ImageViewType) -> Self {
29465 self.imageViewType = imageViewType;
29466 self
29467 }
29468
29469}
29470
29471impl FilterCubicImageViewImageFormatPropertiesEXT {
29472
29473 pub fn new() -> Self {
29474 Self::default()
29475 }
29476
29477 pub fn sType(mut self, sType : StructureType) -> Self {
29478 self.sType = sType;
29479 self
29480 }
29481
29482 pub fn pNext(mut self, pNext : *mut void) -> Self {
29483 self.pNext = pNext;
29484 self
29485 }
29486
29487 pub fn filterCubic(mut self, filterCubic : Bool32) -> Self {
29488 self.filterCubic = filterCubic;
29489 self
29490 }
29491
29492 pub fn filterCubicMinmax(mut self, filterCubicMinmax : Bool32) -> Self {
29493 self.filterCubicMinmax = filterCubicMinmax;
29494 self
29495 }
29496
29497}
29498
29499impl DeviceQueueGlobalPriorityCreateInfoEXT {
29500
29501 pub fn new() -> Self {
29502 Self::default()
29503 }
29504
29505 pub fn sType(mut self, sType : StructureType) -> Self {
29506 self.sType = sType;
29507 self
29508 }
29509
29510 pub fn pNext(mut self, pNext : *const void) -> Self {
29511 self.pNext = pNext;
29512 self
29513 }
29514
29515 pub fn globalPriority(mut self, globalPriority : QueueGlobalPriorityEXT) -> Self {
29516 self.globalPriority = globalPriority;
29517 self
29518 }
29519
29520}
29521
29522impl ImportMemoryHostPointerInfoEXT {
29523
29524 pub fn new() -> Self {
29525 Self::default()
29526 }
29527
29528 pub fn sType(mut self, sType : StructureType) -> Self {
29529 self.sType = sType;
29530 self
29531 }
29532
29533 pub fn pNext(mut self, pNext : *const void) -> Self {
29534 self.pNext = pNext;
29535 self
29536 }
29537
29538 pub fn handleType(mut self, handleType : ExternalMemoryHandleTypeFlagBits) -> Self {
29539 self.handleType = handleType;
29540 self
29541 }
29542
29543 pub fn pHostPointer(mut self, pHostPointer : *mut void) -> Self {
29544 self.pHostPointer = pHostPointer;
29545 self
29546 }
29547
29548}
29549
29550impl MemoryHostPointerPropertiesEXT {
29551
29552 pub fn new() -> Self {
29553 Self::default()
29554 }
29555
29556 pub fn sType(mut self, sType : StructureType) -> Self {
29557 self.sType = sType;
29558 self
29559 }
29560
29561 pub fn pNext(mut self, pNext : *mut void) -> Self {
29562 self.pNext = pNext;
29563 self
29564 }
29565
29566 pub fn memoryTypeBits(mut self, memoryTypeBits : u32) -> Self {
29567 self.memoryTypeBits = memoryTypeBits;
29568 self
29569 }
29570
29571}
29572
29573impl PhysicalDeviceExternalMemoryHostPropertiesEXT {
29574
29575 pub fn new() -> Self {
29576 Self::default()
29577 }
29578
29579 pub fn sType(mut self, sType : StructureType) -> Self {
29580 self.sType = sType;
29581 self
29582 }
29583
29584 pub fn pNext(mut self, pNext : *mut void) -> Self {
29585 self.pNext = pNext;
29586 self
29587 }
29588
29589 pub fn minImportedHostPointerAlignment(mut self, minImportedHostPointerAlignment : DeviceSize) -> Self {
29590 self.minImportedHostPointerAlignment = minImportedHostPointerAlignment;
29591 self
29592 }
29593
29594}
29595
29596impl PipelineCompilerControlCreateInfoAMD {
29597
29598 pub fn new() -> Self {
29599 Self::default()
29600 }
29601
29602 pub fn sType(mut self, sType : StructureType) -> Self {
29603 self.sType = sType;
29604 self
29605 }
29606
29607 pub fn pNext(mut self, pNext : *const void) -> Self {
29608 self.pNext = pNext;
29609 self
29610 }
29611
29612 pub fn compilerControlFlags(mut self, compilerControlFlags : PipelineCompilerControlFlagsAMD) -> Self {
29613 self.compilerControlFlags = compilerControlFlags;
29614 self
29615 }
29616
29617}
29618
29619impl CalibratedTimestampInfoEXT {
29620
29621 pub fn new() -> Self {
29622 Self::default()
29623 }
29624
29625 pub fn sType(mut self, sType : StructureType) -> Self {
29626 self.sType = sType;
29627 self
29628 }
29629
29630 pub fn pNext(mut self, pNext : *const void) -> Self {
29631 self.pNext = pNext;
29632 self
29633 }
29634
29635 pub fn timeDomain(mut self, timeDomain : TimeDomainEXT) -> Self {
29636 self.timeDomain = timeDomain;
29637 self
29638 }
29639
29640}
29641
29642impl PhysicalDeviceShaderCorePropertiesAMD {
29643
29644 pub fn new() -> Self {
29645 Self::default()
29646 }
29647
29648 pub fn sType(mut self, sType : StructureType) -> Self {
29649 self.sType = sType;
29650 self
29651 }
29652
29653 pub fn pNext(mut self, pNext : *mut void) -> Self {
29654 self.pNext = pNext;
29655 self
29656 }
29657
29658 pub fn shaderEngineCount(mut self, shaderEngineCount : u32) -> Self {
29659 self.shaderEngineCount = shaderEngineCount;
29660 self
29661 }
29662
29663 pub fn shaderArraysPerEngineCount(mut self, shaderArraysPerEngineCount : u32) -> Self {
29664 self.shaderArraysPerEngineCount = shaderArraysPerEngineCount;
29665 self
29666 }
29667
29668 pub fn computeUnitsPerShaderArray(mut self, computeUnitsPerShaderArray : u32) -> Self {
29669 self.computeUnitsPerShaderArray = computeUnitsPerShaderArray;
29670 self
29671 }
29672
29673 pub fn simdPerComputeUnit(mut self, simdPerComputeUnit : u32) -> Self {
29674 self.simdPerComputeUnit = simdPerComputeUnit;
29675 self
29676 }
29677
29678 pub fn wavefrontsPerSimd(mut self, wavefrontsPerSimd : u32) -> Self {
29679 self.wavefrontsPerSimd = wavefrontsPerSimd;
29680 self
29681 }
29682
29683 pub fn wavefrontSize(mut self, wavefrontSize : u32) -> Self {
29684 self.wavefrontSize = wavefrontSize;
29685 self
29686 }
29687
29688 pub fn sgprsPerSimd(mut self, sgprsPerSimd : u32) -> Self {
29689 self.sgprsPerSimd = sgprsPerSimd;
29690 self
29691 }
29692
29693 pub fn minSgprAllocation(mut self, minSgprAllocation : u32) -> Self {
29694 self.minSgprAllocation = minSgprAllocation;
29695 self
29696 }
29697
29698 pub fn maxSgprAllocation(mut self, maxSgprAllocation : u32) -> Self {
29699 self.maxSgprAllocation = maxSgprAllocation;
29700 self
29701 }
29702
29703 pub fn sgprAllocationGranularity(mut self, sgprAllocationGranularity : u32) -> Self {
29704 self.sgprAllocationGranularity = sgprAllocationGranularity;
29705 self
29706 }
29707
29708 pub fn vgprsPerSimd(mut self, vgprsPerSimd : u32) -> Self {
29709 self.vgprsPerSimd = vgprsPerSimd;
29710 self
29711 }
29712
29713 pub fn minVgprAllocation(mut self, minVgprAllocation : u32) -> Self {
29714 self.minVgprAllocation = minVgprAllocation;
29715 self
29716 }
29717
29718 pub fn maxVgprAllocation(mut self, maxVgprAllocation : u32) -> Self {
29719 self.maxVgprAllocation = maxVgprAllocation;
29720 self
29721 }
29722
29723 pub fn vgprAllocationGranularity(mut self, vgprAllocationGranularity : u32) -> Self {
29724 self.vgprAllocationGranularity = vgprAllocationGranularity;
29725 self
29726 }
29727
29728}
29729
29730impl DeviceMemoryOverallocationCreateInfoAMD {
29731
29732 pub fn new() -> Self {
29733 Self::default()
29734 }
29735
29736 pub fn sType(mut self, sType : StructureType) -> Self {
29737 self.sType = sType;
29738 self
29739 }
29740
29741 pub fn pNext(mut self, pNext : *const void) -> Self {
29742 self.pNext = pNext;
29743 self
29744 }
29745
29746 pub fn overallocationBehavior(mut self, overallocationBehavior : MemoryOverallocationBehaviorAMD) -> Self {
29747 self.overallocationBehavior = overallocationBehavior;
29748 self
29749 }
29750
29751}
29752
29753impl PhysicalDeviceVertexAttributeDivisorPropertiesEXT {
29754
29755 pub fn new() -> Self {
29756 Self::default()
29757 }
29758
29759 pub fn sType(mut self, sType : StructureType) -> Self {
29760 self.sType = sType;
29761 self
29762 }
29763
29764 pub fn pNext(mut self, pNext : *mut void) -> Self {
29765 self.pNext = pNext;
29766 self
29767 }
29768
29769 pub fn maxVertexAttribDivisor(mut self, maxVertexAttribDivisor : u32) -> Self {
29770 self.maxVertexAttribDivisor = maxVertexAttribDivisor;
29771 self
29772 }
29773
29774}
29775
29776impl VertexInputBindingDivisorDescriptionEXT {
29777
29778 pub fn new() -> Self {
29779 Self::default()
29780 }
29781
29782 pub fn binding(mut self, binding : u32) -> Self {
29783 self.binding = binding;
29784 self
29785 }
29786
29787 pub fn divisor(mut self, divisor : u32) -> Self {
29788 self.divisor = divisor;
29789 self
29790 }
29791
29792}
29793
29794impl PipelineVertexInputDivisorStateCreateInfoEXT {
29795
29796 pub fn new() -> Self {
29797 Self::default()
29798 }
29799
29800 pub fn sType(mut self, sType : StructureType) -> Self {
29801 self.sType = sType;
29802 self
29803 }
29804
29805 pub fn pNext(mut self, pNext : *const void) -> Self {
29806 self.pNext = pNext;
29807 self
29808 }
29809
29810 pub fn vertexBindingDivisorCount(mut self, vertexBindingDivisorCount : u32) -> Self {
29811 self.vertexBindingDivisorCount = vertexBindingDivisorCount;
29812 self
29813 }
29814
29815 pub fn pVertexBindingDivisors(mut self, pVertexBindingDivisors : *const VertexInputBindingDivisorDescriptionEXT) -> Self {
29816 self.pVertexBindingDivisors = pVertexBindingDivisors;
29817 self
29818 }
29819
29820}
29821
29822impl PhysicalDeviceVertexAttributeDivisorFeaturesEXT {
29823
29824 pub fn new() -> Self {
29825 Self::default()
29826 }
29827
29828 pub fn sType(mut self, sType : StructureType) -> Self {
29829 self.sType = sType;
29830 self
29831 }
29832
29833 pub fn pNext(mut self, pNext : *mut void) -> Self {
29834 self.pNext = pNext;
29835 self
29836 }
29837
29838 pub fn vertexAttributeInstanceRateDivisor(mut self, vertexAttributeInstanceRateDivisor : Bool32) -> Self {
29839 self.vertexAttributeInstanceRateDivisor = vertexAttributeInstanceRateDivisor;
29840 self
29841 }
29842
29843 pub fn vertexAttributeInstanceRateZeroDivisor(mut self, vertexAttributeInstanceRateZeroDivisor : Bool32) -> Self {
29844 self.vertexAttributeInstanceRateZeroDivisor = vertexAttributeInstanceRateZeroDivisor;
29845 self
29846 }
29847
29848}
29849
29850impl PipelineCreationFeedbackEXT {
29851
29852 pub fn new() -> Self {
29853 Self::default()
29854 }
29855
29856 pub fn flags(mut self, flags : PipelineCreationFeedbackFlagsEXT) -> Self {
29857 self.flags = flags;
29858 self
29859 }
29860
29861 pub fn duration(mut self, duration : u64) -> Self {
29862 self.duration = duration;
29863 self
29864 }
29865
29866}
29867
29868impl PipelineCreationFeedbackCreateInfoEXT {
29869
29870 pub fn new() -> Self {
29871 Self::default()
29872 }
29873
29874 pub fn sType(mut self, sType : StructureType) -> Self {
29875 self.sType = sType;
29876 self
29877 }
29878
29879 pub fn pNext(mut self, pNext : *const void) -> Self {
29880 self.pNext = pNext;
29881 self
29882 }
29883
29884 pub fn pPipelineCreationFeedback(mut self, pPipelineCreationFeedback : *mut PipelineCreationFeedbackEXT) -> Self {
29885 self.pPipelineCreationFeedback = pPipelineCreationFeedback;
29886 self
29887 }
29888
29889 pub fn pipelineStageCreationFeedbackCount(mut self, pipelineStageCreationFeedbackCount : u32) -> Self {
29890 self.pipelineStageCreationFeedbackCount = pipelineStageCreationFeedbackCount;
29891 self
29892 }
29893
29894 pub fn pPipelineStageCreationFeedbacks(mut self, pPipelineStageCreationFeedbacks : *mut PipelineCreationFeedbackEXT) -> Self {
29895 self.pPipelineStageCreationFeedbacks = pPipelineStageCreationFeedbacks;
29896 self
29897 }
29898
29899}
29900
29901impl PhysicalDeviceComputeShaderDerivativesFeaturesNV {
29902
29903 pub fn new() -> Self {
29904 Self::default()
29905 }
29906
29907 pub fn sType(mut self, sType : StructureType) -> Self {
29908 self.sType = sType;
29909 self
29910 }
29911
29912 pub fn pNext(mut self, pNext : *mut void) -> Self {
29913 self.pNext = pNext;
29914 self
29915 }
29916
29917 pub fn computeDerivativeGroupQuads(mut self, computeDerivativeGroupQuads : Bool32) -> Self {
29918 self.computeDerivativeGroupQuads = computeDerivativeGroupQuads;
29919 self
29920 }
29921
29922 pub fn computeDerivativeGroupLinear(mut self, computeDerivativeGroupLinear : Bool32) -> Self {
29923 self.computeDerivativeGroupLinear = computeDerivativeGroupLinear;
29924 self
29925 }
29926
29927}
29928
29929impl PhysicalDeviceMeshShaderFeaturesNV {
29930
29931 pub fn new() -> Self {
29932 Self::default()
29933 }
29934
29935 pub fn sType(mut self, sType : StructureType) -> Self {
29936 self.sType = sType;
29937 self
29938 }
29939
29940 pub fn pNext(mut self, pNext : *mut void) -> Self {
29941 self.pNext = pNext;
29942 self
29943 }
29944
29945 pub fn taskShader(mut self, taskShader : Bool32) -> Self {
29946 self.taskShader = taskShader;
29947 self
29948 }
29949
29950 pub fn meshShader(mut self, meshShader : Bool32) -> Self {
29951 self.meshShader = meshShader;
29952 self
29953 }
29954
29955}
29956
29957impl PhysicalDeviceMeshShaderPropertiesNV {
29958
29959 pub fn new() -> Self {
29960 Self::default()
29961 }
29962
29963 pub fn sType(mut self, sType : StructureType) -> Self {
29964 self.sType = sType;
29965 self
29966 }
29967
29968 pub fn pNext(mut self, pNext : *mut void) -> Self {
29969 self.pNext = pNext;
29970 self
29971 }
29972
29973 pub fn maxDrawMeshTasksCount(mut self, maxDrawMeshTasksCount : u32) -> Self {
29974 self.maxDrawMeshTasksCount = maxDrawMeshTasksCount;
29975 self
29976 }
29977
29978 pub fn maxTaskWorkGroupInvocations(mut self, maxTaskWorkGroupInvocations : u32) -> Self {
29979 self.maxTaskWorkGroupInvocations = maxTaskWorkGroupInvocations;
29980 self
29981 }
29982
29983 pub fn maxTaskWorkGroupSize(mut self, maxTaskWorkGroupSize : [u32;3]) -> Self {
29984 self.maxTaskWorkGroupSize = maxTaskWorkGroupSize;
29985 self
29986 }
29987
29988 pub fn maxTaskTotalMemorySize(mut self, maxTaskTotalMemorySize : u32) -> Self {
29989 self.maxTaskTotalMemorySize = maxTaskTotalMemorySize;
29990 self
29991 }
29992
29993 pub fn maxTaskOutputCount(mut self, maxTaskOutputCount : u32) -> Self {
29994 self.maxTaskOutputCount = maxTaskOutputCount;
29995 self
29996 }
29997
29998 pub fn maxMeshWorkGroupInvocations(mut self, maxMeshWorkGroupInvocations : u32) -> Self {
29999 self.maxMeshWorkGroupInvocations = maxMeshWorkGroupInvocations;
30000 self
30001 }
30002
30003 pub fn maxMeshWorkGroupSize(mut self, maxMeshWorkGroupSize : [u32;3]) -> Self {
30004 self.maxMeshWorkGroupSize = maxMeshWorkGroupSize;
30005 self
30006 }
30007
30008 pub fn maxMeshTotalMemorySize(mut self, maxMeshTotalMemorySize : u32) -> Self {
30009 self.maxMeshTotalMemorySize = maxMeshTotalMemorySize;
30010 self
30011 }
30012
30013 pub fn maxMeshOutputVertices(mut self, maxMeshOutputVertices : u32) -> Self {
30014 self.maxMeshOutputVertices = maxMeshOutputVertices;
30015 self
30016 }
30017
30018 pub fn maxMeshOutputPrimitives(mut self, maxMeshOutputPrimitives : u32) -> Self {
30019 self.maxMeshOutputPrimitives = maxMeshOutputPrimitives;
30020 self
30021 }
30022
30023 pub fn maxMeshMultiviewViewCount(mut self, maxMeshMultiviewViewCount : u32) -> Self {
30024 self.maxMeshMultiviewViewCount = maxMeshMultiviewViewCount;
30025 self
30026 }
30027
30028 pub fn meshOutputPerVertexGranularity(mut self, meshOutputPerVertexGranularity : u32) -> Self {
30029 self.meshOutputPerVertexGranularity = meshOutputPerVertexGranularity;
30030 self
30031 }
30032
30033 pub fn meshOutputPerPrimitiveGranularity(mut self, meshOutputPerPrimitiveGranularity : u32) -> Self {
30034 self.meshOutputPerPrimitiveGranularity = meshOutputPerPrimitiveGranularity;
30035 self
30036 }
30037
30038}
30039
30040impl DrawMeshTasksIndirectCommandNV {
30041
30042 pub fn new() -> Self {
30043 Self::default()
30044 }
30045
30046 pub fn taskCount(mut self, taskCount : u32) -> Self {
30047 self.taskCount = taskCount;
30048 self
30049 }
30050
30051 pub fn firstTask(mut self, firstTask : u32) -> Self {
30052 self.firstTask = firstTask;
30053 self
30054 }
30055
30056}
30057
30058impl PhysicalDeviceFragmentShaderBarycentricFeaturesNV {
30059
30060 pub fn new() -> Self {
30061 Self::default()
30062 }
30063
30064 pub fn sType(mut self, sType : StructureType) -> Self {
30065 self.sType = sType;
30066 self
30067 }
30068
30069 pub fn pNext(mut self, pNext : *mut void) -> Self {
30070 self.pNext = pNext;
30071 self
30072 }
30073
30074 pub fn fragmentShaderBarycentric(mut self, fragmentShaderBarycentric : Bool32) -> Self {
30075 self.fragmentShaderBarycentric = fragmentShaderBarycentric;
30076 self
30077 }
30078
30079}
30080
30081impl PhysicalDeviceShaderImageFootprintFeaturesNV {
30082
30083 pub fn new() -> Self {
30084 Self::default()
30085 }
30086
30087 pub fn sType(mut self, sType : StructureType) -> Self {
30088 self.sType = sType;
30089 self
30090 }
30091
30092 pub fn pNext(mut self, pNext : *mut void) -> Self {
30093 self.pNext = pNext;
30094 self
30095 }
30096
30097 pub fn imageFootprint(mut self, imageFootprint : Bool32) -> Self {
30098 self.imageFootprint = imageFootprint;
30099 self
30100 }
30101
30102}
30103
30104impl PipelineViewportExclusiveScissorStateCreateInfoNV {
30105
30106 pub fn new() -> Self {
30107 Self::default()
30108 }
30109
30110 pub fn sType(mut self, sType : StructureType) -> Self {
30111 self.sType = sType;
30112 self
30113 }
30114
30115 pub fn pNext(mut self, pNext : *const void) -> Self {
30116 self.pNext = pNext;
30117 self
30118 }
30119
30120 pub fn exclusiveScissorCount(mut self, exclusiveScissorCount : u32) -> Self {
30121 self.exclusiveScissorCount = exclusiveScissorCount;
30122 self
30123 }
30124
30125 pub fn pExclusiveScissors(mut self, pExclusiveScissors : *const Rect2D) -> Self {
30126 self.pExclusiveScissors = pExclusiveScissors;
30127 self
30128 }
30129
30130}
30131
30132impl PhysicalDeviceExclusiveScissorFeaturesNV {
30133
30134 pub fn new() -> Self {
30135 Self::default()
30136 }
30137
30138 pub fn sType(mut self, sType : StructureType) -> Self {
30139 self.sType = sType;
30140 self
30141 }
30142
30143 pub fn pNext(mut self, pNext : *mut void) -> Self {
30144 self.pNext = pNext;
30145 self
30146 }
30147
30148 pub fn exclusiveScissor(mut self, exclusiveScissor : Bool32) -> Self {
30149 self.exclusiveScissor = exclusiveScissor;
30150 self
30151 }
30152
30153}
30154
30155impl QueueFamilyCheckpointPropertiesNV {
30156
30157 pub fn new() -> Self {
30158 Self::default()
30159 }
30160
30161 pub fn sType(mut self, sType : StructureType) -> Self {
30162 self.sType = sType;
30163 self
30164 }
30165
30166 pub fn pNext(mut self, pNext : *mut void) -> Self {
30167 self.pNext = pNext;
30168 self
30169 }
30170
30171 pub fn checkpointExecutionStageMask(mut self, checkpointExecutionStageMask : PipelineStageFlags) -> Self {
30172 self.checkpointExecutionStageMask = checkpointExecutionStageMask;
30173 self
30174 }
30175
30176}
30177
30178impl CheckpointDataNV {
30179
30180 pub fn new() -> Self {
30181 Self::default()
30182 }
30183
30184 pub fn sType(mut self, sType : StructureType) -> Self {
30185 self.sType = sType;
30186 self
30187 }
30188
30189 pub fn pNext(mut self, pNext : *mut void) -> Self {
30190 self.pNext = pNext;
30191 self
30192 }
30193
30194 pub fn stage(mut self, stage : PipelineStageFlagBits) -> Self {
30195 self.stage = stage;
30196 self
30197 }
30198
30199 pub fn pCheckpointMarker(mut self, pCheckpointMarker : *mut void) -> Self {
30200 self.pCheckpointMarker = pCheckpointMarker;
30201 self
30202 }
30203
30204}
30205
30206impl PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
30207
30208 pub fn new() -> Self {
30209 Self::default()
30210 }
30211
30212 pub fn sType(mut self, sType : StructureType) -> Self {
30213 self.sType = sType;
30214 self
30215 }
30216
30217 pub fn pNext(mut self, pNext : *mut void) -> Self {
30218 self.pNext = pNext;
30219 self
30220 }
30221
30222 pub fn shaderIntegerFunctions2(mut self, shaderIntegerFunctions2 : Bool32) -> Self {
30223 self.shaderIntegerFunctions2 = shaderIntegerFunctions2;
30224 self
30225 }
30226
30227}
30228
30229impl InitializePerformanceApiInfoINTEL {
30230
30231 pub fn new() -> Self {
30232 Self::default()
30233 }
30234
30235 pub fn sType(mut self, sType : StructureType) -> Self {
30236 self.sType = sType;
30237 self
30238 }
30239
30240 pub fn pNext(mut self, pNext : *const void) -> Self {
30241 self.pNext = pNext;
30242 self
30243 }
30244
30245 pub fn pUserData(mut self, pUserData : *mut void) -> Self {
30246 self.pUserData = pUserData;
30247 self
30248 }
30249
30250}
30251
30252impl QueryPoolPerformanceQueryCreateInfoINTEL {
30253
30254 pub fn new() -> Self {
30255 Self::default()
30256 }
30257
30258 pub fn sType(mut self, sType : StructureType) -> Self {
30259 self.sType = sType;
30260 self
30261 }
30262
30263 pub fn pNext(mut self, pNext : *const void) -> Self {
30264 self.pNext = pNext;
30265 self
30266 }
30267
30268 pub fn performanceCountersSampling(mut self, performanceCountersSampling : QueryPoolSamplingModeINTEL) -> Self {
30269 self.performanceCountersSampling = performanceCountersSampling;
30270 self
30271 }
30272
30273}
30274
30275impl PerformanceMarkerInfoINTEL {
30276
30277 pub fn new() -> Self {
30278 Self::default()
30279 }
30280
30281 pub fn sType(mut self, sType : StructureType) -> Self {
30282 self.sType = sType;
30283 self
30284 }
30285
30286 pub fn pNext(mut self, pNext : *const void) -> Self {
30287 self.pNext = pNext;
30288 self
30289 }
30290
30291 pub fn marker(mut self, marker : u64) -> Self {
30292 self.marker = marker;
30293 self
30294 }
30295
30296}
30297
30298impl PerformanceStreamMarkerInfoINTEL {
30299
30300 pub fn new() -> Self {
30301 Self::default()
30302 }
30303
30304 pub fn sType(mut self, sType : StructureType) -> Self {
30305 self.sType = sType;
30306 self
30307 }
30308
30309 pub fn pNext(mut self, pNext : *const void) -> Self {
30310 self.pNext = pNext;
30311 self
30312 }
30313
30314 pub fn marker(mut self, marker : u32) -> Self {
30315 self.marker = marker;
30316 self
30317 }
30318
30319}
30320
30321impl PerformanceOverrideInfoINTEL {
30322
30323 pub fn new() -> Self {
30324 Self::default()
30325 }
30326
30327 pub fn sType(mut self, sType : StructureType) -> Self {
30328 self.sType = sType;
30329 self
30330 }
30331
30332 pub fn pNext(mut self, pNext : *const void) -> Self {
30333 self.pNext = pNext;
30334 self
30335 }
30336
30337 pub fn r#type(mut self, r#type : PerformanceOverrideTypeINTEL) -> Self {
30338 self.r#type = r#type;
30339 self
30340 }
30341
30342 pub fn enable(mut self, enable : Bool32) -> Self {
30343 self.enable = enable;
30344 self
30345 }
30346
30347 pub fn parameter(mut self, parameter : u64) -> Self {
30348 self.parameter = parameter;
30349 self
30350 }
30351
30352}
30353
30354impl PerformanceConfigurationAcquireInfoINTEL {
30355
30356 pub fn new() -> Self {
30357 Self::default()
30358 }
30359
30360 pub fn sType(mut self, sType : StructureType) -> Self {
30361 self.sType = sType;
30362 self
30363 }
30364
30365 pub fn pNext(mut self, pNext : *const void) -> Self {
30366 self.pNext = pNext;
30367 self
30368 }
30369
30370 pub fn r#type(mut self, r#type : PerformanceConfigurationTypeINTEL) -> Self {
30371 self.r#type = r#type;
30372 self
30373 }
30374
30375}
30376
30377impl PhysicalDevicePCIBusInfoPropertiesEXT {
30378
30379 pub fn new() -> Self {
30380 Self::default()
30381 }
30382
30383 pub fn sType(mut self, sType : StructureType) -> Self {
30384 self.sType = sType;
30385 self
30386 }
30387
30388 pub fn pNext(mut self, pNext : *mut void) -> Self {
30389 self.pNext = pNext;
30390 self
30391 }
30392
30393 pub fn pciDomain(mut self, pciDomain : u32) -> Self {
30394 self.pciDomain = pciDomain;
30395 self
30396 }
30397
30398 pub fn pciBus(mut self, pciBus : u32) -> Self {
30399 self.pciBus = pciBus;
30400 self
30401 }
30402
30403 pub fn pciDevice(mut self, pciDevice : u32) -> Self {
30404 self.pciDevice = pciDevice;
30405 self
30406 }
30407
30408 pub fn pciFunction(mut self, pciFunction : u32) -> Self {
30409 self.pciFunction = pciFunction;
30410 self
30411 }
30412
30413}
30414
30415impl DisplayNativeHdrSurfaceCapabilitiesAMD {
30416
30417 pub fn new() -> Self {
30418 Self::default()
30419 }
30420
30421 pub fn sType(mut self, sType : StructureType) -> Self {
30422 self.sType = sType;
30423 self
30424 }
30425
30426 pub fn pNext(mut self, pNext : *mut void) -> Self {
30427 self.pNext = pNext;
30428 self
30429 }
30430
30431 pub fn localDimmingSupport(mut self, localDimmingSupport : Bool32) -> Self {
30432 self.localDimmingSupport = localDimmingSupport;
30433 self
30434 }
30435
30436}
30437
30438impl SwapchainDisplayNativeHdrCreateInfoAMD {
30439
30440 pub fn new() -> Self {
30441 Self::default()
30442 }
30443
30444 pub fn sType(mut self, sType : StructureType) -> Self {
30445 self.sType = sType;
30446 self
30447 }
30448
30449 pub fn pNext(mut self, pNext : *const void) -> Self {
30450 self.pNext = pNext;
30451 self
30452 }
30453
30454 pub fn localDimmingEnable(mut self, localDimmingEnable : Bool32) -> Self {
30455 self.localDimmingEnable = localDimmingEnable;
30456 self
30457 }
30458
30459}
30460
30461impl PhysicalDeviceFragmentDensityMapFeaturesEXT {
30462
30463 pub fn new() -> Self {
30464 Self::default()
30465 }
30466
30467 pub fn sType(mut self, sType : StructureType) -> Self {
30468 self.sType = sType;
30469 self
30470 }
30471
30472 pub fn pNext(mut self, pNext : *mut void) -> Self {
30473 self.pNext = pNext;
30474 self
30475 }
30476
30477 pub fn fragmentDensityMap(mut self, fragmentDensityMap : Bool32) -> Self {
30478 self.fragmentDensityMap = fragmentDensityMap;
30479 self
30480 }
30481
30482 pub fn fragmentDensityMapDynamic(mut self, fragmentDensityMapDynamic : Bool32) -> Self {
30483 self.fragmentDensityMapDynamic = fragmentDensityMapDynamic;
30484 self
30485 }
30486
30487 pub fn fragmentDensityMapNonSubsampledImages(mut self, fragmentDensityMapNonSubsampledImages : Bool32) -> Self {
30488 self.fragmentDensityMapNonSubsampledImages = fragmentDensityMapNonSubsampledImages;
30489 self
30490 }
30491
30492}
30493
30494impl PhysicalDeviceFragmentDensityMapPropertiesEXT {
30495
30496 pub fn new() -> Self {
30497 Self::default()
30498 }
30499
30500 pub fn sType(mut self, sType : StructureType) -> Self {
30501 self.sType = sType;
30502 self
30503 }
30504
30505 pub fn pNext(mut self, pNext : *mut void) -> Self {
30506 self.pNext = pNext;
30507 self
30508 }
30509
30510 pub fn minFragmentDensityTexelSize(mut self, minFragmentDensityTexelSize : Extent2D) -> Self {
30511 self.minFragmentDensityTexelSize = minFragmentDensityTexelSize;
30512 self
30513 }
30514
30515 pub fn maxFragmentDensityTexelSize(mut self, maxFragmentDensityTexelSize : Extent2D) -> Self {
30516 self.maxFragmentDensityTexelSize = maxFragmentDensityTexelSize;
30517 self
30518 }
30519
30520 pub fn fragmentDensityInvocations(mut self, fragmentDensityInvocations : Bool32) -> Self {
30521 self.fragmentDensityInvocations = fragmentDensityInvocations;
30522 self
30523 }
30524
30525}
30526
30527impl RenderPassFragmentDensityMapCreateInfoEXT {
30528
30529 pub fn new() -> Self {
30530 Self::default()
30531 }
30532
30533 pub fn sType(mut self, sType : StructureType) -> Self {
30534 self.sType = sType;
30535 self
30536 }
30537
30538 pub fn pNext(mut self, pNext : *const void) -> Self {
30539 self.pNext = pNext;
30540 self
30541 }
30542
30543 pub fn fragmentDensityMapAttachment(mut self, fragmentDensityMapAttachment : AttachmentReference) -> Self {
30544 self.fragmentDensityMapAttachment = fragmentDensityMapAttachment;
30545 self
30546 }
30547
30548}
30549
30550impl PhysicalDeviceSubgroupSizeControlFeaturesEXT {
30551
30552 pub fn new() -> Self {
30553 Self::default()
30554 }
30555
30556 pub fn sType(mut self, sType : StructureType) -> Self {
30557 self.sType = sType;
30558 self
30559 }
30560
30561 pub fn pNext(mut self, pNext : *mut void) -> Self {
30562 self.pNext = pNext;
30563 self
30564 }
30565
30566 pub fn subgroupSizeControl(mut self, subgroupSizeControl : Bool32) -> Self {
30567 self.subgroupSizeControl = subgroupSizeControl;
30568 self
30569 }
30570
30571 pub fn computeFullSubgroups(mut self, computeFullSubgroups : Bool32) -> Self {
30572 self.computeFullSubgroups = computeFullSubgroups;
30573 self
30574 }
30575
30576}
30577
30578impl PhysicalDeviceSubgroupSizeControlPropertiesEXT {
30579
30580 pub fn new() -> Self {
30581 Self::default()
30582 }
30583
30584 pub fn sType(mut self, sType : StructureType) -> Self {
30585 self.sType = sType;
30586 self
30587 }
30588
30589 pub fn pNext(mut self, pNext : *mut void) -> Self {
30590 self.pNext = pNext;
30591 self
30592 }
30593
30594 pub fn minSubgroupSize(mut self, minSubgroupSize : u32) -> Self {
30595 self.minSubgroupSize = minSubgroupSize;
30596 self
30597 }
30598
30599 pub fn maxSubgroupSize(mut self, maxSubgroupSize : u32) -> Self {
30600 self.maxSubgroupSize = maxSubgroupSize;
30601 self
30602 }
30603
30604 pub fn maxComputeWorkgroupSubgroups(mut self, maxComputeWorkgroupSubgroups : u32) -> Self {
30605 self.maxComputeWorkgroupSubgroups = maxComputeWorkgroupSubgroups;
30606 self
30607 }
30608
30609 pub fn requiredSubgroupSizeStages(mut self, requiredSubgroupSizeStages : ShaderStageFlags) -> Self {
30610 self.requiredSubgroupSizeStages = requiredSubgroupSizeStages;
30611 self
30612 }
30613
30614}
30615
30616impl PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT {
30617
30618 pub fn new() -> Self {
30619 Self::default()
30620 }
30621
30622 pub fn sType(mut self, sType : StructureType) -> Self {
30623 self.sType = sType;
30624 self
30625 }
30626
30627 pub fn pNext(mut self, pNext : *mut void) -> Self {
30628 self.pNext = pNext;
30629 self
30630 }
30631
30632 pub fn requiredSubgroupSize(mut self, requiredSubgroupSize : u32) -> Self {
30633 self.requiredSubgroupSize = requiredSubgroupSize;
30634 self
30635 }
30636
30637}
30638
30639impl PhysicalDeviceShaderCoreProperties2AMD {
30640
30641 pub fn new() -> Self {
30642 Self::default()
30643 }
30644
30645 pub fn sType(mut self, sType : StructureType) -> Self {
30646 self.sType = sType;
30647 self
30648 }
30649
30650 pub fn pNext(mut self, pNext : *mut void) -> Self {
30651 self.pNext = pNext;
30652 self
30653 }
30654
30655 pub fn shaderCoreFeatures(mut self, shaderCoreFeatures : ShaderCorePropertiesFlagsAMD) -> Self {
30656 self.shaderCoreFeatures = shaderCoreFeatures;
30657 self
30658 }
30659
30660 pub fn activeComputeUnitCount(mut self, activeComputeUnitCount : u32) -> Self {
30661 self.activeComputeUnitCount = activeComputeUnitCount;
30662 self
30663 }
30664
30665}
30666
30667impl PhysicalDeviceCoherentMemoryFeaturesAMD {
30668
30669 pub fn new() -> Self {
30670 Self::default()
30671 }
30672
30673 pub fn sType(mut self, sType : StructureType) -> Self {
30674 self.sType = sType;
30675 self
30676 }
30677
30678 pub fn pNext(mut self, pNext : *mut void) -> Self {
30679 self.pNext = pNext;
30680 self
30681 }
30682
30683 pub fn deviceCoherentMemory(mut self, deviceCoherentMemory : Bool32) -> Self {
30684 self.deviceCoherentMemory = deviceCoherentMemory;
30685 self
30686 }
30687
30688}
30689
30690impl PhysicalDeviceMemoryBudgetPropertiesEXT {
30691
30692 pub fn new() -> Self {
30693 Self::default()
30694 }
30695
30696 pub fn sType(mut self, sType : StructureType) -> Self {
30697 self.sType = sType;
30698 self
30699 }
30700
30701 pub fn pNext(mut self, pNext : *mut void) -> Self {
30702 self.pNext = pNext;
30703 self
30704 }
30705
30706 pub fn heapBudget(mut self, heapBudget : [DeviceSize;MAX_MEMORY_HEAPS]) -> Self {
30707 self.heapBudget = heapBudget;
30708 self
30709 }
30710
30711 pub fn heapUsage(mut self, heapUsage : [DeviceSize;MAX_MEMORY_HEAPS]) -> Self {
30712 self.heapUsage = heapUsage;
30713 self
30714 }
30715
30716}
30717
30718impl PhysicalDeviceMemoryPriorityFeaturesEXT {
30719
30720 pub fn new() -> Self {
30721 Self::default()
30722 }
30723
30724 pub fn sType(mut self, sType : StructureType) -> Self {
30725 self.sType = sType;
30726 self
30727 }
30728
30729 pub fn pNext(mut self, pNext : *mut void) -> Self {
30730 self.pNext = pNext;
30731 self
30732 }
30733
30734 pub fn memoryPriority(mut self, memoryPriority : Bool32) -> Self {
30735 self.memoryPriority = memoryPriority;
30736 self
30737 }
30738
30739}
30740
30741impl MemoryPriorityAllocateInfoEXT {
30742
30743 pub fn new() -> Self {
30744 Self::default()
30745 }
30746
30747 pub fn sType(mut self, sType : StructureType) -> Self {
30748 self.sType = sType;
30749 self
30750 }
30751
30752 pub fn pNext(mut self, pNext : *const void) -> Self {
30753 self.pNext = pNext;
30754 self
30755 }
30756
30757 pub fn priority(mut self, priority : f32) -> Self {
30758 self.priority = priority;
30759 self
30760 }
30761
30762}
30763
30764impl PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
30765
30766 pub fn new() -> Self {
30767 Self::default()
30768 }
30769
30770 pub fn sType(mut self, sType : StructureType) -> Self {
30771 self.sType = sType;
30772 self
30773 }
30774
30775 pub fn pNext(mut self, pNext : *mut void) -> Self {
30776 self.pNext = pNext;
30777 self
30778 }
30779
30780 pub fn dedicatedAllocationImageAliasing(mut self, dedicatedAllocationImageAliasing : Bool32) -> Self {
30781 self.dedicatedAllocationImageAliasing = dedicatedAllocationImageAliasing;
30782 self
30783 }
30784
30785}
30786
30787impl PhysicalDeviceBufferDeviceAddressFeaturesEXT {
30788
30789 pub fn new() -> Self {
30790 Self::default()
30791 }
30792
30793 pub fn sType(mut self, sType : StructureType) -> Self {
30794 self.sType = sType;
30795 self
30796 }
30797
30798 pub fn pNext(mut self, pNext : *mut void) -> Self {
30799 self.pNext = pNext;
30800 self
30801 }
30802
30803 pub fn bufferDeviceAddress(mut self, bufferDeviceAddress : Bool32) -> Self {
30804 self.bufferDeviceAddress = bufferDeviceAddress;
30805 self
30806 }
30807
30808 pub fn bufferDeviceAddressCaptureReplay(mut self, bufferDeviceAddressCaptureReplay : Bool32) -> Self {
30809 self.bufferDeviceAddressCaptureReplay = bufferDeviceAddressCaptureReplay;
30810 self
30811 }
30812
30813 pub fn bufferDeviceAddressMultiDevice(mut self, bufferDeviceAddressMultiDevice : Bool32) -> Self {
30814 self.bufferDeviceAddressMultiDevice = bufferDeviceAddressMultiDevice;
30815 self
30816 }
30817
30818}
30819
30820impl BufferDeviceAddressCreateInfoEXT {
30821
30822 pub fn new() -> Self {
30823 Self::default()
30824 }
30825
30826 pub fn sType(mut self, sType : StructureType) -> Self {
30827 self.sType = sType;
30828 self
30829 }
30830
30831 pub fn pNext(mut self, pNext : *const void) -> Self {
30832 self.pNext = pNext;
30833 self
30834 }
30835
30836 pub fn deviceAddress(mut self, deviceAddress : DeviceAddress) -> Self {
30837 self.deviceAddress = deviceAddress;
30838 self
30839 }
30840
30841}
30842
30843impl PhysicalDeviceToolPropertiesEXT {
30844
30845 pub fn new() -> Self {
30846 Self::default()
30847 }
30848
30849 pub fn sType(mut self, sType : StructureType) -> Self {
30850 self.sType = sType;
30851 self
30852 }
30853
30854 pub fn pNext(mut self, pNext : *mut void) -> Self {
30855 self.pNext = pNext;
30856 self
30857 }
30858
30859 pub fn name(mut self, name : [i8;MAX_EXTENSION_NAME_SIZE]) -> Self {
30860 self.name = name;
30861 self
30862 }
30863
30864 pub fn version(mut self, version : [i8;MAX_EXTENSION_NAME_SIZE]) -> Self {
30865 self.version = version;
30866 self
30867 }
30868
30869 pub fn purposes(mut self, purposes : ToolPurposeFlagsEXT) -> Self {
30870 self.purposes = purposes;
30871 self
30872 }
30873
30874 pub fn description(mut self, description : [i8;MAX_DESCRIPTION_SIZE]) -> Self {
30875 self.description = description;
30876 self
30877 }
30878
30879 pub fn layer(mut self, layer : [i8;MAX_EXTENSION_NAME_SIZE]) -> Self {
30880 self.layer = layer;
30881 self
30882 }
30883
30884}
30885
30886impl ValidationFeaturesEXT {
30887
30888 pub fn new() -> Self {
30889 Self::default()
30890 }
30891
30892 pub fn sType(mut self, sType : StructureType) -> Self {
30893 self.sType = sType;
30894 self
30895 }
30896
30897 pub fn pNext(mut self, pNext : *const void) -> Self {
30898 self.pNext = pNext;
30899 self
30900 }
30901
30902 pub fn enabledValidationFeatureCount(mut self, enabledValidationFeatureCount : u32) -> Self {
30903 self.enabledValidationFeatureCount = enabledValidationFeatureCount;
30904 self
30905 }
30906
30907 pub fn pEnabledValidationFeatures(mut self, pEnabledValidationFeatures : *const ValidationFeatureEnableEXT) -> Self {
30908 self.pEnabledValidationFeatures = pEnabledValidationFeatures;
30909 self
30910 }
30911
30912 pub fn disabledValidationFeatureCount(mut self, disabledValidationFeatureCount : u32) -> Self {
30913 self.disabledValidationFeatureCount = disabledValidationFeatureCount;
30914 self
30915 }
30916
30917 pub fn pDisabledValidationFeatures(mut self, pDisabledValidationFeatures : *const ValidationFeatureDisableEXT) -> Self {
30918 self.pDisabledValidationFeatures = pDisabledValidationFeatures;
30919 self
30920 }
30921
30922}
30923
30924impl CooperativeMatrixPropertiesNV {
30925
30926 pub fn new() -> Self {
30927 Self::default()
30928 }
30929
30930 pub fn sType(mut self, sType : StructureType) -> Self {
30931 self.sType = sType;
30932 self
30933 }
30934
30935 pub fn pNext(mut self, pNext : *mut void) -> Self {
30936 self.pNext = pNext;
30937 self
30938 }
30939
30940 pub fn MSize(mut self, MSize : u32) -> Self {
30941 self.MSize = MSize;
30942 self
30943 }
30944
30945 pub fn NSize(mut self, NSize : u32) -> Self {
30946 self.NSize = NSize;
30947 self
30948 }
30949
30950 pub fn KSize(mut self, KSize : u32) -> Self {
30951 self.KSize = KSize;
30952 self
30953 }
30954
30955 pub fn AType(mut self, AType : ComponentTypeNV) -> Self {
30956 self.AType = AType;
30957 self
30958 }
30959
30960 pub fn BType(mut self, BType : ComponentTypeNV) -> Self {
30961 self.BType = BType;
30962 self
30963 }
30964
30965 pub fn CType(mut self, CType : ComponentTypeNV) -> Self {
30966 self.CType = CType;
30967 self
30968 }
30969
30970 pub fn DType(mut self, DType : ComponentTypeNV) -> Self {
30971 self.DType = DType;
30972 self
30973 }
30974
30975 pub fn scope(mut self, scope : ScopeNV) -> Self {
30976 self.scope = scope;
30977 self
30978 }
30979
30980}
30981
30982impl PhysicalDeviceCooperativeMatrixFeaturesNV {
30983
30984 pub fn new() -> Self {
30985 Self::default()
30986 }
30987
30988 pub fn sType(mut self, sType : StructureType) -> Self {
30989 self.sType = sType;
30990 self
30991 }
30992
30993 pub fn pNext(mut self, pNext : *mut void) -> Self {
30994 self.pNext = pNext;
30995 self
30996 }
30997
30998 pub fn cooperativeMatrix(mut self, cooperativeMatrix : Bool32) -> Self {
30999 self.cooperativeMatrix = cooperativeMatrix;
31000 self
31001 }
31002
31003 pub fn cooperativeMatrixRobustBufferAccess(mut self, cooperativeMatrixRobustBufferAccess : Bool32) -> Self {
31004 self.cooperativeMatrixRobustBufferAccess = cooperativeMatrixRobustBufferAccess;
31005 self
31006 }
31007
31008}
31009
31010impl PhysicalDeviceCooperativeMatrixPropertiesNV {
31011
31012 pub fn new() -> Self {
31013 Self::default()
31014 }
31015
31016 pub fn sType(mut self, sType : StructureType) -> Self {
31017 self.sType = sType;
31018 self
31019 }
31020
31021 pub fn pNext(mut self, pNext : *mut void) -> Self {
31022 self.pNext = pNext;
31023 self
31024 }
31025
31026 pub fn cooperativeMatrixSupportedStages(mut self, cooperativeMatrixSupportedStages : ShaderStageFlags) -> Self {
31027 self.cooperativeMatrixSupportedStages = cooperativeMatrixSupportedStages;
31028 self
31029 }
31030
31031}
31032
31033impl PhysicalDeviceCoverageReductionModeFeaturesNV {
31034
31035 pub fn new() -> Self {
31036 Self::default()
31037 }
31038
31039 pub fn sType(mut self, sType : StructureType) -> Self {
31040 self.sType = sType;
31041 self
31042 }
31043
31044 pub fn pNext(mut self, pNext : *mut void) -> Self {
31045 self.pNext = pNext;
31046 self
31047 }
31048
31049 pub fn coverageReductionMode(mut self, coverageReductionMode : Bool32) -> Self {
31050 self.coverageReductionMode = coverageReductionMode;
31051 self
31052 }
31053
31054}
31055
31056impl PipelineCoverageReductionStateCreateInfoNV {
31057
31058 pub fn new() -> Self {
31059 Self::default()
31060 }
31061
31062 pub fn sType(mut self, sType : StructureType) -> Self {
31063 self.sType = sType;
31064 self
31065 }
31066
31067 pub fn pNext(mut self, pNext : *const void) -> Self {
31068 self.pNext = pNext;
31069 self
31070 }
31071
31072 pub fn flags(mut self, flags : PipelineCoverageReductionStateCreateFlagsNV) -> Self {
31073 self.flags = flags;
31074 self
31075 }
31076
31077 pub fn coverageReductionMode(mut self, coverageReductionMode : CoverageReductionModeNV) -> Self {
31078 self.coverageReductionMode = coverageReductionMode;
31079 self
31080 }
31081
31082}
31083
31084impl FramebufferMixedSamplesCombinationNV {
31085
31086 pub fn new() -> Self {
31087 Self::default()
31088 }
31089
31090 pub fn sType(mut self, sType : StructureType) -> Self {
31091 self.sType = sType;
31092 self
31093 }
31094
31095 pub fn pNext(mut self, pNext : *mut void) -> Self {
31096 self.pNext = pNext;
31097 self
31098 }
31099
31100 pub fn coverageReductionMode(mut self, coverageReductionMode : CoverageReductionModeNV) -> Self {
31101 self.coverageReductionMode = coverageReductionMode;
31102 self
31103 }
31104
31105 pub fn rasterizationSamples(mut self, rasterizationSamples : SampleCountFlagBits) -> Self {
31106 self.rasterizationSamples = rasterizationSamples;
31107 self
31108 }
31109
31110 pub fn depthStencilSamples(mut self, depthStencilSamples : SampleCountFlags) -> Self {
31111 self.depthStencilSamples = depthStencilSamples;
31112 self
31113 }
31114
31115 pub fn colorSamples(mut self, colorSamples : SampleCountFlags) -> Self {
31116 self.colorSamples = colorSamples;
31117 self
31118 }
31119
31120}
31121
31122impl PhysicalDeviceFragmentShaderInterlockFeaturesEXT {
31123
31124 pub fn new() -> Self {
31125 Self::default()
31126 }
31127
31128 pub fn sType(mut self, sType : StructureType) -> Self {
31129 self.sType = sType;
31130 self
31131 }
31132
31133 pub fn pNext(mut self, pNext : *mut void) -> Self {
31134 self.pNext = pNext;
31135 self
31136 }
31137
31138 pub fn fragmentShaderSampleInterlock(mut self, fragmentShaderSampleInterlock : Bool32) -> Self {
31139 self.fragmentShaderSampleInterlock = fragmentShaderSampleInterlock;
31140 self
31141 }
31142
31143 pub fn fragmentShaderPixelInterlock(mut self, fragmentShaderPixelInterlock : Bool32) -> Self {
31144 self.fragmentShaderPixelInterlock = fragmentShaderPixelInterlock;
31145 self
31146 }
31147
31148 pub fn fragmentShaderShadingRateInterlock(mut self, fragmentShaderShadingRateInterlock : Bool32) -> Self {
31149 self.fragmentShaderShadingRateInterlock = fragmentShaderShadingRateInterlock;
31150 self
31151 }
31152
31153}
31154
31155impl PhysicalDeviceYcbcrImageArraysFeaturesEXT {
31156
31157 pub fn new() -> Self {
31158 Self::default()
31159 }
31160
31161 pub fn sType(mut self, sType : StructureType) -> Self {
31162 self.sType = sType;
31163 self
31164 }
31165
31166 pub fn pNext(mut self, pNext : *mut void) -> Self {
31167 self.pNext = pNext;
31168 self
31169 }
31170
31171 pub fn ycbcrImageArrays(mut self, ycbcrImageArrays : Bool32) -> Self {
31172 self.ycbcrImageArrays = ycbcrImageArrays;
31173 self
31174 }
31175
31176}
31177
31178impl HeadlessSurfaceCreateInfoEXT {
31179
31180 pub fn new() -> Self {
31181 Self::default()
31182 }
31183
31184 pub fn sType(mut self, sType : StructureType) -> Self {
31185 self.sType = sType;
31186 self
31187 }
31188
31189 pub fn pNext(mut self, pNext : *const void) -> Self {
31190 self.pNext = pNext;
31191 self
31192 }
31193
31194 pub fn flags(mut self, flags : HeadlessSurfaceCreateFlagsEXT) -> Self {
31195 self.flags = flags;
31196 self
31197 }
31198
31199}
31200
31201impl PhysicalDeviceLineRasterizationFeaturesEXT {
31202
31203 pub fn new() -> Self {
31204 Self::default()
31205 }
31206
31207 pub fn sType(mut self, sType : StructureType) -> Self {
31208 self.sType = sType;
31209 self
31210 }
31211
31212 pub fn pNext(mut self, pNext : *mut void) -> Self {
31213 self.pNext = pNext;
31214 self
31215 }
31216
31217 pub fn rectangularLines(mut self, rectangularLines : Bool32) -> Self {
31218 self.rectangularLines = rectangularLines;
31219 self
31220 }
31221
31222 pub fn bresenhamLines(mut self, bresenhamLines : Bool32) -> Self {
31223 self.bresenhamLines = bresenhamLines;
31224 self
31225 }
31226
31227 pub fn smoothLines(mut self, smoothLines : Bool32) -> Self {
31228 self.smoothLines = smoothLines;
31229 self
31230 }
31231
31232 pub fn stippledRectangularLines(mut self, stippledRectangularLines : Bool32) -> Self {
31233 self.stippledRectangularLines = stippledRectangularLines;
31234 self
31235 }
31236
31237 pub fn stippledBresenhamLines(mut self, stippledBresenhamLines : Bool32) -> Self {
31238 self.stippledBresenhamLines = stippledBresenhamLines;
31239 self
31240 }
31241
31242 pub fn stippledSmoothLines(mut self, stippledSmoothLines : Bool32) -> Self {
31243 self.stippledSmoothLines = stippledSmoothLines;
31244 self
31245 }
31246
31247}
31248
31249impl PhysicalDeviceLineRasterizationPropertiesEXT {
31250
31251 pub fn new() -> Self {
31252 Self::default()
31253 }
31254
31255 pub fn sType(mut self, sType : StructureType) -> Self {
31256 self.sType = sType;
31257 self
31258 }
31259
31260 pub fn pNext(mut self, pNext : *mut void) -> Self {
31261 self.pNext = pNext;
31262 self
31263 }
31264
31265 pub fn lineSubPixelPrecisionBits(mut self, lineSubPixelPrecisionBits : u32) -> Self {
31266 self.lineSubPixelPrecisionBits = lineSubPixelPrecisionBits;
31267 self
31268 }
31269
31270}
31271
31272impl PipelineRasterizationLineStateCreateInfoEXT {
31273
31274 pub fn new() -> Self {
31275 Self::default()
31276 }
31277
31278 pub fn sType(mut self, sType : StructureType) -> Self {
31279 self.sType = sType;
31280 self
31281 }
31282
31283 pub fn pNext(mut self, pNext : *const void) -> Self {
31284 self.pNext = pNext;
31285 self
31286 }
31287
31288 pub fn lineRasterizationMode(mut self, lineRasterizationMode : LineRasterizationModeEXT) -> Self {
31289 self.lineRasterizationMode = lineRasterizationMode;
31290 self
31291 }
31292
31293 pub fn stippledLineEnable(mut self, stippledLineEnable : Bool32) -> Self {
31294 self.stippledLineEnable = stippledLineEnable;
31295 self
31296 }
31297
31298 pub fn lineStippleFactor(mut self, lineStippleFactor : u32) -> Self {
31299 self.lineStippleFactor = lineStippleFactor;
31300 self
31301 }
31302
31303 pub fn lineStipplePattern(mut self, lineStipplePattern : u16) -> Self {
31304 self.lineStipplePattern = lineStipplePattern;
31305 self
31306 }
31307
31308}
31309
31310impl PhysicalDeviceIndexTypeUint8FeaturesEXT {
31311
31312 pub fn new() -> Self {
31313 Self::default()
31314 }
31315
31316 pub fn sType(mut self, sType : StructureType) -> Self {
31317 self.sType = sType;
31318 self
31319 }
31320
31321 pub fn pNext(mut self, pNext : *mut void) -> Self {
31322 self.pNext = pNext;
31323 self
31324 }
31325
31326 pub fn indexTypeUint8(mut self, indexTypeUint8 : Bool32) -> Self {
31327 self.indexTypeUint8 = indexTypeUint8;
31328 self
31329 }
31330
31331}
31332
31333impl PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT {
31334
31335 pub fn new() -> Self {
31336 Self::default()
31337 }
31338
31339 pub fn sType(mut self, sType : StructureType) -> Self {
31340 self.sType = sType;
31341 self
31342 }
31343
31344 pub fn pNext(mut self, pNext : *mut void) -> Self {
31345 self.pNext = pNext;
31346 self
31347 }
31348
31349 pub fn shaderDemoteToHelperInvocation(mut self, shaderDemoteToHelperInvocation : Bool32) -> Self {
31350 self.shaderDemoteToHelperInvocation = shaderDemoteToHelperInvocation;
31351 self
31352 }
31353
31354}
31355
31356impl PhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
31357
31358 pub fn new() -> Self {
31359 Self::default()
31360 }
31361
31362 pub fn sType(mut self, sType : StructureType) -> Self {
31363 self.sType = sType;
31364 self
31365 }
31366
31367 pub fn pNext(mut self, pNext : *mut void) -> Self {
31368 self.pNext = pNext;
31369 self
31370 }
31371
31372 pub fn maxGraphicsShaderGroupCount(mut self, maxGraphicsShaderGroupCount : u32) -> Self {
31373 self.maxGraphicsShaderGroupCount = maxGraphicsShaderGroupCount;
31374 self
31375 }
31376
31377 pub fn maxIndirectSequenceCount(mut self, maxIndirectSequenceCount : u32) -> Self {
31378 self.maxIndirectSequenceCount = maxIndirectSequenceCount;
31379 self
31380 }
31381
31382 pub fn maxIndirectCommandsTokenCount(mut self, maxIndirectCommandsTokenCount : u32) -> Self {
31383 self.maxIndirectCommandsTokenCount = maxIndirectCommandsTokenCount;
31384 self
31385 }
31386
31387 pub fn maxIndirectCommandsStreamCount(mut self, maxIndirectCommandsStreamCount : u32) -> Self {
31388 self.maxIndirectCommandsStreamCount = maxIndirectCommandsStreamCount;
31389 self
31390 }
31391
31392 pub fn maxIndirectCommandsTokenOffset(mut self, maxIndirectCommandsTokenOffset : u32) -> Self {
31393 self.maxIndirectCommandsTokenOffset = maxIndirectCommandsTokenOffset;
31394 self
31395 }
31396
31397 pub fn maxIndirectCommandsStreamStride(mut self, maxIndirectCommandsStreamStride : u32) -> Self {
31398 self.maxIndirectCommandsStreamStride = maxIndirectCommandsStreamStride;
31399 self
31400 }
31401
31402 pub fn minSequencesCountBufferOffsetAlignment(mut self, minSequencesCountBufferOffsetAlignment : u32) -> Self {
31403 self.minSequencesCountBufferOffsetAlignment = minSequencesCountBufferOffsetAlignment;
31404 self
31405 }
31406
31407 pub fn minSequencesIndexBufferOffsetAlignment(mut self, minSequencesIndexBufferOffsetAlignment : u32) -> Self {
31408 self.minSequencesIndexBufferOffsetAlignment = minSequencesIndexBufferOffsetAlignment;
31409 self
31410 }
31411
31412 pub fn minIndirectCommandsBufferOffsetAlignment(mut self, minIndirectCommandsBufferOffsetAlignment : u32) -> Self {
31413 self.minIndirectCommandsBufferOffsetAlignment = minIndirectCommandsBufferOffsetAlignment;
31414 self
31415 }
31416
31417}
31418
31419impl PhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
31420
31421 pub fn new() -> Self {
31422 Self::default()
31423 }
31424
31425 pub fn sType(mut self, sType : StructureType) -> Self {
31426 self.sType = sType;
31427 self
31428 }
31429
31430 pub fn pNext(mut self, pNext : *mut void) -> Self {
31431 self.pNext = pNext;
31432 self
31433 }
31434
31435 pub fn deviceGeneratedCommands(mut self, deviceGeneratedCommands : Bool32) -> Self {
31436 self.deviceGeneratedCommands = deviceGeneratedCommands;
31437 self
31438 }
31439
31440}
31441
31442impl GraphicsShaderGroupCreateInfoNV {
31443
31444 pub fn new() -> Self {
31445 Self::default()
31446 }
31447
31448 pub fn sType(mut self, sType : StructureType) -> Self {
31449 self.sType = sType;
31450 self
31451 }
31452
31453 pub fn pNext(mut self, pNext : *const void) -> Self {
31454 self.pNext = pNext;
31455 self
31456 }
31457
31458 pub fn stageCount(mut self, stageCount : u32) -> Self {
31459 self.stageCount = stageCount;
31460 self
31461 }
31462
31463 pub fn pStages(mut self, pStages : *const PipelineShaderStageCreateInfo) -> Self {
31464 self.pStages = pStages;
31465 self
31466 }
31467
31468 pub fn pVertexInputState(mut self, pVertexInputState : *const PipelineVertexInputStateCreateInfo) -> Self {
31469 self.pVertexInputState = pVertexInputState;
31470 self
31471 }
31472
31473 pub fn pTessellationState(mut self, pTessellationState : *const PipelineTessellationStateCreateInfo) -> Self {
31474 self.pTessellationState = pTessellationState;
31475 self
31476 }
31477
31478}
31479
31480impl GraphicsPipelineShaderGroupsCreateInfoNV {
31481
31482 pub fn new() -> Self {
31483 Self::default()
31484 }
31485
31486 pub fn sType(mut self, sType : StructureType) -> Self {
31487 self.sType = sType;
31488 self
31489 }
31490
31491 pub fn pNext(mut self, pNext : *const void) -> Self {
31492 self.pNext = pNext;
31493 self
31494 }
31495
31496 pub fn groupCount(mut self, groupCount : u32) -> Self {
31497 self.groupCount = groupCount;
31498 self
31499 }
31500
31501 pub fn pGroups(mut self, pGroups : *const GraphicsShaderGroupCreateInfoNV) -> Self {
31502 self.pGroups = pGroups;
31503 self
31504 }
31505
31506 pub fn pipelineCount(mut self, pipelineCount : u32) -> Self {
31507 self.pipelineCount = pipelineCount;
31508 self
31509 }
31510
31511 pub fn pPipelines(mut self, pPipelines : *const Pipeline) -> Self {
31512 self.pPipelines = pPipelines;
31513 self
31514 }
31515
31516}
31517
31518impl BindShaderGroupIndirectCommandNV {
31519
31520 pub fn new() -> Self {
31521 Self::default()
31522 }
31523
31524 pub fn groupIndex(mut self, groupIndex : u32) -> Self {
31525 self.groupIndex = groupIndex;
31526 self
31527 }
31528
31529}
31530
31531impl BindIndexBufferIndirectCommandNV {
31532
31533 pub fn new() -> Self {
31534 Self::default()
31535 }
31536
31537 pub fn bufferAddress(mut self, bufferAddress : DeviceAddress) -> Self {
31538 self.bufferAddress = bufferAddress;
31539 self
31540 }
31541
31542 pub fn size(mut self, size : u32) -> Self {
31543 self.size = size;
31544 self
31545 }
31546
31547 pub fn indexType(mut self, indexType : IndexType) -> Self {
31548 self.indexType = indexType;
31549 self
31550 }
31551
31552}
31553
31554impl BindVertexBufferIndirectCommandNV {
31555
31556 pub fn new() -> Self {
31557 Self::default()
31558 }
31559
31560 pub fn bufferAddress(mut self, bufferAddress : DeviceAddress) -> Self {
31561 self.bufferAddress = bufferAddress;
31562 self
31563 }
31564
31565 pub fn size(mut self, size : u32) -> Self {
31566 self.size = size;
31567 self
31568 }
31569
31570 pub fn stride(mut self, stride : u32) -> Self {
31571 self.stride = stride;
31572 self
31573 }
31574
31575}
31576
31577impl SetStateFlagsIndirectCommandNV {
31578
31579 pub fn new() -> Self {
31580 Self::default()
31581 }
31582
31583 pub fn data(mut self, data : u32) -> Self {
31584 self.data = data;
31585 self
31586 }
31587
31588}
31589
31590impl IndirectCommandsStreamNV {
31591
31592 pub fn new() -> Self {
31593 Self::default()
31594 }
31595
31596 pub fn buffer(mut self, buffer : Buffer) -> Self {
31597 self.buffer = buffer;
31598 self
31599 }
31600
31601 pub fn offset(mut self, offset : DeviceSize) -> Self {
31602 self.offset = offset;
31603 self
31604 }
31605
31606}
31607
31608impl IndirectCommandsLayoutTokenNV {
31609
31610 pub fn new() -> Self {
31611 Self::default()
31612 }
31613
31614 pub fn sType(mut self, sType : StructureType) -> Self {
31615 self.sType = sType;
31616 self
31617 }
31618
31619 pub fn pNext(mut self, pNext : *const void) -> Self {
31620 self.pNext = pNext;
31621 self
31622 }
31623
31624 pub fn tokenType(mut self, tokenType : IndirectCommandsTokenTypeNV) -> Self {
31625 self.tokenType = tokenType;
31626 self
31627 }
31628
31629 pub fn stream(mut self, stream : u32) -> Self {
31630 self.stream = stream;
31631 self
31632 }
31633
31634 pub fn offset(mut self, offset : u32) -> Self {
31635 self.offset = offset;
31636 self
31637 }
31638
31639 pub fn vertexBindingUnit(mut self, vertexBindingUnit : u32) -> Self {
31640 self.vertexBindingUnit = vertexBindingUnit;
31641 self
31642 }
31643
31644 pub fn vertexDynamicStride(mut self, vertexDynamicStride : Bool32) -> Self {
31645 self.vertexDynamicStride = vertexDynamicStride;
31646 self
31647 }
31648
31649 pub fn pushconstantPipelineLayout(mut self, pushconstantPipelineLayout : PipelineLayout) -> Self {
31650 self.pushconstantPipelineLayout = pushconstantPipelineLayout;
31651 self
31652 }
31653
31654 pub fn pushconstantShaderStageFlags(mut self, pushconstantShaderStageFlags : ShaderStageFlags) -> Self {
31655 self.pushconstantShaderStageFlags = pushconstantShaderStageFlags;
31656 self
31657 }
31658
31659 pub fn pushconstantOffset(mut self, pushconstantOffset : u32) -> Self {
31660 self.pushconstantOffset = pushconstantOffset;
31661 self
31662 }
31663
31664 pub fn pushconstantSize(mut self, pushconstantSize : u32) -> Self {
31665 self.pushconstantSize = pushconstantSize;
31666 self
31667 }
31668
31669 pub fn indirectStateFlags(mut self, indirectStateFlags : IndirectStateFlagsNV) -> Self {
31670 self.indirectStateFlags = indirectStateFlags;
31671 self
31672 }
31673
31674 pub fn indexTypeCount(mut self, indexTypeCount : u32) -> Self {
31675 self.indexTypeCount = indexTypeCount;
31676 self
31677 }
31678
31679 pub fn pIndexTypes(mut self, pIndexTypes : *const IndexType) -> Self {
31680 self.pIndexTypes = pIndexTypes;
31681 self
31682 }
31683
31684 pub fn pIndexTypeValues(mut self, pIndexTypeValues : *const u32) -> Self {
31685 self.pIndexTypeValues = pIndexTypeValues;
31686 self
31687 }
31688
31689}
31690
31691impl IndirectCommandsLayoutCreateInfoNV {
31692
31693 pub fn new() -> Self {
31694 Self::default()
31695 }
31696
31697 pub fn sType(mut self, sType : StructureType) -> Self {
31698 self.sType = sType;
31699 self
31700 }
31701
31702 pub fn pNext(mut self, pNext : *const void) -> Self {
31703 self.pNext = pNext;
31704 self
31705 }
31706
31707 pub fn flags(mut self, flags : IndirectCommandsLayoutUsageFlagsNV) -> Self {
31708 self.flags = flags;
31709 self
31710 }
31711
31712 pub fn pipelineBindPoint(mut self, pipelineBindPoint : PipelineBindPoint) -> Self {
31713 self.pipelineBindPoint = pipelineBindPoint;
31714 self
31715 }
31716
31717 pub fn tokenCount(mut self, tokenCount : u32) -> Self {
31718 self.tokenCount = tokenCount;
31719 self
31720 }
31721
31722 pub fn pTokens(mut self, pTokens : *const IndirectCommandsLayoutTokenNV) -> Self {
31723 self.pTokens = pTokens;
31724 self
31725 }
31726
31727 pub fn streamCount(mut self, streamCount : u32) -> Self {
31728 self.streamCount = streamCount;
31729 self
31730 }
31731
31732 pub fn pStreamStrides(mut self, pStreamStrides : *const u32) -> Self {
31733 self.pStreamStrides = pStreamStrides;
31734 self
31735 }
31736
31737}
31738
31739impl GeneratedCommandsInfoNV {
31740
31741 pub fn new() -> Self {
31742 Self::default()
31743 }
31744
31745 pub fn sType(mut self, sType : StructureType) -> Self {
31746 self.sType = sType;
31747 self
31748 }
31749
31750 pub fn pNext(mut self, pNext : *const void) -> Self {
31751 self.pNext = pNext;
31752 self
31753 }
31754
31755 pub fn pipelineBindPoint(mut self, pipelineBindPoint : PipelineBindPoint) -> Self {
31756 self.pipelineBindPoint = pipelineBindPoint;
31757 self
31758 }
31759
31760 pub fn pipeline(mut self, pipeline : Pipeline) -> Self {
31761 self.pipeline = pipeline;
31762 self
31763 }
31764
31765 pub fn indirectCommandsLayout(mut self, indirectCommandsLayout : IndirectCommandsLayoutNV) -> Self {
31766 self.indirectCommandsLayout = indirectCommandsLayout;
31767 self
31768 }
31769
31770 pub fn streamCount(mut self, streamCount : u32) -> Self {
31771 self.streamCount = streamCount;
31772 self
31773 }
31774
31775 pub fn pStreams(mut self, pStreams : *const IndirectCommandsStreamNV) -> Self {
31776 self.pStreams = pStreams;
31777 self
31778 }
31779
31780 pub fn sequencesCount(mut self, sequencesCount : u32) -> Self {
31781 self.sequencesCount = sequencesCount;
31782 self
31783 }
31784
31785 pub fn preprocessBuffer(mut self, preprocessBuffer : Buffer) -> Self {
31786 self.preprocessBuffer = preprocessBuffer;
31787 self
31788 }
31789
31790 pub fn preprocessOffset(mut self, preprocessOffset : DeviceSize) -> Self {
31791 self.preprocessOffset = preprocessOffset;
31792 self
31793 }
31794
31795 pub fn preprocessSize(mut self, preprocessSize : DeviceSize) -> Self {
31796 self.preprocessSize = preprocessSize;
31797 self
31798 }
31799
31800 pub fn sequencesCountBuffer(mut self, sequencesCountBuffer : Buffer) -> Self {
31801 self.sequencesCountBuffer = sequencesCountBuffer;
31802 self
31803 }
31804
31805 pub fn sequencesCountOffset(mut self, sequencesCountOffset : DeviceSize) -> Self {
31806 self.sequencesCountOffset = sequencesCountOffset;
31807 self
31808 }
31809
31810 pub fn sequencesIndexBuffer(mut self, sequencesIndexBuffer : Buffer) -> Self {
31811 self.sequencesIndexBuffer = sequencesIndexBuffer;
31812 self
31813 }
31814
31815 pub fn sequencesIndexOffset(mut self, sequencesIndexOffset : DeviceSize) -> Self {
31816 self.sequencesIndexOffset = sequencesIndexOffset;
31817 self
31818 }
31819
31820}
31821
31822impl GeneratedCommandsMemoryRequirementsInfoNV {
31823
31824 pub fn new() -> Self {
31825 Self::default()
31826 }
31827
31828 pub fn sType(mut self, sType : StructureType) -> Self {
31829 self.sType = sType;
31830 self
31831 }
31832
31833 pub fn pNext(mut self, pNext : *const void) -> Self {
31834 self.pNext = pNext;
31835 self
31836 }
31837
31838 pub fn pipelineBindPoint(mut self, pipelineBindPoint : PipelineBindPoint) -> Self {
31839 self.pipelineBindPoint = pipelineBindPoint;
31840 self
31841 }
31842
31843 pub fn pipeline(mut self, pipeline : Pipeline) -> Self {
31844 self.pipeline = pipeline;
31845 self
31846 }
31847
31848 pub fn indirectCommandsLayout(mut self, indirectCommandsLayout : IndirectCommandsLayoutNV) -> Self {
31849 self.indirectCommandsLayout = indirectCommandsLayout;
31850 self
31851 }
31852
31853 pub fn maxSequencesCount(mut self, maxSequencesCount : u32) -> Self {
31854 self.maxSequencesCount = maxSequencesCount;
31855 self
31856 }
31857
31858}
31859
31860impl PhysicalDeviceTexelBufferAlignmentFeaturesEXT {
31861
31862 pub fn new() -> Self {
31863 Self::default()
31864 }
31865
31866 pub fn sType(mut self, sType : StructureType) -> Self {
31867 self.sType = sType;
31868 self
31869 }
31870
31871 pub fn pNext(mut self, pNext : *mut void) -> Self {
31872 self.pNext = pNext;
31873 self
31874 }
31875
31876 pub fn texelBufferAlignment(mut self, texelBufferAlignment : Bool32) -> Self {
31877 self.texelBufferAlignment = texelBufferAlignment;
31878 self
31879 }
31880
31881}
31882
31883impl PhysicalDeviceTexelBufferAlignmentPropertiesEXT {
31884
31885 pub fn new() -> Self {
31886 Self::default()
31887 }
31888
31889 pub fn sType(mut self, sType : StructureType) -> Self {
31890 self.sType = sType;
31891 self
31892 }
31893
31894 pub fn pNext(mut self, pNext : *mut void) -> Self {
31895 self.pNext = pNext;
31896 self
31897 }
31898
31899 pub fn storageTexelBufferOffsetAlignmentBytes(mut self, storageTexelBufferOffsetAlignmentBytes : DeviceSize) -> Self {
31900 self.storageTexelBufferOffsetAlignmentBytes = storageTexelBufferOffsetAlignmentBytes;
31901 self
31902 }
31903
31904 pub fn storageTexelBufferOffsetSingleTexelAlignment(mut self, storageTexelBufferOffsetSingleTexelAlignment : Bool32) -> Self {
31905 self.storageTexelBufferOffsetSingleTexelAlignment = storageTexelBufferOffsetSingleTexelAlignment;
31906 self
31907 }
31908
31909 pub fn uniformTexelBufferOffsetAlignmentBytes(mut self, uniformTexelBufferOffsetAlignmentBytes : DeviceSize) -> Self {
31910 self.uniformTexelBufferOffsetAlignmentBytes = uniformTexelBufferOffsetAlignmentBytes;
31911 self
31912 }
31913
31914 pub fn uniformTexelBufferOffsetSingleTexelAlignment(mut self, uniformTexelBufferOffsetSingleTexelAlignment : Bool32) -> Self {
31915 self.uniformTexelBufferOffsetSingleTexelAlignment = uniformTexelBufferOffsetSingleTexelAlignment;
31916 self
31917 }
31918
31919}
31920
31921impl RenderPassTransformBeginInfoQCOM {
31922
31923 pub fn new() -> Self {
31924 Self::default()
31925 }
31926
31927 pub fn sType(mut self, sType : StructureType) -> Self {
31928 self.sType = sType;
31929 self
31930 }
31931
31932 pub fn pNext(mut self, pNext : *mut void) -> Self {
31933 self.pNext = pNext;
31934 self
31935 }
31936
31937 pub fn transform(mut self, transform : SurfaceTransformFlagBitsKHR) -> Self {
31938 self.transform = transform;
31939 self
31940 }
31941
31942}
31943
31944impl CommandBufferInheritanceRenderPassTransformInfoQCOM {
31945
31946 pub fn new() -> Self {
31947 Self::default()
31948 }
31949
31950 pub fn sType(mut self, sType : StructureType) -> Self {
31951 self.sType = sType;
31952 self
31953 }
31954
31955 pub fn pNext(mut self, pNext : *mut void) -> Self {
31956 self.pNext = pNext;
31957 self
31958 }
31959
31960 pub fn transform(mut self, transform : SurfaceTransformFlagBitsKHR) -> Self {
31961 self.transform = transform;
31962 self
31963 }
31964
31965 pub fn renderArea(mut self, renderArea : Rect2D) -> Self {
31966 self.renderArea = renderArea;
31967 self
31968 }
31969
31970}
31971
31972impl PhysicalDeviceRobustness2FeaturesEXT {
31973
31974 pub fn new() -> Self {
31975 Self::default()
31976 }
31977
31978 pub fn sType(mut self, sType : StructureType) -> Self {
31979 self.sType = sType;
31980 self
31981 }
31982
31983 pub fn pNext(mut self, pNext : *mut void) -> Self {
31984 self.pNext = pNext;
31985 self
31986 }
31987
31988 pub fn robustBufferAccess2(mut self, robustBufferAccess2 : Bool32) -> Self {
31989 self.robustBufferAccess2 = robustBufferAccess2;
31990 self
31991 }
31992
31993 pub fn robustImageAccess2(mut self, robustImageAccess2 : Bool32) -> Self {
31994 self.robustImageAccess2 = robustImageAccess2;
31995 self
31996 }
31997
31998 pub fn nullDescriptor(mut self, nullDescriptor : Bool32) -> Self {
31999 self.nullDescriptor = nullDescriptor;
32000 self
32001 }
32002
32003}
32004
32005impl PhysicalDeviceRobustness2PropertiesEXT {
32006
32007 pub fn new() -> Self {
32008 Self::default()
32009 }
32010
32011 pub fn sType(mut self, sType : StructureType) -> Self {
32012 self.sType = sType;
32013 self
32014 }
32015
32016 pub fn pNext(mut self, pNext : *mut void) -> Self {
32017 self.pNext = pNext;
32018 self
32019 }
32020
32021 pub fn robustStorageBufferAccessSizeAlignment(mut self, robustStorageBufferAccessSizeAlignment : DeviceSize) -> Self {
32022 self.robustStorageBufferAccessSizeAlignment = robustStorageBufferAccessSizeAlignment;
32023 self
32024 }
32025
32026 pub fn robustUniformBufferAccessSizeAlignment(mut self, robustUniformBufferAccessSizeAlignment : DeviceSize) -> Self {
32027 self.robustUniformBufferAccessSizeAlignment = robustUniformBufferAccessSizeAlignment;
32028 self
32029 }
32030
32031}
32032
32033impl SamplerCustomBorderColorCreateInfoEXT {
32034
32035 pub fn new() -> Self {
32036 Self::default()
32037 }
32038
32039 pub fn sType(mut self, sType : StructureType) -> Self {
32040 self.sType = sType;
32041 self
32042 }
32043
32044 pub fn pNext(mut self, pNext : *const void) -> Self {
32045 self.pNext = pNext;
32046 self
32047 }
32048
32049 pub fn customBorderColor(mut self, customBorderColor : ClearColorValue) -> Self {
32050 self.customBorderColor = customBorderColor;
32051 self
32052 }
32053
32054 pub fn format(mut self, format : Format) -> Self {
32055 self.format = format;
32056 self
32057 }
32058
32059}
32060
32061impl PhysicalDeviceCustomBorderColorPropertiesEXT {
32062
32063 pub fn new() -> Self {
32064 Self::default()
32065 }
32066
32067 pub fn sType(mut self, sType : StructureType) -> Self {
32068 self.sType = sType;
32069 self
32070 }
32071
32072 pub fn pNext(mut self, pNext : *mut void) -> Self {
32073 self.pNext = pNext;
32074 self
32075 }
32076
32077 pub fn maxCustomBorderColorSamplers(mut self, maxCustomBorderColorSamplers : u32) -> Self {
32078 self.maxCustomBorderColorSamplers = maxCustomBorderColorSamplers;
32079 self
32080 }
32081
32082}
32083
32084impl PhysicalDeviceCustomBorderColorFeaturesEXT {
32085
32086 pub fn new() -> Self {
32087 Self::default()
32088 }
32089
32090 pub fn sType(mut self, sType : StructureType) -> Self {
32091 self.sType = sType;
32092 self
32093 }
32094
32095 pub fn pNext(mut self, pNext : *mut void) -> Self {
32096 self.pNext = pNext;
32097 self
32098 }
32099
32100 pub fn customBorderColors(mut self, customBorderColors : Bool32) -> Self {
32101 self.customBorderColors = customBorderColors;
32102 self
32103 }
32104
32105 pub fn customBorderColorWithoutFormat(mut self, customBorderColorWithoutFormat : Bool32) -> Self {
32106 self.customBorderColorWithoutFormat = customBorderColorWithoutFormat;
32107 self
32108 }
32109
32110}
32111
32112impl PhysicalDevicePrivateDataFeaturesEXT {
32113
32114 pub fn new() -> Self {
32115 Self::default()
32116 }
32117
32118 pub fn sType(mut self, sType : StructureType) -> Self {
32119 self.sType = sType;
32120 self
32121 }
32122
32123 pub fn pNext(mut self, pNext : *mut void) -> Self {
32124 self.pNext = pNext;
32125 self
32126 }
32127
32128 pub fn privateData(mut self, privateData : Bool32) -> Self {
32129 self.privateData = privateData;
32130 self
32131 }
32132
32133}
32134
32135impl DevicePrivateDataCreateInfoEXT {
32136
32137 pub fn new() -> Self {
32138 Self::default()
32139 }
32140
32141 pub fn sType(mut self, sType : StructureType) -> Self {
32142 self.sType = sType;
32143 self
32144 }
32145
32146 pub fn pNext(mut self, pNext : *const void) -> Self {
32147 self.pNext = pNext;
32148 self
32149 }
32150
32151 pub fn privateDataSlotRequestCount(mut self, privateDataSlotRequestCount : u32) -> Self {
32152 self.privateDataSlotRequestCount = privateDataSlotRequestCount;
32153 self
32154 }
32155
32156}
32157
32158impl PrivateDataSlotCreateInfoEXT {
32159
32160 pub fn new() -> Self {
32161 Self::default()
32162 }
32163
32164 pub fn sType(mut self, sType : StructureType) -> Self {
32165 self.sType = sType;
32166 self
32167 }
32168
32169 pub fn pNext(mut self, pNext : *const void) -> Self {
32170 self.pNext = pNext;
32171 self
32172 }
32173
32174 pub fn flags(mut self, flags : PrivateDataSlotCreateFlagsEXT) -> Self {
32175 self.flags = flags;
32176 self
32177 }
32178
32179}
32180
32181impl PhysicalDevicePipelineCreationCacheControlFeaturesEXT {
32182
32183 pub fn new() -> Self {
32184 Self::default()
32185 }
32186
32187 pub fn sType(mut self, sType : StructureType) -> Self {
32188 self.sType = sType;
32189 self
32190 }
32191
32192 pub fn pNext(mut self, pNext : *mut void) -> Self {
32193 self.pNext = pNext;
32194 self
32195 }
32196
32197 pub fn pipelineCreationCacheControl(mut self, pipelineCreationCacheControl : Bool32) -> Self {
32198 self.pipelineCreationCacheControl = pipelineCreationCacheControl;
32199 self
32200 }
32201
32202}
32203
32204impl PhysicalDeviceDiagnosticsConfigFeaturesNV {
32205
32206 pub fn new() -> Self {
32207 Self::default()
32208 }
32209
32210 pub fn sType(mut self, sType : StructureType) -> Self {
32211 self.sType = sType;
32212 self
32213 }
32214
32215 pub fn pNext(mut self, pNext : *mut void) -> Self {
32216 self.pNext = pNext;
32217 self
32218 }
32219
32220 pub fn diagnosticsConfig(mut self, diagnosticsConfig : Bool32) -> Self {
32221 self.diagnosticsConfig = diagnosticsConfig;
32222 self
32223 }
32224
32225}
32226
32227impl DeviceDiagnosticsConfigCreateInfoNV {
32228
32229 pub fn new() -> Self {
32230 Self::default()
32231 }
32232
32233 pub fn sType(mut self, sType : StructureType) -> Self {
32234 self.sType = sType;
32235 self
32236 }
32237
32238 pub fn pNext(mut self, pNext : *const void) -> Self {
32239 self.pNext = pNext;
32240 self
32241 }
32242
32243 pub fn flags(mut self, flags : DeviceDiagnosticsConfigFlagsNV) -> Self {
32244 self.flags = flags;
32245 self
32246 }
32247
32248}
32249
32250impl Win32SurfaceCreateInfoKHR {
32251
32252 pub fn new() -> Self {
32253 Self::default()
32254 }
32255
32256 pub fn sType(mut self, sType : StructureType) -> Self {
32257 self.sType = sType;
32258 self
32259 }
32260
32261 pub fn pNext(mut self, pNext : *const void) -> Self {
32262 self.pNext = pNext;
32263 self
32264 }
32265
32266 pub fn flags(mut self, flags : Win32SurfaceCreateFlagsKHR) -> Self {
32267 self.flags = flags;
32268 self
32269 }
32270
32271 pub fn hinstance(mut self, hinstance : HINSTANCE) -> Self {
32272 self.hinstance = hinstance;
32273 self
32274 }
32275
32276 pub fn hwnd(mut self, hwnd : HWND) -> Self {
32277 self.hwnd = hwnd;
32278 self
32279 }
32280
32281}
32282
32283impl ImportMemoryWin32HandleInfoKHR {
32284
32285 pub fn new() -> Self {
32286 Self::default()
32287 }
32288
32289 pub fn sType(mut self, sType : StructureType) -> Self {
32290 self.sType = sType;
32291 self
32292 }
32293
32294 pub fn pNext(mut self, pNext : *const void) -> Self {
32295 self.pNext = pNext;
32296 self
32297 }
32298
32299 pub fn handleType(mut self, handleType : ExternalMemoryHandleTypeFlagBits) -> Self {
32300 self.handleType = handleType;
32301 self
32302 }
32303
32304 pub fn handle(mut self, handle : HANDLE) -> Self {
32305 self.handle = handle;
32306 self
32307 }
32308
32309 pub fn name(mut self, name : LPCWSTR) -> Self {
32310 self.name = name;
32311 self
32312 }
32313
32314}
32315
32316impl ExportMemoryWin32HandleInfoKHR {
32317
32318 pub fn new() -> Self {
32319 Self::default()
32320 }
32321
32322 pub fn sType(mut self, sType : StructureType) -> Self {
32323 self.sType = sType;
32324 self
32325 }
32326
32327 pub fn pNext(mut self, pNext : *const void) -> Self {
32328 self.pNext = pNext;
32329 self
32330 }
32331
32332 pub fn pAttributes(mut self, pAttributes : LPSECURITY_ATTRIBUTES) -> Self {
32333 self.pAttributes = pAttributes;
32334 self
32335 }
32336
32337 pub fn dwAccess(mut self, dwAccess : DWORD) -> Self {
32338 self.dwAccess = dwAccess;
32339 self
32340 }
32341
32342 pub fn name(mut self, name : LPCWSTR) -> Self {
32343 self.name = name;
32344 self
32345 }
32346
32347}
32348
32349impl MemoryWin32HandlePropertiesKHR {
32350
32351 pub fn new() -> Self {
32352 Self::default()
32353 }
32354
32355 pub fn sType(mut self, sType : StructureType) -> Self {
32356 self.sType = sType;
32357 self
32358 }
32359
32360 pub fn pNext(mut self, pNext : *mut void) -> Self {
32361 self.pNext = pNext;
32362 self
32363 }
32364
32365 pub fn memoryTypeBits(mut self, memoryTypeBits : u32) -> Self {
32366 self.memoryTypeBits = memoryTypeBits;
32367 self
32368 }
32369
32370}
32371
32372impl MemoryGetWin32HandleInfoKHR {
32373
32374 pub fn new() -> Self {
32375 Self::default()
32376 }
32377
32378 pub fn sType(mut self, sType : StructureType) -> Self {
32379 self.sType = sType;
32380 self
32381 }
32382
32383 pub fn pNext(mut self, pNext : *const void) -> Self {
32384 self.pNext = pNext;
32385 self
32386 }
32387
32388 pub fn memory(mut self, memory : DeviceMemory) -> Self {
32389 self.memory = memory;
32390 self
32391 }
32392
32393 pub fn handleType(mut self, handleType : ExternalMemoryHandleTypeFlagBits) -> Self {
32394 self.handleType = handleType;
32395 self
32396 }
32397
32398}
32399
32400impl Win32KeyedMutexAcquireReleaseInfoKHR {
32401
32402 pub fn new() -> Self {
32403 Self::default()
32404 }
32405
32406 pub fn sType(mut self, sType : StructureType) -> Self {
32407 self.sType = sType;
32408 self
32409 }
32410
32411 pub fn pNext(mut self, pNext : *const void) -> Self {
32412 self.pNext = pNext;
32413 self
32414 }
32415
32416 pub fn acquireCount(mut self, acquireCount : u32) -> Self {
32417 self.acquireCount = acquireCount;
32418 self
32419 }
32420
32421 pub fn pAcquireSyncs(mut self, pAcquireSyncs : *const DeviceMemory) -> Self {
32422 self.pAcquireSyncs = pAcquireSyncs;
32423 self
32424 }
32425
32426 pub fn pAcquireKeys(mut self, pAcquireKeys : *const u64) -> Self {
32427 self.pAcquireKeys = pAcquireKeys;
32428 self
32429 }
32430
32431 pub fn pAcquireTimeouts(mut self, pAcquireTimeouts : *const u32) -> Self {
32432 self.pAcquireTimeouts = pAcquireTimeouts;
32433 self
32434 }
32435
32436 pub fn releaseCount(mut self, releaseCount : u32) -> Self {
32437 self.releaseCount = releaseCount;
32438 self
32439 }
32440
32441 pub fn pReleaseSyncs(mut self, pReleaseSyncs : *const DeviceMemory) -> Self {
32442 self.pReleaseSyncs = pReleaseSyncs;
32443 self
32444 }
32445
32446 pub fn pReleaseKeys(mut self, pReleaseKeys : *const u64) -> Self {
32447 self.pReleaseKeys = pReleaseKeys;
32448 self
32449 }
32450
32451}
32452
32453impl ImportSemaphoreWin32HandleInfoKHR {
32454
32455 pub fn new() -> Self {
32456 Self::default()
32457 }
32458
32459 pub fn sType(mut self, sType : StructureType) -> Self {
32460 self.sType = sType;
32461 self
32462 }
32463
32464 pub fn pNext(mut self, pNext : *const void) -> Self {
32465 self.pNext = pNext;
32466 self
32467 }
32468
32469 pub fn semaphore(mut self, semaphore : Semaphore) -> Self {
32470 self.semaphore = semaphore;
32471 self
32472 }
32473
32474 pub fn flags(mut self, flags : SemaphoreImportFlags) -> Self {
32475 self.flags = flags;
32476 self
32477 }
32478
32479 pub fn handleType(mut self, handleType : ExternalSemaphoreHandleTypeFlagBits) -> Self {
32480 self.handleType = handleType;
32481 self
32482 }
32483
32484 pub fn handle(mut self, handle : HANDLE) -> Self {
32485 self.handle = handle;
32486 self
32487 }
32488
32489 pub fn name(mut self, name : LPCWSTR) -> Self {
32490 self.name = name;
32491 self
32492 }
32493
32494}
32495
32496impl ExportSemaphoreWin32HandleInfoKHR {
32497
32498 pub fn new() -> Self {
32499 Self::default()
32500 }
32501
32502 pub fn sType(mut self, sType : StructureType) -> Self {
32503 self.sType = sType;
32504 self
32505 }
32506
32507 pub fn pNext(mut self, pNext : *const void) -> Self {
32508 self.pNext = pNext;
32509 self
32510 }
32511
32512 pub fn pAttributes(mut self, pAttributes : LPSECURITY_ATTRIBUTES) -> Self {
32513 self.pAttributes = pAttributes;
32514 self
32515 }
32516
32517 pub fn dwAccess(mut self, dwAccess : DWORD) -> Self {
32518 self.dwAccess = dwAccess;
32519 self
32520 }
32521
32522 pub fn name(mut self, name : LPCWSTR) -> Self {
32523 self.name = name;
32524 self
32525 }
32526
32527}
32528
32529impl D3D12FenceSubmitInfoKHR {
32530
32531 pub fn new() -> Self {
32532 Self::default()
32533 }
32534
32535 pub fn sType(mut self, sType : StructureType) -> Self {
32536 self.sType = sType;
32537 self
32538 }
32539
32540 pub fn pNext(mut self, pNext : *const void) -> Self {
32541 self.pNext = pNext;
32542 self
32543 }
32544
32545 pub fn waitSemaphoreValuesCount(mut self, waitSemaphoreValuesCount : u32) -> Self {
32546 self.waitSemaphoreValuesCount = waitSemaphoreValuesCount;
32547 self
32548 }
32549
32550 pub fn pWaitSemaphoreValues(mut self, pWaitSemaphoreValues : *const u64) -> Self {
32551 self.pWaitSemaphoreValues = pWaitSemaphoreValues;
32552 self
32553 }
32554
32555 pub fn signalSemaphoreValuesCount(mut self, signalSemaphoreValuesCount : u32) -> Self {
32556 self.signalSemaphoreValuesCount = signalSemaphoreValuesCount;
32557 self
32558 }
32559
32560 pub fn pSignalSemaphoreValues(mut self, pSignalSemaphoreValues : *const u64) -> Self {
32561 self.pSignalSemaphoreValues = pSignalSemaphoreValues;
32562 self
32563 }
32564
32565}
32566
32567impl SemaphoreGetWin32HandleInfoKHR {
32568
32569 pub fn new() -> Self {
32570 Self::default()
32571 }
32572
32573 pub fn sType(mut self, sType : StructureType) -> Self {
32574 self.sType = sType;
32575 self
32576 }
32577
32578 pub fn pNext(mut self, pNext : *const void) -> Self {
32579 self.pNext = pNext;
32580 self
32581 }
32582
32583 pub fn semaphore(mut self, semaphore : Semaphore) -> Self {
32584 self.semaphore = semaphore;
32585 self
32586 }
32587
32588 pub fn handleType(mut self, handleType : ExternalSemaphoreHandleTypeFlagBits) -> Self {
32589 self.handleType = handleType;
32590 self
32591 }
32592
32593}
32594
32595impl ImportFenceWin32HandleInfoKHR {
32596
32597 pub fn new() -> Self {
32598 Self::default()
32599 }
32600
32601 pub fn sType(mut self, sType : StructureType) -> Self {
32602 self.sType = sType;
32603 self
32604 }
32605
32606 pub fn pNext(mut self, pNext : *const void) -> Self {
32607 self.pNext = pNext;
32608 self
32609 }
32610
32611 pub fn fence(mut self, fence : Fence) -> Self {
32612 self.fence = fence;
32613 self
32614 }
32615
32616 pub fn flags(mut self, flags : FenceImportFlags) -> Self {
32617 self.flags = flags;
32618 self
32619 }
32620
32621 pub fn handleType(mut self, handleType : ExternalFenceHandleTypeFlagBits) -> Self {
32622 self.handleType = handleType;
32623 self
32624 }
32625
32626 pub fn handle(mut self, handle : HANDLE) -> Self {
32627 self.handle = handle;
32628 self
32629 }
32630
32631 pub fn name(mut self, name : LPCWSTR) -> Self {
32632 self.name = name;
32633 self
32634 }
32635
32636}
32637
32638impl ExportFenceWin32HandleInfoKHR {
32639
32640 pub fn new() -> Self {
32641 Self::default()
32642 }
32643
32644 pub fn sType(mut self, sType : StructureType) -> Self {
32645 self.sType = sType;
32646 self
32647 }
32648
32649 pub fn pNext(mut self, pNext : *const void) -> Self {
32650 self.pNext = pNext;
32651 self
32652 }
32653
32654 pub fn pAttributes(mut self, pAttributes : LPSECURITY_ATTRIBUTES) -> Self {
32655 self.pAttributes = pAttributes;
32656 self
32657 }
32658
32659 pub fn dwAccess(mut self, dwAccess : DWORD) -> Self {
32660 self.dwAccess = dwAccess;
32661 self
32662 }
32663
32664 pub fn name(mut self, name : LPCWSTR) -> Self {
32665 self.name = name;
32666 self
32667 }
32668
32669}
32670
32671impl FenceGetWin32HandleInfoKHR {
32672
32673 pub fn new() -> Self {
32674 Self::default()
32675 }
32676
32677 pub fn sType(mut self, sType : StructureType) -> Self {
32678 self.sType = sType;
32679 self
32680 }
32681
32682 pub fn pNext(mut self, pNext : *const void) -> Self {
32683 self.pNext = pNext;
32684 self
32685 }
32686
32687 pub fn fence(mut self, fence : Fence) -> Self {
32688 self.fence = fence;
32689 self
32690 }
32691
32692 pub fn handleType(mut self, handleType : ExternalFenceHandleTypeFlagBits) -> Self {
32693 self.handleType = handleType;
32694 self
32695 }
32696
32697}
32698
32699impl ImportMemoryWin32HandleInfoNV {
32700
32701 pub fn new() -> Self {
32702 Self::default()
32703 }
32704
32705 pub fn sType(mut self, sType : StructureType) -> Self {
32706 self.sType = sType;
32707 self
32708 }
32709
32710 pub fn pNext(mut self, pNext : *const void) -> Self {
32711 self.pNext = pNext;
32712 self
32713 }
32714
32715 pub fn handleType(mut self, handleType : ExternalMemoryHandleTypeFlagsNV) -> Self {
32716 self.handleType = handleType;
32717 self
32718 }
32719
32720 pub fn handle(mut self, handle : HANDLE) -> Self {
32721 self.handle = handle;
32722 self
32723 }
32724
32725}
32726
32727impl ExportMemoryWin32HandleInfoNV {
32728
32729 pub fn new() -> Self {
32730 Self::default()
32731 }
32732
32733 pub fn sType(mut self, sType : StructureType) -> Self {
32734 self.sType = sType;
32735 self
32736 }
32737
32738 pub fn pNext(mut self, pNext : *const void) -> Self {
32739 self.pNext = pNext;
32740 self
32741 }
32742
32743 pub fn pAttributes(mut self, pAttributes : LPSECURITY_ATTRIBUTES) -> Self {
32744 self.pAttributes = pAttributes;
32745 self
32746 }
32747
32748 pub fn dwAccess(mut self, dwAccess : DWORD) -> Self {
32749 self.dwAccess = dwAccess;
32750 self
32751 }
32752
32753}
32754
32755impl Win32KeyedMutexAcquireReleaseInfoNV {
32756
32757 pub fn new() -> Self {
32758 Self::default()
32759 }
32760
32761 pub fn sType(mut self, sType : StructureType) -> Self {
32762 self.sType = sType;
32763 self
32764 }
32765
32766 pub fn pNext(mut self, pNext : *const void) -> Self {
32767 self.pNext = pNext;
32768 self
32769 }
32770
32771 pub fn acquireCount(mut self, acquireCount : u32) -> Self {
32772 self.acquireCount = acquireCount;
32773 self
32774 }
32775
32776 pub fn pAcquireSyncs(mut self, pAcquireSyncs : *const DeviceMemory) -> Self {
32777 self.pAcquireSyncs = pAcquireSyncs;
32778 self
32779 }
32780
32781 pub fn pAcquireKeys(mut self, pAcquireKeys : *const u64) -> Self {
32782 self.pAcquireKeys = pAcquireKeys;
32783 self
32784 }
32785
32786 pub fn pAcquireTimeoutMilliseconds(mut self, pAcquireTimeoutMilliseconds : *const u32) -> Self {
32787 self.pAcquireTimeoutMilliseconds = pAcquireTimeoutMilliseconds;
32788 self
32789 }
32790
32791 pub fn releaseCount(mut self, releaseCount : u32) -> Self {
32792 self.releaseCount = releaseCount;
32793 self
32794 }
32795
32796 pub fn pReleaseSyncs(mut self, pReleaseSyncs : *const DeviceMemory) -> Self {
32797 self.pReleaseSyncs = pReleaseSyncs;
32798 self
32799 }
32800
32801 pub fn pReleaseKeys(mut self, pReleaseKeys : *const u64) -> Self {
32802 self.pReleaseKeys = pReleaseKeys;
32803 self
32804 }
32805
32806}
32807
32808impl SurfaceFullScreenExclusiveInfoEXT {
32809
32810 pub fn new() -> Self {
32811 Self::default()
32812 }
32813
32814 pub fn sType(mut self, sType : StructureType) -> Self {
32815 self.sType = sType;
32816 self
32817 }
32818
32819 pub fn pNext(mut self, pNext : *mut void) -> Self {
32820 self.pNext = pNext;
32821 self
32822 }
32823
32824 pub fn fullScreenExclusive(mut self, fullScreenExclusive : FullScreenExclusiveEXT) -> Self {
32825 self.fullScreenExclusive = fullScreenExclusive;
32826 self
32827 }
32828
32829}
32830
32831impl SurfaceCapabilitiesFullScreenExclusiveEXT {
32832
32833 pub fn new() -> Self {
32834 Self::default()
32835 }
32836
32837 pub fn sType(mut self, sType : StructureType) -> Self {
32838 self.sType = sType;
32839 self
32840 }
32841
32842 pub fn pNext(mut self, pNext : *mut void) -> Self {
32843 self.pNext = pNext;
32844 self
32845 }
32846
32847 pub fn fullScreenExclusiveSupported(mut self, fullScreenExclusiveSupported : Bool32) -> Self {
32848 self.fullScreenExclusiveSupported = fullScreenExclusiveSupported;
32849 self
32850 }
32851
32852}
32853
32854impl SurfaceFullScreenExclusiveWin32InfoEXT {
32855
32856 pub fn new() -> Self {
32857 Self::default()
32858 }
32859
32860 pub fn sType(mut self, sType : StructureType) -> Self {
32861 self.sType = sType;
32862 self
32863 }
32864
32865 pub fn pNext(mut self, pNext : *const void) -> Self {
32866 self.pNext = pNext;
32867 self
32868 }
32869
32870 pub fn hmonitor(mut self, hmonitor : HMONITOR) -> Self {
32871 self.hmonitor = hmonitor;
32872 self
32873 }
32874
32875}
32876
32877impl XlibSurfaceCreateInfoKHR {
32878
32879 pub fn new() -> Self {
32880 Self::default()
32881 }
32882
32883 pub fn sType(mut self, sType : StructureType) -> Self {
32884 self.sType = sType;
32885 self
32886 }
32887
32888 pub fn pNext(mut self, pNext : *const void) -> Self {
32889 self.pNext = pNext;
32890 self
32891 }
32892
32893 pub fn flags(mut self, flags : XlibSurfaceCreateFlagsKHR) -> Self {
32894 self.flags = flags;
32895 self
32896 }
32897
32898 pub fn dpy(mut self, dpy : u64) -> Self {
32899 self.dpy = dpy;
32900 self
32901 }
32902
32903 pub fn window(mut self, window : u64) -> Self {
32904 self.window = window;
32905 self
32906 }
32907
32908}
32909
32910impl XcbSurfaceCreateInfoKHR {
32911
32912 pub fn new() -> Self {
32913 Self::default()
32914 }
32915
32916 pub fn sType(mut self, sType : StructureType) -> Self {
32917 self.sType = sType;
32918 self
32919 }
32920
32921 pub fn pNext(mut self, pNext : *const void) -> Self {
32922 self.pNext = pNext;
32923 self
32924 }
32925
32926 pub fn flags(mut self, flags : XcbSurfaceCreateFlagsKHR) -> Self {
32927 self.flags = flags;
32928 self
32929 }
32930
32931 pub fn connection(mut self, connection : u64) -> Self {
32932 self.connection = connection;
32933 self
32934 }
32935
32936 pub fn window(mut self, window : u64) -> Self {
32937 self.window = window;
32938 self
32939 }
32940
32941}
32942
32943impl WaylandSurfaceCreateInfoKHR {
32944
32945 pub fn new() -> Self {
32946 Self::default()
32947 }
32948
32949 pub fn sType(mut self, sType : StructureType) -> Self {
32950 self.sType = sType;
32951 self
32952 }
32953
32954 pub fn pNext(mut self, pNext : *const void) -> Self {
32955 self.pNext = pNext;
32956 self
32957 }
32958
32959 pub fn flags(mut self, flags : WaylandSurfaceCreateFlagsKHR) -> Self {
32960 self.flags = flags;
32961 self
32962 }
32963
32964 pub fn display(mut self, display : u64) -> Self {
32965 self.display = display;
32966 self
32967 }
32968
32969 pub fn surface(mut self, surface : u64) -> Self {
32970 self.surface = surface;
32971 self
32972 }
32973
32974}
32975
32976impl AndroidSurfaceCreateInfoKHR {
32977
32978 pub fn new() -> Self {
32979 Self::default()
32980 }
32981
32982 pub fn sType(mut self, sType : StructureType) -> Self {
32983 self.sType = sType;
32984 self
32985 }
32986
32987 pub fn pNext(mut self, pNext : *const void) -> Self {
32988 self.pNext = pNext;
32989 self
32990 }
32991
32992 pub fn flags(mut self, flags : AndroidSurfaceCreateFlagsKHR) -> Self {
32993 self.flags = flags;
32994 self
32995 }
32996
32997 pub fn window(mut self, window : u64) -> Self {
32998 self.window = window;
32999 self
33000 }
33001
33002}
33003
33004impl AndroidHardwareBufferUsageANDROID {
33005
33006 pub fn new() -> Self {
33007 Self::default()
33008 }
33009
33010 pub fn sType(mut self, sType : StructureType) -> Self {
33011 self.sType = sType;
33012 self
33013 }
33014
33015 pub fn pNext(mut self, pNext : *mut void) -> Self {
33016 self.pNext = pNext;
33017 self
33018 }
33019
33020 pub fn androidHardwareBufferUsage(mut self, androidHardwareBufferUsage : u64) -> Self {
33021 self.androidHardwareBufferUsage = androidHardwareBufferUsage;
33022 self
33023 }
33024
33025}
33026
33027impl AndroidHardwareBufferPropertiesANDROID {
33028
33029 pub fn new() -> Self {
33030 Self::default()
33031 }
33032
33033 pub fn sType(mut self, sType : StructureType) -> Self {
33034 self.sType = sType;
33035 self
33036 }
33037
33038 pub fn pNext(mut self, pNext : *mut void) -> Self {
33039 self.pNext = pNext;
33040 self
33041 }
33042
33043 pub fn allocationSize(mut self, allocationSize : DeviceSize) -> Self {
33044 self.allocationSize = allocationSize;
33045 self
33046 }
33047
33048 pub fn memoryTypeBits(mut self, memoryTypeBits : u32) -> Self {
33049 self.memoryTypeBits = memoryTypeBits;
33050 self
33051 }
33052
33053}
33054
33055impl AndroidHardwareBufferFormatPropertiesANDROID {
33056
33057 pub fn new() -> Self {
33058 Self::default()
33059 }
33060
33061 pub fn sType(mut self, sType : StructureType) -> Self {
33062 self.sType = sType;
33063 self
33064 }
33065
33066 pub fn pNext(mut self, pNext : *mut void) -> Self {
33067 self.pNext = pNext;
33068 self
33069 }
33070
33071 pub fn format(mut self, format : Format) -> Self {
33072 self.format = format;
33073 self
33074 }
33075
33076 pub fn externalFormat(mut self, externalFormat : u64) -> Self {
33077 self.externalFormat = externalFormat;
33078 self
33079 }
33080
33081 pub fn formatFeatures(mut self, formatFeatures : FormatFeatureFlags) -> Self {
33082 self.formatFeatures = formatFeatures;
33083 self
33084 }
33085
33086 pub fn samplerYcbcrConversionComponents(mut self, samplerYcbcrConversionComponents : ComponentMapping) -> Self {
33087 self.samplerYcbcrConversionComponents = samplerYcbcrConversionComponents;
33088 self
33089 }
33090
33091 pub fn suggestedYcbcrModel(mut self, suggestedYcbcrModel : SamplerYcbcrModelConversion) -> Self {
33092 self.suggestedYcbcrModel = suggestedYcbcrModel;
33093 self
33094 }
33095
33096 pub fn suggestedYcbcrRange(mut self, suggestedYcbcrRange : SamplerYcbcrRange) -> Self {
33097 self.suggestedYcbcrRange = suggestedYcbcrRange;
33098 self
33099 }
33100
33101 pub fn suggestedXChromaOffset(mut self, suggestedXChromaOffset : ChromaLocation) -> Self {
33102 self.suggestedXChromaOffset = suggestedXChromaOffset;
33103 self
33104 }
33105
33106 pub fn suggestedYChromaOffset(mut self, suggestedYChromaOffset : ChromaLocation) -> Self {
33107 self.suggestedYChromaOffset = suggestedYChromaOffset;
33108 self
33109 }
33110
33111}
33112
33113impl ImportAndroidHardwareBufferInfoANDROID {
33114
33115 pub fn new() -> Self {
33116 Self::default()
33117 }
33118
33119 pub fn sType(mut self, sType : StructureType) -> Self {
33120 self.sType = sType;
33121 self
33122 }
33123
33124 pub fn pNext(mut self, pNext : *const void) -> Self {
33125 self.pNext = pNext;
33126 self
33127 }
33128
33129 pub fn buffer(mut self, buffer : u64) -> Self {
33130 self.buffer = buffer;
33131 self
33132 }
33133
33134}
33135
33136impl MemoryGetAndroidHardwareBufferInfoANDROID {
33137
33138 pub fn new() -> Self {
33139 Self::default()
33140 }
33141
33142 pub fn sType(mut self, sType : StructureType) -> Self {
33143 self.sType = sType;
33144 self
33145 }
33146
33147 pub fn pNext(mut self, pNext : *const void) -> Self {
33148 self.pNext = pNext;
33149 self
33150 }
33151
33152 pub fn memory(mut self, memory : DeviceMemory) -> Self {
33153 self.memory = memory;
33154 self
33155 }
33156
33157}
33158
33159impl ExternalFormatANDROID {
33160
33161 pub fn new() -> Self {
33162 Self::default()
33163 }
33164
33165 pub fn sType(mut self, sType : StructureType) -> Self {
33166 self.sType = sType;
33167 self
33168 }
33169
33170 pub fn pNext(mut self, pNext : *mut void) -> Self {
33171 self.pNext = pNext;
33172 self
33173 }
33174
33175 pub fn externalFormat(mut self, externalFormat : u64) -> Self {
33176 self.externalFormat = externalFormat;
33177 self
33178 }
33179
33180}
33181