1     type Viewport = struct
2         x : f32
3         y : f32
4         width : f32
5         height : f32
6         min_depth : f32
7         max_depth : f32
8     
9     type PipelineColorBlendStateCreateInfo = struct
10        type : StructureType
11        next : Ptr
12        flags : PipelineColorBlendStateCreateFlags
13        logic_op_enable : u32
14        logic_op : LogicOp
15        attachment_count : u32
16        attachments : ptr PipelineColorBlendAttachmentState
17        blend_constants : [f32; 4]
18    
19    type PipelineDepthStencilStateCreateInfo = struct
20        type : StructureType
21        next : Ptr
22        flags : PipelineDepthStencilStateCreateFlags
23        depth_test_enable : u32
24        depth_write_enable : u32
25        depth_compare_op : CompareOp
26        depth_bounds_test_enable : u32
27        stencil_test_enable : u32
28        front : StencilOpState
29        back : StencilOpState
30        min_depth_bounds : f32
31        max_depth_bounds : f32
32    
33    type PipelineDynamicStateCreateInfo = struct
34        type : StructureType
35        next : Ptr
36        flags : PipelineDynamicStateCreateFlags
37        dynamic_state_count : u32
38        dynamic_states : ptr DynamicState
39    
40    type PipelineInputAssemblyStateCreateInfo = struct
41        type : StructureType
42        next : Ptr
43        flags : PipelineInputAssemblyStateCreateFlags
44        topology : PrimitiveTopology
45        primitive_restart_enable : u32
46    
47    type PipelineLayoutCreateInfo = struct
48        type : StructureType
49        next : Ptr
50        flags : PipelineLayoutCreateFlags
51        set_layout_count : u32
52        set_layouts : ptr VkDescriptorSetLayout
53        push_constant_range_count : u32
54        push_constant_ranges : ptr PushConstantRange
55    
56    type PipelineMultisampleStateCreateInfo = struct
57        type : StructureType
58        next : Ptr
59        flags : PipelineMultisampleStateCreateFlags
60        rasterization_samples : SampleCountFlags
61        sample_shading_enable : u32
62        min_sample_shading : f32
63        sample_mask : ptr u32
64        alpha_to_coverage_enable : u32
65        alpha_to_one_enable : u32
66    
67    type PipelineRasterizationStateCreateInfo = struct
68        type : StructureType
69        next : Ptr
70        flags : PipelineRasterizationStateCreateFlags
71        depth_clamp_enable : u32
72        rasterizer_discard_enable : u32
73        polygon_mode : PolygonMode
74        cull_mode : CullModeFlags
75        front_face : FrontFace
76        depth_bias_enable : u32
77        depth_bias_constant_factor : f32
78        depth_bias_clamp : f32
79        depth_bias_slope_factor : f32
80        line_width : f32
81    
82    type PipelineShaderStageCreateInfo = struct
83        type : StructureType
84        next : Ptr
85        flags : PipelineShaderStageCreateFlags
86        stage : ShaderStageFlags
87        module : VkShaderModule
88        name : CString
89        specialization_info : ptr SpecializationInfo
90    
91    type PipelineTessellationStateCreateInfo = struct
92        type : StructureType
93        next : Ptr
94        flags : PipelineTessellationStateCreateFlags
95        patch_control_points : i32
96    
97    type PipelineVertexInputStateCreateInfo = struct
98        type : StructureType
99        next : Ptr
100       flags : PipelineVertexInputStateCreateFlags
101       vertex_binding_description_count : u32
102       vertex_binding_descriptions : ptr VertexInputBindingDescription
103       vertex_attribute_description_count : u32
104       vertex_attribute_descriptions : ptr VertexInputAttributeDescription
105   
106   type PipelineViewportStateCreateInfo = struct
107       type : StructureType
108       next : Ptr
109       flags : PipelineViewportStateCreateFlags
110       viewport_count : u32
111       viewports : ptr Viewport
112       scissor_count : u32
113       scissors : ptr Rect2D
114   
115   type ComputePipelineCreateInfo = struct
116       type : StructureType
117       next : Ptr
118       flags : PipelineCreateFlags
119       stage : PipelineShaderStageCreateInfo
120       layout : VkPipelineLayout
121       base_pipeline_handle : VkPipeline
122       base_pipeline_index : i32
123   
124   type GraphicsPipelineCreateInfo = struct
125       type : StructureType
126       next : Ptr
127       flags : PipelineCreateFlags
128       stage_count : u32
129       stages : ptr PipelineShaderStageCreateInfo
130       vertex_input_state : ptr PipelineVertexInputStateCreateInfo
131       input_assembly_state : ptr PipelineInputAssemblyStateCreateInfo
132       tessellation_state : ptr PipelineTessellationStateCreateInfo
133       viewport_state : ptr PipelineViewportStateCreateInfo
134       rasterization_state : ptr PipelineRasterizationStateCreateInfo
135       multisample_state : ptr PipelineMultisampleStateCreateInfo
136       depth_stencil_state : ptr PipelineDepthStencilStateCreateInfo
137       color_blend_state : ptr PipelineColorBlendStateCreateInfo
138       dynamic_state : ptr PipelineDynamicStateCreateInfo
139       layout : VkPipelineLayout
140       render_pass : VkRenderPass
141       subpass : u32
142       base_pipeline_handle : VkPipeline
143       base_pipeline_index : i32
144