#![allow(non_upper_case_globals)] #![allow(non_snake_case)] #![allow(non_camel_case_types)] #![allow(improper_ctypes)] type void = std::ffi::c_void; pub const LOD_CLAMP_NONE : f32 = 1000.; pub const REMAINING_MIP_LEVELS : u32 = !0; pub const REMAINING_ARRAY_LAYERS : u32 = !0; pub const WHOLE_SIZE : u64 = !0u64; pub const ATTACHMENT_UNUSED : u32 = !0; pub const TRUE : u32 = 1; pub const FALSE : u32 = 0; pub const QUEUE_FAMILY_IGNORED : u32 = !0; pub const SUBPASS_EXTERNAL : u32 = !0; pub const MAX_PHYSICAL_DEVICE_NAME_SIZE : usize = 256; pub const UUID_SIZE : usize = 16; pub const MAX_MEMORY_TYPES : usize = 32; pub const MAX_MEMORY_HEAPS : usize = 16; pub const MAX_EXTENSION_NAME_SIZE : usize = 256; pub const MAX_DESCRIPTION_SIZE : usize = 256; pub const MAX_DEVICE_GROUP_SIZE : usize = 32; pub const LUID_SIZE : usize = 8; pub const QUEUE_FAMILY_EXTERNAL : u32 = !0 - 1; pub const MAX_DRIVER_NAME_SIZE : usize = 256; pub const MAX_DRIVER_INFO_SIZE : usize = 256; pub type Flags = u32; pub type Bool32 = u32; pub type DeviceSize = u64; pub type SampleMask = u32; pub type Instance = u64; pub type PhysicalDevice = u64; pub type Device = u64; pub type Queue = u64; pub type Semaphore = u64; pub type CommandBuffer = u64; pub type Fence = u64; pub type DeviceMemory = u64; pub type Buffer = u64; pub type Image = u64; pub type Event = u64; pub type QueryPool = u64; pub type BufferView = u64; pub type ImageView = u64; pub type ShaderModule = u64; pub type PipelineCache = u64; pub type PipelineLayout = u64; pub type RenderPass = u64; pub type Pipeline = u64; pub type DescriptorSetLayout = u64; pub type Sampler = u64; pub type DescriptorPool = u64; pub type DescriptorSet = u64; pub type Framebuffer = u64; pub type CommandPool = u64; pub fn make_version(major : u32, minor : u32, patch : u32) -> u32 { ((major) << 22) | ((minor) << 12) | (patch) } pub type PipelineCacheHeaderVersion = i32; pub const PIPELINE_CACHE_HEADER_VERSION_ONE : i32 = 1; pub const PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM : i32 = 0x7FFFFFF; pub type Result = i32; pub const SUCCESS : i32 = 0; pub const NOT_READY : i32 = 1; pub const TIMEOUT : i32 = 2; pub const EVENT_SET : i32 = 3; pub const EVENT_RESET : i32 = 4; pub const INCOMPLETE : i32 = 5; pub const ERROR_OUT_OF_HOST_MEMORY : i32 = -1; pub const ERROR_OUT_OF_DEVICE_MEMORY : i32 = -2; pub const ERROR_INITIALIZATION_FAILED : i32 = -3; pub const ERROR_DEVICE_LOST : i32 = -4; pub const ERROR_MEMORY_MAP_FAILED : i32 = -5; pub const ERROR_LAYER_NOT_PRESENT : i32 = -6; pub const ERROR_EXTENSION_NOT_PRESENT : i32 = -7; pub const ERROR_FEATURE_NOT_PRESENT : i32 = -8; pub const ERROR_INCOMPATIBLE_DRIVER : i32 = -9; pub const ERROR_TOO_MANY_OBJECTS : i32 = -10; pub const ERROR_FORMAT_NOT_SUPPORTED : i32 = -11; pub const ERROR_FRAGMENTED_POOL : i32 = -12; pub const ERROR_UNKNOWN : i32 = -13; pub const ERROR_OUT_OF_POOL_MEMORY : i32 = -1000069000; pub const ERROR_INVALID_EXTERNAL_HANDLE : i32 = -1000072003; pub const ERROR_FRAGMENTATION : i32 = -1000161000; pub const ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS : i32 = -1000257000; pub const ERROR_SURFACE_LOST_KHR : i32 = -1000000000; pub const ERROR_NATIVE_WINDOW_IN_USE_KHR : i32 = -1000000001; pub const SUBOPTIMAL_KHR : i32 = 1000001003; pub const ERROR_OUT_OF_DATE_KHR : i32 = -1000001004; pub const ERROR_INCOMPATIBLE_DISPLAY_KHR : i32 = -1000003001; pub const ERROR_VALIDATION_FAILED_EXT : i32 = -1000011001; pub const ERROR_INVALID_SHADER_NV : i32 = -1000012000; pub const ERROR_INCOMPATIBLE_VERSION_KHR : i32 = -1000150000; pub const ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT : i32 = -1000158000; pub const ERROR_NOT_PERMITTED_EXT : i32 = -1000174001; pub const ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT : i32 = -1000255000; pub const THREAD_IDLE_KHR : i32 = 1000268000; pub const THREAD_DONE_KHR : i32 = 1000268001; pub const OPERATION_DEFERRED_KHR : i32 = 1000268002; pub const OPERATION_NOT_DEFERRED_KHR : i32 = 1000268003; pub const PIPELINE_COMPILE_REQUIRED_EXT : i32 = 1000297000; pub const ERROR_OUT_OF_POOL_MEMORY_KHR : i32 = ERROR_OUT_OF_POOL_MEMORY; pub const ERROR_INVALID_EXTERNAL_HANDLE_KHR : i32 = ERROR_INVALID_EXTERNAL_HANDLE; pub const ERROR_FRAGMENTATION_EXT : i32 = ERROR_FRAGMENTATION; pub const ERROR_INVALID_DEVICE_ADDRESS_EXT : i32 = ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS; pub const ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR : i32 = ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS; pub const ERROR_PIPELINE_COMPILE_REQUIRED_EXT : i32 = PIPELINE_COMPILE_REQUIRED_EXT; pub const RESULT_MAX_ENUM : i32 = 0x7FFFFFF; pub type StructureType = i32; pub const STRUCTURE_TYPE_APPLICATION_INFO : i32 = 0; pub const STRUCTURE_TYPE_INSTANCE_CREATE_INFO : i32 = 1; pub const STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO : i32 = 2; pub const STRUCTURE_TYPE_DEVICE_CREATE_INFO : i32 = 3; pub const STRUCTURE_TYPE_SUBMIT_INFO : i32 = 4; pub const STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO : i32 = 5; pub const STRUCTURE_TYPE_MAPPED_MEMORY_RANGE : i32 = 6; pub const STRUCTURE_TYPE_BIND_SPARSE_INFO : i32 = 7; pub const STRUCTURE_TYPE_FENCE_CREATE_INFO : i32 = 8; pub const STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO : i32 = 9; pub const STRUCTURE_TYPE_EVENT_CREATE_INFO : i32 = 10; pub const STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO : i32 = 11; pub const STRUCTURE_TYPE_BUFFER_CREATE_INFO : i32 = 12; pub const STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO : i32 = 13; pub const STRUCTURE_TYPE_IMAGE_CREATE_INFO : i32 = 14; pub const STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO : i32 = 15; pub const STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO : i32 = 16; pub const STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO : i32 = 17; pub const STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO : i32 = 18; pub const STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO : i32 = 19; pub const STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO : i32 = 20; pub const STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO : i32 = 21; pub const STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO : i32 = 22; pub const STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO : i32 = 23; pub const STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO : i32 = 24; pub const STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO : i32 = 25; pub const STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO : i32 = 26; pub const STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO : i32 = 27; pub const STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO : i32 = 28; pub const STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO : i32 = 29; pub const STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO : i32 = 30; pub const STRUCTURE_TYPE_SAMPLER_CREATE_INFO : i32 = 31; pub const STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO : i32 = 32; pub const STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO : i32 = 33; pub const STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO : i32 = 34; pub const STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET : i32 = 35; pub const STRUCTURE_TYPE_COPY_DESCRIPTOR_SET : i32 = 36; pub const STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO : i32 = 37; pub const STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO : i32 = 38; pub const STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO : i32 = 39; pub const STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO : i32 = 40; pub const STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO : i32 = 41; pub const STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO : i32 = 42; pub const STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO : i32 = 43; pub const STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER : i32 = 44; pub const STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER : i32 = 45; pub const STRUCTURE_TYPE_MEMORY_BARRIER : i32 = 46; pub const STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO : i32 = 47; pub const STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO : i32 = 48; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES : i32 = 1000094000; pub const STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO : i32 = 1000157000; pub const STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO : i32 = 1000157001; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES : i32 = 1000083000; pub const STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS : i32 = 1000127000; pub const STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO : i32 = 1000127001; pub const STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO : i32 = 1000060000; pub const STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO : i32 = 1000060003; pub const STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO : i32 = 1000060004; pub const STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO : i32 = 1000060005; pub const STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO : i32 = 1000060006; pub const STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO : i32 = 1000060013; pub const STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO : i32 = 1000060014; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES : i32 = 1000070000; pub const STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO : i32 = 1000070001; pub const STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 : i32 = 1000146000; pub const STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 : i32 = 1000146001; pub const STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 : i32 = 1000146002; pub const STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 : i32 = 1000146003; pub const STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 : i32 = 1000146004; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 : i32 = 1000059000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 : i32 = 1000059001; pub const STRUCTURE_TYPE_FORMAT_PROPERTIES_2 : i32 = 1000059002; pub const STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 : i32 = 1000059003; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 : i32 = 1000059004; pub const STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 : i32 = 1000059005; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 : i32 = 1000059006; pub const STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 : i32 = 1000059007; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 : i32 = 1000059008; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES : i32 = 1000117000; pub const STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO : i32 = 1000117001; pub const STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO : i32 = 1000117002; pub const STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO : i32 = 1000117003; pub const STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO : i32 = 1000053000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES : i32 = 1000053001; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES : i32 = 1000053002; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES : i32 = 1000120000; pub const STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO : i32 = 1000145000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES : i32 = 1000145001; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES : i32 = 1000145002; pub const STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 : i32 = 1000145003; pub const STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO : i32 = 1000156000; pub const STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO : i32 = 1000156001; pub const STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO : i32 = 1000156002; pub const STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO : i32 = 1000156003; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES : i32 = 1000156004; pub const STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES : i32 = 1000156005; pub const STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO : i32 = 1000085000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO : i32 = 1000071000; pub const STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES : i32 = 1000071001; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO : i32 = 1000071002; pub const STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES : i32 = 1000071003; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES : i32 = 1000071004; pub const STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO : i32 = 1000072000; pub const STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO : i32 = 1000072001; pub const STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO : i32 = 1000072002; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO : i32 = 1000112000; pub const STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES : i32 = 1000112001; pub const STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO : i32 = 1000113000; pub const STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO : i32 = 1000077000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO : i32 = 1000076000; pub const STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES : i32 = 1000076001; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES : i32 = 1000168000; pub const STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT : i32 = 1000168001; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES : i32 = 1000063000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES : i32 = 49; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES : i32 = 50; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES : i32 = 51; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES : i32 = 52; pub const STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO : i32 = 1000147000; pub const STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 : i32 = 1000109000; pub const STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 : i32 = 1000109001; pub const STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 : i32 = 1000109002; pub const STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 : i32 = 1000109003; pub const STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 : i32 = 1000109004; pub const STRUCTURE_TYPE_SUBPASS_BEGIN_INFO : i32 = 1000109005; pub const STRUCTURE_TYPE_SUBPASS_END_INFO : i32 = 1000109006; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES : i32 = 1000177000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES : i32 = 1000196000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES : i32 = 1000180000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES : i32 = 1000082000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES : i32 = 1000197000; pub const STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO : i32 = 1000161000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES : i32 = 1000161001; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES : i32 = 1000161002; pub const STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO : i32 = 1000161003; pub const STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT : i32 = 1000161004; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES : i32 = 1000199000; pub const STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE : i32 = 1000199001; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES : i32 = 1000221000; pub const STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO : i32 = 1000246000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES : i32 = 1000130000; pub const STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO : i32 = 1000130001; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES : i32 = 1000211000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES : i32 = 1000108000; pub const STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO : i32 = 1000108001; pub const STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO : i32 = 1000108002; pub const STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO : i32 = 1000108003; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES : i32 = 1000253000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES : i32 = 1000175000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES : i32 = 1000241000; pub const STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT : i32 = 1000241001; pub const STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT : i32 = 1000241002; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES : i32 = 1000261000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES : i32 = 1000207000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES : i32 = 1000207001; pub const STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO : i32 = 1000207002; pub const STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO : i32 = 1000207003; pub const STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO : i32 = 1000207004; pub const STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO : i32 = 1000207005; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES : i32 = 1000257000; pub const STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO : i32 = 1000244001; pub const STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO : i32 = 1000257002; pub const STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO : i32 = 1000257003; pub const STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO : i32 = 1000257004; pub const STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR : i32 = 1000001000; pub const STRUCTURE_TYPE_PRESENT_INFO_KHR : i32 = 1000001001; pub const STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR : i32 = 1000060007; pub const STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR : i32 = 1000060008; pub const STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR : i32 = 1000060009; pub const STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR : i32 = 1000060010; pub const STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR : i32 = 1000060011; pub const STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR : i32 = 1000060012; pub const STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR : i32 = 1000002000; pub const STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR : i32 = 1000002001; pub const STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR : i32 = 1000003000; pub const STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR : i32 = 1000004000; pub const STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR : i32 = 1000005000; pub const STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR : i32 = 1000006000; pub const STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR : i32 = 1000008000; pub const STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR : i32 = 1000009000; pub const STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT : i32 = 1000011000; pub const STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD : i32 = 1000018000; pub const STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT : i32 = 1000022000; pub const STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT : i32 = 1000022001; pub const STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT : i32 = 1000022002; pub const STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV : i32 = 1000026000; pub const STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV : i32 = 1000026001; pub const STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV : i32 = 1000026002; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT : i32 = 1000028000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT : i32 = 1000028001; pub const STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT : i32 = 1000028002; pub const STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX : i32 = 1000030000; pub const STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX : i32 = 1000030001; pub const STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD : i32 = 1000041000; pub const STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP : i32 = 1000049000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV : i32 = 1000050000; pub const STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV : i32 = 1000056000; pub const STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV : i32 = 1000056001; pub const STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV : i32 = 1000057000; pub const STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV : i32 = 1000057001; pub const STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV : i32 = 1000058000; pub const STRUCTURE_TYPE_VALIDATION_FLAGS_EXT : i32 = 1000061000; pub const STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN : i32 = 1000062000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT : i32 = 1000066000; pub const STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT : i32 = 1000067000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT : i32 = 1000067001; pub const STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR : i32 = 1000073000; pub const STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR : i32 = 1000073001; pub const STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR : i32 = 1000073002; pub const STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR : i32 = 1000073003; pub const STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR : i32 = 1000074000; pub const STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR : i32 = 1000074001; pub const STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR : i32 = 1000074002; pub const STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR : i32 = 1000075000; pub const STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR : i32 = 1000078000; pub const STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR : i32 = 1000078001; pub const STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR : i32 = 1000078002; pub const STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR : i32 = 1000078003; pub const STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR : i32 = 1000079000; pub const STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR : i32 = 1000079001; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR : i32 = 1000080000; pub const STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT : i32 = 1000081000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT : i32 = 1000081001; pub const STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT : i32 = 1000081002; pub const STRUCTURE_TYPE_PRESENT_REGIONS_KHR : i32 = 1000084000; pub const STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV : i32 = 1000087000; pub const STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT : i32 = 1000090000; pub const STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT : i32 = 1000091000; pub const STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT : i32 = 1000091001; pub const STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT : i32 = 1000091002; pub const STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT : i32 = 1000091003; pub const STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE : i32 = 1000092000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX : i32 = 1000097000; pub const STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV : i32 = 1000098000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT : i32 = 1000099000; pub const STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT : i32 = 1000099001; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT : i32 = 1000101000; pub const STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT : i32 = 1000101001; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT : i32 = 1000102000; pub const STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT : i32 = 1000102001; pub const STRUCTURE_TYPE_HDR_METADATA_EXT : i32 = 1000105000; pub const STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR : i32 = 1000111000; pub const STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR : i32 = 1000114000; pub const STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR : i32 = 1000114001; pub const STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR : i32 = 1000114002; pub const STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR : i32 = 1000115000; pub const STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR : i32 = 1000115001; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR : i32 = 1000116000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR : i32 = 1000116001; pub const STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR : i32 = 1000116002; pub const STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR : i32 = 1000116003; pub const STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR : i32 = 1000116004; pub const STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR : i32 = 1000116005; pub const STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR : i32 = 1000116006; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR : i32 = 1000119000; pub const STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR : i32 = 1000119001; pub const STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR : i32 = 1000119002; pub const STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR : i32 = 1000121000; pub const STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR : i32 = 1000121001; pub const STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR : i32 = 1000121002; pub const STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR : i32 = 1000121003; pub const STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR : i32 = 1000121004; pub const STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK : i32 = 1000122000; pub const STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK : i32 = 1000123000; pub const STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT : i32 = 1000128000; pub const STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT : i32 = 1000128001; pub const STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT : i32 = 1000128002; pub const STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT : i32 = 1000128003; pub const STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT : i32 = 1000128004; pub const STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID : i32 = 1000129000; pub const STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID : i32 = 1000129001; pub const STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID : i32 = 1000129002; pub const STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID : i32 = 1000129003; pub const STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID : i32 = 1000129004; pub const STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID : i32 = 1000129005; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT : i32 = 1000138000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT : i32 = 1000138001; pub const STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT : i32 = 1000138002; pub const STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT : i32 = 1000138003; pub const STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT : i32 = 1000143000; pub const STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT : i32 = 1000143001; pub const STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT : i32 = 1000143002; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT : i32 = 1000143003; pub const STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT : i32 = 1000143004; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT : i32 = 1000148000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT : i32 = 1000148001; pub const STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT : i32 = 1000148002; pub const STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV : i32 = 1000149000; pub const STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_KHR : i32 = 1000165006; pub const STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR : i32 = 1000165007; pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR : i32 = 1000150000; pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_GEOMETRY_TYPE_INFO_KHR : i32 = 1000150001; pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR : i32 = 1000150002; pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR : i32 = 1000150003; pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR : i32 = 1000150004; pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR : i32 = 1000150005; pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR : i32 = 1000150006; pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_KHR : i32 = 1000150008; pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_KHR : i32 = 1000150009; pub const STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR : i32 = 1000150010; pub const STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR : i32 = 1000150011; pub const STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR : i32 = 1000150012; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_FEATURES_KHR : i32 = 1000150013; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_KHR : i32 = 1000150014; pub const STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR : i32 = 1000150015; pub const STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR : i32 = 1000150016; pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR : i32 = 1000150017; pub const STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR : i32 = 1000150018; pub const STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV : i32 = 1000152000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV : i32 = 1000154000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV : i32 = 1000154001; pub const STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT : i32 = 1000158000; pub const STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT : i32 = 1000158001; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT : i32 = 1000158002; pub const STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT : i32 = 1000158003; pub const STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT : i32 = 1000158004; pub const STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT : i32 = 1000158005; pub const STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT : i32 = 1000160000; pub const STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT : i32 = 1000160001; pub const STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV : i32 = 1000164000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV : i32 = 1000164001; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV : i32 = 1000164002; pub const STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV : i32 = 1000164005; pub const STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV : i32 = 1000165000; pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV : i32 = 1000165001; pub const STRUCTURE_TYPE_GEOMETRY_NV : i32 = 1000165003; pub const STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV : i32 = 1000165004; pub const STRUCTURE_TYPE_GEOMETRY_AABB_NV : i32 = 1000165005; pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV : i32 = 1000165008; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV : i32 = 1000165009; pub const STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV : i32 = 1000165011; pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV : i32 = 1000165012; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV : i32 = 1000166000; pub const STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV : i32 = 1000166001; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT : i32 = 1000170000; pub const STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT : i32 = 1000170001; pub const STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT : i32 = 1000174000; pub const STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT : i32 = 1000178000; pub const STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT : i32 = 1000178001; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT : i32 = 1000178002; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR : i32 = 1000181000; pub const STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD : i32 = 1000183000; pub const STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT : i32 = 1000184000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD : i32 = 1000185000; pub const STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD : i32 = 1000189000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT : i32 = 1000190000; pub const STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT : i32 = 1000190001; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT : i32 = 1000190002; pub const STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP : i32 = 1000191000; pub const STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT : i32 = 1000192000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV : i32 = 1000201000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV : i32 = 1000202000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV : i32 = 1000202001; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV : i32 = 1000203000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV : i32 = 1000204000; pub const STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV : i32 = 1000205000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV : i32 = 1000205002; pub const STRUCTURE_TYPE_CHECKPOINT_DATA_NV : i32 = 1000206000; pub const STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV : i32 = 1000206001; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL : i32 = 1000209000; pub const STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL : i32 = 1000210000; pub const STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL : i32 = 1000210001; pub const STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL : i32 = 1000210002; pub const STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL : i32 = 1000210003; pub const STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL : i32 = 1000210004; pub const STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL : i32 = 1000210005; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT : i32 = 1000212000; pub const STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD : i32 = 1000213000; pub const STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD : i32 = 1000213001; pub const STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA : i32 = 1000214000; pub const STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT : i32 = 1000217000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT : i32 = 1000218000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT : i32 = 1000218001; pub const STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT : i32 = 1000218002; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT : i32 = 1000225000; pub const STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT : i32 = 1000225001; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT : i32 = 1000225002; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD : i32 = 1000227000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD : i32 = 1000229000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT : i32 = 1000237000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT : i32 = 1000238000; pub const STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT : i32 = 1000238001; pub const STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR : i32 = 1000239000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV : i32 = 1000240000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT : i32 = 1000244000; pub const STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT : i32 = 1000244002; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT : i32 = 1000245000; pub const STRUCTURE_TYPE_VALIDATION_FEATURES_EXT : i32 = 1000247000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV : i32 = 1000249000; pub const STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV : i32 = 1000249001; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV : i32 = 1000249002; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV : i32 = 1000250000; pub const STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV : i32 = 1000250001; pub const STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV : i32 = 1000250002; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT : i32 = 1000251000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT : i32 = 1000252000; pub const STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT : i32 = 1000255000; pub const STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT : i32 = 1000255002; pub const STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT : i32 = 1000255001; pub const STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT : i32 = 1000256000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT : i32 = 1000259000; pub const STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT : i32 = 1000259001; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT : i32 = 1000259002; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT : i32 = 1000265000; pub const STRUCTURE_TYPE_DEFERRED_OPERATION_INFO_KHR : i32 = 1000268000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR : i32 = 1000269000; pub const STRUCTURE_TYPE_PIPELINE_INFO_KHR : i32 = 1000269001; pub const STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR : i32 = 1000269002; pub const STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR : i32 = 1000269003; pub const STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR : i32 = 1000269004; pub const STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR : i32 = 1000269005; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT : i32 = 1000276000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV : i32 = 1000277000; pub const STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV : i32 = 1000277001; pub const STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV : i32 = 1000277002; pub const STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV : i32 = 1000277003; pub const STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV : i32 = 1000277004; pub const STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV : i32 = 1000277005; pub const STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV : i32 = 1000277006; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV : i32 = 1000277007; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT : i32 = 1000281000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT : i32 = 1000281001; pub const STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM : i32 = 1000282000; pub const STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM : i32 = 1000282001; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT : i32 = 1000286000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT : i32 = 1000286001; pub const STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT : i32 = 1000287000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT : i32 = 1000287001; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT : i32 = 1000287002; pub const STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR : i32 = 1000290000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT : i32 = 1000295000; pub const STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT : i32 = 1000295001; pub const STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT : i32 = 1000295002; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT : i32 = 1000297000; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV : i32 = 1000300000; pub const STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV : i32 = 1000300001; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES; pub const STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT : i32 = STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT; pub const STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR : i32 = STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2; pub const STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR : i32 = STRUCTURE_TYPE_FORMAT_PROPERTIES_2; pub const STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR : i32 = STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2; pub const STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR : i32 = STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2; pub const STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR : i32 = STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2; pub const STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR : i32 = STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO; pub const STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR : i32 = STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO; pub const STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR : i32 = STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO; pub const STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR : i32 = STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO; pub const STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR : i32 = STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO; pub const STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR : i32 = STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO; pub const STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR : i32 = STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES; pub const STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR : i32 = STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO; pub const STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR : i32 = STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO; pub const STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR : i32 = STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES; pub const STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR : i32 = STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO; pub const STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR : i32 = STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO; pub const STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR : i32 = STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO; pub const STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR : i32 = STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES; pub const STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR : i32 = STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES; pub const STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR : i32 = STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO; pub const STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT : i32 = STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES; pub const STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR : i32 = STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO; pub const STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR : i32 = STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO; pub const STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR : i32 = STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO; pub const STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR : i32 = STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2; pub const STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR : i32 = STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2; pub const STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR : i32 = STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2; pub const STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR : i32 = STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2; pub const STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR : i32 = STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2; pub const STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR : i32 = STRUCTURE_TYPE_SUBPASS_BEGIN_INFO; pub const STRUCTURE_TYPE_SUBPASS_END_INFO_KHR : i32 = STRUCTURE_TYPE_SUBPASS_END_INFO; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO; pub const STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR : i32 = STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES; pub const STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR : i32 = STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES; pub const STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR : i32 = STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO; pub const STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR : i32 = STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO; pub const STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR : i32 = STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR; pub const STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR : i32 = STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS; pub const STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR : i32 = STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES; pub const STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT : i32 = STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO; pub const STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR : i32 = STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2; pub const STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR : i32 = STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2; pub const STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR : i32 = STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2; pub const STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR : i32 = STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2; pub const STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR : i32 = STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2; pub const STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR : i32 = STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO; pub const STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR : i32 = STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO; pub const STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR : i32 = STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO; pub const STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR : i32 = STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO; pub const STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR : i32 = STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES; pub const STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR : i32 = STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES; pub const STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR : i32 = STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO; pub const STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR : i32 = STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO; pub const STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT : i32 = STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES; pub const STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT : i32 = STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO; pub const STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT : i32 = STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT; pub const STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV : i32 = STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_KHR; pub const STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV : i32 = STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES; pub const STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR : i32 = STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES; pub const STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR : i32 = STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES; pub const STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR : i32 = STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO; pub const STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR : i32 = STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO; pub const STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR : i32 = STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO; pub const STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR : i32 = STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO; pub const STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL : i32 = STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES; pub const STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR : i32 = STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT; pub const STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR : i32 = STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT; pub const STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT : i32 = STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO; pub const STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT : i32 = STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES; pub const STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR : i32 = STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO; pub const STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR : i32 = STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO; pub const STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR : i32 = STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO; pub const STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR : i32 = STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO; pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES; pub const STRUCTURE_TYPE_MAX_ENUM : i32 = 0x7FFFFFF; pub type SystemAllocationScope = i32; pub const SYSTEM_ALLOCATION_SCOPE_COMMAND : i32 = 0; pub const SYSTEM_ALLOCATION_SCOPE_OBJECT : i32 = 1; pub const SYSTEM_ALLOCATION_SCOPE_CACHE : i32 = 2; pub const SYSTEM_ALLOCATION_SCOPE_DEVICE : i32 = 3; pub const SYSTEM_ALLOCATION_SCOPE_INSTANCE : i32 = 4; pub const SYSTEM_ALLOCATION_SCOPE_MAX_ENUM : i32 = 0x7FFFFFF; pub type InternalAllocationType = i32; pub const INTERNAL_ALLOCATION_TYPE_EXECUTABLE : i32 = 0; pub const INTERNAL_ALLOCATION_TYPE_MAX_ENUM : i32 = 0x7FFFFFF; pub type Format = i32; pub const FORMAT_UNDEFINED : i32 = 0; pub const FORMAT_R4G4_UNORM_PACK8 : i32 = 1; pub const FORMAT_R4G4B4A4_UNORM_PACK16 : i32 = 2; pub const FORMAT_B4G4R4A4_UNORM_PACK16 : i32 = 3; pub const FORMAT_R5G6B5_UNORM_PACK16 : i32 = 4; pub const FORMAT_B5G6R5_UNORM_PACK16 : i32 = 5; pub const FORMAT_R5G5B5A1_UNORM_PACK16 : i32 = 6; pub const FORMAT_B5G5R5A1_UNORM_PACK16 : i32 = 7; pub const FORMAT_A1R5G5B5_UNORM_PACK16 : i32 = 8; pub const FORMAT_R8_UNORM : i32 = 9; pub const FORMAT_R8_SNORM : i32 = 10; pub const FORMAT_R8_USCALED : i32 = 11; pub const FORMAT_R8_SSCALED : i32 = 12; pub const FORMAT_R8_UINT : i32 = 13; pub const FORMAT_R8_SINT : i32 = 14; pub const FORMAT_R8_SRGB : i32 = 15; pub const FORMAT_R8G8_UNORM : i32 = 16; pub const FORMAT_R8G8_SNORM : i32 = 17; pub const FORMAT_R8G8_USCALED : i32 = 18; pub const FORMAT_R8G8_SSCALED : i32 = 19; pub const FORMAT_R8G8_UINT : i32 = 20; pub const FORMAT_R8G8_SINT : i32 = 21; pub const FORMAT_R8G8_SRGB : i32 = 22; pub const FORMAT_R8G8B8_UNORM : i32 = 23; pub const FORMAT_R8G8B8_SNORM : i32 = 24; pub const FORMAT_R8G8B8_USCALED : i32 = 25; pub const FORMAT_R8G8B8_SSCALED : i32 = 26; pub const FORMAT_R8G8B8_UINT : i32 = 27; pub const FORMAT_R8G8B8_SINT : i32 = 28; pub const FORMAT_R8G8B8_SRGB : i32 = 29; pub const FORMAT_B8G8R8_UNORM : i32 = 30; pub const FORMAT_B8G8R8_SNORM : i32 = 31; pub const FORMAT_B8G8R8_USCALED : i32 = 32; pub const FORMAT_B8G8R8_SSCALED : i32 = 33; pub const FORMAT_B8G8R8_UINT : i32 = 34; pub const FORMAT_B8G8R8_SINT : i32 = 35; pub const FORMAT_B8G8R8_SRGB : i32 = 36; pub const FORMAT_R8G8B8A8_UNORM : i32 = 37; pub const FORMAT_R8G8B8A8_SNORM : i32 = 38; pub const FORMAT_R8G8B8A8_USCALED : i32 = 39; pub const FORMAT_R8G8B8A8_SSCALED : i32 = 40; pub const FORMAT_R8G8B8A8_UINT : i32 = 41; pub const FORMAT_R8G8B8A8_SINT : i32 = 42; pub const FORMAT_R8G8B8A8_SRGB : i32 = 43; pub const FORMAT_B8G8R8A8_UNORM : i32 = 44; pub const FORMAT_B8G8R8A8_SNORM : i32 = 45; pub const FORMAT_B8G8R8A8_USCALED : i32 = 46; pub const FORMAT_B8G8R8A8_SSCALED : i32 = 47; pub const FORMAT_B8G8R8A8_UINT : i32 = 48; pub const FORMAT_B8G8R8A8_SINT : i32 = 49; pub const FORMAT_B8G8R8A8_SRGB : i32 = 50; pub const FORMAT_A8B8G8R8_UNORM_PACK32 : i32 = 51; pub const FORMAT_A8B8G8R8_SNORM_PACK32 : i32 = 52; pub const FORMAT_A8B8G8R8_USCALED_PACK32 : i32 = 53; pub const FORMAT_A8B8G8R8_SSCALED_PACK32 : i32 = 54; pub const FORMAT_A8B8G8R8_UINT_PACK32 : i32 = 55; pub const FORMAT_A8B8G8R8_SINT_PACK32 : i32 = 56; pub const FORMAT_A8B8G8R8_SRGB_PACK32 : i32 = 57; pub const FORMAT_A2R10G10B10_UNORM_PACK32 : i32 = 58; pub const FORMAT_A2R10G10B10_SNORM_PACK32 : i32 = 59; pub const FORMAT_A2R10G10B10_USCALED_PACK32 : i32 = 60; pub const FORMAT_A2R10G10B10_SSCALED_PACK32 : i32 = 61; pub const FORMAT_A2R10G10B10_UINT_PACK32 : i32 = 62; pub const FORMAT_A2R10G10B10_SINT_PACK32 : i32 = 63; pub const FORMAT_A2B10G10R10_UNORM_PACK32 : i32 = 64; pub const FORMAT_A2B10G10R10_SNORM_PACK32 : i32 = 65; pub const FORMAT_A2B10G10R10_USCALED_PACK32 : i32 = 66; pub const FORMAT_A2B10G10R10_SSCALED_PACK32 : i32 = 67; pub const FORMAT_A2B10G10R10_UINT_PACK32 : i32 = 68; pub const FORMAT_A2B10G10R10_SINT_PACK32 : i32 = 69; pub const FORMAT_R16_UNORM : i32 = 70; pub const FORMAT_R16_SNORM : i32 = 71; pub const FORMAT_R16_USCALED : i32 = 72; pub const FORMAT_R16_SSCALED : i32 = 73; pub const FORMAT_R16_UINT : i32 = 74; pub const FORMAT_R16_SINT : i32 = 75; pub const FORMAT_R16_SFLOAT : i32 = 76; pub const FORMAT_R16G16_UNORM : i32 = 77; pub const FORMAT_R16G16_SNORM : i32 = 78; pub const FORMAT_R16G16_USCALED : i32 = 79; pub const FORMAT_R16G16_SSCALED : i32 = 80; pub const FORMAT_R16G16_UINT : i32 = 81; pub const FORMAT_R16G16_SINT : i32 = 82; pub const FORMAT_R16G16_SFLOAT : i32 = 83; pub const FORMAT_R16G16B16_UNORM : i32 = 84; pub const FORMAT_R16G16B16_SNORM : i32 = 85; pub const FORMAT_R16G16B16_USCALED : i32 = 86; pub const FORMAT_R16G16B16_SSCALED : i32 = 87; pub const FORMAT_R16G16B16_UINT : i32 = 88; pub const FORMAT_R16G16B16_SINT : i32 = 89; pub const FORMAT_R16G16B16_SFLOAT : i32 = 90; pub const FORMAT_R16G16B16A16_UNORM : i32 = 91; pub const FORMAT_R16G16B16A16_SNORM : i32 = 92; pub const FORMAT_R16G16B16A16_USCALED : i32 = 93; pub const FORMAT_R16G16B16A16_SSCALED : i32 = 94; pub const FORMAT_R16G16B16A16_UINT : i32 = 95; pub const FORMAT_R16G16B16A16_SINT : i32 = 96; pub const FORMAT_R16G16B16A16_SFLOAT : i32 = 97; pub const FORMAT_R32_UINT : i32 = 98; pub const FORMAT_R32_SINT : i32 = 99; pub const FORMAT_R32_SFLOAT : i32 = 100; pub const FORMAT_R32G32_UINT : i32 = 101; pub const FORMAT_R32G32_SINT : i32 = 102; pub const FORMAT_R32G32_SFLOAT : i32 = 103; pub const FORMAT_R32G32B32_UINT : i32 = 104; pub const FORMAT_R32G32B32_SINT : i32 = 105; pub const FORMAT_R32G32B32_SFLOAT : i32 = 106; pub const FORMAT_R32G32B32A32_UINT : i32 = 107; pub const FORMAT_R32G32B32A32_SINT : i32 = 108; pub const FORMAT_R32G32B32A32_SFLOAT : i32 = 109; pub const FORMAT_R64_UINT : i32 = 110; pub const FORMAT_R64_SINT : i32 = 111; pub const FORMAT_R64_SFLOAT : i32 = 112; pub const FORMAT_R64G64_UINT : i32 = 113; pub const FORMAT_R64G64_SINT : i32 = 114; pub const FORMAT_R64G64_SFLOAT : i32 = 115; pub const FORMAT_R64G64B64_UINT : i32 = 116; pub const FORMAT_R64G64B64_SINT : i32 = 117; pub const FORMAT_R64G64B64_SFLOAT : i32 = 118; pub const FORMAT_R64G64B64A64_UINT : i32 = 119; pub const FORMAT_R64G64B64A64_SINT : i32 = 120; pub const FORMAT_R64G64B64A64_SFLOAT : i32 = 121; pub const FORMAT_B10G11R11_UFLOAT_PACK32 : i32 = 122; pub const FORMAT_E5B9G9R9_UFLOAT_PACK32 : i32 = 123; pub const FORMAT_D16_UNORM : i32 = 124; pub const FORMAT_X8_D24_UNORM_PACK32 : i32 = 125; pub const FORMAT_D32_SFLOAT : i32 = 126; pub const FORMAT_S8_UINT : i32 = 127; pub const FORMAT_D16_UNORM_S8_UINT : i32 = 128; pub const FORMAT_D24_UNORM_S8_UINT : i32 = 129; pub const FORMAT_D32_SFLOAT_S8_UINT : i32 = 130; pub const FORMAT_BC1_RGB_UNORM_BLOCK : i32 = 131; pub const FORMAT_BC1_RGB_SRGB_BLOCK : i32 = 132; pub const FORMAT_BC1_RGBA_UNORM_BLOCK : i32 = 133; pub const FORMAT_BC1_RGBA_SRGB_BLOCK : i32 = 134; pub const FORMAT_BC2_UNORM_BLOCK : i32 = 135; pub const FORMAT_BC2_SRGB_BLOCK : i32 = 136; pub const FORMAT_BC3_UNORM_BLOCK : i32 = 137; pub const FORMAT_BC3_SRGB_BLOCK : i32 = 138; pub const FORMAT_BC4_UNORM_BLOCK : i32 = 139; pub const FORMAT_BC4_SNORM_BLOCK : i32 = 140; pub const FORMAT_BC5_UNORM_BLOCK : i32 = 141; pub const FORMAT_BC5_SNORM_BLOCK : i32 = 142; pub const FORMAT_BC6H_UFLOAT_BLOCK : i32 = 143; pub const FORMAT_BC6H_SFLOAT_BLOCK : i32 = 144; pub const FORMAT_BC7_UNORM_BLOCK : i32 = 145; pub const FORMAT_BC7_SRGB_BLOCK : i32 = 146; pub const FORMAT_ETC2_R8G8B8_UNORM_BLOCK : i32 = 147; pub const FORMAT_ETC2_R8G8B8_SRGB_BLOCK : i32 = 148; pub const FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK : i32 = 149; pub const FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK : i32 = 150; pub const FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK : i32 = 151; pub const FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK : i32 = 152; pub const FORMAT_EAC_R11_UNORM_BLOCK : i32 = 153; pub const FORMAT_EAC_R11_SNORM_BLOCK : i32 = 154; pub const FORMAT_EAC_R11G11_UNORM_BLOCK : i32 = 155; pub const FORMAT_EAC_R11G11_SNORM_BLOCK : i32 = 156; pub const FORMAT_ASTC_4x4_UNORM_BLOCK : i32 = 157; pub const FORMAT_ASTC_4x4_SRGB_BLOCK : i32 = 158; pub const FORMAT_ASTC_5x4_UNORM_BLOCK : i32 = 159; pub const FORMAT_ASTC_5x4_SRGB_BLOCK : i32 = 160; pub const FORMAT_ASTC_5x5_UNORM_BLOCK : i32 = 161; pub const FORMAT_ASTC_5x5_SRGB_BLOCK : i32 = 162; pub const FORMAT_ASTC_6x5_UNORM_BLOCK : i32 = 163; pub const FORMAT_ASTC_6x5_SRGB_BLOCK : i32 = 164; pub const FORMAT_ASTC_6x6_UNORM_BLOCK : i32 = 165; pub const FORMAT_ASTC_6x6_SRGB_BLOCK : i32 = 166; pub const FORMAT_ASTC_8x5_UNORM_BLOCK : i32 = 167; pub const FORMAT_ASTC_8x5_SRGB_BLOCK : i32 = 168; pub const FORMAT_ASTC_8x6_UNORM_BLOCK : i32 = 169; pub const FORMAT_ASTC_8x6_SRGB_BLOCK : i32 = 170; pub const FORMAT_ASTC_8x8_UNORM_BLOCK : i32 = 171; pub const FORMAT_ASTC_8x8_SRGB_BLOCK : i32 = 172; pub const FORMAT_ASTC_10x5_UNORM_BLOCK : i32 = 173; pub const FORMAT_ASTC_10x5_SRGB_BLOCK : i32 = 174; pub const FORMAT_ASTC_10x6_UNORM_BLOCK : i32 = 175; pub const FORMAT_ASTC_10x6_SRGB_BLOCK : i32 = 176; pub const FORMAT_ASTC_10x8_UNORM_BLOCK : i32 = 177; pub const FORMAT_ASTC_10x8_SRGB_BLOCK : i32 = 178; pub const FORMAT_ASTC_10x10_UNORM_BLOCK : i32 = 179; pub const FORMAT_ASTC_10x10_SRGB_BLOCK : i32 = 180; pub const FORMAT_ASTC_12x10_UNORM_BLOCK : i32 = 181; pub const FORMAT_ASTC_12x10_SRGB_BLOCK : i32 = 182; pub const FORMAT_ASTC_12x12_UNORM_BLOCK : i32 = 183; pub const FORMAT_ASTC_12x12_SRGB_BLOCK : i32 = 184; pub const FORMAT_G8B8G8R8_422_UNORM : i32 = 1000156000; pub const FORMAT_B8G8R8G8_422_UNORM : i32 = 1000156001; pub const FORMAT_G8_B8_R8_3PLANE_420_UNORM : i32 = 1000156002; pub const FORMAT_G8_B8R8_2PLANE_420_UNORM : i32 = 1000156003; pub const FORMAT_G8_B8_R8_3PLANE_422_UNORM : i32 = 1000156004; pub const FORMAT_G8_B8R8_2PLANE_422_UNORM : i32 = 1000156005; pub const FORMAT_G8_B8_R8_3PLANE_444_UNORM : i32 = 1000156006; pub const FORMAT_R10X6_UNORM_PACK16 : i32 = 1000156007; pub const FORMAT_R10X6G10X6_UNORM_2PACK16 : i32 = 1000156008; pub const FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 : i32 = 1000156009; pub const FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 : i32 = 1000156010; pub const FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 : i32 = 1000156011; pub const FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 : i32 = 1000156012; pub const FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 : i32 = 1000156013; pub const FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 : i32 = 1000156014; pub const FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 : i32 = 1000156015; pub const FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 : i32 = 1000156016; pub const FORMAT_R12X4_UNORM_PACK16 : i32 = 1000156017; pub const FORMAT_R12X4G12X4_UNORM_2PACK16 : i32 = 1000156018; pub const FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 : i32 = 1000156019; pub const FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 : i32 = 1000156020; pub const FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 : i32 = 1000156021; pub const FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 : i32 = 1000156022; pub const FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 : i32 = 1000156023; pub const FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 : i32 = 1000156024; pub const FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 : i32 = 1000156025; pub const FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 : i32 = 1000156026; pub const FORMAT_G16B16G16R16_422_UNORM : i32 = 1000156027; pub const FORMAT_B16G16R16G16_422_UNORM : i32 = 1000156028; pub const FORMAT_G16_B16_R16_3PLANE_420_UNORM : i32 = 1000156029; pub const FORMAT_G16_B16R16_2PLANE_420_UNORM : i32 = 1000156030; pub const FORMAT_G16_B16_R16_3PLANE_422_UNORM : i32 = 1000156031; pub const FORMAT_G16_B16R16_2PLANE_422_UNORM : i32 = 1000156032; pub const FORMAT_G16_B16_R16_3PLANE_444_UNORM : i32 = 1000156033; pub const FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG : i32 = 1000054000; pub const FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG : i32 = 1000054001; pub const FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG : i32 = 1000054002; pub const FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG : i32 = 1000054003; pub const FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG : i32 = 1000054004; pub const FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG : i32 = 1000054005; pub const FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG : i32 = 1000054006; pub const FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG : i32 = 1000054007; pub const FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT : i32 = 1000066000; pub const FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT : i32 = 1000066001; pub const FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT : i32 = 1000066002; pub const FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT : i32 = 1000066003; pub const FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT : i32 = 1000066004; pub const FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT : i32 = 1000066005; pub const FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT : i32 = 1000066006; pub const FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT : i32 = 1000066007; pub const FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT : i32 = 1000066008; pub const FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT : i32 = 1000066009; pub const FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT : i32 = 1000066010; pub const FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT : i32 = 1000066011; pub const FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT : i32 = 1000066012; pub const FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT : i32 = 1000066013; pub const FORMAT_G8B8G8R8_422_UNORM_KHR : i32 = FORMAT_G8B8G8R8_422_UNORM; pub const FORMAT_B8G8R8G8_422_UNORM_KHR : i32 = FORMAT_B8G8R8G8_422_UNORM; pub const FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR : i32 = FORMAT_G8_B8_R8_3PLANE_420_UNORM; pub const FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR : i32 = FORMAT_G8_B8R8_2PLANE_420_UNORM; pub const FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR : i32 = FORMAT_G8_B8_R8_3PLANE_422_UNORM; pub const FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR : i32 = FORMAT_G8_B8R8_2PLANE_422_UNORM; pub const FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR : i32 = FORMAT_G8_B8_R8_3PLANE_444_UNORM; pub const FORMAT_R10X6_UNORM_PACK16_KHR : i32 = FORMAT_R10X6_UNORM_PACK16; pub const FORMAT_R10X6G10X6_UNORM_2PACK16_KHR : i32 = FORMAT_R10X6G10X6_UNORM_2PACK16; pub const FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR : i32 = FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16; pub const FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR : i32 = FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16; pub const FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR : i32 = FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16; pub const FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR : i32 = FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16; pub const FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR : i32 = FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16; pub const FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR : i32 = FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16; pub const FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR : i32 = FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16; pub const FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR : i32 = FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16; pub const FORMAT_R12X4_UNORM_PACK16_KHR : i32 = FORMAT_R12X4_UNORM_PACK16; pub const FORMAT_R12X4G12X4_UNORM_2PACK16_KHR : i32 = FORMAT_R12X4G12X4_UNORM_2PACK16; pub const FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR : i32 = FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16; pub const FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR : i32 = FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16; pub const FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR : i32 = FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16; pub const FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR : i32 = FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16; pub const FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR : i32 = FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16; pub const FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR : i32 = FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16; pub const FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR : i32 = FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16; pub const FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR : i32 = FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16; pub const FORMAT_G16B16G16R16_422_UNORM_KHR : i32 = FORMAT_G16B16G16R16_422_UNORM; pub const FORMAT_B16G16R16G16_422_UNORM_KHR : i32 = FORMAT_B16G16R16G16_422_UNORM; pub const FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR : i32 = FORMAT_G16_B16_R16_3PLANE_420_UNORM; pub const FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR : i32 = FORMAT_G16_B16R16_2PLANE_420_UNORM; pub const FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR : i32 = FORMAT_G16_B16_R16_3PLANE_422_UNORM; pub const FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR : i32 = FORMAT_G16_B16R16_2PLANE_422_UNORM; pub const FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR : i32 = FORMAT_G16_B16_R16_3PLANE_444_UNORM; pub const FORMAT_MAX_ENUM : i32 = 0x7FFFFFF; pub type ImageType = i32; pub const IMAGE_TYPE_1D : i32 = 0; pub const IMAGE_TYPE_2D : i32 = 1; pub const IMAGE_TYPE_3D : i32 = 2; pub const IMAGE_TYPE_MAX_ENUM : i32 = 0x7FFFFFF; pub type ImageTiling = i32; pub const IMAGE_TILING_OPTIMAL : i32 = 0; pub const IMAGE_TILING_LINEAR : i32 = 1; pub const IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT : i32 = 1000158000; pub const IMAGE_TILING_MAX_ENUM : i32 = 0x7FFFFFF; pub type PhysicalDeviceType = i32; pub const PHYSICAL_DEVICE_TYPE_OTHER : i32 = 0; pub const PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU : i32 = 1; pub const PHYSICAL_DEVICE_TYPE_DISCRETE_GPU : i32 = 2; pub const PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU : i32 = 3; pub const PHYSICAL_DEVICE_TYPE_CPU : i32 = 4; pub const PHYSICAL_DEVICE_TYPE_MAX_ENUM : i32 = 0x7FFFFFF; pub type QueryType = i32; pub const QUERY_TYPE_OCCLUSION : i32 = 0; pub const QUERY_TYPE_PIPELINE_STATISTICS : i32 = 1; pub const QUERY_TYPE_TIMESTAMP : i32 = 2; pub const QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT : i32 = 1000028004; pub const QUERY_TYPE_PERFORMANCE_QUERY_KHR : i32 = 1000116000; pub const QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR : i32 = 1000165000; pub const QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR : i32 = 1000150000; pub const QUERY_TYPE_PERFORMANCE_QUERY_INTEL : i32 = 1000210000; pub const QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV : i32 = QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR; pub const QUERY_TYPE_MAX_ENUM : i32 = 0x7FFFFFF; pub type SharingMode = i32; pub const SHARING_MODE_EXCLUSIVE : i32 = 0; pub const SHARING_MODE_CONCURRENT : i32 = 1; pub const SHARING_MODE_MAX_ENUM : i32 = 0x7FFFFFF; pub type ImageLayout = i32; pub const IMAGE_LAYOUT_UNDEFINED : i32 = 0; pub const IMAGE_LAYOUT_GENERAL : i32 = 1; pub const IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL : i32 = 2; pub const IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL : i32 = 3; pub const IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL : i32 = 4; pub const IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL : i32 = 5; pub const IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL : i32 = 6; pub const IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL : i32 = 7; pub const IMAGE_LAYOUT_PREINITIALIZED : i32 = 8; pub const IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL : i32 = 1000117000; pub const IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL : i32 = 1000117001; pub const IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL : i32 = 1000241000; pub const IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL : i32 = 1000241001; pub const IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL : i32 = 1000241002; pub const IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL : i32 = 1000241003; pub const IMAGE_LAYOUT_PRESENT_SRC_KHR : i32 = 1000001002; pub const IMAGE_LAYOUT_SHARED_PRESENT_KHR : i32 = 1000111000; pub const IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV : i32 = 1000164003; pub const IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT : i32 = 1000218000; pub const IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR : i32 = IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL; pub const IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR : i32 = IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL; pub const IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR : i32 = IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL; pub const IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR : i32 = IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL; pub const IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR : i32 = IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL; pub const IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR : i32 = IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL; pub const IMAGE_LAYOUT_MAX_ENUM : i32 = 0x7FFFFFF; pub type ImageViewType = i32; pub const IMAGE_VIEW_TYPE_1D : i32 = 0; pub const IMAGE_VIEW_TYPE_2D : i32 = 1; pub const IMAGE_VIEW_TYPE_3D : i32 = 2; pub const IMAGE_VIEW_TYPE_CUBE : i32 = 3; pub const IMAGE_VIEW_TYPE_1D_ARRAY : i32 = 4; pub const IMAGE_VIEW_TYPE_2D_ARRAY : i32 = 5; pub const IMAGE_VIEW_TYPE_CUBE_ARRAY : i32 = 6; pub const IMAGE_VIEW_TYPE_MAX_ENUM : i32 = 0x7FFFFFF; pub type ComponentSwizzle = i32; pub const COMPONENT_SWIZZLE_IDENTITY : i32 = 0; pub const COMPONENT_SWIZZLE_ZERO : i32 = 1; pub const COMPONENT_SWIZZLE_ONE : i32 = 2; pub const COMPONENT_SWIZZLE_R : i32 = 3; pub const COMPONENT_SWIZZLE_G : i32 = 4; pub const COMPONENT_SWIZZLE_B : i32 = 5; pub const COMPONENT_SWIZZLE_A : i32 = 6; pub const COMPONENT_SWIZZLE_MAX_ENUM : i32 = 0x7FFFFFF; pub type VertexInputRate = i32; pub const VERTEX_INPUT_RATE_VERTEX : i32 = 0; pub const VERTEX_INPUT_RATE_INSTANCE : i32 = 1; pub const VERTEX_INPUT_RATE_MAX_ENUM : i32 = 0x7FFFFFF; pub type PrimitiveTopology = i32; pub const PRIMITIVE_TOPOLOGY_POINT_LIST : i32 = 0; pub const PRIMITIVE_TOPOLOGY_LINE_LIST : i32 = 1; pub const PRIMITIVE_TOPOLOGY_LINE_STRIP : i32 = 2; pub const PRIMITIVE_TOPOLOGY_TRIANGLE_LIST : i32 = 3; pub const PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP : i32 = 4; pub const PRIMITIVE_TOPOLOGY_TRIANGLE_FAN : i32 = 5; pub const PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY : i32 = 6; pub const PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY : i32 = 7; pub const PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY : i32 = 8; pub const PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY : i32 = 9; pub const PRIMITIVE_TOPOLOGY_PATCH_LIST : i32 = 10; pub const PRIMITIVE_TOPOLOGY_MAX_ENUM : i32 = 0x7FFFFFF; pub type PolygonMode = i32; pub const POLYGON_MODE_FILL : i32 = 0; pub const POLYGON_MODE_LINE : i32 = 1; pub const POLYGON_MODE_POINT : i32 = 2; pub const POLYGON_MODE_FILL_RECTANGLE_NV : i32 = 1000153000; pub const POLYGON_MODE_MAX_ENUM : i32 = 0x7FFFFFF; pub type FrontFace = i32; pub const FRONT_FACE_COUNTER_CLOCKWISE : i32 = 0; pub const FRONT_FACE_CLOCKWISE : i32 = 1; pub const FRONT_FACE_MAX_ENUM : i32 = 0x7FFFFFF; pub type CompareOp = i32; pub const COMPARE_OP_NEVER : i32 = 0; pub const COMPARE_OP_LESS : i32 = 1; pub const COMPARE_OP_EQUAL : i32 = 2; pub const COMPARE_OP_LESS_OR_EQUAL : i32 = 3; pub const COMPARE_OP_GREATER : i32 = 4; pub const COMPARE_OP_NOT_EQUAL : i32 = 5; pub const COMPARE_OP_GREATER_OR_EQUAL : i32 = 6; pub const COMPARE_OP_ALWAYS : i32 = 7; pub const COMPARE_OP_MAX_ENUM : i32 = 0x7FFFFFF; pub type StencilOp = i32; pub const STENCIL_OP_KEEP : i32 = 0; pub const STENCIL_OP_ZERO : i32 = 1; pub const STENCIL_OP_REPLACE : i32 = 2; pub const STENCIL_OP_INCREMENT_AND_CLAMP : i32 = 3; pub const STENCIL_OP_DECREMENT_AND_CLAMP : i32 = 4; pub const STENCIL_OP_INVERT : i32 = 5; pub const STENCIL_OP_INCREMENT_AND_WRAP : i32 = 6; pub const STENCIL_OP_DECREMENT_AND_WRAP : i32 = 7; pub const STENCIL_OP_MAX_ENUM : i32 = 0x7FFFFFF; pub type LogicOp = i32; pub const LOGIC_OP_CLEAR : i32 = 0; pub const LOGIC_OP_AND : i32 = 1; pub const LOGIC_OP_AND_REVERSE : i32 = 2; pub const LOGIC_OP_COPY : i32 = 3; pub const LOGIC_OP_AND_INVERTED : i32 = 4; pub const LOGIC_OP_NO_OP : i32 = 5; pub const LOGIC_OP_XOR : i32 = 6; pub const LOGIC_OP_OR : i32 = 7; pub const LOGIC_OP_NOR : i32 = 8; pub const LOGIC_OP_EQUIVALENT : i32 = 9; pub const LOGIC_OP_INVERT : i32 = 10; pub const LOGIC_OP_OR_REVERSE : i32 = 11; pub const LOGIC_OP_COPY_INVERTED : i32 = 12; pub const LOGIC_OP_OR_INVERTED : i32 = 13; pub const LOGIC_OP_NAND : i32 = 14; pub const LOGIC_OP_SET : i32 = 15; pub const LOGIC_OP_MAX_ENUM : i32 = 0x7FFFFFF; pub type BlendFactor = i32; pub const BLEND_FACTOR_ZERO : i32 = 0; pub const BLEND_FACTOR_ONE : i32 = 1; pub const BLEND_FACTOR_SRC_COLOR : i32 = 2; pub const BLEND_FACTOR_ONE_MINUS_SRC_COLOR : i32 = 3; pub const BLEND_FACTOR_DST_COLOR : i32 = 4; pub const BLEND_FACTOR_ONE_MINUS_DST_COLOR : i32 = 5; pub const BLEND_FACTOR_SRC_ALPHA : i32 = 6; pub const BLEND_FACTOR_ONE_MINUS_SRC_ALPHA : i32 = 7; pub const BLEND_FACTOR_DST_ALPHA : i32 = 8; pub const BLEND_FACTOR_ONE_MINUS_DST_ALPHA : i32 = 9; pub const BLEND_FACTOR_CONSTANT_COLOR : i32 = 10; pub const BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR : i32 = 11; pub const BLEND_FACTOR_CONSTANT_ALPHA : i32 = 12; pub const BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA : i32 = 13; pub const BLEND_FACTOR_SRC_ALPHA_SATURATE : i32 = 14; pub const BLEND_FACTOR_SRC1_COLOR : i32 = 15; pub const BLEND_FACTOR_ONE_MINUS_SRC1_COLOR : i32 = 16; pub const BLEND_FACTOR_SRC1_ALPHA : i32 = 17; pub const BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA : i32 = 18; pub const BLEND_FACTOR_MAX_ENUM : i32 = 0x7FFFFFF; pub type BlendOp = i32; pub const BLEND_OP_ADD : i32 = 0; pub const BLEND_OP_SUBTRACT : i32 = 1; pub const BLEND_OP_REVERSE_SUBTRACT : i32 = 2; pub const BLEND_OP_MIN : i32 = 3; pub const BLEND_OP_MAX : i32 = 4; pub const BLEND_OP_ZERO_EXT : i32 = 1000148000; pub const BLEND_OP_SRC_EXT : i32 = 1000148001; pub const BLEND_OP_DST_EXT : i32 = 1000148002; pub const BLEND_OP_SRC_OVER_EXT : i32 = 1000148003; pub const BLEND_OP_DST_OVER_EXT : i32 = 1000148004; pub const BLEND_OP_SRC_IN_EXT : i32 = 1000148005; pub const BLEND_OP_DST_IN_EXT : i32 = 1000148006; pub const BLEND_OP_SRC_OUT_EXT : i32 = 1000148007; pub const BLEND_OP_DST_OUT_EXT : i32 = 1000148008; pub const BLEND_OP_SRC_ATOP_EXT : i32 = 1000148009; pub const BLEND_OP_DST_ATOP_EXT : i32 = 1000148010; pub const BLEND_OP_XOR_EXT : i32 = 1000148011; pub const BLEND_OP_MULTIPLY_EXT : i32 = 1000148012; pub const BLEND_OP_SCREEN_EXT : i32 = 1000148013; pub const BLEND_OP_OVERLAY_EXT : i32 = 1000148014; pub const BLEND_OP_DARKEN_EXT : i32 = 1000148015; pub const BLEND_OP_LIGHTEN_EXT : i32 = 1000148016; pub const BLEND_OP_COLORDODGE_EXT : i32 = 1000148017; pub const BLEND_OP_COLORBURN_EXT : i32 = 1000148018; pub const BLEND_OP_HARDLIGHT_EXT : i32 = 1000148019; pub const BLEND_OP_SOFTLIGHT_EXT : i32 = 1000148020; pub const BLEND_OP_DIFFERENCE_EXT : i32 = 1000148021; pub const BLEND_OP_EXCLUSION_EXT : i32 = 1000148022; pub const BLEND_OP_INVERT_EXT : i32 = 1000148023; pub const BLEND_OP_INVERT_RGB_EXT : i32 = 1000148024; pub const BLEND_OP_LINEARDODGE_EXT : i32 = 1000148025; pub const BLEND_OP_LINEARBURN_EXT : i32 = 1000148026; pub const BLEND_OP_VIVIDLIGHT_EXT : i32 = 1000148027; pub const BLEND_OP_LINEARLIGHT_EXT : i32 = 1000148028; pub const BLEND_OP_PINLIGHT_EXT : i32 = 1000148029; pub const BLEND_OP_HARDMIX_EXT : i32 = 1000148030; pub const BLEND_OP_HSL_HUE_EXT : i32 = 1000148031; pub const BLEND_OP_HSL_SATURATION_EXT : i32 = 1000148032; pub const BLEND_OP_HSL_COLOR_EXT : i32 = 1000148033; pub const BLEND_OP_HSL_LUMINOSITY_EXT : i32 = 1000148034; pub const BLEND_OP_PLUS_EXT : i32 = 1000148035; pub const BLEND_OP_PLUS_CLAMPED_EXT : i32 = 1000148036; pub const BLEND_OP_PLUS_CLAMPED_ALPHA_EXT : i32 = 1000148037; pub const BLEND_OP_PLUS_DARKER_EXT : i32 = 1000148038; pub const BLEND_OP_MINUS_EXT : i32 = 1000148039; pub const BLEND_OP_MINUS_CLAMPED_EXT : i32 = 1000148040; pub const BLEND_OP_CONTRAST_EXT : i32 = 1000148041; pub const BLEND_OP_INVERT_OVG_EXT : i32 = 1000148042; pub const BLEND_OP_RED_EXT : i32 = 1000148043; pub const BLEND_OP_GREEN_EXT : i32 = 1000148044; pub const BLEND_OP_BLUE_EXT : i32 = 1000148045; pub const BLEND_OP_MAX_ENUM : i32 = 0x7FFFFFF; pub type DynamicState = i32; pub const DYNAMIC_STATE_VIEWPORT : i32 = 0; pub const DYNAMIC_STATE_SCISSOR : i32 = 1; pub const DYNAMIC_STATE_LINE_WIDTH : i32 = 2; pub const DYNAMIC_STATE_DEPTH_BIAS : i32 = 3; pub const DYNAMIC_STATE_BLEND_CONSTANTS : i32 = 4; pub const DYNAMIC_STATE_DEPTH_BOUNDS : i32 = 5; pub const DYNAMIC_STATE_STENCIL_COMPARE_MASK : i32 = 6; pub const DYNAMIC_STATE_STENCIL_WRITE_MASK : i32 = 7; pub const DYNAMIC_STATE_STENCIL_REFERENCE : i32 = 8; pub const DYNAMIC_STATE_VIEWPORT_W_SCALING_NV : i32 = 1000087000; pub const DYNAMIC_STATE_DISCARD_RECTANGLE_EXT : i32 = 1000099000; pub const DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT : i32 = 1000143000; pub const DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV : i32 = 1000164004; pub const DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV : i32 = 1000164006; pub const DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV : i32 = 1000205001; pub const DYNAMIC_STATE_LINE_STIPPLE_EXT : i32 = 1000259000; pub const DYNAMIC_STATE_MAX_ENUM : i32 = 0x7FFFFFF; pub type Filter = i32; pub const FILTER_NEAREST : i32 = 0; pub const FILTER_LINEAR : i32 = 1; pub const FILTER_CUBIC_IMG : i32 = 1000015000; pub const FILTER_CUBIC_EXT : i32 = FILTER_CUBIC_IMG; pub const FILTER_MAX_ENUM : i32 = 0x7FFFFFF; pub type SamplerMipmapMode = i32; pub const SAMPLER_MIPMAP_MODE_NEAREST : i32 = 0; pub const SAMPLER_MIPMAP_MODE_LINEAR : i32 = 1; pub const SAMPLER_MIPMAP_MODE_MAX_ENUM : i32 = 0x7FFFFFF; pub type SamplerAddressMode = i32; pub const SAMPLER_ADDRESS_MODE_REPEAT : i32 = 0; pub const SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT : i32 = 1; pub const SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE : i32 = 2; pub const SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER : i32 = 3; pub const SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE : i32 = 4; pub const SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR : i32 = SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE; pub const SAMPLER_ADDRESS_MODE_MAX_ENUM : i32 = 0x7FFFFFF; pub type BorderColor = i32; pub const BORDER_COLOR_FLOAT_TRANSPARENT_BLACK : i32 = 0; pub const BORDER_COLOR_INT_TRANSPARENT_BLACK : i32 = 1; pub const BORDER_COLOR_FLOAT_OPAQUE_BLACK : i32 = 2; pub const BORDER_COLOR_INT_OPAQUE_BLACK : i32 = 3; pub const BORDER_COLOR_FLOAT_OPAQUE_WHITE : i32 = 4; pub const BORDER_COLOR_INT_OPAQUE_WHITE : i32 = 5; pub const BORDER_COLOR_FLOAT_CUSTOM_EXT : i32 = 1000287003; pub const BORDER_COLOR_INT_CUSTOM_EXT : i32 = 1000287004; pub const BORDER_COLOR_MAX_ENUM : i32 = 0x7FFFFFF; pub type DescriptorType = i32; pub const DESCRIPTOR_TYPE_SAMPLER : i32 = 0; pub const DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER : i32 = 1; pub const DESCRIPTOR_TYPE_SAMPLED_IMAGE : i32 = 2; pub const DESCRIPTOR_TYPE_STORAGE_IMAGE : i32 = 3; pub const DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER : i32 = 4; pub const DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER : i32 = 5; pub const DESCRIPTOR_TYPE_UNIFORM_BUFFER : i32 = 6; pub const DESCRIPTOR_TYPE_STORAGE_BUFFER : i32 = 7; pub const DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC : i32 = 8; pub const DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC : i32 = 9; pub const DESCRIPTOR_TYPE_INPUT_ATTACHMENT : i32 = 10; pub const DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT : i32 = 1000138000; pub const DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR : i32 = 1000165000; pub const DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV : i32 = DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR; pub const DESCRIPTOR_TYPE_MAX_ENUM : i32 = 0x7FFFFFF; pub type AttachmentLoadOp = i32; pub const ATTACHMENT_LOAD_OP_LOAD : i32 = 0; pub const ATTACHMENT_LOAD_OP_CLEAR : i32 = 1; pub const ATTACHMENT_LOAD_OP_DONT_CARE : i32 = 2; pub const ATTACHMENT_LOAD_OP_MAX_ENUM : i32 = 0x7FFFFFF; pub type AttachmentStoreOp = i32; pub const ATTACHMENT_STORE_OP_STORE : i32 = 0; pub const ATTACHMENT_STORE_OP_DONT_CARE : i32 = 1; pub const ATTACHMENT_STORE_OP_NONE_QCOM : i32 = 1000301000; pub const ATTACHMENT_STORE_OP_MAX_ENUM : i32 = 0x7FFFFFF; pub type PipelineBindPoint = i32; pub const PIPELINE_BIND_POINT_GRAPHICS : i32 = 0; pub const PIPELINE_BIND_POINT_COMPUTE : i32 = 1; pub const PIPELINE_BIND_POINT_RAY_TRACING_KHR : i32 = 1000165000; pub const PIPELINE_BIND_POINT_RAY_TRACING_NV : i32 = PIPELINE_BIND_POINT_RAY_TRACING_KHR; pub const PIPELINE_BIND_POINT_MAX_ENUM : i32 = 0x7FFFFFF; pub type CommandBufferLevel = i32; pub const COMMAND_BUFFER_LEVEL_PRIMARY : i32 = 0; pub const COMMAND_BUFFER_LEVEL_SECONDARY : i32 = 1; pub const COMMAND_BUFFER_LEVEL_MAX_ENUM : i32 = 0x7FFFFFF; pub type IndexType = i32; pub const INDEX_TYPE_UINT16 : i32 = 0; pub const INDEX_TYPE_UINT32 : i32 = 1; pub const INDEX_TYPE_NONE_KHR : i32 = 1000165000; pub const INDEX_TYPE_UINT8_EXT : i32 = 1000265000; pub const INDEX_TYPE_NONE_NV : i32 = INDEX_TYPE_NONE_KHR; pub const INDEX_TYPE_MAX_ENUM : i32 = 0x7FFFFFF; pub type SubpassContents = i32; pub const SUBPASS_CONTENTS_INLINE : i32 = 0; pub const SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS : i32 = 1; pub const SUBPASS_CONTENTS_MAX_ENUM : i32 = 0x7FFFFFF; pub type ObjectType = i32; pub const OBJECT_TYPE_UNKNOWN : i32 = 0; pub const OBJECT_TYPE_INSTANCE : i32 = 1; pub const OBJECT_TYPE_PHYSICAL_DEVICE : i32 = 2; pub const OBJECT_TYPE_DEVICE : i32 = 3; pub const OBJECT_TYPE_QUEUE : i32 = 4; pub const OBJECT_TYPE_SEMAPHORE : i32 = 5; pub const OBJECT_TYPE_COMMAND_BUFFER : i32 = 6; pub const OBJECT_TYPE_FENCE : i32 = 7; pub const OBJECT_TYPE_DEVICE_MEMORY : i32 = 8; pub const OBJECT_TYPE_BUFFER : i32 = 9; pub const OBJECT_TYPE_IMAGE : i32 = 10; pub const OBJECT_TYPE_EVENT : i32 = 11; pub const OBJECT_TYPE_QUERY_POOL : i32 = 12; pub const OBJECT_TYPE_BUFFER_VIEW : i32 = 13; pub const OBJECT_TYPE_IMAGE_VIEW : i32 = 14; pub const OBJECT_TYPE_SHADER_MODULE : i32 = 15; pub const OBJECT_TYPE_PIPELINE_CACHE : i32 = 16; pub const OBJECT_TYPE_PIPELINE_LAYOUT : i32 = 17; pub const OBJECT_TYPE_RENDER_PASS : i32 = 18; pub const OBJECT_TYPE_PIPELINE : i32 = 19; pub const OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT : i32 = 20; pub const OBJECT_TYPE_SAMPLER : i32 = 21; pub const OBJECT_TYPE_DESCRIPTOR_POOL : i32 = 22; pub const OBJECT_TYPE_DESCRIPTOR_SET : i32 = 23; pub const OBJECT_TYPE_FRAMEBUFFER : i32 = 24; pub const OBJECT_TYPE_COMMAND_POOL : i32 = 25; pub const OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION : i32 = 1000156000; pub const OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE : i32 = 1000085000; pub const OBJECT_TYPE_SURFACE_KHR : i32 = 1000000000; pub const OBJECT_TYPE_SWAPCHAIN_KHR : i32 = 1000001000; pub const OBJECT_TYPE_DISPLAY_KHR : i32 = 1000002000; pub const OBJECT_TYPE_DISPLAY_MODE_KHR : i32 = 1000002001; pub const OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT : i32 = 1000011000; pub const OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT : i32 = 1000128000; pub const OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR : i32 = 1000165000; pub const OBJECT_TYPE_VALIDATION_CACHE_EXT : i32 = 1000160000; pub const OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL : i32 = 1000210000; pub const OBJECT_TYPE_DEFERRED_OPERATION_KHR : i32 = 1000268000; pub const OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV : i32 = 1000277000; pub const OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT : i32 = 1000295000; pub const OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR : i32 = OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE; pub const OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR : i32 = OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION; pub const OBJECT_TYPE_ACCELERATION_STRUCTURE_NV : i32 = OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR; pub const OBJECT_TYPE_MAX_ENUM : i32 = 0x7FFFFFF; pub type VendorId = i32; pub const VENDOR_ID_VIV : i32 = 0x10001; pub const VENDOR_ID_VSI : i32 = 0x10002; pub const VENDOR_ID_KAZAN : i32 = 0x10003; pub const VENDOR_ID_CODEPLAY : i32 = 0x10004; pub const VENDOR_ID_MESA : i32 = 0x10005; pub const VENDOR_ID_MAX_ENUM : i32 = 0x7FFFFFF; pub type InstanceCreateFlags = u32; pub type FormatFeatureFlagBits = i32; pub const FORMAT_FEATURE_SAMPLED_IMAGE_BIT : i32 = 0x00000001; pub const FORMAT_FEATURE_STORAGE_IMAGE_BIT : i32 = 0x00000002; pub const FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT : i32 = 0x00000004; pub const FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT : i32 = 0x00000008; pub const FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT : i32 = 0x00000010; pub const FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT : i32 = 0x00000020; pub const FORMAT_FEATURE_VERTEX_BUFFER_BIT : i32 = 0x00000040; pub const FORMAT_FEATURE_COLOR_ATTACHMENT_BIT : i32 = 0x00000080; pub const FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT : i32 = 0x00000100; pub const FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT : i32 = 0x00000200; pub const FORMAT_FEATURE_BLIT_SRC_BIT : i32 = 0x00000400; pub const FORMAT_FEATURE_BLIT_DST_BIT : i32 = 0x00000800; pub const FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT : i32 = 0x00001000; pub const FORMAT_FEATURE_TRANSFER_SRC_BIT : i32 = 0x00004000; pub const FORMAT_FEATURE_TRANSFER_DST_BIT : i32 = 0x00008000; pub const FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT : i32 = 0x00020000; pub const FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT : i32 = 0x00040000; pub const FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT : i32 = 0x00080000; pub const FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT : i32 = 0x00100000; pub const FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT : i32 = 0x00200000; pub const FORMAT_FEATURE_DISJOINT_BIT : i32 = 0x00400000; pub const FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT : i32 = 0x00800000; pub const FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT : i32 = 0x00010000; pub const FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG : i32 = 0x00002000; pub const FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR : i32 = 0x20000000; pub const FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT : i32 = 0x01000000; pub const FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR : i32 = FORMAT_FEATURE_TRANSFER_SRC_BIT; pub const FORMAT_FEATURE_TRANSFER_DST_BIT_KHR : i32 = FORMAT_FEATURE_TRANSFER_DST_BIT; pub const FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT : i32 = FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT; pub const FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR : i32 = FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT; pub const FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR : i32 = FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT; pub const FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR : i32 = FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT; pub const FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR : i32 = FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT; pub 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; pub const FORMAT_FEATURE_DISJOINT_BIT_KHR : i32 = FORMAT_FEATURE_DISJOINT_BIT; pub const FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR : i32 = FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT; pub const FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT : i32 = FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG; pub const FORMAT_FEATURE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type FormatFeatureFlags = u32; pub type ImageUsageFlagBits = i32; pub const IMAGE_USAGE_TRANSFER_SRC_BIT : i32 = 0x00000001; pub const IMAGE_USAGE_TRANSFER_DST_BIT : i32 = 0x00000002; pub const IMAGE_USAGE_SAMPLED_BIT : i32 = 0x00000004; pub const IMAGE_USAGE_STORAGE_BIT : i32 = 0x00000008; pub const IMAGE_USAGE_COLOR_ATTACHMENT_BIT : i32 = 0x00000010; pub const IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT : i32 = 0x00000020; pub const IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT : i32 = 0x00000040; pub const IMAGE_USAGE_INPUT_ATTACHMENT_BIT : i32 = 0x00000080; pub const IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV : i32 = 0x00000100; pub const IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT : i32 = 0x00000200; pub const IMAGE_USAGE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type ImageUsageFlags = u32; pub type ImageCreateFlagBits = i32; pub const IMAGE_CREATE_SPARSE_BINDING_BIT : i32 = 0x00000001; pub const IMAGE_CREATE_SPARSE_RESIDENCY_BIT : i32 = 0x00000002; pub const IMAGE_CREATE_SPARSE_ALIASED_BIT : i32 = 0x00000004; pub const IMAGE_CREATE_MUTABLE_FORMAT_BIT : i32 = 0x00000008; pub const IMAGE_CREATE_CUBE_COMPATIBLE_BIT : i32 = 0x00000010; pub const IMAGE_CREATE_ALIAS_BIT : i32 = 0x00000400; pub const IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT : i32 = 0x00000040; pub const IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT : i32 = 0x00000020; pub const IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT : i32 = 0x00000080; pub const IMAGE_CREATE_EXTENDED_USAGE_BIT : i32 = 0x00000100; pub const IMAGE_CREATE_PROTECTED_BIT : i32 = 0x00000800; pub const IMAGE_CREATE_DISJOINT_BIT : i32 = 0x00000200; pub const IMAGE_CREATE_CORNER_SAMPLED_BIT_NV : i32 = 0x00002000; pub const IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT : i32 = 0x00001000; pub const IMAGE_CREATE_SUBSAMPLED_BIT_EXT : i32 = 0x00004000; pub const IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR : i32 = IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT; pub const IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR : i32 = IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT; pub const IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR : i32 = IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT; pub const IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR : i32 = IMAGE_CREATE_EXTENDED_USAGE_BIT; pub const IMAGE_CREATE_DISJOINT_BIT_KHR : i32 = IMAGE_CREATE_DISJOINT_BIT; pub const IMAGE_CREATE_ALIAS_BIT_KHR : i32 = IMAGE_CREATE_ALIAS_BIT; pub const IMAGE_CREATE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type ImageCreateFlags = u32; pub type SampleCountFlagBits = i32; pub const SAMPLE_COUNT_1_BIT : i32 = 0x00000001; pub const SAMPLE_COUNT_2_BIT : i32 = 0x00000002; pub const SAMPLE_COUNT_4_BIT : i32 = 0x00000004; pub const SAMPLE_COUNT_8_BIT : i32 = 0x00000008; pub const SAMPLE_COUNT_16_BIT : i32 = 0x00000010; pub const SAMPLE_COUNT_32_BIT : i32 = 0x00000020; pub const SAMPLE_COUNT_64_BIT : i32 = 0x00000040; pub const SAMPLE_COUNT_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type SampleCountFlags = u32; pub type QueueFlagBits = i32; pub const QUEUE_GRAPHICS_BIT : i32 = 0x00000001; pub const QUEUE_COMPUTE_BIT : i32 = 0x00000002; pub const QUEUE_TRANSFER_BIT : i32 = 0x00000004; pub const QUEUE_SPARSE_BINDING_BIT : i32 = 0x00000008; pub const QUEUE_PROTECTED_BIT : i32 = 0x00000010; pub const QUEUE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type QueueFlags = u32; pub type MemoryPropertyFlagBits = i32; pub const MEMORY_PROPERTY_DEVICE_LOCAL_BIT : i32 = 0x00000001; pub const MEMORY_PROPERTY_HOST_VISIBLE_BIT : i32 = 0x00000002; pub const MEMORY_PROPERTY_HOST_COHERENT_BIT : i32 = 0x00000004; pub const MEMORY_PROPERTY_HOST_CACHED_BIT : i32 = 0x00000008; pub const MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT : i32 = 0x00000010; pub const MEMORY_PROPERTY_PROTECTED_BIT : i32 = 0x00000020; pub const MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD : i32 = 0x00000040; pub const MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD : i32 = 0x00000080; pub const MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type MemoryPropertyFlags = u32; pub type MemoryHeapFlagBits = i32; pub const MEMORY_HEAP_DEVICE_LOCAL_BIT : i32 = 0x00000001; pub const MEMORY_HEAP_MULTI_INSTANCE_BIT : i32 = 0x00000002; pub const MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR : i32 = MEMORY_HEAP_MULTI_INSTANCE_BIT; pub const MEMORY_HEAP_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type MemoryHeapFlags = u32; pub type DeviceCreateFlags = u32; pub type DeviceQueueCreateFlagBits = i32; pub const DEVICE_QUEUE_CREATE_PROTECTED_BIT : i32 = 0x00000001; pub const DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type DeviceQueueCreateFlags = u32; pub type PipelineStageFlagBits = i32; pub const PIPELINE_STAGE_TOP_OF_PIPE_BIT : i32 = 0x00000001; pub const PIPELINE_STAGE_DRAW_INDIRECT_BIT : i32 = 0x00000002; pub const PIPELINE_STAGE_VERTEX_INPUT_BIT : i32 = 0x00000004; pub const PIPELINE_STAGE_VERTEX_SHADER_BIT : i32 = 0x00000008; pub const PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT : i32 = 0x00000010; pub const PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT : i32 = 0x00000020; pub const PIPELINE_STAGE_GEOMETRY_SHADER_BIT : i32 = 0x00000040; pub const PIPELINE_STAGE_FRAGMENT_SHADER_BIT : i32 = 0x00000080; pub const PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT : i32 = 0x00000100; pub const PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT : i32 = 0x00000200; pub const PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT : i32 = 0x00000400; pub const PIPELINE_STAGE_COMPUTE_SHADER_BIT : i32 = 0x00000800; pub const PIPELINE_STAGE_TRANSFER_BIT : i32 = 0x00001000; pub const PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT : i32 = 0x00002000; pub const PIPELINE_STAGE_HOST_BIT : i32 = 0x00004000; pub const PIPELINE_STAGE_ALL_GRAPHICS_BIT : i32 = 0x00008000; pub const PIPELINE_STAGE_ALL_COMMANDS_BIT : i32 = 0x00010000; pub const PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT : i32 = 0x01000000; pub const PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT : i32 = 0x00040000; pub const PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR : i32 = 0x00200000; pub const PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR : i32 = 0x02000000; pub const PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV : i32 = 0x00400000; pub const PIPELINE_STAGE_TASK_SHADER_BIT_NV : i32 = 0x00080000; pub const PIPELINE_STAGE_MESH_SHADER_BIT_NV : i32 = 0x00100000; pub const PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT : i32 = 0x00800000; pub const PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV : i32 = 0x00020000; pub const PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV : i32 = PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR; pub const PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV : i32 = PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR; pub const PIPELINE_STAGE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type PipelineStageFlags = u32; pub type MemoryMapFlags = u32; pub type ImageAspectFlagBits = i32; pub const IMAGE_ASPECT_COLOR_BIT : i32 = 0x00000001; pub const IMAGE_ASPECT_DEPTH_BIT : i32 = 0x00000002; pub const IMAGE_ASPECT_STENCIL_BIT : i32 = 0x00000004; pub const IMAGE_ASPECT_METADATA_BIT : i32 = 0x00000008; pub const IMAGE_ASPECT_PLANE_0_BIT : i32 = 0x00000010; pub const IMAGE_ASPECT_PLANE_1_BIT : i32 = 0x00000020; pub const IMAGE_ASPECT_PLANE_2_BIT : i32 = 0x00000040; pub const IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT : i32 = 0x00000080; pub const IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT : i32 = 0x00000100; pub const IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT : i32 = 0x00000200; pub const IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT : i32 = 0x00000400; pub const IMAGE_ASPECT_PLANE_0_BIT_KHR : i32 = IMAGE_ASPECT_PLANE_0_BIT; pub const IMAGE_ASPECT_PLANE_1_BIT_KHR : i32 = IMAGE_ASPECT_PLANE_1_BIT; pub const IMAGE_ASPECT_PLANE_2_BIT_KHR : i32 = IMAGE_ASPECT_PLANE_2_BIT; pub const IMAGE_ASPECT_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type ImageAspectFlags = u32; pub type SparseImageFormatFlagBits = i32; pub const SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT : i32 = 0x00000001; pub const SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT : i32 = 0x00000002; pub const SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT : i32 = 0x00000004; pub const SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type SparseImageFormatFlags = u32; pub type SparseMemoryBindFlagBits = i32; pub const SPARSE_MEMORY_BIND_METADATA_BIT : i32 = 0x00000001; pub const SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type SparseMemoryBindFlags = u32; pub type FenceCreateFlagBits = i32; pub const FENCE_CREATE_SIGNALED_BIT : i32 = 0x00000001; pub const FENCE_CREATE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type FenceCreateFlags = u32; pub type SemaphoreCreateFlags = u32; pub type EventCreateFlags = u32; pub type QueryPoolCreateFlags = u32; pub type QueryPipelineStatisticFlagBits = i32; pub const QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT : i32 = 0x00000001; pub const QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT : i32 = 0x00000002; pub const QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT : i32 = 0x00000004; pub const QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT : i32 = 0x00000008; pub const QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT : i32 = 0x00000010; pub const QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT : i32 = 0x00000020; pub const QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT : i32 = 0x00000040; pub const QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT : i32 = 0x00000080; pub const QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT : i32 = 0x00000100; pub const QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT : i32 = 0x00000200; pub const QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT : i32 = 0x00000400; pub const QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type QueryPipelineStatisticFlags = u32; pub type QueryResultFlagBits = i32; pub const QUERY_RESULT_64_BIT : i32 = 0x00000001; pub const QUERY_RESULT_WAIT_BIT : i32 = 0x00000002; pub const QUERY_RESULT_WITH_AVAILABILITY_BIT : i32 = 0x00000004; pub const QUERY_RESULT_PARTIAL_BIT : i32 = 0x00000008; pub const QUERY_RESULT_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type QueryResultFlags = u32; pub type BufferCreateFlagBits = i32; pub const BUFFER_CREATE_SPARSE_BINDING_BIT : i32 = 0x00000001; pub const BUFFER_CREATE_SPARSE_RESIDENCY_BIT : i32 = 0x00000002; pub const BUFFER_CREATE_SPARSE_ALIASED_BIT : i32 = 0x00000004; pub const BUFFER_CREATE_PROTECTED_BIT : i32 = 0x00000008; pub const BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT : i32 = 0x00000010; pub const BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT : i32 = BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT; pub const BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR : i32 = BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT; pub const BUFFER_CREATE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type BufferCreateFlags = u32; pub type BufferUsageFlagBits = i32; pub const BUFFER_USAGE_TRANSFER_SRC_BIT : i32 = 0x00000001; pub const BUFFER_USAGE_TRANSFER_DST_BIT : i32 = 0x00000002; pub const BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT : i32 = 0x00000004; pub const BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT : i32 = 0x00000008; pub const BUFFER_USAGE_UNIFORM_BUFFER_BIT : i32 = 0x00000010; pub const BUFFER_USAGE_STORAGE_BUFFER_BIT : i32 = 0x00000020; pub const BUFFER_USAGE_INDEX_BUFFER_BIT : i32 = 0x00000040; pub const BUFFER_USAGE_VERTEX_BUFFER_BIT : i32 = 0x00000080; pub const BUFFER_USAGE_INDIRECT_BUFFER_BIT : i32 = 0x00000100; pub const BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT : i32 = 0x00020000; pub const BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT : i32 = 0x00000800; pub const BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT : i32 = 0x00001000; pub const BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT : i32 = 0x00000200; pub const BUFFER_USAGE_RAY_TRACING_BIT_KHR : i32 = 0x00000400; pub const BUFFER_USAGE_RAY_TRACING_BIT_NV : i32 = BUFFER_USAGE_RAY_TRACING_BIT_KHR; pub const BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT : i32 = BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT; pub const BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR : i32 = BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT; pub const BUFFER_USAGE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type BufferUsageFlags = u32; pub type BufferViewCreateFlags = u32; pub type ImageViewCreateFlagBits = i32; pub const IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT : i32 = 0x00000001; pub const IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type ImageViewCreateFlags = u32; pub type ShaderModuleCreateFlagBits = i32; pub const SHADER_MODULE_CREATE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type ShaderModuleCreateFlags = u32; pub type PipelineCacheCreateFlagBits = i32; pub const PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT : i32 = 0x00000001; pub const PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type PipelineCacheCreateFlags = u32; pub type PipelineCreateFlagBits = i32; pub const PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT : i32 = 0x00000001; pub const PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT : i32 = 0x00000002; pub const PIPELINE_CREATE_DERIVATIVE_BIT : i32 = 0x00000004; pub const PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT : i32 = 0x00000008; pub const PIPELINE_CREATE_DISPATCH_BASE_BIT : i32 = 0x00000010; pub const PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR : i32 = 0x00004000; pub const PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR : i32 = 0x00008000; pub const PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR : i32 = 0x00010000; pub const PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR : i32 = 0x00020000; pub const PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR : i32 = 0x00001000; pub const PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR : i32 = 0x00002000; pub const PIPELINE_CREATE_DEFER_COMPILE_BIT_NV : i32 = 0x00000020; pub const PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR : i32 = 0x00000040; pub const PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR : i32 = 0x00000080; pub const PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV : i32 = 0x00040000; pub const PIPELINE_CREATE_LIBRARY_BIT_KHR : i32 = 0x00000800; pub const PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT : i32 = 0x00000100; pub const PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT : i32 = 0x00000200; pub const PIPELINE_CREATE_DISPATCH_BASE : i32 = PIPELINE_CREATE_DISPATCH_BASE_BIT; pub const PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR : i32 = PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT; pub const PIPELINE_CREATE_DISPATCH_BASE_KHR : i32 = PIPELINE_CREATE_DISPATCH_BASE; pub const PIPELINE_CREATE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type PipelineCreateFlags = u32; pub type PipelineShaderStageCreateFlagBits = i32; pub const PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT : i32 = 0x00000001; pub const PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT : i32 = 0x00000002; pub const PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type PipelineShaderStageCreateFlags = u32; pub type ShaderStageFlagBits = i32; pub const SHADER_STAGE_VERTEX_BIT : i32 = 0x00000001; pub const SHADER_STAGE_TESSELLATION_CONTROL_BIT : i32 = 0x00000002; pub const SHADER_STAGE_TESSELLATION_EVALUATION_BIT : i32 = 0x00000004; pub const SHADER_STAGE_GEOMETRY_BIT : i32 = 0x00000008; pub const SHADER_STAGE_FRAGMENT_BIT : i32 = 0x00000010; pub const SHADER_STAGE_COMPUTE_BIT : i32 = 0x00000020; pub const SHADER_STAGE_ALL_GRAPHICS : i32 = 0x0000001F; pub const SHADER_STAGE_ALL : i32 = 0x7FFFFFFF; pub const SHADER_STAGE_RAYGEN_BIT_KHR : i32 = 0x00000100; pub const SHADER_STAGE_ANY_HIT_BIT_KHR : i32 = 0x00000200; pub const SHADER_STAGE_CLOSEST_HIT_BIT_KHR : i32 = 0x00000400; pub const SHADER_STAGE_MISS_BIT_KHR : i32 = 0x00000800; pub const SHADER_STAGE_INTERSECTION_BIT_KHR : i32 = 0x00001000; pub const SHADER_STAGE_CALLABLE_BIT_KHR : i32 = 0x00002000; pub const SHADER_STAGE_TASK_BIT_NV : i32 = 0x00000040; pub const SHADER_STAGE_MESH_BIT_NV : i32 = 0x00000080; pub const SHADER_STAGE_RAYGEN_BIT_NV : i32 = SHADER_STAGE_RAYGEN_BIT_KHR; pub const SHADER_STAGE_ANY_HIT_BIT_NV : i32 = SHADER_STAGE_ANY_HIT_BIT_KHR; pub const SHADER_STAGE_CLOSEST_HIT_BIT_NV : i32 = SHADER_STAGE_CLOSEST_HIT_BIT_KHR; pub const SHADER_STAGE_MISS_BIT_NV : i32 = SHADER_STAGE_MISS_BIT_KHR; pub const SHADER_STAGE_INTERSECTION_BIT_NV : i32 = SHADER_STAGE_INTERSECTION_BIT_KHR; pub const SHADER_STAGE_CALLABLE_BIT_NV : i32 = SHADER_STAGE_CALLABLE_BIT_KHR; pub const SHADER_STAGE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type PipelineVertexInputStateCreateFlags = u32; pub type PipelineInputAssemblyStateCreateFlags = u32; pub type PipelineTessellationStateCreateFlags = u32; pub type PipelineViewportStateCreateFlags = u32; pub type PipelineRasterizationStateCreateFlags = u32; pub type CullModeFlagBits = i32; pub const CULL_MODE_NONE : i32 = 0; pub const CULL_MODE_FRONT_BIT : i32 = 0x00000001; pub const CULL_MODE_BACK_BIT : i32 = 0x00000002; pub const CULL_MODE_FRONT_AND_BACK : i32 = 0x00000003; pub const CULL_MODE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type CullModeFlags = u32; pub type PipelineMultisampleStateCreateFlags = u32; pub type PipelineDepthStencilStateCreateFlags = u32; pub type PipelineColorBlendStateCreateFlags = u32; pub type ColorComponentFlagBits = i32; pub const COLOR_COMPONENT_R_BIT : i32 = 0x00000001; pub const COLOR_COMPONENT_G_BIT : i32 = 0x00000002; pub const COLOR_COMPONENT_B_BIT : i32 = 0x00000004; pub const COLOR_COMPONENT_A_BIT : i32 = 0x00000008; pub const COLOR_COMPONENT_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type ColorComponentFlags = u32; pub type PipelineDynamicStateCreateFlags = u32; pub type PipelineLayoutCreateFlags = u32; pub type ShaderStageFlags = u32; pub type SamplerCreateFlagBits = i32; pub const SAMPLER_CREATE_SUBSAMPLED_BIT_EXT : i32 = 0x00000001; pub const SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT : i32 = 0x00000002; pub const SAMPLER_CREATE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type SamplerCreateFlags = u32; pub type DescriptorSetLayoutCreateFlagBits = i32; pub const DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT : i32 = 0x00000002; pub const DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR : i32 = 0x00000001; pub const DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT : i32 = DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT; pub const DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type DescriptorSetLayoutCreateFlags = u32; pub type DescriptorPoolCreateFlagBits = i32; pub const DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT : i32 = 0x00000001; pub const DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT : i32 = 0x00000002; pub const DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT : i32 = DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT; pub const DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type DescriptorPoolCreateFlags = u32; pub type DescriptorPoolResetFlags = u32; pub type FramebufferCreateFlagBits = i32; pub const FRAMEBUFFER_CREATE_IMAGELESS_BIT : i32 = 0x00000001; pub const FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR : i32 = FRAMEBUFFER_CREATE_IMAGELESS_BIT; pub const FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type FramebufferCreateFlags = u32; pub type RenderPassCreateFlagBits = i32; pub const RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM : i32 = 0x00000002; pub const RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type RenderPassCreateFlags = u32; pub type AttachmentDescriptionFlagBits = i32; pub const ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT : i32 = 0x00000001; pub const ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type AttachmentDescriptionFlags = u32; pub type SubpassDescriptionFlagBits = i32; pub const SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX : i32 = 0x00000001; pub const SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX : i32 = 0x00000002; pub const SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM : i32 = 0x00000004; pub const SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM : i32 = 0x00000008; pub const SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type SubpassDescriptionFlags = u32; pub type AccessFlagBits = i32; pub const ACCESS_INDIRECT_COMMAND_READ_BIT : i32 = 0x00000001; pub const ACCESS_INDEX_READ_BIT : i32 = 0x00000002; pub const ACCESS_VERTEX_ATTRIBUTE_READ_BIT : i32 = 0x00000004; pub const ACCESS_UNIFORM_READ_BIT : i32 = 0x00000008; pub const ACCESS_INPUT_ATTACHMENT_READ_BIT : i32 = 0x00000010; pub const ACCESS_SHADER_READ_BIT : i32 = 0x00000020; pub const ACCESS_SHADER_WRITE_BIT : i32 = 0x00000040; pub const ACCESS_COLOR_ATTACHMENT_READ_BIT : i32 = 0x00000080; pub const ACCESS_COLOR_ATTACHMENT_WRITE_BIT : i32 = 0x00000100; pub const ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT : i32 = 0x00000200; pub const ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT : i32 = 0x00000400; pub const ACCESS_TRANSFER_READ_BIT : i32 = 0x00000800; pub const ACCESS_TRANSFER_WRITE_BIT : i32 = 0x00001000; pub const ACCESS_HOST_READ_BIT : i32 = 0x00002000; pub const ACCESS_HOST_WRITE_BIT : i32 = 0x00004000; pub const ACCESS_MEMORY_READ_BIT : i32 = 0x00008000; pub const ACCESS_MEMORY_WRITE_BIT : i32 = 0x00010000; pub const ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT : i32 = 0x02000000; pub const ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT : i32 = 0x04000000; pub const ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT : i32 = 0x08000000; pub const ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT : i32 = 0x00100000; pub const ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT : i32 = 0x00080000; pub const ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR : i32 = 0x00200000; pub const ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR : i32 = 0x00400000; pub const ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV : i32 = 0x00800000; pub const ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT : i32 = 0x01000000; pub const ACCESS_COMMAND_PREPROCESS_READ_BIT_NV : i32 = 0x00020000; pub const ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV : i32 = 0x00040000; pub const ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV : i32 = ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR; pub const ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV : i32 = ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR; pub const ACCESS_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type AccessFlags = u32; pub type DependencyFlagBits = i32; pub const DEPENDENCY_BY_REGION_BIT : i32 = 0x00000001; pub const DEPENDENCY_DEVICE_GROUP_BIT : i32 = 0x00000004; pub const DEPENDENCY_VIEW_LOCAL_BIT : i32 = 0x00000002; pub const DEPENDENCY_VIEW_LOCAL_BIT_KHR : i32 = DEPENDENCY_VIEW_LOCAL_BIT; pub const DEPENDENCY_DEVICE_GROUP_BIT_KHR : i32 = DEPENDENCY_DEVICE_GROUP_BIT; pub const DEPENDENCY_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type DependencyFlags = u32; pub type CommandPoolCreateFlagBits = i32; pub const COMMAND_POOL_CREATE_TRANSIENT_BIT : i32 = 0x00000001; pub const COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT : i32 = 0x00000002; pub const COMMAND_POOL_CREATE_PROTECTED_BIT : i32 = 0x00000004; pub const COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type CommandPoolCreateFlags = u32; pub type CommandPoolResetFlagBits = i32; pub const COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT : i32 = 0x00000001; pub const COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type CommandPoolResetFlags = u32; pub type CommandBufferUsageFlagBits = i32; pub const COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT : i32 = 0x00000001; pub const COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT : i32 = 0x00000002; pub const COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT : i32 = 0x00000004; pub const COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type CommandBufferUsageFlags = u32; pub type QueryControlFlagBits = i32; pub const QUERY_CONTROL_PRECISE_BIT : i32 = 0x00000001; pub const QUERY_CONTROL_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type QueryControlFlags = u32; pub type CommandBufferResetFlagBits = i32; pub const COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT : i32 = 0x00000001; pub const COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type CommandBufferResetFlags = u32; pub type StencilFaceFlagBits = i32; pub const STENCIL_FACE_FRONT_BIT : i32 = 0x00000001; pub const STENCIL_FACE_BACK_BIT : i32 = 0x00000002; pub const STENCIL_FACE_FRONT_AND_BACK : i32 = 0x00000003; pub const STENCIL_FRONT_AND_BACK : i32 = STENCIL_FACE_FRONT_AND_BACK; pub const STENCIL_FACE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type StencilFaceFlags = u32; #[repr(C)] pub struct ApplicationInfo { pub sType : StructureType, pub pNext : *const void, pub pApplicationName : *const i8, pub applicationVersion : u32, pub pEngineName : *const i8, pub engineVersion : u32, pub apiVersion : u32, } #[repr(C)] pub struct InstanceCreateInfo { pub sType : StructureType, pub pNext : *const void, pub flags : i32, pub pApplicationInfo : *const ApplicationInfo, pub enabledLayerCount : u32, pub ppEnabledLayerNames : *const *const i8, pub enabledExtensionCount : u32, pub ppEnabledExtensionNames : *const *const i8, } #[repr(C)] pub struct AllocationCallbacks { pub pUserData : *mut void, pub pfnAllocation : u64, pub pfnReallocation : u64, pub pfnFree : u64, pub pfnInternalAllocation : u64, pub pfnInternalFree : u64, } #[repr(C)] pub struct PhysicalDeviceFeatures { pub robustBufferAccess : Bool32, pub fullDrawIndexUint32 : Bool32, pub imageCubeArray : Bool32, pub independentBlend : Bool32, pub geometryShader : Bool32, pub tessellationShader : Bool32, pub sampleRateShading : Bool32, pub dualSrcBlend : Bool32, pub logicOp : Bool32, pub multiDrawIndirect : Bool32, pub drawIndirectFirstInstance : Bool32, pub depthClamp : Bool32, pub depthBiasClamp : Bool32, pub fillModeNonSolid : Bool32, pub depthBounds : Bool32, pub wideLines : Bool32, pub largePoints : Bool32, pub alphaToOne : Bool32, pub multiViewport : Bool32, pub samplerAnisotropy : Bool32, pub textureCompressionETC2 : Bool32, pub textureCompressionASTC_LDR : Bool32, pub textureCompressionBC : Bool32, pub occlusionQueryPrecise : Bool32, pub pipelineStatisticsQuery : Bool32, pub vertexPipelineStoresAndAtomics : Bool32, pub fragmentStoresAndAtomics : Bool32, pub shaderTessellationAndGeometryPointSize : Bool32, pub shaderImageGatherExtended : Bool32, pub shaderStorageImageExtendedFormats : Bool32, pub shaderStorageImageMultisample : Bool32, pub shaderStorageImageReadWithoutFormat : Bool32, pub shaderStorageImageWriteWithoutFormat : Bool32, pub shaderUniformBufferArrayDynamicIndexing : Bool32, pub shaderSampledImageArrayDynamicIndexing : Bool32, pub shaderStorageBufferArrayDynamicIndexing : Bool32, pub shaderStorageImageArrayDynamicIndexing : Bool32, pub shaderClipDistance : Bool32, pub shaderCullDistance : Bool32, pub shaderFloat64 : Bool32, pub shaderInt64 : Bool32, pub shaderInt16 : Bool32, pub shaderResourceResidency : Bool32, pub shaderResourceMinLod : Bool32, pub sparseBinding : Bool32, pub sparseResidencyBuffer : Bool32, pub sparseResidencyImage2D : Bool32, pub sparseResidencyImage3D : Bool32, pub sparseResidency2Samples : Bool32, pub sparseResidency4Samples : Bool32, pub sparseResidency8Samples : Bool32, pub sparseResidency16Samples : Bool32, pub sparseResidencyAliased : Bool32, pub variableMultisampleRate : Bool32, pub inheritedQueries : Bool32, } #[repr(C)] pub struct FormatProperties { pub linearTilingFeatures : FormatFeatureFlags, pub optimalTilingFeatures : FormatFeatureFlags, pub bufferFeatures : FormatFeatureFlags, } #[repr(C)] pub struct Extent3D { pub width : u32, pub height : u32, pub depth : u32, } #[repr(C)] pub struct ImageFormatProperties { pub maxExtent : Extent3D, pub maxMipLevels : u32, pub maxArrayLayers : u32, pub sampleCounts : SampleCountFlags, pub maxResourceSize : DeviceSize, } #[repr(C)] pub struct PhysicalDeviceLimits { pub maxImageDimension1D : u32, pub maxImageDimension2D : u32, pub maxImageDimension3D : u32, pub maxImageDimensionCube : u32, pub maxImageArrayLayers : u32, pub maxTexelBufferElements : u32, pub maxUniformBufferRange : u32, pub maxStorageBufferRange : u32, pub maxPushConstantsSize : u32, pub maxMemoryAllocationCount : u32, pub maxSamplerAllocationCount : u32, pub bufferImageGranularity : DeviceSize, pub sparseAddressSpaceSize : DeviceSize, pub maxBoundDescriptorSets : u32, pub maxPerStageDescriptorSamplers : u32, pub maxPerStageDescriptorUniformBuffers : u32, pub maxPerStageDescriptorStorageBuffers : u32, pub maxPerStageDescriptorSampledImages : u32, pub maxPerStageDescriptorStorageImages : u32, pub maxPerStageDescriptorInputAttachments : u32, pub maxPerStageResources : u32, pub maxDescriptorSetSamplers : u32, pub maxDescriptorSetUniformBuffers : u32, pub maxDescriptorSetUniformBuffersDynamic : u32, pub maxDescriptorSetStorageBuffers : u32, pub maxDescriptorSetStorageBuffersDynamic : u32, pub maxDescriptorSetSampledImages : u32, pub maxDescriptorSetStorageImages : u32, pub maxDescriptorSetInputAttachments : u32, pub maxVertexInputAttributes : u32, pub maxVertexInputBindings : u32, pub maxVertexInputAttributeOffset : u32, pub maxVertexInputBindingStride : u32, pub maxVertexOutputComponents : u32, pub maxTessellationGenerationLevel : u32, pub maxTessellationPatchSize : u32, pub maxTessellationControlPerVertexInputComponents : u32, pub maxTessellationControlPerVertexOutputComponents : u32, pub maxTessellationControlPerPatchOutputComponents : u32, pub maxTessellationControlTotalOutputComponents : u32, pub maxTessellationEvaluationInputComponents : u32, pub maxTessellationEvaluationOutputComponents : u32, pub maxGeometryShaderInvocations : u32, pub maxGeometryInputComponents : u32, pub maxGeometryOutputComponents : u32, pub maxGeometryOutputVertices : u32, pub maxGeometryTotalOutputComponents : u32, pub maxFragmentInputComponents : u32, pub maxFragmentOutputAttachments : u32, pub maxFragmentDualSrcAttachments : u32, pub maxFragmentCombinedOutputResources : u32, pub maxComputeSharedMemorySize : u32, pub maxComputeWorkGroupCount : [u32;3], pub maxComputeWorkGroupInvocations : u32, pub maxComputeWorkGroupSize : [u32;3], pub subPixelPrecisionBits : u32, pub subTexelPrecisionBits : u32, pub mipmapPrecisionBits : u32, pub maxDrawIndexedIndexValue : u32, pub maxDrawIndirectCount : u32, pub maxSamplerLodBias : f32, pub maxSamplerAnisotropy : f32, pub maxViewports : u32, pub maxViewportDimensions : [u32;2], pub viewportBoundsRange : [f32;2], pub viewportSubPixelBits : u32, pub minMemoryMapAlignment : usize, pub minTexelBufferOffsetAlignment : DeviceSize, pub minUniformBufferOffsetAlignment : DeviceSize, pub minStorageBufferOffsetAlignment : DeviceSize, pub minTexelOffset : i32, pub maxTexelOffset : u32, pub minTexelGatherOffset : i32, pub maxTexelGatherOffset : u32, pub minInterpolationOffset : f32, pub maxInterpolationOffset : f32, pub subPixelInterpolationOffsetBits : u32, pub maxFramebufferWidth : u32, pub maxFramebufferHeight : u32, pub maxFramebufferLayers : u32, pub framebufferColorSampleCounts : SampleCountFlags, pub framebufferDepthSampleCounts : SampleCountFlags, pub framebufferStencilSampleCounts : SampleCountFlags, pub framebufferNoAttachmentsSampleCounts : SampleCountFlags, pub maxColorAttachments : u32, pub sampledImageColorSampleCounts : SampleCountFlags, pub sampledImageIntegerSampleCounts : SampleCountFlags, pub sampledImageDepthSampleCounts : SampleCountFlags, pub sampledImageStencilSampleCounts : SampleCountFlags, pub storageImageSampleCounts : SampleCountFlags, pub maxSampleMaskWords : u32, pub timestampComputeAndGraphics : Bool32, pub timestampPeriod : f32, pub maxClipDistances : u32, pub maxCullDistances : u32, pub maxCombinedClipAndCullDistances : u32, pub discreteQueuePriorities : u32, pub pointSizeRange : [f32;2], pub lineWidthRange : [f32;2], pub pointSizeGranularity : f32, pub lineWidthGranularity : f32, pub strictLines : Bool32, pub standardSampleLocations : Bool32, pub optimalBufferCopyOffsetAlignment : DeviceSize, pub optimalBufferCopyRowPitchAlignment : DeviceSize, pub nonCoherentAtomSize : DeviceSize, } #[repr(C)] pub struct PhysicalDeviceSparseProperties { pub residencyStandard2DBlockShape : Bool32, pub residencyStandard2DMultisampleBlockShape : Bool32, pub residencyStandard3DBlockShape : Bool32, pub residencyAlignedMipSize : Bool32, pub residencyNonResidentStrict : Bool32, } #[repr(C)] pub struct PhysicalDeviceProperties { pub apiVersion : u32, pub driverVersion : u32, pub vendorID : u32, pub deviceID : u32, pub deviceType : PhysicalDeviceType, pub deviceName : [i8;MAX_PHYSICAL_DEVICE_NAME_SIZE], pub pipelineCacheUUID : [u8;UUID_SIZE], pub limits : PhysicalDeviceLimits, pub sparseProperties : PhysicalDeviceSparseProperties, } #[repr(C)] pub struct QueueFamilyProperties { pub queueFlags : QueueFlags, pub queueCount : u32, pub timestampValidBits : u32, pub minImageTransferGranularity : Extent3D, } #[repr(C)] pub struct MemoryType { pub propertyFlags : MemoryPropertyFlags, pub heapIndex : u32, } #[repr(C)] pub struct MemoryHeap { pub size : DeviceSize, pub flags : MemoryHeapFlags, } #[repr(C)] pub struct PhysicalDeviceMemoryProperties { pub memoryTypeCount : u32, pub memoryTypes : [MemoryType;MAX_MEMORY_TYPES], pub memoryHeapCount : u32, pub memoryHeaps : [MemoryHeap;MAX_MEMORY_HEAPS], } #[repr(C)] pub struct DeviceQueueCreateInfo { pub sType : StructureType, pub pNext : *const void, pub flags : DeviceQueueCreateFlags, pub queueFamilyIndex : u32, pub queueCount : u32, pub pQueuePriorities : *const f32, } #[repr(C)] pub struct DeviceCreateInfo { pub sType : StructureType, pub pNext : *const void, pub flags : DeviceCreateFlags, pub queueCreateInfoCount : u32, pub pQueueCreateInfos : *const DeviceQueueCreateInfo, pub enabledLayerCount : u32, pub ppEnabledLayerNames : *const *const i8, pub enabledExtensionCount : u32, pub ppEnabledExtensionNames : *const *const i8, pub pEnabledFeatures : *const PhysicalDeviceFeatures, } #[repr(C)] pub struct ExtensionProperties { pub extensionName : [i8;MAX_EXTENSION_NAME_SIZE], pub specVersion : u32, } #[repr(C)] pub struct LayerProperties { pub layerName : [i8;MAX_EXTENSION_NAME_SIZE], pub specVersion : u32, pub implementationVersion : u32, pub description : [i8;MAX_DESCRIPTION_SIZE], } #[repr(C)] pub struct SubmitInfo { pub sType : StructureType, pub pNext : *const void, pub waitSemaphoreCount : u32, pub pWaitSemaphores : *const Semaphore, pub pWaitDstStageMask : *const PipelineStageFlags, pub commandBufferCount : u32, pub pCommandBuffers : *const CommandBuffer, pub signalSemaphoreCount : u32, pub pSignalSemaphores : *const Semaphore, } #[repr(C)] pub struct MemoryAllocateInfo { pub sType : StructureType, pub pNext : *const void, pub allocationSize : DeviceSize, pub memoryTypeIndex : u32, } #[repr(C)] pub struct MappedMemoryRange { pub sType : StructureType, pub pNext : *const void, pub memory : DeviceMemory, pub offset : DeviceSize, pub size : DeviceSize, } #[repr(C)] pub struct MemoryRequirements { pub size : DeviceSize, pub alignment : DeviceSize, pub memoryTypeBits : u32, } #[repr(C)] pub struct SparseImageFormatProperties { pub aspectMask : ImageAspectFlags, pub imageGranularity : Extent3D, pub flags : SparseImageFormatFlags, } #[repr(C)] pub struct SparseImageMemoryRequirements { pub formatProperties : SparseImageFormatProperties, pub imageMipTailFirstLod : u32, pub imageMipTailSize : DeviceSize, pub imageMipTailOffset : DeviceSize, pub imageMipTailStride : DeviceSize, } #[repr(C)] pub struct SparseMemoryBind { pub resourceOffset : DeviceSize, pub size : DeviceSize, pub memory : DeviceMemory, pub memoryOffset : DeviceSize, pub flags : SparseMemoryBindFlags, } #[repr(C)] pub struct SparseBufferMemoryBindInfo { pub buffer : Buffer, pub bindCount : u32, pub pBinds : *const SparseMemoryBind, } #[repr(C)] pub struct SparseImageOpaqueMemoryBindInfo { pub image : Image, pub bindCount : u32, pub pBinds : *const SparseMemoryBind, } #[repr(C)] pub struct ImageSubresource { pub aspectMask : ImageAspectFlags, pub mipLevel : u32, pub arrayLayer : u32, } #[repr(C)] pub struct Offset3D { pub x : i32, pub y : i32, pub z : i32, } #[repr(C)] pub struct SparseImageMemoryBind { pub subresource : ImageSubresource, pub offset : Offset3D, pub extent : Extent3D, pub memory : DeviceMemory, pub memoryOffset : DeviceSize, pub flags : SparseMemoryBindFlags, } #[repr(C)] pub struct SparseImageMemoryBindInfo { pub image : Image, pub bindCount : u32, pub pBinds : *const SparseImageMemoryBind, } #[repr(C)] pub struct BindSparseInfo { pub sType : StructureType, pub pNext : *const void, pub waitSemaphoreCount : u32, pub pWaitSemaphores : *const Semaphore, pub bufferBindCount : u32, pub pBufferBinds : *const SparseBufferMemoryBindInfo, pub imageOpaqueBindCount : u32, pub pImageOpaqueBinds : *const SparseImageOpaqueMemoryBindInfo, pub imageBindCount : u32, pub pImageBinds : *const SparseImageMemoryBindInfo, pub signalSemaphoreCount : u32, pub pSignalSemaphores : *const Semaphore, } #[repr(C)] pub struct FenceCreateInfo { pub sType : StructureType, pub pNext : *const void, pub flags : FenceCreateFlags, } #[repr(C)] pub struct SemaphoreCreateInfo { pub sType : StructureType, pub pNext : *const void, pub flags : SemaphoreCreateFlags, } #[repr(C)] pub struct EventCreateInfo { pub sType : StructureType, pub pNext : *const void, pub flags : EventCreateFlags, } #[repr(C)] pub struct QueryPoolCreateInfo { pub sType : StructureType, pub pNext : *const void, pub flags : QueryPoolCreateFlags, pub queryType : QueryType, pub queryCount : u32, pub pipelineStatistics : QueryPipelineStatisticFlags, } #[repr(C)] pub struct BufferCreateInfo { pub sType : StructureType, pub pNext : *const void, pub flags : BufferCreateFlags, pub size : DeviceSize, pub usage : BufferUsageFlags, pub sharingMode : SharingMode, pub queueFamilyIndexCount : u32, pub pQueueFamilyIndices : *const u32, } #[repr(C)] pub struct BufferViewCreateInfo { pub sType : StructureType, pub pNext : *const void, pub flags : BufferViewCreateFlags, pub buffer : Buffer, pub format : Format, pub offset : DeviceSize, pub range : DeviceSize, } #[repr(C)] pub struct ImageCreateInfo { pub sType : StructureType, pub pNext : *const void, pub flags : ImageCreateFlags, pub imageType : ImageType, pub format : Format, pub extent : Extent3D, pub mipLevels : u32, pub arrayLayers : u32, pub samples : SampleCountFlagBits, pub tiling : ImageTiling, pub usage : ImageUsageFlags, pub sharingMode : SharingMode, pub queueFamilyIndexCount : u32, pub pQueueFamilyIndices : *const u32, pub initialLayout : ImageLayout, } #[repr(C)] pub struct SubresourceLayout { pub offset : DeviceSize, pub size : DeviceSize, pub rowPitch : DeviceSize, pub arrayPitch : DeviceSize, pub depthPitch : DeviceSize, } #[repr(C)] pub struct ComponentMapping { pub r : ComponentSwizzle, pub g : ComponentSwizzle, pub b : ComponentSwizzle, pub a : ComponentSwizzle, } #[repr(C)] pub struct ImageSubresourceRange { pub aspectMask : ImageAspectFlags, pub baseMipLevel : u32, pub levelCount : u32, pub baseArrayLayer : u32, pub layerCount : u32, } #[repr(C)] pub struct ImageViewCreateInfo { pub sType : StructureType, pub pNext : *const void, pub flags : ImageViewCreateFlags, pub image : Image, pub viewType : ImageViewType, pub format : Format, pub components : ComponentMapping, pub subresourceRange : ImageSubresourceRange, } #[repr(C)] pub struct ShaderModuleCreateInfo { pub sType : StructureType, pub pNext : *const void, pub flags : ShaderModuleCreateFlags, pub codeSize : usize, pub pCode : *const u32, } #[repr(C)] pub struct PipelineCacheCreateInfo { pub sType : StructureType, pub pNext : *const void, pub flags : PipelineCacheCreateFlags, pub initialDataSize : usize, pub pInitialData : *const void, } #[repr(C)] pub struct SpecializationMapEntry { pub constantID : u32, pub offset : u32, pub size : usize, } #[repr(C)] pub struct SpecializationInfo { pub mapEntryCount : u32, pub pMapEntries : *const SpecializationMapEntry, pub dataSize : usize, pub pData : *const void, } #[repr(C)] pub struct PipelineShaderStageCreateInfo { pub sType : StructureType, pub pNext : *const void, pub flags : PipelineShaderStageCreateFlags, pub stage : ShaderStageFlagBits, pub module : ShaderModule, pub pName : *const i8, pub pSpecializationInfo : *const SpecializationInfo, } #[repr(C)] pub struct VertexInputBindingDescription { pub binding : u32, pub stride : u32, pub inputRate : VertexInputRate, } #[repr(C)] pub struct VertexInputAttributeDescription { pub location : u32, pub binding : u32, pub format : Format, pub offset : u32, } #[repr(C)] pub struct PipelineVertexInputStateCreateInfo { pub sType : StructureType, pub pNext : *const void, pub flags : PipelineVertexInputStateCreateFlags, pub vertexBindingDescriptionCount : u32, pub pVertexBindingDescriptions : *const VertexInputBindingDescription, pub vertexAttributeDescriptionCount : u32, pub pVertexAttributeDescriptions : *const VertexInputAttributeDescription, } #[repr(C)] pub struct PipelineInputAssemblyStateCreateInfo { pub sType : StructureType, pub pNext : *const void, pub flags : PipelineInputAssemblyStateCreateFlags, pub topology : PrimitiveTopology, pub primitiveRestartEnable : Bool32, } #[repr(C)] pub struct PipelineTessellationStateCreateInfo { pub sType : StructureType, pub pNext : *const void, pub flags : PipelineTessellationStateCreateFlags, pub patchControlPoints : u32, } #[repr(C)] pub struct Viewport { pub x : f32, pub y : f32, pub width : f32, pub height : f32, pub minDepth : f32, pub maxDepth : f32, } #[repr(C)] pub struct Offset2D { pub x : i32, pub y : i32, } #[repr(C)] pub struct Extent2D { pub width : u32, pub height : u32, } #[repr(C)] pub struct Rect2D { pub offset : Offset2D, pub extent : Extent2D, } #[repr(C)] pub struct PipelineViewportStateCreateInfo { pub sType : StructureType, pub pNext : *const void, pub flags : PipelineViewportStateCreateFlags, pub viewportCount : u32, pub pViewports : *const Viewport, pub scissorCount : u32, pub pScissors : *const Rect2D, } #[repr(C)] pub struct PipelineRasterizationStateCreateInfo { pub sType : StructureType, pub pNext : *const void, pub flags : PipelineRasterizationStateCreateFlags, pub depthClampEnable : Bool32, pub rasterizerDiscardEnable : Bool32, pub polygonMode : PolygonMode, pub cullMode : CullModeFlags, pub frontFace : FrontFace, pub depthBiasEnable : Bool32, pub depthBiasConstantFactor : f32, pub depthBiasClamp : f32, pub depthBiasSlopeFactor : f32, pub lineWidth : f32, } #[repr(C)] pub struct PipelineMultisampleStateCreateInfo { pub sType : StructureType, pub pNext : *const void, pub flags : PipelineMultisampleStateCreateFlags, pub rasterizationSamples : SampleCountFlagBits, pub sampleShadingEnable : Bool32, pub minSampleShading : f32, pub pSampleMask : *const SampleMask, pub alphaToCoverageEnable : Bool32, pub alphaToOneEnable : Bool32, } #[repr(C)] pub struct StencilOpState { pub failOp : StencilOp, pub passOp : StencilOp, pub depthFailOp : StencilOp, pub compareOp : CompareOp, pub compareMask : u32, pub writeMask : u32, pub reference : u32, } #[repr(C)] pub struct PipelineDepthStencilStateCreateInfo { pub sType : StructureType, pub pNext : *const void, pub flags : PipelineDepthStencilStateCreateFlags, pub depthTestEnable : Bool32, pub depthWriteEnable : Bool32, pub depthCompareOp : CompareOp, pub depthBoundsTestEnable : Bool32, pub stencilTestEnable : Bool32, pub front : StencilOpState, pub back : StencilOpState, pub minDepthBounds : f32, pub maxDepthBounds : f32, } #[repr(C)] pub struct PipelineColorBlendAttachmentState { pub blendEnable : Bool32, pub srcColorBlendFactor : BlendFactor, pub dstColorBlendFactor : BlendFactor, pub colorBlendOp : BlendOp, pub srcAlphaBlendFactor : BlendFactor, pub dstAlphaBlendFactor : BlendFactor, pub alphaBlendOp : BlendOp, pub colorWriteMask : ColorComponentFlags, } #[repr(C)] pub struct PipelineColorBlendStateCreateInfo { pub sType : StructureType, pub pNext : *const void, pub flags : PipelineColorBlendStateCreateFlags, pub logicOpEnable : Bool32, pub logicOp : LogicOp, pub attachmentCount : u32, pub pAttachments : *const PipelineColorBlendAttachmentState, pub blendConstants : [f32;4], } #[repr(C)] pub struct PipelineDynamicStateCreateInfo { pub sType : StructureType, pub pNext : *const void, pub flags : PipelineDynamicStateCreateFlags, pub dynamicStateCount : u32, pub pDynamicStates : *const DynamicState, } #[repr(C)] pub struct GraphicsPipelineCreateInfo { pub sType : StructureType, pub pNext : *const void, pub flags : PipelineCreateFlags, pub stageCount : u32, pub pStages : *const PipelineShaderStageCreateInfo, pub pVertexInputState : *const PipelineVertexInputStateCreateInfo, pub pInputAssemblyState : *const PipelineInputAssemblyStateCreateInfo, pub pTessellationState : *const PipelineTessellationStateCreateInfo, pub pViewportState : *const PipelineViewportStateCreateInfo, pub pRasterizationState : *const PipelineRasterizationStateCreateInfo, pub pMultisampleState : *const PipelineMultisampleStateCreateInfo, pub pDepthStencilState : *const PipelineDepthStencilStateCreateInfo, pub pColorBlendState : *const PipelineColorBlendStateCreateInfo, pub pDynamicState : *const PipelineDynamicStateCreateInfo, pub layout : PipelineLayout, pub renderPass : RenderPass, pub subpass : u32, pub basePipelineHandle : Pipeline, pub basePipelineIndex : i32, } #[repr(C)] pub struct ComputePipelineCreateInfo { pub sType : StructureType, pub pNext : *const void, pub flags : PipelineCreateFlags, pub stage : PipelineShaderStageCreateInfo, pub layout : PipelineLayout, pub basePipelineHandle : Pipeline, pub basePipelineIndex : i32, } #[repr(C)] pub struct PushConstantRange { pub stageFlags : ShaderStageFlags, pub offset : u32, pub size : u32, } #[repr(C)] pub struct PipelineLayoutCreateInfo { pub sType : StructureType, pub pNext : *const void, pub flags : PipelineLayoutCreateFlags, pub setLayoutCount : u32, pub pSetLayouts : *const DescriptorSetLayout, pub pushConstantRangeCount : u32, pub pPushConstantRanges : *const PushConstantRange, } #[repr(C)] pub struct SamplerCreateInfo { pub sType : StructureType, pub pNext : *const void, pub flags : SamplerCreateFlags, pub magFilter : Filter, pub minFilter : Filter, pub mipmapMode : SamplerMipmapMode, pub addressModeU : SamplerAddressMode, pub addressModeV : SamplerAddressMode, pub addressModeW : SamplerAddressMode, pub mipLodBias : f32, pub anisotropyEnable : Bool32, pub maxAnisotropy : f32, pub compareEnable : Bool32, pub compareOp : CompareOp, pub minLod : f32, pub maxLod : f32, pub borderColor : BorderColor, pub unnormalizedCoordinates : Bool32, } #[repr(C)] pub struct DescriptorSetLayoutBinding { pub binding : u32, pub descriptorType : DescriptorType, pub descriptorCount : u32, pub stageFlags : ShaderStageFlags, pub pImmutableSamplers : *const Sampler, } #[repr(C)] pub struct DescriptorSetLayoutCreateInfo { pub sType : StructureType, pub pNext : *const void, pub flags : DescriptorSetLayoutCreateFlags, pub bindingCount : u32, pub pBindings : *const DescriptorSetLayoutBinding, } #[repr(C)] pub struct DescriptorPoolSize { pub r#type : DescriptorType, pub descriptorCount : u32, } #[repr(C)] pub struct DescriptorPoolCreateInfo { pub sType : StructureType, pub pNext : *const void, pub flags : DescriptorPoolCreateFlags, pub maxSets : u32, pub poolSizeCount : u32, pub pPoolSizes : *const DescriptorPoolSize, } #[repr(C)] pub struct DescriptorSetAllocateInfo { pub sType : StructureType, pub pNext : *const void, pub descriptorPool : DescriptorPool, pub descriptorSetCount : u32, pub pSetLayouts : *const DescriptorSetLayout, } #[repr(C)] pub struct DescriptorImageInfo { pub sampler : Sampler, pub imageView : ImageView, pub imageLayout : ImageLayout, } #[repr(C)] pub struct DescriptorBufferInfo { pub buffer : Buffer, pub offset : DeviceSize, pub range : DeviceSize, } #[repr(C)] pub struct WriteDescriptorSet { pub sType : StructureType, pub pNext : *const void, pub dstSet : DescriptorSet, pub dstBinding : u32, pub dstArrayElement : u32, pub descriptorCount : u32, pub descriptorType : DescriptorType, pub pImageInfo : *const DescriptorImageInfo, pub pBufferInfo : *const DescriptorBufferInfo, pub pTexelBufferView : *const BufferView, } #[repr(C)] pub struct CopyDescriptorSet { pub sType : StructureType, pub pNext : *const void, pub srcSet : DescriptorSet, pub srcBinding : u32, pub srcArrayElement : u32, pub dstSet : DescriptorSet, pub dstBinding : u32, pub dstArrayElement : u32, pub descriptorCount : u32, } #[repr(C)] pub struct FramebufferCreateInfo { pub sType : StructureType, pub pNext : *const void, pub flags : FramebufferCreateFlags, pub renderPass : RenderPass, pub attachmentCount : u32, pub pAttachments : *const ImageView, pub width : u32, pub height : u32, pub layers : u32, } #[repr(C)] pub struct AttachmentDescription { pub flags : AttachmentDescriptionFlags, pub format : Format, pub samples : SampleCountFlagBits, pub loadOp : AttachmentLoadOp, pub storeOp : AttachmentStoreOp, pub stencilLoadOp : AttachmentLoadOp, pub stencilStoreOp : AttachmentStoreOp, pub initialLayout : ImageLayout, pub finalLayout : ImageLayout, } #[repr(C)] pub struct AttachmentReference { pub attachment : u32, pub layout : ImageLayout, } #[repr(C)] pub struct SubpassDescription { pub flags : SubpassDescriptionFlags, pub pipelineBindPoint : PipelineBindPoint, pub inputAttachmentCount : u32, pub pInputAttachments : *const AttachmentReference, pub colorAttachmentCount : u32, pub pColorAttachments : *const AttachmentReference, pub pResolveAttachments : *const AttachmentReference, pub pDepthStencilAttachment : *const AttachmentReference, pub preserveAttachmentCount : u32, pub pPreserveAttachments : *const u32, } #[repr(C)] pub struct SubpassDependency { pub srcSubpass : u32, pub dstSubpass : u32, pub srcStageMask : PipelineStageFlags, pub dstStageMask : PipelineStageFlags, pub srcAccessMask : AccessFlags, pub dstAccessMask : AccessFlags, pub dependencyFlags : DependencyFlags, } #[repr(C)] pub struct RenderPassCreateInfo { pub sType : StructureType, pub pNext : *const void, pub flags : RenderPassCreateFlags, pub attachmentCount : u32, pub pAttachments : *const AttachmentDescription, pub subpassCount : u32, pub pSubpasses : *const SubpassDescription, pub dependencyCount : u32, pub pDependencies : *const SubpassDependency, } #[repr(C)] pub struct CommandPoolCreateInfo { pub sType : StructureType, pub pNext : *const void, pub flags : CommandPoolCreateFlags, pub queueFamilyIndex : u32, } #[repr(C)] pub struct CommandBufferAllocateInfo { pub sType : StructureType, pub pNext : *const void, pub commandPool : CommandPool, pub level : CommandBufferLevel, pub commandBufferCount : u32, } #[repr(C)] pub struct CommandBufferInheritanceInfo { pub sType : StructureType, pub pNext : *const void, pub renderPass : RenderPass, pub subpass : u32, pub framebuffer : Framebuffer, pub occlusionQueryEnable : Bool32, pub queryFlags : QueryControlFlags, pub pipelineStatistics : QueryPipelineStatisticFlags, } #[repr(C)] pub struct CommandBufferBeginInfo { pub sType : StructureType, pub pNext : *const void, pub flags : CommandBufferUsageFlags, pub pInheritanceInfo : *const CommandBufferInheritanceInfo, } #[repr(C)] pub struct BufferCopy { pub srcOffset : DeviceSize, pub dstOffset : DeviceSize, pub size : DeviceSize, } #[repr(C)] pub struct ImageSubresourceLayers { pub aspectMask : ImageAspectFlags, pub mipLevel : u32, pub baseArrayLayer : u32, pub layerCount : u32, } #[repr(C)] pub struct ImageCopy { pub srcSubresource : ImageSubresourceLayers, pub srcOffset : Offset3D, pub dstSubresource : ImageSubresourceLayers, pub dstOffset : Offset3D, pub extent : Extent3D, } #[repr(C)] pub struct ImageBlit { pub srcSubresource : ImageSubresourceLayers, pub srcOffsets : [Offset3D;2], pub dstSubresource : ImageSubresourceLayers, pub dstOffsets : [Offset3D;2], } #[repr(C)] pub struct BufferImageCopy { pub bufferOffset : DeviceSize, pub bufferRowLength : u32, pub bufferImageHeight : u32, pub imageSubresource : ImageSubresourceLayers, pub imageOffset : Offset3D, pub imageExtent : Extent3D, } #[repr(C)] pub union ClearColorValue { pub float32 : [f32;4], pub int32 : [i32;4], pub uint32 : [u32;4], } #[repr(C)] pub struct ClearDepthStencilValue { pub depth : f32, pub stencil : u32, } #[repr(C)] pub union ClearValue { pub color : [f32;4], pub depthStencil : [f32;2], } #[repr(C)] pub struct ClearAttachment { pub aspectMask : ImageAspectFlags, pub colorAttachment : u32, pub clearValue : ClearValue, } #[repr(C)] pub struct ClearRect { pub rect : Rect2D, pub baseArrayLayer : u32, pub layerCount : u32, } #[repr(C)] pub struct ImageResolve { pub srcSubresource : ImageSubresourceLayers, pub srcOffset : Offset3D, pub dstSubresource : ImageSubresourceLayers, pub dstOffset : Offset3D, pub extent : Extent3D, } #[repr(C)] pub struct MemoryBarrier { pub sType : StructureType, pub pNext : *const void, pub srcAccessMask : AccessFlags, pub dstAccessMask : AccessFlags, } #[repr(C)] pub struct BufferMemoryBarrier { pub sType : StructureType, pub pNext : *const void, pub srcAccessMask : AccessFlags, pub dstAccessMask : AccessFlags, pub srcQueueFamilyIndex : u32, pub dstQueueFamilyIndex : u32, pub buffer : Buffer, pub offset : DeviceSize, pub size : DeviceSize, } #[repr(C)] pub struct ImageMemoryBarrier { pub sType : StructureType, pub pNext : *const void, pub srcAccessMask : AccessFlags, pub dstAccessMask : AccessFlags, pub oldLayout : ImageLayout, pub newLayout : ImageLayout, pub srcQueueFamilyIndex : u32, pub dstQueueFamilyIndex : u32, pub image : Image, pub subresourceRange : ImageSubresourceRange, } #[repr(C)] pub struct RenderPassBeginInfo { pub sType : StructureType, pub pNext : *const void, pub renderPass : RenderPass, pub framebuffer : Framebuffer, pub renderArea : Rect2D, pub clearValueCount : u32, pub pClearValues : *const ClearValue, } #[repr(C)] pub struct DispatchIndirectCommand { pub x : u32, pub y : u32, pub z : u32, } #[repr(C)] pub struct DrawIndexedIndirectCommand { pub indexCount : u32, pub instanceCount : u32, pub firstIndex : u32, pub vertexOffset : i32, pub firstInstance : u32, } #[repr(C)] pub struct DrawIndirectCommand { pub vertexCount : u32, pub instanceCount : u32, pub firstVertex : u32, pub firstInstance : u32, } pub type SamplerYcbcrConversion = u64; pub type DescriptorUpdateTemplate = u64; pub type PointClippingBehavior = i32; pub const POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES : i32 = 0; pub const POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY : i32 = 1; pub const POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR : i32 = POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES; pub const POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR : i32 = POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY; pub const POINT_CLIPPING_BEHAVIOR_MAX_ENUM : i32 = 0x7FFFFFF; pub type TessellationDomainOrigin = i32; pub const TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT : i32 = 0; pub const TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT : i32 = 1; pub const TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR : i32 = TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT; pub const TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR : i32 = TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT; pub const TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM : i32 = 0x7FFFFFF; pub type SamplerYcbcrModelConversion = i32; pub const SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY : i32 = 0; pub const SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY : i32 = 1; pub const SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 : i32 = 2; pub const SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 : i32 = 3; pub const SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 : i32 = 4; pub const SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR : i32 = SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY; pub const SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR : i32 = SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY; pub const SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR : i32 = SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709; pub const SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR : i32 = SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601; pub const SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR : i32 = SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020; pub const SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM : i32 = 0x7FFFFFF; pub type SamplerYcbcrRange = i32; pub const SAMPLER_YCBCR_RANGE_ITU_FULL : i32 = 0; pub const SAMPLER_YCBCR_RANGE_ITU_NARROW : i32 = 1; pub const SAMPLER_YCBCR_RANGE_ITU_FULL_KHR : i32 = SAMPLER_YCBCR_RANGE_ITU_FULL; pub const SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR : i32 = SAMPLER_YCBCR_RANGE_ITU_NARROW; pub const SAMPLER_YCBCR_RANGE_MAX_ENUM : i32 = 0x7FFFFFF; pub type ChromaLocation = i32; pub const CHROMA_LOCATION_COSITED_EVEN : i32 = 0; pub const CHROMA_LOCATION_MIDPOINT : i32 = 1; pub const CHROMA_LOCATION_COSITED_EVEN_KHR : i32 = CHROMA_LOCATION_COSITED_EVEN; pub const CHROMA_LOCATION_MIDPOINT_KHR : i32 = CHROMA_LOCATION_MIDPOINT; pub const CHROMA_LOCATION_MAX_ENUM : i32 = 0x7FFFFFF; pub type DescriptorUpdateTemplateType = i32; pub const DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET : i32 = 0; pub const DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR : i32 = 1; pub const DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR : i32 = DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET; pub const DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM : i32 = 0x7FFFFFF; pub type SubgroupFeatureFlagBits = i32; pub const SUBGROUP_FEATURE_BASIC_BIT : i32 = 0x00000001; pub const SUBGROUP_FEATURE_VOTE_BIT : i32 = 0x00000002; pub const SUBGROUP_FEATURE_ARITHMETIC_BIT : i32 = 0x00000004; pub const SUBGROUP_FEATURE_BALLOT_BIT : i32 = 0x00000008; pub const SUBGROUP_FEATURE_SHUFFLE_BIT : i32 = 0x00000010; pub const SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT : i32 = 0x00000020; pub const SUBGROUP_FEATURE_CLUSTERED_BIT : i32 = 0x00000040; pub const SUBGROUP_FEATURE_QUAD_BIT : i32 = 0x00000080; pub const SUBGROUP_FEATURE_PARTITIONED_BIT_NV : i32 = 0x00000100; pub const SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type SubgroupFeatureFlags = u32; pub type PeerMemoryFeatureFlagBits = i32; pub const PEER_MEMORY_FEATURE_COPY_SRC_BIT : i32 = 0x00000001; pub const PEER_MEMORY_FEATURE_COPY_DST_BIT : i32 = 0x00000002; pub const PEER_MEMORY_FEATURE_GENERIC_SRC_BIT : i32 = 0x00000004; pub const PEER_MEMORY_FEATURE_GENERIC_DST_BIT : i32 = 0x00000008; pub const PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR : i32 = PEER_MEMORY_FEATURE_COPY_SRC_BIT; pub const PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR : i32 = PEER_MEMORY_FEATURE_COPY_DST_BIT; pub const PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR : i32 = PEER_MEMORY_FEATURE_GENERIC_SRC_BIT; pub const PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR : i32 = PEER_MEMORY_FEATURE_GENERIC_DST_BIT; pub const PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type PeerMemoryFeatureFlags = u32; pub type MemoryAllocateFlagBits = i32; pub const MEMORY_ALLOCATE_DEVICE_MASK_BIT : i32 = 0x00000001; pub const MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT : i32 = 0x00000002; pub const MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT : i32 = 0x00000004; pub const MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR : i32 = MEMORY_ALLOCATE_DEVICE_MASK_BIT; pub const MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR : i32 = MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT; pub const MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR : i32 = MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT; pub const MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type MemoryAllocateFlags = u32; pub type CommandPoolTrimFlags = u32; pub type DescriptorUpdateTemplateCreateFlags = u32; pub type ExternalMemoryHandleTypeFlagBits = i32; pub const EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT : i32 = 0x00000001; pub const EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT : i32 = 0x00000002; pub const EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT : i32 = 0x00000004; pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT : i32 = 0x00000008; pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT : i32 = 0x00000010; pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT : i32 = 0x00000020; pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT : i32 = 0x00000040; pub const EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT : i32 = 0x00000200; pub const EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID : i32 = 0x00000400; pub const EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT : i32 = 0x00000080; pub const EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT : i32 = 0x00000100; pub const EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR : i32 = EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT; pub const EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR : i32 = EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT; pub const EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR : i32 = EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT; pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR : i32 = EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT; pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR : i32 = EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT; pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR : i32 = EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT; pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR : i32 = EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT; pub const EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type ExternalMemoryHandleTypeFlags = u32; pub type ExternalMemoryFeatureFlagBits = i32; pub const EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT : i32 = 0x00000001; pub const EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT : i32 = 0x00000002; pub const EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT : i32 = 0x00000004; pub const EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR : i32 = EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT; pub const EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR : i32 = EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT; pub const EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR : i32 = EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT; pub const EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type ExternalMemoryFeatureFlags = u32; pub type ExternalFenceHandleTypeFlagBits = i32; pub const EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT : i32 = 0x00000001; pub const EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT : i32 = 0x00000002; pub const EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT : i32 = 0x00000004; pub const EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT : i32 = 0x00000008; pub const EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR : i32 = EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT; pub const EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR : i32 = EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT; pub const EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR : i32 = EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT; pub const EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR : i32 = EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT; pub const EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type ExternalFenceHandleTypeFlags = u32; pub type ExternalFenceFeatureFlagBits = i32; pub const EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT : i32 = 0x00000001; pub const EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT : i32 = 0x00000002; pub const EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR : i32 = EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT; pub const EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR : i32 = EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT; pub const EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type ExternalFenceFeatureFlags = u32; pub type FenceImportFlagBits = i32; pub const FENCE_IMPORT_TEMPORARY_BIT : i32 = 0x00000001; pub const FENCE_IMPORT_TEMPORARY_BIT_KHR : i32 = FENCE_IMPORT_TEMPORARY_BIT; pub const FENCE_IMPORT_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type FenceImportFlags = u32; pub type SemaphoreImportFlagBits = i32; pub const SEMAPHORE_IMPORT_TEMPORARY_BIT : i32 = 0x00000001; pub const SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR : i32 = SEMAPHORE_IMPORT_TEMPORARY_BIT; pub const SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type SemaphoreImportFlags = u32; pub type ExternalSemaphoreHandleTypeFlagBits = i32; pub const EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT : i32 = 0x00000001; pub const EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT : i32 = 0x00000002; pub const EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT : i32 = 0x00000004; pub const EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT : i32 = 0x00000008; pub const EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT : i32 = 0x00000010; pub const EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR : i32 = EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT; pub const EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR : i32 = EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT; pub const EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR : i32 = EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT; pub const EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR : i32 = EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT; pub const EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR : i32 = EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT; pub const EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type ExternalSemaphoreHandleTypeFlags = u32; pub type ExternalSemaphoreFeatureFlagBits = i32; pub const EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT : i32 = 0x00000001; pub const EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT : i32 = 0x00000002; pub const EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR : i32 = EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT; pub const EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR : i32 = EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT; pub const EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type ExternalSemaphoreFeatureFlags = u32; #[repr(C)] pub struct PhysicalDeviceSubgroupProperties { pub sType : StructureType, pub pNext : *mut void, pub subgroupSize : u32, pub supportedStages : ShaderStageFlags, pub supportedOperations : SubgroupFeatureFlags, pub quadOperationsInAllStages : Bool32, } #[repr(C)] pub struct BindBufferMemoryInfo { pub sType : StructureType, pub pNext : *const void, pub buffer : Buffer, pub memory : DeviceMemory, pub memoryOffset : DeviceSize, } #[repr(C)] pub struct BindImageMemoryInfo { pub sType : StructureType, pub pNext : *const void, pub image : Image, pub memory : DeviceMemory, pub memoryOffset : DeviceSize, } #[repr(C)] pub struct PhysicalDevice16BitStorageFeatures { pub sType : StructureType, pub pNext : *mut void, pub storageBuffer16BitAccess : Bool32, pub uniformAndStorageBuffer16BitAccess : Bool32, pub storagePushConstant16 : Bool32, pub storageInputOutput16 : Bool32, } #[repr(C)] pub struct MemoryDedicatedRequirements { pub sType : StructureType, pub pNext : *mut void, pub prefersDedicatedAllocation : Bool32, pub requiresDedicatedAllocation : Bool32, } #[repr(C)] pub struct MemoryDedicatedAllocateInfo { pub sType : StructureType, pub pNext : *const void, pub image : Image, pub buffer : Buffer, } #[repr(C)] pub struct MemoryAllocateFlagsInfo { pub sType : StructureType, pub pNext : *const void, pub flags : MemoryAllocateFlags, pub deviceMask : u32, } #[repr(C)] pub struct DeviceGroupRenderPassBeginInfo { pub sType : StructureType, pub pNext : *const void, pub deviceMask : u32, pub deviceRenderAreaCount : u32, pub pDeviceRenderAreas : *const Rect2D, } #[repr(C)] pub struct DeviceGroupCommandBufferBeginInfo { pub sType : StructureType, pub pNext : *const void, pub deviceMask : u32, } #[repr(C)] pub struct DeviceGroupSubmitInfo { pub sType : StructureType, pub pNext : *const void, pub waitSemaphoreCount : u32, pub pWaitSemaphoreDeviceIndices : *const u32, pub commandBufferCount : u32, pub pCommandBufferDeviceMasks : *const u32, pub signalSemaphoreCount : u32, pub pSignalSemaphoreDeviceIndices : *const u32, } #[repr(C)] pub struct DeviceGroupBindSparseInfo { pub sType : StructureType, pub pNext : *const void, pub resourceDeviceIndex : u32, pub memoryDeviceIndex : u32, } #[repr(C)] pub struct BindBufferMemoryDeviceGroupInfo { pub sType : StructureType, pub pNext : *const void, pub deviceIndexCount : u32, pub pDeviceIndices : *const u32, } #[repr(C)] pub struct BindImageMemoryDeviceGroupInfo { pub sType : StructureType, pub pNext : *const void, pub deviceIndexCount : u32, pub pDeviceIndices : *const u32, pub splitInstanceBindRegionCount : u32, pub pSplitInstanceBindRegions : *const Rect2D, } #[repr(C)] pub struct PhysicalDeviceGroupProperties { pub sType : StructureType, pub pNext : *mut void, pub physicalDeviceCount : u32, pub physicalDevices : [PhysicalDevice;MAX_DEVICE_GROUP_SIZE], pub subsetAllocation : Bool32, } #[repr(C)] pub struct DeviceGroupDeviceCreateInfo { pub sType : StructureType, pub pNext : *const void, pub physicalDeviceCount : u32, pub pPhysicalDevices : *const PhysicalDevice, } #[repr(C)] pub struct BufferMemoryRequirementsInfo2 { pub sType : StructureType, pub pNext : *const void, pub buffer : Buffer, } #[repr(C)] pub struct ImageMemoryRequirementsInfo2 { pub sType : StructureType, pub pNext : *const void, pub image : Image, } #[repr(C)] pub struct ImageSparseMemoryRequirementsInfo2 { pub sType : StructureType, pub pNext : *const void, pub image : Image, } #[repr(C)] pub struct MemoryRequirements2 { pub sType : StructureType, pub pNext : *mut void, pub memoryRequirements : MemoryRequirements, } pub type MemoryRequirements2KHR = MemoryRequirements2; #[repr(C)] pub struct SparseImageMemoryRequirements2 { pub sType : StructureType, pub pNext : *mut void, pub memoryRequirements : SparseImageMemoryRequirements, } #[repr(C)] pub struct PhysicalDeviceFeatures2 { pub sType : StructureType, pub pNext : *mut void, pub features : PhysicalDeviceFeatures, } #[repr(C)] pub struct PhysicalDeviceProperties2 { pub sType : StructureType, pub pNext : *mut void, pub properties : PhysicalDeviceProperties, } #[repr(C)] pub struct FormatProperties2 { pub sType : StructureType, pub pNext : *mut void, pub formatProperties : FormatProperties, } #[repr(C)] pub struct ImageFormatProperties2 { pub sType : StructureType, pub pNext : *mut void, pub imageFormatProperties : ImageFormatProperties, } #[repr(C)] pub struct PhysicalDeviceImageFormatInfo2 { pub sType : StructureType, pub pNext : *const void, pub format : Format, pub r#type : ImageType, pub tiling : ImageTiling, pub usage : ImageUsageFlags, pub flags : ImageCreateFlags, } #[repr(C)] pub struct QueueFamilyProperties2 { pub sType : StructureType, pub pNext : *mut void, pub queueFamilyProperties : QueueFamilyProperties, } #[repr(C)] pub struct PhysicalDeviceMemoryProperties2 { pub sType : StructureType, pub pNext : *mut void, pub memoryProperties : PhysicalDeviceMemoryProperties, } #[repr(C)] pub struct SparseImageFormatProperties2 { pub sType : StructureType, pub pNext : *mut void, pub properties : SparseImageFormatProperties, } #[repr(C)] pub struct PhysicalDeviceSparseImageFormatInfo2 { pub sType : StructureType, pub pNext : *const void, pub format : Format, pub r#type : ImageType, pub samples : SampleCountFlagBits, pub usage : ImageUsageFlags, pub tiling : ImageTiling, } #[repr(C)] pub struct PhysicalDevicePointClippingProperties { pub sType : StructureType, pub pNext : *mut void, pub pointClippingBehavior : PointClippingBehavior, } #[repr(C)] pub struct InputAttachmentAspectReference { pub subpass : u32, pub inputAttachmentIndex : u32, pub aspectMask : ImageAspectFlags, } #[repr(C)] pub struct RenderPassInputAttachmentAspectCreateInfo { pub sType : StructureType, pub pNext : *const void, pub aspectReferenceCount : u32, pub pAspectReferences : *const InputAttachmentAspectReference, } #[repr(C)] pub struct ImageViewUsageCreateInfo { pub sType : StructureType, pub pNext : *const void, pub usage : ImageUsageFlags, } #[repr(C)] pub struct PipelineTessellationDomainOriginStateCreateInfo { pub sType : StructureType, pub pNext : *const void, pub domainOrigin : TessellationDomainOrigin, } #[repr(C)] pub struct RenderPassMultiviewCreateInfo { pub sType : StructureType, pub pNext : *const void, pub subpassCount : u32, pub pViewMasks : *const u32, pub dependencyCount : u32, pub pViewOffsets : *const i32, pub correlationMaskCount : u32, pub pCorrelationMasks : *const u32, } #[repr(C)] pub struct PhysicalDeviceMultiviewFeatures { pub sType : StructureType, pub pNext : *mut void, pub multiview : Bool32, pub multiviewGeometryShader : Bool32, pub multiviewTessellationShader : Bool32, } #[repr(C)] pub struct PhysicalDeviceMultiviewProperties { pub sType : StructureType, pub pNext : *mut void, pub maxMultiviewViewCount : u32, pub maxMultiviewInstanceIndex : u32, } #[repr(C)] pub struct PhysicalDeviceVariablePointersFeatures { pub sType : StructureType, pub pNext : *mut void, pub variablePointersStorageBuffer : Bool32, pub variablePointers : Bool32, } pub type PhysicalDeviceVariablePointerFeatures = PhysicalDeviceVariablePointersFeatures; #[repr(C)] pub struct PhysicalDeviceProtectedMemoryFeatures { pub sType : StructureType, pub pNext : *mut void, pub protectedMemory : Bool32, } #[repr(C)] pub struct PhysicalDeviceProtectedMemoryProperties { pub sType : StructureType, pub pNext : *mut void, pub protectedNoFault : Bool32, } #[repr(C)] pub struct DeviceQueueInfo2 { pub sType : StructureType, pub pNext : *const void, pub flags : DeviceQueueCreateFlags, pub queueFamilyIndex : u32, pub queueIndex : u32, } #[repr(C)] pub struct ProtectedSubmitInfo { pub sType : StructureType, pub pNext : *const void, pub protectedSubmit : Bool32, } #[repr(C)] pub struct SamplerYcbcrConversionCreateInfo { pub sType : StructureType, pub pNext : *const void, pub format : Format, pub ycbcrModel : SamplerYcbcrModelConversion, pub ycbcrRange : SamplerYcbcrRange, pub components : ComponentMapping, pub xChromaOffset : ChromaLocation, pub yChromaOffset : ChromaLocation, pub chromaFilter : Filter, pub forceExplicitReconstruction : Bool32, } #[repr(C)] pub struct SamplerYcbcrConversionInfo { pub sType : StructureType, pub pNext : *const void, pub conversion : SamplerYcbcrConversion, } #[repr(C)] pub struct BindImagePlaneMemoryInfo { pub sType : StructureType, pub pNext : *const void, pub planeAspect : ImageAspectFlagBits, } #[repr(C)] pub struct ImagePlaneMemoryRequirementsInfo { pub sType : StructureType, pub pNext : *const void, pub planeAspect : ImageAspectFlagBits, } #[repr(C)] pub struct PhysicalDeviceSamplerYcbcrConversionFeatures { pub sType : StructureType, pub pNext : *mut void, pub samplerYcbcrConversion : Bool32, } #[repr(C)] pub struct SamplerYcbcrConversionImageFormatProperties { pub sType : StructureType, pub pNext : *mut void, pub combinedImageSamplerDescriptorCount : u32, } #[repr(C)] pub struct DescriptorUpdateTemplateEntry { pub dstBinding : u32, pub dstArrayElement : u32, pub descriptorCount : u32, pub descriptorType : DescriptorType, pub offset : usize, pub stride : usize, } #[repr(C)] pub struct DescriptorUpdateTemplateCreateInfo { pub sType : StructureType, pub pNext : *const void, pub flags : DescriptorUpdateTemplateCreateFlags, pub descriptorUpdateEntryCount : u32, pub pDescriptorUpdateEntries : *const DescriptorUpdateTemplateEntry, pub templateType : DescriptorUpdateTemplateType, pub descriptorSetLayout : DescriptorSetLayout, pub pipelineBindPoint : PipelineBindPoint, pub pipelineLayout : PipelineLayout, pub set : u32, } #[repr(C)] pub struct ExternalMemoryProperties { pub externalMemoryFeatures : ExternalMemoryFeatureFlags, pub exportFromImportedHandleTypes : ExternalMemoryHandleTypeFlags, pub compatibleHandleTypes : ExternalMemoryHandleTypeFlags, } #[repr(C)] pub struct PhysicalDeviceExternalImageFormatInfo { pub sType : StructureType, pub pNext : *const void, pub handleType : ExternalMemoryHandleTypeFlagBits, } #[repr(C)] pub struct ExternalImageFormatProperties { pub sType : StructureType, pub pNext : *mut void, pub externalMemoryProperties : ExternalMemoryProperties, } #[repr(C)] pub struct PhysicalDeviceExternalBufferInfo { pub sType : StructureType, pub pNext : *const void, pub flags : BufferCreateFlags, pub usage : BufferUsageFlags, pub handleType : ExternalMemoryHandleTypeFlagBits, } #[repr(C)] pub struct ExternalBufferProperties { pub sType : StructureType, pub pNext : *mut void, pub externalMemoryProperties : ExternalMemoryProperties, } #[repr(C)] pub struct PhysicalDeviceIDProperties { pub sType : StructureType, pub pNext : *mut void, pub deviceUUID : [u8;UUID_SIZE], pub driverUUID : [u8;UUID_SIZE], pub deviceLUID : [u8;LUID_SIZE], pub deviceNodeMask : u32, pub deviceLUIDValid : Bool32, } #[repr(C)] pub struct ExternalMemoryImageCreateInfo { pub sType : StructureType, pub pNext : *const void, pub handleTypes : ExternalMemoryHandleTypeFlags, } #[repr(C)] pub struct ExternalMemoryBufferCreateInfo { pub sType : StructureType, pub pNext : *const void, pub handleTypes : ExternalMemoryHandleTypeFlags, } #[repr(C)] pub struct ExportMemoryAllocateInfo { pub sType : StructureType, pub pNext : *const void, pub handleTypes : ExternalMemoryHandleTypeFlags, } #[repr(C)] pub struct PhysicalDeviceExternalFenceInfo { pub sType : StructureType, pub pNext : *const void, pub handleType : ExternalFenceHandleTypeFlagBits, } #[repr(C)] pub struct ExternalFenceProperties { pub sType : StructureType, pub pNext : *mut void, pub exportFromImportedHandleTypes : ExternalFenceHandleTypeFlags, pub compatibleHandleTypes : ExternalFenceHandleTypeFlags, pub externalFenceFeatures : ExternalFenceFeatureFlags, } #[repr(C)] pub struct ExportFenceCreateInfo { pub sType : StructureType, pub pNext : *const void, pub handleTypes : ExternalFenceHandleTypeFlags, } #[repr(C)] pub struct ExportSemaphoreCreateInfo { pub sType : StructureType, pub pNext : *const void, pub handleTypes : ExternalSemaphoreHandleTypeFlags, } #[repr(C)] pub struct PhysicalDeviceExternalSemaphoreInfo { pub sType : StructureType, pub pNext : *const void, pub handleType : ExternalSemaphoreHandleTypeFlagBits, } #[repr(C)] pub struct ExternalSemaphoreProperties { pub sType : StructureType, pub pNext : *mut void, pub exportFromImportedHandleTypes : ExternalSemaphoreHandleTypeFlags, pub compatibleHandleTypes : ExternalSemaphoreHandleTypeFlags, pub externalSemaphoreFeatures : ExternalSemaphoreFeatureFlags, } #[repr(C)] pub struct PhysicalDeviceMaintenance3Properties { pub sType : StructureType, pub pNext : *mut void, pub maxPerSetDescriptors : u32, pub maxMemoryAllocationSize : DeviceSize, } #[repr(C)] pub struct DescriptorSetLayoutSupport { pub sType : StructureType, pub pNext : *mut void, pub supported : Bool32, } #[repr(C)] pub struct PhysicalDeviceShaderDrawParametersFeatures { pub sType : StructureType, pub pNext : *mut void, pub shaderDrawParameters : Bool32, } pub type PhysicalDeviceShaderDrawParameterFeatures = PhysicalDeviceShaderDrawParametersFeatures; pub type DeviceAddress = u64; pub type DriverId = i32; pub const DRIVER_ID_AMD_PROPRIETARY : i32 = 1; pub const DRIVER_ID_AMD_OPEN_SOURCE : i32 = 2; pub const DRIVER_ID_MESA_RADV : i32 = 3; pub const DRIVER_ID_NVIDIA_PROPRIETARY : i32 = 4; pub const DRIVER_ID_INTEL_PROPRIETARY_WINDOWS : i32 = 5; pub const DRIVER_ID_INTEL_OPEN_SOURCE_MESA : i32 = 6; pub const DRIVER_ID_IMAGINATION_PROPRIETARY : i32 = 7; pub const DRIVER_ID_QUALCOMM_PROPRIETARY : i32 = 8; pub const DRIVER_ID_ARM_PROPRIETARY : i32 = 9; pub const DRIVER_ID_GOOGLE_SWIFTSHADER : i32 = 10; pub const DRIVER_ID_GGP_PROPRIETARY : i32 = 11; pub const DRIVER_ID_BROADCOM_PROPRIETARY : i32 = 12; pub const DRIVER_ID_MESA_LLVMPIPE : i32 = 13; pub const DRIVER_ID_AMD_PROPRIETARY_KHR : i32 = DRIVER_ID_AMD_PROPRIETARY; pub const DRIVER_ID_AMD_OPEN_SOURCE_KHR : i32 = DRIVER_ID_AMD_OPEN_SOURCE; pub const DRIVER_ID_MESA_RADV_KHR : i32 = DRIVER_ID_MESA_RADV; pub const DRIVER_ID_NVIDIA_PROPRIETARY_KHR : i32 = DRIVER_ID_NVIDIA_PROPRIETARY; pub const DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR : i32 = DRIVER_ID_INTEL_PROPRIETARY_WINDOWS; pub const DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR : i32 = DRIVER_ID_INTEL_OPEN_SOURCE_MESA; pub const DRIVER_ID_IMAGINATION_PROPRIETARY_KHR : i32 = DRIVER_ID_IMAGINATION_PROPRIETARY; pub const DRIVER_ID_QUALCOMM_PROPRIETARY_KHR : i32 = DRIVER_ID_QUALCOMM_PROPRIETARY; pub const DRIVER_ID_ARM_PROPRIETARY_KHR : i32 = DRIVER_ID_ARM_PROPRIETARY; pub const DRIVER_ID_GOOGLE_SWIFTSHADER_KHR : i32 = DRIVER_ID_GOOGLE_SWIFTSHADER; pub const DRIVER_ID_GGP_PROPRIETARY_KHR : i32 = DRIVER_ID_GGP_PROPRIETARY; pub const DRIVER_ID_BROADCOM_PROPRIETARY_KHR : i32 = DRIVER_ID_BROADCOM_PROPRIETARY; pub const DRIVER_ID_MAX_ENUM : i32 = 0x7FFFFFF; pub type ShaderFloatControlsIndependence = i32; pub const SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY : i32 = 0; pub const SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL : i32 = 1; pub const SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE : i32 = 2; pub const SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR : i32 = SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY; pub const SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR : i32 = SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL; pub const SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR : i32 = SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE; pub const SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM : i32 = 0x7FFFFFF; pub type SamplerReductionMode = i32; pub const SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE : i32 = 0; pub const SAMPLER_REDUCTION_MODE_MIN : i32 = 1; pub const SAMPLER_REDUCTION_MODE_MAX : i32 = 2; pub const SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT : i32 = SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE; pub const SAMPLER_REDUCTION_MODE_MIN_EXT : i32 = SAMPLER_REDUCTION_MODE_MIN; pub const SAMPLER_REDUCTION_MODE_MAX_EXT : i32 = SAMPLER_REDUCTION_MODE_MAX; pub const SAMPLER_REDUCTION_MODE_MAX_ENUM : i32 = 0x7FFFFFF; pub type SemaphoreType = i32; pub const SEMAPHORE_TYPE_BINARY : i32 = 0; pub const SEMAPHORE_TYPE_TIMELINE : i32 = 1; pub const SEMAPHORE_TYPE_BINARY_KHR : i32 = SEMAPHORE_TYPE_BINARY; pub const SEMAPHORE_TYPE_TIMELINE_KHR : i32 = SEMAPHORE_TYPE_TIMELINE; pub const SEMAPHORE_TYPE_MAX_ENUM : i32 = 0x7FFFFFF; pub type ResolveModeFlagBits = i32; pub const RESOLVE_MODE_NONE : i32 = 0; pub const RESOLVE_MODE_SAMPLE_ZERO_BIT : i32 = 0x00000001; pub const RESOLVE_MODE_AVERAGE_BIT : i32 = 0x00000002; pub const RESOLVE_MODE_MIN_BIT : i32 = 0x00000004; pub const RESOLVE_MODE_MAX_BIT : i32 = 0x00000008; pub const RESOLVE_MODE_NONE_KHR : i32 = RESOLVE_MODE_NONE; pub const RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR : i32 = RESOLVE_MODE_SAMPLE_ZERO_BIT; pub const RESOLVE_MODE_AVERAGE_BIT_KHR : i32 = RESOLVE_MODE_AVERAGE_BIT; pub const RESOLVE_MODE_MIN_BIT_KHR : i32 = RESOLVE_MODE_MIN_BIT; pub const RESOLVE_MODE_MAX_BIT_KHR : i32 = RESOLVE_MODE_MAX_BIT; pub const RESOLVE_MODE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type ResolveModeFlags = u32; pub type DescriptorBindingFlagBits = i32; pub const DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT : i32 = 0x00000001; pub const DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT : i32 = 0x00000002; pub const DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT : i32 = 0x00000004; pub const DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT : i32 = 0x00000008; pub const DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT : i32 = DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT; pub const DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT : i32 = DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT; pub const DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT : i32 = DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT; pub const DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT : i32 = DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT; pub const DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type DescriptorBindingFlags = u32; pub type SemaphoreWaitFlagBits = i32; pub const SEMAPHORE_WAIT_ANY_BIT : i32 = 0x00000001; pub const SEMAPHORE_WAIT_ANY_BIT_KHR : i32 = SEMAPHORE_WAIT_ANY_BIT; pub const SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF; pub type SemaphoreWaitFlags = u32; #[repr(C)] pub struct PhysicalDeviceVulkan11Features { pub sType : StructureType, pub pNext : *mut void, pub storageBuffer16BitAccess : Bool32, pub uniformAndStorageBuffer16BitAccess : Bool32, pub storagePushConstant16 : Bool32, pub storageInputOutput16 : Bool32, pub multiview : Bool32, pub multiviewGeometryShader : Bool32, pub multiviewTessellationShader : Bool32, pub variablePointersStorageBuffer : Bool32, pub variablePointers : Bool32, pub protectedMemory : Bool32, pub samplerYcbcrConversion : Bool32, pub shaderDrawParameters : Bool32, } #[repr(C)] pub struct PhysicalDeviceVulkan11Properties { pub sType : StructureType, pub pNext : *mut void, pub deviceUUID : [u8;UUID_SIZE], pub driverUUID : [u8;UUID_SIZE], pub deviceLUID : [u8;LUID_SIZE], pub deviceNodeMask : u32, pub deviceLUIDValid : Bool32, pub subgroupSize : u32, pub subgroupSupportedStages : ShaderStageFlags, pub subgroupSupportedOperations : SubgroupFeatureFlags, pub subgroupQuadOperationsInAllStages : Bool32, pub pointClippingBehavior : PointClippingBehavior, pub maxMultiviewViewCount : u32, pub maxMultiviewInstanceIndex : u32, pub protectedNoFault : Bool32, pub maxPerSetDescriptors : u32, pub maxMemoryAllocationSize : DeviceSize, } #[repr(C)] pub struct PhysicalDeviceVulkan12Features { pub sType : StructureType, pub pNext : *mut void, pub samplerMirrorClampToEdge : Bool32, pub drawIndirectCount : Bool32, pub storageBuffer8BitAccess : Bool32, pub uniformAndStorageBuffer8BitAccess : Bool32, pub storagePushConstant8 : Bool32, pub shaderBufferInt64Atomics : Bool32, pub shaderSharedInt64Atomics : Bool32, pub shaderFloat16 : Bool32, pub shaderInt8 : Bool32, pub descriptorIndexing : Bool32, pub shaderInputAttachmentArrayDynamicIndexing : Bool32, pub shaderUniformTexelBufferArrayDynamicIndexing : Bool32, pub shaderStorageTexelBufferArrayDynamicIndexing : Bool32, pub shaderUniformBufferArrayNonUniformIndexing : Bool32, pub shaderSampledImageArrayNonUniformIndexing : Bool32, pub shaderStorageBufferArrayNonUniformIndexing : Bool32, pub shaderStorageImageArrayNonUniformIndexing : Bool32, pub shaderInputAttachmentArrayNonUniformIndexing : Bool32, pub shaderUniformTexelBufferArrayNonUniformIndexing : Bool32, pub shaderStorageTexelBufferArrayNonUniformIndexing : Bool32, pub descriptorBindingUniformBufferUpdateAfterBind : Bool32, pub descriptorBindingSampledImageUpdateAfterBind : Bool32, pub descriptorBindingStorageImageUpdateAfterBind : Bool32, pub descriptorBindingStorageBufferUpdateAfterBind : Bool32, pub descriptorBindingUniformTexelBufferUpdateAfterBind : Bool32, pub descriptorBindingStorageTexelBufferUpdateAfterBind : Bool32, pub descriptorBindingUpdateUnusedWhilePending : Bool32, pub descriptorBindingPartiallyBound : Bool32, pub descriptorBindingVariableDescriptorCount : Bool32, pub runtimeDescriptorArray : Bool32, pub samplerFilterMinmax : Bool32, pub scalarBlockLayout : Bool32, pub imagelessFramebuffer : Bool32, pub uniformBufferStandardLayout : Bool32, pub shaderSubgroupExtendedTypes : Bool32, pub separateDepthStencilLayouts : Bool32, pub hostQueryReset : Bool32, pub timelineSemaphore : Bool32, pub bufferDeviceAddress : Bool32, pub bufferDeviceAddressCaptureReplay : Bool32, pub bufferDeviceAddressMultiDevice : Bool32, pub vulkanMemoryModel : Bool32, pub vulkanMemoryModelDeviceScope : Bool32, pub vulkanMemoryModelAvailabilityVisibilityChains : Bool32, pub shaderOutputViewportIndex : Bool32, pub shaderOutputLayer : Bool32, pub subgroupBroadcastDynamicId : Bool32, } #[repr(C)] pub struct ConformanceVersion { pub major : u8, pub minor : u8, pub subminor : u8, pub patch : u8, } #[repr(C)] pub struct PhysicalDeviceVulkan12Properties { pub sType : StructureType, pub pNext : *mut void, pub driverID : DriverId, pub driverName : [i8;MAX_DRIVER_NAME_SIZE], pub driverInfo : [i8;MAX_DRIVER_INFO_SIZE], pub conformanceVersion : ConformanceVersion, pub denormBehaviorIndependence : ShaderFloatControlsIndependence, pub roundingModeIndependence : ShaderFloatControlsIndependence, pub shaderSignedZeroInfNanPreserveFloat16 : Bool32, pub shaderSignedZeroInfNanPreserveFloat32 : Bool32, pub shaderSignedZeroInfNanPreserveFloat64 : Bool32, pub shaderDenormPreserveFloat16 : Bool32, pub shaderDenormPreserveFloat32 : Bool32, pub shaderDenormPreserveFloat64 : Bool32, pub shaderDenormFlushToZeroFloat16 : Bool32, pub shaderDenormFlushToZeroFloat32 : Bool32, pub shaderDenormFlushToZeroFloat64 : Bool32, pub shaderRoundingModeRTEFloat16 : Bool32, pub shaderRoundingModeRTEFloat32 : Bool32, pub shaderRoundingModeRTEFloat64 : Bool32, pub shaderRoundingModeRTZFloat16 : Bool32, pub shaderRoundingModeRTZFloat32 : Bool32, pub shaderRoundingModeRTZFloat64 : Bool32, pub maxUpdateAfterBindDescriptorsInAllPools : u32, pub shaderUniformBufferArrayNonUniformIndexingNative : Bool32, pub shaderSampledImageArrayNonUniformIndexingNative : Bool32, pub shaderStorageBufferArrayNonUniformIndexingNative : Bool32, pub shaderStorageImageArrayNonUniformIndexingNative : Bool32, pub shaderInputAttachmentArrayNonUniformIndexingNative : Bool32, pub robustBufferAccessUpdateAfterBind : Bool32, pub quadDivergentImplicitLod : Bool32, pub maxPerStageDescriptorUpdateAfterBindSamplers : u32, pub maxPerStageDescriptorUpdateAfterBindUniformBuffers : u32, pub maxPerStageDescriptorUpdateAfterBindStorageBuffers : u32, pub maxPerStageDescriptorUpdateAfterBindSampledImages : u32, pub maxPerStageDescriptorUpdateAfterBindStorageImages : u32, pub maxPerStageDescriptorUpdateAfterBindInputAttachments : u32, pub maxPerStageUpdateAfterBindResources : u32, pub maxDescriptorSetUpdateAfterBindSamplers : u32, pub maxDescriptorSetUpdateAfterBindUniformBuffers : u32, pub maxDescriptorSetUpdateAfterBindUniformBuffersDynamic : u32, pub maxDescriptorSetUpdateAfterBindStorageBuffers : u32, pub maxDescriptorSetUpdateAfterBindStorageBuffersDynamic : u32, pub maxDescriptorSetUpdateAfterBindSampledImages : u32, pub maxDescriptorSetUpdateAfterBindStorageImages : u32, pub maxDescriptorSetUpdateAfterBindInputAttachments : u32, pub supportedDepthResolveModes : ResolveModeFlags, pub supportedStencilResolveModes : ResolveModeFlags, pub independentResolveNone : Bool32, pub independentResolve : Bool32, pub filterMinmaxSingleComponentFormats : Bool32, pub filterMinmaxImageComponentMapping : Bool32, pub maxTimelineSemaphoreValueDifference : u64, pub framebufferIntegerColorSampleCounts : SampleCountFlags, } #[repr(C)] pub struct ImageFormatListCreateInfo { pub sType : StructureType, pub pNext : *const void, pub viewFormatCount : u32, pub pViewFormats : *const Format, } #[repr(C)] pub struct AttachmentDescription2 { pub sType : StructureType, pub pNext : *const void, pub flags : AttachmentDescriptionFlags, pub format : Format, pub samples : SampleCountFlagBits, pub loadOp : AttachmentLoadOp, pub storeOp : AttachmentStoreOp, pub stencilLoadOp : AttachmentLoadOp, pub stencilStoreOp : AttachmentStoreOp, pub initialLayout : ImageLayout, pub finalLayout : ImageLayout, } #[repr(C)] pub struct AttachmentReference2 { pub sType : StructureType, pub pNext : *const void, pub attachment : u32, pub layout : ImageLayout, pub aspectMask : ImageAspectFlags, } #[repr(C)] pub struct SubpassDescription2 { pub sType : StructureType, pub pNext : *const void, pub flags : SubpassDescriptionFlags, pub pipelineBindPoint : PipelineBindPoint, pub viewMask : u32, pub inputAttachmentCount : u32, pub pInputAttachments : *const AttachmentReference2, pub colorAttachmentCount : u32, pub pColorAttachments : *const AttachmentReference2, pub pResolveAttachments : *const AttachmentReference2, pub pDepthStencilAttachment : *const AttachmentReference2, pub preserveAttachmentCount : u32, pub pPreserveAttachments : *const u32, } #[repr(C)] pub struct SubpassDependency2 { pub sType : StructureType, pub pNext : *const void, pub srcSubpass : u32, pub dstSubpass : u32, pub srcStageMask : PipelineStageFlags, pub dstStageMask : PipelineStageFlags, pub srcAccessMask : AccessFlags, pub dstAccessMask : AccessFlags, pub dependencyFlags : DependencyFlags, pub viewOffset : i32, } #[repr(C)] pub struct RenderPassCreateInfo2 { pub sType : StructureType, pub pNext : *const void, pub flags : RenderPassCreateFlags, pub attachmentCount : u32, pub pAttachments : *const AttachmentDescription2, pub subpassCount : u32, pub pSubpasses : *const SubpassDescription2, pub dependencyCount : u32, pub pDependencies : *const SubpassDependency2, pub correlatedViewMaskCount : u32, pub pCorrelatedViewMasks : *const u32, } #[repr(C)] pub struct SubpassBeginInfo { pub sType : StructureType, pub pNext : *const void, pub contents : SubpassContents, } #[repr(C)] pub struct SubpassEndInfo { pub sType : StructureType, pub pNext : *const void, } #[repr(C)] pub struct PhysicalDevice8BitStorageFeatures { pub sType : StructureType, pub pNext : *mut void, pub storageBuffer8BitAccess : Bool32, pub uniformAndStorageBuffer8BitAccess : Bool32, pub storagePushConstant8 : Bool32, } #[repr(C)] pub struct PhysicalDeviceDriverProperties { pub sType : StructureType, pub pNext : *mut void, pub driverID : DriverId, pub driverName : [i8;MAX_DRIVER_NAME_SIZE], pub driverInfo : [i8;MAX_DRIVER_INFO_SIZE], pub conformanceVersion : ConformanceVersion, } #[repr(C)] pub struct PhysicalDeviceShaderAtomicInt64Features { pub sType : StructureType, pub pNext : *mut void, pub shaderBufferInt64Atomics : Bool32, pub shaderSharedInt64Atomics : Bool32, } #[repr(C)] pub struct PhysicalDeviceShaderFloat16Int8Features { pub sType : StructureType, pub pNext : *mut void, pub shaderFloat16 : Bool32, pub shaderInt8 : Bool32, } #[repr(C)] pub struct PhysicalDeviceFloatControlsProperties { pub sType : StructureType, pub pNext : *mut void, pub denormBehaviorIndependence : ShaderFloatControlsIndependence, pub roundingModeIndependence : ShaderFloatControlsIndependence, pub shaderSignedZeroInfNanPreserveFloat16 : Bool32, pub shaderSignedZeroInfNanPreserveFloat32 : Bool32, pub shaderSignedZeroInfNanPreserveFloat64 : Bool32, pub shaderDenormPreserveFloat16 : Bool32, pub shaderDenormPreserveFloat32 : Bool32, pub shaderDenormPreserveFloat64 : Bool32, pub shaderDenormFlushToZeroFloat16 : Bool32, pub shaderDenormFlushToZeroFloat32 : Bool32, pub shaderDenormFlushToZeroFloat64 : Bool32, pub shaderRoundingModeRTEFloat16 : Bool32, pub shaderRoundingModeRTEFloat32 : Bool32, pub shaderRoundingModeRTEFloat64 : Bool32, pub shaderRoundingModeRTZFloat16 : Bool32, pub shaderRoundingModeRTZFloat32 : Bool32, pub shaderRoundingModeRTZFloat64 : Bool32, } #[repr(C)] pub struct DescriptorSetLayoutBindingFlagsCreateInfo { pub sType : StructureType, pub pNext : *const void, pub bindingCount : u32, pub pBindingFlags : *const DescriptorBindingFlags, } #[repr(C)] pub struct PhysicalDeviceDescriptorIndexingFeatures { pub sType : StructureType, pub pNext : *mut void, pub shaderInputAttachmentArrayDynamicIndexing : Bool32, pub shaderUniformTexelBufferArrayDynamicIndexing : Bool32, pub shaderStorageTexelBufferArrayDynamicIndexing : Bool32, pub shaderUniformBufferArrayNonUniformIndexing : Bool32, pub shaderSampledImageArrayNonUniformIndexing : Bool32, pub shaderStorageBufferArrayNonUniformIndexing : Bool32, pub shaderStorageImageArrayNonUniformIndexing : Bool32, pub shaderInputAttachmentArrayNonUniformIndexing : Bool32, pub shaderUniformTexelBufferArrayNonUniformIndexing : Bool32, pub shaderStorageTexelBufferArrayNonUniformIndexing : Bool32, pub descriptorBindingUniformBufferUpdateAfterBind : Bool32, pub descriptorBindingSampledImageUpdateAfterBind : Bool32, pub descriptorBindingStorageImageUpdateAfterBind : Bool32, pub descriptorBindingStorageBufferUpdateAfterBind : Bool32, pub descriptorBindingUniformTexelBufferUpdateAfterBind : Bool32, pub descriptorBindingStorageTexelBufferUpdateAfterBind : Bool32, pub descriptorBindingUpdateUnusedWhilePending : Bool32, pub descriptorBindingPartiallyBound : Bool32, pub descriptorBindingVariableDescriptorCount : Bool32, pub runtimeDescriptorArray : Bool32, } #[repr(C)] pub struct PhysicalDeviceDescriptorIndexingProperties { pub sType : StructureType, pub pNext : *mut void, pub maxUpdateAfterBindDescriptorsInAllPools : u32, pub shaderUniformBufferArrayNonUniformIndexingNative : Bool32, pub shaderSampledImageArrayNonUniformIndexingNative : Bool32, pub shaderStorageBufferArrayNonUniformIndexingNative : Bool32, pub shaderStorageImageArrayNonUniformIndexingNative : Bool32, pub shaderInputAttachmentArrayNonUniformIndexingNative : Bool32, pub robustBufferAccessUpdateAfterBind : Bool32, pub quadDivergentImplicitLod : Bool32, pub maxPerStageDescriptorUpdateAfterBindSamplers : u32, pub maxPerStageDescriptorUpdateAfterBindUniformBuffers : u32, pub maxPerStageDescriptorUpdateAfterBindStorageBuffers : u32, pub maxPerStageDescriptorUpdateAfterBindSampledImages : u32, pub maxPerStageDescriptorUpdateAfterBindStorageImages : u32, pub maxPerStageDescriptorUpdateAfterBindInputAttachments : u32, pub maxPerStageUpdateAfterBindResources : u32, pub maxDescriptorSetUpdateAfterBindSamplers : u32, pub maxDescriptorSetUpdateAfterBindUniformBuffers : u32, pub maxDescriptorSetUpdateAfterBindUniformBuffersDynamic : u32, pub maxDescriptorSetUpdateAfterBindStorageBuffers : u32, pub maxDescriptorSetUpdateAfterBindStorageBuffersDynamic : u32, pub maxDescriptorSetUpdateAfterBindSampledImages : u32, pub maxDescriptorSetUpdateAfterBindStorageImages : u32, pub maxDescriptorSetUpdateAfterBindInputAttachments : u32, } #[repr(C)] pub struct DescriptorSetVariableDescriptorCountAllocateInfo { pub sType : StructureType, pub pNext : *const void, pub descriptorSetCount : u32, pub pDescriptorCounts : *const u32, } #[repr(C)] pub struct DescriptorSetVariableDescriptorCountLayoutSupport { pub sType : StructureType, pub pNext : *mut void, pub maxVariableDescriptorCount : u32, } #[repr(C)] pub struct SubpassDescriptionDepthStencilResolve { pub sType : StructureType, pub pNext : *const void, pub depthResolveMode : ResolveModeFlagBits, pub stencilResolveMode : ResolveModeFlagBits, pub pDepthStencilResolveAttachment : *const AttachmentReference2, } #[repr(C)] pub struct PhysicalDeviceDepthStencilResolveProperties { pub sType : StructureType, pub pNext : *mut void, pub supportedDepthResolveModes : ResolveModeFlags, pub supportedStencilResolveModes : ResolveModeFlags, pub independentResolveNone : Bool32, pub independentResolve : Bool32, } #[repr(C)] pub struct PhysicalDeviceScalarBlockLayoutFeatures { pub sType : StructureType, pub pNext : *mut void, pub scalarBlockLayout : Bool32, } #[repr(C)] pub struct ImageStencilUsageCreateInfo { pub sType : StructureType, pub pNext : *const void, pub stencilUsage : ImageUsageFlags, } #[repr(C)] pub struct SamplerReductionModeCreateInfo { pub sType : StructureType, pub pNext : *const void, pub reductionMode : SamplerReductionMode, } #[repr(C)] pub struct PhysicalDeviceSamplerFilterMinmaxProperties { pub sType : StructureType, pub pNext : *mut void, pub filterMinmaxSingleComponentFormats : Bool32, pub filterMinmaxImageComponentMapping : Bool32, } #[repr(C)] pub struct PhysicalDeviceVulkanMemoryModelFeatures { pub sType : StructureType, pub pNext : *mut void, pub vulkanMemoryModel : Bool32, pub vulkanMemoryModelDeviceScope : Bool32, pub vulkanMemoryModelAvailabilityVisibilityChains : Bool32, } #[repr(C)] pub struct PhysicalDeviceImagelessFramebufferFeatures { pub sType : StructureType, pub pNext : *mut void, pub imagelessFramebuffer : Bool32, } #[repr(C)] pub struct FramebufferAttachmentImageInfo { pub sType : StructureType, pub pNext : *const void, pub flags : ImageCreateFlags, pub usage : ImageUsageFlags, pub width : u32, pub height : u32, pub layerCount : u32, pub viewFormatCount : u32, pub pViewFormats : *const Format, } #[repr(C)] pub struct FramebufferAttachmentsCreateInfo { pub sType : StructureType, pub pNext : *const void, pub attachmentImageInfoCount : u32, pub pAttachmentImageInfos : *const FramebufferAttachmentImageInfo, } #[repr(C)] pub struct RenderPassAttachmentBeginInfo { pub sType : StructureType, pub pNext : *const void, pub attachmentCount : u32, pub pAttachments : *const ImageView, } #[repr(C)] pub struct PhysicalDeviceUniformBufferStandardLayoutFeatures { pub sType : StructureType, pub pNext : *mut void, pub uniformBufferStandardLayout : Bool32, } #[repr(C)] pub struct PhysicalDeviceShaderSubgroupExtendedTypesFeatures { pub sType : StructureType, pub pNext : *mut void, pub shaderSubgroupExtendedTypes : Bool32, } #[repr(C)] pub struct PhysicalDeviceSeparateDepthStencilLayoutsFeatures { pub sType : StructureType, pub pNext : *mut void, pub separateDepthStencilLayouts : Bool32, } #[repr(C)] pub struct AttachmentReferenceStencilLayout { pub sType : StructureType, pub pNext : *mut void, pub stencilLayout : ImageLayout, } #[repr(C)] pub struct AttachmentDescriptionStencilLayout { pub sType : StructureType, pub pNext : *mut void, pub stencilInitialLayout : ImageLayout, pub stencilFinalLayout : ImageLayout, } #[repr(C)] pub struct PhysicalDeviceHostQueryResetFeatures { pub sType : StructureType, pub pNext : *mut void, pub hostQueryReset : Bool32, } #[repr(C)] pub struct PhysicalDeviceTimelineSemaphoreFeatures { pub sType : StructureType, pub pNext : *mut void, pub timelineSemaphore : Bool32, } #[repr(C)] pub struct PhysicalDeviceTimelineSemaphoreProperties { pub sType : StructureType, pub pNext : *mut void, pub maxTimelineSemaphoreValueDifference : u64, } #[repr(C)] pub struct SemaphoreTypeCreateInfo { pub sType : StructureType, pub pNext : *const void, pub semaphoreType : SemaphoreType, pub initialValue : u64, } #[repr(C)] pub struct TimelineSemaphoreSubmitInfo { pub sType : StructureType, pub pNext : *const void, pub waitSemaphoreValueCount : u32, pub pWaitSemaphoreValues : *const u64, pub signalSemaphoreValueCount : u32, pub pSignalSemaphoreValues : *const u64, } #[repr(C)] pub struct SemaphoreWaitInfo { pub sType : StructureType, pub pNext : *const void, pub flags : SemaphoreWaitFlags, pub semaphoreCount : u32, pub pSemaphores : *const Semaphore, pub pValues : *const u64, } #[repr(C)] pub struct SemaphoreSignalInfo { pub sType : StructureType, pub pNext : *const void, pub semaphore : Semaphore, pub value : u64, } #[repr(C)] pub struct PhysicalDeviceBufferDeviceAddressFeatures { pub sType : StructureType, pub pNext : *mut void, pub bufferDeviceAddress : Bool32, pub bufferDeviceAddressCaptureReplay : Bool32, pub bufferDeviceAddressMultiDevice : Bool32, } #[repr(C)] pub struct BufferDeviceAddressInfo { pub sType : StructureType, pub pNext : *const void, pub buffer : Buffer, } #[repr(C)] pub struct BufferOpaqueCaptureAddressCreateInfo { pub sType : StructureType, pub pNext : *const void, pub opaqueCaptureAddress : u64, } #[repr(C)] pub struct MemoryOpaqueCaptureAddressAllocateInfo { pub sType : StructureType, pub pNext : *const void, pub opaqueCaptureAddress : u64, } #[repr(C)] pub struct DeviceMemoryOpaqueCaptureAddressInfo { pub sType : StructureType, pub pNext : *const void, pub memory : DeviceMemory, } pub type SurfaceKHR = u64; pub type PresentModeKHR = i32; pub const PRESENT_MODE_IMMEDIATE_KHR : i32 = 0; pub const PRESENT_MODE_MAILBOX_KHR : i32 = 1; pub const PRESENT_MODE_FIFO_KHR : i32 = 2; pub const PRESENT_MODE_FIFO_RELAXED_KHR : i32 = 3; pub const PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR : i32 = 1000111000; pub const PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR : i32 = 1000111001; pub const PRESENT_MODE_MAX_ENUM_KHR : i32 = 0x7FFFFFF; pub type ColorSpaceKHR = i32; pub const COLOR_SPACE_SRGB_NONLINEAR_KHR : i32 = 0; pub const COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT : i32 = 1000104001; pub const COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT : i32 = 1000104002; pub const COLOR_SPACE_DISPLAY_P3_LINEAR_EXT : i32 = 1000104003; pub const COLOR_SPACE_DCI_P3_NONLINEAR_EXT : i32 = 1000104004; pub const COLOR_SPACE_BT709_LINEAR_EXT : i32 = 1000104005; pub const COLOR_SPACE_BT709_NONLINEAR_EXT : i32 = 1000104006; pub const COLOR_SPACE_BT2020_LINEAR_EXT : i32 = 1000104007; pub const COLOR_SPACE_HDR10_ST2084_EXT : i32 = 1000104008; pub const COLOR_SPACE_DOLBYVISION_EXT : i32 = 1000104009; pub const COLOR_SPACE_HDR10_HLG_EXT : i32 = 1000104010; pub const COLOR_SPACE_ADOBERGB_LINEAR_EXT : i32 = 1000104011; pub const COLOR_SPACE_ADOBERGB_NONLINEAR_EXT : i32 = 1000104012; pub const COLOR_SPACE_PASS_THROUGH_EXT : i32 = 1000104013; pub const COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT : i32 = 1000104014; pub const COLOR_SPACE_DISPLAY_NATIVE_AMD : i32 = 1000213000; pub const COLORSPACE_SRGB_NONLINEAR_KHR : i32 = COLOR_SPACE_SRGB_NONLINEAR_KHR; pub const COLOR_SPACE_DCI_P3_LINEAR_EXT : i32 = COLOR_SPACE_DISPLAY_P3_LINEAR_EXT; pub const COLOR_SPACE_MAX_ENUM_KHR : i32 = 0x7FFFFFF; pub type SurfaceTransformFlagBitsKHR = i32; pub const SURFACE_TRANSFORM_IDENTITY_BIT_KHR : i32 = 0x00000001; pub const SURFACE_TRANSFORM_ROTATE_90_BIT_KHR : i32 = 0x00000002; pub const SURFACE_TRANSFORM_ROTATE_180_BIT_KHR : i32 = 0x00000004; pub const SURFACE_TRANSFORM_ROTATE_270_BIT_KHR : i32 = 0x00000008; pub const SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR : i32 = 0x00000010; pub const SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR : i32 = 0x00000020; pub const SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR : i32 = 0x00000040; pub const SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR : i32 = 0x00000080; pub const SURFACE_TRANSFORM_INHERIT_BIT_KHR : i32 = 0x00000100; pub const SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR : i32 = 0x7FFFFFF; pub type CompositeAlphaFlagBitsKHR = i32; pub const COMPOSITE_ALPHA_OPAQUE_BIT_KHR : i32 = 0x00000001; pub const COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR : i32 = 0x00000002; pub const COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR : i32 = 0x00000004; pub const COMPOSITE_ALPHA_INHERIT_BIT_KHR : i32 = 0x00000008; pub const COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR : i32 = 0x7FFFFFF; pub type SurfaceTransformFlagsKHR = u32; pub type CompositeAlphaFlagsKHR = u32; #[repr(C)] pub struct SurfaceCapabilitiesKHR { pub minImageCount : u32, pub maxImageCount : u32, pub currentExtent : Extent2D, pub minImageExtent : Extent2D, pub maxImageExtent : Extent2D, pub maxImageArrayLayers : u32, pub supportedTransforms : SurfaceTransformFlagsKHR, pub currentTransform : SurfaceTransformFlagBitsKHR, pub supportedCompositeAlpha : CompositeAlphaFlagsKHR, pub supportedUsageFlags : ImageUsageFlags, } #[repr(C)] pub struct SurfaceFormatKHR { pub format : Format, pub colorSpace : ColorSpaceKHR, } pub type SwapchainKHR = u64; pub type SwapchainCreateFlagBitsKHR = i32; pub const SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR : i32 = 0x00000001; pub const SWAPCHAIN_CREATE_PROTECTED_BIT_KHR : i32 = 0x00000002; pub const SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR : i32 = 0x00000004; pub const SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR : i32 = 0x7FFFFFF; pub type SwapchainCreateFlagsKHR = u32; pub type DeviceGroupPresentModeFlagBitsKHR = i32; pub const DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR : i32 = 0x00000001; pub const DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR : i32 = 0x00000002; pub const DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR : i32 = 0x00000004; pub const DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR : i32 = 0x00000008; pub const DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR : i32 = 0x7FFFFFF; pub type DeviceGroupPresentModeFlagsKHR = u32; #[repr(C)] pub struct SwapchainCreateInfoKHR { pub sType : StructureType, pub pNext : *const void, pub flags : SwapchainCreateFlagsKHR, pub surface : SurfaceKHR, pub minImageCount : u32, pub imageFormat : Format, pub imageColorSpace : ColorSpaceKHR, pub imageExtent : Extent2D, pub imageArrayLayers : u32, pub imageUsage : ImageUsageFlags, pub imageSharingMode : SharingMode, pub queueFamilyIndexCount : u32, pub pQueueFamilyIndices : *const u32, pub preTransform : SurfaceTransformFlagBitsKHR, pub compositeAlpha : CompositeAlphaFlagBitsKHR, pub presentMode : PresentModeKHR, pub clipped : Bool32, pub oldSwapchain : SwapchainKHR, } #[repr(C)] pub struct PresentInfoKHR { pub sType : StructureType, pub pNext : *const void, pub waitSemaphoreCount : u32, pub pWaitSemaphores : *const Semaphore, pub swapchainCount : u32, pub pSwapchains : *const SwapchainKHR, pub pImageIndices : *const u32, pub pResults : *mut Result, } #[repr(C)] pub struct ImageSwapchainCreateInfoKHR { pub sType : StructureType, pub pNext : *const void, pub swapchain : SwapchainKHR, } #[repr(C)] pub struct BindImageMemorySwapchainInfoKHR { pub sType : StructureType, pub pNext : *const void, pub swapchain : SwapchainKHR, pub imageIndex : u32, } #[repr(C)] pub struct AcquireNextImageInfoKHR { pub sType : StructureType, pub pNext : *const void, pub swapchain : SwapchainKHR, pub timeout : u64, pub semaphore : Semaphore, pub fence : Fence, pub deviceMask : u32, } #[repr(C)] pub struct DeviceGroupPresentCapabilitiesKHR { pub sType : StructureType, pub pNext : *const void, pub presentMask : [u32;MAX_DEVICE_GROUP_SIZE], pub modes : DeviceGroupPresentModeFlagsKHR, } #[repr(C)] pub struct DeviceGroupPresentInfoKHR { pub sType : StructureType, pub pNext : *const void, pub swapchainCount : u32, pub pDeviceMasks : *const u32, pub mode : DeviceGroupPresentModeFlagBitsKHR, } #[repr(C)] pub struct DeviceGroupSwapchainCreateInfoKHR { pub sType : StructureType, pub pNext : *const void, pub modes : DeviceGroupPresentModeFlagsKHR, } pub type DisplayKHR = u64; pub type DisplayModeKHR = u64; pub type DisplayPlaneAlphaFlagBitsKHR = i32; pub const DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR : i32 = 0x00000001; pub const DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR : i32 = 0x00000002; pub const DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR : i32 = 0x00000004; pub const DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR : i32 = 0x00000008; pub const DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR : i32 = 0x7FFFFFF; pub type DisplayPlaneAlphaFlagsKHR = u32; pub type DisplayModeCreateFlagsKHR = u32; pub type DisplaySurfaceCreateFlagsKHR = u32; #[repr(C)] pub struct DisplayPropertiesKHR { pub display : DisplayKHR, pub displayName : *const i8, pub physicalDimensions : Extent2D, pub physicalResolution : Extent2D, pub supportedTransforms : SurfaceTransformFlagsKHR, pub planeReorderPossible : Bool32, pub persistentContent : Bool32, } #[repr(C)] pub struct DisplayModeParametersKHR { pub visibleRegion : Extent2D, pub refreshRate : u32, } #[repr(C)] pub struct DisplayModePropertiesKHR { pub displayMode : DisplayModeKHR, pub parameters : DisplayModeParametersKHR, } #[repr(C)] pub struct DisplayModeCreateInfoKHR { pub sType : StructureType, pub pNext : *const void, pub flags : DisplayModeCreateFlagsKHR, pub parameters : DisplayModeParametersKHR, } #[repr(C)] pub struct DisplayPlaneCapabilitiesKHR { pub supportedAlpha : DisplayPlaneAlphaFlagsKHR, pub minSrcPosition : Offset2D, pub maxSrcPosition : Offset2D, pub minSrcExtent : Extent2D, pub maxSrcExtent : Extent2D, pub minDstPosition : Offset2D, pub maxDstPosition : Offset2D, pub minDstExtent : Extent2D, pub maxDstExtent : Extent2D, } #[repr(C)] pub struct DisplayPlanePropertiesKHR { pub currentDisplay : DisplayKHR, pub currentStackIndex : u32, } #[repr(C)] pub struct DisplaySurfaceCreateInfoKHR { pub sType : StructureType, pub pNext : *const void, pub flags : DisplaySurfaceCreateFlagsKHR, pub displayMode : DisplayModeKHR, pub planeIndex : u32, pub planeStackIndex : u32, pub transform : SurfaceTransformFlagBitsKHR, pub globalAlpha : f32, pub alphaMode : DisplayPlaneAlphaFlagBitsKHR, pub imageExtent : Extent2D, } #[repr(C)] pub struct DisplayPresentInfoKHR { pub sType : StructureType, pub pNext : *const void, pub srcRect : Rect2D, pub dstRect : Rect2D, pub persistent : Bool32, } pub type RenderPassMultiviewCreateInfoKHR = RenderPassMultiviewCreateInfo; pub type PhysicalDeviceMultiviewFeaturesKHR = PhysicalDeviceMultiviewFeatures; pub type PhysicalDeviceMultiviewPropertiesKHR = PhysicalDeviceMultiviewProperties; pub type PhysicalDeviceFeatures2KHR = PhysicalDeviceFeatures2; pub type PhysicalDeviceProperties2KHR = PhysicalDeviceProperties2; pub type FormatProperties2KHR = FormatProperties2; pub type ImageFormatProperties2KHR = ImageFormatProperties2; pub type PhysicalDeviceImageFormatInfo2KHR = PhysicalDeviceImageFormatInfo2; pub type QueueFamilyProperties2KHR = QueueFamilyProperties2; pub type PhysicalDeviceMemoryProperties2KHR = PhysicalDeviceMemoryProperties2; pub type SparseImageFormatProperties2KHR = SparseImageFormatProperties2; pub type PhysicalDeviceSparseImageFormatInfo2KHR = PhysicalDeviceSparseImageFormatInfo2; pub type PeerMemoryFeatureFlagsKHR = PeerMemoryFeatureFlags; pub type PeerMemoryFeatureFlagBitsKHR = PeerMemoryFeatureFlagBits; pub type MemoryAllocateFlagsKHR = MemoryAllocateFlags; pub type MemoryAllocateFlagBitsKHR = MemoryAllocateFlagBits; pub type MemoryAllocateFlagsInfoKHR = MemoryAllocateFlagsInfo; pub type DeviceGroupRenderPassBeginInfoKHR = DeviceGroupRenderPassBeginInfo; pub type DeviceGroupCommandBufferBeginInfoKHR = DeviceGroupCommandBufferBeginInfo; pub type DeviceGroupSubmitInfoKHR = DeviceGroupSubmitInfo; pub type DeviceGroupBindSparseInfoKHR = DeviceGroupBindSparseInfo; pub type BindBufferMemoryDeviceGroupInfoKHR = BindBufferMemoryDeviceGroupInfo; pub type BindImageMemoryDeviceGroupInfoKHR = BindImageMemoryDeviceGroupInfo; pub type CommandPoolTrimFlagsKHR = CommandPoolTrimFlags; pub type PhysicalDeviceGroupPropertiesKHR = PhysicalDeviceGroupProperties; pub type DeviceGroupDeviceCreateInfoKHR = DeviceGroupDeviceCreateInfo; pub type ExternalMemoryHandleTypeFlagsKHR = ExternalMemoryHandleTypeFlags; pub type ExternalMemoryHandleTypeFlagBitsKHR = ExternalMemoryHandleTypeFlagBits; pub type ExternalMemoryFeatureFlagsKHR = ExternalMemoryFeatureFlags; pub type ExternalMemoryFeatureFlagBitsKHR = ExternalMemoryFeatureFlagBits; pub type ExternalMemoryPropertiesKHR = ExternalMemoryProperties; pub type PhysicalDeviceExternalImageFormatInfoKHR = PhysicalDeviceExternalImageFormatInfo; pub type ExternalImageFormatPropertiesKHR = ExternalImageFormatProperties; pub type PhysicalDeviceExternalBufferInfoKHR = PhysicalDeviceExternalBufferInfo; pub type ExternalBufferPropertiesKHR = ExternalBufferProperties; pub type PhysicalDeviceIDPropertiesKHR = PhysicalDeviceIDProperties; pub type ExternalMemoryImageCreateInfoKHR = ExternalMemoryImageCreateInfo; pub type ExternalMemoryBufferCreateInfoKHR = ExternalMemoryBufferCreateInfo; pub type ExportMemoryAllocateInfoKHR = ExportMemoryAllocateInfo; #[repr(C)] pub struct ImportMemoryFdInfoKHR { pub sType : StructureType, pub pNext : *const void, pub handleType : ExternalMemoryHandleTypeFlagBits, pub fd : i32, } #[repr(C)] pub struct MemoryFdPropertiesKHR { pub sType : StructureType, pub pNext : *mut void, pub memoryTypeBits : u32, } #[repr(C)] pub struct MemoryGetFdInfoKHR { pub sType : StructureType, pub pNext : *const void, pub memory : DeviceMemory, pub handleType : ExternalMemoryHandleTypeFlagBits, } pub type ExternalSemaphoreHandleTypeFlagsKHR = ExternalSemaphoreHandleTypeFlags; pub type ExternalSemaphoreHandleTypeFlagBitsKHR = ExternalSemaphoreHandleTypeFlagBits; pub type ExternalSemaphoreFeatureFlagsKHR = ExternalSemaphoreFeatureFlags; pub type ExternalSemaphoreFeatureFlagBitsKHR = ExternalSemaphoreFeatureFlagBits; pub type PhysicalDeviceExternalSemaphoreInfoKHR = PhysicalDeviceExternalSemaphoreInfo; pub type ExternalSemaphorePropertiesKHR = ExternalSemaphoreProperties; pub type SemaphoreImportFlagsKHR = SemaphoreImportFlags; pub type SemaphoreImportFlagBitsKHR = SemaphoreImportFlagBits; pub type ExportSemaphoreCreateInfoKHR = ExportSemaphoreCreateInfo; #[repr(C)] pub struct ImportSemaphoreFdInfoKHR { pub sType : StructureType, pub pNext : *const void, pub semaphore : Semaphore, pub flags : SemaphoreImportFlags, pub handleType : ExternalSemaphoreHandleTypeFlagBits, pub fd : i32, } #[repr(C)] pub struct SemaphoreGetFdInfoKHR { pub sType : StructureType, pub pNext : *const void, pub semaphore : Semaphore, pub handleType : ExternalSemaphoreHandleTypeFlagBits, } #[repr(C)] pub struct PhysicalDevicePushDescriptorPropertiesKHR { pub sType : StructureType, pub pNext : *mut void, pub maxPushDescriptors : u32, } pub type PhysicalDeviceShaderFloat16Int8FeaturesKHR = PhysicalDeviceShaderFloat16Int8Features; pub type PhysicalDeviceFloat16Int8FeaturesKHR = PhysicalDeviceShaderFloat16Int8Features; pub type PhysicalDevice16BitStorageFeaturesKHR = PhysicalDevice16BitStorageFeatures; #[repr(C)] pub struct RectLayerKHR { pub offset : Offset2D, pub extent : Extent2D, pub layer : u32, } #[repr(C)] pub struct PresentRegionKHR { pub rectangleCount : u32, pub pRectangles : *const RectLayerKHR, } #[repr(C)] pub struct PresentRegionsKHR { pub sType : StructureType, pub pNext : *const void, pub swapchainCount : u32, pub pRegions : *const PresentRegionKHR, } pub type DescriptorUpdateTemplateKHR = DescriptorUpdateTemplate; pub type DescriptorUpdateTemplateTypeKHR = DescriptorUpdateTemplateType; pub type DescriptorUpdateTemplateCreateFlagsKHR = DescriptorUpdateTemplateCreateFlags; pub type DescriptorUpdateTemplateEntryKHR = DescriptorUpdateTemplateEntry; pub type DescriptorUpdateTemplateCreateInfoKHR = DescriptorUpdateTemplateCreateInfo; pub type PhysicalDeviceImagelessFramebufferFeaturesKHR = PhysicalDeviceImagelessFramebufferFeatures; pub type FramebufferAttachmentsCreateInfoKHR = FramebufferAttachmentsCreateInfo; pub type FramebufferAttachmentImageInfoKHR = FramebufferAttachmentImageInfo; pub type RenderPassAttachmentBeginInfoKHR = RenderPassAttachmentBeginInfo; pub type RenderPassCreateInfo2KHR = RenderPassCreateInfo2; pub type AttachmentDescription2KHR = AttachmentDescription2; pub type AttachmentReference2KHR = AttachmentReference2; pub type SubpassDescription2KHR = SubpassDescription2; pub type SubpassDependency2KHR = SubpassDependency2; pub type SubpassBeginInfoKHR = SubpassBeginInfo; pub type SubpassEndInfoKHR = SubpassEndInfo; #[repr(C)] pub struct SharedPresentSurfaceCapabilitiesKHR { pub sType : StructureType, pub pNext : *mut void, pub sharedPresentSupportedUsageFlags : ImageUsageFlags, } pub type ExternalFenceHandleTypeFlagsKHR = ExternalFenceHandleTypeFlags; pub type ExternalFenceHandleTypeFlagBitsKHR = ExternalFenceHandleTypeFlagBits; pub type ExternalFenceFeatureFlagsKHR = ExternalFenceFeatureFlags; pub type ExternalFenceFeatureFlagBitsKHR = ExternalFenceFeatureFlagBits; pub type PhysicalDeviceExternalFenceInfoKHR = PhysicalDeviceExternalFenceInfo; pub type ExternalFencePropertiesKHR = ExternalFenceProperties; pub type FenceImportFlagsKHR = FenceImportFlags; pub type FenceImportFlagBitsKHR = FenceImportFlagBits; pub type ExportFenceCreateInfoKHR = ExportFenceCreateInfo; #[repr(C)] pub struct ImportFenceFdInfoKHR { pub sType : StructureType, pub pNext : *const void, pub fence : Fence, pub flags : FenceImportFlags, pub handleType : ExternalFenceHandleTypeFlagBits, pub fd : i32, } #[repr(C)] pub struct FenceGetFdInfoKHR { pub sType : StructureType, pub pNext : *const void, pub fence : Fence, pub handleType : ExternalFenceHandleTypeFlagBits, } pub type PerformanceCounterUnitKHR = i32; pub const PERFORMANCE_COUNTER_UNIT_GENERIC_KHR : i32 = 0; pub const PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR : i32 = 1; pub const PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR : i32 = 2; pub const PERFORMANCE_COUNTER_UNIT_BYTES_KHR : i32 = 3; pub const PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR : i32 = 4; pub const PERFORMANCE_COUNTER_UNIT_KELVIN_KHR : i32 = 5; pub const PERFORMANCE_COUNTER_UNIT_WATTS_KHR : i32 = 6; pub const PERFORMANCE_COUNTER_UNIT_VOLTS_KHR : i32 = 7; pub const PERFORMANCE_COUNTER_UNIT_AMPS_KHR : i32 = 8; pub const PERFORMANCE_COUNTER_UNIT_HERTZ_KHR : i32 = 9; pub const PERFORMANCE_COUNTER_UNIT_CYCLES_KHR : i32 = 10; pub const PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR : i32 = 0x7FFFFFF; pub type PerformanceCounterScopeKHR = i32; pub const PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR : i32 = 0; pub const PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR : i32 = 1; pub const PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR : i32 = 2; pub const QUERY_SCOPE_COMMAND_BUFFER_KHR : i32 = PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR; pub const QUERY_SCOPE_RENDER_PASS_KHR : i32 = PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR; pub const QUERY_SCOPE_COMMAND_KHR : i32 = PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR; pub const PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR : i32 = 0x7FFFFFF; pub type PerformanceCounterStorageKHR = i32; pub const PERFORMANCE_COUNTER_STORAGE_INT32_KHR : i32 = 0; pub const PERFORMANCE_COUNTER_STORAGE_INT64_KHR : i32 = 1; pub const PERFORMANCE_COUNTER_STORAGE_UINT32_KHR : i32 = 2; pub const PERFORMANCE_COUNTER_STORAGE_UINT64_KHR : i32 = 3; pub const PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR : i32 = 4; pub const PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR : i32 = 5; pub const PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR : i32 = 0x7FFFFFF; pub type PerformanceCounterDescriptionFlagBitsKHR = i32; pub const PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR : i32 = 0x00000001; pub const PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR : i32 = 0x00000002; pub const PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR : i32 = 0x7FFFFFF; pub type PerformanceCounterDescriptionFlagsKHR = u32; pub type AcquireProfilingLockFlagBitsKHR = i32; pub const ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR : i32 = 0x7FFFFFF; pub type AcquireProfilingLockFlagsKHR = u32; #[repr(C)] pub struct PhysicalDevicePerformanceQueryFeaturesKHR { pub sType : StructureType, pub pNext : *mut void, pub performanceCounterQueryPools : Bool32, pub performanceCounterMultipleQueryPools : Bool32, } #[repr(C)] pub struct PhysicalDevicePerformanceQueryPropertiesKHR { pub sType : StructureType, pub pNext : *mut void, pub allowCommandBufferQueryCopies : Bool32, } #[repr(C)] pub struct PerformanceCounterKHR { pub sType : StructureType, pub pNext : *const void, pub unit : PerformanceCounterUnitKHR, pub scope : PerformanceCounterScopeKHR, pub storage : PerformanceCounterStorageKHR, pub uuid : [u8;UUID_SIZE], } #[repr(C)] pub struct PerformanceCounterDescriptionKHR { pub sType : StructureType, pub pNext : *const void, pub flags : PerformanceCounterDescriptionFlagsKHR, pub name : [i8;MAX_DESCRIPTION_SIZE], pub category : [i8;MAX_DESCRIPTION_SIZE], pub description : [i8;MAX_DESCRIPTION_SIZE], } #[repr(C)] pub struct QueryPoolPerformanceCreateInfoKHR { pub sType : StructureType, pub pNext : *const void, pub queueFamilyIndex : u32, pub counterIndexCount : u32, pub pCounterIndices : *const u32, } #[repr(C)] pub struct AcquireProfilingLockInfoKHR { pub sType : StructureType, pub pNext : *const void, pub flags : AcquireProfilingLockFlagsKHR, pub timeout : u64, } #[repr(C)] pub struct PerformanceQuerySubmitInfoKHR { pub sType : StructureType, pub pNext : *const void, pub counterPassIndex : u32, } pub type PointClippingBehaviorKHR = PointClippingBehavior; pub type TessellationDomainOriginKHR = TessellationDomainOrigin; pub type PhysicalDevicePointClippingPropertiesKHR = PhysicalDevicePointClippingProperties; pub type RenderPassInputAttachmentAspectCreateInfoKHR = RenderPassInputAttachmentAspectCreateInfo; pub type InputAttachmentAspectReferenceKHR = InputAttachmentAspectReference; pub type ImageViewUsageCreateInfoKHR = ImageViewUsageCreateInfo; pub type PipelineTessellationDomainOriginStateCreateInfoKHR = PipelineTessellationDomainOriginStateCreateInfo; #[repr(C)] pub struct PhysicalDeviceSurfaceInfo2KHR { pub sType : StructureType, pub pNext : *const void, pub surface : SurfaceKHR, } #[repr(C)] pub struct SurfaceCapabilities2KHR { pub sType : StructureType, pub pNext : *mut void, pub surfaceCapabilities : SurfaceCapabilitiesKHR, } #[repr(C)] pub struct SurfaceFormat2KHR { pub sType : StructureType, pub pNext : *mut void, pub surfaceFormat : SurfaceFormatKHR, } pub type PhysicalDeviceVariablePointerFeaturesKHR = PhysicalDeviceVariablePointersFeatures; pub type PhysicalDeviceVariablePointersFeaturesKHR = PhysicalDeviceVariablePointersFeatures; #[repr(C)] pub struct DisplayProperties2KHR { pub sType : StructureType, pub pNext : *mut void, pub displayProperties : DisplayPropertiesKHR, } #[repr(C)] pub struct DisplayPlaneProperties2KHR { pub sType : StructureType, pub pNext : *mut void, pub displayPlaneProperties : DisplayPlanePropertiesKHR, } #[repr(C)] pub struct DisplayModeProperties2KHR { pub sType : StructureType, pub pNext : *mut void, pub displayModeProperties : DisplayModePropertiesKHR, } #[repr(C)] pub struct DisplayPlaneInfo2KHR { pub sType : StructureType, pub pNext : *const void, pub mode : DisplayModeKHR, pub planeIndex : u32, } #[repr(C)] pub struct DisplayPlaneCapabilities2KHR { pub sType : StructureType, pub pNext : *mut void, pub capabilities : DisplayPlaneCapabilitiesKHR, } pub type MemoryDedicatedRequirementsKHR = MemoryDedicatedRequirements; pub type MemoryDedicatedAllocateInfoKHR = MemoryDedicatedAllocateInfo; pub type BufferMemoryRequirementsInfo2KHR = BufferMemoryRequirementsInfo2; pub type ImageMemoryRequirementsInfo2KHR = ImageMemoryRequirementsInfo2; pub type ImageSparseMemoryRequirementsInfo2KHR = ImageSparseMemoryRequirementsInfo2; pub type SparseImageMemoryRequirements2KHR = SparseImageMemoryRequirements2; pub type ImageFormatListCreateInfoKHR = ImageFormatListCreateInfo; pub type SamplerYcbcrConversionKHR = SamplerYcbcrConversion; pub type SamplerYcbcrModelConversionKHR = SamplerYcbcrModelConversion; pub type SamplerYcbcrRangeKHR = SamplerYcbcrRange; pub type ChromaLocationKHR = ChromaLocation; pub type SamplerYcbcrConversionCreateInfoKHR = SamplerYcbcrConversionCreateInfo; pub type SamplerYcbcrConversionInfoKHR = SamplerYcbcrConversionInfo; pub type BindImagePlaneMemoryInfoKHR = BindImagePlaneMemoryInfo; pub type ImagePlaneMemoryRequirementsInfoKHR = ImagePlaneMemoryRequirementsInfo; pub type PhysicalDeviceSamplerYcbcrConversionFeaturesKHR = PhysicalDeviceSamplerYcbcrConversionFeatures; pub type SamplerYcbcrConversionImageFormatPropertiesKHR = SamplerYcbcrConversionImageFormatProperties; pub type BindBufferMemoryInfoKHR = BindBufferMemoryInfo; pub type BindImageMemoryInfoKHR = BindImageMemoryInfo; pub type PhysicalDeviceMaintenance3PropertiesKHR = PhysicalDeviceMaintenance3Properties; pub type DescriptorSetLayoutSupportKHR = DescriptorSetLayoutSupport; pub type PhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR = PhysicalDeviceShaderSubgroupExtendedTypesFeatures; pub type PhysicalDevice8BitStorageFeaturesKHR = PhysicalDevice8BitStorageFeatures; pub type PhysicalDeviceShaderAtomicInt64FeaturesKHR = PhysicalDeviceShaderAtomicInt64Features; #[repr(C)] pub struct PhysicalDeviceShaderClockFeaturesKHR { pub sType : StructureType, pub pNext : *mut void, pub shaderSubgroupClock : Bool32, pub shaderDeviceClock : Bool32, } pub type DriverIdKHR = DriverId; pub type ConformanceVersionKHR = ConformanceVersion; pub type PhysicalDeviceDriverPropertiesKHR = PhysicalDeviceDriverProperties; pub type ShaderFloatControlsIndependenceKHR = ShaderFloatControlsIndependence; pub type PhysicalDeviceFloatControlsPropertiesKHR = PhysicalDeviceFloatControlsProperties; pub type ResolveModeFlagBitsKHR = ResolveModeFlagBits; pub type ResolveModeFlagsKHR = ResolveModeFlags; pub type SubpassDescriptionDepthStencilResolveKHR = SubpassDescriptionDepthStencilResolve; pub type PhysicalDeviceDepthStencilResolvePropertiesKHR = PhysicalDeviceDepthStencilResolveProperties; pub type SemaphoreTypeKHR = SemaphoreType; pub type SemaphoreWaitFlagBitsKHR = SemaphoreWaitFlagBits; pub type SemaphoreWaitFlagsKHR = SemaphoreWaitFlags; pub type PhysicalDeviceTimelineSemaphoreFeaturesKHR = PhysicalDeviceTimelineSemaphoreFeatures; pub type PhysicalDeviceTimelineSemaphorePropertiesKHR = PhysicalDeviceTimelineSemaphoreProperties; pub type SemaphoreTypeCreateInfoKHR = SemaphoreTypeCreateInfo; pub type TimelineSemaphoreSubmitInfoKHR = TimelineSemaphoreSubmitInfo; pub type SemaphoreWaitInfoKHR = SemaphoreWaitInfo; pub type SemaphoreSignalInfoKHR = SemaphoreSignalInfo; pub type PhysicalDeviceVulkanMemoryModelFeaturesKHR = PhysicalDeviceVulkanMemoryModelFeatures; #[repr(C)] pub struct SurfaceProtectedCapabilitiesKHR { pub sType : StructureType, pub pNext : *const void, pub supportsProtected : Bool32, } pub type PhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR = PhysicalDeviceSeparateDepthStencilLayoutsFeatures; pub type AttachmentReferenceStencilLayoutKHR = AttachmentReferenceStencilLayout; pub type AttachmentDescriptionStencilLayoutKHR = AttachmentDescriptionStencilLayout; pub type PhysicalDeviceUniformBufferStandardLayoutFeaturesKHR = PhysicalDeviceUniformBufferStandardLayoutFeatures; pub type PhysicalDeviceBufferDeviceAddressFeaturesKHR = PhysicalDeviceBufferDeviceAddressFeatures; pub type BufferDeviceAddressInfoKHR = BufferDeviceAddressInfo; pub type BufferOpaqueCaptureAddressCreateInfoKHR = BufferOpaqueCaptureAddressCreateInfo; pub type MemoryOpaqueCaptureAddressAllocateInfoKHR = MemoryOpaqueCaptureAddressAllocateInfo; pub type DeviceMemoryOpaqueCaptureAddressInfoKHR = DeviceMemoryOpaqueCaptureAddressInfo; pub type PipelineExecutableStatisticFormatKHR = i32; pub const PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR : i32 = 0; pub const PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR : i32 = 1; pub const PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR : i32 = 2; pub const PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR : i32 = 3; pub const PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR : i32 = 0x7FFFFFF; #[repr(C)] pub struct PhysicalDevicePipelineExecutablePropertiesFeaturesKHR { pub sType : StructureType, pub pNext : *mut void, pub pipelineExecutableInfo : Bool32, } #[repr(C)] pub struct PipelineInfoKHR { pub sType : StructureType, pub pNext : *const void, pub pipeline : Pipeline, } #[repr(C)] pub struct PipelineExecutablePropertiesKHR { pub sType : StructureType, pub pNext : *mut void, pub stages : ShaderStageFlags, pub name : [i8;MAX_DESCRIPTION_SIZE], pub description : [i8;MAX_DESCRIPTION_SIZE], pub subgroupSize : u32, } #[repr(C)] pub struct PipelineExecutableInfoKHR { pub sType : StructureType, pub pNext : *const void, pub pipeline : Pipeline, pub executableIndex : u32, } #[repr(C)] pub struct PipelineExecutableInternalRepresentationKHR { pub sType : StructureType, pub pNext : *mut void, pub name : [i8;MAX_DESCRIPTION_SIZE], pub description : [i8;MAX_DESCRIPTION_SIZE], pub isText : Bool32, pub dataSize : usize, pub pData : *mut void, } pub type DebugReportCallbackEXT = u64; pub type DebugReportObjectTypeEXT = i32; pub const DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT : i32 = 0; pub const DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT : i32 = 1; pub const DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT : i32 = 2; pub const DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT : i32 = 3; pub const DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT : i32 = 4; pub const DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT : i32 = 5; pub const DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT : i32 = 6; pub const DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT : i32 = 7; pub const DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT : i32 = 8; pub const DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT : i32 = 9; pub const DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT : i32 = 10; pub const DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT : i32 = 11; pub const DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT : i32 = 12; pub const DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT : i32 = 13; pub const DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT : i32 = 14; pub const DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT : i32 = 15; pub const DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT : i32 = 16; pub const DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT : i32 = 17; pub const DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT : i32 = 18; pub const DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT : i32 = 19; pub const DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT : i32 = 20; pub const DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT : i32 = 21; pub const DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT : i32 = 22; pub const DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT : i32 = 23; pub const DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT : i32 = 24; pub const DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT : i32 = 25; pub const DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT : i32 = 26; pub const DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT : i32 = 27; pub const DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT : i32 = 28; pub const DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT : i32 = 29; pub const DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT : i32 = 30; pub const DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT : i32 = 33; pub const DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT : i32 = 1000156000; pub const DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT : i32 = 1000085000; pub const DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT : i32 = 1000165000; pub const DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT : i32 = DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT; pub const DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT : i32 = DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT; pub const DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT : i32 = DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT; pub const DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT : i32 = DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT; pub const DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT : i32 = DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT; pub const DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT : i32 = 0x7FFFFFF; pub type DebugReportFlagBitsEXT = i32; pub const DEBUG_REPORT_INFORMATION_BIT_EXT : i32 = 0x00000001; pub const DEBUG_REPORT_WARNING_BIT_EXT : i32 = 0x00000002; pub const DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT : i32 = 0x00000004; pub const DEBUG_REPORT_ERROR_BIT_EXT : i32 = 0x00000008; pub const DEBUG_REPORT_DEBUG_BIT_EXT : i32 = 0x00000010; pub const DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT : i32 = 0x7FFFFFF; pub type DebugReportFlagsEXT = u32; #[repr(C)] pub struct DebugReportCallbackCreateInfoEXT { pub sType : StructureType, pub pNext : *const void, pub flags : DebugReportFlagsEXT, pub pfnCallback : u64, pub pUserData : *mut void, } pub type RasterizationOrderAMD = i32; pub const RASTERIZATION_ORDER_STRICT_AMD : i32 = 0; pub const RASTERIZATION_ORDER_RELAXED_AMD : i32 = 1; pub const RASTERIZATION_ORDER_MAX_ENUM_AMD : i32 = 0x7FFFFFF; #[repr(C)] pub struct PipelineRasterizationStateRasterizationOrderAMD { pub sType : StructureType, pub pNext : *const void, pub rasterizationOrder : RasterizationOrderAMD, } #[repr(C)] pub struct DebugMarkerObjectNameInfoEXT { pub sType : StructureType, pub pNext : *const void, pub objectType : DebugReportObjectTypeEXT, pub object : u64, pub pObjectName : *const i8, } #[repr(C)] pub struct DebugMarkerObjectTagInfoEXT { pub sType : StructureType, pub pNext : *const void, pub objectType : DebugReportObjectTypeEXT, pub object : u64, pub tagName : u64, pub tagSize : usize, pub pTag : *const void, } #[repr(C)] pub struct DebugMarkerMarkerInfoEXT { pub sType : StructureType, pub pNext : *const void, pub pMarkerName : *const i8, pub color : [f32;4], } #[repr(C)] pub struct DedicatedAllocationImageCreateInfoNV { pub sType : StructureType, pub pNext : *const void, pub dedicatedAllocation : Bool32, } #[repr(C)] pub struct DedicatedAllocationBufferCreateInfoNV { pub sType : StructureType, pub pNext : *const void, pub dedicatedAllocation : Bool32, } #[repr(C)] pub struct DedicatedAllocationMemoryAllocateInfoNV { pub sType : StructureType, pub pNext : *const void, pub image : Image, pub buffer : Buffer, } pub type PipelineRasterizationStateStreamCreateFlagsEXT = u32; #[repr(C)] pub struct PhysicalDeviceTransformFeedbackFeaturesEXT { pub sType : StructureType, pub pNext : *mut void, pub transformFeedback : Bool32, pub geometryStreams : Bool32, } #[repr(C)] pub struct PhysicalDeviceTransformFeedbackPropertiesEXT { pub sType : StructureType, pub pNext : *mut void, pub maxTransformFeedbackStreams : u32, pub maxTransformFeedbackBuffers : u32, pub maxTransformFeedbackBufferSize : DeviceSize, pub maxTransformFeedbackStreamDataSize : u32, pub maxTransformFeedbackBufferDataSize : u32, pub maxTransformFeedbackBufferDataStride : u32, pub transformFeedbackQueries : Bool32, pub transformFeedbackStreamsLinesTriangles : Bool32, pub transformFeedbackRasterizationStreamSelect : Bool32, pub transformFeedbackDraw : Bool32, } #[repr(C)] pub struct PipelineRasterizationStateStreamCreateInfoEXT { pub sType : StructureType, pub pNext : *const void, pub flags : PipelineRasterizationStateStreamCreateFlagsEXT, pub rasterizationStream : u32, } #[repr(C)] pub struct ImageViewHandleInfoNVX { pub sType : StructureType, pub pNext : *const void, pub imageView : ImageView, pub descriptorType : DescriptorType, pub sampler : Sampler, } #[repr(C)] pub struct ImageViewAddressPropertiesNVX { pub sType : StructureType, pub pNext : *mut void, pub deviceAddress : DeviceAddress, pub size : DeviceSize, } #[repr(C)] pub struct TextureLODGatherFormatPropertiesAMD { pub sType : StructureType, pub pNext : *mut void, pub supportsTextureGatherLODBiasAMD : Bool32, } pub type ShaderInfoTypeAMD = i32; pub const SHADER_INFO_TYPE_STATISTICS_AMD : i32 = 0; pub const SHADER_INFO_TYPE_BINARY_AMD : i32 = 1; pub const SHADER_INFO_TYPE_DISASSEMBLY_AMD : i32 = 2; pub const SHADER_INFO_TYPE_MAX_ENUM_AMD : i32 = 0x7FFFFFF; #[repr(C)] pub struct ShaderResourceUsageAMD { pub numUsedVgprs : u32, pub numUsedSgprs : u32, pub ldsSizePerLocalWorkGroup : u32, pub ldsUsageSizeInBytes : usize, pub scratchMemUsageInBytes : usize, } #[repr(C)] pub struct ShaderStatisticsInfoAMD { pub shaderStageMask : ShaderStageFlags, pub resourceUsage : ShaderResourceUsageAMD, pub numPhysicalVgprs : u32, pub numPhysicalSgprs : u32, pub numAvailableVgprs : u32, pub numAvailableSgprs : u32, pub computeWorkGroupSize : [u32;3], } #[repr(C)] pub struct PhysicalDeviceCornerSampledImageFeaturesNV { pub sType : StructureType, pub pNext : *mut void, pub cornerSampledImage : Bool32, } pub type ExternalMemoryHandleTypeFlagBitsNV = i32; pub const EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV : i32 = 0x00000001; pub const EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV : i32 = 0x00000002; pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV : i32 = 0x00000004; pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV : i32 = 0x00000008; pub const EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV : i32 = 0x7FFFFFF; pub type ExternalMemoryHandleTypeFlagsNV = u32; pub type ExternalMemoryFeatureFlagBitsNV = i32; pub const EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV : i32 = 0x00000001; pub const EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV : i32 = 0x00000002; pub const EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV : i32 = 0x00000004; pub const EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV : i32 = 0x7FFFFFF; pub type ExternalMemoryFeatureFlagsNV = u32; #[repr(C)] pub struct ExternalImageFormatPropertiesNV { pub imageFormatProperties : ImageFormatProperties, pub externalMemoryFeatures : ExternalMemoryFeatureFlagsNV, pub exportFromImportedHandleTypes : ExternalMemoryHandleTypeFlagsNV, pub compatibleHandleTypes : ExternalMemoryHandleTypeFlagsNV, } #[repr(C)] pub struct ExternalMemoryImageCreateInfoNV { pub sType : StructureType, pub pNext : *const void, pub handleTypes : ExternalMemoryHandleTypeFlagsNV, } #[repr(C)] pub struct ExportMemoryAllocateInfoNV { pub sType : StructureType, pub pNext : *const void, pub handleTypes : ExternalMemoryHandleTypeFlagsNV, } pub type ValidationCheckEXT = i32; pub const VALIDATION_CHECK_ALL_EXT : i32 = 0; pub const VALIDATION_CHECK_SHADERS_EXT : i32 = 1; pub const VALIDATION_CHECK_MAX_ENUM_EXT : i32 = 0x7FFFFFF; #[repr(C)] pub struct ValidationFlagsEXT { pub sType : StructureType, pub pNext : *const void, pub disabledValidationCheckCount : u32, pub pDisabledValidationChecks : *const ValidationCheckEXT, } #[repr(C)] pub struct PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT { pub sType : StructureType, pub pNext : *mut void, pub textureCompressionASTC_HDR : Bool32, } #[repr(C)] pub struct ImageViewASTCDecodeModeEXT { pub sType : StructureType, pub pNext : *const void, pub decodeMode : Format, } #[repr(C)] pub struct PhysicalDeviceASTCDecodeFeaturesEXT { pub sType : StructureType, pub pNext : *mut void, pub decodeModeSharedExponent : Bool32, } pub type ConditionalRenderingFlagBitsEXT = i32; pub const CONDITIONAL_RENDERING_INVERTED_BIT_EXT : i32 = 0x00000001; pub const CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT : i32 = 0x7FFFFFF; pub type ConditionalRenderingFlagsEXT = u32; #[repr(C)] pub struct ConditionalRenderingBeginInfoEXT { pub sType : StructureType, pub pNext : *const void, pub buffer : Buffer, pub offset : DeviceSize, pub flags : ConditionalRenderingFlagsEXT, } #[repr(C)] pub struct PhysicalDeviceConditionalRenderingFeaturesEXT { pub sType : StructureType, pub pNext : *mut void, pub conditionalRendering : Bool32, pub inheritedConditionalRendering : Bool32, } #[repr(C)] pub struct CommandBufferInheritanceConditionalRenderingInfoEXT { pub sType : StructureType, pub pNext : *const void, pub conditionalRenderingEnable : Bool32, } #[repr(C)] pub struct ViewportWScalingNV { pub xcoeff : f32, pub ycoeff : f32, } #[repr(C)] pub struct PipelineViewportWScalingStateCreateInfoNV { pub sType : StructureType, pub pNext : *const void, pub viewportWScalingEnable : Bool32, pub viewportCount : u32, pub pViewportWScalings : *const ViewportWScalingNV, } pub type SurfaceCounterFlagBitsEXT = i32; pub const SURFACE_COUNTER_VBLANK_EXT : i32 = 0x00000001; pub const SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT : i32 = 0x7FFFFFF; pub type SurfaceCounterFlagsEXT = u32; #[repr(C)] pub struct SurfaceCapabilities2EXT { pub sType : StructureType, pub pNext : *mut void, pub minImageCount : u32, pub maxImageCount : u32, pub currentExtent : Extent2D, pub minImageExtent : Extent2D, pub maxImageExtent : Extent2D, pub maxImageArrayLayers : u32, pub supportedTransforms : SurfaceTransformFlagsKHR, pub currentTransform : SurfaceTransformFlagBitsKHR, pub supportedCompositeAlpha : CompositeAlphaFlagsKHR, pub supportedUsageFlags : ImageUsageFlags, pub supportedSurfaceCounters : SurfaceCounterFlagsEXT, } pub type DisplayPowerStateEXT = i32; pub const DISPLAY_POWER_STATE_OFF_EXT : i32 = 0; pub const DISPLAY_POWER_STATE_SUSPEND_EXT : i32 = 1; pub const DISPLAY_POWER_STATE_ON_EXT : i32 = 2; pub const DISPLAY_POWER_STATE_MAX_ENUM_EXT : i32 = 0x7FFFFFF; pub type DeviceEventTypeEXT = i32; pub const DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT : i32 = 0; pub const DEVICE_EVENT_TYPE_MAX_ENUM_EXT : i32 = 0x7FFFFFF; pub type DisplayEventTypeEXT = i32; pub const DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT : i32 = 0; pub const DISPLAY_EVENT_TYPE_MAX_ENUM_EXT : i32 = 0x7FFFFFF; #[repr(C)] pub struct DisplayPowerInfoEXT { pub sType : StructureType, pub pNext : *const void, pub powerState : DisplayPowerStateEXT, } #[repr(C)] pub struct DeviceEventInfoEXT { pub sType : StructureType, pub pNext : *const void, pub deviceEvent : DeviceEventTypeEXT, } #[repr(C)] pub struct DisplayEventInfoEXT { pub sType : StructureType, pub pNext : *const void, pub displayEvent : DisplayEventTypeEXT, } #[repr(C)] pub struct SwapchainCounterCreateInfoEXT { pub sType : StructureType, pub pNext : *const void, pub surfaceCounters : SurfaceCounterFlagsEXT, } #[repr(C)] pub struct RefreshCycleDurationGOOGLE { pub refreshDuration : u64, } #[repr(C)] pub struct PastPresentationTimingGOOGLE { pub presentID : u32, pub desiredPresentTime : u64, pub actualPresentTime : u64, pub earliestPresentTime : u64, pub presentMargin : u64, } #[repr(C)] pub struct PresentTimeGOOGLE { pub presentID : u32, pub desiredPresentTime : u64, } #[repr(C)] pub struct PresentTimesInfoGOOGLE { pub sType : StructureType, pub pNext : *const void, pub swapchainCount : u32, pub pTimes : *const PresentTimeGOOGLE, } #[repr(C)] pub struct PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX { pub sType : StructureType, pub pNext : *mut void, pub perViewPositionAllComponents : Bool32, } pub type ViewportCoordinateSwizzleNV = i32; pub const VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV : i32 = 0; pub const VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV : i32 = 1; pub const VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV : i32 = 2; pub const VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV : i32 = 3; pub const VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV : i32 = 4; pub const VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV : i32 = 5; pub const VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV : i32 = 6; pub const VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV : i32 = 7; pub const VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV : i32 = 0x7FFFFFF; pub type PipelineViewportSwizzleStateCreateFlagsNV = u32; #[repr(C)] pub struct ViewportSwizzleNV { pub x : ViewportCoordinateSwizzleNV, pub y : ViewportCoordinateSwizzleNV, pub z : ViewportCoordinateSwizzleNV, pub w : ViewportCoordinateSwizzleNV, } #[repr(C)] pub struct PipelineViewportSwizzleStateCreateInfoNV { pub sType : StructureType, pub pNext : *const void, pub flags : PipelineViewportSwizzleStateCreateFlagsNV, pub viewportCount : u32, pub pViewportSwizzles : *const ViewportSwizzleNV, } pub type DiscardRectangleModeEXT = i32; pub const DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT : i32 = 0; pub const DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT : i32 = 1; pub const DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT : i32 = 0x7FFFFFF; pub type PipelineDiscardRectangleStateCreateFlagsEXT = u32; #[repr(C)] pub struct PhysicalDeviceDiscardRectanglePropertiesEXT { pub sType : StructureType, pub pNext : *mut void, pub maxDiscardRectangles : u32, } #[repr(C)] pub struct PipelineDiscardRectangleStateCreateInfoEXT { pub sType : StructureType, pub pNext : *const void, pub flags : PipelineDiscardRectangleStateCreateFlagsEXT, pub discardRectangleMode : DiscardRectangleModeEXT, pub discardRectangleCount : u32, pub pDiscardRectangles : *const Rect2D, } pub type ConservativeRasterizationModeEXT = i32; pub const CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT : i32 = 0; pub const CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT : i32 = 1; pub const CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT : i32 = 2; pub const CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT : i32 = 0x7FFFFFF; pub type PipelineRasterizationConservativeStateCreateFlagsEXT = u32; #[repr(C)] pub struct PhysicalDeviceConservativeRasterizationPropertiesEXT { pub sType : StructureType, pub pNext : *mut void, pub primitiveOverestimationSize : f32, pub maxExtraPrimitiveOverestimationSize : f32, pub extraPrimitiveOverestimationSizeGranularity : f32, pub primitiveUnderestimation : Bool32, pub conservativePointAndLineRasterization : Bool32, pub degenerateTrianglesRasterized : Bool32, pub degenerateLinesRasterized : Bool32, pub fullyCoveredFragmentShaderInputVariable : Bool32, pub conservativeRasterizationPostDepthCoverage : Bool32, } #[repr(C)] pub struct PipelineRasterizationConservativeStateCreateInfoEXT { pub sType : StructureType, pub pNext : *const void, pub flags : PipelineRasterizationConservativeStateCreateFlagsEXT, pub conservativeRasterizationMode : ConservativeRasterizationModeEXT, pub extraPrimitiveOverestimationSize : f32, } pub type PipelineRasterizationDepthClipStateCreateFlagsEXT = u32; #[repr(C)] pub struct PhysicalDeviceDepthClipEnableFeaturesEXT { pub sType : StructureType, pub pNext : *mut void, pub depthClipEnable : Bool32, } #[repr(C)] pub struct PipelineRasterizationDepthClipStateCreateInfoEXT { pub sType : StructureType, pub pNext : *const void, pub flags : PipelineRasterizationDepthClipStateCreateFlagsEXT, pub depthClipEnable : Bool32, } #[repr(C)] pub struct XYColorEXT { pub x : f32, pub y : f32, } #[repr(C)] pub struct HdrMetadataEXT { pub sType : StructureType, pub pNext : *const void, pub displayPrimaryRed : XYColorEXT, pub displayPrimaryGreen : XYColorEXT, pub displayPrimaryBlue : XYColorEXT, pub whitePoint : XYColorEXT, pub maxLuminance : f32, pub minLuminance : f32, pub maxContentLightLevel : f32, pub maxFrameAverageLightLevel : f32, } pub type DebugUtilsMessengerEXT = u64; pub type DebugUtilsMessengerCallbackDataFlagsEXT = u32; pub type DebugUtilsMessageSeverityFlagBitsEXT = i32; pub const DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT : i32 = 0x00000001; pub const DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT : i32 = 0x00000010; pub const DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT : i32 = 0x00000100; pub const DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT : i32 = 0x00001000; pub const DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT : i32 = 0x7FFFFFF; pub type DebugUtilsMessageTypeFlagBitsEXT = i32; pub const DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT : i32 = 0x00000001; pub const DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT : i32 = 0x00000002; pub const DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT : i32 = 0x00000004; pub const DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT : i32 = 0x7FFFFFF; pub type DebugUtilsMessageTypeFlagsEXT = u32; pub type DebugUtilsMessengerCreateFlagsEXT = u32; pub type DebugUtilsMessageSeverityFlagsEXT = u32; #[repr(C)] pub struct DebugUtilsLabelEXT { pub sType : StructureType, pub pNext : *const void, pub pLabelName : *const i8, pub color : [f32;4], } #[repr(C)] pub struct DebugUtilsObjectNameInfoEXT { pub sType : StructureType, pub pNext : *const void, pub objectType : ObjectType, pub objectHandle : u64, pub pObjectName : *const i8, } #[repr(C)] pub struct DebugUtilsMessengerCallbackDataEXT { pub sType : StructureType, pub pNext : *const void, pub flags : DebugUtilsMessengerCallbackDataFlagsEXT, pub pMessageIdName : *const i8, pub messageIdNumber : i32, pub pMessage : *const i8, pub queueLabelCount : u32, pub pQueueLabels : *const DebugUtilsLabelEXT, pub cmdBufLabelCount : u32, pub pCmdBufLabels : *const DebugUtilsLabelEXT, pub objectCount : u32, pub pObjects : *const DebugUtilsObjectNameInfoEXT, } #[repr(C)] pub struct DebugUtilsObjectTagInfoEXT { pub sType : StructureType, pub pNext : *const void, pub objectType : ObjectType, pub objectHandle : u64, pub tagName : u64, pub tagSize : usize, pub pTag : *const void, } #[repr(C)] pub struct DebugUtilsMessengerCreateInfoEXT { pub sType : StructureType, pub pNext : *const void, pub flags : DebugUtilsMessengerCreateFlagsEXT, pub messageSeverity : DebugUtilsMessageSeverityFlagsEXT, pub messageType : DebugUtilsMessageTypeFlagsEXT, pub pfnUserCallback : u64, pub pUserData : *mut void, } pub type SamplerReductionModeEXT = SamplerReductionMode; pub type SamplerReductionModeCreateInfoEXT = SamplerReductionModeCreateInfo; pub type PhysicalDeviceSamplerFilterMinmaxPropertiesEXT = PhysicalDeviceSamplerFilterMinmaxProperties; #[repr(C)] pub struct PhysicalDeviceInlineUniformBlockFeaturesEXT { pub sType : StructureType, pub pNext : *mut void, pub inlineUniformBlock : Bool32, pub descriptorBindingInlineUniformBlockUpdateAfterBind : Bool32, } #[repr(C)] pub struct PhysicalDeviceInlineUniformBlockPropertiesEXT { pub sType : StructureType, pub pNext : *mut void, pub maxInlineUniformBlockSize : u32, pub maxPerStageDescriptorInlineUniformBlocks : u32, pub maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks : u32, pub maxDescriptorSetInlineUniformBlocks : u32, pub maxDescriptorSetUpdateAfterBindInlineUniformBlocks : u32, } #[repr(C)] pub struct WriteDescriptorSetInlineUniformBlockEXT { pub sType : StructureType, pub pNext : *const void, pub dataSize : u32, pub pData : *const void, } #[repr(C)] pub struct DescriptorPoolInlineUniformBlockCreateInfoEXT { pub sType : StructureType, pub pNext : *const void, pub maxInlineUniformBlockBindings : u32, } #[repr(C)] pub struct SampleLocationEXT { pub x : f32, pub y : f32, } #[repr(C)] pub struct SampleLocationsInfoEXT { pub sType : StructureType, pub pNext : *const void, pub sampleLocationsPerPixel : SampleCountFlagBits, pub sampleLocationGridSize : Extent2D, pub sampleLocationsCount : u32, pub pSampleLocations : *const SampleLocationEXT, } #[repr(C)] pub struct AttachmentSampleLocationsEXT { pub attachmentIndex : u32, pub sampleLocationsInfo : SampleLocationsInfoEXT, } #[repr(C)] pub struct SubpassSampleLocationsEXT { pub subpassIndex : u32, pub sampleLocationsInfo : SampleLocationsInfoEXT, } #[repr(C)] pub struct RenderPassSampleLocationsBeginInfoEXT { pub sType : StructureType, pub pNext : *const void, pub attachmentInitialSampleLocationsCount : u32, pub pAttachmentInitialSampleLocations : *const AttachmentSampleLocationsEXT, pub postSubpassSampleLocationsCount : u32, pub pPostSubpassSampleLocations : *const SubpassSampleLocationsEXT, } #[repr(C)] pub struct PipelineSampleLocationsStateCreateInfoEXT { pub sType : StructureType, pub pNext : *const void, pub sampleLocationsEnable : Bool32, pub sampleLocationsInfo : SampleLocationsInfoEXT, } #[repr(C)] pub struct PhysicalDeviceSampleLocationsPropertiesEXT { pub sType : StructureType, pub pNext : *mut void, pub sampleLocationSampleCounts : SampleCountFlags, pub maxSampleLocationGridSize : Extent2D, pub sampleLocationCoordinateRange : [f32;2], pub sampleLocationSubPixelBits : u32, pub variableSampleLocations : Bool32, } #[repr(C)] pub struct MultisamplePropertiesEXT { pub sType : StructureType, pub pNext : *mut void, pub maxSampleLocationGridSize : Extent2D, } pub type BlendOverlapEXT = i32; pub const BLEND_OVERLAP_UNCORRELATED_EXT : i32 = 0; pub const BLEND_OVERLAP_DISJOINT_EXT : i32 = 1; pub const BLEND_OVERLAP_CONJOINT_EXT : i32 = 2; pub const BLEND_OVERLAP_MAX_ENUM_EXT : i32 = 0x7FFFFFF; #[repr(C)] pub struct PhysicalDeviceBlendOperationAdvancedFeaturesEXT { pub sType : StructureType, pub pNext : *mut void, pub advancedBlendCoherentOperations : Bool32, } #[repr(C)] pub struct PhysicalDeviceBlendOperationAdvancedPropertiesEXT { pub sType : StructureType, pub pNext : *mut void, pub advancedBlendMaxColorAttachments : u32, pub advancedBlendIndependentBlend : Bool32, pub advancedBlendNonPremultipliedSrcColor : Bool32, pub advancedBlendNonPremultipliedDstColor : Bool32, pub advancedBlendCorrelatedOverlap : Bool32, pub advancedBlendAllOperations : Bool32, } #[repr(C)] pub struct PipelineColorBlendAdvancedStateCreateInfoEXT { pub sType : StructureType, pub pNext : *const void, pub srcPremultiplied : Bool32, pub dstPremultiplied : Bool32, pub blendOverlap : BlendOverlapEXT, } pub type PipelineCoverageToColorStateCreateFlagsNV = u32; #[repr(C)] pub struct PipelineCoverageToColorStateCreateInfoNV { pub sType : StructureType, pub pNext : *const void, pub flags : PipelineCoverageToColorStateCreateFlagsNV, pub coverageToColorEnable : Bool32, pub coverageToColorLocation : u32, } pub type CoverageModulationModeNV = i32; pub const COVERAGE_MODULATION_MODE_NONE_NV : i32 = 0; pub const COVERAGE_MODULATION_MODE_RGB_NV : i32 = 1; pub const COVERAGE_MODULATION_MODE_ALPHA_NV : i32 = 2; pub const COVERAGE_MODULATION_MODE_RGBA_NV : i32 = 3; pub const COVERAGE_MODULATION_MODE_MAX_ENUM_NV : i32 = 0x7FFFFFF; pub type PipelineCoverageModulationStateCreateFlagsNV = u32; #[repr(C)] pub struct PipelineCoverageModulationStateCreateInfoNV { pub sType : StructureType, pub pNext : *const void, pub flags : PipelineCoverageModulationStateCreateFlagsNV, pub coverageModulationMode : CoverageModulationModeNV, pub coverageModulationTableEnable : Bool32, pub coverageModulationTableCount : u32, pub pCoverageModulationTable : *const f32, } #[repr(C)] pub struct PhysicalDeviceShaderSMBuiltinsPropertiesNV { pub sType : StructureType, pub pNext : *mut void, pub shaderSMCount : u32, pub shaderWarpsPerSM : u32, } #[repr(C)] pub struct PhysicalDeviceShaderSMBuiltinsFeaturesNV { pub sType : StructureType, pub pNext : *mut void, pub shaderSMBuiltins : Bool32, } #[repr(C)] pub struct DrmFormatModifierPropertiesEXT { pub drmFormatModifier : u64, pub drmFormatModifierPlaneCount : u32, pub drmFormatModifierTilingFeatures : FormatFeatureFlags, } #[repr(C)] pub struct DrmFormatModifierPropertiesListEXT { pub sType : StructureType, pub pNext : *mut void, pub drmFormatModifierCount : u32, pub pDrmFormatModifierProperties : *mut DrmFormatModifierPropertiesEXT, } #[repr(C)] pub struct PhysicalDeviceImageDrmFormatModifierInfoEXT { pub sType : StructureType, pub pNext : *const void, pub drmFormatModifier : u64, pub sharingMode : SharingMode, pub queueFamilyIndexCount : u32, pub pQueueFamilyIndices : *const u32, } #[repr(C)] pub struct ImageDrmFormatModifierListCreateInfoEXT { pub sType : StructureType, pub pNext : *const void, pub drmFormatModifierCount : u32, pub pDrmFormatModifiers : *const u64, } #[repr(C)] pub struct ImageDrmFormatModifierExplicitCreateInfoEXT { pub sType : StructureType, pub pNext : *const void, pub drmFormatModifier : u64, pub drmFormatModifierPlaneCount : u32, pub pPlaneLayouts : *const SubresourceLayout, } #[repr(C)] pub struct ImageDrmFormatModifierPropertiesEXT { pub sType : StructureType, pub pNext : *mut void, pub drmFormatModifier : u64, } pub type ValidationCacheEXT = u64; pub type ValidationCacheHeaderVersionEXT = i32; pub const VALIDATION_CACHE_HEADER_VERSION_ONE_EXT : i32 = 1; pub const VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT : i32 = 0x7FFFFFF; pub type ValidationCacheCreateFlagsEXT = u32; #[repr(C)] pub struct ValidationCacheCreateInfoEXT { pub sType : StructureType, pub pNext : *const void, pub flags : ValidationCacheCreateFlagsEXT, pub initialDataSize : usize, pub pInitialData : *const void, } #[repr(C)] pub struct ShaderModuleValidationCacheCreateInfoEXT { pub sType : StructureType, pub pNext : *const void, pub validationCache : ValidationCacheEXT, } pub type DescriptorBindingFlagBitsEXT = DescriptorBindingFlagBits; pub type DescriptorBindingFlagsEXT = DescriptorBindingFlags; pub type DescriptorSetLayoutBindingFlagsCreateInfoEXT = DescriptorSetLayoutBindingFlagsCreateInfo; pub type PhysicalDeviceDescriptorIndexingFeaturesEXT = PhysicalDeviceDescriptorIndexingFeatures; pub type PhysicalDeviceDescriptorIndexingPropertiesEXT = PhysicalDeviceDescriptorIndexingProperties; pub type DescriptorSetVariableDescriptorCountAllocateInfoEXT = DescriptorSetVariableDescriptorCountAllocateInfo; pub type DescriptorSetVariableDescriptorCountLayoutSupportEXT = DescriptorSetVariableDescriptorCountLayoutSupport; pub type ShadingRatePaletteEntryNV = i32; pub const SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV : i32 = 0; pub const SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV : i32 = 1; pub const SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV : i32 = 2; pub const SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV : i32 = 3; pub const SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV : i32 = 4; pub const SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV : i32 = 5; pub const SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV : i32 = 6; pub const SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV : i32 = 7; pub const SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV : i32 = 8; pub const SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV : i32 = 9; pub const SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV : i32 = 10; pub const SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV : i32 = 11; pub const SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV : i32 = 0x7FFFFFF; pub type CoarseSampleOrderTypeNV = i32; pub const COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV : i32 = 0; pub const COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV : i32 = 1; pub const COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV : i32 = 2; pub const COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV : i32 = 3; pub const COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV : i32 = 0x7FFFFFF; #[repr(C)] pub struct ShadingRatePaletteNV { pub shadingRatePaletteEntryCount : u32, pub pShadingRatePaletteEntries : *const ShadingRatePaletteEntryNV, } #[repr(C)] pub struct PipelineViewportShadingRateImageStateCreateInfoNV { pub sType : StructureType, pub pNext : *const void, pub shadingRateImageEnable : Bool32, pub viewportCount : u32, pub pShadingRatePalettes : *const ShadingRatePaletteNV, } #[repr(C)] pub struct PhysicalDeviceShadingRateImageFeaturesNV { pub sType : StructureType, pub pNext : *mut void, pub shadingRateImage : Bool32, pub shadingRateCoarseSampleOrder : Bool32, } #[repr(C)] pub struct PhysicalDeviceShadingRateImagePropertiesNV { pub sType : StructureType, pub pNext : *mut void, pub shadingRateTexelSize : Extent2D, pub shadingRatePaletteSize : u32, pub shadingRateMaxCoarseSamples : u32, } #[repr(C)] pub struct CoarseSampleLocationNV { pub pixelX : u32, pub pixelY : u32, pub sample : u32, } #[repr(C)] pub struct CoarseSampleOrderCustomNV { pub shadingRate : ShadingRatePaletteEntryNV, pub sampleCount : u32, pub sampleLocationCount : u32, pub pSampleLocations : *const CoarseSampleLocationNV, } #[repr(C)] pub struct PipelineViewportCoarseSampleOrderStateCreateInfoNV { pub sType : StructureType, pub pNext : *const void, pub sampleOrderType : CoarseSampleOrderTypeNV, pub customSampleOrderCount : u32, pub pCustomSampleOrders : *const CoarseSampleOrderCustomNV, } pub type AccelerationStructureKHR = u64; pub type AccelerationStructureNV = AccelerationStructureKHR; pub type RayTracingShaderGroupTypeKHR = i32; pub const RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR : i32 = 0; pub const RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR : i32 = 1; pub const RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR : i32 = 2; pub const RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV : i32 = RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR; pub const RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV : i32 = RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR; pub const RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV : i32 = RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR; pub const RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR : i32 = 0x7FFFFFF; pub type RayTracingShaderGroupTypeNV = RayTracingShaderGroupTypeKHR; pub type GeometryTypeKHR = i32; pub const GEOMETRY_TYPE_TRIANGLES_KHR : i32 = 0; pub const GEOMETRY_TYPE_AABBS_KHR : i32 = 1; pub const GEOMETRY_TYPE_INSTANCES_KHR : i32 = 1000150000; pub const GEOMETRY_TYPE_TRIANGLES_NV : i32 = GEOMETRY_TYPE_TRIANGLES_KHR; pub const GEOMETRY_TYPE_AABBS_NV : i32 = GEOMETRY_TYPE_AABBS_KHR; pub const GEOMETRY_TYPE_MAX_ENUM_KHR : i32 = 0x7FFFFFF; pub type GeometryTypeNV = GeometryTypeKHR; pub type AccelerationStructureTypeKHR = i32; pub const ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR : i32 = 0; pub const ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR : i32 = 1; pub const ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV : i32 = ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR; pub const ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV : i32 = ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR; pub const ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR : i32 = 0x7FFFFFF; pub type AccelerationStructureTypeNV = AccelerationStructureTypeKHR; pub type CopyAccelerationStructureModeKHR = i32; pub const COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR : i32 = 0; pub const COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR : i32 = 1; pub const COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR : i32 = 2; pub const COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR : i32 = 3; pub const COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV : i32 = COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR; pub const COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV : i32 = COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR; pub const COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR : i32 = 0x7FFFFFF; pub type CopyAccelerationStructureModeNV = CopyAccelerationStructureModeKHR; pub type AccelerationStructureMemoryRequirementsTypeKHR = i32; pub const ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_KHR : i32 = 0; pub const ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_KHR : i32 = 1; pub const ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_KHR : i32 = 2; pub const ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV : i32 = ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_KHR; pub const ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV : i32 = ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_KHR; pub const ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV : i32 = ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_KHR; pub const ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_KHR : i32 = 0x7FFFFFF; pub type AccelerationStructureMemoryRequirementsTypeNV = AccelerationStructureMemoryRequirementsTypeKHR; pub type GeometryFlagBitsKHR = i32; pub const GEOMETRY_OPAQUE_BIT_KHR : i32 = 0x00000001; pub const GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR : i32 = 0x00000002; pub const GEOMETRY_OPAQUE_BIT_NV : i32 = GEOMETRY_OPAQUE_BIT_KHR; pub const GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV : i32 = GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR; pub const GEOMETRY_FLAG_BITS_MAX_ENUM_KHR : i32 = 0x7FFFFFF; pub type GeometryFlagsKHR = u32; pub type GeometryFlagsNV = GeometryFlagsKHR; pub type GeometryFlagBitsNV = GeometryFlagBitsKHR; pub type GeometryInstanceFlagBitsKHR = i32; pub const GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR : i32 = 0x00000001; pub const GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR : i32 = 0x00000002; pub const GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR : i32 = 0x00000004; pub const GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR : i32 = 0x00000008; pub const GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV : i32 = GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR; pub const GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV : i32 = GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR; pub const GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV : i32 = GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR; pub const GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV : i32 = GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR; pub const GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR : i32 = 0x7FFFFFF; pub type GeometryInstanceFlagsKHR = u32; pub type GeometryInstanceFlagsNV = GeometryInstanceFlagsKHR; pub type GeometryInstanceFlagBitsNV = GeometryInstanceFlagBitsKHR; pub type BuildAccelerationStructureFlagBitsKHR = i32; pub const BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR : i32 = 0x00000001; pub const BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR : i32 = 0x00000002; pub const BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR : i32 = 0x00000004; pub const BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR : i32 = 0x00000008; pub const BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR : i32 = 0x00000010; pub const BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV : i32 = BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR; pub const BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV : i32 = BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR; pub const BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV : i32 = BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR; pub const BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV : i32 = BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR; pub const BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV : i32 = BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR; pub const BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR : i32 = 0x7FFFFFF; pub type BuildAccelerationStructureFlagsKHR = u32; pub type BuildAccelerationStructureFlagsNV = BuildAccelerationStructureFlagsKHR; pub type BuildAccelerationStructureFlagBitsNV = BuildAccelerationStructureFlagBitsKHR; #[repr(C)] pub struct RayTracingShaderGroupCreateInfoNV { pub sType : StructureType, pub pNext : *const void, pub r#type : RayTracingShaderGroupTypeKHR, pub generalShader : u32, pub closestHitShader : u32, pub anyHitShader : u32, pub intersectionShader : u32, } #[repr(C)] pub struct RayTracingPipelineCreateInfoNV { pub sType : StructureType, pub pNext : *const void, pub flags : PipelineCreateFlags, pub stageCount : u32, pub pStages : *const PipelineShaderStageCreateInfo, pub groupCount : u32, pub pGroups : *const RayTracingShaderGroupCreateInfoNV, pub maxRecursionDepth : u32, pub layout : PipelineLayout, pub basePipelineHandle : Pipeline, pub basePipelineIndex : i32, } #[repr(C)] pub struct GeometryTrianglesNV { pub sType : StructureType, pub pNext : *const void, pub vertexData : Buffer, pub vertexOffset : DeviceSize, pub vertexCount : u32, pub vertexStride : DeviceSize, pub vertexFormat : Format, pub indexData : Buffer, pub indexOffset : DeviceSize, pub indexCount : u32, pub indexType : IndexType, pub transformData : Buffer, pub transformOffset : DeviceSize, } #[repr(C)] pub struct GeometryAABBNV { pub sType : StructureType, pub pNext : *const void, pub aabbData : Buffer, pub numAABBs : u32, pub stride : u32, pub offset : DeviceSize, } #[repr(C)] pub struct GeometryDataNV { pub triangles : GeometryTrianglesNV, pub aabbs : GeometryAABBNV, } #[repr(C)] pub struct GeometryNV { pub sType : StructureType, pub pNext : *const void, pub geometryType : GeometryTypeKHR, pub geometry : GeometryDataNV, pub flags : GeometryFlagsKHR, } #[repr(C)] pub struct AccelerationStructureInfoNV { pub sType : StructureType, pub pNext : *const void, pub r#type : AccelerationStructureTypeNV, pub flags : BuildAccelerationStructureFlagsNV, pub instanceCount : u32, pub geometryCount : u32, pub pGeometries : *const GeometryNV, } #[repr(C)] pub struct AccelerationStructureCreateInfoNV { pub sType : StructureType, pub pNext : *const void, pub compactedSize : DeviceSize, pub info : AccelerationStructureInfoNV, } #[repr(C)] pub struct BindAccelerationStructureMemoryInfoKHR { pub sType : StructureType, pub pNext : *const void, pub accelerationStructure : AccelerationStructureKHR, pub memory : DeviceMemory, pub memoryOffset : DeviceSize, pub deviceIndexCount : u32, pub pDeviceIndices : *const u32, } pub type BindAccelerationStructureMemoryInfoNV = BindAccelerationStructureMemoryInfoKHR; #[repr(C)] pub struct WriteDescriptorSetAccelerationStructureKHR { pub sType : StructureType, pub pNext : *const void, pub accelerationStructureCount : u32, pub pAccelerationStructures : *const AccelerationStructureKHR, } pub type WriteDescriptorSetAccelerationStructureNV = WriteDescriptorSetAccelerationStructureKHR; #[repr(C)] pub struct AccelerationStructureMemoryRequirementsInfoNV { pub sType : StructureType, pub pNext : *const void, pub r#type : AccelerationStructureMemoryRequirementsTypeNV, pub accelerationStructure : AccelerationStructureNV, } #[repr(C)] pub struct PhysicalDeviceRayTracingPropertiesNV { pub sType : StructureType, pub pNext : *mut void, pub shaderGroupHandleSize : u32, pub maxRecursionDepth : u32, pub maxShaderGroupStride : u32, pub shaderGroupBaseAlignment : u32, pub maxGeometryCount : u64, pub maxInstanceCount : u64, pub maxTriangleCount : u64, pub maxDescriptorSetAccelerationStructures : u32, } #[repr(C)] pub struct TransformMatrixKHR { pub matrix : [f32;12], } pub type TransformMatrixNV = TransformMatrixKHR; #[repr(C)] pub struct AabbPositionsKHR { pub minX : f32, pub minY : f32, pub minZ : f32, pub maxX : f32, pub maxY : f32, pub maxZ : f32, } pub type AabbPositionsNV = AabbPositionsKHR; #[repr(C)] pub struct PhysicalDeviceRepresentativeFragmentTestFeaturesNV { pub sType : StructureType, pub pNext : *mut void, pub representativeFragmentTest : Bool32, } #[repr(C)] pub struct PipelineRepresentativeFragmentTestStateCreateInfoNV { pub sType : StructureType, pub pNext : *const void, pub representativeFragmentTestEnable : Bool32, } #[repr(C)] pub struct PhysicalDeviceImageViewImageFormatInfoEXT { pub sType : StructureType, pub pNext : *mut void, pub imageViewType : ImageViewType, } #[repr(C)] pub struct FilterCubicImageViewImageFormatPropertiesEXT { pub sType : StructureType, pub pNext : *mut void, pub filterCubic : Bool32, pub filterCubicMinmax : Bool32, } pub type QueueGlobalPriorityEXT = i32; pub const QUEUE_GLOBAL_PRIORITY_LOW_EXT : i32 = 128; pub const QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT : i32 = 256; pub const QUEUE_GLOBAL_PRIORITY_HIGH_EXT : i32 = 512; pub const QUEUE_GLOBAL_PRIORITY_REALTIME_EXT : i32 = 1024; pub const QUEUE_GLOBAL_PRIORITY_MAX_ENUM_EXT : i32 = 0x7FFFFFF; #[repr(C)] pub struct DeviceQueueGlobalPriorityCreateInfoEXT { pub sType : StructureType, pub pNext : *const void, pub globalPriority : QueueGlobalPriorityEXT, } #[repr(C)] pub struct ImportMemoryHostPointerInfoEXT { pub sType : StructureType, pub pNext : *const void, pub handleType : ExternalMemoryHandleTypeFlagBits, pub pHostPointer : *mut void, } #[repr(C)] pub struct MemoryHostPointerPropertiesEXT { pub sType : StructureType, pub pNext : *mut void, pub memoryTypeBits : u32, } #[repr(C)] pub struct PhysicalDeviceExternalMemoryHostPropertiesEXT { pub sType : StructureType, pub pNext : *mut void, pub minImportedHostPointerAlignment : DeviceSize, } pub type PipelineCompilerControlFlagBitsAMD = i32; pub const PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD : i32 = 0x7FFFFFF; pub type PipelineCompilerControlFlagsAMD = u32; #[repr(C)] pub struct PipelineCompilerControlCreateInfoAMD { pub sType : StructureType, pub pNext : *const void, pub compilerControlFlags : PipelineCompilerControlFlagsAMD, } pub type TimeDomainEXT = i32; pub const TIME_DOMAIN_DEVICE_EXT : i32 = 0; pub const TIME_DOMAIN_CLOCK_MONOTONIC_EXT : i32 = 1; pub const TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT : i32 = 2; pub const TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT : i32 = 3; pub const TIME_DOMAIN_MAX_ENUM_EXT : i32 = 0x7FFFFFF; #[repr(C)] pub struct CalibratedTimestampInfoEXT { pub sType : StructureType, pub pNext : *const void, pub timeDomain : TimeDomainEXT, } #[repr(C)] pub struct PhysicalDeviceShaderCorePropertiesAMD { pub sType : StructureType, pub pNext : *mut void, pub shaderEngineCount : u32, pub shaderArraysPerEngineCount : u32, pub computeUnitsPerShaderArray : u32, pub simdPerComputeUnit : u32, pub wavefrontsPerSimd : u32, pub wavefrontSize : u32, pub sgprsPerSimd : u32, pub minSgprAllocation : u32, pub maxSgprAllocation : u32, pub sgprAllocationGranularity : u32, pub vgprsPerSimd : u32, pub minVgprAllocation : u32, pub maxVgprAllocation : u32, pub vgprAllocationGranularity : u32, } pub type MemoryOverallocationBehaviorAMD = i32; pub const MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD : i32 = 0; pub const MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD : i32 = 1; pub const MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD : i32 = 2; pub const MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD : i32 = 0x7FFFFFF; #[repr(C)] pub struct DeviceMemoryOverallocationCreateInfoAMD { pub sType : StructureType, pub pNext : *const void, pub overallocationBehavior : MemoryOverallocationBehaviorAMD, } #[repr(C)] pub struct PhysicalDeviceVertexAttributeDivisorPropertiesEXT { pub sType : StructureType, pub pNext : *mut void, pub maxVertexAttribDivisor : u32, } #[repr(C)] pub struct VertexInputBindingDivisorDescriptionEXT { pub binding : u32, pub divisor : u32, } #[repr(C)] pub struct PipelineVertexInputDivisorStateCreateInfoEXT { pub sType : StructureType, pub pNext : *const void, pub vertexBindingDivisorCount : u32, pub pVertexBindingDivisors : *const VertexInputBindingDivisorDescriptionEXT, } #[repr(C)] pub struct PhysicalDeviceVertexAttributeDivisorFeaturesEXT { pub sType : StructureType, pub pNext : *mut void, pub vertexAttributeInstanceRateDivisor : Bool32, pub vertexAttributeInstanceRateZeroDivisor : Bool32, } pub type PipelineCreationFeedbackFlagBitsEXT = i32; pub const PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT : i32 = 0x00000001; pub const PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT : i32 = 0x00000002; pub const PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT : i32 = 0x00000004; pub const PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT : i32 = 0x7FFFFFF; pub type PipelineCreationFeedbackFlagsEXT = u32; #[repr(C)] pub struct PipelineCreationFeedbackEXT { pub flags : PipelineCreationFeedbackFlagsEXT, pub duration : u64, } #[repr(C)] pub struct PipelineCreationFeedbackCreateInfoEXT { pub sType : StructureType, pub pNext : *const void, pub pPipelineCreationFeedback : *mut PipelineCreationFeedbackEXT, pub pipelineStageCreationFeedbackCount : u32, pub pPipelineStageCreationFeedbacks : *mut PipelineCreationFeedbackEXT, } #[repr(C)] pub struct PhysicalDeviceComputeShaderDerivativesFeaturesNV { pub sType : StructureType, pub pNext : *mut void, pub computeDerivativeGroupQuads : Bool32, pub computeDerivativeGroupLinear : Bool32, } #[repr(C)] pub struct PhysicalDeviceMeshShaderFeaturesNV { pub sType : StructureType, pub pNext : *mut void, pub taskShader : Bool32, pub meshShader : Bool32, } #[repr(C)] pub struct PhysicalDeviceMeshShaderPropertiesNV { pub sType : StructureType, pub pNext : *mut void, pub maxDrawMeshTasksCount : u32, pub maxTaskWorkGroupInvocations : u32, pub maxTaskWorkGroupSize : [u32;3], pub maxTaskTotalMemorySize : u32, pub maxTaskOutputCount : u32, pub maxMeshWorkGroupInvocations : u32, pub maxMeshWorkGroupSize : [u32;3], pub maxMeshTotalMemorySize : u32, pub maxMeshOutputVertices : u32, pub maxMeshOutputPrimitives : u32, pub maxMeshMultiviewViewCount : u32, pub meshOutputPerVertexGranularity : u32, pub meshOutputPerPrimitiveGranularity : u32, } #[repr(C)] pub struct DrawMeshTasksIndirectCommandNV { pub taskCount : u32, pub firstTask : u32, } #[repr(C)] pub struct PhysicalDeviceFragmentShaderBarycentricFeaturesNV { pub sType : StructureType, pub pNext : *mut void, pub fragmentShaderBarycentric : Bool32, } #[repr(C)] pub struct PhysicalDeviceShaderImageFootprintFeaturesNV { pub sType : StructureType, pub pNext : *mut void, pub imageFootprint : Bool32, } #[repr(C)] pub struct PipelineViewportExclusiveScissorStateCreateInfoNV { pub sType : StructureType, pub pNext : *const void, pub exclusiveScissorCount : u32, pub pExclusiveScissors : *const Rect2D, } #[repr(C)] pub struct PhysicalDeviceExclusiveScissorFeaturesNV { pub sType : StructureType, pub pNext : *mut void, pub exclusiveScissor : Bool32, } #[repr(C)] pub struct QueueFamilyCheckpointPropertiesNV { pub sType : StructureType, pub pNext : *mut void, pub checkpointExecutionStageMask : PipelineStageFlags, } #[repr(C)] pub struct CheckpointDataNV { pub sType : StructureType, pub pNext : *mut void, pub stage : PipelineStageFlagBits, pub pCheckpointMarker : *mut void, } #[repr(C)] pub struct PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL { pub sType : StructureType, pub pNext : *mut void, pub shaderIntegerFunctions2 : Bool32, } pub type PerformanceConfigurationINTEL = u64; pub type PerformanceConfigurationTypeINTEL = i32; pub const PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL : i32 = 0; pub const PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL : i32 = 0x7FFFFFF; pub type QueryPoolSamplingModeINTEL = i32; pub const QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL : i32 = 0; pub const QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL : i32 = 0x7FFFFFF; pub type PerformanceOverrideTypeINTEL = i32; pub const PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL : i32 = 0; pub const PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL : i32 = 1; pub const PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL : i32 = 0x7FFFFFF; pub type PerformanceParameterTypeINTEL = i32; pub const PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL : i32 = 0; pub const PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL : i32 = 1; pub const PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL : i32 = 0x7FFFFFF; pub type PerformanceValueTypeINTEL = i32; pub const PERFORMANCE_VALUE_TYPE_UINT32_INTEL : i32 = 0; pub const PERFORMANCE_VALUE_TYPE_UINT64_INTEL : i32 = 1; pub const PERFORMANCE_VALUE_TYPE_FLOAT_INTEL : i32 = 2; pub const PERFORMANCE_VALUE_TYPE_BOOL_INTEL : i32 = 3; pub const PERFORMANCE_VALUE_TYPE_STRING_INTEL : i32 = 4; pub const PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL : i32 = 0x7FFFFFF; union PerformanceValueDataINTEL { value32 : u32, value64 : u64, valueFloat : f32, valueBool : i32, valueString : *const i8, } #[repr(C)] pub struct InitializePerformanceApiInfoINTEL { pub sType : StructureType, pub pNext : *const void, pub pUserData : *mut void, } #[repr(C)] pub struct QueryPoolPerformanceQueryCreateInfoINTEL { pub sType : StructureType, pub pNext : *const void, pub performanceCountersSampling : QueryPoolSamplingModeINTEL, } pub type QueryPoolCreateInfoINTEL = QueryPoolPerformanceQueryCreateInfoINTEL; #[repr(C)] pub struct PerformanceMarkerInfoINTEL { pub sType : StructureType, pub pNext : *const void, pub marker : u64, } #[repr(C)] pub struct PerformanceStreamMarkerInfoINTEL { pub sType : StructureType, pub pNext : *const void, pub marker : u32, } #[repr(C)] pub struct PerformanceOverrideInfoINTEL { pub sType : StructureType, pub pNext : *const void, pub r#type : PerformanceOverrideTypeINTEL, pub enable : Bool32, pub parameter : u64, } #[repr(C)] pub struct PerformanceConfigurationAcquireInfoINTEL { pub sType : StructureType, pub pNext : *const void, pub r#type : PerformanceConfigurationTypeINTEL, } #[repr(C)] pub struct PhysicalDevicePCIBusInfoPropertiesEXT { pub sType : StructureType, pub pNext : *mut void, pub pciDomain : u32, pub pciBus : u32, pub pciDevice : u32, pub pciFunction : u32, } #[repr(C)] pub struct DisplayNativeHdrSurfaceCapabilitiesAMD { pub sType : StructureType, pub pNext : *mut void, pub localDimmingSupport : Bool32, } #[repr(C)] pub struct SwapchainDisplayNativeHdrCreateInfoAMD { pub sType : StructureType, pub pNext : *const void, pub localDimmingEnable : Bool32, } #[repr(C)] pub struct PhysicalDeviceFragmentDensityMapFeaturesEXT { pub sType : StructureType, pub pNext : *mut void, pub fragmentDensityMap : Bool32, pub fragmentDensityMapDynamic : Bool32, pub fragmentDensityMapNonSubsampledImages : Bool32, } #[repr(C)] pub struct PhysicalDeviceFragmentDensityMapPropertiesEXT { pub sType : StructureType, pub pNext : *mut void, pub minFragmentDensityTexelSize : Extent2D, pub maxFragmentDensityTexelSize : Extent2D, pub fragmentDensityInvocations : Bool32, } #[repr(C)] pub struct RenderPassFragmentDensityMapCreateInfoEXT { pub sType : StructureType, pub pNext : *const void, pub fragmentDensityMapAttachment : AttachmentReference, } pub type PhysicalDeviceScalarBlockLayoutFeaturesEXT = PhysicalDeviceScalarBlockLayoutFeatures; #[repr(C)] pub struct PhysicalDeviceSubgroupSizeControlFeaturesEXT { pub sType : StructureType, pub pNext : *mut void, pub subgroupSizeControl : Bool32, pub computeFullSubgroups : Bool32, } #[repr(C)] pub struct PhysicalDeviceSubgroupSizeControlPropertiesEXT { pub sType : StructureType, pub pNext : *mut void, pub minSubgroupSize : u32, pub maxSubgroupSize : u32, pub maxComputeWorkgroupSubgroups : u32, pub requiredSubgroupSizeStages : ShaderStageFlags, } #[repr(C)] pub struct PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT { pub sType : StructureType, pub pNext : *mut void, pub requiredSubgroupSize : u32, } pub type ShaderCorePropertiesFlagBitsAMD = i32; pub const SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD : i32 = 0x7FFFFFF; pub type ShaderCorePropertiesFlagsAMD = u32; #[repr(C)] pub struct PhysicalDeviceShaderCoreProperties2AMD { pub sType : StructureType, pub pNext : *mut void, pub shaderCoreFeatures : ShaderCorePropertiesFlagsAMD, pub activeComputeUnitCount : u32, } #[repr(C)] pub struct PhysicalDeviceCoherentMemoryFeaturesAMD { pub sType : StructureType, pub pNext : *mut void, pub deviceCoherentMemory : Bool32, } #[repr(C)] pub struct PhysicalDeviceMemoryBudgetPropertiesEXT { pub sType : StructureType, pub pNext : *mut void, pub heapBudget : [DeviceSize;MAX_MEMORY_HEAPS], pub heapUsage : [DeviceSize;MAX_MEMORY_HEAPS], } #[repr(C)] pub struct PhysicalDeviceMemoryPriorityFeaturesEXT { pub sType : StructureType, pub pNext : *mut void, pub memoryPriority : Bool32, } #[repr(C)] pub struct MemoryPriorityAllocateInfoEXT { pub sType : StructureType, pub pNext : *const void, pub priority : f32, } #[repr(C)] pub struct PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV { pub sType : StructureType, pub pNext : *mut void, pub dedicatedAllocationImageAliasing : Bool32, } #[repr(C)] pub struct PhysicalDeviceBufferDeviceAddressFeaturesEXT { pub sType : StructureType, pub pNext : *mut void, pub bufferDeviceAddress : Bool32, pub bufferDeviceAddressCaptureReplay : Bool32, pub bufferDeviceAddressMultiDevice : Bool32, } pub type PhysicalDeviceBufferAddressFeaturesEXT = PhysicalDeviceBufferDeviceAddressFeaturesEXT; pub type BufferDeviceAddressInfoEXT = BufferDeviceAddressInfo; #[repr(C)] pub struct BufferDeviceAddressCreateInfoEXT { pub sType : StructureType, pub pNext : *const void, pub deviceAddress : DeviceAddress, } pub type ToolPurposeFlagBitsEXT = i32; pub const TOOL_PURPOSE_VALIDATION_BIT_EXT : i32 = 0x00000001; pub const TOOL_PURPOSE_PROFILING_BIT_EXT : i32 = 0x00000002; pub const TOOL_PURPOSE_TRACING_BIT_EXT : i32 = 0x00000004; pub const TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT : i32 = 0x00000008; pub const TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT : i32 = 0x00000010; pub const TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT : i32 = 0x00000020; pub const TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT : i32 = 0x00000040; pub const TOOL_PURPOSE_FLAG_BITS_MAX_ENUM_EXT : i32 = 0x7FFFFFF; pub type ToolPurposeFlagsEXT = u32; #[repr(C)] pub struct PhysicalDeviceToolPropertiesEXT { pub sType : StructureType, pub pNext : *mut void, pub name : [i8;MAX_EXTENSION_NAME_SIZE], pub version : [i8;MAX_EXTENSION_NAME_SIZE], pub purposes : ToolPurposeFlagsEXT, pub description : [i8;MAX_DESCRIPTION_SIZE], pub layer : [i8;MAX_EXTENSION_NAME_SIZE], } pub type ImageStencilUsageCreateInfoEXT = ImageStencilUsageCreateInfo; pub type ValidationFeatureEnableEXT = i32; pub const VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT : i32 = 0; pub const VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT : i32 = 1; pub const VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT : i32 = 2; pub const VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT : i32 = 3; pub const VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT : i32 = 0x7FFFFFF; pub type ValidationFeatureDisableEXT = i32; pub const VALIDATION_FEATURE_DISABLE_ALL_EXT : i32 = 0; pub const VALIDATION_FEATURE_DISABLE_SHADERS_EXT : i32 = 1; pub const VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT : i32 = 2; pub const VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT : i32 = 3; pub const VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT : i32 = 4; pub const VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT : i32 = 5; pub const VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT : i32 = 6; pub const VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT : i32 = 0x7FFFFFF; #[repr(C)] pub struct ValidationFeaturesEXT { pub sType : StructureType, pub pNext : *const void, pub enabledValidationFeatureCount : u32, pub pEnabledValidationFeatures : *const ValidationFeatureEnableEXT, pub disabledValidationFeatureCount : u32, pub pDisabledValidationFeatures : *const ValidationFeatureDisableEXT, } pub type ComponentTypeNV = i32; pub const COMPONENT_TYPE_FLOAT16_NV : i32 = 0; pub const COMPONENT_TYPE_FLOAT32_NV : i32 = 1; pub const COMPONENT_TYPE_FLOAT64_NV : i32 = 2; pub const COMPONENT_TYPE_SINT8_NV : i32 = 3; pub const COMPONENT_TYPE_SINT16_NV : i32 = 4; pub const COMPONENT_TYPE_SINT32_NV : i32 = 5; pub const COMPONENT_TYPE_SINT64_NV : i32 = 6; pub const COMPONENT_TYPE_UINT8_NV : i32 = 7; pub const COMPONENT_TYPE_UINT16_NV : i32 = 8; pub const COMPONENT_TYPE_UINT32_NV : i32 = 9; pub const COMPONENT_TYPE_UINT64_NV : i32 = 10; pub const COMPONENT_TYPE_MAX_ENUM_NV : i32 = 0x7FFFFFF; pub type ScopeNV = i32; pub const SCOPE_DEVICE_NV : i32 = 1; pub const SCOPE_WORKGROUP_NV : i32 = 2; pub const SCOPE_SUBGROUP_NV : i32 = 3; pub const SCOPE_QUEUE_FAMILY_NV : i32 = 5; pub const SCOPE_MAX_ENUM_NV : i32 = 0x7FFFFFF; #[repr(C)] pub struct CooperativeMatrixPropertiesNV { pub sType : StructureType, pub pNext : *mut void, pub MSize : u32, pub NSize : u32, pub KSize : u32, pub AType : ComponentTypeNV, pub BType : ComponentTypeNV, pub CType : ComponentTypeNV, pub DType : ComponentTypeNV, pub scope : ScopeNV, } #[repr(C)] pub struct PhysicalDeviceCooperativeMatrixFeaturesNV { pub sType : StructureType, pub pNext : *mut void, pub cooperativeMatrix : Bool32, pub cooperativeMatrixRobustBufferAccess : Bool32, } #[repr(C)] pub struct PhysicalDeviceCooperativeMatrixPropertiesNV { pub sType : StructureType, pub pNext : *mut void, pub cooperativeMatrixSupportedStages : ShaderStageFlags, } pub type CoverageReductionModeNV = i32; pub const COVERAGE_REDUCTION_MODE_MERGE_NV : i32 = 0; pub const COVERAGE_REDUCTION_MODE_TRUNCATE_NV : i32 = 1; pub const COVERAGE_REDUCTION_MODE_MAX_ENUM_NV : i32 = 0x7FFFFFF; pub type PipelineCoverageReductionStateCreateFlagsNV = u32; #[repr(C)] pub struct PhysicalDeviceCoverageReductionModeFeaturesNV { pub sType : StructureType, pub pNext : *mut void, pub coverageReductionMode : Bool32, } #[repr(C)] pub struct PipelineCoverageReductionStateCreateInfoNV { pub sType : StructureType, pub pNext : *const void, pub flags : PipelineCoverageReductionStateCreateFlagsNV, pub coverageReductionMode : CoverageReductionModeNV, } #[repr(C)] pub struct FramebufferMixedSamplesCombinationNV { pub sType : StructureType, pub pNext : *mut void, pub coverageReductionMode : CoverageReductionModeNV, pub rasterizationSamples : SampleCountFlagBits, pub depthStencilSamples : SampleCountFlags, pub colorSamples : SampleCountFlags, } #[repr(C)] pub struct PhysicalDeviceFragmentShaderInterlockFeaturesEXT { pub sType : StructureType, pub pNext : *mut void, pub fragmentShaderSampleInterlock : Bool32, pub fragmentShaderPixelInterlock : Bool32, pub fragmentShaderShadingRateInterlock : Bool32, } #[repr(C)] pub struct PhysicalDeviceYcbcrImageArraysFeaturesEXT { pub sType : StructureType, pub pNext : *mut void, pub ycbcrImageArrays : Bool32, } pub type HeadlessSurfaceCreateFlagsEXT = u32; #[repr(C)] pub struct HeadlessSurfaceCreateInfoEXT { pub sType : StructureType, pub pNext : *const void, pub flags : HeadlessSurfaceCreateFlagsEXT, } pub type LineRasterizationModeEXT = i32; pub const LINE_RASTERIZATION_MODE_DEFAULT_EXT : i32 = 0; pub const LINE_RASTERIZATION_MODE_RECTANGULAR_EXT : i32 = 1; pub const LINE_RASTERIZATION_MODE_BRESENHAM_EXT : i32 = 2; pub const LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT : i32 = 3; pub const LINE_RASTERIZATION_MODE_MAX_ENUM_EXT : i32 = 0x7FFFFFF; #[repr(C)] pub struct PhysicalDeviceLineRasterizationFeaturesEXT { pub sType : StructureType, pub pNext : *mut void, pub rectangularLines : Bool32, pub bresenhamLines : Bool32, pub smoothLines : Bool32, pub stippledRectangularLines : Bool32, pub stippledBresenhamLines : Bool32, pub stippledSmoothLines : Bool32, } #[repr(C)] pub struct PhysicalDeviceLineRasterizationPropertiesEXT { pub sType : StructureType, pub pNext : *mut void, pub lineSubPixelPrecisionBits : u32, } #[repr(C)] pub struct PipelineRasterizationLineStateCreateInfoEXT { pub sType : StructureType, pub pNext : *const void, pub lineRasterizationMode : LineRasterizationModeEXT, pub stippledLineEnable : Bool32, pub lineStippleFactor : u32, pub lineStipplePattern : u16, } pub type PhysicalDeviceHostQueryResetFeaturesEXT = PhysicalDeviceHostQueryResetFeatures; #[repr(C)] pub struct PhysicalDeviceIndexTypeUint8FeaturesEXT { pub sType : StructureType, pub pNext : *mut void, pub indexTypeUint8 : Bool32, } #[repr(C)] pub struct PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT { pub sType : StructureType, pub pNext : *mut void, pub shaderDemoteToHelperInvocation : Bool32, } pub type IndirectCommandsLayoutNV = u64; pub type IndirectCommandsTokenTypeNV = i32; pub const INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV : i32 = 0; pub const INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV : i32 = 1; pub const INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV : i32 = 2; pub const INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV : i32 = 3; pub const INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV : i32 = 4; pub const INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV : i32 = 5; pub const INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV : i32 = 6; pub const INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV : i32 = 7; pub const INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV : i32 = 0x7FFFFFF; pub type IndirectStateFlagBitsNV = i32; pub const INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV : i32 = 0x00000001; pub const INDIRECT_STATE_FLAG_BITS_MAX_ENUM_NV : i32 = 0x7FFFFFF; pub type IndirectStateFlagsNV = u32; pub type IndirectCommandsLayoutUsageFlagBitsNV = i32; pub const INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV : i32 = 0x00000001; pub const INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV : i32 = 0x00000002; pub const INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV : i32 = 0x00000004; pub const INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NV : i32 = 0x7FFFFFF; pub type IndirectCommandsLayoutUsageFlagsNV = u32; #[repr(C)] pub struct PhysicalDeviceDeviceGeneratedCommandsPropertiesNV { pub sType : StructureType, pub pNext : *mut void, pub maxGraphicsShaderGroupCount : u32, pub maxIndirectSequenceCount : u32, pub maxIndirectCommandsTokenCount : u32, pub maxIndirectCommandsStreamCount : u32, pub maxIndirectCommandsTokenOffset : u32, pub maxIndirectCommandsStreamStride : u32, pub minSequencesCountBufferOffsetAlignment : u32, pub minSequencesIndexBufferOffsetAlignment : u32, pub minIndirectCommandsBufferOffsetAlignment : u32, } #[repr(C)] pub struct PhysicalDeviceDeviceGeneratedCommandsFeaturesNV { pub sType : StructureType, pub pNext : *mut void, pub deviceGeneratedCommands : Bool32, } #[repr(C)] pub struct GraphicsShaderGroupCreateInfoNV { pub sType : StructureType, pub pNext : *const void, pub stageCount : u32, pub pStages : *const PipelineShaderStageCreateInfo, pub pVertexInputState : *const PipelineVertexInputStateCreateInfo, pub pTessellationState : *const PipelineTessellationStateCreateInfo, } #[repr(C)] pub struct GraphicsPipelineShaderGroupsCreateInfoNV { pub sType : StructureType, pub pNext : *const void, pub groupCount : u32, pub pGroups : *const GraphicsShaderGroupCreateInfoNV, pub pipelineCount : u32, pub pPipelines : *const Pipeline, } #[repr(C)] pub struct BindShaderGroupIndirectCommandNV { pub groupIndex : u32, } #[repr(C)] pub struct BindIndexBufferIndirectCommandNV { pub bufferAddress : DeviceAddress, pub size : u32, pub indexType : IndexType, } #[repr(C)] pub struct BindVertexBufferIndirectCommandNV { pub bufferAddress : DeviceAddress, pub size : u32, pub stride : u32, } #[repr(C)] pub struct SetStateFlagsIndirectCommandNV { pub data : u32, } #[repr(C)] pub struct IndirectCommandsStreamNV { pub buffer : Buffer, pub offset : DeviceSize, } #[repr(C)] pub struct IndirectCommandsLayoutTokenNV { pub sType : StructureType, pub pNext : *const void, pub tokenType : IndirectCommandsTokenTypeNV, pub stream : u32, pub offset : u32, pub vertexBindingUnit : u32, pub vertexDynamicStride : Bool32, pub pushconstantPipelineLayout : PipelineLayout, pub pushconstantShaderStageFlags : ShaderStageFlags, pub pushconstantOffset : u32, pub pushconstantSize : u32, pub indirectStateFlags : IndirectStateFlagsNV, pub indexTypeCount : u32, pub pIndexTypes : *const IndexType, pub pIndexTypeValues : *const u32, } #[repr(C)] pub struct IndirectCommandsLayoutCreateInfoNV { pub sType : StructureType, pub pNext : *const void, pub flags : IndirectCommandsLayoutUsageFlagsNV, pub pipelineBindPoint : PipelineBindPoint, pub tokenCount : u32, pub pTokens : *const IndirectCommandsLayoutTokenNV, pub streamCount : u32, pub pStreamStrides : *const u32, } #[repr(C)] pub struct GeneratedCommandsInfoNV { pub sType : StructureType, pub pNext : *const void, pub pipelineBindPoint : PipelineBindPoint, pub pipeline : Pipeline, pub indirectCommandsLayout : IndirectCommandsLayoutNV, pub streamCount : u32, pub pStreams : *const IndirectCommandsStreamNV, pub sequencesCount : u32, pub preprocessBuffer : Buffer, pub preprocessOffset : DeviceSize, pub preprocessSize : DeviceSize, pub sequencesCountBuffer : Buffer, pub sequencesCountOffset : DeviceSize, pub sequencesIndexBuffer : Buffer, pub sequencesIndexOffset : DeviceSize, } #[repr(C)] pub struct GeneratedCommandsMemoryRequirementsInfoNV { pub sType : StructureType, pub pNext : *const void, pub pipelineBindPoint : PipelineBindPoint, pub pipeline : Pipeline, pub indirectCommandsLayout : IndirectCommandsLayoutNV, pub maxSequencesCount : u32, } #[repr(C)] pub struct PhysicalDeviceTexelBufferAlignmentFeaturesEXT { pub sType : StructureType, pub pNext : *mut void, pub texelBufferAlignment : Bool32, } #[repr(C)] pub struct PhysicalDeviceTexelBufferAlignmentPropertiesEXT { pub sType : StructureType, pub pNext : *mut void, pub storageTexelBufferOffsetAlignmentBytes : DeviceSize, pub storageTexelBufferOffsetSingleTexelAlignment : Bool32, pub uniformTexelBufferOffsetAlignmentBytes : DeviceSize, pub uniformTexelBufferOffsetSingleTexelAlignment : Bool32, } #[repr(C)] pub struct RenderPassTransformBeginInfoQCOM { pub sType : StructureType, pub pNext : *mut void, pub transform : SurfaceTransformFlagBitsKHR, } #[repr(C)] pub struct CommandBufferInheritanceRenderPassTransformInfoQCOM { pub sType : StructureType, pub pNext : *mut void, pub transform : SurfaceTransformFlagBitsKHR, pub renderArea : Rect2D, } #[repr(C)] pub struct PhysicalDeviceRobustness2FeaturesEXT { pub sType : StructureType, pub pNext : *mut void, pub robustBufferAccess2 : Bool32, pub robustImageAccess2 : Bool32, pub nullDescriptor : Bool32, } #[repr(C)] pub struct PhysicalDeviceRobustness2PropertiesEXT { pub sType : StructureType, pub pNext : *mut void, pub robustStorageBufferAccessSizeAlignment : DeviceSize, pub robustUniformBufferAccessSizeAlignment : DeviceSize, } #[repr(C)] pub struct SamplerCustomBorderColorCreateInfoEXT { pub sType : StructureType, pub pNext : *const void, pub customBorderColor : ClearColorValue, pub format : Format, } #[repr(C)] pub struct PhysicalDeviceCustomBorderColorPropertiesEXT { pub sType : StructureType, pub pNext : *mut void, pub maxCustomBorderColorSamplers : u32, } #[repr(C)] pub struct PhysicalDeviceCustomBorderColorFeaturesEXT { pub sType : StructureType, pub pNext : *mut void, pub customBorderColors : Bool32, pub customBorderColorWithoutFormat : Bool32, } pub type PrivateDataSlotEXT = u64; pub type PrivateDataSlotCreateFlagBitsEXT = i32; pub const PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM_EXT : i32 = 0x7FFFFFF; pub type PrivateDataSlotCreateFlagsEXT = u32; #[repr(C)] pub struct PhysicalDevicePrivateDataFeaturesEXT { pub sType : StructureType, pub pNext : *mut void, pub privateData : Bool32, } #[repr(C)] pub struct DevicePrivateDataCreateInfoEXT { pub sType : StructureType, pub pNext : *const void, pub privateDataSlotRequestCount : u32, } #[repr(C)] pub struct PrivateDataSlotCreateInfoEXT { pub sType : StructureType, pub pNext : *const void, pub flags : PrivateDataSlotCreateFlagsEXT, } #[repr(C)] pub struct PhysicalDevicePipelineCreationCacheControlFeaturesEXT { pub sType : StructureType, pub pNext : *mut void, pub pipelineCreationCacheControl : Bool32, } pub type DeviceDiagnosticsConfigFlagBitsNV = i32; pub const DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV : i32 = 0x00000001; pub const DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV : i32 = 0x00000002; pub const DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV : i32 = 0x00000004; pub const DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV : i32 = 0x7FFFFFF; pub type DeviceDiagnosticsConfigFlagsNV = u32; #[repr(C)] pub struct PhysicalDeviceDiagnosticsConfigFeaturesNV { pub sType : StructureType, pub pNext : *mut void, pub diagnosticsConfig : Bool32, } #[repr(C)] pub struct DeviceDiagnosticsConfigCreateInfoNV { pub sType : StructureType, pub pNext : *const void, pub flags : DeviceDiagnosticsConfigFlagsNV, } #[link(name = "vk", kind = "static")] extern { pub fn CreateInstance( pCreateInfo : *const InstanceCreateInfo, pAllocator : *const AllocationCallbacks, pInstance : *mut Instance) -> Result; pub fn DestroyInstance( instance : Instance, pAllocator : *const AllocationCallbacks) -> void; pub fn EnumeratePhysicalDevices( instance : Instance, pPhysicalDeviceCount : *mut u32, pPhysicalDevices : *mut PhysicalDevice) -> Result; pub fn GetPhysicalDeviceFeatures( physicalDevice : PhysicalDevice, pFeatures : *mut PhysicalDeviceFeatures) -> void; pub fn GetPhysicalDeviceFormatProperties( physicalDevice : PhysicalDevice, format : Format, pFormatProperties : *mut FormatProperties) -> void; pub fn GetPhysicalDeviceImageFormatProperties( physicalDevice : PhysicalDevice, format : Format, r#type : ImageType, tiling : ImageTiling, usage : ImageUsageFlags, flags : ImageCreateFlags, pImageFormatProperties : *mut ImageFormatProperties) -> Result; pub fn GetPhysicalDeviceProperties( physicalDevice : PhysicalDevice, pProperties : *mut PhysicalDeviceProperties) -> void; pub fn GetPhysicalDeviceQueueFamilyProperties( physicalDevice : PhysicalDevice, pQueueFamilyPropertyCount : *mut u32, pQueueFamilyProperties : *mut QueueFamilyProperties) -> void; pub fn GetPhysicalDeviceMemoryProperties( physicalDevice : PhysicalDevice, pMemoryProperties : *mut PhysicalDeviceMemoryProperties) -> void; pub fn CreateDevice( physicalDevice : PhysicalDevice, pCreateInfo : *const DeviceCreateInfo, pAllocator : *const AllocationCallbacks, pDevice : *mut Device) -> Result; pub fn DestroyDevice( device : Device, pAllocator : *const AllocationCallbacks) -> void; pub fn EnumerateInstanceExtensionProperties( pLayerName : *const i8, pPropertyCount : *mut u32, pProperties : *mut ExtensionProperties) -> Result; pub fn EnumerateDeviceExtensionProperties( physicalDevice : PhysicalDevice, pLayerName : *const i8, pPropertyCount : *mut u32, pProperties : *mut ExtensionProperties) -> Result; pub fn EnumerateInstanceLayerProperties( pPropertyCount : *mut u32, pProperties : *mut LayerProperties) -> Result; pub fn EnumerateDeviceLayerProperties( physicalDevice : PhysicalDevice, pPropertyCount : *mut u32, pProperties : *mut LayerProperties) -> Result; pub fn GetDeviceQueue( device : Device, queueFamilyIndex : u32, queueIndex : u32, pQueue : *mut Queue) -> void; pub fn QueueSubmit( queue : Queue, submitCount : u32, pSubmits : *const SubmitInfo, fence : Fence) -> Result; pub fn QueueWaitIdle( queue : Queue) -> Result; pub fn DeviceWaitIdle( device : Device) -> Result; pub fn AllocateMemory( device : Device, pAllocateInfo : *const MemoryAllocateInfo, pAllocator : *const AllocationCallbacks, pMemory : *mut DeviceMemory) -> Result; pub fn FreeMemory( device : Device, memory : DeviceMemory, pAllocator : *const AllocationCallbacks) -> void; pub fn MapMemory( device : Device, memory : DeviceMemory, offset : DeviceSize, size : DeviceSize, flags : MemoryMapFlags, ppData : *mut void) -> Result; pub fn UnmapMemory( device : Device, memory : DeviceMemory) -> void; pub fn FlushMappedMemoryRanges( device : Device, memoryRangeCount : u32, pMemoryRanges : *const MappedMemoryRange) -> Result; pub fn InvalidateMappedMemoryRanges( device : Device, memoryRangeCount : u32, pMemoryRanges : *const MappedMemoryRange) -> Result; pub fn GetDeviceMemoryCommitment( device : Device, memory : DeviceMemory, pCommittedMemoryInBytes : *mut DeviceSize) -> void; pub fn BindBufferMemory( device : Device, buffer : Buffer, memory : DeviceMemory, memoryOffset : DeviceSize) -> Result; pub fn BindImageMemory( device : Device, image : Image, memory : DeviceMemory, memoryOffset : DeviceSize) -> Result; pub fn GetBufferMemoryRequirements( device : Device, buffer : Buffer, pMemoryRequirements : *mut MemoryRequirements) -> void; pub fn GetImageMemoryRequirements( device : Device, image : Image, pMemoryRequirements : *mut MemoryRequirements) -> void; pub fn GetImageSparseMemoryRequirements( device : Device, image : Image, pSparseMemoryRequirementCount : *mut u32, pSparseMemoryRequirements : *mut SparseImageMemoryRequirements) -> void; pub fn GetPhysicalDeviceSparseImageFormatProperties( physicalDevice : PhysicalDevice, format : Format, r#type : ImageType, samples : SampleCountFlagBits, usage : ImageUsageFlags, tiling : ImageTiling, pPropertyCount : *mut u32, pProperties : *mut SparseImageFormatProperties) -> void; pub fn QueueBindSparse( queue : Queue, bindInfoCount : u32, pBindInfo : *const BindSparseInfo, fence : Fence) -> Result; pub fn CreateFence( device : Device, pCreateInfo : *const FenceCreateInfo, pAllocator : *const AllocationCallbacks, pFence : *mut Fence) -> Result; pub fn DestroyFence( device : Device, fence : Fence, pAllocator : *const AllocationCallbacks) -> void; pub fn ResetFences( device : Device, fenceCount : u32, pFences : *const Fence) -> Result; pub fn GetFenceStatus( device : Device, fence : Fence) -> Result; pub fn WaitForFences( device : Device, fenceCount : u32, pFences : *const Fence, waitAll : Bool32, timeout : u64) -> Result; pub fn CreateSemaphore( device : Device, pCreateInfo : *const SemaphoreCreateInfo, pAllocator : *const AllocationCallbacks, pSemaphore : *mut Semaphore) -> Result; pub fn DestroySemaphore( device : Device, semaphore : Semaphore, pAllocator : *const AllocationCallbacks) -> void; pub fn CreateEvent( device : Device, pCreateInfo : *const EventCreateInfo, pAllocator : *const AllocationCallbacks, pEvent : *mut Event) -> Result; pub fn DestroyEvent( device : Device, event : Event, pAllocator : *const AllocationCallbacks) -> void; pub fn GetEventStatus( device : Device, event : Event) -> Result; pub fn SetEvent( device : Device, event : Event) -> Result; pub fn ResetEvent( device : Device, event : Event) -> Result; pub fn CreateQueryPool( device : Device, pCreateInfo : *const QueryPoolCreateInfo, pAllocator : *const AllocationCallbacks, pQueryPool : *mut QueryPool) -> Result; pub fn DestroyQueryPool( device : Device, queryPool : QueryPool, pAllocator : *const AllocationCallbacks) -> void; pub fn GetQueryPoolResults( device : Device, queryPool : QueryPool, firstQuery : u32, queryCount : u32, dataSize : usize, pData : *mut void, stride : DeviceSize, flags : QueryResultFlags) -> Result; pub fn CreateBuffer( device : Device, pCreateInfo : *const BufferCreateInfo, pAllocator : *const AllocationCallbacks, pBuffer : *mut Buffer) -> Result; pub fn DestroyBuffer( device : Device, buffer : Buffer, pAllocator : *const AllocationCallbacks) -> void; pub fn CreateBufferView( device : Device, pCreateInfo : *const BufferViewCreateInfo, pAllocator : *const AllocationCallbacks, pView : *mut BufferView) -> Result; pub fn DestroyBufferView( device : Device, bufferView : BufferView, pAllocator : *const AllocationCallbacks) -> void; pub fn CreateImage( device : Device, pCreateInfo : *const ImageCreateInfo, pAllocator : *const AllocationCallbacks, pImage : *mut Image) -> Result; pub fn DestroyImage( device : Device, image : Image, pAllocator : *const AllocationCallbacks) -> void; pub fn GetImageSubresourceLayout( device : Device, image : Image, pSubresource : *const ImageSubresource, pLayout : *mut SubresourceLayout) -> void; pub fn CreateImageView( device : Device, pCreateInfo : *const ImageViewCreateInfo, pAllocator : *const AllocationCallbacks, pView : *mut ImageView) -> Result; pub fn DestroyImageView( device : Device, imageView : ImageView, pAllocator : *const AllocationCallbacks) -> void; pub fn CreateShaderModule( device : Device, pCreateInfo : *const ShaderModuleCreateInfo, pAllocator : *const AllocationCallbacks, pShaderModule : *mut ShaderModule) -> Result; pub fn DestroyShaderModule( device : Device, shaderModule : ShaderModule, pAllocator : *const AllocationCallbacks) -> void; pub fn CreatePipelineCache( device : Device, pCreateInfo : *const PipelineCacheCreateInfo, pAllocator : *const AllocationCallbacks, pPipelineCache : *mut PipelineCache) -> Result; pub fn DestroyPipelineCache( device : Device, pipelineCache : PipelineCache, pAllocator : *const AllocationCallbacks) -> void; pub fn GetPipelineCacheData( device : Device, pipelineCache : PipelineCache, pDataSize : *mut usize, pData : *mut void) -> Result; pub fn MergePipelineCaches( device : Device, dstCache : PipelineCache, srcCacheCount : u32, pSrcCaches : *const PipelineCache) -> Result; pub fn CreateGraphicsPipelines( device : Device, pipelineCache : PipelineCache, createInfoCount : u32, pCreateInfos : *const GraphicsPipelineCreateInfo, pAllocator : *const AllocationCallbacks, pPipelines : *mut Pipeline) -> Result; pub fn CreateComputePipelines( device : Device, pipelineCache : PipelineCache, createInfoCount : u32, pCreateInfos : *const ComputePipelineCreateInfo, pAllocator : *const AllocationCallbacks, pPipelines : *mut Pipeline) -> Result; pub fn DestroyPipeline( device : Device, pipeline : Pipeline, pAllocator : *const AllocationCallbacks) -> void; pub fn CreatePipelineLayout( device : Device, pCreateInfo : *const PipelineLayoutCreateInfo, pAllocator : *const AllocationCallbacks, pPipelineLayout : *mut PipelineLayout) -> Result; pub fn DestroyPipelineLayout( device : Device, pipelineLayout : PipelineLayout, pAllocator : *const AllocationCallbacks) -> void; pub fn CreateSampler( device : Device, pCreateInfo : *const SamplerCreateInfo, pAllocator : *const AllocationCallbacks, pSampler : *mut Sampler) -> Result; pub fn DestroySampler( device : Device, sampler : Sampler, pAllocator : *const AllocationCallbacks) -> void; pub fn CreateDescriptorSetLayout( device : Device, pCreateInfo : *const DescriptorSetLayoutCreateInfo, pAllocator : *const AllocationCallbacks, pSetLayout : *mut DescriptorSetLayout) -> Result; pub fn DestroyDescriptorSetLayout( device : Device, descriptorSetLayout : DescriptorSetLayout, pAllocator : *const AllocationCallbacks) -> void; pub fn CreateDescriptorPool( device : Device, pCreateInfo : *const DescriptorPoolCreateInfo, pAllocator : *const AllocationCallbacks, pDescriptorPool : *mut DescriptorPool) -> Result; pub fn DestroyDescriptorPool( device : Device, descriptorPool : DescriptorPool, pAllocator : *const AllocationCallbacks) -> void; pub fn ResetDescriptorPool( device : Device, descriptorPool : DescriptorPool, flags : DescriptorPoolResetFlags) -> Result; pub fn AllocateDescriptorSets( device : Device, pAllocateInfo : *const DescriptorSetAllocateInfo, pDescriptorSets : *mut DescriptorSet) -> Result; pub fn FreeDescriptorSets( device : Device, descriptorPool : DescriptorPool, descriptorSetCount : u32, pDescriptorSets : *const DescriptorSet) -> Result; pub fn UpdateDescriptorSets( device : Device, descriptorWriteCount : u32, pDescriptorWrites : *const WriteDescriptorSet, descriptorCopyCount : u32, pDescriptorCopies : *const CopyDescriptorSet) -> void; pub fn CreateFramebuffer( device : Device, pCreateInfo : *const FramebufferCreateInfo, pAllocator : *const AllocationCallbacks, pFramebuffer : *mut Framebuffer) -> Result; pub fn DestroyFramebuffer( device : Device, framebuffer : Framebuffer, pAllocator : *const AllocationCallbacks) -> void; pub fn CreateRenderPass( device : Device, pCreateInfo : *const RenderPassCreateInfo, pAllocator : *const AllocationCallbacks, pRenderPass : *mut RenderPass) -> Result; pub fn DestroyRenderPass( device : Device, renderPass : RenderPass, pAllocator : *const AllocationCallbacks) -> void; pub fn GetRenderAreaGranularity( device : Device, renderPass : RenderPass, pGranularity : *mut Extent2D) -> void; pub fn CreateCommandPool( device : Device, pCreateInfo : *const CommandPoolCreateInfo, pAllocator : *const AllocationCallbacks, pCommandPool : *mut CommandPool) -> Result; pub fn DestroyCommandPool( device : Device, commandPool : CommandPool, pAllocator : *const AllocationCallbacks) -> void; pub fn ResetCommandPool( device : Device, commandPool : CommandPool, flags : CommandPoolResetFlags) -> Result; pub fn AllocateCommandBuffers( device : Device, pAllocateInfo : *const CommandBufferAllocateInfo, pCommandBuffers : *mut CommandBuffer) -> Result; pub fn FreeCommandBuffers( device : Device, commandPool : CommandPool, commandBufferCount : u32, pCommandBuffers : *const CommandBuffer) -> void; pub fn BeginCommandBuffer( commandBuffer : CommandBuffer, pBeginInfo : *const CommandBufferBeginInfo) -> Result; pub fn EndCommandBuffer( commandBuffer : CommandBuffer) -> Result; pub fn ResetCommandBuffer( commandBuffer : CommandBuffer, flags : CommandBufferResetFlags) -> Result; pub fn CmdBindPipeline( commandBuffer : CommandBuffer, pipelineBindPoint : PipelineBindPoint, pipeline : Pipeline) -> void; pub fn CmdSetViewport( commandBuffer : CommandBuffer, firstViewport : u32, viewportCount : u32, pViewports : *const Viewport) -> void; pub fn CmdSetScissor( commandBuffer : CommandBuffer, firstScissor : u32, scissorCount : u32, pScissors : *const Rect2D) -> void; pub fn CmdSetLineWidth( commandBuffer : CommandBuffer, lineWidth : f32) -> void; pub fn CmdSetDepthBias( commandBuffer : CommandBuffer, depthBiasConstantFactor : f32, depthBiasClamp : f32, depthBiasSlopeFactor : f32) -> void; pub fn CmdSetBlendConstants( commandBuffer : CommandBuffer, blendConstants : [f32;4]) -> void; pub fn CmdSetDepthBounds( commandBuffer : CommandBuffer, minDepthBounds : f32, maxDepthBounds : f32) -> void; pub fn CmdSetStencilCompareMask( commandBuffer : CommandBuffer, faceMask : StencilFaceFlags, compareMask : u32) -> void; pub fn CmdSetStencilWriteMask( commandBuffer : CommandBuffer, faceMask : StencilFaceFlags, writeMask : u32) -> void; pub fn CmdSetStencilReference( commandBuffer : CommandBuffer, faceMask : StencilFaceFlags, reference : u32) -> void; pub fn CmdBindDescriptorSets( commandBuffer : CommandBuffer, pipelineBindPoint : PipelineBindPoint, layout : PipelineLayout, firstSet : u32, descriptorSetCount : u32, pDescriptorSets : *const DescriptorSet, dynamicOffsetCount : u32, pDynamicOffsets : *const u32) -> void; pub fn CmdBindIndexBuffer( commandBuffer : CommandBuffer, buffer : Buffer, offset : DeviceSize, indexType : IndexType) -> void; pub fn CmdBindVertexBuffers( commandBuffer : CommandBuffer, firstBinding : u32, bindingCount : u32, pBuffers : *const Buffer, pOffsets : *const DeviceSize) -> void; pub fn CmdDraw( commandBuffer : CommandBuffer, vertexCount : u32, instanceCount : u32, firstVertex : u32, firstInstance : u32) -> void; pub fn CmdDrawIndexed( commandBuffer : CommandBuffer, indexCount : u32, instanceCount : u32, firstIndex : u32, vertexOffset : i32, firstInstance : u32) -> void; pub fn CmdDrawIndirect( commandBuffer : CommandBuffer, buffer : Buffer, offset : DeviceSize, drawCount : u32, stride : u32) -> void; pub fn CmdDrawIndexedIndirect( commandBuffer : CommandBuffer, buffer : Buffer, offset : DeviceSize, drawCount : u32, stride : u32) -> void; pub fn CmdDispatch( commandBuffer : CommandBuffer, groupCountX : u32, groupCountY : u32, groupCountZ : u32) -> void; pub fn CmdDispatchIndirect( commandBuffer : CommandBuffer, buffer : Buffer, offset : DeviceSize) -> void; pub fn CmdCopyBuffer( commandBuffer : CommandBuffer, srcBuffer : Buffer, dstBuffer : Buffer, regionCount : u32, pRegions : *const BufferCopy) -> void; pub fn CmdCopyImage( commandBuffer : CommandBuffer, srcImage : Image, srcImageLayout : ImageLayout, dstImage : Image, dstImageLayout : ImageLayout, regionCount : u32, pRegions : *const ImageCopy) -> void; pub fn CmdBlitImage( commandBuffer : CommandBuffer, srcImage : Image, srcImageLayout : ImageLayout, dstImage : Image, dstImageLayout : ImageLayout, regionCount : u32, pRegions : *const ImageBlit, filter : Filter) -> void; pub fn CmdCopyBufferToImage( commandBuffer : CommandBuffer, srcBuffer : Buffer, dstImage : Image, dstImageLayout : ImageLayout, regionCount : u32, pRegions : *const BufferImageCopy) -> void; pub fn CmdCopyImageToBuffer( commandBuffer : CommandBuffer, srcImage : Image, srcImageLayout : ImageLayout, dstBuffer : Buffer, regionCount : u32, pRegions : *const BufferImageCopy) -> void; pub fn CmdUpdateBuffer( commandBuffer : CommandBuffer, dstBuffer : Buffer, dstOffset : DeviceSize, dataSize : DeviceSize, pData : *const void) -> void; pub fn CmdFillBuffer( commandBuffer : CommandBuffer, dstBuffer : Buffer, dstOffset : DeviceSize, size : DeviceSize, data : u32) -> void; pub fn CmdClearColorImage( commandBuffer : CommandBuffer, image : Image, imageLayout : ImageLayout, pColor : *const ClearColorValue, rangeCount : u32, pRanges : *const ImageSubresourceRange) -> void; pub fn CmdClearDepthStencilImage( commandBuffer : CommandBuffer, image : Image, imageLayout : ImageLayout, pDepthStencil : *const ClearDepthStencilValue, rangeCount : u32, pRanges : *const ImageSubresourceRange) -> void; pub fn CmdClearAttachments( commandBuffer : CommandBuffer, attachmentCount : u32, pAttachments : *const ClearAttachment, rectCount : u32, pRects : *const ClearRect) -> void; pub fn CmdResolveImage( commandBuffer : CommandBuffer, srcImage : Image, srcImageLayout : ImageLayout, dstImage : Image, dstImageLayout : ImageLayout, regionCount : u32, pRegions : *const ImageResolve) -> void; pub fn CmdSetEvent( commandBuffer : CommandBuffer, event : Event, stageMask : PipelineStageFlags) -> void; pub fn CmdResetEvent( commandBuffer : CommandBuffer, event : Event, stageMask : PipelineStageFlags) -> void; pub fn CmdWaitEvents( commandBuffer : CommandBuffer, eventCount : u32, pEvents : *const Event, srcStageMask : PipelineStageFlags, dstStageMask : PipelineStageFlags, memoryBarrierCount : u32, pMemoryBarriers : *const MemoryBarrier, bufferMemoryBarrierCount : u32, pBufferMemoryBarriers : *const BufferMemoryBarrier, imageMemoryBarrierCount : u32, pImageMemoryBarriers : *const ImageMemoryBarrier) -> void; pub fn CmdPipelineBarrier( commandBuffer : CommandBuffer, srcStageMask : PipelineStageFlags, dstStageMask : PipelineStageFlags, dependencyFlags : DependencyFlags, memoryBarrierCount : u32, pMemoryBarriers : *const MemoryBarrier, bufferMemoryBarrierCount : u32, pBufferMemoryBarriers : *const BufferMemoryBarrier, imageMemoryBarrierCount : u32, pImageMemoryBarriers : *const ImageMemoryBarrier) -> void; pub fn CmdBeginQuery( commandBuffer : CommandBuffer, queryPool : QueryPool, query : u32, flags : QueryControlFlags) -> void; pub fn CmdEndQuery( commandBuffer : CommandBuffer, queryPool : QueryPool, query : u32) -> void; pub fn CmdResetQueryPool( commandBuffer : CommandBuffer, queryPool : QueryPool, firstQuery : u32, queryCount : u32) -> void; pub fn CmdWriteTimestamp( commandBuffer : CommandBuffer, pipelineStage : PipelineStageFlagBits, queryPool : QueryPool, query : u32) -> void; pub fn CmdCopyQueryPoolResults( commandBuffer : CommandBuffer, queryPool : QueryPool, firstQuery : u32, queryCount : u32, dstBuffer : Buffer, dstOffset : DeviceSize, stride : DeviceSize, flags : QueryResultFlags) -> void; pub fn CmdPushConstants( commandBuffer : CommandBuffer, layout : PipelineLayout, stageFlags : ShaderStageFlags, offset : u32, size : u32, pValues : *const void) -> void; pub fn CmdBeginRenderPass( commandBuffer : CommandBuffer, pRenderPassBegin : *const RenderPassBeginInfo, contents : SubpassContents) -> void; pub fn CmdNextSubpass( commandBuffer : CommandBuffer, contents : SubpassContents) -> void; pub fn CmdEndRenderPass( commandBuffer : CommandBuffer) -> void; pub fn CmdExecuteCommands( commandBuffer : CommandBuffer, commandBufferCount : u32, pCommandBuffers : *const CommandBuffer) -> void; pub fn EnumerateInstanceVersion( pApiVersion : *mut u32) -> Result; pub fn BindBufferMemory2( device : Device, bindInfoCount : u32, pBindInfos : *const BindBufferMemoryInfo) -> Result; pub fn BindImageMemory2( device : Device, bindInfoCount : u32, pBindInfos : *const BindImageMemoryInfo) -> Result; pub fn GetDeviceGroupPeerMemoryFeatures( device : Device, heapIndex : u32, localDeviceIndex : u32, remoteDeviceIndex : u32, pPeerMemoryFeatures : *mut PeerMemoryFeatureFlags) -> void; pub fn CmdSetDeviceMask( commandBuffer : CommandBuffer, deviceMask : u32) -> void; pub fn CmdDispatchBase( commandBuffer : CommandBuffer, baseGroupX : u32, baseGroupY : u32, baseGroupZ : u32, groupCountX : u32, groupCountY : u32, groupCountZ : u32) -> void; pub fn EnumeratePhysicalDeviceGroups( instance : Instance, pPhysicalDeviceGroupCount : *mut u32, pPhysicalDeviceGroupProperties : *mut PhysicalDeviceGroupProperties) -> Result; pub fn GetImageMemoryRequirements2( device : Device, pInfo : *const ImageMemoryRequirementsInfo2, pMemoryRequirements : *mut MemoryRequirements2) -> void; pub fn GetBufferMemoryRequirements2( device : Device, pInfo : *const BufferMemoryRequirementsInfo2, pMemoryRequirements : *mut MemoryRequirements2) -> void; pub fn GetImageSparseMemoryRequirements2( device : Device, pInfo : *const ImageSparseMemoryRequirementsInfo2, pSparseMemoryRequirementCount : *mut u32, pSparseMemoryRequirements : *mut SparseImageMemoryRequirements2) -> void; pub fn GetPhysicalDeviceFeatures2( physicalDevice : PhysicalDevice, pFeatures : *mut PhysicalDeviceFeatures2) -> void; pub fn GetPhysicalDeviceProperties2( physicalDevice : PhysicalDevice, pProperties : *mut PhysicalDeviceProperties2) -> void; pub fn GetPhysicalDeviceFormatProperties2( physicalDevice : PhysicalDevice, format : Format, pFormatProperties : *mut FormatProperties2) -> void; pub fn GetPhysicalDeviceImageFormatProperties2( physicalDevice : PhysicalDevice, pImageFormatInfo : *const PhysicalDeviceImageFormatInfo2, pImageFormatProperties : *mut ImageFormatProperties2) -> Result; pub fn GetPhysicalDeviceQueueFamilyProperties2( physicalDevice : PhysicalDevice, pQueueFamilyPropertyCount : *mut u32, pQueueFamilyProperties : *mut QueueFamilyProperties2) -> void; pub fn GetPhysicalDeviceMemoryProperties2( physicalDevice : PhysicalDevice, pMemoryProperties : *mut PhysicalDeviceMemoryProperties2) -> void; pub fn GetPhysicalDeviceSparseImageFormatProperties2( physicalDevice : PhysicalDevice, pFormatInfo : *const PhysicalDeviceSparseImageFormatInfo2, pPropertyCount : *mut u32, pProperties : *mut SparseImageFormatProperties2) -> void; pub fn TrimCommandPool( device : Device, commandPool : CommandPool, flags : CommandPoolTrimFlags) -> void; pub fn GetDeviceQueue2( device : Device, pQueueInfo : *const DeviceQueueInfo2, pQueue : *mut Queue) -> void; pub fn CreateSamplerYcbcrConversion( device : Device, pCreateInfo : *const SamplerYcbcrConversionCreateInfo, pAllocator : *const AllocationCallbacks, pYcbcrConversion : *mut SamplerYcbcrConversion) -> Result; pub fn DestroySamplerYcbcrConversion( device : Device, ycbcrConversion : SamplerYcbcrConversion, pAllocator : *const AllocationCallbacks) -> void; pub fn CreateDescriptorUpdateTemplate( device : Device, pCreateInfo : *const DescriptorUpdateTemplateCreateInfo, pAllocator : *const AllocationCallbacks, pDescriptorUpdateTemplate : *mut DescriptorUpdateTemplate) -> Result; pub fn DestroyDescriptorUpdateTemplate( device : Device, descriptorUpdateTemplate : DescriptorUpdateTemplate, pAllocator : *const AllocationCallbacks) -> void; pub fn UpdateDescriptorSetWithTemplate( device : Device, descriptorSet : DescriptorSet, descriptorUpdateTemplate : DescriptorUpdateTemplate, pData : *const void) -> void; pub fn GetPhysicalDeviceExternalBufferProperties( physicalDevice : PhysicalDevice, pExternalBufferInfo : *const PhysicalDeviceExternalBufferInfo, pExternalBufferProperties : *mut ExternalBufferProperties) -> void; pub fn GetPhysicalDeviceExternalFenceProperties( physicalDevice : PhysicalDevice, pExternalFenceInfo : *const PhysicalDeviceExternalFenceInfo, pExternalFenceProperties : *mut ExternalFenceProperties) -> void; pub fn GetPhysicalDeviceExternalSemaphoreProperties( physicalDevice : PhysicalDevice, pExternalSemaphoreInfo : *const PhysicalDeviceExternalSemaphoreInfo, pExternalSemaphoreProperties : *mut ExternalSemaphoreProperties) -> void; pub fn GetDescriptorSetLayoutSupport( device : Device, pCreateInfo : *const DescriptorSetLayoutCreateInfo, pSupport : *mut DescriptorSetLayoutSupport) -> void; pub fn CmdDrawIndirectCount( commandBuffer : CommandBuffer, buffer : Buffer, offset : DeviceSize, countBuffer : Buffer, countBufferOffset : DeviceSize, maxDrawCount : u32, stride : u32) -> void; pub fn CmdDrawIndexedIndirectCount( commandBuffer : CommandBuffer, buffer : Buffer, offset : DeviceSize, countBuffer : Buffer, countBufferOffset : DeviceSize, maxDrawCount : u32, stride : u32) -> void; pub fn CreateRenderPass2( device : Device, pCreateInfo : *const RenderPassCreateInfo2, pAllocator : *const AllocationCallbacks, pRenderPass : *mut RenderPass) -> Result; pub fn CmdBeginRenderPass2( commandBuffer : CommandBuffer, pRenderPassBegin : *const RenderPassBeginInfo, pSubpassBeginInfo : *const SubpassBeginInfo) -> void; pub fn CmdNextSubpass2( commandBuffer : CommandBuffer, pSubpassBeginInfo : *const SubpassBeginInfo, pSubpassEndInfo : *const SubpassEndInfo) -> void; pub fn CmdEndRenderPass2( commandBuffer : CommandBuffer, pSubpassEndInfo : *const SubpassEndInfo) -> void; pub fn ResetQueryPool( device : Device, queryPool : QueryPool, firstQuery : u32, queryCount : u32) -> void; pub fn GetSemaphoreCounterValue( device : Device, semaphore : Semaphore, pValue : *mut u64) -> Result; pub fn WaitSemaphores( device : Device, pWaitInfo : *const SemaphoreWaitInfo, timeout : u64) -> Result; pub fn SignalSemaphore( device : Device, pSignalInfo : *const SemaphoreSignalInfo) -> Result; pub fn GetBufferDeviceAddress( device : Device, pInfo : *const BufferDeviceAddressInfo) -> DeviceAddress; pub fn GetBufferOpaqueCaptureAddress( device : Device, pInfo : *const BufferDeviceAddressInfo) -> u64; pub fn GetDeviceMemoryOpaqueCaptureAddress( device : Device, pInfo : *const DeviceMemoryOpaqueCaptureAddressInfo) -> u64; pub fn DestroySurfaceKHR( instance : Instance, surface : SurfaceKHR, pAllocator : *const AllocationCallbacks) -> void; pub fn GetPhysicalDeviceSurfaceSupportKHR( physicalDevice : PhysicalDevice, queueFamilyIndex : u32, surface : SurfaceKHR, pSupported : *mut Bool32) -> Result; pub fn GetPhysicalDeviceSurfaceCapabilitiesKHR( physicalDevice : PhysicalDevice, surface : SurfaceKHR, pSurfaceCapabilities : *mut SurfaceCapabilitiesKHR) -> Result; pub fn GetPhysicalDeviceSurfaceFormatsKHR( physicalDevice : PhysicalDevice, surface : SurfaceKHR, pSurfaceFormatCount : *mut u32, pSurfaceFormats : *mut SurfaceFormatKHR) -> Result; pub fn GetPhysicalDeviceSurfacePresentModesKHR( physicalDevice : PhysicalDevice, surface : SurfaceKHR, pPresentModeCount : *mut u32, pPresentModes : *mut PresentModeKHR) -> Result; pub fn CreateSwapchainKHR( device : Device, pCreateInfo : *const SwapchainCreateInfoKHR, pAllocator : *const AllocationCallbacks, pSwapchain : *mut SwapchainKHR) -> Result; pub fn DestroySwapchainKHR( device : Device, swapchain : SwapchainKHR, pAllocator : *const AllocationCallbacks) -> void; pub fn GetSwapchainImagesKHR( device : Device, swapchain : SwapchainKHR, pSwapchainImageCount : *mut u32, pSwapchainImages : *mut Image) -> Result; pub fn AcquireNextImageKHR( device : Device, swapchain : SwapchainKHR, timeout : u64, semaphore : Semaphore, fence : Fence, pImageIndex : *mut u32) -> Result; pub fn QueuePresentKHR( queue : Queue, pPresentInfo : *const PresentInfoKHR) -> Result; pub fn GetDeviceGroupPresentCapabilitiesKHR( device : Device, pDeviceGroupPresentCapabilities : *mut DeviceGroupPresentCapabilitiesKHR) -> Result; pub fn GetDeviceGroupSurfacePresentModesKHR( device : Device, surface : SurfaceKHR, pModes : *mut DeviceGroupPresentModeFlagsKHR) -> Result; pub fn GetPhysicalDevicePresentRectanglesKHR( physicalDevice : PhysicalDevice, surface : SurfaceKHR, pRectCount : *mut u32, pRects : *mut Rect2D) -> Result; pub fn AcquireNextImage2KHR( device : Device, pAcquireInfo : *const AcquireNextImageInfoKHR, pImageIndex : *mut u32) -> Result; pub fn GetPhysicalDeviceDisplayPropertiesKHR( physicalDevice : PhysicalDevice, pPropertyCount : *mut u32, pProperties : *mut DisplayPropertiesKHR) -> Result; pub fn GetPhysicalDeviceDisplayPlanePropertiesKHR( physicalDevice : PhysicalDevice, pPropertyCount : *mut u32, pProperties : *mut DisplayPlanePropertiesKHR) -> Result; pub fn GetDisplayPlaneSupportedDisplaysKHR( physicalDevice : PhysicalDevice, planeIndex : u32, pDisplayCount : *mut u32, pDisplays : *mut DisplayKHR) -> Result; pub fn GetDisplayModePropertiesKHR( physicalDevice : PhysicalDevice, display : DisplayKHR, pPropertyCount : *mut u32, pProperties : *mut DisplayModePropertiesKHR) -> Result; pub fn CreateDisplayModeKHR( physicalDevice : PhysicalDevice, display : DisplayKHR, pCreateInfo : *const DisplayModeCreateInfoKHR, pAllocator : *const AllocationCallbacks, pMode : *mut DisplayModeKHR) -> Result; pub fn GetDisplayPlaneCapabilitiesKHR( physicalDevice : PhysicalDevice, mode : DisplayModeKHR, planeIndex : u32, pCapabilities : *mut DisplayPlaneCapabilitiesKHR) -> Result; pub fn CreateDisplayPlaneSurfaceKHR( instance : Instance, pCreateInfo : *const DisplaySurfaceCreateInfoKHR, pAllocator : *const AllocationCallbacks, pSurface : *mut SurfaceKHR) -> Result; pub fn CreateSharedSwapchainsKHR( device : Device, swapchainCount : u32, pCreateInfos : *const SwapchainCreateInfoKHR, pAllocator : *const AllocationCallbacks, pSwapchains : *mut SwapchainKHR) -> Result; pub fn GetPhysicalDeviceFeatures2KHR( physicalDevice : PhysicalDevice, pFeatures : *mut PhysicalDeviceFeatures2) -> void; pub fn GetPhysicalDeviceProperties2KHR( physicalDevice : PhysicalDevice, pProperties : *mut PhysicalDeviceProperties2) -> void; pub fn GetPhysicalDeviceFormatProperties2KHR( physicalDevice : PhysicalDevice, format : Format, pFormatProperties : *mut FormatProperties2) -> void; pub fn GetPhysicalDeviceImageFormatProperties2KHR( physicalDevice : PhysicalDevice, pImageFormatInfo : *const PhysicalDeviceImageFormatInfo2, pImageFormatProperties : *mut ImageFormatProperties2) -> Result; pub fn GetPhysicalDeviceQueueFamilyProperties2KHR( physicalDevice : PhysicalDevice, pQueueFamilyPropertyCount : *mut u32, pQueueFamilyProperties : *mut QueueFamilyProperties2) -> void; pub fn GetPhysicalDeviceMemoryProperties2KHR( physicalDevice : PhysicalDevice, pMemoryProperties : *mut PhysicalDeviceMemoryProperties2) -> void; pub fn GetPhysicalDeviceSparseImageFormatProperties2KHR( physicalDevice : PhysicalDevice, pFormatInfo : *const PhysicalDeviceSparseImageFormatInfo2, pPropertyCount : *mut u32, pProperties : *mut SparseImageFormatProperties2) -> void; pub fn GetDeviceGroupPeerMemoryFeaturesKHR( device : Device, heapIndex : u32, localDeviceIndex : u32, remoteDeviceIndex : u32, pPeerMemoryFeatures : *mut PeerMemoryFeatureFlags) -> void; pub fn CmdSetDeviceMaskKHR( commandBuffer : CommandBuffer, deviceMask : u32) -> void; pub fn CmdDispatchBaseKHR( commandBuffer : CommandBuffer, baseGroupX : u32, baseGroupY : u32, baseGroupZ : u32, groupCountX : u32, groupCountY : u32, groupCountZ : u32) -> void; pub fn TrimCommandPoolKHR( device : Device, commandPool : CommandPool, flags : CommandPoolTrimFlags) -> void; pub fn EnumeratePhysicalDeviceGroupsKHR( instance : Instance, pPhysicalDeviceGroupCount : *mut u32, pPhysicalDeviceGroupProperties : *mut PhysicalDeviceGroupProperties) -> Result; pub fn GetPhysicalDeviceExternalBufferPropertiesKHR( physicalDevice : PhysicalDevice, pExternalBufferInfo : *const PhysicalDeviceExternalBufferInfo, pExternalBufferProperties : *mut ExternalBufferProperties) -> void; pub fn GetMemoryFdKHR( device : Device, pGetFdInfo : *const MemoryGetFdInfoKHR, pFd : *mut i32) -> Result; pub fn GetMemoryFdPropertiesKHR( device : Device, handleType : ExternalMemoryHandleTypeFlagBits, fd : i32, pMemoryFdProperties : *mut MemoryFdPropertiesKHR) -> Result; pub fn GetPhysicalDeviceExternalSemaphorePropertiesKHR( physicalDevice : PhysicalDevice, pExternalSemaphoreInfo : *const PhysicalDeviceExternalSemaphoreInfo, pExternalSemaphoreProperties : *mut ExternalSemaphoreProperties) -> void; pub fn ImportSemaphoreFdKHR( device : Device, pImportSemaphoreFdInfo : *const ImportSemaphoreFdInfoKHR) -> Result; pub fn GetSemaphoreFdKHR( device : Device, pGetFdInfo : *const SemaphoreGetFdInfoKHR, pFd : *mut i32) -> Result; pub fn CmdPushDescriptorSetKHR( commandBuffer : CommandBuffer, pipelineBindPoint : PipelineBindPoint, layout : PipelineLayout, set : u32, descriptorWriteCount : u32, pDescriptorWrites : *const WriteDescriptorSet) -> void; pub fn CmdPushDescriptorSetWithTemplateKHR( commandBuffer : CommandBuffer, descriptorUpdateTemplate : DescriptorUpdateTemplate, layout : PipelineLayout, set : u32, pData : *const void) -> void; pub fn CreateDescriptorUpdateTemplateKHR( device : Device, pCreateInfo : *const DescriptorUpdateTemplateCreateInfo, pAllocator : *const AllocationCallbacks, pDescriptorUpdateTemplate : *mut DescriptorUpdateTemplate) -> Result; pub fn DestroyDescriptorUpdateTemplateKHR( device : Device, descriptorUpdateTemplate : DescriptorUpdateTemplate, pAllocator : *const AllocationCallbacks) -> void; pub fn UpdateDescriptorSetWithTemplateKHR( device : Device, descriptorSet : DescriptorSet, descriptorUpdateTemplate : DescriptorUpdateTemplate, pData : *const void) -> void; pub fn CreateRenderPass2KHR( device : Device, pCreateInfo : *const RenderPassCreateInfo2, pAllocator : *const AllocationCallbacks, pRenderPass : *mut RenderPass) -> Result; pub fn CmdBeginRenderPass2KHR( commandBuffer : CommandBuffer, pRenderPassBegin : *const RenderPassBeginInfo, pSubpassBeginInfo : *const SubpassBeginInfo) -> void; pub fn CmdNextSubpass2KHR( commandBuffer : CommandBuffer, pSubpassBeginInfo : *const SubpassBeginInfo, pSubpassEndInfo : *const SubpassEndInfo) -> void; pub fn CmdEndRenderPass2KHR( commandBuffer : CommandBuffer, pSubpassEndInfo : *const SubpassEndInfo) -> void; pub fn GetSwapchainStatusKHR( device : Device, swapchain : SwapchainKHR) -> Result; pub fn GetPhysicalDeviceExternalFencePropertiesKHR( physicalDevice : PhysicalDevice, pExternalFenceInfo : *const PhysicalDeviceExternalFenceInfo, pExternalFenceProperties : *mut ExternalFenceProperties) -> void; pub fn ImportFenceFdKHR( device : Device, pImportFenceFdInfo : *const ImportFenceFdInfoKHR) -> Result; pub fn GetFenceFdKHR( device : Device, pGetFdInfo : *const FenceGetFdInfoKHR, pFd : *mut i32) -> Result; pub fn EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( physicalDevice : PhysicalDevice, queueFamilyIndex : u32, pCounterCount : *mut u32, pCounters : *mut PerformanceCounterKHR, pCounterDescriptions : *mut PerformanceCounterDescriptionKHR) -> Result; pub fn GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR( physicalDevice : PhysicalDevice, pPerformanceQueryCreateInfo : *const QueryPoolPerformanceCreateInfoKHR, pNumPasses : *mut u32) -> void; pub fn AcquireProfilingLockKHR( device : Device, pInfo : *const AcquireProfilingLockInfoKHR) -> Result; pub fn ReleaseProfilingLockKHR( device : Device) -> void; pub fn GetPhysicalDeviceSurfaceCapabilities2KHR( physicalDevice : PhysicalDevice, pSurfaceInfo : *const PhysicalDeviceSurfaceInfo2KHR, pSurfaceCapabilities : *mut SurfaceCapabilities2KHR) -> Result; pub fn GetPhysicalDeviceSurfaceFormats2KHR( physicalDevice : PhysicalDevice, pSurfaceInfo : *const PhysicalDeviceSurfaceInfo2KHR, pSurfaceFormatCount : *mut u32, pSurfaceFormats : *mut SurfaceFormat2KHR) -> Result; pub fn GetPhysicalDeviceDisplayProperties2KHR( physicalDevice : PhysicalDevice, pPropertyCount : *mut u32, pProperties : *mut DisplayProperties2KHR) -> Result; pub fn GetPhysicalDeviceDisplayPlaneProperties2KHR( physicalDevice : PhysicalDevice, pPropertyCount : *mut u32, pProperties : *mut DisplayPlaneProperties2KHR) -> Result; pub fn GetDisplayModeProperties2KHR( physicalDevice : PhysicalDevice, display : DisplayKHR, pPropertyCount : *mut u32, pProperties : *mut DisplayModeProperties2KHR) -> Result; pub fn GetDisplayPlaneCapabilities2KHR( physicalDevice : PhysicalDevice, pDisplayPlaneInfo : *const DisplayPlaneInfo2KHR, pCapabilities : *mut DisplayPlaneCapabilities2KHR) -> Result; pub fn GetImageMemoryRequirements2KHR( device : Device, pInfo : *const ImageMemoryRequirementsInfo2, pMemoryRequirements : *mut MemoryRequirements2) -> void; pub fn GetBufferMemoryRequirements2KHR( device : Device, pInfo : *const BufferMemoryRequirementsInfo2, pMemoryRequirements : *mut MemoryRequirements2) -> void; pub fn GetImageSparseMemoryRequirements2KHR( device : Device, pInfo : *const ImageSparseMemoryRequirementsInfo2, pSparseMemoryRequirementCount : *mut u32, pSparseMemoryRequirements : *mut SparseImageMemoryRequirements2) -> void; pub fn CreateSamplerYcbcrConversionKHR( device : Device, pCreateInfo : *const SamplerYcbcrConversionCreateInfo, pAllocator : *const AllocationCallbacks, pYcbcrConversion : *mut SamplerYcbcrConversion) -> Result; pub fn DestroySamplerYcbcrConversionKHR( device : Device, ycbcrConversion : SamplerYcbcrConversion, pAllocator : *const AllocationCallbacks) -> void; pub fn BindBufferMemory2KHR( device : Device, bindInfoCount : u32, pBindInfos : *const BindBufferMemoryInfo) -> Result; pub fn BindImageMemory2KHR( device : Device, bindInfoCount : u32, pBindInfos : *const BindImageMemoryInfo) -> Result; pub fn GetDescriptorSetLayoutSupportKHR( device : Device, pCreateInfo : *const DescriptorSetLayoutCreateInfo, pSupport : *mut DescriptorSetLayoutSupport) -> void; pub fn CmdDrawIndirectCountKHR( commandBuffer : CommandBuffer, buffer : Buffer, offset : DeviceSize, countBuffer : Buffer, countBufferOffset : DeviceSize, maxDrawCount : u32, stride : u32) -> void; pub fn CmdDrawIndexedIndirectCountKHR( commandBuffer : CommandBuffer, buffer : Buffer, offset : DeviceSize, countBuffer : Buffer, countBufferOffset : DeviceSize, maxDrawCount : u32, stride : u32) -> void; pub fn GetSemaphoreCounterValueKHR( device : Device, semaphore : Semaphore, pValue : *mut u64) -> Result; pub fn WaitSemaphoresKHR( device : Device, pWaitInfo : *const SemaphoreWaitInfo, timeout : u64) -> Result; pub fn SignalSemaphoreKHR( device : Device, pSignalInfo : *const SemaphoreSignalInfo) -> Result; pub fn GetBufferDeviceAddressKHR( device : Device, pInfo : *const BufferDeviceAddressInfo) -> DeviceAddress; pub fn GetBufferOpaqueCaptureAddressKHR( device : Device, pInfo : *const BufferDeviceAddressInfo) -> u64; pub fn GetDeviceMemoryOpaqueCaptureAddressKHR( device : Device, pInfo : *const DeviceMemoryOpaqueCaptureAddressInfo) -> u64; pub fn GetPipelineExecutablePropertiesKHR( device : Device, pPipelineInfo : *const PipelineInfoKHR, pExecutableCount : *mut u32, pProperties : *mut PipelineExecutablePropertiesKHR) -> Result; pub fn GetPipelineExecutableInternalRepresentationsKHR( device : Device, pExecutableInfo : *const PipelineExecutableInfoKHR, pInternalRepresentationCount : *mut u32, pInternalRepresentations : *mut PipelineExecutableInternalRepresentationKHR) -> Result; pub fn CreateDebugReportCallbackEXT( instance : Instance, pCreateInfo : *const DebugReportCallbackCreateInfoEXT, pAllocator : *const AllocationCallbacks, pCallback : *mut DebugReportCallbackEXT) -> Result; pub fn DestroyDebugReportCallbackEXT( instance : Instance, callback : DebugReportCallbackEXT, pAllocator : *const AllocationCallbacks) -> void; pub fn DebugReportMessageEXT( instance : Instance, flags : DebugReportFlagsEXT, objectType : DebugReportObjectTypeEXT, object : u64, location : usize, messageCode : i32, pLayerPrefix : *const i8, pMessage : *const i8) -> void; pub fn DebugMarkerSetObjectTagEXT( device : Device, pTagInfo : *const DebugMarkerObjectTagInfoEXT) -> Result; pub fn DebugMarkerSetObjectNameEXT( device : Device, pNameInfo : *const DebugMarkerObjectNameInfoEXT) -> Result; pub fn CmdDebugMarkerBeginEXT( commandBuffer : CommandBuffer, pMarkerInfo : *const DebugMarkerMarkerInfoEXT) -> void; pub fn CmdDebugMarkerEndEXT( commandBuffer : CommandBuffer) -> void; pub fn CmdDebugMarkerInsertEXT( commandBuffer : CommandBuffer, pMarkerInfo : *const DebugMarkerMarkerInfoEXT) -> void; pub fn CmdBindTransformFeedbackBuffersEXT( commandBuffer : CommandBuffer, firstBinding : u32, bindingCount : u32, pBuffers : *const Buffer, pOffsets : *const DeviceSize, pSizes : *const DeviceSize) -> void; pub fn CmdBeginTransformFeedbackEXT( commandBuffer : CommandBuffer, firstCounterBuffer : u32, counterBufferCount : u32, pCounterBuffers : *const Buffer, pCounterBufferOffsets : *const DeviceSize) -> void; pub fn CmdEndTransformFeedbackEXT( commandBuffer : CommandBuffer, firstCounterBuffer : u32, counterBufferCount : u32, pCounterBuffers : *const Buffer, pCounterBufferOffsets : *const DeviceSize) -> void; pub fn CmdBeginQueryIndexedEXT( commandBuffer : CommandBuffer, queryPool : QueryPool, query : u32, flags : QueryControlFlags, index : u32) -> void; pub fn CmdEndQueryIndexedEXT( commandBuffer : CommandBuffer, queryPool : QueryPool, query : u32, index : u32) -> void; pub fn CmdDrawIndirectByteCountEXT( commandBuffer : CommandBuffer, instanceCount : u32, firstInstance : u32, counterBuffer : Buffer, counterBufferOffset : DeviceSize, counterOffset : u32, vertexStride : u32) -> void; pub fn GetImageViewHandleNVX( device : Device, pInfo : *const ImageViewHandleInfoNVX) -> u32; pub fn GetImageViewAddressNVX( device : Device, imageView : ImageView, pProperties : *mut ImageViewAddressPropertiesNVX) -> Result; pub fn CmdDrawIndirectCountAMD( commandBuffer : CommandBuffer, buffer : Buffer, offset : DeviceSize, countBuffer : Buffer, countBufferOffset : DeviceSize, maxDrawCount : u32, stride : u32) -> void; pub fn CmdDrawIndexedIndirectCountAMD( commandBuffer : CommandBuffer, buffer : Buffer, offset : DeviceSize, countBuffer : Buffer, countBufferOffset : DeviceSize, maxDrawCount : u32, stride : u32) -> void; pub fn GetShaderInfoAMD( device : Device, pipeline : Pipeline, shaderStage : ShaderStageFlagBits, infoType : ShaderInfoTypeAMD, pInfoSize : *mut usize, pInfo : *mut void) -> Result; pub fn GetPhysicalDeviceExternalImageFormatPropertiesNV( physicalDevice : PhysicalDevice, format : Format, r#type : ImageType, tiling : ImageTiling, usage : ImageUsageFlags, flags : ImageCreateFlags, externalHandleType : ExternalMemoryHandleTypeFlagsNV, pExternalImageFormatProperties : *mut ExternalImageFormatPropertiesNV) -> Result; pub fn CmdBeginConditionalRenderingEXT( commandBuffer : CommandBuffer, pConditionalRenderingBegin : *const ConditionalRenderingBeginInfoEXT) -> void; pub fn CmdEndConditionalRenderingEXT( commandBuffer : CommandBuffer) -> void; pub fn CmdSetViewportWScalingNV( commandBuffer : CommandBuffer, firstViewport : u32, viewportCount : u32, pViewportWScalings : *const ViewportWScalingNV) -> void; pub fn ReleaseDisplayEXT( physicalDevice : PhysicalDevice, display : DisplayKHR) -> Result; pub fn GetPhysicalDeviceSurfaceCapabilities2EXT( physicalDevice : PhysicalDevice, surface : SurfaceKHR, pSurfaceCapabilities : *mut SurfaceCapabilities2EXT) -> Result; pub fn DisplayPowerControlEXT( device : Device, display : DisplayKHR, pDisplayPowerInfo : *const DisplayPowerInfoEXT) -> Result; pub fn RegisterDeviceEventEXT( device : Device, pDeviceEventInfo : *const DeviceEventInfoEXT, pAllocator : *const AllocationCallbacks, pFence : *mut Fence) -> Result; pub fn RegisterDisplayEventEXT( device : Device, display : DisplayKHR, pDisplayEventInfo : *const DisplayEventInfoEXT, pAllocator : *const AllocationCallbacks, pFence : *mut Fence) -> Result; pub fn GetSwapchainCounterEXT( device : Device, swapchain : SwapchainKHR, counter : SurfaceCounterFlagBitsEXT, pCounterValue : *mut u64) -> Result; pub fn GetRefreshCycleDurationGOOGLE( device : Device, swapchain : SwapchainKHR, pDisplayTimingProperties : *mut RefreshCycleDurationGOOGLE) -> Result; pub fn GetPastPresentationTimingGOOGLE( device : Device, swapchain : SwapchainKHR, pPresentationTimingCount : *mut u32, pPresentationTimings : *mut PastPresentationTimingGOOGLE) -> Result; pub fn CmdSetDiscardRectangleEXT( commandBuffer : CommandBuffer, firstDiscardRectangle : u32, discardRectangleCount : u32, pDiscardRectangles : *const Rect2D) -> void; pub fn SetHdrMetadataEXT( device : Device, swapchainCount : u32, pSwapchains : *const SwapchainKHR, pMetadata : *const HdrMetadataEXT) -> void; pub fn SetDebugUtilsObjectNameEXT( device : Device, pNameInfo : *const DebugUtilsObjectNameInfoEXT) -> Result; pub fn SetDebugUtilsObjectTagEXT( device : Device, pTagInfo : *const DebugUtilsObjectTagInfoEXT) -> Result; pub fn QueueBeginDebugUtilsLabelEXT( queue : Queue, pLabelInfo : *const DebugUtilsLabelEXT) -> void; pub fn QueueEndDebugUtilsLabelEXT( queue : Queue) -> void; pub fn QueueInsertDebugUtilsLabelEXT( queue : Queue, pLabelInfo : *const DebugUtilsLabelEXT) -> void; pub fn CmdBeginDebugUtilsLabelEXT( commandBuffer : CommandBuffer, pLabelInfo : *const DebugUtilsLabelEXT) -> void; pub fn CmdEndDebugUtilsLabelEXT( commandBuffer : CommandBuffer) -> void; pub fn CmdInsertDebugUtilsLabelEXT( commandBuffer : CommandBuffer, pLabelInfo : *const DebugUtilsLabelEXT) -> void; pub fn CreateDebugUtilsMessengerEXT( instance : Instance, pCreateInfo : *const DebugUtilsMessengerCreateInfoEXT, pAllocator : *const AllocationCallbacks, pMessenger : *mut DebugUtilsMessengerEXT) -> Result; pub fn DestroyDebugUtilsMessengerEXT( instance : Instance, messenger : DebugUtilsMessengerEXT, pAllocator : *const AllocationCallbacks) -> void; pub fn SubmitDebugUtilsMessageEXT( instance : Instance, messageSeverity : DebugUtilsMessageSeverityFlagBitsEXT, messageTypes : DebugUtilsMessageTypeFlagsEXT, pCallbackData : *const DebugUtilsMessengerCallbackDataEXT) -> void; pub fn CmdSetSampleLocationsEXT( commandBuffer : CommandBuffer, pSampleLocationsInfo : *const SampleLocationsInfoEXT) -> void; pub fn GetPhysicalDeviceMultisamplePropertiesEXT( physicalDevice : PhysicalDevice, samples : SampleCountFlagBits, pMultisampleProperties : *mut MultisamplePropertiesEXT) -> void; pub fn GetImageDrmFormatModifierPropertiesEXT( device : Device, image : Image, pProperties : *mut ImageDrmFormatModifierPropertiesEXT) -> Result; pub fn CreateValidationCacheEXT( device : Device, pCreateInfo : *const ValidationCacheCreateInfoEXT, pAllocator : *const AllocationCallbacks, pValidationCache : *mut ValidationCacheEXT) -> Result; pub fn DestroyValidationCacheEXT( device : Device, validationCache : ValidationCacheEXT, pAllocator : *const AllocationCallbacks) -> void; pub fn MergeValidationCachesEXT( device : Device, dstCache : ValidationCacheEXT, srcCacheCount : u32, pSrcCaches : *const ValidationCacheEXT) -> Result; pub fn GetValidationCacheDataEXT( device : Device, validationCache : ValidationCacheEXT, pDataSize : *mut usize, pData : *mut void) -> Result; pub fn CmdBindShadingRateImageNV( commandBuffer : CommandBuffer, imageView : ImageView, imageLayout : ImageLayout) -> void; pub fn CmdSetViewportShadingRatePaletteNV( commandBuffer : CommandBuffer, firstViewport : u32, viewportCount : u32, pShadingRatePalettes : *const ShadingRatePaletteNV) -> void; pub fn CmdSetCoarseSampleOrderNV( commandBuffer : CommandBuffer, sampleOrderType : CoarseSampleOrderTypeNV, customSampleOrderCount : u32, pCustomSampleOrders : *const CoarseSampleOrderCustomNV) -> void; pub fn CreateAccelerationStructureNV( device : Device, pCreateInfo : *const AccelerationStructureCreateInfoNV, pAllocator : *const AllocationCallbacks, pAccelerationStructure : *mut AccelerationStructureNV) -> Result; pub fn DestroyAccelerationStructureKHR( device : Device, accelerationStructure : AccelerationStructureKHR, pAllocator : *const AllocationCallbacks) -> void; pub fn DestroyAccelerationStructureNV( device : Device, accelerationStructure : AccelerationStructureKHR, pAllocator : *const AllocationCallbacks) -> void; pub fn GetAccelerationStructureMemoryRequirementsNV( device : Device, pInfo : *const AccelerationStructureMemoryRequirementsInfoNV, pMemoryRequirements : *mut MemoryRequirements2KHR) -> void; pub fn BindAccelerationStructureMemoryKHR( device : Device, bindInfoCount : u32, pBindInfos : *const BindAccelerationStructureMemoryInfoKHR) -> Result; pub fn BindAccelerationStructureMemoryNV( device : Device, bindInfoCount : u32, pBindInfos : *const BindAccelerationStructureMemoryInfoKHR) -> Result; pub fn CmdBuildAccelerationStructureNV( commandBuffer : CommandBuffer, pInfo : *const AccelerationStructureInfoNV, instanceData : Buffer, instanceOffset : DeviceSize, update : Bool32, dst : AccelerationStructureKHR, src : AccelerationStructureKHR, scratch : Buffer, scratchOffset : DeviceSize) -> void; pub fn CmdCopyAccelerationStructureNV( commandBuffer : CommandBuffer, dst : AccelerationStructureKHR, src : AccelerationStructureKHR, mode : CopyAccelerationStructureModeKHR) -> void; pub fn CmdTraceRaysNV( commandBuffer : CommandBuffer, raygenShaderBindingTableBuffer : Buffer, raygenShaderBindingOffset : DeviceSize, missShaderBindingTableBuffer : Buffer, missShaderBindingOffset : DeviceSize, missShaderBindingStride : DeviceSize, hitShaderBindingTableBuffer : Buffer, hitShaderBindingOffset : DeviceSize, hitShaderBindingStride : DeviceSize, callableShaderBindingTableBuffer : Buffer, callableShaderBindingOffset : DeviceSize, callableShaderBindingStride : DeviceSize, width : u32, height : u32, depth : u32) -> void; pub fn CreateRayTracingPipelinesNV( device : Device, pipelineCache : PipelineCache, createInfoCount : u32, pCreateInfos : *const RayTracingPipelineCreateInfoNV, pAllocator : *const AllocationCallbacks, pPipelines : *mut Pipeline) -> Result; pub fn GetRayTracingShaderGroupHandlesKHR( device : Device, pipeline : Pipeline, firstGroup : u32, groupCount : u32, dataSize : usize, pData : *mut void) -> Result; pub fn GetRayTracingShaderGroupHandlesNV( device : Device, pipeline : Pipeline, firstGroup : u32, groupCount : u32, dataSize : usize, pData : *mut void) -> Result; pub fn GetAccelerationStructureHandleNV( device : Device, accelerationStructure : AccelerationStructureKHR, dataSize : usize, pData : *mut void) -> Result; pub fn CmdWriteAccelerationStructuresPropertiesKHR( commandBuffer : CommandBuffer, accelerationStructureCount : u32, pAccelerationStructures : *const AccelerationStructureKHR, queryType : QueryType, queryPool : QueryPool, firstQuery : u32) -> void; pub fn CmdWriteAccelerationStructuresPropertiesNV( commandBuffer : CommandBuffer, accelerationStructureCount : u32, pAccelerationStructures : *const AccelerationStructureKHR, queryType : QueryType, queryPool : QueryPool, firstQuery : u32) -> void; pub fn CompileDeferredNV( device : Device, pipeline : Pipeline, shader : u32) -> Result; pub fn GetMemoryHostPointerPropertiesEXT( device : Device, handleType : ExternalMemoryHandleTypeFlagBits, pHostPointer : *const void, pMemoryHostPointerProperties : *mut MemoryHostPointerPropertiesEXT) -> Result; pub fn CmdWriteBufferMarkerAMD( commandBuffer : CommandBuffer, pipelineStage : PipelineStageFlagBits, dstBuffer : Buffer, dstOffset : DeviceSize, marker : u32) -> void; pub fn GetPhysicalDeviceCalibrateableTimeDomainsEXT( physicalDevice : PhysicalDevice, pTimeDomainCount : *mut u32, pTimeDomains : *mut TimeDomainEXT) -> Result; pub fn GetCalibratedTimestampsEXT( device : Device, timestampCount : u32, pTimestampInfos : *const CalibratedTimestampInfoEXT, pTimestamps : *mut u64, pMaxDeviation : *mut u64) -> Result; pub fn CmdDrawMeshTasksNV( commandBuffer : CommandBuffer, taskCount : u32, firstTask : u32) -> void; pub fn CmdDrawMeshTasksIndirectNV( commandBuffer : CommandBuffer, buffer : Buffer, offset : DeviceSize, drawCount : u32, stride : u32) -> void; pub fn CmdDrawMeshTasksIndirectCountNV( commandBuffer : CommandBuffer, buffer : Buffer, offset : DeviceSize, countBuffer : Buffer, countBufferOffset : DeviceSize, maxDrawCount : u32, stride : u32) -> void; pub fn CmdSetExclusiveScissorNV( commandBuffer : CommandBuffer, firstExclusiveScissor : u32, exclusiveScissorCount : u32, pExclusiveScissors : *const Rect2D) -> void; pub fn CmdSetCheckpointNV( commandBuffer : CommandBuffer, pCheckpointMarker : *const void) -> void; pub fn GetQueueCheckpointDataNV( queue : Queue, pCheckpointDataCount : *mut u32, pCheckpointData : *mut CheckpointDataNV) -> void; pub fn InitializePerformanceApiINTEL( device : Device, pInitializeInfo : *const InitializePerformanceApiInfoINTEL) -> Result; pub fn UninitializePerformanceApiINTEL( device : Device) -> void; pub fn CmdSetPerformanceMarkerINTEL( commandBuffer : CommandBuffer, pMarkerInfo : *const PerformanceMarkerInfoINTEL) -> Result; pub fn CmdSetPerformanceStreamMarkerINTEL( commandBuffer : CommandBuffer, pMarkerInfo : *const PerformanceStreamMarkerInfoINTEL) -> Result; pub fn CmdSetPerformanceOverrideINTEL( commandBuffer : CommandBuffer, pOverrideInfo : *const PerformanceOverrideInfoINTEL) -> Result; pub fn AcquirePerformanceConfigurationINTEL( device : Device, pAcquireInfo : *const PerformanceConfigurationAcquireInfoINTEL, pConfiguration : *mut PerformanceConfigurationINTEL) -> Result; pub fn ReleasePerformanceConfigurationINTEL( device : Device, configuration : PerformanceConfigurationINTEL) -> Result; pub fn QueueSetPerformanceConfigurationINTEL( queue : Queue, configuration : PerformanceConfigurationINTEL) -> Result; pub fn SetLocalDimmingAMD( device : Device, swapChain : SwapchainKHR, localDimmingEnable : Bool32) -> void; pub fn GetBufferDeviceAddressEXT( device : Device, pInfo : *const BufferDeviceAddressInfo) -> DeviceAddress; pub fn GetPhysicalDeviceToolPropertiesEXT( physicalDevice : PhysicalDevice, pToolCount : *mut u32, pToolProperties : *mut PhysicalDeviceToolPropertiesEXT) -> Result; pub fn GetPhysicalDeviceCooperativeMatrixPropertiesNV( physicalDevice : PhysicalDevice, pPropertyCount : *mut u32, pProperties : *mut CooperativeMatrixPropertiesNV) -> Result; pub fn GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( physicalDevice : PhysicalDevice, pCombinationCount : *mut u32, pCombinations : *mut FramebufferMixedSamplesCombinationNV) -> Result; pub fn CreateHeadlessSurfaceEXT( instance : Instance, pCreateInfo : *const HeadlessSurfaceCreateInfoEXT, pAllocator : *const AllocationCallbacks, pSurface : *mut SurfaceKHR) -> Result; pub fn CmdSetLineStippleEXT( commandBuffer : CommandBuffer, lineStippleFactor : u32, lineStipplePattern : u16) -> void; pub fn ResetQueryPoolEXT( device : Device, queryPool : QueryPool, firstQuery : u32, queryCount : u32) -> void; pub fn GetGeneratedCommandsMemoryRequirementsNV( device : Device, pInfo : *const GeneratedCommandsMemoryRequirementsInfoNV, pMemoryRequirements : *mut MemoryRequirements2) -> void; pub fn CmdPreprocessGeneratedCommandsNV( commandBuffer : CommandBuffer, pGeneratedCommandsInfo : *const GeneratedCommandsInfoNV) -> void; pub fn CmdExecuteGeneratedCommandsNV( commandBuffer : CommandBuffer, isPreprocessed : Bool32, pGeneratedCommandsInfo : *const GeneratedCommandsInfoNV) -> void; pub fn CmdBindPipelineShaderGroupNV( commandBuffer : CommandBuffer, pipelineBindPoint : PipelineBindPoint, pipeline : Pipeline, groupIndex : u32) -> void; pub fn CreateIndirectCommandsLayoutNV( device : Device, pCreateInfo : *const IndirectCommandsLayoutCreateInfoNV, pAllocator : *const AllocationCallbacks, pIndirectCommandsLayout : *mut IndirectCommandsLayoutNV) -> Result; pub fn DestroyIndirectCommandsLayoutNV( device : Device, indirectCommandsLayout : IndirectCommandsLayoutNV, pAllocator : *const AllocationCallbacks) -> void; pub fn CreatePrivateDataSlotEXT( device : Device, pCreateInfo : *const PrivateDataSlotCreateInfoEXT, pAllocator : *const AllocationCallbacks, pPrivateDataSlot : *mut PrivateDataSlotEXT) -> Result; pub fn DestroyPrivateDataSlotEXT( device : Device, privateDataSlot : PrivateDataSlotEXT, pAllocator : *const AllocationCallbacks) -> void; pub fn SetPrivateDataEXT( device : Device, objectType : ObjectType, objectHandle : u64, privateDataSlot : PrivateDataSlotEXT, data : u64) -> Result; pub fn GetPrivateDataEXT( device : Device, objectType : ObjectType, objectHandle : u64, privateDataSlot : PrivateDataSlotEXT, pData : *mut u64) -> void; } //WIN32 //windows types pub type HINSTANCE = u64; pub type HWND = u64; pub type HANDLE = u64; pub type DWORD = u32; pub type LPCWSTR = *const i16; pub type HMONITOR = u64; pub type LPSECURITY_ATTRIBUTES = u64; pub type Win32SurfaceCreateFlagsKHR = u32; #[repr(C)] pub struct Win32SurfaceCreateInfoKHR { pub sType : StructureType, pub pNext : *const void, pub flags : Win32SurfaceCreateFlagsKHR, pub hinstance : HINSTANCE, pub hwnd : HWND, } #[repr(C)] pub struct ImportMemoryWin32HandleInfoKHR { pub sType : StructureType, pub pNext : *const void, pub handleType : ExternalMemoryHandleTypeFlagBits, pub handle : HANDLE, pub name : LPCWSTR, } #[repr(C)] pub struct ExportMemoryWin32HandleInfoKHR { pub sType : StructureType, pub pNext : *const void, pub pAttributes : LPSECURITY_ATTRIBUTES, pub dwAccess : DWORD, pub name : LPCWSTR, } #[repr(C)] pub struct MemoryWin32HandlePropertiesKHR { pub sType : StructureType, pub pNext : *mut void, pub memoryTypeBits : u32, } #[repr(C)] pub struct MemoryGetWin32HandleInfoKHR { pub sType : StructureType, pub pNext : *const void, pub memory : DeviceMemory, pub handleType : ExternalMemoryHandleTypeFlagBits, } #[repr(C)] pub struct Win32KeyedMutexAcquireReleaseInfoKHR { pub sType : StructureType, pub pNext : *const void, pub acquireCount : u32, pub pAcquireSyncs : *const DeviceMemory, pub pAcquireKeys : *const u64, pub pAcquireTimeouts : *const u32, pub releaseCount : u32, pub pReleaseSyncs : *const DeviceMemory, pub pReleaseKeys : *const u64, } #[repr(C)] pub struct ImportSemaphoreWin32HandleInfoKHR { pub sType : StructureType, pub pNext : *const void, pub semaphore : Semaphore, pub flags : SemaphoreImportFlags, pub handleType : ExternalSemaphoreHandleTypeFlagBits, pub handle : HANDLE, pub name : LPCWSTR, } #[repr(C)] pub struct ExportSemaphoreWin32HandleInfoKHR { pub sType : StructureType, pub pNext : *const void, pub pAttributes : LPSECURITY_ATTRIBUTES, pub dwAccess : DWORD, pub name : LPCWSTR, } #[repr(C)] pub struct D3D12FenceSubmitInfoKHR { pub sType : StructureType, pub pNext : *const void, pub waitSemaphoreValuesCount : u32, pub pWaitSemaphoreValues : *const u64, pub signalSemaphoreValuesCount : u32, pub pSignalSemaphoreValues : *const u64, } #[repr(C)] pub struct SemaphoreGetWin32HandleInfoKHR { pub sType : StructureType, pub pNext : *const void, pub semaphore : Semaphore, pub handleType : ExternalSemaphoreHandleTypeFlagBits, } #[repr(C)] pub struct ImportFenceWin32HandleInfoKHR { pub sType : StructureType, pub pNext : *const void, pub fence : Fence, pub flags : FenceImportFlags, pub handleType : ExternalFenceHandleTypeFlagBits, pub handle : HANDLE, pub name : LPCWSTR, } #[repr(C)] pub struct ExportFenceWin32HandleInfoKHR { pub sType : StructureType, pub pNext : *const void, pub pAttributes : LPSECURITY_ATTRIBUTES, pub dwAccess : DWORD, pub name : LPCWSTR, } #[repr(C)] pub struct FenceGetWin32HandleInfoKHR { pub sType : StructureType, pub pNext : *const void, pub fence : Fence, pub handleType : ExternalFenceHandleTypeFlagBits, } #[repr(C)] pub struct ImportMemoryWin32HandleInfoNV { pub sType : StructureType, pub pNext : *const void, pub handleType : ExternalMemoryHandleTypeFlagsNV, pub handle : HANDLE, } #[repr(C)] pub struct ExportMemoryWin32HandleInfoNV { pub sType : StructureType, pub pNext : *const void, pub pAttributes : LPSECURITY_ATTRIBUTES, pub dwAccess : DWORD, } #[repr(C)] pub struct Win32KeyedMutexAcquireReleaseInfoNV { pub sType : StructureType, pub pNext : *const void, pub acquireCount : u32, pub pAcquireSyncs : *const DeviceMemory, pub pAcquireKeys : *const u64, pub pAcquireTimeoutMilliseconds : *const u32, pub releaseCount : u32, pub pReleaseSyncs : *const DeviceMemory, pub pReleaseKeys : *const u64, } pub type FullScreenExclusiveEXT = i32; pub const FULL_SCREEN_EXCLUSIVE_DEFAULT_EXT : i32 = 0; pub const FULL_SCREEN_EXCLUSIVE_ALLOWED_EXT : i32 = 1; pub const FULL_SCREEN_EXCLUSIVE_DISALLOWED_EXT : i32 = 2; pub const FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT : i32 = 3; pub const FULL_SCREEN_EXCLUSIVE_MAX_ENUM_EXT : i32 = 0x7FFFFFF; #[repr(C)] pub struct SurfaceFullScreenExclusiveInfoEXT { pub sType : StructureType, pub pNext : *mut void, pub fullScreenExclusive : FullScreenExclusiveEXT, } #[repr(C)] pub struct SurfaceCapabilitiesFullScreenExclusiveEXT { pub sType : StructureType, pub pNext : *mut void, pub fullScreenExclusiveSupported : Bool32, } #[repr(C)] pub struct SurfaceFullScreenExclusiveWin32InfoEXT { pub sType : StructureType, pub pNext : *const void, pub hmonitor : HMONITOR, } extern { pub fn CreateWin32SurfaceKHR( instance : Instance, pCreateInfo : *const Win32SurfaceCreateInfoKHR, pAllocator : *const AllocationCallbacks, pSurface : *mut SurfaceKHR) -> Result; pub fn GetPhysicalDeviceWin32PresentationSupportKHR( physicalDevice : PhysicalDevice, queueFamilyIndex : u32) -> Bool32; pub fn GetMemoryWin32HandleKHR( device : Device, pGetWin32HandleInfo : *const MemoryGetWin32HandleInfoKHR, pHandle : *mut HANDLE) -> Result; pub fn GetMemoryWin32HandlePropertiesKHR( device : Device, handleType : ExternalMemoryHandleTypeFlagBits, handle : HANDLE, pMemoryWin32HandleProperties : *mut MemoryWin32HandlePropertiesKHR) -> Result; pub fn ImportSemaphoreWin32HandleKHR( device : Device, pImportSemaphoreWin32HandleInfo : *const ImportSemaphoreWin32HandleInfoKHR) -> Result; pub fn GetSemaphoreWin32HandleKHR( device : Device, pGetWin32HandleInfo : *const SemaphoreGetWin32HandleInfoKHR, pHandle : *mut HANDLE) -> Result; pub fn ImportFenceWin32HandleKHR( device : Device, pImportFenceWin32HandleInfo : *const ImportFenceWin32HandleInfoKHR) -> Result; pub fn GetFenceWin32HandleKHR( device : Device, pGetWin32HandleInfo : *const FenceGetWin32HandleInfoKHR, pHandle : *mut HANDLE) -> Result; pub fn GetMemoryWin32HandleNV( device : Device, memory : DeviceMemory, handleType : ExternalMemoryHandleTypeFlagsNV, pHandle : *mut HANDLE) -> Result; pub fn GetPhysicalDeviceSurfacePresentModes2EXT( physicalDevice : PhysicalDevice, pSurfaceInfo : *const PhysicalDeviceSurfaceInfo2KHR, pPresentModeCount : *mut u32, pPresentModes : *mut PresentModeKHR) -> Result; pub fn AcquireFullScreenExclusiveModeEXT( device : Device, swapchain : SwapchainKHR) -> Result; pub fn ReleaseFullScreenExclusiveModeEXT( device : Device, swapchain : SwapchainKHR) -> Result; pub fn GetDeviceGroupSurfacePresentModes2EXT( device : Device, pSurfaceInfo : *const PhysicalDeviceSurfaceInfo2KHR, pModes : *mut DeviceGroupPresentModeFlagsKHR) -> Result; }