1 let max_physical_device_name_size : u32 = 256 2 let max_memory_types : u32 = 32 3 let max_memory_heaps : u32 = 16 4 let uuid_size : u32 = 16 5 6 type PhysicalDeviceFeatures = struct 7 robust_buffer_access : u32 8 full_draw_index_ui32 : u32 9 image_cube_array : u32 10 independent_blend : u32 11 geometry_shader : u32 12 tessellation_shader : u32 13 sample_rate_shading : u32 14 dual_src_blend : u32 15 logic_op : u32 16 multi_draw_indirect : u32 17 draw_indirect_first_instance : u32 18 depth_clamp : u32 19 depth_bias_clamp : u32 20 fill_mode_non_solid : u32 21 depth_bounds : u32 22 wide_lines : u32 23 large_points : u32 24 alpha_to_one : u32 25 multi_viewport : u32 26 sampler_anisotropy : u32 27 texture_compression_etc2 : u32 28 texture_compression_astc_ldr : u32 29 texture_compression_bc : u32 30 occlusion_query_precise : u32 31 pipeline_statistics_query : u32 32 vertex_pipeline_stores_and_atomics : u32 33 fragment_stores_and_atomics : u32 34 shader_tessellation_and_geometry_point_size : u32 35 shader_image_gather_extended : u32 36 shader_storage_image_extended_formats : u32 37 shader_storage_image_multisample : u32 38 shader_storage_image_read_without_format : u32 39 shader_storage_image_write_without_format : u32 40 shader_uniform_buffer_array_dynamic_indexing : u32 41 shader_sampled_image_array_dynamic_indexing : u32 42 shader_storage_buffer_array_dynamic_indexing : u32 43 shader_storage_image_array_dynamic_indexing : u32 44 shader_clip_distance : u32 45 shader_cull_distance : u32 46 shader_float64 : u32 47 shader_int64 : u32 48 shader_int16 : u32 49 shader_resource_residency : u32 50 shader_resource_min_lod : u32 51 sparse_binding : u32 52 sparse_residency_buffer : u32 53 sparse_residency_image2d : u32 54 sparse_residency_image3d : u32 55 sparse_residency2samples : u32 56 sparse_residency4samples : u32 57 sparse_residency8samples : u32 58 sparse_residency16samples : u32 59 sparse_residency_aliased : u32 60 variable_multisample_rate : u32 61 inherited_queries : u32 62 63 type PhysicalDeviceLimits = struct 64 max_image_dimension_1d : u32 65 max_image_dimension_2d : u32 66 max_image_dimension_3d : u32 67 max_image_dimension_cube : u32 68 max_image_array_layers : u32 69 max_texel_buffer_elements : u32 70 max_uniform_buffer_range : u32 71 max_storage_buffer_range : u32 72 max_push_constants_size : u32 73 max_memory_allocation_count : u32 74 max_sampler_allocation_count : u32 75 buffer_image_granularity : u64 76 sparse_address_space_size : u64 77 max_bound_descriptor_sets : u32 78 max_per_stage_descriptor_samplers : u32 79 max_per_stage_descriptor_uniform_buffers : u32 80 max_per_stage_descriptor_storage_buffers : u32 81 max_per_stage_descriptor_sampled_images : u32 82 max_per_stage_descriptor_storage_images : u32 83 max_per_stage_descriptor_input_attachments : u32 84 max_per_stage_resources : u32 85 max_descriptor_set_samplers : u32 86 max_descriptor_set_uniform_buffers : u32 87 max_descriptor_set_uniform_buffers_dynamic : u32 88 max_descriptor_set_storage_buffers : u32 89 max_descriptor_set_storage_buffers_dynamic : u32 90 max_descriptor_set_sampled_images : u32 91 max_descriptor_set_storage_images : u32 92 max_descriptor_set_input_attachments : u32 93 max_vertex_input_attributes : u32 94 max_vertex_input_bindings : u32 95 max_vertex_input_attribute_offset : u32 96 max_vertex_input_binding_stride : u32 97 max_vertex_output_components : u32 98 max_tessellation_generation_level : u32 99 max_tessellation_patch_size : u32 100 max_tessellation_control_per_vertex_input_components : u32 101 max_tessellation_control_per_vertex_output_components : u32 102 max_tessellation_control_per_patch_output_components : u32 103 max_tessellation_control_total_output_components : u32 104 max_tessellation_evaluation_input_components : u32 105 max_tessellation_evaluation_output_components : u32 106 max_geometry_shader_invocations : u32 107 max_geometry_input_components : u32 108 max_geometry_output_components : u32 109 max_geometry_output_vertices : u32 110 max_geometry_total_output_components : u32 111 max_fragment_input_components : u32 112 max_fragment_output_attachments : u32 113 max_fragment_dual_src_attachments : u32 114 max_fragment_combined_output_resources : u32 115 max_compute_shared_memory_size : u32 116 max_compute_work_group_count : [u32; 3] 117 max_compute_work_group_invocations : u32 118 max_compute_work_group_size : [u32; 3] 119 sub_pixel_precision_bits : u32 120 sub_texel_precision_bits : u32 121 mipmap_precision_bits : u32 122 max_draw_indexed_index_value : u32 123 max_draw_indirect_count : u32 124 max_sampler_lod_bias : f32 125 max_sampler_anisotropy : f32 126 max_viewports : u32 127 max_viewport_dimensions : [u32; 2] 128 viewport_bounds_range : [f32; 2] 129 viewport_sub_pixel_bits : u32 130 min_memory_map_alignment : usize 131 min_texel_buffer_offset_alignment : u64 132 min_uniform_buffer_offset_alignment : u64 133 min_storage_buffer_offset_alignment : u64 134 min_texel_offset : i32 135 max_texel_offset : u32 136 min_texel_gather_offset : i32 137 max_texel_gather_offset : u32 138 min_interpolation_offset : f32 139 max_interpolation_offset : f32 140 sub_pixel_interpolation_offset_bits : u32 141 max_framebuffer_width : u32 142 max_framebuffer_height : u32 143 max_framebuffer_layers : u32 144 framebuffer_color_sample_counts : SampleCountFlags 145 framebuffer_depth_sample_counts : SampleCountFlags 146 framebuffer_stencil_sample_counts : SampleCountFlags 147 framebuffer_no_attachments_sample_counts : SampleCountFlags 148 max_color_attachments : u32 149 sampled_image_color_sample_counts : SampleCountFlags 150 sampled_image_integer_sample_counts : SampleCountFlags 151 sampled_image_depth_sample_counts : SampleCountFlags 152 sampled_image_stencil_sample_counts : SampleCountFlags 153 storage_image_sample_counts : SampleCountFlags 154 max_sample_mask_words : u32 155 timestamp_compute_and_graphics : u32 156 timestamp_period : f32 157 max_clip_distances : u32 158 max_cull_distances : u32 159 max_combined_clip_and_cull_distances : u32 160 discrete_queue_priorities : u32 161 point_size_range : [f32; 2] 162 line_width_range : [f32; 2] 163 point_size_granularity : f32 164 line_width_granularity : f32 165 strict_lines : u32 166 standard_sample_locations : u32 167 optimal_buffer_copy_offset_alignment : u64 168 optimal_buffer_copy_row_pitch_alignment : u64 169 non_coherent_atom_size : u64 170 171 type PhysicalDeviceSparseProperties = struct 172 residency_standard_2d_block_shape : u32 173 residency_standard_2d_multisample_block_shape : u32 174 residency_standard_3d_block_shape : u32 175 residency_aligned_mip_size : u32 176 residency_non_resident_strict : u32 177 178 type PhysicalDeviceProperties = struct 179 api_version : u32 180 driver_version : u32 181 vendor_id : u32 182 device_id : u32 183 device_type : PhysicalDeviceType 184 device_name : [CChar; max_physical_device_name_size] 185 pipeline_cache_uuid : [u8; uuid_size] 186 limits : PhysicalDeviceLimits 187 sparse_properties : PhysicalDeviceSparseProperties 188 189 type PhysicalDeviceMemoryProperties = struct 190 memory_type_count : u32 191 memory_types : [MemoryType; max_memory_types] 192 memory_heap_count : u32 193 memory_heaps : [MemoryHeap; max_memory_heaps] 194