1     type BufferCreateInfo = struct
2         type : StructureType
3         next : Ptr
4         flags : BufferCreateFlags
5         size : u64
6         usage : BufferUsageFlags
7         sharing_mode : SharingMode
8         queue_family_index_count : u32
9         queue_family_indices : ptr u32
10    
11    type CommandPoolCreateInfo = struct
12        type : StructureType
13        next : Ptr
14        flags : CommandPoolCreateFlags
15        queue_family_index : u32
16    
17    type DeviceQueueCreateInfo = struct
18        type : StructureType
19        next : Ptr
20        flags : DeviceQueueCreateFlags
21        queue_family_index : u32
22        queue_count : u32
23        queue_priorities : ptr f32
24    
25    type DeviceCreateInfo = struct
26        type : StructureType
27        next : Ptr
28        flags : DeviceCreateFlags
29        queue_create_info_count : u32
30        queue_create_infos : ptr DeviceQueueCreateInfo
31        enabled_layer_count : u32
32        enabled_layer_names : ptr CString
33        enabled_extension_count : u32
34        enabled_extension_names : ptr CString
35        enabled_features : ptr PhysicalDeviceFeatures
36    
37    type FenceCreateInfo = struct
38        type : StructureType
39        next : Ptr
40        flags : FenceCreateFlags
41    
42    type FramebufferCreateInfo = struct
43        type : StructureType
44        next : Ptr
45        flags : FramebufferCreateFlags
46        render_pass : VkRenderPass
47        attachment_count : u32
48        attachments : ptr VkImageView
49        width : u32
50        height : u32
51        layers : u32
52    
53    type ImageCreateInfo = struct
54        type : StructureType
55        next : Ptr
56        flags : ImageCreateFlags
57        image_type : ImageType
58        format : VkFormat
59        extent : Extent3D
60        mip_levels : u32
61        array_layers : u32
62        samples : SampleCountFlags
63        tiling : ImageTiling
64        usage : ImageUsageFlags
65        sharing_mode : SharingMode
66        queue_family_index_count : u32
67        queue_family_indices : ptr u32
68        initial_layout : ImageLayout
69    
70    type ImageViewCreateInfo = struct
71        type : StructureType
72        next : Ptr
73        flags : ImageViewCreateFlags
74        image : VkImage
75        view_type : ViewType
76        format : VkFormat
77        components : ComponentMapping
78        subresource_range : ImageSubresourceRange
79    
80    type ImageViewUsageCreateInfo = struct
81        type : StructureType
82        next : Ptr
83        usage : ImageUsageFlags
84    
85    type InstanceCreateInfo = struct
86        type : StructureType
87        next : Ptr
88        flags : InstanceCreateFlags
89        application_info : ptr ApplicationInfo
90        enabled_layer_count : u32
91        enabled_layer_names : ptr CString
92        enabled_extension_count : u32
93        enabled_extension_names : ptr CString
94    
95    type QueryPoolCreateInfo = struct
96        type : StructureType
97        next : Ptr
98        flags : QueryPoolCreateFlags
99        query_type : QueryType
100       query_count : u32
101       pipeline_statistics : QueryPipelineStatisticFlags
102   
103   type RenderPassCreateInfo = struct
104       type : StructureType
105       next : Ptr
106       flags : RenderPassCreateFlags
107       attachment_count : u32
108       attachments : ptr AttachmentDescription
109       subpass_count : u32
110       subpasses : ptr SubpassDescription
111       dependency_count : u32
112       dependencies : ptr SubpassDependency
113   
114   type RenderPassMultiviewCreateInfo = struct
115       type : StructureType
116       next : Ptr
117       subpass_count : u32
118       view_masks : ptr u32
119       dependency_count : u32
120       view_offsets : ptr i32
121       correlation_mask_count : u32
122       correlation_masks : ptr u32
123   
124   type SamplerCreateInfo = struct
125       type : StructureType
126       next : Ptr
127       flags : SamplerCreateFlags
128       mag_filter : VkFilter
129       min_filter : VkFilter
130       mipmap_mode : SamplerMipmapMode
131       address_mode_u : SamplerAddressMode
132       address_mode_v : SamplerAddressMode
133       address_mode_w : SamplerAddressMode
134       mip_lod_bias : f32
135       anisotropy_enable : u32
136       max_anisotropy : f32
137       compare_enable : u32
138       compare_op : CompareOp
139       min_lod : f32
140       max_lod : f32
141       border_color : BorderColor
142       unnormalized_coordinates : u32
143   
144   type SemaphoreCreateInfo = struct
145       type : StructureType
146       next : Ptr
147       flags : SemaphoreCreateFlags
148   
149   type ShaderModuleCreateInfo = struct
150       type : StructureType
151       next : Ptr
152       flags : ShaderModuleCreateFlags
153       code_size : usize
154       code : ptr u32
155   
156   type SwapchainCreateInfoKhr = struct
157       type : StructureType
158       next : Ptr
159       flags : SwapchainCreateFlagsKhr
160       surface : VkSurface
161       min_image_count : u32
162       image_format : VkFormat
163       image_color_space : ColorSpaceKhr
164       image_extent : Extent2D
165       image_array_layers : u32
166       image_usage : ImageUsageFlags
167       image_sharing_mode : SharingMode
168       queue_family_index_count : u32
169       queue_family_indices : ptr u32
170       pre_transform : SurfaceTransformFlagsKhr
171       composite_alpha : CompositeAlphaFlagsKhr
172       present_mode : PresentModeKhr
173       clipped : u32
174       old_swapchain : VkSwapchain
175   
176   type Win32SurfaceCreateInfoKhr = struct
177       type : StructureType
178       next : Ptr
179       flags : Win32SurfaceCreateFlagsKhr
180       hinstance : MutPtr
181       hwnd : MutPtr
182