pub const VK_VERSION_1_0: u32 = 1;
pub const fn VK_MAKE_VERSION(major: u32, minor: u32, patch: u32) -> u32 {
(major << 22) | (minor << 12) | patch
}
pub const VK_API_VERSION_1_0: u32 = VK_MAKE_VERSION(1, 0, 0);
pub const fn VK_VERSION_MAJOR(version: u32) -> u32 {
version >> 22
}
pub const fn VK_VERSION_MINOR(version: u32) -> u32 {
(version >> 12) & 0x3ff
}
pub const fn VK_VERSION_PATCH(version: u32) -> u32 {
version & 0xfff
}
pub const VK_HEADER_VERSION: u32 = 106;
pub type VkFlags = u32;
pub type VkBool32 = u32;
pub type VkDeviceSize = u64;
pub type VkSampleMask = u32;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkInstance_T {
_unused: [u8; 0],
}
pub type VkInstance = *mut VkInstance_T;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDevice_T {
_unused: [u8; 0],
}
pub type VkPhysicalDevice = *mut VkPhysicalDevice_T;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDevice_T {
_unused: [u8; 0],
}
pub type VkDevice = *mut VkDevice_T;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkQueue_T {
_unused: [u8; 0],
}
pub type VkQueue = *mut VkQueue_T;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkSemaphore_T {
_unused: [u8; 0],
}
pub type VkSemaphore = *mut VkSemaphore_T;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkCommandBuffer_T {
_unused: [u8; 0],
}
pub type VkCommandBuffer = *mut VkCommandBuffer_T;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkFence_T {
_unused: [u8; 0],
}
pub type VkFence = *mut VkFence_T;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDeviceMemory_T {
_unused: [u8; 0],
}
pub type VkDeviceMemory = *mut VkDeviceMemory_T;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkBuffer_T {
_unused: [u8; 0],
}
pub type VkBuffer = *mut VkBuffer_T;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkImage_T {
_unused: [u8; 0],
}
pub type VkImage = *mut VkImage_T;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkEvent_T {
_unused: [u8; 0],
}
pub type VkEvent = *mut VkEvent_T;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkQueryPool_T {
_unused: [u8; 0],
}
pub type VkQueryPool = *mut VkQueryPool_T;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkBufferView_T {
_unused: [u8; 0],
}
pub type VkBufferView = *mut VkBufferView_T;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkImageView_T {
_unused: [u8; 0],
}
pub type VkImageView = *mut VkImageView_T;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkShaderModule_T {
_unused: [u8; 0],
}
pub type VkShaderModule = *mut VkShaderModule_T;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPipelineCache_T {
_unused: [u8; 0],
}
pub type VkPipelineCache = *mut VkPipelineCache_T;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPipelineLayout_T {
_unused: [u8; 0],
}
pub type VkPipelineLayout = *mut VkPipelineLayout_T;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkRenderPass_T {
_unused: [u8; 0],
}
pub type VkRenderPass = *mut VkRenderPass_T;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPipeline_T {
_unused: [u8; 0],
}
pub type VkPipeline = *mut VkPipeline_T;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDescriptorSetLayout_T {
_unused: [u8; 0],
}
pub type VkDescriptorSetLayout = *mut VkDescriptorSetLayout_T;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkSampler_T {
_unused: [u8; 0],
}
pub type VkSampler = *mut VkSampler_T;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDescriptorPool_T {
_unused: [u8; 0],
}
pub type VkDescriptorPool = *mut VkDescriptorPool_T;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDescriptorSet_T {
_unused: [u8; 0],
}
pub type VkDescriptorSet = *mut VkDescriptorSet_T;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkFramebuffer_T {
_unused: [u8; 0],
}
pub type VkFramebuffer = *mut VkFramebuffer_T;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkCommandPool_T {
_unused: [u8; 0],
}
pub type VkCommandPool = *mut VkCommandPool_T;
pub const VK_LOD_CLAMP_NONE: f32 = 1_000.0;
pub const VK_REMAINING_MIP_LEVELS: u32 = !0;
pub const VK_REMAINING_ARRAY_LAYERS: u32 = !0;
pub const VK_WHOLE_SIZE: u64 = !0;
pub const VK_ATTACHMENT_UNUSED: u32 = !0;
pub const VK_TRUE: u32 = 1;
pub const VK_FALSE: u32 = 0;
pub const VK_QUEUE_FAMILY_IGNORED: u32 = !0;
pub const VK_SUBPASS_EXTERNAL: u32 = !0;
pub const VK_MAX_PHYSICAL_DEVICE_NAME_SIZE: usize = 256;
pub const VK_UUID_SIZE: usize = 16;
pub const VK_MAX_MEMORY_TYPES: usize = 32;
pub const VK_MAX_MEMORY_HEAPS: usize = 16;
pub const VK_MAX_EXTENSION_NAME_SIZE: usize = 256;
pub const VK_MAX_DESCRIPTION_SIZE: usize = 256;
pub type VkPipelineCacheHeaderVersion = u32;
pub const VK_PIPELINE_CACHE_HEADER_VERSION_ONE: VkPipelineCacheHeaderVersion = 1;
pub const VK_PIPELINE_CACHE_HEADER_VERSION_BEGIN_RANGE: VkPipelineCacheHeaderVersion =
VK_PIPELINE_CACHE_HEADER_VERSION_ONE;
pub const VK_PIPELINE_CACHE_HEADER_VERSION_END_RANGE: VkPipelineCacheHeaderVersion =
VK_PIPELINE_CACHE_HEADER_VERSION_ONE;
pub const VK_PIPELINE_CACHE_HEADER_VERSION_RANGE_SIZE: VkPipelineCacheHeaderVersion =
VK_PIPELINE_CACHE_HEADER_VERSION_END_RANGE - VK_PIPELINE_CACHE_HEADER_VERSION_BEGIN_RANGE + 1;
pub const VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM: VkPipelineCacheHeaderVersion = 0x7FFF_FFFF;
pub type VkResult = i32;
pub const VK_SUCCESS: VkResult = 0;
pub const VK_NOT_READY: VkResult = 1;
pub const VK_TIMEOUT: VkResult = 2;
pub const VK_EVENT_SET: VkResult = 3;
pub const VK_EVENT_RESET: VkResult = 4;
pub const VK_INCOMPLETE: VkResult = 5;
pub const VK_ERROR_OUT_OF_HOST_MEMORY: VkResult = -1;
pub const VK_ERROR_OUT_OF_DEVICE_MEMORY: VkResult = -2;
pub const VK_ERROR_INITIALIZATION_FAILED: VkResult = -3;
pub const VK_ERROR_DEVICE_LOST: VkResult = -4;
pub const VK_ERROR_MEMORY_MAP_FAILED: VkResult = -5;
pub const VK_ERROR_LAYER_NOT_PRESENT: VkResult = -6;
pub const VK_ERROR_EXTENSION_NOT_PRESENT: VkResult = -7;
pub const VK_ERROR_FEATURE_NOT_PRESENT: VkResult = -8;
pub const VK_ERROR_INCOMPATIBLE_DRIVER: VkResult = -9;
pub const VK_ERROR_TOO_MANY_OBJECTS: VkResult = -10;
pub const VK_ERROR_FORMAT_NOT_SUPPORTED: VkResult = -11;
pub const VK_ERROR_FRAGMENTED_POOL: VkResult = -12;
pub const VK_ERROR_OUT_OF_POOL_MEMORY: VkResult = -1_000_069_000;
pub const VK_ERROR_INVALID_EXTERNAL_HANDLE: VkResult = -1_000_072_003;
pub const VK_ERROR_SURFACE_LOST_KHR: VkResult = -1_000_000_000;
pub const VK_ERROR_NATIVE_WINDOW_IN_USE_KHR: VkResult = -1_000_000_001;
pub const VK_SUBOPTIMAL_KHR: VkResult = 1_000_001_003;
pub const VK_ERROR_OUT_OF_DATE_KHR: VkResult = -1_000_001_004;
pub const VK_ERROR_INCOMPATIBLE_DISPLAY_KHR: VkResult = -1_000_003_001;
pub const VK_ERROR_VALIDATION_FAILED_EXT: VkResult = -1_000_011_001;
pub const VK_ERROR_INVALID_SHADER_NV: VkResult = -1_000_012_000;
pub const VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT: VkResult = -1_000_158_000;
pub const VK_ERROR_FRAGMENTATION_EXT: VkResult = -1_000_161_000;
pub const VK_ERROR_NOT_PERMITTED_EXT: VkResult = -1_000_174_001;
pub const VK_ERROR_INVALID_DEVICE_ADDRESS_EXT: VkResult = -1_000_244_000;
pub const VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT: VkResult = -1_000_255_000;
pub const VK_ERROR_OUT_OF_POOL_MEMORY_KHR: VkResult = VK_ERROR_OUT_OF_POOL_MEMORY;
pub const VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR: VkResult = VK_ERROR_INVALID_EXTERNAL_HANDLE;
pub const VK_RESULT_BEGIN_RANGE: VkResult = VK_ERROR_FRAGMENTED_POOL;
pub const VK_RESULT_END_RANGE: VkResult = VK_INCOMPLETE;
pub const VK_RESULT_RANGE_SIZE: VkResult = VK_RESULT_END_RANGE - VK_RESULT_BEGIN_RANGE + 1;
pub const VK_RESULT_MAX_ENUM: VkResult = 0x7FFF_FFFF;
pub type VkStructureType = u32;
pub const VK_STRUCTURE_TYPE_APPLICATION_INFO: VkStructureType = 0;
pub const VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO: VkStructureType = 1;
pub const VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO: VkStructureType = 2;
pub const VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO: VkStructureType = 3;
pub const VK_STRUCTURE_TYPE_SUBMIT_INFO: VkStructureType = 4;
pub const VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: VkStructureType = 5;
pub const VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE: VkStructureType = 6;
pub const VK_STRUCTURE_TYPE_BIND_SPARSE_INFO: VkStructureType = 7;
pub const VK_STRUCTURE_TYPE_FENCE_CREATE_INFO: VkStructureType = 8;
pub const VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO: VkStructureType = 9;
pub const VK_STRUCTURE_TYPE_EVENT_CREATE_INFO: VkStructureType = 10;
pub const VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO: VkStructureType = 11;
pub const VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO: VkStructureType = 12;
pub const VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO: VkStructureType = 13;
pub const VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO: VkStructureType = 14;
pub const VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO: VkStructureType = 15;
pub const VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO: VkStructureType = 16;
pub const VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO: VkStructureType = 17;
pub const VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO: VkStructureType = 18;
pub const VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO: VkStructureType = 19;
pub const VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO: VkStructureType = 20;
pub const VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO: VkStructureType = 21;
pub const VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO: VkStructureType = 22;
pub const VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO: VkStructureType = 23;
pub const VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO: VkStructureType = 24;
pub const VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO: VkStructureType = 25;
pub const VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO: VkStructureType = 26;
pub const VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO: VkStructureType = 27;
pub const VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO: VkStructureType = 28;
pub const VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO: VkStructureType = 29;
pub const VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO: VkStructureType = 30;
pub const VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO: VkStructureType = 31;
pub const VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO: VkStructureType = 32;
pub const VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO: VkStructureType = 33;
pub const VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO: VkStructureType = 34;
pub const VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET: VkStructureType = 35;
pub const VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET: VkStructureType = 36;
pub const VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO: VkStructureType = 37;
pub const VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO: VkStructureType = 38;
pub const VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO: VkStructureType = 39;
pub const VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO: VkStructureType = 40;
pub const VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO: VkStructureType = 41;
pub const VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO: VkStructureType = 42;
pub const VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO: VkStructureType = 43;
pub const VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER: VkStructureType = 44;
pub const VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER: VkStructureType = 45;
pub const VK_STRUCTURE_TYPE_MEMORY_BARRIER: VkStructureType = 46;
pub const VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO: VkStructureType = 47;
pub const VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO: VkStructureType = 48;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES: VkStructureType = 1000094000;
pub const VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO: VkStructureType = 1000157000;
pub const VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO: VkStructureType = 1000157001;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES: VkStructureType = 1000083000;
pub const VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS: VkStructureType = 1000127000;
pub const VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO: VkStructureType = 1000127001;
pub const VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO: VkStructureType = 1000060000;
pub const VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO: VkStructureType = 1000060003;
pub const VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO: VkStructureType = 1000060004;
pub const VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO: VkStructureType = 1000060005;
pub const VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO: VkStructureType = 1000060006;
pub const VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO: VkStructureType = 1000060013;
pub const VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO: VkStructureType = 1000060014;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES: VkStructureType = 1000070000;
pub const VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO: VkStructureType = 1000070001;
pub const VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2: VkStructureType = 1000146000;
pub const VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2: VkStructureType = 1000146001;
pub const VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2: VkStructureType = 1000146002;
pub const VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2: VkStructureType = 1000146003;
pub const VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2: VkStructureType = 1000146004;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: VkStructureType = 1000059000;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2: VkStructureType = 1000059001;
pub const VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2: VkStructureType = 1000059002;
pub const VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2: VkStructureType = 1000059003;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2: VkStructureType = 1000059004;
pub const VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2: VkStructureType = 1000059005;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2: VkStructureType = 1000059006;
pub const VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2: VkStructureType = 1000059007;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2: VkStructureType =
1000059008;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES: VkStructureType = 1000117000;
pub const VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO: VkStructureType =
1000117001;
pub const VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO: VkStructureType = 1000117002;
pub const VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO: VkStructureType =
1000117003;
pub const VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO: VkStructureType = 1000053000;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES: VkStructureType = 1000053001;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES: VkStructureType = 1000053002;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES: VkStructureType =
1000120000;
pub const VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO: VkStructureType = 1000145000;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES: VkStructureType = 1000145001;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES: VkStructureType =
1000145002;
pub const VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2: VkStructureType = 1000145003;
pub const VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO: VkStructureType = 1000156000;
pub const VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO: VkStructureType = 1000156001;
pub const VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO: VkStructureType = 1000156002;
pub const VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO: VkStructureType = 1000156003;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES: VkStructureType =
1000156004;
pub const VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES: VkStructureType =
1000156005;
pub const VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO: VkStructureType = 1000085000;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO: VkStructureType =
1000071000;
pub const VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES: VkStructureType = 1000071001;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO: VkStructureType = 1000071002;
pub const VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES: VkStructureType = 1000071003;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES: VkStructureType = 1000071004;
pub const VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO: VkStructureType = 1000072000;
pub const VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO: VkStructureType = 1000072001;
pub const VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO: VkStructureType = 1000072002;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO: VkStructureType = 1000112000;
pub const VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES: VkStructureType = 1000112001;
pub const VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO: VkStructureType = 1000113000;
pub const VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO: VkStructureType = 1000077000;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO: VkStructureType = 1000076000;
pub const VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES: VkStructureType = 1000076001;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES: VkStructureType = 1000168000;
pub const VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT: VkStructureType = 1000168001;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES: VkStructureType =
1000063000;
pub const VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR: VkStructureType = 1000001000;
pub const VK_STRUCTURE_TYPE_PRESENT_INFO_KHR: VkStructureType = 1000001001;
pub const VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR: VkStructureType = 1000060007;
pub const VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR: VkStructureType = 1000060008;
pub const VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR: VkStructureType = 1000060009;
pub const VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR: VkStructureType = 1000060010;
pub const VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR: VkStructureType = 1000060011;
pub const VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR: VkStructureType = 1000060012;
pub const VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR: VkStructureType = 1000002000;
pub const VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR: VkStructureType = 1000002001;
pub const VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR: VkStructureType = 1000003000;
pub const VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR: VkStructureType = 1000004000;
pub const VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR: VkStructureType = 1000005000;
pub const VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR: VkStructureType = 1000006000;
pub const VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR: VkStructureType = 1000008000;
pub const VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR: VkStructureType = 1000009000;
pub const VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT: VkStructureType = 1000011000;
pub const VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD: VkStructureType =
1000018000;
pub const VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT: VkStructureType = 1000022000;
pub const VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT: VkStructureType = 1000022001;
pub const VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT: VkStructureType = 1000022002;
pub const VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV: VkStructureType = 1000026000;
pub const VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV: VkStructureType =
1000026001;
pub const VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV: VkStructureType =
1000026002;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT: VkStructureType =
1000028000;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT: VkStructureType =
1000028001;
pub const VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT: VkStructureType =
1000028002;
pub const VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX: VkStructureType = 1000030000;
pub const VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD: VkStructureType = 1000041000;
pub const VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP: VkStructureType = 1000049000;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV: VkStructureType =
1000050000;
pub const VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV: VkStructureType = 1000056000;
pub const VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV: VkStructureType = 1000056001;
pub const VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV: VkStructureType = 1000057000;
pub const VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV: VkStructureType = 1000057001;
pub const VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV: VkStructureType = 1000058000;
pub const VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT: VkStructureType = 1000061000;
pub const VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN: VkStructureType = 1000062000;
pub const VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT: VkStructureType = 1000067000;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT: VkStructureType = 1000067001;
pub const VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR: VkStructureType = 1000073000;
pub const VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR: VkStructureType = 1000073001;
pub const VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR: VkStructureType = 1000073002;
pub const VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR: VkStructureType = 1000073003;
pub const VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR: VkStructureType = 1000074000;
pub const VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR: VkStructureType = 1000074001;
pub const VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR: VkStructureType = 1000074002;
pub const VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR: VkStructureType =
1000075000;
pub const VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR: VkStructureType = 1000078000;
pub const VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR: VkStructureType = 1000078001;
pub const VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR: VkStructureType = 1000078002;
pub const VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR: VkStructureType = 1000078003;
pub const VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR: VkStructureType = 1000079000;
pub const VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR: VkStructureType = 1000079001;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR: VkStructureType =
1000080000;
pub const VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT:
VkStructureType = 1000081000;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT: VkStructureType =
1000081001;
pub const VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT: VkStructureType = 1000081002;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR: VkStructureType = 1000082000;
pub const VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR: VkStructureType = 1000084000;
pub const VK_STRUCTURE_TYPE_OBJECT_TABLE_CREATE_INFO_NVX: VkStructureType = 1000086000;
pub const VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX: VkStructureType = 1000086001;
pub const VK_STRUCTURE_TYPE_CMD_PROCESS_COMMANDS_INFO_NVX: VkStructureType = 1000086002;
pub const VK_STRUCTURE_TYPE_CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX: VkStructureType = 1000086003;
pub const VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_LIMITS_NVX: VkStructureType = 1000086004;
pub const VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_FEATURES_NVX: VkStructureType = 1000086005;
pub const VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV: VkStructureType =
1000087000;
pub const VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT: VkStructureType = 1000090000;
pub const VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT: VkStructureType = 1000091000;
pub const VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT: VkStructureType = 1000091001;
pub const VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT: VkStructureType = 1000091002;
pub const VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT: VkStructureType = 1000091003;
pub const VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE: VkStructureType = 1000092000;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX:
VkStructureType = 1000097000;
pub const VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV: VkStructureType =
1000098000;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT: VkStructureType =
1000099000;
pub const VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT: VkStructureType =
1000099001;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT:
VkStructureType = 1000101000;
pub const VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT:
VkStructureType = 1000101001;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT: VkStructureType =
1000102000;
pub const VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT:
VkStructureType = 1000102001;
pub const VK_STRUCTURE_TYPE_HDR_METADATA_EXT: VkStructureType = 1000105000;
pub const VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR: VkStructureType = 1000109000;
pub const VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR: VkStructureType = 1000109001;
pub const VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR: VkStructureType = 1000109002;
pub const VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR: VkStructureType = 1000109003;
pub const VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR: VkStructureType = 1000109004;
pub const VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR: VkStructureType = 1000109005;
pub const VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR: VkStructureType = 1000109006;
pub const VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR: VkStructureType = 1000111000;
pub const VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR: VkStructureType = 1000114000;
pub const VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR: VkStructureType = 1000114001;
pub const VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR: VkStructureType = 1000114002;
pub const VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR: VkStructureType = 1000115000;
pub const VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR: VkStructureType = 1000115001;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR: VkStructureType = 1000119000;
pub const VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR: VkStructureType = 1000119001;
pub const VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR: VkStructureType = 1000119002;
pub const VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR: VkStructureType = 1000121000;
pub const VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR: VkStructureType = 1000121001;
pub const VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR: VkStructureType = 1000121002;
pub const VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR: VkStructureType = 1000121003;
pub const VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR: VkStructureType = 1000121004;
pub const VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK: VkStructureType = 1000122000;
pub const VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK: VkStructureType = 1000123000;
pub const VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT: VkStructureType = 1000128000;
pub const VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT: VkStructureType = 1000128001;
pub const VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT: VkStructureType = 1000128002;
pub const VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT: VkStructureType = 1000128003;
pub const VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT: VkStructureType = 1000128004;
pub const VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID: VkStructureType = 1000129000;
pub const VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID: VkStructureType =
1000129001;
pub const VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID: VkStructureType =
1000129002;
pub const VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID: VkStructureType =
1000129003;
pub const VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID: VkStructureType =
1000129004;
pub const VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID: VkStructureType = 1000129005;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT: VkStructureType =
1000130000;
pub const VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT: VkStructureType = 1000130001;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT: VkStructureType =
1000138000;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT: VkStructureType =
1000138001;
pub const VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT: VkStructureType =
1000138002;
pub const VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT: VkStructureType =
1000138003;
pub const VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT: VkStructureType = 1000143000;
pub const VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT: VkStructureType =
1000143001;
pub const VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT: VkStructureType =
1000143002;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT: VkStructureType =
1000143003;
pub const VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT: VkStructureType = 1000143004;
pub const VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR: VkStructureType = 1000147000;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT: VkStructureType =
1000148000;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT:
VkStructureType = 1000148001;
pub const VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT: VkStructureType =
1000148002;
pub const VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV: VkStructureType =
1000149000;
pub const VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV: VkStructureType =
1000152000;
pub const VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT: VkStructureType = 1000158000;
pub const VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT: VkStructureType = 1000158001;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT: VkStructureType =
1000158002;
pub const VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT: VkStructureType =
1000158003;
pub const VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT: VkStructureType =
1000158004;
pub const VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT: VkStructureType = 1000158005;
pub const VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT: VkStructureType = 1000160000;
pub const VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT: VkStructureType =
1000160001;
pub const VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT: VkStructureType =
1000161000;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT: VkStructureType =
1000161001;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT: VkStructureType =
1000161002;
pub const VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT:
VkStructureType = 1000161003;
pub const VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT:
VkStructureType = 1000161004;
pub const VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV:
VkStructureType = 1000164000;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV: VkStructureType =
1000164001;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV: VkStructureType =
1000164002;
pub const VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV:
VkStructureType = 1000164005;
pub const VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV: VkStructureType = 1000165000;
pub const VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV: VkStructureType = 1000165001;
pub const VK_STRUCTURE_TYPE_GEOMETRY_NV: VkStructureType = 1000165003;
pub const VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV: VkStructureType = 1000165004;
pub const VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV: VkStructureType = 1000165005;
pub const VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV: VkStructureType =
1000165006;
pub const VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV: VkStructureType =
1000165007;
pub const VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV: VkStructureType =
1000165008;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV: VkStructureType = 1000165009;
pub const VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV: VkStructureType = 1000165011;
pub const VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV: VkStructureType = 1000165012;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV:
VkStructureType = 1000166000;
pub const VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV:
VkStructureType = 1000166001;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT: VkStructureType =
1000170000;
pub const VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT: VkStructureType =
1000170001;
pub const VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT: VkStructureType =
1000174000;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR: VkStructureType = 1000177000;
pub const VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT: VkStructureType = 1000178000;
pub const VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT: VkStructureType = 1000178001;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT: VkStructureType =
1000178002;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR: VkStructureType =
1000180000;
pub const VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT: VkStructureType = 1000184000;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD: VkStructureType =
1000185000;
pub const VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD: VkStructureType =
1000189000;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT:
VkStructureType = 1000190000;
pub const VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT: VkStructureType =
1000190001;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT: VkStructureType =
1000190002;
pub const VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP: VkStructureType = 1000191000;
pub const VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT: VkStructureType =
1000192000;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR: VkStructureType = 1000196000;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR: VkStructureType =
1000197000;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR: VkStructureType =
1000199000;
pub const VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR: VkStructureType =
1000199001;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV:
VkStructureType = 1000201000;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV: VkStructureType = 1000202000;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV: VkStructureType = 1000202001;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV:
VkStructureType = 1000203000;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV: VkStructureType =
1000204000;
pub const VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV:
VkStructureType = 1000205000;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV: VkStructureType =
1000205002;
pub const VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV: VkStructureType = 1000206000;
pub const VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV: VkStructureType = 1000206001;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR: VkStructureType =
1000211000;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT: VkStructureType =
1000212000;
pub const VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD: VkStructureType =
1000213000;
pub const VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD: VkStructureType =
1000213001;
pub const VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA: VkStructureType = 1000214000;
pub const VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT: VkStructureType = 1000217000;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT: VkStructureType =
1000218000;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT: VkStructureType =
1000218001;
pub const VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT: VkStructureType =
1000218002;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT: VkStructureType =
1000221000;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT: VkStructureType =
1000237000;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT: VkStructureType =
1000238000;
pub const VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT: VkStructureType = 1000238001;
pub const VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR: VkStructureType = 1000239000;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV:
VkStructureType = 1000240000;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT: VkStructureType =
1000244000;
pub const VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT: VkStructureType = 1000244001;
pub const VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT: VkStructureType = 1000244002;
pub const VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT: VkStructureType = 1000246000;
pub const VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT: VkStructureType = 1000247000;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV: VkStructureType =
1000249000;
pub const VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV: VkStructureType = 1000249001;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV: VkStructureType =
1000249002;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV: VkStructureType =
1000250000;
pub const VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV: VkStructureType =
1000250001;
pub const VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV: VkStructureType = 1000250002;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT: VkStructureType =
1000252000;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR:
VkStructureType = 1000253000;
pub const VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT: VkStructureType = 1000255000;
pub const VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT: VkStructureType =
1000255002;
pub const VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT: VkStructureType =
1000255001;
pub const VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT: VkStructureType = 1000256000;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT: VkStructureType =
1000261000;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES: VkStructureType = 1000120000;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES: VkStructureType =
1000063000;
pub const VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT: VkStructureType = 1000011000;
pub const VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR: VkStructureType = 1000053000;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR: VkStructureType = 1000053001;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR: VkStructureType = 1000053002;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR: VkStructureType = 1000059000;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR: VkStructureType = 1000059001;
pub const VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR: VkStructureType = 1000059002;
pub const VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR: VkStructureType = 1000059003;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR: VkStructureType = 1000059004;
pub const VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR: VkStructureType = 1000059005;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR: VkStructureType = 1000059006;
pub const VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR: VkStructureType = 1000059007;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR: VkStructureType =
1000059008;
pub const VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR: VkStructureType = 1000060000;
pub const VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR: VkStructureType = 1000060003;
pub const VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR: VkStructureType =
1000060004;
pub const VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR: VkStructureType = 1000060005;
pub const VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR: VkStructureType = 1000060006;
pub const VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR: VkStructureType = 1000060013;
pub const VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR: VkStructureType = 1000060014;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR: VkStructureType = 1000070000;
pub const VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR: VkStructureType = 1000070001;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR: VkStructureType =
1000071000;
pub const VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR: VkStructureType = 1000071001;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR: VkStructureType = 1000071002;
pub const VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR: VkStructureType = 1000071003;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR: VkStructureType = 1000071004;
pub const VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR: VkStructureType = 1000072000;
pub const VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR: VkStructureType = 1000072001;
pub const VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR: VkStructureType = 1000072002;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR: VkStructureType =
1000076000;
pub const VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR: VkStructureType = 1000076001;
pub const VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR: VkStructureType = 1000077000;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR: VkStructureType =
1000083000;
pub const VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR: VkStructureType =
1000085000;
pub const VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT: VkStructureType = 1000090000;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR: VkStructureType = 1000112000;
pub const VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR: VkStructureType = 1000112001;
pub const VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR: VkStructureType = 1000113000;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR: VkStructureType =
1000117000;
pub const VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR: VkStructureType =
1000117001;
pub const VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR: VkStructureType = 1000117002;
pub const VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR:
VkStructureType = 1000117003;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR: VkStructureType =
1000120000;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR: VkStructureType =
1000120000;
pub const VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR: VkStructureType = 1000127000;
pub const VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR: VkStructureType = 1000127001;
pub const VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR: VkStructureType = 1000146000;
pub const VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR: VkStructureType = 1000146001;
pub const VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR: VkStructureType =
1000146002;
pub const VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR: VkStructureType = 1000146003;
pub const VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR: VkStructureType = 1000146004;
pub const VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR: VkStructureType = 1000156000;
pub const VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR: VkStructureType = 1000156001;
pub const VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR: VkStructureType = 1000156002;
pub const VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR: VkStructureType = 1000156003;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR: VkStructureType =
1000156004;
pub const VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR: VkStructureType =
1000156005;
pub const VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR: VkStructureType = 1000157000;
pub const VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR: VkStructureType = 1000157001;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR: VkStructureType =
1000168000;
pub const VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR: VkStructureType = 1000168001;
pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT: VkStructureType =
1000244000;
pub const VK_STRUCTURE_TYPE_BEGIN_RANGE: VkStructureType = 0;
pub const VK_STRUCTURE_TYPE_END_RANGE: VkStructureType = 48;
pub const VK_STRUCTURE_TYPE_RANGE_SIZE: VkStructureType = 49;
pub const VK_STRUCTURE_TYPE_MAX_ENUM: VkStructureType = 2147483647;
pub type VkSystemAllocationScope = u32;
pub const VK_SYSTEM_ALLOCATION_SCOPE_COMMAND: VkSystemAllocationScope = 0;
pub const VK_SYSTEM_ALLOCATION_SCOPE_OBJECT: VkSystemAllocationScope = 1;
pub const VK_SYSTEM_ALLOCATION_SCOPE_CACHE: VkSystemAllocationScope = 2;
pub const VK_SYSTEM_ALLOCATION_SCOPE_DEVICE: VkSystemAllocationScope = 3;
pub const VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE: VkSystemAllocationScope = 4;
pub const VK_SYSTEM_ALLOCATION_SCOPE_BEGIN_RANGE: VkSystemAllocationScope = 0;
pub const VK_SYSTEM_ALLOCATION_SCOPE_END_RANGE: VkSystemAllocationScope = 4;
pub const VK_SYSTEM_ALLOCATION_SCOPE_RANGE_SIZE: VkSystemAllocationScope = 5;
pub const VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM: VkSystemAllocationScope = 2147483647;
pub type VkInternalAllocationType = u32;
pub const VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE: VkInternalAllocationType = 0;
pub const VK_INTERNAL_ALLOCATION_TYPE_BEGIN_RANGE: VkInternalAllocationType = 0;
pub const VK_INTERNAL_ALLOCATION_TYPE_END_RANGE: VkInternalAllocationType = 0;
pub const VK_INTERNAL_ALLOCATION_TYPE_RANGE_SIZE: VkInternalAllocationType = 1;
pub const VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM: VkInternalAllocationType = 2147483647;
pub type VkFormat = u32;
pub const VK_FORMAT_UNDEFINED: VkFormat = 0;
pub const VK_FORMAT_R4G4_UNORM_PACK8: VkFormat = 1;
pub const VK_FORMAT_R4G4B4A4_UNORM_PACK16: VkFormat = 2;
pub const VK_FORMAT_B4G4R4A4_UNORM_PACK16: VkFormat = 3;
pub const VK_FORMAT_R5G6B5_UNORM_PACK16: VkFormat = 4;
pub const VK_FORMAT_B5G6R5_UNORM_PACK16: VkFormat = 5;
pub const VK_FORMAT_R5G5B5A1_UNORM_PACK16: VkFormat = 6;
pub const VK_FORMAT_B5G5R5A1_UNORM_PACK16: VkFormat = 7;
pub const VK_FORMAT_A1R5G5B5_UNORM_PACK16: VkFormat = 8;
pub const VK_FORMAT_R8_UNORM: VkFormat = 9;
pub const VK_FORMAT_R8_SNORM: VkFormat = 10;
pub const VK_FORMAT_R8_USCALED: VkFormat = 11;
pub const VK_FORMAT_R8_SSCALED: VkFormat = 12;
pub const VK_FORMAT_R8_UINT: VkFormat = 13;
pub const VK_FORMAT_R8_SINT: VkFormat = 14;
pub const VK_FORMAT_R8_SRGB: VkFormat = 15;
pub const VK_FORMAT_R8G8_UNORM: VkFormat = 16;
pub const VK_FORMAT_R8G8_SNORM: VkFormat = 17;
pub const VK_FORMAT_R8G8_USCALED: VkFormat = 18;
pub const VK_FORMAT_R8G8_SSCALED: VkFormat = 19;
pub const VK_FORMAT_R8G8_UINT: VkFormat = 20;
pub const VK_FORMAT_R8G8_SINT: VkFormat = 21;
pub const VK_FORMAT_R8G8_SRGB: VkFormat = 22;
pub const VK_FORMAT_R8G8B8_UNORM: VkFormat = 23;
pub const VK_FORMAT_R8G8B8_SNORM: VkFormat = 24;
pub const VK_FORMAT_R8G8B8_USCALED: VkFormat = 25;
pub const VK_FORMAT_R8G8B8_SSCALED: VkFormat = 26;
pub const VK_FORMAT_R8G8B8_UINT: VkFormat = 27;
pub const VK_FORMAT_R8G8B8_SINT: VkFormat = 28;
pub const VK_FORMAT_R8G8B8_SRGB: VkFormat = 29;
pub const VK_FORMAT_B8G8R8_UNORM: VkFormat = 30;
pub const VK_FORMAT_B8G8R8_SNORM: VkFormat = 31;
pub const VK_FORMAT_B8G8R8_USCALED: VkFormat = 32;
pub const VK_FORMAT_B8G8R8_SSCALED: VkFormat = 33;
pub const VK_FORMAT_B8G8R8_UINT: VkFormat = 34;
pub const VK_FORMAT_B8G8R8_SINT: VkFormat = 35;
pub const VK_FORMAT_B8G8R8_SRGB: VkFormat = 36;
pub const VK_FORMAT_R8G8B8A8_UNORM: VkFormat = 37;
pub const VK_FORMAT_R8G8B8A8_SNORM: VkFormat = 38;
pub const VK_FORMAT_R8G8B8A8_USCALED: VkFormat = 39;
pub const VK_FORMAT_R8G8B8A8_SSCALED: VkFormat = 40;
pub const VK_FORMAT_R8G8B8A8_UINT: VkFormat = 41;
pub const VK_FORMAT_R8G8B8A8_SINT: VkFormat = 42;
pub const VK_FORMAT_R8G8B8A8_SRGB: VkFormat = 43;
pub const VK_FORMAT_B8G8R8A8_UNORM: VkFormat = 44;
pub const VK_FORMAT_B8G8R8A8_SNORM: VkFormat = 45;
pub const VK_FORMAT_B8G8R8A8_USCALED: VkFormat = 46;
pub const VK_FORMAT_B8G8R8A8_SSCALED: VkFormat = 47;
pub const VK_FORMAT_B8G8R8A8_UINT: VkFormat = 48;
pub const VK_FORMAT_B8G8R8A8_SINT: VkFormat = 49;
pub const VK_FORMAT_B8G8R8A8_SRGB: VkFormat = 50;
pub const VK_FORMAT_A8B8G8R8_UNORM_PACK32: VkFormat = 51;
pub const VK_FORMAT_A8B8G8R8_SNORM_PACK32: VkFormat = 52;
pub const VK_FORMAT_A8B8G8R8_USCALED_PACK32: VkFormat = 53;
pub const VK_FORMAT_A8B8G8R8_SSCALED_PACK32: VkFormat = 54;
pub const VK_FORMAT_A8B8G8R8_UINT_PACK32: VkFormat = 55;
pub const VK_FORMAT_A8B8G8R8_SINT_PACK32: VkFormat = 56;
pub const VK_FORMAT_A8B8G8R8_SRGB_PACK32: VkFormat = 57;
pub const VK_FORMAT_A2R10G10B10_UNORM_PACK32: VkFormat = 58;
pub const VK_FORMAT_A2R10G10B10_SNORM_PACK32: VkFormat = 59;
pub const VK_FORMAT_A2R10G10B10_USCALED_PACK32: VkFormat = 60;
pub const VK_FORMAT_A2R10G10B10_SSCALED_PACK32: VkFormat = 61;
pub const VK_FORMAT_A2R10G10B10_UINT_PACK32: VkFormat = 62;
pub const VK_FORMAT_A2R10G10B10_SINT_PACK32: VkFormat = 63;
pub const VK_FORMAT_A2B10G10R10_UNORM_PACK32: VkFormat = 64;
pub const VK_FORMAT_A2B10G10R10_SNORM_PACK32: VkFormat = 65;
pub const VK_FORMAT_A2B10G10R10_USCALED_PACK32: VkFormat = 66;
pub const VK_FORMAT_A2B10G10R10_SSCALED_PACK32: VkFormat = 67;
pub const VK_FORMAT_A2B10G10R10_UINT_PACK32: VkFormat = 68;
pub const VK_FORMAT_A2B10G10R10_SINT_PACK32: VkFormat = 69;
pub const VK_FORMAT_R16_UNORM: VkFormat = 70;
pub const VK_FORMAT_R16_SNORM: VkFormat = 71;
pub const VK_FORMAT_R16_USCALED: VkFormat = 72;
pub const VK_FORMAT_R16_SSCALED: VkFormat = 73;
pub const VK_FORMAT_R16_UINT: VkFormat = 74;
pub const VK_FORMAT_R16_SINT: VkFormat = 75;
pub const VK_FORMAT_R16_SFLOAT: VkFormat = 76;
pub const VK_FORMAT_R16G16_UNORM: VkFormat = 77;
pub const VK_FORMAT_R16G16_SNORM: VkFormat = 78;
pub const VK_FORMAT_R16G16_USCALED: VkFormat = 79;
pub const VK_FORMAT_R16G16_SSCALED: VkFormat = 80;
pub const VK_FORMAT_R16G16_UINT: VkFormat = 81;
pub const VK_FORMAT_R16G16_SINT: VkFormat = 82;
pub const VK_FORMAT_R16G16_SFLOAT: VkFormat = 83;
pub const VK_FORMAT_R16G16B16_UNORM: VkFormat = 84;
pub const VK_FORMAT_R16G16B16_SNORM: VkFormat = 85;
pub const VK_FORMAT_R16G16B16_USCALED: VkFormat = 86;
pub const VK_FORMAT_R16G16B16_SSCALED: VkFormat = 87;
pub const VK_FORMAT_R16G16B16_UINT: VkFormat = 88;
pub const VK_FORMAT_R16G16B16_SINT: VkFormat = 89;
pub const VK_FORMAT_R16G16B16_SFLOAT: VkFormat = 90;
pub const VK_FORMAT_R16G16B16A16_UNORM: VkFormat = 91;
pub const VK_FORMAT_R16G16B16A16_SNORM: VkFormat = 92;
pub const VK_FORMAT_R16G16B16A16_USCALED: VkFormat = 93;
pub const VK_FORMAT_R16G16B16A16_SSCALED: VkFormat = 94;
pub const VK_FORMAT_R16G16B16A16_UINT: VkFormat = 95;
pub const VK_FORMAT_R16G16B16A16_SINT: VkFormat = 96;
pub const VK_FORMAT_R16G16B16A16_SFLOAT: VkFormat = 97;
pub const VK_FORMAT_R32_UINT: VkFormat = 98;
pub const VK_FORMAT_R32_SINT: VkFormat = 99;
pub const VK_FORMAT_R32_SFLOAT: VkFormat = 100;
pub const VK_FORMAT_R32G32_UINT: VkFormat = 101;
pub const VK_FORMAT_R32G32_SINT: VkFormat = 102;
pub const VK_FORMAT_R32G32_SFLOAT: VkFormat = 103;
pub const VK_FORMAT_R32G32B32_UINT: VkFormat = 104;
pub const VK_FORMAT_R32G32B32_SINT: VkFormat = 105;
pub const VK_FORMAT_R32G32B32_SFLOAT: VkFormat = 106;
pub const VK_FORMAT_R32G32B32A32_UINT: VkFormat = 107;
pub const VK_FORMAT_R32G32B32A32_SINT: VkFormat = 108;
pub const VK_FORMAT_R32G32B32A32_SFLOAT: VkFormat = 109;
pub const VK_FORMAT_R64_UINT: VkFormat = 110;
pub const VK_FORMAT_R64_SINT: VkFormat = 111;
pub const VK_FORMAT_R64_SFLOAT: VkFormat = 112;
pub const VK_FORMAT_R64G64_UINT: VkFormat = 113;
pub const VK_FORMAT_R64G64_SINT: VkFormat = 114;
pub const VK_FORMAT_R64G64_SFLOAT: VkFormat = 115;
pub const VK_FORMAT_R64G64B64_UINT: VkFormat = 116;
pub const VK_FORMAT_R64G64B64_SINT: VkFormat = 117;
pub const VK_FORMAT_R64G64B64_SFLOAT: VkFormat = 118;
pub const VK_FORMAT_R64G64B64A64_UINT: VkFormat = 119;
pub const VK_FORMAT_R64G64B64A64_SINT: VkFormat = 120;
pub const VK_FORMAT_R64G64B64A64_SFLOAT: VkFormat = 121;
pub const VK_FORMAT_B10G11R11_UFLOAT_PACK32: VkFormat = 122;
pub const VK_FORMAT_E5B9G9R9_UFLOAT_PACK32: VkFormat = 123;
pub const VK_FORMAT_D16_UNORM: VkFormat = 124;
pub const VK_FORMAT_X8_D24_UNORM_PACK32: VkFormat = 125;
pub const VK_FORMAT_D32_SFLOAT: VkFormat = 126;
pub const VK_FORMAT_S8_UINT: VkFormat = 127;
pub const VK_FORMAT_D16_UNORM_S8_UINT: VkFormat = 128;
pub const VK_FORMAT_D24_UNORM_S8_UINT: VkFormat = 129;
pub const VK_FORMAT_D32_SFLOAT_S8_UINT: VkFormat = 130;
pub const VK_FORMAT_BC1_RGB_UNORM_BLOCK: VkFormat = 131;
pub const VK_FORMAT_BC1_RGB_SRGB_BLOCK: VkFormat = 132;
pub const VK_FORMAT_BC1_RGBA_UNORM_BLOCK: VkFormat = 133;
pub const VK_FORMAT_BC1_RGBA_SRGB_BLOCK: VkFormat = 134;
pub const VK_FORMAT_BC2_UNORM_BLOCK: VkFormat = 135;
pub const VK_FORMAT_BC2_SRGB_BLOCK: VkFormat = 136;
pub const VK_FORMAT_BC3_UNORM_BLOCK: VkFormat = 137;
pub const VK_FORMAT_BC3_SRGB_BLOCK: VkFormat = 138;
pub const VK_FORMAT_BC4_UNORM_BLOCK: VkFormat = 139;
pub const VK_FORMAT_BC4_SNORM_BLOCK: VkFormat = 140;
pub const VK_FORMAT_BC5_UNORM_BLOCK: VkFormat = 141;
pub const VK_FORMAT_BC5_SNORM_BLOCK: VkFormat = 142;
pub const VK_FORMAT_BC6H_UFLOAT_BLOCK: VkFormat = 143;
pub const VK_FORMAT_BC6H_SFLOAT_BLOCK: VkFormat = 144;
pub const VK_FORMAT_BC7_UNORM_BLOCK: VkFormat = 145;
pub const VK_FORMAT_BC7_SRGB_BLOCK: VkFormat = 146;
pub const VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK: VkFormat = 147;
pub const VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK: VkFormat = 148;
pub const VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK: VkFormat = 149;
pub const VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK: VkFormat = 150;
pub const VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK: VkFormat = 151;
pub const VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK: VkFormat = 152;
pub const VK_FORMAT_EAC_R11_UNORM_BLOCK: VkFormat = 153;
pub const VK_FORMAT_EAC_R11_SNORM_BLOCK: VkFormat = 154;
pub const VK_FORMAT_EAC_R11G11_UNORM_BLOCK: VkFormat = 155;
pub const VK_FORMAT_EAC_R11G11_SNORM_BLOCK: VkFormat = 156;
pub const VK_FORMAT_ASTC_4x4_UNORM_BLOCK: VkFormat = 157;
pub const VK_FORMAT_ASTC_4x4_SRGB_BLOCK: VkFormat = 158;
pub const VK_FORMAT_ASTC_5x4_UNORM_BLOCK: VkFormat = 159;
pub const VK_FORMAT_ASTC_5x4_SRGB_BLOCK: VkFormat = 160;
pub const VK_FORMAT_ASTC_5x5_UNORM_BLOCK: VkFormat = 161;
pub const VK_FORMAT_ASTC_5x5_SRGB_BLOCK: VkFormat = 162;
pub const VK_FORMAT_ASTC_6x5_UNORM_BLOCK: VkFormat = 163;
pub const VK_FORMAT_ASTC_6x5_SRGB_BLOCK: VkFormat = 164;
pub const VK_FORMAT_ASTC_6x6_UNORM_BLOCK: VkFormat = 165;
pub const VK_FORMAT_ASTC_6x6_SRGB_BLOCK: VkFormat = 166;
pub const VK_FORMAT_ASTC_8x5_UNORM_BLOCK: VkFormat = 167;
pub const VK_FORMAT_ASTC_8x5_SRGB_BLOCK: VkFormat = 168;
pub const VK_FORMAT_ASTC_8x6_UNORM_BLOCK: VkFormat = 169;
pub const VK_FORMAT_ASTC_8x6_SRGB_BLOCK: VkFormat = 170;
pub const VK_FORMAT_ASTC_8x8_UNORM_BLOCK: VkFormat = 171;
pub const VK_FORMAT_ASTC_8x8_SRGB_BLOCK: VkFormat = 172;
pub const VK_FORMAT_ASTC_10x5_UNORM_BLOCK: VkFormat = 173;
pub const VK_FORMAT_ASTC_10x5_SRGB_BLOCK: VkFormat = 174;
pub const VK_FORMAT_ASTC_10x6_UNORM_BLOCK: VkFormat = 175;
pub const VK_FORMAT_ASTC_10x6_SRGB_BLOCK: VkFormat = 176;
pub const VK_FORMAT_ASTC_10x8_UNORM_BLOCK: VkFormat = 177;
pub const VK_FORMAT_ASTC_10x8_SRGB_BLOCK: VkFormat = 178;
pub const VK_FORMAT_ASTC_10x10_UNORM_BLOCK: VkFormat = 179;
pub const VK_FORMAT_ASTC_10x10_SRGB_BLOCK: VkFormat = 180;
pub const VK_FORMAT_ASTC_12x10_UNORM_BLOCK: VkFormat = 181;
pub const VK_FORMAT_ASTC_12x10_SRGB_BLOCK: VkFormat = 182;
pub const VK_FORMAT_ASTC_12x12_UNORM_BLOCK: VkFormat = 183;
pub const VK_FORMAT_ASTC_12x12_SRGB_BLOCK: VkFormat = 184;
pub const VK_FORMAT_G8B8G8R8_422_UNORM: VkFormat = 1000156000;
pub const VK_FORMAT_B8G8R8G8_422_UNORM: VkFormat = 1000156001;
pub const VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM: VkFormat = 1000156002;
pub const VK_FORMAT_G8_B8R8_2PLANE_420_UNORM: VkFormat = 1000156003;
pub const VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM: VkFormat = 1000156004;
pub const VK_FORMAT_G8_B8R8_2PLANE_422_UNORM: VkFormat = 1000156005;
pub const VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM: VkFormat = 1000156006;
pub const VK_FORMAT_R10X6_UNORM_PACK16: VkFormat = 1000156007;
pub const VK_FORMAT_R10X6G10X6_UNORM_2PACK16: VkFormat = 1000156008;
pub const VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16: VkFormat = 1000156009;
pub const VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16: VkFormat = 1000156010;
pub const VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16: VkFormat = 1000156011;
pub const VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16: VkFormat = 1000156012;
pub const VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16: VkFormat = 1000156013;
pub const VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16: VkFormat = 1000156014;
pub const VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16: VkFormat = 1000156015;
pub const VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16: VkFormat = 1000156016;
pub const VK_FORMAT_R12X4_UNORM_PACK16: VkFormat = 1000156017;
pub const VK_FORMAT_R12X4G12X4_UNORM_2PACK16: VkFormat = 1000156018;
pub const VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16: VkFormat = 1000156019;
pub const VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16: VkFormat = 1000156020;
pub const VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16: VkFormat = 1000156021;
pub const VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16: VkFormat = 1000156022;
pub const VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16: VkFormat = 1000156023;
pub const VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16: VkFormat = 1000156024;
pub const VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16: VkFormat = 1000156025;
pub const VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16: VkFormat = 1000156026;
pub const VK_FORMAT_G16B16G16R16_422_UNORM: VkFormat = 1000156027;
pub const VK_FORMAT_B16G16R16G16_422_UNORM: VkFormat = 1000156028;
pub const VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM: VkFormat = 1000156029;
pub const VK_FORMAT_G16_B16R16_2PLANE_420_UNORM: VkFormat = 1000156030;
pub const VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM: VkFormat = 1000156031;
pub const VK_FORMAT_G16_B16R16_2PLANE_422_UNORM: VkFormat = 1000156032;
pub const VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM: VkFormat = 1000156033;
pub const VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG: VkFormat = 1000054000;
pub const VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG: VkFormat = 1000054001;
pub const VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG: VkFormat = 1000054002;
pub const VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG: VkFormat = 1000054003;
pub const VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG: VkFormat = 1000054004;
pub const VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG: VkFormat = 1000054005;
pub const VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG: VkFormat = 1000054006;
pub const VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG: VkFormat = 1000054007;
pub const VK_FORMAT_G8B8G8R8_422_UNORM_KHR: VkFormat = 1000156000;
pub const VK_FORMAT_B8G8R8G8_422_UNORM_KHR: VkFormat = 1000156001;
pub const VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR: VkFormat = 1000156002;
pub const VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR: VkFormat = 1000156003;
pub const VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR: VkFormat = 1000156004;
pub const VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR: VkFormat = 1000156005;
pub const VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR: VkFormat = 1000156006;
pub const VK_FORMAT_R10X6_UNORM_PACK16_KHR: VkFormat = 1000156007;
pub const VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR: VkFormat = 1000156008;
pub const VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR: VkFormat = 1000156009;
pub const VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR: VkFormat = 1000156010;
pub const VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR: VkFormat = 1000156011;
pub const VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR: VkFormat = 1000156012;
pub const VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR: VkFormat = 1000156013;
pub const VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR: VkFormat = 1000156014;
pub const VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR: VkFormat = 1000156015;
pub const VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR: VkFormat = 1000156016;
pub const VK_FORMAT_R12X4_UNORM_PACK16_KHR: VkFormat = 1000156017;
pub const VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR: VkFormat = 1000156018;
pub const VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR: VkFormat = 1000156019;
pub const VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR: VkFormat = 1000156020;
pub const VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR: VkFormat = 1000156021;
pub const VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR: VkFormat = 1000156022;
pub const VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR: VkFormat = 1000156023;
pub const VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR: VkFormat = 1000156024;
pub const VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR: VkFormat = 1000156025;
pub const VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR: VkFormat = 1000156026;
pub const VK_FORMAT_G16B16G16R16_422_UNORM_KHR: VkFormat = 1000156027;
pub const VK_FORMAT_B16G16R16G16_422_UNORM_KHR: VkFormat = 1000156028;
pub const VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR: VkFormat = 1000156029;
pub const VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR: VkFormat = 1000156030;
pub const VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR: VkFormat = 1000156031;
pub const VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR: VkFormat = 1000156032;
pub const VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR: VkFormat = 1000156033;
pub const VK_FORMAT_BEGIN_RANGE: VkFormat = 0;
pub const VK_FORMAT_END_RANGE: VkFormat = 184;
pub const VK_FORMAT_RANGE_SIZE: VkFormat = 185;
pub const VK_FORMAT_MAX_ENUM: VkFormat = 2147483647;
pub type VkImageType = u32;
pub const VK_IMAGE_TYPE_1D: VkImageType = 0;
pub const VK_IMAGE_TYPE_2D: VkImageType = 1;
pub const VK_IMAGE_TYPE_3D: VkImageType = 2;
pub const VK_IMAGE_TYPE_BEGIN_RANGE: VkImageType = 0;
pub const VK_IMAGE_TYPE_END_RANGE: VkImageType = 2;
pub const VK_IMAGE_TYPE_RANGE_SIZE: VkImageType = 3;
pub const VK_IMAGE_TYPE_MAX_ENUM: VkImageType = 2147483647;
pub type VkImageTiling = u32;
pub const VK_IMAGE_TILING_OPTIMAL: VkImageTiling = 0;
pub const VK_IMAGE_TILING_LINEAR: VkImageTiling = 1;
pub const VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT: VkImageTiling = 1000158000;
pub const VK_IMAGE_TILING_BEGIN_RANGE: VkImageTiling = 0;
pub const VK_IMAGE_TILING_END_RANGE: VkImageTiling = 1;
pub const VK_IMAGE_TILING_RANGE_SIZE: VkImageTiling = 2;
pub const VK_IMAGE_TILING_MAX_ENUM: VkImageTiling = 2147483647;
pub type VkPhysicalDeviceType = u32;
pub const VK_PHYSICAL_DEVICE_TYPE_OTHER: VkPhysicalDeviceType = 0;
pub const VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU: VkPhysicalDeviceType = 1;
pub const VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU: VkPhysicalDeviceType = 2;
pub const VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU: VkPhysicalDeviceType = 3;
pub const VK_PHYSICAL_DEVICE_TYPE_CPU: VkPhysicalDeviceType = 4;
pub const VK_PHYSICAL_DEVICE_TYPE_BEGIN_RANGE: VkPhysicalDeviceType = 0;
pub const VK_PHYSICAL_DEVICE_TYPE_END_RANGE: VkPhysicalDeviceType = 4;
pub const VK_PHYSICAL_DEVICE_TYPE_RANGE_SIZE: VkPhysicalDeviceType = 5;
pub const VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM: VkPhysicalDeviceType = 2147483647;
pub type VkQueryType = u32;
pub const VK_QUERY_TYPE_OCCLUSION: VkQueryType = 0;
pub const VK_QUERY_TYPE_PIPELINE_STATISTICS: VkQueryType = 1;
pub const VK_QUERY_TYPE_TIMESTAMP: VkQueryType = 2;
pub const VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT: VkQueryType = 1000028004;
pub const VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV: VkQueryType = 1000165000;
pub const VK_QUERY_TYPE_BEGIN_RANGE: VkQueryType = 0;
pub const VK_QUERY_TYPE_END_RANGE: VkQueryType = 2;
pub const VK_QUERY_TYPE_RANGE_SIZE: VkQueryType = 3;
pub const VK_QUERY_TYPE_MAX_ENUM: VkQueryType = 2147483647;
pub type VkSharingMode = u32;
pub const VK_SHARING_MODE_EXCLUSIVE: VkSharingMode = 0;
pub const VK_SHARING_MODE_CONCURRENT: VkSharingMode = 1;
pub const VK_SHARING_MODE_BEGIN_RANGE: VkSharingMode = 0;
pub const VK_SHARING_MODE_END_RANGE: VkSharingMode = 1;
pub const VK_SHARING_MODE_RANGE_SIZE: VkSharingMode = 2;
pub const VK_SHARING_MODE_MAX_ENUM: VkSharingMode = 2147483647;
pub type VkImageLayout = u32;
pub const VK_IMAGE_LAYOUT_UNDEFINED: VkImageLayout = 0;
pub const VK_IMAGE_LAYOUT_GENERAL: VkImageLayout = 1;
pub const VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL: VkImageLayout = 2;
pub const VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL: VkImageLayout = 3;
pub const VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL: VkImageLayout = 4;
pub const VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL: VkImageLayout = 5;
pub const VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL: VkImageLayout = 6;
pub const VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL: VkImageLayout = 7;
pub const VK_IMAGE_LAYOUT_PREINITIALIZED: VkImageLayout = 8;
pub const VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL: VkImageLayout = 1000117000;
pub const VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL: VkImageLayout = 1000117001;
pub const VK_IMAGE_LAYOUT_PRESENT_SRC_KHR: VkImageLayout = 1000001002;
pub const VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR: VkImageLayout = 1000111000;
pub const VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV: VkImageLayout = 1000164003;
pub const VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT: VkImageLayout = 1000218000;
pub const VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR: VkImageLayout =
1000117000;
pub const VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR: VkImageLayout =
1000117001;
pub const VK_IMAGE_LAYOUT_BEGIN_RANGE: VkImageLayout = 0;
pub const VK_IMAGE_LAYOUT_END_RANGE: VkImageLayout = 8;
pub const VK_IMAGE_LAYOUT_RANGE_SIZE: VkImageLayout = 9;
pub const VK_IMAGE_LAYOUT_MAX_ENUM: VkImageLayout = 2147483647;
pub type VkImageViewType = u32;
pub const VK_IMAGE_VIEW_TYPE_1D: VkImageViewType = 0;
pub const VK_IMAGE_VIEW_TYPE_2D: VkImageViewType = 1;
pub const VK_IMAGE_VIEW_TYPE_3D: VkImageViewType = 2;
pub const VK_IMAGE_VIEW_TYPE_CUBE: VkImageViewType = 3;
pub const VK_IMAGE_VIEW_TYPE_1D_ARRAY: VkImageViewType = 4;
pub const VK_IMAGE_VIEW_TYPE_2D_ARRAY: VkImageViewType = 5;
pub const VK_IMAGE_VIEW_TYPE_CUBE_ARRAY: VkImageViewType = 6;
pub const VK_IMAGE_VIEW_TYPE_BEGIN_RANGE: VkImageViewType = 0;
pub const VK_IMAGE_VIEW_TYPE_END_RANGE: VkImageViewType = 6;
pub const VK_IMAGE_VIEW_TYPE_RANGE_SIZE: VkImageViewType = 7;
pub const VK_IMAGE_VIEW_TYPE_MAX_ENUM: VkImageViewType = 2147483647;
pub type VkComponentSwizzle = u32;
pub const VK_COMPONENT_SWIZZLE_IDENTITY: VkComponentSwizzle = 0;
pub const VK_COMPONENT_SWIZZLE_ZERO: VkComponentSwizzle = 1;
pub const VK_COMPONENT_SWIZZLE_ONE: VkComponentSwizzle = 2;
pub const VK_COMPONENT_SWIZZLE_R: VkComponentSwizzle = 3;
pub const VK_COMPONENT_SWIZZLE_G: VkComponentSwizzle = 4;
pub const VK_COMPONENT_SWIZZLE_B: VkComponentSwizzle = 5;
pub const VK_COMPONENT_SWIZZLE_A: VkComponentSwizzle = 6;
pub const VK_COMPONENT_SWIZZLE_BEGIN_RANGE: VkComponentSwizzle = 0;
pub const VK_COMPONENT_SWIZZLE_END_RANGE: VkComponentSwizzle = 6;
pub const VK_COMPONENT_SWIZZLE_RANGE_SIZE: VkComponentSwizzle = 7;
pub const VK_COMPONENT_SWIZZLE_MAX_ENUM: VkComponentSwizzle = 2147483647;
pub type VkVertexInputRate = u32;
pub const VK_VERTEX_INPUT_RATE_VERTEX: VkVertexInputRate = 0;
pub const VK_VERTEX_INPUT_RATE_INSTANCE: VkVertexInputRate = 1;
pub const VK_VERTEX_INPUT_RATE_BEGIN_RANGE: VkVertexInputRate = 0;
pub const VK_VERTEX_INPUT_RATE_END_RANGE: VkVertexInputRate = 1;
pub const VK_VERTEX_INPUT_RATE_RANGE_SIZE: VkVertexInputRate = 2;
pub const VK_VERTEX_INPUT_RATE_MAX_ENUM: VkVertexInputRate = 2147483647;
pub type VkPrimitiveTopology = u32;
pub const VK_PRIMITIVE_TOPOLOGY_POINT_LIST: VkPrimitiveTopology = 0;
pub const VK_PRIMITIVE_TOPOLOGY_LINE_LIST: VkPrimitiveTopology = 1;
pub const VK_PRIMITIVE_TOPOLOGY_LINE_STRIP: VkPrimitiveTopology = 2;
pub const VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST: VkPrimitiveTopology = 3;
pub const VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP: VkPrimitiveTopology = 4;
pub const VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN: VkPrimitiveTopology = 5;
pub const VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY: VkPrimitiveTopology = 6;
pub const VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY: VkPrimitiveTopology = 7;
pub const VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY: VkPrimitiveTopology = 8;
pub const VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY: VkPrimitiveTopology = 9;
pub const VK_PRIMITIVE_TOPOLOGY_PATCH_LIST: VkPrimitiveTopology = 10;
pub const VK_PRIMITIVE_TOPOLOGY_BEGIN_RANGE: VkPrimitiveTopology = 0;
pub const VK_PRIMITIVE_TOPOLOGY_END_RANGE: VkPrimitiveTopology = 10;
pub const VK_PRIMITIVE_TOPOLOGY_RANGE_SIZE: VkPrimitiveTopology = 11;
pub const VK_PRIMITIVE_TOPOLOGY_MAX_ENUM: VkPrimitiveTopology = 2147483647;
pub type VkPolygonMode = u32;
pub const VK_POLYGON_MODE_FILL: VkPolygonMode = 0;
pub const VK_POLYGON_MODE_LINE: VkPolygonMode = 1;
pub const VK_POLYGON_MODE_POINT: VkPolygonMode = 2;
pub const VK_POLYGON_MODE_FILL_RECTANGLE_NV: VkPolygonMode = 1000153000;
pub const VK_POLYGON_MODE_BEGIN_RANGE: VkPolygonMode = 0;
pub const VK_POLYGON_MODE_END_RANGE: VkPolygonMode = 2;
pub const VK_POLYGON_MODE_RANGE_SIZE: VkPolygonMode = 3;
pub const VK_POLYGON_MODE_MAX_ENUM: VkPolygonMode = 2147483647;
pub type VkFrontFace = u32;
pub const VK_FRONT_FACE_COUNTER_CLOCKWISE: VkFrontFace = 0;
pub const VK_FRONT_FACE_CLOCKWISE: VkFrontFace = 1;
pub const VK_FRONT_FACE_BEGIN_RANGE: VkFrontFace = 0;
pub const VK_FRONT_FACE_END_RANGE: VkFrontFace = 1;
pub const VK_FRONT_FACE_RANGE_SIZE: VkFrontFace = 2;
pub const VK_FRONT_FACE_MAX_ENUM: VkFrontFace = 2147483647;
pub type VkCompareOp = u32;
pub const VK_COMPARE_OP_NEVER: VkCompareOp = 0;
pub const VK_COMPARE_OP_LESS: VkCompareOp = 1;
pub const VK_COMPARE_OP_EQUAL: VkCompareOp = 2;
pub const VK_COMPARE_OP_LESS_OR_EQUAL: VkCompareOp = 3;
pub const VK_COMPARE_OP_GREATER: VkCompareOp = 4;
pub const VK_COMPARE_OP_NOT_EQUAL: VkCompareOp = 5;
pub const VK_COMPARE_OP_GREATER_OR_EQUAL: VkCompareOp = 6;
pub const VK_COMPARE_OP_ALWAYS: VkCompareOp = 7;
pub const VK_COMPARE_OP_BEGIN_RANGE: VkCompareOp = 0;
pub const VK_COMPARE_OP_END_RANGE: VkCompareOp = 7;
pub const VK_COMPARE_OP_RANGE_SIZE: VkCompareOp = 8;
pub const VK_COMPARE_OP_MAX_ENUM: VkCompareOp = 2147483647;
pub type VkStencilOp = u32;
pub const VK_STENCIL_OP_KEEP: VkStencilOp = 0;
pub const VK_STENCIL_OP_ZERO: VkStencilOp = 1;
pub const VK_STENCIL_OP_REPLACE: VkStencilOp = 2;
pub const VK_STENCIL_OP_INCREMENT_AND_CLAMP: VkStencilOp = 3;
pub const VK_STENCIL_OP_DECREMENT_AND_CLAMP: VkStencilOp = 4;
pub const VK_STENCIL_OP_INVERT: VkStencilOp = 5;
pub const VK_STENCIL_OP_INCREMENT_AND_WRAP: VkStencilOp = 6;
pub const VK_STENCIL_OP_DECREMENT_AND_WRAP: VkStencilOp = 7;
pub const VK_STENCIL_OP_BEGIN_RANGE: VkStencilOp = 0;
pub const VK_STENCIL_OP_END_RANGE: VkStencilOp = 7;
pub const VK_STENCIL_OP_RANGE_SIZE: VkStencilOp = 8;
pub const VK_STENCIL_OP_MAX_ENUM: VkStencilOp = 2147483647;
pub type VkLogicOp = u32;
pub const VK_LOGIC_OP_CLEAR: VkLogicOp = 0;
pub const VK_LOGIC_OP_AND: VkLogicOp = 1;
pub const VK_LOGIC_OP_AND_REVERSE: VkLogicOp = 2;
pub const VK_LOGIC_OP_COPY: VkLogicOp = 3;
pub const VK_LOGIC_OP_AND_INVERTED: VkLogicOp = 4;
pub const VK_LOGIC_OP_NO_OP: VkLogicOp = 5;
pub const VK_LOGIC_OP_XOR: VkLogicOp = 6;
pub const VK_LOGIC_OP_OR: VkLogicOp = 7;
pub const VK_LOGIC_OP_NOR: VkLogicOp = 8;
pub const VK_LOGIC_OP_EQUIVALENT: VkLogicOp = 9;
pub const VK_LOGIC_OP_INVERT: VkLogicOp = 10;
pub const VK_LOGIC_OP_OR_REVERSE: VkLogicOp = 11;
pub const VK_LOGIC_OP_COPY_INVERTED: VkLogicOp = 12;
pub const VK_LOGIC_OP_OR_INVERTED: VkLogicOp = 13;
pub const VK_LOGIC_OP_NAND: VkLogicOp = 14;
pub const VK_LOGIC_OP_SET: VkLogicOp = 15;
pub const VK_LOGIC_OP_BEGIN_RANGE: VkLogicOp = 0;
pub const VK_LOGIC_OP_END_RANGE: VkLogicOp = 15;
pub const VK_LOGIC_OP_RANGE_SIZE: VkLogicOp = 16;
pub const VK_LOGIC_OP_MAX_ENUM: VkLogicOp = 2147483647;
pub type VkBlendFactor = u32;
pub const VK_BLEND_FACTOR_ZERO: VkBlendFactor = 0;
pub const VK_BLEND_FACTOR_ONE: VkBlendFactor = 1;
pub const VK_BLEND_FACTOR_SRC_COLOR: VkBlendFactor = 2;
pub const VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR: VkBlendFactor = 3;
pub const VK_BLEND_FACTOR_DST_COLOR: VkBlendFactor = 4;
pub const VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR: VkBlendFactor = 5;
pub const VK_BLEND_FACTOR_SRC_ALPHA: VkBlendFactor = 6;
pub const VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA: VkBlendFactor = 7;
pub const VK_BLEND_FACTOR_DST_ALPHA: VkBlendFactor = 8;
pub const VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA: VkBlendFactor = 9;
pub const VK_BLEND_FACTOR_CONSTANT_COLOR: VkBlendFactor = 10;
pub const VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR: VkBlendFactor = 11;
pub const VK_BLEND_FACTOR_CONSTANT_ALPHA: VkBlendFactor = 12;
pub const VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA: VkBlendFactor = 13;
pub const VK_BLEND_FACTOR_SRC_ALPHA_SATURATE: VkBlendFactor = 14;
pub const VK_BLEND_FACTOR_SRC1_COLOR: VkBlendFactor = 15;
pub const VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR: VkBlendFactor = 16;
pub const VK_BLEND_FACTOR_SRC1_ALPHA: VkBlendFactor = 17;
pub const VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA: VkBlendFactor = 18;
pub const VK_BLEND_FACTOR_BEGIN_RANGE: VkBlendFactor = 0;
pub const VK_BLEND_FACTOR_END_RANGE: VkBlendFactor = 18;
pub const VK_BLEND_FACTOR_RANGE_SIZE: VkBlendFactor = 19;
pub const VK_BLEND_FACTOR_MAX_ENUM: VkBlendFactor = 2147483647;
pub type VkBlendOp = u32;
pub const VK_BLEND_OP_ADD: VkBlendOp = 0;
pub const VK_BLEND_OP_SUBTRACT: VkBlendOp = 1;
pub const VK_BLEND_OP_REVERSE_SUBTRACT: VkBlendOp = 2;
pub const VK_BLEND_OP_MIN: VkBlendOp = 3;
pub const VK_BLEND_OP_MAX: VkBlendOp = 4;
pub const VK_BLEND_OP_ZERO_EXT: VkBlendOp = 1000148000;
pub const VK_BLEND_OP_SRC_EXT: VkBlendOp = 1000148001;
pub const VK_BLEND_OP_DST_EXT: VkBlendOp = 1000148002;
pub const VK_BLEND_OP_SRC_OVER_EXT: VkBlendOp = 1000148003;
pub const VK_BLEND_OP_DST_OVER_EXT: VkBlendOp = 1000148004;
pub const VK_BLEND_OP_SRC_IN_EXT: VkBlendOp = 1000148005;
pub const VK_BLEND_OP_DST_IN_EXT: VkBlendOp = 1000148006;
pub const VK_BLEND_OP_SRC_OUT_EXT: VkBlendOp = 1000148007;
pub const VK_BLEND_OP_DST_OUT_EXT: VkBlendOp = 1000148008;
pub const VK_BLEND_OP_SRC_ATOP_EXT: VkBlendOp = 1000148009;
pub const VK_BLEND_OP_DST_ATOP_EXT: VkBlendOp = 1000148010;
pub const VK_BLEND_OP_XOR_EXT: VkBlendOp = 1000148011;
pub const VK_BLEND_OP_MULTIPLY_EXT: VkBlendOp = 1000148012;
pub const VK_BLEND_OP_SCREEN_EXT: VkBlendOp = 1000148013;
pub const VK_BLEND_OP_OVERLAY_EXT: VkBlendOp = 1000148014;
pub const VK_BLEND_OP_DARKEN_EXT: VkBlendOp = 1000148015;
pub const VK_BLEND_OP_LIGHTEN_EXT: VkBlendOp = 1000148016;
pub const VK_BLEND_OP_COLORDODGE_EXT: VkBlendOp = 1000148017;
pub const VK_BLEND_OP_COLORBURN_EXT: VkBlendOp = 1000148018;
pub const VK_BLEND_OP_HARDLIGHT_EXT: VkBlendOp = 1000148019;
pub const VK_BLEND_OP_SOFTLIGHT_EXT: VkBlendOp = 1000148020;
pub const VK_BLEND_OP_DIFFERENCE_EXT: VkBlendOp = 1000148021;
pub const VK_BLEND_OP_EXCLUSION_EXT: VkBlendOp = 1000148022;
pub const VK_BLEND_OP_INVERT_EXT: VkBlendOp = 1000148023;
pub const VK_BLEND_OP_INVERT_RGB_EXT: VkBlendOp = 1000148024;
pub const VK_BLEND_OP_LINEARDODGE_EXT: VkBlendOp = 1000148025;
pub const VK_BLEND_OP_LINEARBURN_EXT: VkBlendOp = 1000148026;
pub const VK_BLEND_OP_VIVIDLIGHT_EXT: VkBlendOp = 1000148027;
pub const VK_BLEND_OP_LINEARLIGHT_EXT: VkBlendOp = 1000148028;
pub const VK_BLEND_OP_PINLIGHT_EXT: VkBlendOp = 1000148029;
pub const VK_BLEND_OP_HARDMIX_EXT: VkBlendOp = 1000148030;
pub const VK_BLEND_OP_HSL_HUE_EXT: VkBlendOp = 1000148031;
pub const VK_BLEND_OP_HSL_SATURATION_EXT: VkBlendOp = 1000148032;
pub const VK_BLEND_OP_HSL_COLOR_EXT: VkBlendOp = 1000148033;
pub const VK_BLEND_OP_HSL_LUMINOSITY_EXT: VkBlendOp = 1000148034;
pub const VK_BLEND_OP_PLUS_EXT: VkBlendOp = 1000148035;
pub const VK_BLEND_OP_PLUS_CLAMPED_EXT: VkBlendOp = 1000148036;
pub const VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT: VkBlendOp = 1000148037;
pub const VK_BLEND_OP_PLUS_DARKER_EXT: VkBlendOp = 1000148038;
pub const VK_BLEND_OP_MINUS_EXT: VkBlendOp = 1000148039;
pub const VK_BLEND_OP_MINUS_CLAMPED_EXT: VkBlendOp = 1000148040;
pub const VK_BLEND_OP_CONTRAST_EXT: VkBlendOp = 1000148041;
pub const VK_BLEND_OP_INVERT_OVG_EXT: VkBlendOp = 1000148042;
pub const VK_BLEND_OP_RED_EXT: VkBlendOp = 1000148043;
pub const VK_BLEND_OP_GREEN_EXT: VkBlendOp = 1000148044;
pub const VK_BLEND_OP_BLUE_EXT: VkBlendOp = 1000148045;
pub const VK_BLEND_OP_BEGIN_RANGE: VkBlendOp = 0;
pub const VK_BLEND_OP_END_RANGE: VkBlendOp = 4;
pub const VK_BLEND_OP_RANGE_SIZE: VkBlendOp = 5;
pub const VK_BLEND_OP_MAX_ENUM: VkBlendOp = 2147483647;
pub type VkDynamicState = u32;
pub const VK_DYNAMIC_STATE_VIEWPORT: VkDynamicState = 0;
pub const VK_DYNAMIC_STATE_SCISSOR: VkDynamicState = 1;
pub const VK_DYNAMIC_STATE_LINE_WIDTH: VkDynamicState = 2;
pub const VK_DYNAMIC_STATE_DEPTH_BIAS: VkDynamicState = 3;
pub const VK_DYNAMIC_STATE_BLEND_CONSTANTS: VkDynamicState = 4;
pub const VK_DYNAMIC_STATE_DEPTH_BOUNDS: VkDynamicState = 5;
pub const VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK: VkDynamicState = 6;
pub const VK_DYNAMIC_STATE_STENCIL_WRITE_MASK: VkDynamicState = 7;
pub const VK_DYNAMIC_STATE_STENCIL_REFERENCE: VkDynamicState = 8;
pub const VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV: VkDynamicState = 1000087000;
pub const VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT: VkDynamicState = 1000099000;
pub const VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT: VkDynamicState = 1000143000;
pub const VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV: VkDynamicState = 1000164004;
pub const VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV: VkDynamicState = 1000164006;
pub const VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV: VkDynamicState = 1000205001;
pub const VK_DYNAMIC_STATE_BEGIN_RANGE: VkDynamicState = 0;
pub const VK_DYNAMIC_STATE_END_RANGE: VkDynamicState = 8;
pub const VK_DYNAMIC_STATE_RANGE_SIZE: VkDynamicState = 9;
pub const VK_DYNAMIC_STATE_MAX_ENUM: VkDynamicState = 2147483647;
pub type VkFilter = u32;
pub const VK_FILTER_NEAREST: VkFilter = 0;
pub const VK_FILTER_LINEAR: VkFilter = 1;
pub const VK_FILTER_CUBIC_IMG: VkFilter = 1000015000;
pub const VK_FILTER_CUBIC_EXT: VkFilter = 1000015000;
pub const VK_FILTER_BEGIN_RANGE: VkFilter = 0;
pub const VK_FILTER_END_RANGE: VkFilter = 1;
pub const VK_FILTER_RANGE_SIZE: VkFilter = 2;
pub const VK_FILTER_MAX_ENUM: VkFilter = 2147483647;
pub type VkSamplerMipmapMode = u32;
pub const VK_SAMPLER_MIPMAP_MODE_NEAREST: VkSamplerMipmapMode = 0;
pub const VK_SAMPLER_MIPMAP_MODE_LINEAR: VkSamplerMipmapMode = 1;
pub const VK_SAMPLER_MIPMAP_MODE_BEGIN_RANGE: VkSamplerMipmapMode = 0;
pub const VK_SAMPLER_MIPMAP_MODE_END_RANGE: VkSamplerMipmapMode = 1;
pub const VK_SAMPLER_MIPMAP_MODE_RANGE_SIZE: VkSamplerMipmapMode = 2;
pub const VK_SAMPLER_MIPMAP_MODE_MAX_ENUM: VkSamplerMipmapMode = 2147483647;
pub type VkSamplerAddressMode = u32;
pub const VK_SAMPLER_ADDRESS_MODE_REPEAT: VkSamplerAddressMode = 0;
pub const VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT: VkSamplerAddressMode = 1;
pub const VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE: VkSamplerAddressMode = 2;
pub const VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER: VkSamplerAddressMode = 3;
pub const VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE: VkSamplerAddressMode = 4;
pub const VK_SAMPLER_ADDRESS_MODE_BEGIN_RANGE: VkSamplerAddressMode = 0;
pub const VK_SAMPLER_ADDRESS_MODE_END_RANGE: VkSamplerAddressMode = 3;
pub const VK_SAMPLER_ADDRESS_MODE_RANGE_SIZE: VkSamplerAddressMode = 4;
pub const VK_SAMPLER_ADDRESS_MODE_MAX_ENUM: VkSamplerAddressMode = 2147483647;
pub type VkBorderColor = u32;
pub const VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK: VkBorderColor = 0;
pub const VK_BORDER_COLOR_INT_TRANSPARENT_BLACK: VkBorderColor = 1;
pub const VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK: VkBorderColor = 2;
pub const VK_BORDER_COLOR_INT_OPAQUE_BLACK: VkBorderColor = 3;
pub const VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE: VkBorderColor = 4;
pub const VK_BORDER_COLOR_INT_OPAQUE_WHITE: VkBorderColor = 5;
pub const VK_BORDER_COLOR_BEGIN_RANGE: VkBorderColor = 0;
pub const VK_BORDER_COLOR_END_RANGE: VkBorderColor = 5;
pub const VK_BORDER_COLOR_RANGE_SIZE: VkBorderColor = 6;
pub const VK_BORDER_COLOR_MAX_ENUM: VkBorderColor = 2147483647;
pub type VkDescriptorType = u32;
pub const VK_DESCRIPTOR_TYPE_SAMPLER: VkDescriptorType = 0;
pub const VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER: VkDescriptorType = 1;
pub const VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE: VkDescriptorType = 2;
pub const VK_DESCRIPTOR_TYPE_STORAGE_IMAGE: VkDescriptorType = 3;
pub const VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER: VkDescriptorType = 4;
pub const VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER: VkDescriptorType = 5;
pub const VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER: VkDescriptorType = 6;
pub const VK_DESCRIPTOR_TYPE_STORAGE_BUFFER: VkDescriptorType = 7;
pub const VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC: VkDescriptorType = 8;
pub const VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC: VkDescriptorType = 9;
pub const VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT: VkDescriptorType = 10;
pub const VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT: VkDescriptorType = 1000138000;
pub const VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV: VkDescriptorType = 1000165000;
pub const VK_DESCRIPTOR_TYPE_BEGIN_RANGE: VkDescriptorType = 0;
pub const VK_DESCRIPTOR_TYPE_END_RANGE: VkDescriptorType = 10;
pub const VK_DESCRIPTOR_TYPE_RANGE_SIZE: VkDescriptorType = 11;
pub const VK_DESCRIPTOR_TYPE_MAX_ENUM: VkDescriptorType = 2147483647;
pub type VkAttachmentLoadOp = u32;
pub const VK_ATTACHMENT_LOAD_OP_LOAD: VkAttachmentLoadOp = 0;
pub const VK_ATTACHMENT_LOAD_OP_CLEAR: VkAttachmentLoadOp = 1;
pub const VK_ATTACHMENT_LOAD_OP_DONT_CARE: VkAttachmentLoadOp = 2;
pub const VK_ATTACHMENT_LOAD_OP_BEGIN_RANGE: VkAttachmentLoadOp = 0;
pub const VK_ATTACHMENT_LOAD_OP_END_RANGE: VkAttachmentLoadOp = 2;
pub const VK_ATTACHMENT_LOAD_OP_RANGE_SIZE: VkAttachmentLoadOp = 3;
pub const VK_ATTACHMENT_LOAD_OP_MAX_ENUM: VkAttachmentLoadOp = 2147483647;
pub type VkAttachmentStoreOp = u32;
pub const VK_ATTACHMENT_STORE_OP_STORE: VkAttachmentStoreOp = 0;
pub const VK_ATTACHMENT_STORE_OP_DONT_CARE: VkAttachmentStoreOp = 1;
pub const VK_ATTACHMENT_STORE_OP_BEGIN_RANGE: VkAttachmentStoreOp = 0;
pub const VK_ATTACHMENT_STORE_OP_END_RANGE: VkAttachmentStoreOp = 1;
pub const VK_ATTACHMENT_STORE_OP_RANGE_SIZE: VkAttachmentStoreOp = 2;
pub const VK_ATTACHMENT_STORE_OP_MAX_ENUM: VkAttachmentStoreOp = 2147483647;
pub const VK_PIPELINE_BIND_POINT_GRAPHICS: VkPipelineBindPoint = 0;
pub const VK_PIPELINE_BIND_POINT_COMPUTE: VkPipelineBindPoint = 1;
pub const VK_PIPELINE_BIND_POINT_RAY_TRACING_NV: VkPipelineBindPoint = 1000165000;
pub const VK_PIPELINE_BIND_POINT_BEGIN_RANGE: VkPipelineBindPoint = 0;
pub const VK_PIPELINE_BIND_POINT_END_RANGE: VkPipelineBindPoint = 1;
pub const VK_PIPELINE_BIND_POINT_RANGE_SIZE: VkPipelineBindPoint = 2;
pub const VK_PIPELINE_BIND_POINT_MAX_ENUM: VkPipelineBindPoint = 2147483647;
pub type VkPipelineBindPoint = u32;
pub const VK_COMMAND_BUFFER_LEVEL_PRIMARY: VkCommandBufferLevel = 0;
pub const VK_COMMAND_BUFFER_LEVEL_SECONDARY: VkCommandBufferLevel = 1;
pub const VK_COMMAND_BUFFER_LEVEL_BEGIN_RANGE: VkCommandBufferLevel = 0;
pub const VK_COMMAND_BUFFER_LEVEL_END_RANGE: VkCommandBufferLevel = 1;
pub const VK_COMMAND_BUFFER_LEVEL_RANGE_SIZE: VkCommandBufferLevel = 2;
pub const VK_COMMAND_BUFFER_LEVEL_MAX_ENUM: VkCommandBufferLevel = 2147483647;
pub type VkCommandBufferLevel = u32;
pub const VK_INDEX_TYPE_UINT16: VkIndexType = 0;
pub const VK_INDEX_TYPE_UINT32: VkIndexType = 1;
pub const VK_INDEX_TYPE_NONE_NV: VkIndexType = 1000165000;
pub const VK_INDEX_TYPE_BEGIN_RANGE: VkIndexType = 0;
pub const VK_INDEX_TYPE_END_RANGE: VkIndexType = 1;
pub const VK_INDEX_TYPE_RANGE_SIZE: VkIndexType = 2;
pub const VK_INDEX_TYPE_MAX_ENUM: VkIndexType = 2147483647;
pub type VkIndexType = u32;
pub const VK_SUBPASS_CONTENTS_INLINE: VkSubpassContents = 0;
pub const VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS: VkSubpassContents = 1;
pub const VK_SUBPASS_CONTENTS_BEGIN_RANGE: VkSubpassContents = 0;
pub const VK_SUBPASS_CONTENTS_END_RANGE: VkSubpassContents = 1;
pub const VK_SUBPASS_CONTENTS_RANGE_SIZE: VkSubpassContents = 2;
pub const VK_SUBPASS_CONTENTS_MAX_ENUM: VkSubpassContents = 2147483647;
pub type VkSubpassContents = u32;
pub const VK_OBJECT_TYPE_UNKNOWN: VkObjectType = 0;
pub const VK_OBJECT_TYPE_INSTANCE: VkObjectType = 1;
pub const VK_OBJECT_TYPE_PHYSICAL_DEVICE: VkObjectType = 2;
pub const VK_OBJECT_TYPE_DEVICE: VkObjectType = 3;
pub const VK_OBJECT_TYPE_QUEUE: VkObjectType = 4;
pub const VK_OBJECT_TYPE_SEMAPHORE: VkObjectType = 5;
pub const VK_OBJECT_TYPE_COMMAND_BUFFER: VkObjectType = 6;
pub const VK_OBJECT_TYPE_FENCE: VkObjectType = 7;
pub const VK_OBJECT_TYPE_DEVICE_MEMORY: VkObjectType = 8;
pub const VK_OBJECT_TYPE_BUFFER: VkObjectType = 9;
pub const VK_OBJECT_TYPE_IMAGE: VkObjectType = 10;
pub const VK_OBJECT_TYPE_EVENT: VkObjectType = 11;
pub const VK_OBJECT_TYPE_QUERY_POOL: VkObjectType = 12;
pub const VK_OBJECT_TYPE_BUFFER_VIEW: VkObjectType = 13;
pub const VK_OBJECT_TYPE_IMAGE_VIEW: VkObjectType = 14;
pub const VK_OBJECT_TYPE_SHADER_MODULE: VkObjectType = 15;
pub const VK_OBJECT_TYPE_PIPELINE_CACHE: VkObjectType = 16;
pub const VK_OBJECT_TYPE_PIPELINE_LAYOUT: VkObjectType = 17;
pub const VK_OBJECT_TYPE_RENDER_PASS: VkObjectType = 18;
pub const VK_OBJECT_TYPE_PIPELINE: VkObjectType = 19;
pub const VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT: VkObjectType = 20;
pub const VK_OBJECT_TYPE_SAMPLER: VkObjectType = 21;
pub const VK_OBJECT_TYPE_DESCRIPTOR_POOL: VkObjectType = 22;
pub const VK_OBJECT_TYPE_DESCRIPTOR_SET: VkObjectType = 23;
pub const VK_OBJECT_TYPE_FRAMEBUFFER: VkObjectType = 24;
pub const VK_OBJECT_TYPE_COMMAND_POOL: VkObjectType = 25;
pub const VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION: VkObjectType = 1000156000;
pub const VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE: VkObjectType = 1000085000;
pub const VK_OBJECT_TYPE_SURFACE_KHR: VkObjectType = 1000000000;
pub const VK_OBJECT_TYPE_SWAPCHAIN_KHR: VkObjectType = 1000001000;
pub const VK_OBJECT_TYPE_DISPLAY_KHR: VkObjectType = 1000002000;
pub const VK_OBJECT_TYPE_DISPLAY_MODE_KHR: VkObjectType = 1000002001;
pub const VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT: VkObjectType = 1000011000;
pub const VK_OBJECT_TYPE_OBJECT_TABLE_NVX: VkObjectType = 1000086000;
pub const VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX: VkObjectType = 1000086001;
pub const VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT: VkObjectType = 1000128000;
pub const VK_OBJECT_TYPE_VALIDATION_CACHE_EXT: VkObjectType = 1000160000;
pub const VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV: VkObjectType = 1000165000;
pub const VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR: VkObjectType = 1000085000;
pub const VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR: VkObjectType = 1000156000;
pub const VK_OBJECT_TYPE_BEGIN_RANGE: VkObjectType = 0;
pub const VK_OBJECT_TYPE_END_RANGE: VkObjectType = 25;
pub const VK_OBJECT_TYPE_RANGE_SIZE: VkObjectType = 26;
pub const VK_OBJECT_TYPE_MAX_ENUM: VkObjectType = 2147483647;
pub type VkObjectType = u32;
pub const VK_VENDOR_ID_VIV: VkVendorId = 65537;
pub const VK_VENDOR_ID_VSI: VkVendorId = 65538;
pub const VK_VENDOR_ID_KAZAN: VkVendorId = 65539;
pub const VK_VENDOR_ID_BEGIN_RANGE: VkVendorId = 65537;
pub const VK_VENDOR_ID_END_RANGE: VkVendorId = 65539;
pub const VK_VENDOR_ID_RANGE_SIZE: VkVendorId = 3;
pub const VK_VENDOR_ID_MAX_ENUM: VkVendorId = 2147483647;
pub type VkVendorId = u32;
pub type VkInstanceCreateFlags = VkFlags;
pub const VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT: VkFormatFeatureFlagBits = 1;
pub const VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT: VkFormatFeatureFlagBits = 2;
pub const VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT: VkFormatFeatureFlagBits = 4;
pub const VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT: VkFormatFeatureFlagBits = 8;
pub const VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT: VkFormatFeatureFlagBits = 16;
pub const VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT: VkFormatFeatureFlagBits = 32;
pub const VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT: VkFormatFeatureFlagBits = 64;
pub const VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT: VkFormatFeatureFlagBits = 128;
pub const VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT: VkFormatFeatureFlagBits = 256;
pub const VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT: VkFormatFeatureFlagBits = 512;
pub const VK_FORMAT_FEATURE_BLIT_SRC_BIT: VkFormatFeatureFlagBits = 1024;
pub const VK_FORMAT_FEATURE_BLIT_DST_BIT: VkFormatFeatureFlagBits = 2048;
pub const VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT: VkFormatFeatureFlagBits = 4096;
pub const VK_FORMAT_FEATURE_TRANSFER_SRC_BIT: VkFormatFeatureFlagBits = 16384;
pub const VK_FORMAT_FEATURE_TRANSFER_DST_BIT: VkFormatFeatureFlagBits = 32768;
pub const VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT: VkFormatFeatureFlagBits = 131072;
pub const VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT:
VkFormatFeatureFlagBits = 262144;
pub const VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT:
VkFormatFeatureFlagBits = 524288;
pub const VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT:
VkFormatFeatureFlagBits = 1048576;
pub const VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT : VkFormatFeatureFlagBits = 2097152 ;
pub const VK_FORMAT_FEATURE_DISJOINT_BIT: VkFormatFeatureFlagBits = 4194304;
pub const VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT: VkFormatFeatureFlagBits = 8388608;
pub const VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG: VkFormatFeatureFlagBits = 8192;
pub const VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT: VkFormatFeatureFlagBits = 65536;
pub const VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT: VkFormatFeatureFlagBits = 16777216;
pub const VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR: VkFormatFeatureFlagBits = 16384;
pub const VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR: VkFormatFeatureFlagBits = 32768;
pub const VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR: VkFormatFeatureFlagBits = 131072;
pub const VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR:
VkFormatFeatureFlagBits = 262144;
pub const VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR : VkFormatFeatureFlagBits = 524288 ;
pub const VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR : VkFormatFeatureFlagBits = 1048576 ;
pub const VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR : VkFormatFeatureFlagBits = 2097152 ;
pub const VK_FORMAT_FEATURE_DISJOINT_BIT_KHR: VkFormatFeatureFlagBits = 4194304;
pub const VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR: VkFormatFeatureFlagBits = 8388608;
pub const VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT: VkFormatFeatureFlagBits = 8192;
pub const VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM: VkFormatFeatureFlagBits = 2147483647;
pub type VkFormatFeatureFlagBits = u32;
pub type VkFormatFeatureFlags = VkFlags;
pub const VK_IMAGE_USAGE_TRANSFER_SRC_BIT: VkImageUsageFlagBits = 1;
pub const VK_IMAGE_USAGE_TRANSFER_DST_BIT: VkImageUsageFlagBits = 2;
pub const VK_IMAGE_USAGE_SAMPLED_BIT: VkImageUsageFlagBits = 4;
pub const VK_IMAGE_USAGE_STORAGE_BIT: VkImageUsageFlagBits = 8;
pub const VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT: VkImageUsageFlagBits = 16;
pub const VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT: VkImageUsageFlagBits = 32;
pub const VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT: VkImageUsageFlagBits = 64;
pub const VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT: VkImageUsageFlagBits = 128;
pub const VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV: VkImageUsageFlagBits = 256;
pub const VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT: VkImageUsageFlagBits = 512;
pub const VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM: VkImageUsageFlagBits = 2147483647;
pub type VkImageUsageFlagBits = u32;
pub type VkImageUsageFlags = VkFlags;
pub const VK_IMAGE_CREATE_SPARSE_BINDING_BIT: VkImageCreateFlagBits = 1;
pub const VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT: VkImageCreateFlagBits = 2;
pub const VK_IMAGE_CREATE_SPARSE_ALIASED_BIT: VkImageCreateFlagBits = 4;
pub const VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT: VkImageCreateFlagBits = 8;
pub const VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT: VkImageCreateFlagBits = 16;
pub const VK_IMAGE_CREATE_ALIAS_BIT: VkImageCreateFlagBits = 1024;
pub const VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT: VkImageCreateFlagBits = 64;
pub const VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT: VkImageCreateFlagBits = 32;
pub const VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT: VkImageCreateFlagBits = 128;
pub const VK_IMAGE_CREATE_EXTENDED_USAGE_BIT: VkImageCreateFlagBits = 256;
pub const VK_IMAGE_CREATE_PROTECTED_BIT: VkImageCreateFlagBits = 2048;
pub const VK_IMAGE_CREATE_DISJOINT_BIT: VkImageCreateFlagBits = 512;
pub const VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV: VkImageCreateFlagBits = 8192;
pub const VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT: VkImageCreateFlagBits = 4096;
pub const VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT: VkImageCreateFlagBits = 16384;
pub const VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR: VkImageCreateFlagBits = 64;
pub const VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR: VkImageCreateFlagBits = 32;
pub const VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR: VkImageCreateFlagBits = 128;
pub const VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR: VkImageCreateFlagBits = 256;
pub const VK_IMAGE_CREATE_DISJOINT_BIT_KHR: VkImageCreateFlagBits = 512;
pub const VK_IMAGE_CREATE_ALIAS_BIT_KHR: VkImageCreateFlagBits = 1024;
pub const VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM: VkImageCreateFlagBits = 2147483647;
pub type VkImageCreateFlagBits = u32;
pub type VkImageCreateFlags = VkFlags;
pub const VK_SAMPLE_COUNT_1_BIT: VkSampleCountFlagBits = 1;
pub const VK_SAMPLE_COUNT_2_BIT: VkSampleCountFlagBits = 2;
pub const VK_SAMPLE_COUNT_4_BIT: VkSampleCountFlagBits = 4;
pub const VK_SAMPLE_COUNT_8_BIT: VkSampleCountFlagBits = 8;
pub const VK_SAMPLE_COUNT_16_BIT: VkSampleCountFlagBits = 16;
pub const VK_SAMPLE_COUNT_32_BIT: VkSampleCountFlagBits = 32;
pub const VK_SAMPLE_COUNT_64_BIT: VkSampleCountFlagBits = 64;
pub const VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM: VkSampleCountFlagBits = 2147483647;
pub type VkSampleCountFlagBits = u32;
pub type VkSampleCountFlags = VkFlags;
pub const VK_QUEUE_GRAPHICS_BIT: VkQueueFlagBits = 1;
pub const VK_QUEUE_COMPUTE_BIT: VkQueueFlagBits = 2;
pub const VK_QUEUE_TRANSFER_BIT: VkQueueFlagBits = 4;
pub const VK_QUEUE_SPARSE_BINDING_BIT: VkQueueFlagBits = 8;
pub const VK_QUEUE_PROTECTED_BIT: VkQueueFlagBits = 16;
pub const VK_QUEUE_FLAG_BITS_MAX_ENUM: VkQueueFlagBits = 2147483647;
pub type VkQueueFlagBits = u32;
pub type VkQueueFlags = VkFlags;
pub const VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT: VkMemoryPropertyFlagBits = 1;
pub const VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT: VkMemoryPropertyFlagBits = 2;
pub const VK_MEMORY_PROPERTY_HOST_COHERENT_BIT: VkMemoryPropertyFlagBits = 4;
pub const VK_MEMORY_PROPERTY_HOST_CACHED_BIT: VkMemoryPropertyFlagBits = 8;
pub const VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT: VkMemoryPropertyFlagBits = 16;
pub const VK_MEMORY_PROPERTY_PROTECTED_BIT: VkMemoryPropertyFlagBits = 32;
pub const VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM: VkMemoryPropertyFlagBits = 2147483647;
pub type VkMemoryPropertyFlagBits = u32;
pub type VkMemoryPropertyFlags = VkFlags;
pub const VK_MEMORY_HEAP_DEVICE_LOCAL_BIT: VkMemoryHeapFlagBits = 1;
pub const VK_MEMORY_HEAP_MULTI_INSTANCE_BIT: VkMemoryHeapFlagBits = 2;
pub const VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR: VkMemoryHeapFlagBits = 2;
pub const VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM: VkMemoryHeapFlagBits = 2147483647;
pub type VkMemoryHeapFlagBits = u32;
pub type VkMemoryHeapFlags = VkFlags;
pub type VkDeviceCreateFlags = VkFlags;
pub const VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT: VkDeviceQueueCreateFlagBits = 1;
pub const VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM: VkDeviceQueueCreateFlagBits = 2147483647;
pub type VkDeviceQueueCreateFlagBits = u32;
pub type VkDeviceQueueCreateFlags = VkFlags;
pub const VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT: VkPipelineStageFlagBits = 1;
pub const VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT: VkPipelineStageFlagBits = 2;
pub const VK_PIPELINE_STAGE_VERTEX_INPUT_BIT: VkPipelineStageFlagBits = 4;
pub const VK_PIPELINE_STAGE_VERTEX_SHADER_BIT: VkPipelineStageFlagBits = 8;
pub const VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT: VkPipelineStageFlagBits = 16;
pub const VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT: VkPipelineStageFlagBits = 32;
pub const VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT: VkPipelineStageFlagBits = 64;
pub const VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT: VkPipelineStageFlagBits = 128;
pub const VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT: VkPipelineStageFlagBits = 256;
pub const VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT: VkPipelineStageFlagBits = 512;
pub const VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT: VkPipelineStageFlagBits = 1024;
pub const VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT: VkPipelineStageFlagBits = 2048;
pub const VK_PIPELINE_STAGE_TRANSFER_BIT: VkPipelineStageFlagBits = 4096;
pub const VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT: VkPipelineStageFlagBits = 8192;
pub const VK_PIPELINE_STAGE_HOST_BIT: VkPipelineStageFlagBits = 16384;
pub const VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT: VkPipelineStageFlagBits = 32768;
pub const VK_PIPELINE_STAGE_ALL_COMMANDS_BIT: VkPipelineStageFlagBits = 65536;
pub const VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT: VkPipelineStageFlagBits = 16777216;
pub const VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT: VkPipelineStageFlagBits = 262144;
pub const VK_PIPELINE_STAGE_COMMAND_PROCESS_BIT_NVX: VkPipelineStageFlagBits = 131072;
pub const VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV: VkPipelineStageFlagBits = 4194304;
pub const VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV: VkPipelineStageFlagBits = 2097152;
pub const VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV: VkPipelineStageFlagBits = 33554432;
pub const VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV: VkPipelineStageFlagBits = 524288;
pub const VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV: VkPipelineStageFlagBits = 1048576;
pub const VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT: VkPipelineStageFlagBits = 8388608;
pub const VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM: VkPipelineStageFlagBits = 2147483647;
pub type VkPipelineStageFlagBits = u32;
pub type VkPipelineStageFlags = VkFlags;
pub type VkMemoryMapFlags = VkFlags;
pub const VK_IMAGE_ASPECT_COLOR_BIT: VkImageAspectFlagBits = 1;
pub const VK_IMAGE_ASPECT_DEPTH_BIT: VkImageAspectFlagBits = 2;
pub const VK_IMAGE_ASPECT_STENCIL_BIT: VkImageAspectFlagBits = 4;
pub const VK_IMAGE_ASPECT_METADATA_BIT: VkImageAspectFlagBits = 8;
pub const VK_IMAGE_ASPECT_PLANE_0_BIT: VkImageAspectFlagBits = 16;
pub const VK_IMAGE_ASPECT_PLANE_1_BIT: VkImageAspectFlagBits = 32;
pub const VK_IMAGE_ASPECT_PLANE_2_BIT: VkImageAspectFlagBits = 64;
pub const VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT: VkImageAspectFlagBits = 128;
pub const VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT: VkImageAspectFlagBits = 256;
pub const VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT: VkImageAspectFlagBits = 512;
pub const VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT: VkImageAspectFlagBits = 1024;
pub const VK_IMAGE_ASPECT_PLANE_0_BIT_KHR: VkImageAspectFlagBits = 16;
pub const VK_IMAGE_ASPECT_PLANE_1_BIT_KHR: VkImageAspectFlagBits = 32;
pub const VK_IMAGE_ASPECT_PLANE_2_BIT_KHR: VkImageAspectFlagBits = 64;
pub const VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM: VkImageAspectFlagBits = 2147483647;
pub type VkImageAspectFlagBits = u32;
pub type VkImageAspectFlags = VkFlags;
pub const VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT: VkSparseImageFormatFlagBits = 1;
pub const VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT: VkSparseImageFormatFlagBits = 2;
pub const VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT: VkSparseImageFormatFlagBits = 4;
pub const VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM: VkSparseImageFormatFlagBits = 2147483647;
pub type VkSparseImageFormatFlagBits = u32;
pub type VkSparseImageFormatFlags = VkFlags;
pub const VK_SPARSE_MEMORY_BIND_METADATA_BIT: VkSparseMemoryBindFlagBits = 1;
pub const VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM: VkSparseMemoryBindFlagBits = 2147483647;
pub type VkSparseMemoryBindFlagBits = u32;
pub type VkSparseMemoryBindFlags = VkFlags;
pub const VK_FENCE_CREATE_SIGNALED_BIT: VkFenceCreateFlagBits = 1;
pub const VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM: VkFenceCreateFlagBits = 2147483647;
pub type VkFenceCreateFlagBits = u32;
pub type VkFenceCreateFlags = VkFlags;
pub type VkSemaphoreCreateFlags = VkFlags;
pub type VkEventCreateFlags = VkFlags;
pub type VkQueryPoolCreateFlags = VkFlags;
pub const VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT:
VkQueryPipelineStatisticFlagBits = 1;
pub const VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT:
VkQueryPipelineStatisticFlagBits = 2;
pub const VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT:
VkQueryPipelineStatisticFlagBits = 4;
pub const VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT:
VkQueryPipelineStatisticFlagBits = 8;
pub const VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT:
VkQueryPipelineStatisticFlagBits = 16;
pub const VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT: VkQueryPipelineStatisticFlagBits =
32;
pub const VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT: VkQueryPipelineStatisticFlagBits =
64;
pub const VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT:
VkQueryPipelineStatisticFlagBits = 128;
pub const VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT:
VkQueryPipelineStatisticFlagBits = 256;
pub const VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT:
VkQueryPipelineStatisticFlagBits = 512;
pub const VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT:
VkQueryPipelineStatisticFlagBits = 1024;
pub const VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM: VkQueryPipelineStatisticFlagBits =
2147483647;
pub type VkQueryPipelineStatisticFlagBits = u32;
pub type VkQueryPipelineStatisticFlags = VkFlags;
pub const VK_QUERY_RESULT_64_BIT: VkQueryResultFlagBits = 1;
pub const VK_QUERY_RESULT_WAIT_BIT: VkQueryResultFlagBits = 2;
pub const VK_QUERY_RESULT_WITH_AVAILABILITY_BIT: VkQueryResultFlagBits = 4;
pub const VK_QUERY_RESULT_PARTIAL_BIT: VkQueryResultFlagBits = 8;
pub const VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM: VkQueryResultFlagBits = 2147483647;
pub type VkQueryResultFlagBits = u32;
pub type VkQueryResultFlags = VkFlags;
pub const VK_BUFFER_CREATE_SPARSE_BINDING_BIT: VkBufferCreateFlagBits = 1;
pub const VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT: VkBufferCreateFlagBits = 2;
pub const VK_BUFFER_CREATE_SPARSE_ALIASED_BIT: VkBufferCreateFlagBits = 4;
pub const VK_BUFFER_CREATE_PROTECTED_BIT: VkBufferCreateFlagBits = 8;
pub const VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT: VkBufferCreateFlagBits = 16;
pub const VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM: VkBufferCreateFlagBits = 2147483647;
pub type VkBufferCreateFlagBits = u32;
pub type VkBufferCreateFlags = VkFlags;
pub const VK_BUFFER_USAGE_TRANSFER_SRC_BIT: VkBufferUsageFlagBits = 1;
pub const VK_BUFFER_USAGE_TRANSFER_DST_BIT: VkBufferUsageFlagBits = 2;
pub const VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT: VkBufferUsageFlagBits = 4;
pub const VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT: VkBufferUsageFlagBits = 8;
pub const VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT: VkBufferUsageFlagBits = 16;
pub const VK_BUFFER_USAGE_STORAGE_BUFFER_BIT: VkBufferUsageFlagBits = 32;
pub const VK_BUFFER_USAGE_INDEX_BUFFER_BIT: VkBufferUsageFlagBits = 64;
pub const VK_BUFFER_USAGE_VERTEX_BUFFER_BIT: VkBufferUsageFlagBits = 128;
pub const VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT: VkBufferUsageFlagBits = 256;
pub const VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT: VkBufferUsageFlagBits = 2048;
pub const VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT: VkBufferUsageFlagBits = 4096;
pub const VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT: VkBufferUsageFlagBits = 512;
pub const VK_BUFFER_USAGE_RAY_TRACING_BIT_NV: VkBufferUsageFlagBits = 1024;
pub const VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT: VkBufferUsageFlagBits = 131072;
pub const VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM: VkBufferUsageFlagBits = 2147483647;
pub type VkBufferUsageFlagBits = u32;
pub type VkBufferUsageFlags = VkFlags;
pub type VkBufferViewCreateFlags = VkFlags;
pub const VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT: VkImageViewCreateFlagBits = 1;
pub const VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM: VkImageViewCreateFlagBits = 2147483647;
pub type VkImageViewCreateFlagBits = u32;
pub type VkImageViewCreateFlags = VkFlags;
pub type VkShaderModuleCreateFlags = VkFlags;
pub type VkPipelineCacheCreateFlags = VkFlags;
pub const VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT: VkPipelineCreateFlagBits = 1;
pub const VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT: VkPipelineCreateFlagBits = 2;
pub const VK_PIPELINE_CREATE_DERIVATIVE_BIT: VkPipelineCreateFlagBits = 4;
pub const VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT: VkPipelineCreateFlagBits = 8;
pub const VK_PIPELINE_CREATE_DISPATCH_BASE: VkPipelineCreateFlagBits = 16;
pub const VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV: VkPipelineCreateFlagBits = 32;
pub const VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR: VkPipelineCreateFlagBits = 8;
pub const VK_PIPELINE_CREATE_DISPATCH_BASE_KHR: VkPipelineCreateFlagBits = 16;
pub const VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM: VkPipelineCreateFlagBits = 2147483647;
pub type VkPipelineCreateFlagBits = u32;
pub type VkPipelineCreateFlags = VkFlags;
pub type VkPipelineShaderStageCreateFlags = VkFlags;
pub const VK_SHADER_STAGE_VERTEX_BIT: VkShaderStageFlagBits = 1;
pub const VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT: VkShaderStageFlagBits = 2;
pub const VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT: VkShaderStageFlagBits = 4;
pub const VK_SHADER_STAGE_GEOMETRY_BIT: VkShaderStageFlagBits = 8;
pub const VK_SHADER_STAGE_FRAGMENT_BIT: VkShaderStageFlagBits = 16;
pub const VK_SHADER_STAGE_COMPUTE_BIT: VkShaderStageFlagBits = 32;
pub const VK_SHADER_STAGE_ALL_GRAPHICS: VkShaderStageFlagBits = 31;
pub const VK_SHADER_STAGE_ALL: VkShaderStageFlagBits = 2147483647;
pub const VK_SHADER_STAGE_RAYGEN_BIT_NV: VkShaderStageFlagBits = 256;
pub const VK_SHADER_STAGE_ANY_HIT_BIT_NV: VkShaderStageFlagBits = 512;
pub const VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV: VkShaderStageFlagBits = 1024;
pub const VK_SHADER_STAGE_MISS_BIT_NV: VkShaderStageFlagBits = 2048;
pub const VK_SHADER_STAGE_INTERSECTION_BIT_NV: VkShaderStageFlagBits = 4096;
pub const VK_SHADER_STAGE_CALLABLE_BIT_NV: VkShaderStageFlagBits = 8192;
pub const VK_SHADER_STAGE_TASK_BIT_NV: VkShaderStageFlagBits = 64;
pub const VK_SHADER_STAGE_MESH_BIT_NV: VkShaderStageFlagBits = 128;
pub const VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM: VkShaderStageFlagBits = 2147483647;
pub type VkShaderStageFlagBits = u32;
pub type VkPipelineVertexInputStateCreateFlags = VkFlags;
pub type VkPipelineInputAssemblyStateCreateFlags = VkFlags;
pub type VkPipelineTessellationStateCreateFlags = VkFlags;
pub type VkPipelineViewportStateCreateFlags = VkFlags;
pub type VkPipelineRasterizationStateCreateFlags = VkFlags;
pub const VK_CULL_MODE_NONE: VkCullModeFlagBits = 0;
pub const VK_CULL_MODE_FRONT_BIT: VkCullModeFlagBits = 1;
pub const VK_CULL_MODE_BACK_BIT: VkCullModeFlagBits = 2;
pub const VK_CULL_MODE_FRONT_AND_BACK: VkCullModeFlagBits = 3;
pub const VK_CULL_MODE_FLAG_BITS_MAX_ENUM: VkCullModeFlagBits = 2147483647;
pub type VkCullModeFlagBits = u32;
pub type VkCullModeFlags = VkFlags;
pub type VkPipelineMultisampleStateCreateFlags = VkFlags;
pub type VkPipelineDepthStencilStateCreateFlags = VkFlags;
pub type VkPipelineColorBlendStateCreateFlags = VkFlags;
pub const VK_COLOR_COMPONENT_R_BIT: VkColorComponentFlagBits = 1;
pub const VK_COLOR_COMPONENT_G_BIT: VkColorComponentFlagBits = 2;
pub const VK_COLOR_COMPONENT_B_BIT: VkColorComponentFlagBits = 4;
pub const VK_COLOR_COMPONENT_A_BIT: VkColorComponentFlagBits = 8;
pub const VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM: VkColorComponentFlagBits = 2147483647;
pub type VkColorComponentFlagBits = u32;
pub type VkColorComponentFlags = VkFlags;
pub type VkPipelineDynamicStateCreateFlags = VkFlags;
pub type VkPipelineLayoutCreateFlags = VkFlags;
pub type VkShaderStageFlags = VkFlags;
pub const VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT: VkSamplerCreateFlagBits = 1;
pub const VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT: VkSamplerCreateFlagBits = 2;
pub const VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM: VkSamplerCreateFlagBits = 2147483647;
pub type VkSamplerCreateFlagBits = u32;
pub type VkSamplerCreateFlags = VkFlags;
pub const VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR:
VkDescriptorSetLayoutCreateFlagBits = 1;
pub const VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT:
VkDescriptorSetLayoutCreateFlagBits = 2;
pub const VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM: VkDescriptorSetLayoutCreateFlagBits =
2147483647;
pub type VkDescriptorSetLayoutCreateFlagBits = u32;
pub type VkDescriptorSetLayoutCreateFlags = VkFlags;
pub const VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT: VkDescriptorPoolCreateFlagBits = 1;
pub const VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT: VkDescriptorPoolCreateFlagBits = 2;
pub const VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM: VkDescriptorPoolCreateFlagBits = 2147483647;
pub type VkDescriptorPoolCreateFlagBits = u32;
pub type VkDescriptorPoolCreateFlags = VkFlags;
pub type VkDescriptorPoolResetFlags = VkFlags;
pub type VkFramebufferCreateFlags = VkFlags;
pub type VkRenderPassCreateFlags = VkFlags;
pub const VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT: VkAttachmentDescriptionFlagBits = 1;
pub const VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM: VkAttachmentDescriptionFlagBits =
2147483647;
pub type VkAttachmentDescriptionFlagBits = u32;
pub type VkAttachmentDescriptionFlags = VkFlags;
pub const VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX: VkSubpassDescriptionFlagBits = 1;
pub const VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX: VkSubpassDescriptionFlagBits = 2;
pub const VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM: VkSubpassDescriptionFlagBits = 2147483647;
pub type VkSubpassDescriptionFlagBits = u32;
pub type VkSubpassDescriptionFlags = VkFlags;
pub const VK_ACCESS_INDIRECT_COMMAND_READ_BIT: VkAccessFlagBits = 1;
pub const VK_ACCESS_INDEX_READ_BIT: VkAccessFlagBits = 2;
pub const VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT: VkAccessFlagBits = 4;
pub const VK_ACCESS_UNIFORM_READ_BIT: VkAccessFlagBits = 8;
pub const VK_ACCESS_INPUT_ATTACHMENT_READ_BIT: VkAccessFlagBits = 16;
pub const VK_ACCESS_SHADER_READ_BIT: VkAccessFlagBits = 32;
pub const VK_ACCESS_SHADER_WRITE_BIT: VkAccessFlagBits = 64;
pub const VK_ACCESS_COLOR_ATTACHMENT_READ_BIT: VkAccessFlagBits = 128;
pub const VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT: VkAccessFlagBits = 256;
pub const VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT: VkAccessFlagBits = 512;
pub const VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT: VkAccessFlagBits = 1024;
pub const VK_ACCESS_TRANSFER_READ_BIT: VkAccessFlagBits = 2048;
pub const VK_ACCESS_TRANSFER_WRITE_BIT: VkAccessFlagBits = 4096;
pub const VK_ACCESS_HOST_READ_BIT: VkAccessFlagBits = 8192;
pub const VK_ACCESS_HOST_WRITE_BIT: VkAccessFlagBits = 16384;
pub const VK_ACCESS_MEMORY_READ_BIT: VkAccessFlagBits = 32768;
pub const VK_ACCESS_MEMORY_WRITE_BIT: VkAccessFlagBits = 65536;
pub const VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT: VkAccessFlagBits = 33554432;
pub const VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT: VkAccessFlagBits = 67108864;
pub const VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT: VkAccessFlagBits = 134217728;
pub const VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT: VkAccessFlagBits = 1048576;
pub const VK_ACCESS_COMMAND_PROCESS_READ_BIT_NVX: VkAccessFlagBits = 131072;
pub const VK_ACCESS_COMMAND_PROCESS_WRITE_BIT_NVX: VkAccessFlagBits = 262144;
pub const VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT: VkAccessFlagBits = 524288;
pub const VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV: VkAccessFlagBits = 8388608;
pub const VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV: VkAccessFlagBits = 2097152;
pub const VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV: VkAccessFlagBits = 4194304;
pub const VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT: VkAccessFlagBits = 16777216;
pub const VK_ACCESS_FLAG_BITS_MAX_ENUM: VkAccessFlagBits = 2147483647;
pub type VkAccessFlagBits = u32;
pub type VkAccessFlags = VkFlags;
pub const VK_DEPENDENCY_BY_REGION_BIT: VkDependencyFlagBits = 1;
pub const VK_DEPENDENCY_DEVICE_GROUP_BIT: VkDependencyFlagBits = 4;
pub const VK_DEPENDENCY_VIEW_LOCAL_BIT: VkDependencyFlagBits = 2;
pub const VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR: VkDependencyFlagBits = 2;
pub const VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR: VkDependencyFlagBits = 4;
pub const VK_DEPENDENCY_FLAG_BITS_MAX_ENUM: VkDependencyFlagBits = 2147483647;
pub type VkDependencyFlagBits = u32;
pub type VkDependencyFlags = VkFlags;
pub const VK_COMMAND_POOL_CREATE_TRANSIENT_BIT: VkCommandPoolCreateFlagBits = 1;
pub const VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT: VkCommandPoolCreateFlagBits = 2;
pub const VK_COMMAND_POOL_CREATE_PROTECTED_BIT: VkCommandPoolCreateFlagBits = 4;
pub const VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM: VkCommandPoolCreateFlagBits = 2147483647;
pub type VkCommandPoolCreateFlagBits = u32;
pub type VkCommandPoolCreateFlags = VkFlags;
pub const VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT: VkCommandPoolResetFlagBits = 1;
pub const VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM: VkCommandPoolResetFlagBits = 2147483647;
pub type VkCommandPoolResetFlagBits = u32;
pub type VkCommandPoolResetFlags = VkFlags;
pub const VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT: VkCommandBufferUsageFlagBits = 1;
pub const VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT: VkCommandBufferUsageFlagBits = 2;
pub const VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT: VkCommandBufferUsageFlagBits = 4;
pub const VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM: VkCommandBufferUsageFlagBits = 2147483647;
pub type VkCommandBufferUsageFlagBits = u32;
pub type VkCommandBufferUsageFlags = VkFlags;
pub const VK_QUERY_CONTROL_PRECISE_BIT: VkQueryControlFlagBits = 1;
pub const VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM: VkQueryControlFlagBits = 2147483647;
pub type VkQueryControlFlagBits = u32;
pub type VkQueryControlFlags = VkFlags;
pub const VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT: VkCommandBufferResetFlagBits = 1;
pub const VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM: VkCommandBufferResetFlagBits = 2147483647;
pub type VkCommandBufferResetFlagBits = u32;
pub type VkCommandBufferResetFlags = VkFlags;
pub const VK_STENCIL_FACE_FRONT_BIT: VkStencilFaceFlagBits = 1;
pub const VK_STENCIL_FACE_BACK_BIT: VkStencilFaceFlagBits = 2;
pub const VK_STENCIL_FRONT_AND_BACK: VkStencilFaceFlagBits = 3;
pub const VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM: VkStencilFaceFlagBits = 2147483647;
pub type VkStencilFaceFlagBits = u32;
pub type VkStencilFaceFlags = VkFlags;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkApplicationInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub pApplicationName: *const ::std::os::raw::c_char,
pub applicationVersion: u32,
pub pEngineName: *const ::std::os::raw::c_char,
pub engineVersion: u32,
pub apiVersion: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkInstanceCreateInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkInstanceCreateFlags,
pub pApplicationInfo: *const VkApplicationInfo,
pub enabledLayerCount: u32,
pub ppEnabledLayerNames: *const *const ::std::os::raw::c_char,
pub enabledExtensionCount: u32,
pub ppEnabledExtensionNames: *const *const ::std::os::raw::c_char,
}
pub type PFN_vkAllocationFunction = ::std::option::Option<
unsafe extern "system" fn(
pUserData: *mut ::std::os::raw::c_void,
size: usize,
alignment: usize,
allocationScope: VkSystemAllocationScope,
) -> *mut ::std::os::raw::c_void,
>;
pub type PFN_vkReallocationFunction = ::std::option::Option<
unsafe extern "system" fn(
pUserData: *mut ::std::os::raw::c_void,
pOriginal: *mut ::std::os::raw::c_void,
size: usize,
alignment: usize,
allocationScope: VkSystemAllocationScope,
) -> *mut ::std::os::raw::c_void,
>;
pub type PFN_vkFreeFunction = ::std::option::Option<
unsafe extern "system" fn(
pUserData: *mut ::std::os::raw::c_void,
pMemory: *mut ::std::os::raw::c_void,
),
>;
pub type PFN_vkInternalAllocationNotification = ::std::option::Option<
unsafe extern "system" fn(
pUserData: *mut ::std::os::raw::c_void,
size: usize,
allocationType: VkInternalAllocationType,
allocationScope: VkSystemAllocationScope,
),
>;
pub type PFN_vkInternalFreeNotification = ::std::option::Option<
unsafe extern "system" fn(
pUserData: *mut ::std::os::raw::c_void,
size: usize,
allocationType: VkInternalAllocationType,
allocationScope: VkSystemAllocationScope,
),
>;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkAllocationCallbacks {
pub pUserData: *mut ::std::os::raw::c_void,
pub pfnAllocation: PFN_vkAllocationFunction,
pub pfnReallocation: PFN_vkReallocationFunction,
pub pfnFree: PFN_vkFreeFunction,
pub pfnInternalAllocation: PFN_vkInternalAllocationNotification,
pub pfnInternalFree: PFN_vkInternalFreeNotification,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceFeatures {
pub robustBufferAccess: VkBool32,
pub fullDrawIndexUint32: VkBool32,
pub imageCubeArray: VkBool32,
pub independentBlend: VkBool32,
pub geometryShader: VkBool32,
pub tessellationShader: VkBool32,
pub sampleRateShading: VkBool32,
pub dualSrcBlend: VkBool32,
pub logicOp: VkBool32,
pub multiDrawIndirect: VkBool32,
pub drawIndirectFirstInstance: VkBool32,
pub depthClamp: VkBool32,
pub depthBiasClamp: VkBool32,
pub fillModeNonSolid: VkBool32,
pub depthBounds: VkBool32,
pub wideLines: VkBool32,
pub largePoints: VkBool32,
pub alphaToOne: VkBool32,
pub multiViewport: VkBool32,
pub samplerAnisotropy: VkBool32,
pub textureCompressionETC2: VkBool32,
pub textureCompressionASTC_LDR: VkBool32,
pub textureCompressionBC: VkBool32,
pub occlusionQueryPrecise: VkBool32,
pub pipelineStatisticsQuery: VkBool32,
pub vertexPipelineStoresAndAtomics: VkBool32,
pub fragmentStoresAndAtomics: VkBool32,
pub shaderTessellationAndGeometryPointSize: VkBool32,
pub shaderImageGatherExtended: VkBool32,
pub shaderStorageImageExtendedFormats: VkBool32,
pub shaderStorageImageMultisample: VkBool32,
pub shaderStorageImageReadWithoutFormat: VkBool32,
pub shaderStorageImageWriteWithoutFormat: VkBool32,
pub shaderUniformBufferArrayDynamicIndexing: VkBool32,
pub shaderSampledImageArrayDynamicIndexing: VkBool32,
pub shaderStorageBufferArrayDynamicIndexing: VkBool32,
pub shaderStorageImageArrayDynamicIndexing: VkBool32,
pub shaderClipDistance: VkBool32,
pub shaderCullDistance: VkBool32,
pub shaderFloat64: VkBool32,
pub shaderInt64: VkBool32,
pub shaderInt16: VkBool32,
pub shaderResourceResidency: VkBool32,
pub shaderResourceMinLod: VkBool32,
pub sparseBinding: VkBool32,
pub sparseResidencyBuffer: VkBool32,
pub sparseResidencyImage2D: VkBool32,
pub sparseResidencyImage3D: VkBool32,
pub sparseResidency2Samples: VkBool32,
pub sparseResidency4Samples: VkBool32,
pub sparseResidency8Samples: VkBool32,
pub sparseResidency16Samples: VkBool32,
pub sparseResidencyAliased: VkBool32,
pub variableMultisampleRate: VkBool32,
pub inheritedQueries: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkFormatProperties {
pub linearTilingFeatures: VkFormatFeatureFlags,
pub optimalTilingFeatures: VkFormatFeatureFlags,
pub bufferFeatures: VkFormatFeatureFlags,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkExtent3D {
pub width: u32,
pub height: u32,
pub depth: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkImageFormatProperties {
pub maxExtent: VkExtent3D,
pub maxMipLevels: u32,
pub maxArrayLayers: u32,
pub sampleCounts: VkSampleCountFlags,
pub maxResourceSize: VkDeviceSize,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceLimits {
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: VkDeviceSize,
pub sparseAddressSpaceSize: VkDeviceSize,
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; 3usize],
pub maxComputeWorkGroupInvocations: u32,
pub maxComputeWorkGroupSize: [u32; 3usize],
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; 2usize],
pub viewportBoundsRange: [f32; 2usize],
pub viewportSubPixelBits: u32,
pub minMemoryMapAlignment: usize,
pub minTexelBufferOffsetAlignment: VkDeviceSize,
pub minUniformBufferOffsetAlignment: VkDeviceSize,
pub minStorageBufferOffsetAlignment: VkDeviceSize,
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: VkSampleCountFlags,
pub framebufferDepthSampleCounts: VkSampleCountFlags,
pub framebufferStencilSampleCounts: VkSampleCountFlags,
pub framebufferNoAttachmentsSampleCounts: VkSampleCountFlags,
pub maxColorAttachments: u32,
pub sampledImageColorSampleCounts: VkSampleCountFlags,
pub sampledImageIntegerSampleCounts: VkSampleCountFlags,
pub sampledImageDepthSampleCounts: VkSampleCountFlags,
pub sampledImageStencilSampleCounts: VkSampleCountFlags,
pub storageImageSampleCounts: VkSampleCountFlags,
pub maxSampleMaskWords: u32,
pub timestampComputeAndGraphics: VkBool32,
pub timestampPeriod: f32,
pub maxClipDistances: u32,
pub maxCullDistances: u32,
pub maxCombinedClipAndCullDistances: u32,
pub discreteQueuePriorities: u32,
pub pointSizeRange: [f32; 2usize],
pub lineWidthRange: [f32; 2usize],
pub pointSizeGranularity: f32,
pub lineWidthGranularity: f32,
pub strictLines: VkBool32,
pub standardSampleLocations: VkBool32,
pub optimalBufferCopyOffsetAlignment: VkDeviceSize,
pub optimalBufferCopyRowPitchAlignment: VkDeviceSize,
pub nonCoherentAtomSize: VkDeviceSize,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceSparseProperties {
pub residencyStandard2DBlockShape: VkBool32,
pub residencyStandard2DMultisampleBlockShape: VkBool32,
pub residencyStandard3DBlockShape: VkBool32,
pub residencyAlignedMipSize: VkBool32,
pub residencyNonResidentStrict: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceProperties {
pub apiVersion: u32,
pub driverVersion: u32,
pub vendorID: u32,
pub deviceID: u32,
pub deviceType: VkPhysicalDeviceType,
pub deviceName: [::std::os::raw::c_char; 256usize],
pub pipelineCacheUUID: [u8; 16usize],
pub limits: VkPhysicalDeviceLimits,
pub sparseProperties: VkPhysicalDeviceSparseProperties,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkQueueFamilyProperties {
pub queueFlags: VkQueueFlags,
pub queueCount: u32,
pub timestampValidBits: u32,
pub minImageTransferGranularity: VkExtent3D,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkMemoryType {
pub propertyFlags: VkMemoryPropertyFlags,
pub heapIndex: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkMemoryHeap {
pub size: VkDeviceSize,
pub flags: VkMemoryHeapFlags,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceMemoryProperties {
pub memoryTypeCount: u32,
pub memoryTypes: [VkMemoryType; 32usize],
pub memoryHeapCount: u32,
pub memoryHeaps: [VkMemoryHeap; 16usize],
}
pub type PFN_vkVoidFunction = ::std::option::Option<unsafe extern "system" fn()>;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDeviceQueueCreateInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkDeviceQueueCreateFlags,
pub queueFamilyIndex: u32,
pub queueCount: u32,
pub pQueuePriorities: *const f32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDeviceCreateInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkDeviceCreateFlags,
pub queueCreateInfoCount: u32,
pub pQueueCreateInfos: *const VkDeviceQueueCreateInfo,
pub enabledLayerCount: u32,
pub ppEnabledLayerNames: *const *const ::std::os::raw::c_char,
pub enabledExtensionCount: u32,
pub ppEnabledExtensionNames: *const *const ::std::os::raw::c_char,
pub pEnabledFeatures: *const VkPhysicalDeviceFeatures,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkExtensionProperties {
pub extensionName: [::std::os::raw::c_char; 256usize],
pub specVersion: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkLayerProperties {
pub layerName: [::std::os::raw::c_char; 256usize],
pub specVersion: u32,
pub implementationVersion: u32,
pub description: [::std::os::raw::c_char; 256usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkSubmitInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub waitSemaphoreCount: u32,
pub pWaitSemaphores: *const VkSemaphore,
pub pWaitDstStageMask: *const VkPipelineStageFlags,
pub commandBufferCount: u32,
pub pCommandBuffers: *const VkCommandBuffer,
pub signalSemaphoreCount: u32,
pub pSignalSemaphores: *const VkSemaphore,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkMemoryAllocateInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub allocationSize: VkDeviceSize,
pub memoryTypeIndex: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkMappedMemoryRange {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub memory: VkDeviceMemory,
pub offset: VkDeviceSize,
pub size: VkDeviceSize,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkMemoryRequirements {
pub size: VkDeviceSize,
pub alignment: VkDeviceSize,
pub memoryTypeBits: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkSparseImageFormatProperties {
pub aspectMask: VkImageAspectFlags,
pub imageGranularity: VkExtent3D,
pub flags: VkSparseImageFormatFlags,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkSparseImageMemoryRequirements {
pub formatProperties: VkSparseImageFormatProperties,
pub imageMipTailFirstLod: u32,
pub imageMipTailSize: VkDeviceSize,
pub imageMipTailOffset: VkDeviceSize,
pub imageMipTailStride: VkDeviceSize,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkSparseMemoryBind {
pub resourceOffset: VkDeviceSize,
pub size: VkDeviceSize,
pub memory: VkDeviceMemory,
pub memoryOffset: VkDeviceSize,
pub flags: VkSparseMemoryBindFlags,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkSparseBufferMemoryBindInfo {
pub buffer: VkBuffer,
pub bindCount: u32,
pub pBinds: *const VkSparseMemoryBind,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkSparseImageOpaqueMemoryBindInfo {
pub image: VkImage,
pub bindCount: u32,
pub pBinds: *const VkSparseMemoryBind,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkImageSubresource {
pub aspectMask: VkImageAspectFlags,
pub mipLevel: u32,
pub arrayLayer: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkOffset3D {
pub x: i32,
pub y: i32,
pub z: i32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkSparseImageMemoryBind {
pub subresource: VkImageSubresource,
pub offset: VkOffset3D,
pub extent: VkExtent3D,
pub memory: VkDeviceMemory,
pub memoryOffset: VkDeviceSize,
pub flags: VkSparseMemoryBindFlags,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkSparseImageMemoryBindInfo {
pub image: VkImage,
pub bindCount: u32,
pub pBinds: *const VkSparseImageMemoryBind,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkBindSparseInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub waitSemaphoreCount: u32,
pub pWaitSemaphores: *const VkSemaphore,
pub bufferBindCount: u32,
pub pBufferBinds: *const VkSparseBufferMemoryBindInfo,
pub imageOpaqueBindCount: u32,
pub pImageOpaqueBinds: *const VkSparseImageOpaqueMemoryBindInfo,
pub imageBindCount: u32,
pub pImageBinds: *const VkSparseImageMemoryBindInfo,
pub signalSemaphoreCount: u32,
pub pSignalSemaphores: *const VkSemaphore,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkFenceCreateInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkFenceCreateFlags,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkSemaphoreCreateInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkSemaphoreCreateFlags,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkEventCreateInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkEventCreateFlags,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkQueryPoolCreateInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkQueryPoolCreateFlags,
pub queryType: VkQueryType,
pub queryCount: u32,
pub pipelineStatistics: VkQueryPipelineStatisticFlags,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkBufferCreateInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkBufferCreateFlags,
pub size: VkDeviceSize,
pub usage: VkBufferUsageFlags,
pub sharingMode: VkSharingMode,
pub queueFamilyIndexCount: u32,
pub pQueueFamilyIndices: *const u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkBufferViewCreateInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkBufferViewCreateFlags,
pub buffer: VkBuffer,
pub format: VkFormat,
pub offset: VkDeviceSize,
pub range: VkDeviceSize,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkImageCreateInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkImageCreateFlags,
pub imageType: VkImageType,
pub format: VkFormat,
pub extent: VkExtent3D,
pub mipLevels: u32,
pub arrayLayers: u32,
pub samples: VkSampleCountFlagBits,
pub tiling: VkImageTiling,
pub usage: VkImageUsageFlags,
pub sharingMode: VkSharingMode,
pub queueFamilyIndexCount: u32,
pub pQueueFamilyIndices: *const u32,
pub initialLayout: VkImageLayout,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkSubresourceLayout {
pub offset: VkDeviceSize,
pub size: VkDeviceSize,
pub rowPitch: VkDeviceSize,
pub arrayPitch: VkDeviceSize,
pub depthPitch: VkDeviceSize,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkComponentMapping {
pub r: VkComponentSwizzle,
pub g: VkComponentSwizzle,
pub b: VkComponentSwizzle,
pub a: VkComponentSwizzle,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkImageSubresourceRange {
pub aspectMask: VkImageAspectFlags,
pub baseMipLevel: u32,
pub levelCount: u32,
pub baseArrayLayer: u32,
pub layerCount: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkImageViewCreateInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkImageViewCreateFlags,
pub image: VkImage,
pub viewType: VkImageViewType,
pub format: VkFormat,
pub components: VkComponentMapping,
pub subresourceRange: VkImageSubresourceRange,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkShaderModuleCreateInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkShaderModuleCreateFlags,
pub codeSize: usize,
pub pCode: *const u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPipelineCacheCreateInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkPipelineCacheCreateFlags,
pub initialDataSize: usize,
pub pInitialData: *const ::std::os::raw::c_void,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkSpecializationMapEntry {
pub constantID: u32,
pub offset: u32,
pub size: usize,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkSpecializationInfo {
pub mapEntryCount: u32,
pub pMapEntries: *const VkSpecializationMapEntry,
pub dataSize: usize,
pub pData: *const ::std::os::raw::c_void,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPipelineShaderStageCreateInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkPipelineShaderStageCreateFlags,
pub stage: VkShaderStageFlagBits,
pub module: VkShaderModule,
pub pName: *const ::std::os::raw::c_char,
pub pSpecializationInfo: *const VkSpecializationInfo,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkVertexInputBindingDescription {
pub binding: u32,
pub stride: u32,
pub inputRate: VkVertexInputRate,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkVertexInputAttributeDescription {
pub location: u32,
pub binding: u32,
pub format: VkFormat,
pub offset: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPipelineVertexInputStateCreateInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkPipelineVertexInputStateCreateFlags,
pub vertexBindingDescriptionCount: u32,
pub pVertexBindingDescriptions: *const VkVertexInputBindingDescription,
pub vertexAttributeDescriptionCount: u32,
pub pVertexAttributeDescriptions: *const VkVertexInputAttributeDescription,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPipelineInputAssemblyStateCreateInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkPipelineInputAssemblyStateCreateFlags,
pub topology: VkPrimitiveTopology,
pub primitiveRestartEnable: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPipelineTessellationStateCreateInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkPipelineTessellationStateCreateFlags,
pub patchControlPoints: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkViewport {
pub x: f32,
pub y: f32,
pub width: f32,
pub height: f32,
pub minDepth: f32,
pub maxDepth: f32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkOffset2D {
pub x: i32,
pub y: i32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkExtent2D {
pub width: u32,
pub height: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkRect2D {
pub offset: VkOffset2D,
pub extent: VkExtent2D,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPipelineViewportStateCreateInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkPipelineViewportStateCreateFlags,
pub viewportCount: u32,
pub pViewports: *const VkViewport,
pub scissorCount: u32,
pub pScissors: *const VkRect2D,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPipelineRasterizationStateCreateInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkPipelineRasterizationStateCreateFlags,
pub depthClampEnable: VkBool32,
pub rasterizerDiscardEnable: VkBool32,
pub polygonMode: VkPolygonMode,
pub cullMode: VkCullModeFlags,
pub frontFace: VkFrontFace,
pub depthBiasEnable: VkBool32,
pub depthBiasConstantFactor: f32,
pub depthBiasClamp: f32,
pub depthBiasSlopeFactor: f32,
pub lineWidth: f32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPipelineMultisampleStateCreateInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkPipelineMultisampleStateCreateFlags,
pub rasterizationSamples: VkSampleCountFlagBits,
pub sampleShadingEnable: VkBool32,
pub minSampleShading: f32,
pub pSampleMask: *const VkSampleMask,
pub alphaToCoverageEnable: VkBool32,
pub alphaToOneEnable: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkStencilOpState {
pub failOp: VkStencilOp,
pub passOp: VkStencilOp,
pub depthFailOp: VkStencilOp,
pub compareOp: VkCompareOp,
pub compareMask: u32,
pub writeMask: u32,
pub reference: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPipelineDepthStencilStateCreateInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkPipelineDepthStencilStateCreateFlags,
pub depthTestEnable: VkBool32,
pub depthWriteEnable: VkBool32,
pub depthCompareOp: VkCompareOp,
pub depthBoundsTestEnable: VkBool32,
pub stencilTestEnable: VkBool32,
pub front: VkStencilOpState,
pub back: VkStencilOpState,
pub minDepthBounds: f32,
pub maxDepthBounds: f32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPipelineColorBlendAttachmentState {
pub blendEnable: VkBool32,
pub srcColorBlendFactor: VkBlendFactor,
pub dstColorBlendFactor: VkBlendFactor,
pub colorBlendOp: VkBlendOp,
pub srcAlphaBlendFactor: VkBlendFactor,
pub dstAlphaBlendFactor: VkBlendFactor,
pub alphaBlendOp: VkBlendOp,
pub colorWriteMask: VkColorComponentFlags,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPipelineColorBlendStateCreateInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkPipelineColorBlendStateCreateFlags,
pub logicOpEnable: VkBool32,
pub logicOp: VkLogicOp,
pub attachmentCount: u32,
pub pAttachments: *const VkPipelineColorBlendAttachmentState,
pub blendConstants: [f32; 4usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPipelineDynamicStateCreateInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkPipelineDynamicStateCreateFlags,
pub dynamicStateCount: u32,
pub pDynamicStates: *const VkDynamicState,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkGraphicsPipelineCreateInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkPipelineCreateFlags,
pub stageCount: u32,
pub pStages: *const VkPipelineShaderStageCreateInfo,
pub pVertexInputState: *const VkPipelineVertexInputStateCreateInfo,
pub pInputAssemblyState: *const VkPipelineInputAssemblyStateCreateInfo,
pub pTessellationState: *const VkPipelineTessellationStateCreateInfo,
pub pViewportState: *const VkPipelineViewportStateCreateInfo,
pub pRasterizationState: *const VkPipelineRasterizationStateCreateInfo,
pub pMultisampleState: *const VkPipelineMultisampleStateCreateInfo,
pub pDepthStencilState: *const VkPipelineDepthStencilStateCreateInfo,
pub pColorBlendState: *const VkPipelineColorBlendStateCreateInfo,
pub pDynamicState: *const VkPipelineDynamicStateCreateInfo,
pub layout: VkPipelineLayout,
pub renderPass: VkRenderPass,
pub subpass: u32,
pub basePipelineHandle: VkPipeline,
pub basePipelineIndex: i32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkComputePipelineCreateInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkPipelineCreateFlags,
pub stage: VkPipelineShaderStageCreateInfo,
pub layout: VkPipelineLayout,
pub basePipelineHandle: VkPipeline,
pub basePipelineIndex: i32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPushConstantRange {
pub stageFlags: VkShaderStageFlags,
pub offset: u32,
pub size: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPipelineLayoutCreateInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkPipelineLayoutCreateFlags,
pub setLayoutCount: u32,
pub pSetLayouts: *const VkDescriptorSetLayout,
pub pushConstantRangeCount: u32,
pub pPushConstantRanges: *const VkPushConstantRange,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkSamplerCreateInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkSamplerCreateFlags,
pub magFilter: VkFilter,
pub minFilter: VkFilter,
pub mipmapMode: VkSamplerMipmapMode,
pub addressModeU: VkSamplerAddressMode,
pub addressModeV: VkSamplerAddressMode,
pub addressModeW: VkSamplerAddressMode,
pub mipLodBias: f32,
pub anisotropyEnable: VkBool32,
pub maxAnisotropy: f32,
pub compareEnable: VkBool32,
pub compareOp: VkCompareOp,
pub minLod: f32,
pub maxLod: f32,
pub borderColor: VkBorderColor,
pub unnormalizedCoordinates: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDescriptorSetLayoutBinding {
pub binding: u32,
pub descriptorType: VkDescriptorType,
pub descriptorCount: u32,
pub stageFlags: VkShaderStageFlags,
pub pImmutableSamplers: *const VkSampler,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDescriptorSetLayoutCreateInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkDescriptorSetLayoutCreateFlags,
pub bindingCount: u32,
pub pBindings: *const VkDescriptorSetLayoutBinding,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDescriptorPoolSize {
pub type_: VkDescriptorType,
pub descriptorCount: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDescriptorPoolCreateInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkDescriptorPoolCreateFlags,
pub maxSets: u32,
pub poolSizeCount: u32,
pub pPoolSizes: *const VkDescriptorPoolSize,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDescriptorSetAllocateInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub descriptorPool: VkDescriptorPool,
pub descriptorSetCount: u32,
pub pSetLayouts: *const VkDescriptorSetLayout,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDescriptorImageInfo {
pub sampler: VkSampler,
pub imageView: VkImageView,
pub imageLayout: VkImageLayout,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDescriptorBufferInfo {
pub buffer: VkBuffer,
pub offset: VkDeviceSize,
pub range: VkDeviceSize,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkWriteDescriptorSet {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub dstSet: VkDescriptorSet,
pub dstBinding: u32,
pub dstArrayElement: u32,
pub descriptorCount: u32,
pub descriptorType: VkDescriptorType,
pub pImageInfo: *const VkDescriptorImageInfo,
pub pBufferInfo: *const VkDescriptorBufferInfo,
pub pTexelBufferView: *const VkBufferView,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkCopyDescriptorSet {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub srcSet: VkDescriptorSet,
pub srcBinding: u32,
pub srcArrayElement: u32,
pub dstSet: VkDescriptorSet,
pub dstBinding: u32,
pub dstArrayElement: u32,
pub descriptorCount: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkFramebufferCreateInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkFramebufferCreateFlags,
pub renderPass: VkRenderPass,
pub attachmentCount: u32,
pub pAttachments: *const VkImageView,
pub width: u32,
pub height: u32,
pub layers: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkAttachmentDescription {
pub flags: VkAttachmentDescriptionFlags,
pub format: VkFormat,
pub samples: VkSampleCountFlagBits,
pub loadOp: VkAttachmentLoadOp,
pub storeOp: VkAttachmentStoreOp,
pub stencilLoadOp: VkAttachmentLoadOp,
pub stencilStoreOp: VkAttachmentStoreOp,
pub initialLayout: VkImageLayout,
pub finalLayout: VkImageLayout,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkAttachmentReference {
pub attachment: u32,
pub layout: VkImageLayout,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkSubpassDescription {
pub flags: VkSubpassDescriptionFlags,
pub pipelineBindPoint: VkPipelineBindPoint,
pub inputAttachmentCount: u32,
pub pInputAttachments: *const VkAttachmentReference,
pub colorAttachmentCount: u32,
pub pColorAttachments: *const VkAttachmentReference,
pub pResolveAttachments: *const VkAttachmentReference,
pub pDepthStencilAttachment: *const VkAttachmentReference,
pub preserveAttachmentCount: u32,
pub pPreserveAttachments: *const u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkSubpassDependency {
pub srcSubpass: u32,
pub dstSubpass: u32,
pub srcStageMask: VkPipelineStageFlags,
pub dstStageMask: VkPipelineStageFlags,
pub srcAccessMask: VkAccessFlags,
pub dstAccessMask: VkAccessFlags,
pub dependencyFlags: VkDependencyFlags,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkRenderPassCreateInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkRenderPassCreateFlags,
pub attachmentCount: u32,
pub pAttachments: *const VkAttachmentDescription,
pub subpassCount: u32,
pub pSubpasses: *const VkSubpassDescription,
pub dependencyCount: u32,
pub pDependencies: *const VkSubpassDependency,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkCommandPoolCreateInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkCommandPoolCreateFlags,
pub queueFamilyIndex: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkCommandBufferAllocateInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub commandPool: VkCommandPool,
pub level: VkCommandBufferLevel,
pub commandBufferCount: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkCommandBufferInheritanceInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub renderPass: VkRenderPass,
pub subpass: u32,
pub framebuffer: VkFramebuffer,
pub occlusionQueryEnable: VkBool32,
pub queryFlags: VkQueryControlFlags,
pub pipelineStatistics: VkQueryPipelineStatisticFlags,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkCommandBufferBeginInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkCommandBufferUsageFlags,
pub pInheritanceInfo: *const VkCommandBufferInheritanceInfo,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkBufferCopy {
pub srcOffset: VkDeviceSize,
pub dstOffset: VkDeviceSize,
pub size: VkDeviceSize,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkImageSubresourceLayers {
pub aspectMask: VkImageAspectFlags,
pub mipLevel: u32,
pub baseArrayLayer: u32,
pub layerCount: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkImageCopy {
pub srcSubresource: VkImageSubresourceLayers,
pub srcOffset: VkOffset3D,
pub dstSubresource: VkImageSubresourceLayers,
pub dstOffset: VkOffset3D,
pub extent: VkExtent3D,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkImageBlit {
pub srcSubresource: VkImageSubresourceLayers,
pub srcOffsets: [VkOffset3D; 2usize],
pub dstSubresource: VkImageSubresourceLayers,
pub dstOffsets: [VkOffset3D; 2usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkBufferImageCopy {
pub bufferOffset: VkDeviceSize,
pub bufferRowLength: u32,
pub bufferImageHeight: u32,
pub imageSubresource: VkImageSubresourceLayers,
pub imageOffset: VkOffset3D,
pub imageExtent: VkExtent3D,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union VkClearColorValue {
pub float32: [f32; 4usize],
pub int32: [i32; 4usize],
pub uint32: [u32; 4usize],
_bindgen_union_align: [u32; 4usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkClearDepthStencilValue {
pub depth: f32,
pub stencil: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union VkClearValue {
pub color: VkClearColorValue,
pub depthStencil: VkClearDepthStencilValue,
_bindgen_union_align: [u32; 4usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkClearAttachment {
pub aspectMask: VkImageAspectFlags,
pub colorAttachment: u32,
pub clearValue: VkClearValue,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkClearRect {
pub rect: VkRect2D,
pub baseArrayLayer: u32,
pub layerCount: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkImageResolve {
pub srcSubresource: VkImageSubresourceLayers,
pub srcOffset: VkOffset3D,
pub dstSubresource: VkImageSubresourceLayers,
pub dstOffset: VkOffset3D,
pub extent: VkExtent3D,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkMemoryBarrier {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub srcAccessMask: VkAccessFlags,
pub dstAccessMask: VkAccessFlags,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkBufferMemoryBarrier {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub srcAccessMask: VkAccessFlags,
pub dstAccessMask: VkAccessFlags,
pub srcQueueFamilyIndex: u32,
pub dstQueueFamilyIndex: u32,
pub buffer: VkBuffer,
pub offset: VkDeviceSize,
pub size: VkDeviceSize,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkImageMemoryBarrier {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub srcAccessMask: VkAccessFlags,
pub dstAccessMask: VkAccessFlags,
pub oldLayout: VkImageLayout,
pub newLayout: VkImageLayout,
pub srcQueueFamilyIndex: u32,
pub dstQueueFamilyIndex: u32,
pub image: VkImage,
pub subresourceRange: VkImageSubresourceRange,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkRenderPassBeginInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub renderPass: VkRenderPass,
pub framebuffer: VkFramebuffer,
pub renderArea: VkRect2D,
pub clearValueCount: u32,
pub pClearValues: *const VkClearValue,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDispatchIndirectCommand {
pub x: u32,
pub y: u32,
pub z: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDrawIndexedIndirectCommand {
pub indexCount: u32,
pub instanceCount: u32,
pub firstIndex: u32,
pub vertexOffset: i32,
pub firstInstance: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDrawIndirectCommand {
pub vertexCount: u32,
pub instanceCount: u32,
pub firstVertex: u32,
pub firstInstance: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkBaseOutStructure {
pub sType: VkStructureType,
pub pNext: *mut VkBaseOutStructure,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkBaseInStructure {
pub sType: VkStructureType,
pub pNext: *const VkBaseInStructure,
}
pub type PFN_vkCreateInstance = ::std::option::Option<
unsafe extern "system" fn(
pCreateInfo: *const VkInstanceCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pInstance: *mut VkInstance,
) -> VkResult,
>;
pub type PFN_vkDestroyInstance = ::std::option::Option<
unsafe extern "system" fn(instance: VkInstance, pAllocator: *const VkAllocationCallbacks),
>;
pub type PFN_vkEnumeratePhysicalDevices = ::std::option::Option<
unsafe extern "system" fn(
instance: VkInstance,
pPhysicalDeviceCount: *mut u32,
pPhysicalDevices: *mut VkPhysicalDevice,
) -> VkResult,
>;
pub type PFN_vkGetPhysicalDeviceFeatures = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
pFeatures: *mut VkPhysicalDeviceFeatures,
),
>;
pub type PFN_vkGetPhysicalDeviceFormatProperties = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
format: VkFormat,
pFormatProperties: *mut VkFormatProperties,
),
>;
pub type PFN_vkGetPhysicalDeviceImageFormatProperties = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
format: VkFormat,
type_: VkImageType,
tiling: VkImageTiling,
usage: VkImageUsageFlags,
flags: VkImageCreateFlags,
pImageFormatProperties: *mut VkImageFormatProperties,
) -> VkResult,
>;
pub type PFN_vkGetPhysicalDeviceProperties = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
pProperties: *mut VkPhysicalDeviceProperties,
),
>;
pub type PFN_vkGetPhysicalDeviceQueueFamilyProperties = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
pQueueFamilyPropertyCount: *mut u32,
pQueueFamilyProperties: *mut VkQueueFamilyProperties,
),
>;
pub type PFN_vkGetPhysicalDeviceMemoryProperties = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
pMemoryProperties: *mut VkPhysicalDeviceMemoryProperties,
),
>;
pub type PFN_vkGetInstanceProcAddr = ::std::option::Option<
unsafe extern "system" fn(
instance: VkInstance,
pName: *const ::std::os::raw::c_char,
) -> PFN_vkVoidFunction,
>;
pub type PFN_vkGetDeviceProcAddr = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pName: *const ::std::os::raw::c_char,
) -> PFN_vkVoidFunction,
>;
pub type PFN_vkCreateDevice = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
pCreateInfo: *const VkDeviceCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pDevice: *mut VkDevice,
) -> VkResult,
>;
pub type PFN_vkDestroyDevice = ::std::option::Option<
unsafe extern "system" fn(device: VkDevice, pAllocator: *const VkAllocationCallbacks),
>;
pub type PFN_vkEnumerateInstanceExtensionProperties = ::std::option::Option<
unsafe extern "system" fn(
pLayerName: *const ::std::os::raw::c_char,
pPropertyCount: *mut u32,
pProperties: *mut VkExtensionProperties,
) -> VkResult,
>;
pub type PFN_vkEnumerateDeviceExtensionProperties = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
pLayerName: *const ::std::os::raw::c_char,
pPropertyCount: *mut u32,
pProperties: *mut VkExtensionProperties,
) -> VkResult,
>;
pub type PFN_vkEnumerateInstanceLayerProperties = ::std::option::Option<
unsafe extern "system" fn(
pPropertyCount: *mut u32,
pProperties: *mut VkLayerProperties,
) -> VkResult,
>;
pub type PFN_vkEnumerateDeviceLayerProperties = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
pPropertyCount: *mut u32,
pProperties: *mut VkLayerProperties,
) -> VkResult,
>;
pub type PFN_vkGetDeviceQueue = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
queueFamilyIndex: u32,
queueIndex: u32,
pQueue: *mut VkQueue,
),
>;
pub type PFN_vkQueueSubmit = ::std::option::Option<
unsafe extern "system" fn(
queue: VkQueue,
submitCount: u32,
pSubmits: *const VkSubmitInfo,
fence: VkFence,
) -> VkResult,
>;
pub type PFN_vkQueueWaitIdle =
::std::option::Option<unsafe extern "system" fn(queue: VkQueue) -> VkResult>;
pub type PFN_vkDeviceWaitIdle =
::std::option::Option<unsafe extern "system" fn(device: VkDevice) -> VkResult>;
pub type PFN_vkAllocateMemory = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pAllocateInfo: *const VkMemoryAllocateInfo,
pAllocator: *const VkAllocationCallbacks,
pMemory: *mut VkDeviceMemory,
) -> VkResult,
>;
pub type PFN_vkFreeMemory = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
memory: VkDeviceMemory,
pAllocator: *const VkAllocationCallbacks,
),
>;
pub type PFN_vkMapMemory = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
memory: VkDeviceMemory,
offset: VkDeviceSize,
size: VkDeviceSize,
flags: VkMemoryMapFlags,
ppData: *mut *mut ::std::os::raw::c_void,
) -> VkResult,
>;
pub type PFN_vkUnmapMemory =
::std::option::Option<unsafe extern "system" fn(device: VkDevice, memory: VkDeviceMemory)>;
pub type PFN_vkFlushMappedMemoryRanges = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
memoryRangeCount: u32,
pMemoryRanges: *const VkMappedMemoryRange,
) -> VkResult,
>;
pub type PFN_vkInvalidateMappedMemoryRanges = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
memoryRangeCount: u32,
pMemoryRanges: *const VkMappedMemoryRange,
) -> VkResult,
>;
pub type PFN_vkGetDeviceMemoryCommitment = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
memory: VkDeviceMemory,
pCommittedMemoryInBytes: *mut VkDeviceSize,
),
>;
pub type PFN_vkBindBufferMemory = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
buffer: VkBuffer,
memory: VkDeviceMemory,
memoryOffset: VkDeviceSize,
) -> VkResult,
>;
pub type PFN_vkBindImageMemory = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
image: VkImage,
memory: VkDeviceMemory,
memoryOffset: VkDeviceSize,
) -> VkResult,
>;
pub type PFN_vkGetBufferMemoryRequirements = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
buffer: VkBuffer,
pMemoryRequirements: *mut VkMemoryRequirements,
),
>;
pub type PFN_vkGetImageMemoryRequirements = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
image: VkImage,
pMemoryRequirements: *mut VkMemoryRequirements,
),
>;
pub type PFN_vkGetImageSparseMemoryRequirements = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
image: VkImage,
pSparseMemoryRequirementCount: *mut u32,
pSparseMemoryRequirements: *mut VkSparseImageMemoryRequirements,
),
>;
pub type PFN_vkGetPhysicalDeviceSparseImageFormatProperties = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
format: VkFormat,
type_: VkImageType,
samples: VkSampleCountFlagBits,
usage: VkImageUsageFlags,
tiling: VkImageTiling,
pPropertyCount: *mut u32,
pProperties: *mut VkSparseImageFormatProperties,
),
>;
pub type PFN_vkQueueBindSparse = ::std::option::Option<
unsafe extern "system" fn(
queue: VkQueue,
bindInfoCount: u32,
pBindInfo: *const VkBindSparseInfo,
fence: VkFence,
) -> VkResult,
>;
pub type PFN_vkCreateFence = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pCreateInfo: *const VkFenceCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pFence: *mut VkFence,
) -> VkResult,
>;
pub type PFN_vkDestroyFence = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
fence: VkFence,
pAllocator: *const VkAllocationCallbacks,
),
>;
pub type PFN_vkResetFences = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
fenceCount: u32,
pFences: *const VkFence,
) -> VkResult,
>;
pub type PFN_vkGetFenceStatus =
::std::option::Option<unsafe extern "system" fn(device: VkDevice, fence: VkFence) -> VkResult>;
pub type PFN_vkWaitForFences = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
fenceCount: u32,
pFences: *const VkFence,
waitAll: VkBool32,
timeout: u64,
) -> VkResult,
>;
pub type PFN_vkCreateSemaphore = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pCreateInfo: *const VkSemaphoreCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pSemaphore: *mut VkSemaphore,
) -> VkResult,
>;
pub type PFN_vkDestroySemaphore = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
semaphore: VkSemaphore,
pAllocator: *const VkAllocationCallbacks,
),
>;
pub type PFN_vkCreateEvent = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pCreateInfo: *const VkEventCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pEvent: *mut VkEvent,
) -> VkResult,
>;
pub type PFN_vkDestroyEvent = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
event: VkEvent,
pAllocator: *const VkAllocationCallbacks,
),
>;
pub type PFN_vkGetEventStatus =
::std::option::Option<unsafe extern "system" fn(device: VkDevice, event: VkEvent) -> VkResult>;
pub type PFN_vkSetEvent =
::std::option::Option<unsafe extern "system" fn(device: VkDevice, event: VkEvent) -> VkResult>;
pub type PFN_vkResetEvent =
::std::option::Option<unsafe extern "system" fn(device: VkDevice, event: VkEvent) -> VkResult>;
pub type PFN_vkCreateQueryPool = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pCreateInfo: *const VkQueryPoolCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pQueryPool: *mut VkQueryPool,
) -> VkResult,
>;
pub type PFN_vkDestroyQueryPool = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
queryPool: VkQueryPool,
pAllocator: *const VkAllocationCallbacks,
),
>;
pub type PFN_vkGetQueryPoolResults = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
queryPool: VkQueryPool,
firstQuery: u32,
queryCount: u32,
dataSize: usize,
pData: *mut ::std::os::raw::c_void,
stride: VkDeviceSize,
flags: VkQueryResultFlags,
) -> VkResult,
>;
pub type PFN_vkCreateBuffer = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pCreateInfo: *const VkBufferCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pBuffer: *mut VkBuffer,
) -> VkResult,
>;
pub type PFN_vkDestroyBuffer = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
buffer: VkBuffer,
pAllocator: *const VkAllocationCallbacks,
),
>;
pub type PFN_vkCreateBufferView = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pCreateInfo: *const VkBufferViewCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pView: *mut VkBufferView,
) -> VkResult,
>;
pub type PFN_vkDestroyBufferView = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
bufferView: VkBufferView,
pAllocator: *const VkAllocationCallbacks,
),
>;
pub type PFN_vkCreateImage = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pCreateInfo: *const VkImageCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pImage: *mut VkImage,
) -> VkResult,
>;
pub type PFN_vkDestroyImage = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
image: VkImage,
pAllocator: *const VkAllocationCallbacks,
),
>;
pub type PFN_vkGetImageSubresourceLayout = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
image: VkImage,
pSubresource: *const VkImageSubresource,
pLayout: *mut VkSubresourceLayout,
),
>;
pub type PFN_vkCreateImageView = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pCreateInfo: *const VkImageViewCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pView: *mut VkImageView,
) -> VkResult,
>;
pub type PFN_vkDestroyImageView = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
imageView: VkImageView,
pAllocator: *const VkAllocationCallbacks,
),
>;
pub type PFN_vkCreateShaderModule = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pCreateInfo: *const VkShaderModuleCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pShaderModule: *mut VkShaderModule,
) -> VkResult,
>;
pub type PFN_vkDestroyShaderModule = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
shaderModule: VkShaderModule,
pAllocator: *const VkAllocationCallbacks,
),
>;
pub type PFN_vkCreatePipelineCache = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pCreateInfo: *const VkPipelineCacheCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pPipelineCache: *mut VkPipelineCache,
) -> VkResult,
>;
pub type PFN_vkDestroyPipelineCache = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pipelineCache: VkPipelineCache,
pAllocator: *const VkAllocationCallbacks,
),
>;
pub type PFN_vkGetPipelineCacheData = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pipelineCache: VkPipelineCache,
pDataSize: *mut usize,
pData: *mut ::std::os::raw::c_void,
) -> VkResult,
>;
pub type PFN_vkMergePipelineCaches = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
dstCache: VkPipelineCache,
srcCacheCount: u32,
pSrcCaches: *const VkPipelineCache,
) -> VkResult,
>;
pub type PFN_vkCreateGraphicsPipelines = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pipelineCache: VkPipelineCache,
createInfoCount: u32,
pCreateInfos: *const VkGraphicsPipelineCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pPipelines: *mut VkPipeline,
) -> VkResult,
>;
pub type PFN_vkCreateComputePipelines = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pipelineCache: VkPipelineCache,
createInfoCount: u32,
pCreateInfos: *const VkComputePipelineCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pPipelines: *mut VkPipeline,
) -> VkResult,
>;
pub type PFN_vkDestroyPipeline = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pipeline: VkPipeline,
pAllocator: *const VkAllocationCallbacks,
),
>;
pub type PFN_vkCreatePipelineLayout = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pCreateInfo: *const VkPipelineLayoutCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pPipelineLayout: *mut VkPipelineLayout,
) -> VkResult,
>;
pub type PFN_vkDestroyPipelineLayout = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pipelineLayout: VkPipelineLayout,
pAllocator: *const VkAllocationCallbacks,
),
>;
pub type PFN_vkCreateSampler = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pCreateInfo: *const VkSamplerCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pSampler: *mut VkSampler,
) -> VkResult,
>;
pub type PFN_vkDestroySampler = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
sampler: VkSampler,
pAllocator: *const VkAllocationCallbacks,
),
>;
pub type PFN_vkCreateDescriptorSetLayout = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pCreateInfo: *const VkDescriptorSetLayoutCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pSetLayout: *mut VkDescriptorSetLayout,
) -> VkResult,
>;
pub type PFN_vkDestroyDescriptorSetLayout = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
descriptorSetLayout: VkDescriptorSetLayout,
pAllocator: *const VkAllocationCallbacks,
),
>;
pub type PFN_vkCreateDescriptorPool = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pCreateInfo: *const VkDescriptorPoolCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pDescriptorPool: *mut VkDescriptorPool,
) -> VkResult,
>;
pub type PFN_vkDestroyDescriptorPool = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
descriptorPool: VkDescriptorPool,
pAllocator: *const VkAllocationCallbacks,
),
>;
pub type PFN_vkResetDescriptorPool = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
descriptorPool: VkDescriptorPool,
flags: VkDescriptorPoolResetFlags,
) -> VkResult,
>;
pub type PFN_vkAllocateDescriptorSets = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pAllocateInfo: *const VkDescriptorSetAllocateInfo,
pDescriptorSets: *mut VkDescriptorSet,
) -> VkResult,
>;
pub type PFN_vkFreeDescriptorSets = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
descriptorPool: VkDescriptorPool,
descriptorSetCount: u32,
pDescriptorSets: *const VkDescriptorSet,
) -> VkResult,
>;
pub type PFN_vkUpdateDescriptorSets = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
descriptorWriteCount: u32,
pDescriptorWrites: *const VkWriteDescriptorSet,
descriptorCopyCount: u32,
pDescriptorCopies: *const VkCopyDescriptorSet,
),
>;
pub type PFN_vkCreateFramebuffer = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pCreateInfo: *const VkFramebufferCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pFramebuffer: *mut VkFramebuffer,
) -> VkResult,
>;
pub type PFN_vkDestroyFramebuffer = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
framebuffer: VkFramebuffer,
pAllocator: *const VkAllocationCallbacks,
),
>;
pub type PFN_vkCreateRenderPass = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pCreateInfo: *const VkRenderPassCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pRenderPass: *mut VkRenderPass,
) -> VkResult,
>;
pub type PFN_vkDestroyRenderPass = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
renderPass: VkRenderPass,
pAllocator: *const VkAllocationCallbacks,
),
>;
pub type PFN_vkGetRenderAreaGranularity = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
renderPass: VkRenderPass,
pGranularity: *mut VkExtent2D,
),
>;
pub type PFN_vkCreateCommandPool = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pCreateInfo: *const VkCommandPoolCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pCommandPool: *mut VkCommandPool,
) -> VkResult,
>;
pub type PFN_vkDestroyCommandPool = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
commandPool: VkCommandPool,
pAllocator: *const VkAllocationCallbacks,
),
>;
pub type PFN_vkResetCommandPool = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
commandPool: VkCommandPool,
flags: VkCommandPoolResetFlags,
) -> VkResult,
>;
pub type PFN_vkAllocateCommandBuffers = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pAllocateInfo: *const VkCommandBufferAllocateInfo,
pCommandBuffers: *mut VkCommandBuffer,
) -> VkResult,
>;
pub type PFN_vkFreeCommandBuffers = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
commandPool: VkCommandPool,
commandBufferCount: u32,
pCommandBuffers: *const VkCommandBuffer,
),
>;
pub type PFN_vkBeginCommandBuffer = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
pBeginInfo: *const VkCommandBufferBeginInfo,
) -> VkResult,
>;
pub type PFN_vkEndCommandBuffer =
::std::option::Option<unsafe extern "system" fn(commandBuffer: VkCommandBuffer) -> VkResult>;
pub type PFN_vkResetCommandBuffer = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
flags: VkCommandBufferResetFlags,
) -> VkResult,
>;
pub type PFN_vkCmdBindPipeline = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
pipelineBindPoint: VkPipelineBindPoint,
pipeline: VkPipeline,
),
>;
pub type PFN_vkCmdSetViewport = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
firstViewport: u32,
viewportCount: u32,
pViewports: *const VkViewport,
),
>;
pub type PFN_vkCmdSetScissor = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
firstScissor: u32,
scissorCount: u32,
pScissors: *const VkRect2D,
),
>;
pub type PFN_vkCmdSetLineWidth = ::std::option::Option<
unsafe extern "system" fn(commandBuffer: VkCommandBuffer, lineWidth: f32),
>;
pub type PFN_vkCmdSetDepthBias = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
depthBiasConstantFactor: f32,
depthBiasClamp: f32,
depthBiasSlopeFactor: f32,
),
>;
pub type PFN_vkCmdSetBlendConstants = ::std::option::Option<
unsafe extern "system" fn(commandBuffer: VkCommandBuffer, blendConstants: *const f32),
>;
pub type PFN_vkCmdSetDepthBounds = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
minDepthBounds: f32,
maxDepthBounds: f32,
),
>;
pub type PFN_vkCmdSetStencilCompareMask = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
faceMask: VkStencilFaceFlags,
compareMask: u32,
),
>;
pub type PFN_vkCmdSetStencilWriteMask = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
faceMask: VkStencilFaceFlags,
writeMask: u32,
),
>;
pub type PFN_vkCmdSetStencilReference = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
faceMask: VkStencilFaceFlags,
reference: u32,
),
>;
pub type PFN_vkCmdBindDescriptorSets = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
pipelineBindPoint: VkPipelineBindPoint,
layout: VkPipelineLayout,
firstSet: u32,
descriptorSetCount: u32,
pDescriptorSets: *const VkDescriptorSet,
dynamicOffsetCount: u32,
pDynamicOffsets: *const u32,
),
>;
pub type PFN_vkCmdBindIndexBuffer = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
buffer: VkBuffer,
offset: VkDeviceSize,
indexType: VkIndexType,
),
>;
pub type PFN_vkCmdBindVertexBuffers = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
firstBinding: u32,
bindingCount: u32,
pBuffers: *const VkBuffer,
pOffsets: *const VkDeviceSize,
),
>;
pub type PFN_vkCmdDraw = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
vertexCount: u32,
instanceCount: u32,
firstVertex: u32,
firstInstance: u32,
),
>;
pub type PFN_vkCmdDrawIndexed = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
indexCount: u32,
instanceCount: u32,
firstIndex: u32,
vertexOffset: i32,
firstInstance: u32,
),
>;
pub type PFN_vkCmdDrawIndirect = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
buffer: VkBuffer,
offset: VkDeviceSize,
drawCount: u32,
stride: u32,
),
>;
pub type PFN_vkCmdDrawIndexedIndirect = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
buffer: VkBuffer,
offset: VkDeviceSize,
drawCount: u32,
stride: u32,
),
>;
pub type PFN_vkCmdDispatch = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
groupCountX: u32,
groupCountY: u32,
groupCountZ: u32,
),
>;
pub type PFN_vkCmdDispatchIndirect = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
buffer: VkBuffer,
offset: VkDeviceSize,
),
>;
pub type PFN_vkCmdCopyBuffer = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
srcBuffer: VkBuffer,
dstBuffer: VkBuffer,
regionCount: u32,
pRegions: *const VkBufferCopy,
),
>;
pub type PFN_vkCmdCopyImage = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
srcImage: VkImage,
srcImageLayout: VkImageLayout,
dstImage: VkImage,
dstImageLayout: VkImageLayout,
regionCount: u32,
pRegions: *const VkImageCopy,
),
>;
pub type PFN_vkCmdBlitImage = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
srcImage: VkImage,
srcImageLayout: VkImageLayout,
dstImage: VkImage,
dstImageLayout: VkImageLayout,
regionCount: u32,
pRegions: *const VkImageBlit,
filter: VkFilter,
),
>;
pub type PFN_vkCmdCopyBufferToImage = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
srcBuffer: VkBuffer,
dstImage: VkImage,
dstImageLayout: VkImageLayout,
regionCount: u32,
pRegions: *const VkBufferImageCopy,
),
>;
pub type PFN_vkCmdCopyImageToBuffer = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
srcImage: VkImage,
srcImageLayout: VkImageLayout,
dstBuffer: VkBuffer,
regionCount: u32,
pRegions: *const VkBufferImageCopy,
),
>;
pub type PFN_vkCmdUpdateBuffer = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
dstBuffer: VkBuffer,
dstOffset: VkDeviceSize,
dataSize: VkDeviceSize,
pData: *const ::std::os::raw::c_void,
),
>;
pub type PFN_vkCmdFillBuffer = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
dstBuffer: VkBuffer,
dstOffset: VkDeviceSize,
size: VkDeviceSize,
data: u32,
),
>;
pub type PFN_vkCmdClearColorImage = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
image: VkImage,
imageLayout: VkImageLayout,
pColor: *const VkClearColorValue,
rangeCount: u32,
pRanges: *const VkImageSubresourceRange,
),
>;
pub type PFN_vkCmdClearDepthStencilImage = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
image: VkImage,
imageLayout: VkImageLayout,
pDepthStencil: *const VkClearDepthStencilValue,
rangeCount: u32,
pRanges: *const VkImageSubresourceRange,
),
>;
pub type PFN_vkCmdClearAttachments = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
attachmentCount: u32,
pAttachments: *const VkClearAttachment,
rectCount: u32,
pRects: *const VkClearRect,
),
>;
pub type PFN_vkCmdResolveImage = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
srcImage: VkImage,
srcImageLayout: VkImageLayout,
dstImage: VkImage,
dstImageLayout: VkImageLayout,
regionCount: u32,
pRegions: *const VkImageResolve,
),
>;
pub type PFN_vkCmdSetEvent = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
event: VkEvent,
stageMask: VkPipelineStageFlags,
),
>;
pub type PFN_vkCmdResetEvent = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
event: VkEvent,
stageMask: VkPipelineStageFlags,
),
>;
pub type PFN_vkCmdWaitEvents = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
eventCount: u32,
pEvents: *const VkEvent,
srcStageMask: VkPipelineStageFlags,
dstStageMask: VkPipelineStageFlags,
memoryBarrierCount: u32,
pMemoryBarriers: *const VkMemoryBarrier,
bufferMemoryBarrierCount: u32,
pBufferMemoryBarriers: *const VkBufferMemoryBarrier,
imageMemoryBarrierCount: u32,
pImageMemoryBarriers: *const VkImageMemoryBarrier,
),
>;
pub type PFN_vkCmdPipelineBarrier = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
srcStageMask: VkPipelineStageFlags,
dstStageMask: VkPipelineStageFlags,
dependencyFlags: VkDependencyFlags,
memoryBarrierCount: u32,
pMemoryBarriers: *const VkMemoryBarrier,
bufferMemoryBarrierCount: u32,
pBufferMemoryBarriers: *const VkBufferMemoryBarrier,
imageMemoryBarrierCount: u32,
pImageMemoryBarriers: *const VkImageMemoryBarrier,
),
>;
pub type PFN_vkCmdBeginQuery = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
queryPool: VkQueryPool,
query: u32,
flags: VkQueryControlFlags,
),
>;
pub type PFN_vkCmdEndQuery = ::std::option::Option<
unsafe extern "system" fn(commandBuffer: VkCommandBuffer, queryPool: VkQueryPool, query: u32),
>;
pub type PFN_vkCmdResetQueryPool = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
queryPool: VkQueryPool,
firstQuery: u32,
queryCount: u32,
),
>;
pub type PFN_vkCmdWriteTimestamp = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
pipelineStage: VkPipelineStageFlagBits,
queryPool: VkQueryPool,
query: u32,
),
>;
pub type PFN_vkCmdCopyQueryPoolResults = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
queryPool: VkQueryPool,
firstQuery: u32,
queryCount: u32,
dstBuffer: VkBuffer,
dstOffset: VkDeviceSize,
stride: VkDeviceSize,
flags: VkQueryResultFlags,
),
>;
pub type PFN_vkCmdPushConstants = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
layout: VkPipelineLayout,
stageFlags: VkShaderStageFlags,
offset: u32,
size: u32,
pValues: *const ::std::os::raw::c_void,
),
>;
pub type PFN_vkCmdBeginRenderPass = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
pRenderPassBegin: *const VkRenderPassBeginInfo,
contents: VkSubpassContents,
),
>;
pub type PFN_vkCmdNextSubpass = ::std::option::Option<
unsafe extern "system" fn(commandBuffer: VkCommandBuffer, contents: VkSubpassContents),
>;
pub type PFN_vkCmdEndRenderPass =
::std::option::Option<unsafe extern "system" fn(commandBuffer: VkCommandBuffer)>;
pub type PFN_vkCmdExecuteCommands = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
commandBufferCount: u32,
pCommandBuffers: *const VkCommandBuffer,
),
>;
extern "system" {
pub fn vkCreateInstance(
pCreateInfo: *const VkInstanceCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pInstance: *mut VkInstance,
) -> VkResult;
}
extern "system" {
pub fn vkDestroyInstance(instance: VkInstance, pAllocator: *const VkAllocationCallbacks);
}
extern "system" {
pub fn vkEnumeratePhysicalDevices(
instance: VkInstance,
pPhysicalDeviceCount: *mut u32,
pPhysicalDevices: *mut VkPhysicalDevice,
) -> VkResult;
}
extern "system" {
pub fn vkGetPhysicalDeviceFeatures(
physicalDevice: VkPhysicalDevice,
pFeatures: *mut VkPhysicalDeviceFeatures,
);
}
extern "system" {
pub fn vkGetPhysicalDeviceFormatProperties(
physicalDevice: VkPhysicalDevice,
format: VkFormat,
pFormatProperties: *mut VkFormatProperties,
);
}
extern "system" {
pub fn vkGetPhysicalDeviceImageFormatProperties(
physicalDevice: VkPhysicalDevice,
format: VkFormat,
type_: VkImageType,
tiling: VkImageTiling,
usage: VkImageUsageFlags,
flags: VkImageCreateFlags,
pImageFormatProperties: *mut VkImageFormatProperties,
) -> VkResult;
}
extern "system" {
pub fn vkGetPhysicalDeviceProperties(
physicalDevice: VkPhysicalDevice,
pProperties: *mut VkPhysicalDeviceProperties,
);
}
extern "system" {
pub fn vkGetPhysicalDeviceQueueFamilyProperties(
physicalDevice: VkPhysicalDevice,
pQueueFamilyPropertyCount: *mut u32,
pQueueFamilyProperties: *mut VkQueueFamilyProperties,
);
}
extern "system" {
pub fn vkGetPhysicalDeviceMemoryProperties(
physicalDevice: VkPhysicalDevice,
pMemoryProperties: *mut VkPhysicalDeviceMemoryProperties,
);
}
extern "system" {
pub fn vkGetInstanceProcAddr(
instance: VkInstance,
pName: *const ::std::os::raw::c_char,
) -> PFN_vkVoidFunction;
}
extern "system" {
pub fn vkGetDeviceProcAddr(
device: VkDevice,
pName: *const ::std::os::raw::c_char,
) -> PFN_vkVoidFunction;
}
extern "system" {
pub fn vkCreateDevice(
physicalDevice: VkPhysicalDevice,
pCreateInfo: *const VkDeviceCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pDevice: *mut VkDevice,
) -> VkResult;
}
extern "system" {
pub fn vkDestroyDevice(device: VkDevice, pAllocator: *const VkAllocationCallbacks);
}
#[allow(dead_code)]
extern "system" {
pub fn vkEnumerateInstanceExtensionProperties(
pLayerName: *const std::os::raw::c_char,
pPropertyCount: *mut u32,
pProperties: *mut VkExtensionProperties,
) -> VkResult;
}
extern "system" {
pub fn vkEnumerateDeviceExtensionProperties(
physicalDevice: VkPhysicalDevice,
pLayerName: *const ::std::os::raw::c_char,
pPropertyCount: *mut u32,
pProperties: *mut VkExtensionProperties,
) -> VkResult;
}
extern "system" {
pub fn vkEnumerateInstanceLayerProperties(
pPropertyCount: *mut u32,
pProperties: *mut VkLayerProperties,
) -> VkResult;
}
extern "system" {
pub fn vkEnumerateDeviceLayerProperties(
physicalDevice: VkPhysicalDevice,
pPropertyCount: *mut u32,
pProperties: *mut VkLayerProperties,
) -> VkResult;
}
extern "system" {
pub fn vkGetDeviceQueue(
device: VkDevice,
queueFamilyIndex: u32,
queueIndex: u32,
pQueue: *mut VkQueue,
);
}
extern "system" {
pub fn vkQueueSubmit(
queue: VkQueue,
submitCount: u32,
pSubmits: *const VkSubmitInfo,
fence: VkFence,
) -> VkResult;
}
extern "system" {
pub fn vkQueueWaitIdle(queue: VkQueue) -> VkResult;
}
extern "system" {
pub fn vkDeviceWaitIdle(device: VkDevice) -> VkResult;
}
extern "system" {
pub fn vkAllocateMemory(
device: VkDevice,
pAllocateInfo: *const VkMemoryAllocateInfo,
pAllocator: *const VkAllocationCallbacks,
pMemory: *mut VkDeviceMemory,
) -> VkResult;
}
extern "system" {
pub fn vkFreeMemory(
device: VkDevice,
memory: VkDeviceMemory,
pAllocator: *const VkAllocationCallbacks,
);
}
extern "system" {
pub fn vkMapMemory(
device: VkDevice,
memory: VkDeviceMemory,
offset: VkDeviceSize,
size: VkDeviceSize,
flags: VkMemoryMapFlags,
ppData: *mut *mut ::std::os::raw::c_void,
) -> VkResult;
}
extern "system" {
pub fn vkUnmapMemory(device: VkDevice, memory: VkDeviceMemory);
}
extern "system" {
pub fn vkFlushMappedMemoryRanges(
device: VkDevice,
memoryRangeCount: u32,
pMemoryRanges: *const VkMappedMemoryRange,
) -> VkResult;
}
extern "system" {
pub fn vkInvalidateMappedMemoryRanges(
device: VkDevice,
memoryRangeCount: u32,
pMemoryRanges: *const VkMappedMemoryRange,
) -> VkResult;
}
extern "system" {
pub fn vkGetDeviceMemoryCommitment(
device: VkDevice,
memory: VkDeviceMemory,
pCommittedMemoryInBytes: *mut VkDeviceSize,
);
}
extern "system" {
pub fn vkBindBufferMemory(
device: VkDevice,
buffer: VkBuffer,
memory: VkDeviceMemory,
memoryOffset: VkDeviceSize,
) -> VkResult;
}
extern "system" {
pub fn vkBindImageMemory(
device: VkDevice,
image: VkImage,
memory: VkDeviceMemory,
memoryOffset: VkDeviceSize,
) -> VkResult;
}
extern "system" {
pub fn vkGetBufferMemoryRequirements(
device: VkDevice,
buffer: VkBuffer,
pMemoryRequirements: *mut VkMemoryRequirements,
);
}
extern "system" {
pub fn vkGetImageMemoryRequirements(
device: VkDevice,
image: VkImage,
pMemoryRequirements: *mut VkMemoryRequirements,
);
}
extern "system" {
pub fn vkGetImageSparseMemoryRequirements(
device: VkDevice,
image: VkImage,
pSparseMemoryRequirementCount: *mut u32,
pSparseMemoryRequirements: *mut VkSparseImageMemoryRequirements,
);
}
extern "system" {
pub fn vkGetPhysicalDeviceSparseImageFormatProperties(
physicalDevice: VkPhysicalDevice,
format: VkFormat,
type_: VkImageType,
samples: VkSampleCountFlagBits,
usage: VkImageUsageFlags,
tiling: VkImageTiling,
pPropertyCount: *mut u32,
pProperties: *mut VkSparseImageFormatProperties,
);
}
extern "system" {
pub fn vkQueueBindSparse(
queue: VkQueue,
bindInfoCount: u32,
pBindInfo: *const VkBindSparseInfo,
fence: VkFence,
) -> VkResult;
}
extern "system" {
pub fn vkCreateFence(
device: VkDevice,
pCreateInfo: *const VkFenceCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pFence: *mut VkFence,
) -> VkResult;
}
extern "system" {
pub fn vkDestroyFence(
device: VkDevice,
fence: VkFence,
pAllocator: *const VkAllocationCallbacks,
);
}
extern "system" {
pub fn vkResetFences(device: VkDevice, fenceCount: u32, pFences: *const VkFence) -> VkResult;
}
extern "system" {
pub fn vkGetFenceStatus(device: VkDevice, fence: VkFence) -> VkResult;
}
extern "system" {
pub fn vkWaitForFences(
device: VkDevice,
fenceCount: u32,
pFences: *const VkFence,
waitAll: VkBool32,
timeout: u64,
) -> VkResult;
}
extern "system" {
pub fn vkCreateSemaphore(
device: VkDevice,
pCreateInfo: *const VkSemaphoreCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pSemaphore: *mut VkSemaphore,
) -> VkResult;
}
extern "system" {
pub fn vkDestroySemaphore(
device: VkDevice,
semaphore: VkSemaphore,
pAllocator: *const VkAllocationCallbacks,
);
}
extern "system" {
pub fn vkCreateEvent(
device: VkDevice,
pCreateInfo: *const VkEventCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pEvent: *mut VkEvent,
) -> VkResult;
}
extern "system" {
pub fn vkDestroyEvent(
device: VkDevice,
event: VkEvent,
pAllocator: *const VkAllocationCallbacks,
);
}
extern "system" {
pub fn vkGetEventStatus(device: VkDevice, event: VkEvent) -> VkResult;
}
extern "system" {
pub fn vkSetEvent(device: VkDevice, event: VkEvent) -> VkResult;
}
extern "system" {
pub fn vkResetEvent(device: VkDevice, event: VkEvent) -> VkResult;
}
extern "system" {
pub fn vkCreateQueryPool(
device: VkDevice,
pCreateInfo: *const VkQueryPoolCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pQueryPool: *mut VkQueryPool,
) -> VkResult;
}
extern "system" {
pub fn vkDestroyQueryPool(
device: VkDevice,
queryPool: VkQueryPool,
pAllocator: *const VkAllocationCallbacks,
);
}
extern "system" {
pub fn vkGetQueryPoolResults(
device: VkDevice,
queryPool: VkQueryPool,
firstQuery: u32,
queryCount: u32,
dataSize: usize,
pData: *mut ::std::os::raw::c_void,
stride: VkDeviceSize,
flags: VkQueryResultFlags,
) -> VkResult;
}
extern "system" {
pub fn vkCreateBuffer(
device: VkDevice,
pCreateInfo: *const VkBufferCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pBuffer: *mut VkBuffer,
) -> VkResult;
}
extern "system" {
pub fn vkDestroyBuffer(
device: VkDevice,
buffer: VkBuffer,
pAllocator: *const VkAllocationCallbacks,
);
}
extern "system" {
pub fn vkCreateBufferView(
device: VkDevice,
pCreateInfo: *const VkBufferViewCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pView: *mut VkBufferView,
) -> VkResult;
}
extern "system" {
pub fn vkDestroyBufferView(
device: VkDevice,
bufferView: VkBufferView,
pAllocator: *const VkAllocationCallbacks,
);
}
extern "system" {
pub fn vkCreateImage(
device: VkDevice,
pCreateInfo: *const VkImageCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pImage: *mut VkImage,
) -> VkResult;
}
extern "system" {
pub fn vkDestroyImage(
device: VkDevice,
image: VkImage,
pAllocator: *const VkAllocationCallbacks,
);
}
extern "system" {
pub fn vkGetImageSubresourceLayout(
device: VkDevice,
image: VkImage,
pSubresource: *const VkImageSubresource,
pLayout: *mut VkSubresourceLayout,
);
}
extern "system" {
pub fn vkCreateImageView(
device: VkDevice,
pCreateInfo: *const VkImageViewCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pView: *mut VkImageView,
) -> VkResult;
}
extern "system" {
pub fn vkDestroyImageView(
device: VkDevice,
imageView: VkImageView,
pAllocator: *const VkAllocationCallbacks,
);
}
extern "system" {
pub fn vkCreateShaderModule(
device: VkDevice,
pCreateInfo: *const VkShaderModuleCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pShaderModule: *mut VkShaderModule,
) -> VkResult;
}
extern "system" {
pub fn vkDestroyShaderModule(
device: VkDevice,
shaderModule: VkShaderModule,
pAllocator: *const VkAllocationCallbacks,
);
}
extern "system" {
pub fn vkCreatePipelineCache(
device: VkDevice,
pCreateInfo: *const VkPipelineCacheCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pPipelineCache: *mut VkPipelineCache,
) -> VkResult;
}
extern "system" {
pub fn vkDestroyPipelineCache(
device: VkDevice,
pipelineCache: VkPipelineCache,
pAllocator: *const VkAllocationCallbacks,
);
}
extern "system" {
pub fn vkGetPipelineCacheData(
device: VkDevice,
pipelineCache: VkPipelineCache,
pDataSize: *mut usize,
pData: *mut ::std::os::raw::c_void,
) -> VkResult;
}
extern "system" {
pub fn vkMergePipelineCaches(
device: VkDevice,
dstCache: VkPipelineCache,
srcCacheCount: u32,
pSrcCaches: *const VkPipelineCache,
) -> VkResult;
}
extern "system" {
pub fn vkCreateGraphicsPipelines(
device: VkDevice,
pipelineCache: VkPipelineCache,
createInfoCount: u32,
pCreateInfos: *const VkGraphicsPipelineCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pPipelines: *mut VkPipeline,
) -> VkResult;
}
extern "system" {
pub fn vkCreateComputePipelines(
device: VkDevice,
pipelineCache: VkPipelineCache,
createInfoCount: u32,
pCreateInfos: *const VkComputePipelineCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pPipelines: *mut VkPipeline,
) -> VkResult;
}
extern "system" {
pub fn vkDestroyPipeline(
device: VkDevice,
pipeline: VkPipeline,
pAllocator: *const VkAllocationCallbacks,
);
}
extern "system" {
pub fn vkCreatePipelineLayout(
device: VkDevice,
pCreateInfo: *const VkPipelineLayoutCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pPipelineLayout: *mut VkPipelineLayout,
) -> VkResult;
}
extern "system" {
pub fn vkDestroyPipelineLayout(
device: VkDevice,
pipelineLayout: VkPipelineLayout,
pAllocator: *const VkAllocationCallbacks,
);
}
extern "system" {
pub fn vkCreateSampler(
device: VkDevice,
pCreateInfo: *const VkSamplerCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pSampler: *mut VkSampler,
) -> VkResult;
}
extern "system" {
pub fn vkDestroySampler(
device: VkDevice,
sampler: VkSampler,
pAllocator: *const VkAllocationCallbacks,
);
}
extern "system" {
pub fn vkCreateDescriptorSetLayout(
device: VkDevice,
pCreateInfo: *const VkDescriptorSetLayoutCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pSetLayout: *mut VkDescriptorSetLayout,
) -> VkResult;
}
extern "system" {
pub fn vkDestroyDescriptorSetLayout(
device: VkDevice,
descriptorSetLayout: VkDescriptorSetLayout,
pAllocator: *const VkAllocationCallbacks,
);
}
extern "system" {
pub fn vkCreateDescriptorPool(
device: VkDevice,
pCreateInfo: *const VkDescriptorPoolCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pDescriptorPool: *mut VkDescriptorPool,
) -> VkResult;
}
extern "system" {
pub fn vkDestroyDescriptorPool(
device: VkDevice,
descriptorPool: VkDescriptorPool,
pAllocator: *const VkAllocationCallbacks,
);
}
extern "system" {
pub fn vkResetDescriptorPool(
device: VkDevice,
descriptorPool: VkDescriptorPool,
flags: VkDescriptorPoolResetFlags,
) -> VkResult;
}
extern "system" {
pub fn vkAllocateDescriptorSets(
device: VkDevice,
pAllocateInfo: *const VkDescriptorSetAllocateInfo,
pDescriptorSets: *mut VkDescriptorSet,
) -> VkResult;
}
extern "system" {
pub fn vkFreeDescriptorSets(
device: VkDevice,
descriptorPool: VkDescriptorPool,
descriptorSetCount: u32,
pDescriptorSets: *const VkDescriptorSet,
) -> VkResult;
}
extern "system" {
pub fn vkUpdateDescriptorSets(
device: VkDevice,
descriptorWriteCount: u32,
pDescriptorWrites: *const VkWriteDescriptorSet,
descriptorCopyCount: u32,
pDescriptorCopies: *const VkCopyDescriptorSet,
);
}
extern "system" {
pub fn vkCreateFramebuffer(
device: VkDevice,
pCreateInfo: *const VkFramebufferCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pFramebuffer: *mut VkFramebuffer,
) -> VkResult;
}
extern "system" {
pub fn vkDestroyFramebuffer(
device: VkDevice,
framebuffer: VkFramebuffer,
pAllocator: *const VkAllocationCallbacks,
);
}
extern "system" {
pub fn vkCreateRenderPass(
device: VkDevice,
pCreateInfo: *const VkRenderPassCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pRenderPass: *mut VkRenderPass,
) -> VkResult;
}
extern "system" {
pub fn vkDestroyRenderPass(
device: VkDevice,
renderPass: VkRenderPass,
pAllocator: *const VkAllocationCallbacks,
);
}
extern "system" {
pub fn vkGetRenderAreaGranularity(
device: VkDevice,
renderPass: VkRenderPass,
pGranularity: *mut VkExtent2D,
);
}
extern "system" {
pub fn vkCreateCommandPool(
device: VkDevice,
pCreateInfo: *const VkCommandPoolCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pCommandPool: *mut VkCommandPool,
) -> VkResult;
}
extern "system" {
pub fn vkDestroyCommandPool(
device: VkDevice,
commandPool: VkCommandPool,
pAllocator: *const VkAllocationCallbacks,
);
}
extern "system" {
pub fn vkResetCommandPool(
device: VkDevice,
commandPool: VkCommandPool,
flags: VkCommandPoolResetFlags,
) -> VkResult;
}
extern "system" {
pub fn vkAllocateCommandBuffers(
device: VkDevice,
pAllocateInfo: *const VkCommandBufferAllocateInfo,
pCommandBuffers: *mut VkCommandBuffer,
) -> VkResult;
}
extern "system" {
pub fn vkFreeCommandBuffers(
device: VkDevice,
commandPool: VkCommandPool,
commandBufferCount: u32,
pCommandBuffers: *const VkCommandBuffer,
);
}
extern "system" {
pub fn vkBeginCommandBuffer(
commandBuffer: VkCommandBuffer,
pBeginInfo: *const VkCommandBufferBeginInfo,
) -> VkResult;
}
extern "system" {
pub fn vkEndCommandBuffer(commandBuffer: VkCommandBuffer) -> VkResult;
}
extern "system" {
pub fn vkResetCommandBuffer(
commandBuffer: VkCommandBuffer,
flags: VkCommandBufferResetFlags,
) -> VkResult;
}
extern "system" {
pub fn vkCmdBindPipeline(
commandBuffer: VkCommandBuffer,
pipelineBindPoint: VkPipelineBindPoint,
pipeline: VkPipeline,
);
}
extern "system" {
pub fn vkCmdSetViewport(
commandBuffer: VkCommandBuffer,
firstViewport: u32,
viewportCount: u32,
pViewports: *const VkViewport,
);
}
extern "system" {
pub fn vkCmdSetScissor(
commandBuffer: VkCommandBuffer,
firstScissor: u32,
scissorCount: u32,
pScissors: *const VkRect2D,
);
}
extern "system" {
pub fn vkCmdSetLineWidth(commandBuffer: VkCommandBuffer, lineWidth: f32);
}
extern "system" {
pub fn vkCmdSetDepthBias(
commandBuffer: VkCommandBuffer,
depthBiasConstantFactor: f32,
depthBiasClamp: f32,
depthBiasSlopeFactor: f32,
);
}
extern "system" {
pub fn vkCmdSetBlendConstants(commandBuffer: VkCommandBuffer, blendConstants: *const f32);
}
extern "system" {
pub fn vkCmdSetDepthBounds(
commandBuffer: VkCommandBuffer,
minDepthBounds: f32,
maxDepthBounds: f32,
);
}
extern "system" {
pub fn vkCmdSetStencilCompareMask(
commandBuffer: VkCommandBuffer,
faceMask: VkStencilFaceFlags,
compareMask: u32,
);
}
extern "system" {
pub fn vkCmdSetStencilWriteMask(
commandBuffer: VkCommandBuffer,
faceMask: VkStencilFaceFlags,
writeMask: u32,
);
}
extern "system" {
pub fn vkCmdSetStencilReference(
commandBuffer: VkCommandBuffer,
faceMask: VkStencilFaceFlags,
reference: u32,
);
}
extern "system" {
pub fn vkCmdBindDescriptorSets(
commandBuffer: VkCommandBuffer,
pipelineBindPoint: VkPipelineBindPoint,
layout: VkPipelineLayout,
firstSet: u32,
descriptorSetCount: u32,
pDescriptorSets: *const VkDescriptorSet,
dynamicOffsetCount: u32,
pDynamicOffsets: *const u32,
);
}
extern "system" {
pub fn vkCmdBindIndexBuffer(
commandBuffer: VkCommandBuffer,
buffer: VkBuffer,
offset: VkDeviceSize,
indexType: VkIndexType,
);
}
extern "system" {
pub fn vkCmdBindVertexBuffers(
commandBuffer: VkCommandBuffer,
firstBinding: u32,
bindingCount: u32,
pBuffers: *const VkBuffer,
pOffsets: *const VkDeviceSize,
);
}
extern "system" {
pub fn vkCmdDraw(
commandBuffer: VkCommandBuffer,
vertexCount: u32,
instanceCount: u32,
firstVertex: u32,
firstInstance: u32,
);
}
extern "system" {
pub fn vkCmdDrawIndexed(
commandBuffer: VkCommandBuffer,
indexCount: u32,
instanceCount: u32,
firstIndex: u32,
vertexOffset: i32,
firstInstance: u32,
);
}
extern "system" {
pub fn vkCmdDrawIndirect(
commandBuffer: VkCommandBuffer,
buffer: VkBuffer,
offset: VkDeviceSize,
drawCount: u32,
stride: u32,
);
}
extern "system" {
pub fn vkCmdDrawIndexedIndirect(
commandBuffer: VkCommandBuffer,
buffer: VkBuffer,
offset: VkDeviceSize,
drawCount: u32,
stride: u32,
);
}
extern "system" {
pub fn vkCmdDispatch(
commandBuffer: VkCommandBuffer,
groupCountX: u32,
groupCountY: u32,
groupCountZ: u32,
);
}
extern "system" {
pub fn vkCmdDispatchIndirect(
commandBuffer: VkCommandBuffer,
buffer: VkBuffer,
offset: VkDeviceSize,
);
}
extern "system" {
pub fn vkCmdCopyBuffer(
commandBuffer: VkCommandBuffer,
srcBuffer: VkBuffer,
dstBuffer: VkBuffer,
regionCount: u32,
pRegions: *const VkBufferCopy,
);
}
extern "system" {
pub fn vkCmdCopyImage(
commandBuffer: VkCommandBuffer,
srcImage: VkImage,
srcImageLayout: VkImageLayout,
dstImage: VkImage,
dstImageLayout: VkImageLayout,
regionCount: u32,
pRegions: *const VkImageCopy,
);
}
extern "system" {
pub fn vkCmdBlitImage(
commandBuffer: VkCommandBuffer,
srcImage: VkImage,
srcImageLayout: VkImageLayout,
dstImage: VkImage,
dstImageLayout: VkImageLayout,
regionCount: u32,
pRegions: *const VkImageBlit,
filter: VkFilter,
);
}
extern "system" {
pub fn vkCmdCopyBufferToImage(
commandBuffer: VkCommandBuffer,
srcBuffer: VkBuffer,
dstImage: VkImage,
dstImageLayout: VkImageLayout,
regionCount: u32,
pRegions: *const VkBufferImageCopy,
);
}
extern "system" {
pub fn vkCmdCopyImageToBuffer(
commandBuffer: VkCommandBuffer,
srcImage: VkImage,
srcImageLayout: VkImageLayout,
dstBuffer: VkBuffer,
regionCount: u32,
pRegions: *const VkBufferImageCopy,
);
}
extern "system" {
pub fn vkCmdUpdateBuffer(
commandBuffer: VkCommandBuffer,
dstBuffer: VkBuffer,
dstOffset: VkDeviceSize,
dataSize: VkDeviceSize,
pData: *const ::std::os::raw::c_void,
);
}
extern "system" {
pub fn vkCmdFillBuffer(
commandBuffer: VkCommandBuffer,
dstBuffer: VkBuffer,
dstOffset: VkDeviceSize,
size: VkDeviceSize,
data: u32,
);
}
extern "system" {
pub fn vkCmdClearColorImage(
commandBuffer: VkCommandBuffer,
image: VkImage,
imageLayout: VkImageLayout,
pColor: *const VkClearColorValue,
rangeCount: u32,
pRanges: *const VkImageSubresourceRange,
);
}
extern "system" {
pub fn vkCmdClearDepthStencilImage(
commandBuffer: VkCommandBuffer,
image: VkImage,
imageLayout: VkImageLayout,
pDepthStencil: *const VkClearDepthStencilValue,
rangeCount: u32,
pRanges: *const VkImageSubresourceRange,
);
}
extern "system" {
pub fn vkCmdClearAttachments(
commandBuffer: VkCommandBuffer,
attachmentCount: u32,
pAttachments: *const VkClearAttachment,
rectCount: u32,
pRects: *const VkClearRect,
);
}
extern "system" {
pub fn vkCmdResolveImage(
commandBuffer: VkCommandBuffer,
srcImage: VkImage,
srcImageLayout: VkImageLayout,
dstImage: VkImage,
dstImageLayout: VkImageLayout,
regionCount: u32,
pRegions: *const VkImageResolve,
);
}
extern "system" {
pub fn vkCmdSetEvent(
commandBuffer: VkCommandBuffer,
event: VkEvent,
stageMask: VkPipelineStageFlags,
);
}
extern "system" {
pub fn vkCmdResetEvent(
commandBuffer: VkCommandBuffer,
event: VkEvent,
stageMask: VkPipelineStageFlags,
);
}
extern "system" {
pub fn vkCmdWaitEvents(
commandBuffer: VkCommandBuffer,
eventCount: u32,
pEvents: *const VkEvent,
srcStageMask: VkPipelineStageFlags,
dstStageMask: VkPipelineStageFlags,
memoryBarrierCount: u32,
pMemoryBarriers: *const VkMemoryBarrier,
bufferMemoryBarrierCount: u32,
pBufferMemoryBarriers: *const VkBufferMemoryBarrier,
imageMemoryBarrierCount: u32,
pImageMemoryBarriers: *const VkImageMemoryBarrier,
);
}
extern "system" {
pub fn vkCmdPipelineBarrier(
commandBuffer: VkCommandBuffer,
srcStageMask: VkPipelineStageFlags,
dstStageMask: VkPipelineStageFlags,
dependencyFlags: VkDependencyFlags,
memoryBarrierCount: u32,
pMemoryBarriers: *const VkMemoryBarrier,
bufferMemoryBarrierCount: u32,
pBufferMemoryBarriers: *const VkBufferMemoryBarrier,
imageMemoryBarrierCount: u32,
pImageMemoryBarriers: *const VkImageMemoryBarrier,
);
}
extern "system" {
pub fn vkCmdBeginQuery(
commandBuffer: VkCommandBuffer,
queryPool: VkQueryPool,
query: u32,
flags: VkQueryControlFlags,
);
}
extern "system" {
pub fn vkCmdEndQuery(commandBuffer: VkCommandBuffer, queryPool: VkQueryPool, query: u32);
}
extern "system" {
pub fn vkCmdResetQueryPool(
commandBuffer: VkCommandBuffer,
queryPool: VkQueryPool,
firstQuery: u32,
queryCount: u32,
);
}
extern "system" {
pub fn vkCmdWriteTimestamp(
commandBuffer: VkCommandBuffer,
pipelineStage: VkPipelineStageFlagBits,
queryPool: VkQueryPool,
query: u32,
);
}
extern "system" {
pub fn vkCmdCopyQueryPoolResults(
commandBuffer: VkCommandBuffer,
queryPool: VkQueryPool,
firstQuery: u32,
queryCount: u32,
dstBuffer: VkBuffer,
dstOffset: VkDeviceSize,
stride: VkDeviceSize,
flags: VkQueryResultFlags,
);
}
extern "system" {
pub fn vkCmdPushConstants(
commandBuffer: VkCommandBuffer,
layout: VkPipelineLayout,
stageFlags: VkShaderStageFlags,
offset: u32,
size: u32,
pValues: *const ::std::os::raw::c_void,
);
}
extern "system" {
pub fn vkCmdBeginRenderPass(
commandBuffer: VkCommandBuffer,
pRenderPassBegin: *const VkRenderPassBeginInfo,
contents: VkSubpassContents,
);
}
extern "system" {
pub fn vkCmdNextSubpass(commandBuffer: VkCommandBuffer, contents: VkSubpassContents);
}
extern "system" {
pub fn vkCmdEndRenderPass(commandBuffer: VkCommandBuffer);
}
extern "system" {
pub fn vkCmdExecuteCommands(
commandBuffer: VkCommandBuffer,
commandBufferCount: u32,
pCommandBuffers: *const VkCommandBuffer,
);
}
pub const VK_VERSION_1_1: u32 = 1;
pub const VK_API_VERSION_1_1: u32 = VK_MAKE_VERSION(1, 1, 0);
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkSamplerYcbcrConversion_T {
_unused: [u8; 0],
}
pub type VkSamplerYcbcrConversion = *mut VkSamplerYcbcrConversion_T;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDescriptorUpdateTemplate_T {
_unused: [u8; 0],
}
pub type VkDescriptorUpdateTemplate = *mut VkDescriptorUpdateTemplate_T;
pub const VK_MAX_DEVICE_GROUP_SIZE: u32 = 32;
pub const VK_LUID_SIZE: u32 = 8;
pub const VK_QUEUE_FAMILY_EXTERNAL: u32 = !0 - 1;
pub const VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES: VkPointClippingBehavior = 0;
pub const VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY: VkPointClippingBehavior = 1;
pub const VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR: VkPointClippingBehavior = 0;
pub const VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR: VkPointClippingBehavior = 1;
pub const VK_POINT_CLIPPING_BEHAVIOR_BEGIN_RANGE: VkPointClippingBehavior = 0;
pub const VK_POINT_CLIPPING_BEHAVIOR_END_RANGE: VkPointClippingBehavior = 1;
pub const VK_POINT_CLIPPING_BEHAVIOR_RANGE_SIZE: VkPointClippingBehavior = 2;
pub const VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM: VkPointClippingBehavior = 2147483647;
pub type VkPointClippingBehavior = i32;
pub const VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT: VkTessellationDomainOrigin = 0;
pub const VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT: VkTessellationDomainOrigin = 1;
pub const VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR: VkTessellationDomainOrigin = 0;
pub const VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR: VkTessellationDomainOrigin = 1;
pub const VK_TESSELLATION_DOMAIN_ORIGIN_BEGIN_RANGE: VkTessellationDomainOrigin = 0;
pub const VK_TESSELLATION_DOMAIN_ORIGIN_END_RANGE: VkTessellationDomainOrigin = 1;
pub const VK_TESSELLATION_DOMAIN_ORIGIN_RANGE_SIZE: VkTessellationDomainOrigin = 2;
pub const VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM: VkTessellationDomainOrigin = 2147483647;
pub type VkTessellationDomainOrigin = i32;
pub const VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY: VkSamplerYcbcrModelConversion = 0;
pub const VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY: VkSamplerYcbcrModelConversion = 1;
pub const VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709: VkSamplerYcbcrModelConversion = 2;
pub const VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601: VkSamplerYcbcrModelConversion = 3;
pub const VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020: VkSamplerYcbcrModelConversion = 4;
pub const VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR: VkSamplerYcbcrModelConversion = 0;
pub const VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR: VkSamplerYcbcrModelConversion = 1;
pub const VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR: VkSamplerYcbcrModelConversion = 2;
pub const VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR: VkSamplerYcbcrModelConversion = 3;
pub const VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR: VkSamplerYcbcrModelConversion = 4;
pub const VK_SAMPLER_YCBCR_MODEL_CONVERSION_BEGIN_RANGE: VkSamplerYcbcrModelConversion = 0;
pub const VK_SAMPLER_YCBCR_MODEL_CONVERSION_END_RANGE: VkSamplerYcbcrModelConversion = 4;
pub const VK_SAMPLER_YCBCR_MODEL_CONVERSION_RANGE_SIZE: VkSamplerYcbcrModelConversion = 5;
pub const VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM: VkSamplerYcbcrModelConversion = 2147483647;
pub type VkSamplerYcbcrModelConversion = i32;
pub const VK_SAMPLER_YCBCR_RANGE_ITU_FULL: VkSamplerYcbcrRange = 0;
pub const VK_SAMPLER_YCBCR_RANGE_ITU_NARROW: VkSamplerYcbcrRange = 1;
pub const VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR: VkSamplerYcbcrRange = 0;
pub const VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR: VkSamplerYcbcrRange = 1;
pub const VK_SAMPLER_YCBCR_RANGE_BEGIN_RANGE: VkSamplerYcbcrRange = 0;
pub const VK_SAMPLER_YCBCR_RANGE_END_RANGE: VkSamplerYcbcrRange = 1;
pub const VK_SAMPLER_YCBCR_RANGE_RANGE_SIZE: VkSamplerYcbcrRange = 2;
pub const VK_SAMPLER_YCBCR_RANGE_MAX_ENUM: VkSamplerYcbcrRange = 2147483647;
pub type VkSamplerYcbcrRange = i32;
pub const VK_CHROMA_LOCATION_COSITED_EVEN: VkChromaLocation = 0;
pub const VK_CHROMA_LOCATION_MIDPOINT: VkChromaLocation = 1;
pub const VK_CHROMA_LOCATION_COSITED_EVEN_KHR: VkChromaLocation = 0;
pub const VK_CHROMA_LOCATION_MIDPOINT_KHR: VkChromaLocation = 1;
pub const VK_CHROMA_LOCATION_BEGIN_RANGE: VkChromaLocation = 0;
pub const VK_CHROMA_LOCATION_END_RANGE: VkChromaLocation = 1;
pub const VK_CHROMA_LOCATION_RANGE_SIZE: VkChromaLocation = 2;
pub const VK_CHROMA_LOCATION_MAX_ENUM: VkChromaLocation = 2147483647;
pub type VkChromaLocation = i32;
pub const VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET: VkDescriptorUpdateTemplateType = 0;
pub const VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR: VkDescriptorUpdateTemplateType =
1;
pub const VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR: VkDescriptorUpdateTemplateType = 0;
pub const VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_BEGIN_RANGE: VkDescriptorUpdateTemplateType = 0;
pub const VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_END_RANGE: VkDescriptorUpdateTemplateType = 0;
pub const VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_RANGE_SIZE: VkDescriptorUpdateTemplateType = 1;
pub const VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM: VkDescriptorUpdateTemplateType = 2147483647;
pub type VkDescriptorUpdateTemplateType = i32;
pub const VK_SUBGROUP_FEATURE_BASIC_BIT: VkSubgroupFeatureFlagBits = 1;
pub const VK_SUBGROUP_FEATURE_VOTE_BIT: VkSubgroupFeatureFlagBits = 2;
pub const VK_SUBGROUP_FEATURE_ARITHMETIC_BIT: VkSubgroupFeatureFlagBits = 4;
pub const VK_SUBGROUP_FEATURE_BALLOT_BIT: VkSubgroupFeatureFlagBits = 8;
pub const VK_SUBGROUP_FEATURE_SHUFFLE_BIT: VkSubgroupFeatureFlagBits = 16;
pub const VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT: VkSubgroupFeatureFlagBits = 32;
pub const VK_SUBGROUP_FEATURE_CLUSTERED_BIT: VkSubgroupFeatureFlagBits = 64;
pub const VK_SUBGROUP_FEATURE_QUAD_BIT: VkSubgroupFeatureFlagBits = 128;
pub const VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV: VkSubgroupFeatureFlagBits = 256;
pub const VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM: VkSubgroupFeatureFlagBits = 2147483647;
pub type VkSubgroupFeatureFlagBits = i32;
pub type VkSubgroupFeatureFlags = VkFlags;
pub const VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT: VkPeerMemoryFeatureFlagBits = 1;
pub const VK_PEER_MEMORY_FEATURE_COPY_DST_BIT: VkPeerMemoryFeatureFlagBits = 2;
pub const VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT: VkPeerMemoryFeatureFlagBits = 4;
pub const VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT: VkPeerMemoryFeatureFlagBits = 8;
pub const VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR: VkPeerMemoryFeatureFlagBits = 1;
pub const VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR: VkPeerMemoryFeatureFlagBits = 2;
pub const VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR: VkPeerMemoryFeatureFlagBits = 4;
pub const VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR: VkPeerMemoryFeatureFlagBits = 8;
pub const VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM: VkPeerMemoryFeatureFlagBits = 2147483647;
pub type VkPeerMemoryFeatureFlagBits = i32;
pub type VkPeerMemoryFeatureFlags = VkFlags;
pub const VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT: VkMemoryAllocateFlagBits = 1;
pub const VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR: VkMemoryAllocateFlagBits = 1;
pub const VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM: VkMemoryAllocateFlagBits = 2147483647;
pub type VkMemoryAllocateFlagBits = i32;
pub type VkMemoryAllocateFlags = VkFlags;
pub type VkCommandPoolTrimFlags = VkFlags;
pub type VkDescriptorUpdateTemplateCreateFlags = VkFlags;
pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT: VkExternalMemoryHandleTypeFlagBits = 1;
pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT: VkExternalMemoryHandleTypeFlagBits = 2;
pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT: VkExternalMemoryHandleTypeFlagBits =
4;
pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT: VkExternalMemoryHandleTypeFlagBits = 8;
pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT: VkExternalMemoryHandleTypeFlagBits =
16;
pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT: VkExternalMemoryHandleTypeFlagBits = 32;
pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT: VkExternalMemoryHandleTypeFlagBits =
64;
pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT: VkExternalMemoryHandleTypeFlagBits = 512;
pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID:
VkExternalMemoryHandleTypeFlagBits = 1024;
pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT:
VkExternalMemoryHandleTypeFlagBits = 128;
pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT:
VkExternalMemoryHandleTypeFlagBits = 256;
pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR: VkExternalMemoryHandleTypeFlagBits = 1;
pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR: VkExternalMemoryHandleTypeFlagBits =
2;
pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR:
VkExternalMemoryHandleTypeFlagBits = 4;
pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR: VkExternalMemoryHandleTypeFlagBits =
8;
pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR:
VkExternalMemoryHandleTypeFlagBits = 16;
pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR: VkExternalMemoryHandleTypeFlagBits =
32;
pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR:
VkExternalMemoryHandleTypeFlagBits = 64;
pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM: VkExternalMemoryHandleTypeFlagBits =
2147483647;
pub type VkExternalMemoryHandleTypeFlagBits = i32;
pub type VkExternalMemoryHandleTypeFlags = VkFlags;
pub const VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT: VkExternalMemoryFeatureFlagBits = 1;
pub const VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT: VkExternalMemoryFeatureFlagBits = 2;
pub const VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT: VkExternalMemoryFeatureFlagBits = 4;
pub const VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR: VkExternalMemoryFeatureFlagBits = 1;
pub const VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR: VkExternalMemoryFeatureFlagBits = 2;
pub const VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR: VkExternalMemoryFeatureFlagBits = 4;
pub const VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM: VkExternalMemoryFeatureFlagBits =
2147483647;
pub type VkExternalMemoryFeatureFlagBits = i32;
pub type VkExternalMemoryFeatureFlags = VkFlags;
pub const VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT: VkExternalFenceHandleTypeFlagBits = 1;
pub const VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT: VkExternalFenceHandleTypeFlagBits = 2;
pub const VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT: VkExternalFenceHandleTypeFlagBits = 4;
pub const VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT: VkExternalFenceHandleTypeFlagBits = 8;
pub const VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR: VkExternalFenceHandleTypeFlagBits = 1;
pub const VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR: VkExternalFenceHandleTypeFlagBits = 2;
pub const VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR:
VkExternalFenceHandleTypeFlagBits = 4;
pub const VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR: VkExternalFenceHandleTypeFlagBits = 8;
pub const VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM: VkExternalFenceHandleTypeFlagBits =
2147483647;
pub type VkExternalFenceHandleTypeFlagBits = i32;
pub type VkExternalFenceHandleTypeFlags = VkFlags;
pub const VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT: VkExternalFenceFeatureFlagBits = 1;
pub const VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT: VkExternalFenceFeatureFlagBits = 2;
pub const VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR: VkExternalFenceFeatureFlagBits = 1;
pub const VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR: VkExternalFenceFeatureFlagBits = 2;
pub const VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM: VkExternalFenceFeatureFlagBits = 2147483647;
pub type VkExternalFenceFeatureFlagBits = i32;
pub type VkExternalFenceFeatureFlags = VkFlags;
pub const VK_FENCE_IMPORT_TEMPORARY_BIT: VkFenceImportFlagBits = 1;
pub const VK_FENCE_IMPORT_TEMPORARY_BIT_KHR: VkFenceImportFlagBits = 1;
pub const VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM: VkFenceImportFlagBits = 2147483647;
pub type VkFenceImportFlagBits = i32;
pub type VkFenceImportFlags = VkFlags;
pub const VK_SEMAPHORE_IMPORT_TEMPORARY_BIT: VkSemaphoreImportFlagBits = 1;
pub const VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR: VkSemaphoreImportFlagBits = 1;
pub const VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM: VkSemaphoreImportFlagBits = 2147483647;
pub type VkSemaphoreImportFlagBits = i32;
pub type VkSemaphoreImportFlags = VkFlags;
pub const VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT: VkExternalSemaphoreHandleTypeFlagBits =
1;
pub const VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT:
VkExternalSemaphoreHandleTypeFlagBits = 2;
pub const VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT:
VkExternalSemaphoreHandleTypeFlagBits = 4;
pub const VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT: VkExternalSemaphoreHandleTypeFlagBits =
8;
pub const VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT: VkExternalSemaphoreHandleTypeFlagBits = 16;
pub const VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR:
VkExternalSemaphoreHandleTypeFlagBits = 1;
pub const VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR:
VkExternalSemaphoreHandleTypeFlagBits = 2;
pub const VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR:
VkExternalSemaphoreHandleTypeFlagBits = 4;
pub const VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR:
VkExternalSemaphoreHandleTypeFlagBits = 8;
pub const VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR: VkExternalSemaphoreHandleTypeFlagBits =
16;
pub const VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM:
VkExternalSemaphoreHandleTypeFlagBits = 2147483647;
pub type VkExternalSemaphoreHandleTypeFlagBits = i32;
pub type VkExternalSemaphoreHandleTypeFlags = VkFlags;
pub const VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT: VkExternalSemaphoreFeatureFlagBits = 1;
pub const VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT: VkExternalSemaphoreFeatureFlagBits = 2;
pub const VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR: VkExternalSemaphoreFeatureFlagBits = 1;
pub const VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR: VkExternalSemaphoreFeatureFlagBits = 2;
pub const VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM: VkExternalSemaphoreFeatureFlagBits =
2147483647;
pub type VkExternalSemaphoreFeatureFlagBits = i32;
pub type VkExternalSemaphoreFeatureFlags = VkFlags;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceSubgroupProperties {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub subgroupSize: u32,
pub supportedStages: VkShaderStageFlags,
pub supportedOperations: VkSubgroupFeatureFlags,
pub quadOperationsInAllStages: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkBindBufferMemoryInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub buffer: VkBuffer,
pub memory: VkDeviceMemory,
pub memoryOffset: VkDeviceSize,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkBindImageMemoryInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub image: VkImage,
pub memory: VkDeviceMemory,
pub memoryOffset: VkDeviceSize,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDevice16BitStorageFeatures {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub storageBuffer16BitAccess: VkBool32,
pub uniformAndStorageBuffer16BitAccess: VkBool32,
pub storagePushConstant16: VkBool32,
pub storageInputOutput16: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkMemoryDedicatedRequirements {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub prefersDedicatedAllocation: VkBool32,
pub requiresDedicatedAllocation: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkMemoryDedicatedAllocateInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub image: VkImage,
pub buffer: VkBuffer,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkMemoryAllocateFlagsInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkMemoryAllocateFlags,
pub deviceMask: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDeviceGroupRenderPassBeginInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub deviceMask: u32,
pub deviceRenderAreaCount: u32,
pub pDeviceRenderAreas: *const VkRect2D,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDeviceGroupCommandBufferBeginInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub deviceMask: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDeviceGroupSubmitInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub waitSemaphoreCount: u32,
pub pWaitSemaphoreDeviceIndices: *const u32,
pub commandBufferCount: u32,
pub pCommandBufferDeviceMasks: *const u32,
pub signalSemaphoreCount: u32,
pub pSignalSemaphoreDeviceIndices: *const u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDeviceGroupBindSparseInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub resourceDeviceIndex: u32,
pub memoryDeviceIndex: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkBindBufferMemoryDeviceGroupInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub deviceIndexCount: u32,
pub pDeviceIndices: *const u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkBindImageMemoryDeviceGroupInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub deviceIndexCount: u32,
pub pDeviceIndices: *const u32,
pub splitInstanceBindRegionCount: u32,
pub pSplitInstanceBindRegions: *const VkRect2D,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceGroupProperties {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub physicalDeviceCount: u32,
pub physicalDevices: [VkPhysicalDevice; 32usize],
pub subsetAllocation: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDeviceGroupDeviceCreateInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub physicalDeviceCount: u32,
pub pPhysicalDevices: *const VkPhysicalDevice,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkBufferMemoryRequirementsInfo2 {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub buffer: VkBuffer,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkImageMemoryRequirementsInfo2 {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub image: VkImage,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkImageSparseMemoryRequirementsInfo2 {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub image: VkImage,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkMemoryRequirements2 {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub memoryRequirements: VkMemoryRequirements,
}
pub type VkMemoryRequirements2KHR = VkMemoryRequirements2;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkSparseImageMemoryRequirements2 {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub memoryRequirements: VkSparseImageMemoryRequirements,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceFeatures2 {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub features: VkPhysicalDeviceFeatures,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceProperties2 {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub properties: VkPhysicalDeviceProperties,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkFormatProperties2 {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub formatProperties: VkFormatProperties,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkImageFormatProperties2 {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub imageFormatProperties: VkImageFormatProperties,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceImageFormatInfo2 {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub format: VkFormat,
pub type_: VkImageType,
pub tiling: VkImageTiling,
pub usage: VkImageUsageFlags,
pub flags: VkImageCreateFlags,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkQueueFamilyProperties2 {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub queueFamilyProperties: VkQueueFamilyProperties,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceMemoryProperties2 {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub memoryProperties: VkPhysicalDeviceMemoryProperties,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkSparseImageFormatProperties2 {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub properties: VkSparseImageFormatProperties,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceSparseImageFormatInfo2 {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub format: VkFormat,
pub type_: VkImageType,
pub samples: VkSampleCountFlagBits,
pub usage: VkImageUsageFlags,
pub tiling: VkImageTiling,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDevicePointClippingProperties {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub pointClippingBehavior: VkPointClippingBehavior,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkInputAttachmentAspectReference {
pub subpass: u32,
pub inputAttachmentIndex: u32,
pub aspectMask: VkImageAspectFlags,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkRenderPassInputAttachmentAspectCreateInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub aspectReferenceCount: u32,
pub pAspectReferences: *const VkInputAttachmentAspectReference,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkImageViewUsageCreateInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub usage: VkImageUsageFlags,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPipelineTessellationDomainOriginStateCreateInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub domainOrigin: VkTessellationDomainOrigin,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkRenderPassMultiviewCreateInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub subpassCount: u32,
pub pViewMasks: *const u32,
pub dependencyCount: u32,
pub pViewOffsets: *const i32,
pub correlationMaskCount: u32,
pub pCorrelationMasks: *const u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceMultiviewFeatures {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub multiview: VkBool32,
pub multiviewGeometryShader: VkBool32,
pub multiviewTessellationShader: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceMultiviewProperties {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub maxMultiviewViewCount: u32,
pub maxMultiviewInstanceIndex: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceVariablePointersFeatures {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub variablePointersStorageBuffer: VkBool32,
pub variablePointers: VkBool32,
}
pub type VkPhysicalDeviceVariablePointerFeatures = VkPhysicalDeviceVariablePointersFeatures;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceProtectedMemoryFeatures {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub protectedMemory: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceProtectedMemoryProperties {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub protectedNoFault: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDeviceQueueInfo2 {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkDeviceQueueCreateFlags,
pub queueFamilyIndex: u32,
pub queueIndex: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkProtectedSubmitInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub protectedSubmit: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkSamplerYcbcrConversionCreateInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub format: VkFormat,
pub ycbcrModel: VkSamplerYcbcrModelConversion,
pub ycbcrRange: VkSamplerYcbcrRange,
pub components: VkComponentMapping,
pub xChromaOffset: VkChromaLocation,
pub yChromaOffset: VkChromaLocation,
pub chromaFilter: VkFilter,
pub forceExplicitReconstruction: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkSamplerYcbcrConversionInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub conversion: VkSamplerYcbcrConversion,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkBindImagePlaneMemoryInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub planeAspect: VkImageAspectFlagBits,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkImagePlaneMemoryRequirementsInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub planeAspect: VkImageAspectFlagBits,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub samplerYcbcrConversion: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkSamplerYcbcrConversionImageFormatProperties {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub combinedImageSamplerDescriptorCount: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDescriptorUpdateTemplateEntry {
pub dstBinding: u32,
pub dstArrayElement: u32,
pub descriptorCount: u32,
pub descriptorType: VkDescriptorType,
pub offset: usize,
pub stride: usize,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDescriptorUpdateTemplateCreateInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkDescriptorUpdateTemplateCreateFlags,
pub descriptorUpdateEntryCount: u32,
pub pDescriptorUpdateEntries: *const VkDescriptorUpdateTemplateEntry,
pub templateType: VkDescriptorUpdateTemplateType,
pub descriptorSetLayout: VkDescriptorSetLayout,
pub pipelineBindPoint: VkPipelineBindPoint,
pub pipelineLayout: VkPipelineLayout,
pub set: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkExternalMemoryProperties {
pub externalMemoryFeatures: VkExternalMemoryFeatureFlags,
pub exportFromImportedHandleTypes: VkExternalMemoryHandleTypeFlags,
pub compatibleHandleTypes: VkExternalMemoryHandleTypeFlags,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceExternalImageFormatInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub handleType: VkExternalMemoryHandleTypeFlagBits,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkExternalImageFormatProperties {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub externalMemoryProperties: VkExternalMemoryProperties,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceExternalBufferInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkBufferCreateFlags,
pub usage: VkBufferUsageFlags,
pub handleType: VkExternalMemoryHandleTypeFlagBits,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkExternalBufferProperties {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub externalMemoryProperties: VkExternalMemoryProperties,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceIDProperties {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub deviceUUID: [u8; 16usize],
pub driverUUID: [u8; 16usize],
pub deviceLUID: [u8; 8usize],
pub deviceNodeMask: u32,
pub deviceLUIDValid: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkExternalMemoryImageCreateInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub handleTypes: VkExternalMemoryHandleTypeFlags,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkExternalMemoryBufferCreateInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub handleTypes: VkExternalMemoryHandleTypeFlags,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkExportMemoryAllocateInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub handleTypes: VkExternalMemoryHandleTypeFlags,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceExternalFenceInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub handleType: VkExternalFenceHandleTypeFlagBits,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkExternalFenceProperties {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub exportFromImportedHandleTypes: VkExternalFenceHandleTypeFlags,
pub compatibleHandleTypes: VkExternalFenceHandleTypeFlags,
pub externalFenceFeatures: VkExternalFenceFeatureFlags,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkExportFenceCreateInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub handleTypes: VkExternalFenceHandleTypeFlags,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkExportSemaphoreCreateInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub handleTypes: VkExternalSemaphoreHandleTypeFlags,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceExternalSemaphoreInfo {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub handleType: VkExternalSemaphoreHandleTypeFlagBits,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkExternalSemaphoreProperties {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub exportFromImportedHandleTypes: VkExternalSemaphoreHandleTypeFlags,
pub compatibleHandleTypes: VkExternalSemaphoreHandleTypeFlags,
pub externalSemaphoreFeatures: VkExternalSemaphoreFeatureFlags,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceMaintenance3Properties {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub maxPerSetDescriptors: u32,
pub maxMemoryAllocationSize: VkDeviceSize,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDescriptorSetLayoutSupport {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub supported: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceShaderDrawParametersFeatures {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub shaderDrawParameters: VkBool32,
}
pub type VkPhysicalDeviceShaderDrawParameterFeatures = VkPhysicalDeviceShaderDrawParametersFeatures;
pub type PFN_vkEnumerateInstanceVersion =
::std::option::Option<unsafe extern "system" fn(pApiVersion: *mut u32) -> VkResult>;
pub type PFN_vkBindBufferMemory2 = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
bindInfoCount: u32,
pBindInfos: *const VkBindBufferMemoryInfo,
) -> VkResult,
>;
pub type PFN_vkBindImageMemory2 = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
bindInfoCount: u32,
pBindInfos: *const VkBindImageMemoryInfo,
) -> VkResult,
>;
pub type PFN_vkGetDeviceGroupPeerMemoryFeatures = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
heapIndex: u32,
localDeviceIndex: u32,
remoteDeviceIndex: u32,
pPeerMemoryFeatures: *mut VkPeerMemoryFeatureFlags,
),
>;
pub type PFN_vkCmdSetDeviceMask = ::std::option::Option<
unsafe extern "system" fn(commandBuffer: VkCommandBuffer, deviceMask: u32),
>;
pub type PFN_vkCmdDispatchBase = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
baseGroupX: u32,
baseGroupY: u32,
baseGroupZ: u32,
groupCountX: u32,
groupCountY: u32,
groupCountZ: u32,
),
>;
pub type PFN_vkEnumeratePhysicalDeviceGroups = ::std::option::Option<
unsafe extern "system" fn(
instance: VkInstance,
pPhysicalDeviceGroupCount: *mut u32,
pPhysicalDeviceGroupProperties: *mut VkPhysicalDeviceGroupProperties,
) -> VkResult,
>;
pub type PFN_vkGetImageMemoryRequirements2 = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pInfo: *const VkImageMemoryRequirementsInfo2,
pMemoryRequirements: *mut VkMemoryRequirements2,
),
>;
pub type PFN_vkGetBufferMemoryRequirements2 = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pInfo: *const VkBufferMemoryRequirementsInfo2,
pMemoryRequirements: *mut VkMemoryRequirements2,
),
>;
pub type PFN_vkGetImageSparseMemoryRequirements2 = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pInfo: *const VkImageSparseMemoryRequirementsInfo2,
pSparseMemoryRequirementCount: *mut u32,
pSparseMemoryRequirements: *mut VkSparseImageMemoryRequirements2,
),
>;
pub type PFN_vkGetPhysicalDeviceFeatures2 = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
pFeatures: *mut VkPhysicalDeviceFeatures2,
),
>;
pub type PFN_vkGetPhysicalDeviceProperties2 = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
pProperties: *mut VkPhysicalDeviceProperties2,
),
>;
pub type PFN_vkGetPhysicalDeviceFormatProperties2 = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
format: VkFormat,
pFormatProperties: *mut VkFormatProperties2,
),
>;
pub type PFN_vkGetPhysicalDeviceImageFormatProperties2 = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
pImageFormatInfo: *const VkPhysicalDeviceImageFormatInfo2,
pImageFormatProperties: *mut VkImageFormatProperties2,
) -> VkResult,
>;
pub type PFN_vkGetPhysicalDeviceQueueFamilyProperties2 = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
pQueueFamilyPropertyCount: *mut u32,
pQueueFamilyProperties: *mut VkQueueFamilyProperties2,
),
>;
pub type PFN_vkGetPhysicalDeviceMemoryProperties2 = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
pMemoryProperties: *mut VkPhysicalDeviceMemoryProperties2,
),
>;
pub type PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
pFormatInfo: *const VkPhysicalDeviceSparseImageFormatInfo2,
pPropertyCount: *mut u32,
pProperties: *mut VkSparseImageFormatProperties2,
),
>;
pub type PFN_vkTrimCommandPool = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
commandPool: VkCommandPool,
flags: VkCommandPoolTrimFlags,
),
>;
pub type PFN_vkGetDeviceQueue2 = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pQueueInfo: *const VkDeviceQueueInfo2,
pQueue: *mut VkQueue,
),
>;
pub type PFN_vkCreateSamplerYcbcrConversion = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pCreateInfo: *const VkSamplerYcbcrConversionCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pYcbcrConversion: *mut VkSamplerYcbcrConversion,
) -> VkResult,
>;
pub type PFN_vkDestroySamplerYcbcrConversion = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
ycbcrConversion: VkSamplerYcbcrConversion,
pAllocator: *const VkAllocationCallbacks,
),
>;
pub type PFN_vkCreateDescriptorUpdateTemplate = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pCreateInfo: *const VkDescriptorUpdateTemplateCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pDescriptorUpdateTemplate: *mut VkDescriptorUpdateTemplate,
) -> VkResult,
>;
pub type PFN_vkDestroyDescriptorUpdateTemplate = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
descriptorUpdateTemplate: VkDescriptorUpdateTemplate,
pAllocator: *const VkAllocationCallbacks,
),
>;
pub type PFN_vkUpdateDescriptorSetWithTemplate = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
descriptorSet: VkDescriptorSet,
descriptorUpdateTemplate: VkDescriptorUpdateTemplate,
pData: *const ::std::os::raw::c_void,
),
>;
pub type PFN_vkGetPhysicalDeviceExternalBufferProperties = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
pExternalBufferInfo: *const VkPhysicalDeviceExternalBufferInfo,
pExternalBufferProperties: *mut VkExternalBufferProperties,
),
>;
pub type PFN_vkGetPhysicalDeviceExternalFenceProperties = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
pExternalFenceInfo: *const VkPhysicalDeviceExternalFenceInfo,
pExternalFenceProperties: *mut VkExternalFenceProperties,
),
>;
pub type PFN_vkGetPhysicalDeviceExternalSemaphoreProperties = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
pExternalSemaphoreInfo: *const VkPhysicalDeviceExternalSemaphoreInfo,
pExternalSemaphoreProperties: *mut VkExternalSemaphoreProperties,
),
>;
pub type PFN_vkGetDescriptorSetLayoutSupport = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pCreateInfo: *const VkDescriptorSetLayoutCreateInfo,
pSupport: *mut VkDescriptorSetLayoutSupport,
),
>;
extern "system" {
pub fn vkEnumerateInstanceVersion(pApiVersion: *mut u32) -> VkResult;
}
extern "system" {
pub fn vkBindBufferMemory2(
device: VkDevice,
bindInfoCount: u32,
pBindInfos: *const VkBindBufferMemoryInfo,
) -> VkResult;
}
extern "system" {
pub fn vkBindImageMemory2(
device: VkDevice,
bindInfoCount: u32,
pBindInfos: *const VkBindImageMemoryInfo,
) -> VkResult;
}
extern "system" {
pub fn vkGetDeviceGroupPeerMemoryFeatures(
device: VkDevice,
heapIndex: u32,
localDeviceIndex: u32,
remoteDeviceIndex: u32,
pPeerMemoryFeatures: *mut VkPeerMemoryFeatureFlags,
);
}
extern "system" {
pub fn vkCmdSetDeviceMask(commandBuffer: VkCommandBuffer, deviceMask: u32);
}
extern "system" {
pub fn vkCmdDispatchBase(
commandBuffer: VkCommandBuffer,
baseGroupX: u32,
baseGroupY: u32,
baseGroupZ: u32,
groupCountX: u32,
groupCountY: u32,
groupCountZ: u32,
);
}
extern "system" {
pub fn vkEnumeratePhysicalDeviceGroups(
instance: VkInstance,
pPhysicalDeviceGroupCount: *mut u32,
pPhysicalDeviceGroupProperties: *mut VkPhysicalDeviceGroupProperties,
) -> VkResult;
}
extern "system" {
pub fn vkGetImageMemoryRequirements2(
device: VkDevice,
pInfo: *const VkImageMemoryRequirementsInfo2,
pMemoryRequirements: *mut VkMemoryRequirements2,
);
}
extern "system" {
pub fn vkGetBufferMemoryRequirements2(
device: VkDevice,
pInfo: *const VkBufferMemoryRequirementsInfo2,
pMemoryRequirements: *mut VkMemoryRequirements2,
);
}
extern "system" {
pub fn vkGetImageSparseMemoryRequirements2(
device: VkDevice,
pInfo: *const VkImageSparseMemoryRequirementsInfo2,
pSparseMemoryRequirementCount: *mut u32,
pSparseMemoryRequirements: *mut VkSparseImageMemoryRequirements2,
);
}
extern "system" {
pub fn vkGetPhysicalDeviceFeatures2(
physicalDevice: VkPhysicalDevice,
pFeatures: *mut VkPhysicalDeviceFeatures2,
);
}
extern "system" {
pub fn vkGetPhysicalDeviceProperties2(
physicalDevice: VkPhysicalDevice,
pProperties: *mut VkPhysicalDeviceProperties2,
);
}
extern "system" {
pub fn vkGetPhysicalDeviceFormatProperties2(
physicalDevice: VkPhysicalDevice,
format: VkFormat,
pFormatProperties: *mut VkFormatProperties2,
);
}
extern "system" {
pub fn vkGetPhysicalDeviceImageFormatProperties2(
physicalDevice: VkPhysicalDevice,
pImageFormatInfo: *const VkPhysicalDeviceImageFormatInfo2,
pImageFormatProperties: *mut VkImageFormatProperties2,
) -> VkResult;
}
extern "system" {
pub fn vkGetPhysicalDeviceQueueFamilyProperties2(
physicalDevice: VkPhysicalDevice,
pQueueFamilyPropertyCount: *mut u32,
pQueueFamilyProperties: *mut VkQueueFamilyProperties2,
);
}
extern "system" {
pub fn vkGetPhysicalDeviceMemoryProperties2(
physicalDevice: VkPhysicalDevice,
pMemoryProperties: *mut VkPhysicalDeviceMemoryProperties2,
);
}
extern "system" {
pub fn vkGetPhysicalDeviceSparseImageFormatProperties2(
physicalDevice: VkPhysicalDevice,
pFormatInfo: *const VkPhysicalDeviceSparseImageFormatInfo2,
pPropertyCount: *mut u32,
pProperties: *mut VkSparseImageFormatProperties2,
);
}
extern "system" {
pub fn vkTrimCommandPool(
device: VkDevice,
commandPool: VkCommandPool,
flags: VkCommandPoolTrimFlags,
);
}
extern "system" {
pub fn vkGetDeviceQueue2(
device: VkDevice,
pQueueInfo: *const VkDeviceQueueInfo2,
pQueue: *mut VkQueue,
);
}
extern "system" {
pub fn vkCreateSamplerYcbcrConversion(
device: VkDevice,
pCreateInfo: *const VkSamplerYcbcrConversionCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pYcbcrConversion: *mut VkSamplerYcbcrConversion,
) -> VkResult;
}
extern "system" {
pub fn vkDestroySamplerYcbcrConversion(
device: VkDevice,
ycbcrConversion: VkSamplerYcbcrConversion,
pAllocator: *const VkAllocationCallbacks,
);
}
extern "system" {
pub fn vkCreateDescriptorUpdateTemplate(
device: VkDevice,
pCreateInfo: *const VkDescriptorUpdateTemplateCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pDescriptorUpdateTemplate: *mut VkDescriptorUpdateTemplate,
) -> VkResult;
}
extern "system" {
pub fn vkDestroyDescriptorUpdateTemplate(
device: VkDevice,
descriptorUpdateTemplate: VkDescriptorUpdateTemplate,
pAllocator: *const VkAllocationCallbacks,
);
}
extern "system" {
pub fn vkUpdateDescriptorSetWithTemplate(
device: VkDevice,
descriptorSet: VkDescriptorSet,
descriptorUpdateTemplate: VkDescriptorUpdateTemplate,
pData: *const ::std::os::raw::c_void,
);
}
extern "system" {
pub fn vkGetPhysicalDeviceExternalBufferProperties(
physicalDevice: VkPhysicalDevice,
pExternalBufferInfo: *const VkPhysicalDeviceExternalBufferInfo,
pExternalBufferProperties: *mut VkExternalBufferProperties,
);
}
extern "system" {
pub fn vkGetPhysicalDeviceExternalFenceProperties(
physicalDevice: VkPhysicalDevice,
pExternalFenceInfo: *const VkPhysicalDeviceExternalFenceInfo,
pExternalFenceProperties: *mut VkExternalFenceProperties,
);
}
extern "system" {
pub fn vkGetPhysicalDeviceExternalSemaphoreProperties(
physicalDevice: VkPhysicalDevice,
pExternalSemaphoreInfo: *const VkPhysicalDeviceExternalSemaphoreInfo,
pExternalSemaphoreProperties: *mut VkExternalSemaphoreProperties,
);
}
extern "system" {
pub fn vkGetDescriptorSetLayoutSupport(
device: VkDevice,
pCreateInfo: *const VkDescriptorSetLayoutCreateInfo,
pSupport: *mut VkDescriptorSetLayoutSupport,
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkSurfaceKHR_T {
_unused: [u8; 0],
}
pub type VkSurfaceKHR = *mut VkSurfaceKHR_T;
pub const VK_COLOR_SPACE_SRGB_NONLINEAR_KHR: VkColorSpaceKHR = 0;
pub const VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT: VkColorSpaceKHR = 1000104001;
pub const VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT: VkColorSpaceKHR = 1000104002;
pub const VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT: VkColorSpaceKHR = 1000104003;
pub const VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT: VkColorSpaceKHR = 1000104004;
pub const VK_COLOR_SPACE_BT709_LINEAR_EXT: VkColorSpaceKHR = 1000104005;
pub const VK_COLOR_SPACE_BT709_NONLINEAR_EXT: VkColorSpaceKHR = 1000104006;
pub const VK_COLOR_SPACE_BT2020_LINEAR_EXT: VkColorSpaceKHR = 1000104007;
pub const VK_COLOR_SPACE_HDR10_ST2084_EXT: VkColorSpaceKHR = 1000104008;
pub const VK_COLOR_SPACE_DOLBYVISION_EXT: VkColorSpaceKHR = 1000104009;
pub const VK_COLOR_SPACE_HDR10_HLG_EXT: VkColorSpaceKHR = 1000104010;
pub const VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT: VkColorSpaceKHR = 1000104011;
pub const VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT: VkColorSpaceKHR = 1000104012;
pub const VK_COLOR_SPACE_PASS_THROUGH_EXT: VkColorSpaceKHR = 1000104013;
pub const VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT: VkColorSpaceKHR = 1000104014;
pub const VK_COLOR_SPACE_DISPLAY_NATIVE_AMD: VkColorSpaceKHR = 1000213000;
pub const VK_COLORSPACE_SRGB_NONLINEAR_KHR: VkColorSpaceKHR = 0;
pub const VK_COLOR_SPACE_DCI_P3_LINEAR_EXT: VkColorSpaceKHR = 1000104003;
pub const VK_COLOR_SPACE_BEGIN_RANGE_KHR: VkColorSpaceKHR = 0;
pub const VK_COLOR_SPACE_END_RANGE_KHR: VkColorSpaceKHR = 0;
pub const VK_COLOR_SPACE_RANGE_SIZE_KHR: VkColorSpaceKHR = 1;
pub const VK_COLOR_SPACE_MAX_ENUM_KHR: VkColorSpaceKHR = 2147483647;
pub type VkColorSpaceKHR = i32;
pub const VK_PRESENT_MODE_IMMEDIATE_KHR: VkPresentModeKHR = 0;
pub const VK_PRESENT_MODE_MAILBOX_KHR: VkPresentModeKHR = 1;
pub const VK_PRESENT_MODE_FIFO_KHR: VkPresentModeKHR = 2;
pub const VK_PRESENT_MODE_FIFO_RELAXED_KHR: VkPresentModeKHR = 3;
pub const VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR: VkPresentModeKHR = 1000111000;
pub const VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR: VkPresentModeKHR = 1000111001;
pub const VK_PRESENT_MODE_BEGIN_RANGE_KHR: VkPresentModeKHR = 0;
pub const VK_PRESENT_MODE_END_RANGE_KHR: VkPresentModeKHR = 3;
pub const VK_PRESENT_MODE_RANGE_SIZE_KHR: VkPresentModeKHR = 4;
pub const VK_PRESENT_MODE_MAX_ENUM_KHR: VkPresentModeKHR = 2147483647;
pub type VkPresentModeKHR = i32;
pub const VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR: VkSurfaceTransformFlagBitsKHR = 1;
pub const VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR: VkSurfaceTransformFlagBitsKHR = 2;
pub const VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR: VkSurfaceTransformFlagBitsKHR = 4;
pub const VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR: VkSurfaceTransformFlagBitsKHR = 8;
pub const VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR: VkSurfaceTransformFlagBitsKHR = 16;
pub const VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR: VkSurfaceTransformFlagBitsKHR =
32;
pub const VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR: VkSurfaceTransformFlagBitsKHR =
64;
pub const VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR: VkSurfaceTransformFlagBitsKHR =
128;
pub const VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR: VkSurfaceTransformFlagBitsKHR = 256;
pub const VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR: VkSurfaceTransformFlagBitsKHR = 2147483647;
pub type VkSurfaceTransformFlagBitsKHR = i32;
pub type VkSurfaceTransformFlagsKHR = VkFlags;
pub const VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR: VkCompositeAlphaFlagBitsKHR = 1;
pub const VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR: VkCompositeAlphaFlagBitsKHR = 2;
pub const VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR: VkCompositeAlphaFlagBitsKHR = 4;
pub const VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR: VkCompositeAlphaFlagBitsKHR = 8;
pub const VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR: VkCompositeAlphaFlagBitsKHR = 2147483647;
pub type VkCompositeAlphaFlagBitsKHR = i32;
pub type VkCompositeAlphaFlagsKHR = VkFlags;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkSurfaceCapabilitiesKHR {
pub minImageCount: u32,
pub maxImageCount: u32,
pub currentExtent: VkExtent2D,
pub minImageExtent: VkExtent2D,
pub maxImageExtent: VkExtent2D,
pub maxImageArrayLayers: u32,
pub supportedTransforms: VkSurfaceTransformFlagsKHR,
pub currentTransform: VkSurfaceTransformFlagBitsKHR,
pub supportedCompositeAlpha: VkCompositeAlphaFlagsKHR,
pub supportedUsageFlags: VkImageUsageFlags,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkSurfaceFormatKHR {
pub format: VkFormat,
pub colorSpace: VkColorSpaceKHR,
}
pub type PFN_vkDestroySurfaceKHR = ::std::option::Option<
unsafe extern "system" fn(
instance: VkInstance,
surface: VkSurfaceKHR,
pAllocator: *const VkAllocationCallbacks,
),
>;
pub type PFN_vkGetPhysicalDeviceSurfaceSupportKHR = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
queueFamilyIndex: u32,
surface: VkSurfaceKHR,
pSupported: *mut VkBool32,
) -> VkResult,
>;
pub type PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
surface: VkSurfaceKHR,
pSurfaceCapabilities: *mut VkSurfaceCapabilitiesKHR,
) -> VkResult,
>;
pub type PFN_vkGetPhysicalDeviceSurfaceFormatsKHR = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
surface: VkSurfaceKHR,
pSurfaceFormatCount: *mut u32,
pSurfaceFormats: *mut VkSurfaceFormatKHR,
) -> VkResult,
>;
pub type PFN_vkGetPhysicalDeviceSurfacePresentModesKHR = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
surface: VkSurfaceKHR,
pPresentModeCount: *mut u32,
pPresentModes: *mut VkPresentModeKHR,
) -> VkResult,
>;
extern "system" {
pub fn vkDestroySurfaceKHR(
instance: VkInstance,
surface: VkSurfaceKHR,
pAllocator: *const VkAllocationCallbacks,
);
}
extern "system" {
pub fn vkGetPhysicalDeviceSurfaceSupportKHR(
physicalDevice: VkPhysicalDevice,
queueFamilyIndex: u32,
surface: VkSurfaceKHR,
pSupported: *mut VkBool32,
) -> VkResult;
}
extern "system" {
pub fn vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
physicalDevice: VkPhysicalDevice,
surface: VkSurfaceKHR,
pSurfaceCapabilities: *mut VkSurfaceCapabilitiesKHR,
) -> VkResult;
}
extern "system" {
pub fn vkGetPhysicalDeviceSurfaceFormatsKHR(
physicalDevice: VkPhysicalDevice,
surface: VkSurfaceKHR,
pSurfaceFormatCount: *mut u32,
pSurfaceFormats: *mut VkSurfaceFormatKHR,
) -> VkResult;
}
extern "system" {
pub fn vkGetPhysicalDeviceSurfacePresentModesKHR(
physicalDevice: VkPhysicalDevice,
surface: VkSurfaceKHR,
pPresentModeCount: *mut u32,
pPresentModes: *mut VkPresentModeKHR,
) -> VkResult;
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkSwapchainKHR_T {
_unused: [u8; 0],
}
pub type VkSwapchainKHR = *mut VkSwapchainKHR_T;
pub const VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR: VkSwapchainCreateFlagBitsKHR = 1;
pub const VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR: VkSwapchainCreateFlagBitsKHR = 2;
pub const VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR: VkSwapchainCreateFlagBitsKHR = 4;
pub const VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR: VkSwapchainCreateFlagBitsKHR = 2147483647;
pub type VkSwapchainCreateFlagBitsKHR = i32;
pub type VkSwapchainCreateFlagsKHR = VkFlags;
pub const VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR: VkDeviceGroupPresentModeFlagBitsKHR = 1;
pub const VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR: VkDeviceGroupPresentModeFlagBitsKHR = 2;
pub const VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR: VkDeviceGroupPresentModeFlagBitsKHR = 4;
pub const VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR:
VkDeviceGroupPresentModeFlagBitsKHR = 8;
pub const VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR: VkDeviceGroupPresentModeFlagBitsKHR =
2147483647;
pub type VkDeviceGroupPresentModeFlagBitsKHR = i32;
pub type VkDeviceGroupPresentModeFlagsKHR = VkFlags;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkSwapchainCreateInfoKHR {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkSwapchainCreateFlagsKHR,
pub surface: VkSurfaceKHR,
pub minImageCount: u32,
pub imageFormat: VkFormat,
pub imageColorSpace: VkColorSpaceKHR,
pub imageExtent: VkExtent2D,
pub imageArrayLayers: u32,
pub imageUsage: VkImageUsageFlags,
pub imageSharingMode: VkSharingMode,
pub queueFamilyIndexCount: u32,
pub pQueueFamilyIndices: *const u32,
pub preTransform: VkSurfaceTransformFlagBitsKHR,
pub compositeAlpha: VkCompositeAlphaFlagBitsKHR,
pub presentMode: VkPresentModeKHR,
pub clipped: VkBool32,
pub oldSwapchain: VkSwapchainKHR,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPresentInfoKHR {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub waitSemaphoreCount: u32,
pub pWaitSemaphores: *const VkSemaphore,
pub swapchainCount: u32,
pub pSwapchains: *const VkSwapchainKHR,
pub pImageIndices: *const u32,
pub pResults: *mut VkResult,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkImageSwapchainCreateInfoKHR {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub swapchain: VkSwapchainKHR,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkBindImageMemorySwapchainInfoKHR {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub swapchain: VkSwapchainKHR,
pub imageIndex: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkAcquireNextImageInfoKHR {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub swapchain: VkSwapchainKHR,
pub timeout: u64,
pub semaphore: VkSemaphore,
pub fence: VkFence,
pub deviceMask: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDeviceGroupPresentCapabilitiesKHR {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub presentMask: [u32; 32usize],
pub modes: VkDeviceGroupPresentModeFlagsKHR,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDeviceGroupPresentInfoKHR {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub swapchainCount: u32,
pub pDeviceMasks: *const u32,
pub mode: VkDeviceGroupPresentModeFlagBitsKHR,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDeviceGroupSwapchainCreateInfoKHR {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub modes: VkDeviceGroupPresentModeFlagsKHR,
}
pub type PFN_vkCreateSwapchainKHR = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pCreateInfo: *const VkSwapchainCreateInfoKHR,
pAllocator: *const VkAllocationCallbacks,
pSwapchain: *mut VkSwapchainKHR,
) -> VkResult,
>;
pub type PFN_vkDestroySwapchainKHR = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
swapchain: VkSwapchainKHR,
pAllocator: *const VkAllocationCallbacks,
),
>;
pub type PFN_vkGetSwapchainImagesKHR = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
swapchain: VkSwapchainKHR,
pSwapchainImageCount: *mut u32,
pSwapchainImages: *mut VkImage,
) -> VkResult,
>;
pub type PFN_vkAcquireNextImageKHR = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
swapchain: VkSwapchainKHR,
timeout: u64,
semaphore: VkSemaphore,
fence: VkFence,
pImageIndex: *mut u32,
) -> VkResult,
>;
pub type PFN_vkQueuePresentKHR = ::std::option::Option<
unsafe extern "system" fn(queue: VkQueue, pPresentInfo: *const VkPresentInfoKHR) -> VkResult,
>;
pub type PFN_vkGetDeviceGroupPresentCapabilitiesKHR = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pDeviceGroupPresentCapabilities: *mut VkDeviceGroupPresentCapabilitiesKHR,
) -> VkResult,
>;
pub type PFN_vkGetDeviceGroupSurfacePresentModesKHR = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
surface: VkSurfaceKHR,
pModes: *mut VkDeviceGroupPresentModeFlagsKHR,
) -> VkResult,
>;
pub type PFN_vkGetPhysicalDevicePresentRectanglesKHR = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
surface: VkSurfaceKHR,
pRectCount: *mut u32,
pRects: *mut VkRect2D,
) -> VkResult,
>;
pub type PFN_vkAcquireNextImage2KHR = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pAcquireInfo: *const VkAcquireNextImageInfoKHR,
pImageIndex: *mut u32,
) -> VkResult,
>;
extern "system" {
pub fn vkCreateSwapchainKHR(
device: VkDevice,
pCreateInfo: *const VkSwapchainCreateInfoKHR,
pAllocator: *const VkAllocationCallbacks,
pSwapchain: *mut VkSwapchainKHR,
) -> VkResult;
}
extern "system" {
pub fn vkDestroySwapchainKHR(
device: VkDevice,
swapchain: VkSwapchainKHR,
pAllocator: *const VkAllocationCallbacks,
);
}
extern "system" {
pub fn vkGetSwapchainImagesKHR(
device: VkDevice,
swapchain: VkSwapchainKHR,
pSwapchainImageCount: *mut u32,
pSwapchainImages: *mut VkImage,
) -> VkResult;
}
extern "system" {
pub fn vkAcquireNextImageKHR(
device: VkDevice,
swapchain: VkSwapchainKHR,
timeout: u64,
semaphore: VkSemaphore,
fence: VkFence,
pImageIndex: *mut u32,
) -> VkResult;
}
extern "system" {
pub fn vkQueuePresentKHR(queue: VkQueue, pPresentInfo: *const VkPresentInfoKHR) -> VkResult;
}
extern "system" {
pub fn vkGetDeviceGroupPresentCapabilitiesKHR(
device: VkDevice,
pDeviceGroupPresentCapabilities: *mut VkDeviceGroupPresentCapabilitiesKHR,
) -> VkResult;
}
extern "system" {
pub fn vkGetDeviceGroupSurfacePresentModesKHR(
device: VkDevice,
surface: VkSurfaceKHR,
pModes: *mut VkDeviceGroupPresentModeFlagsKHR,
) -> VkResult;
}
extern "system" {
pub fn vkGetPhysicalDevicePresentRectanglesKHR(
physicalDevice: VkPhysicalDevice,
surface: VkSurfaceKHR,
pRectCount: *mut u32,
pRects: *mut VkRect2D,
) -> VkResult;
}
extern "system" {
pub fn vkAcquireNextImage2KHR(
device: VkDevice,
pAcquireInfo: *const VkAcquireNextImageInfoKHR,
pImageIndex: *mut u32,
) -> VkResult;
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDisplayKHR_T {
_unused: [u8; 0],
}
pub type VkDisplayKHR = *mut VkDisplayKHR_T;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDisplayModeKHR_T {
_unused: [u8; 0],
}
pub type VkDisplayModeKHR = *mut VkDisplayModeKHR_T;
pub const VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR: VkDisplayPlaneAlphaFlagBitsKHR = 1;
pub const VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR: VkDisplayPlaneAlphaFlagBitsKHR = 2;
pub const VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR: VkDisplayPlaneAlphaFlagBitsKHR = 4;
pub const VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR: VkDisplayPlaneAlphaFlagBitsKHR =
8;
pub const VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR: VkDisplayPlaneAlphaFlagBitsKHR =
2147483647;
pub type VkDisplayPlaneAlphaFlagBitsKHR = i32;
pub type VkDisplayPlaneAlphaFlagsKHR = VkFlags;
pub type VkDisplayModeCreateFlagsKHR = VkFlags;
pub type VkDisplaySurfaceCreateFlagsKHR = VkFlags;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDisplayPropertiesKHR {
pub display: VkDisplayKHR,
pub displayName: *const ::std::os::raw::c_char,
pub physicalDimensions: VkExtent2D,
pub physicalResolution: VkExtent2D,
pub supportedTransforms: VkSurfaceTransformFlagsKHR,
pub planeReorderPossible: VkBool32,
pub persistentContent: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDisplayModeParametersKHR {
pub visibleRegion: VkExtent2D,
pub refreshRate: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDisplayModePropertiesKHR {
pub displayMode: VkDisplayModeKHR,
pub parameters: VkDisplayModeParametersKHR,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDisplayModeCreateInfoKHR {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkDisplayModeCreateFlagsKHR,
pub parameters: VkDisplayModeParametersKHR,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDisplayPlaneCapabilitiesKHR {
pub supportedAlpha: VkDisplayPlaneAlphaFlagsKHR,
pub minSrcPosition: VkOffset2D,
pub maxSrcPosition: VkOffset2D,
pub minSrcExtent: VkExtent2D,
pub maxSrcExtent: VkExtent2D,
pub minDstPosition: VkOffset2D,
pub maxDstPosition: VkOffset2D,
pub minDstExtent: VkExtent2D,
pub maxDstExtent: VkExtent2D,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDisplayPlanePropertiesKHR {
pub currentDisplay: VkDisplayKHR,
pub currentStackIndex: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDisplaySurfaceCreateInfoKHR {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkDisplaySurfaceCreateFlagsKHR,
pub displayMode: VkDisplayModeKHR,
pub planeIndex: u32,
pub planeStackIndex: u32,
pub transform: VkSurfaceTransformFlagBitsKHR,
pub globalAlpha: f32,
pub alphaMode: VkDisplayPlaneAlphaFlagBitsKHR,
pub imageExtent: VkExtent2D,
}
pub type PFN_vkGetPhysicalDeviceDisplayPropertiesKHR = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
pPropertyCount: *mut u32,
pProperties: *mut VkDisplayPropertiesKHR,
) -> VkResult,
>;
pub type PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
pPropertyCount: *mut u32,
pProperties: *mut VkDisplayPlanePropertiesKHR,
) -> VkResult,
>;
pub type PFN_vkGetDisplayPlaneSupportedDisplaysKHR = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
planeIndex: u32,
pDisplayCount: *mut u32,
pDisplays: *mut VkDisplayKHR,
) -> VkResult,
>;
pub type PFN_vkGetDisplayModePropertiesKHR = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
display: VkDisplayKHR,
pPropertyCount: *mut u32,
pProperties: *mut VkDisplayModePropertiesKHR,
) -> VkResult,
>;
pub type PFN_vkCreateDisplayModeKHR = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
display: VkDisplayKHR,
pCreateInfo: *const VkDisplayModeCreateInfoKHR,
pAllocator: *const VkAllocationCallbacks,
pMode: *mut VkDisplayModeKHR,
) -> VkResult,
>;
pub type PFN_vkGetDisplayPlaneCapabilitiesKHR = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
mode: VkDisplayModeKHR,
planeIndex: u32,
pCapabilities: *mut VkDisplayPlaneCapabilitiesKHR,
) -> VkResult,
>;
pub type PFN_vkCreateDisplayPlaneSurfaceKHR = ::std::option::Option<
unsafe extern "system" fn(
instance: VkInstance,
pCreateInfo: *const VkDisplaySurfaceCreateInfoKHR,
pAllocator: *const VkAllocationCallbacks,
pSurface: *mut VkSurfaceKHR,
) -> VkResult,
>;
extern "system" {
pub fn vkGetPhysicalDeviceDisplayPropertiesKHR(
physicalDevice: VkPhysicalDevice,
pPropertyCount: *mut u32,
pProperties: *mut VkDisplayPropertiesKHR,
) -> VkResult;
}
extern "system" {
pub fn vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
physicalDevice: VkPhysicalDevice,
pPropertyCount: *mut u32,
pProperties: *mut VkDisplayPlanePropertiesKHR,
) -> VkResult;
}
extern "system" {
pub fn vkGetDisplayPlaneSupportedDisplaysKHR(
physicalDevice: VkPhysicalDevice,
planeIndex: u32,
pDisplayCount: *mut u32,
pDisplays: *mut VkDisplayKHR,
) -> VkResult;
}
extern "system" {
pub fn vkGetDisplayModePropertiesKHR(
physicalDevice: VkPhysicalDevice,
display: VkDisplayKHR,
pPropertyCount: *mut u32,
pProperties: *mut VkDisplayModePropertiesKHR,
) -> VkResult;
}
extern "system" {
pub fn vkCreateDisplayModeKHR(
physicalDevice: VkPhysicalDevice,
display: VkDisplayKHR,
pCreateInfo: *const VkDisplayModeCreateInfoKHR,
pAllocator: *const VkAllocationCallbacks,
pMode: *mut VkDisplayModeKHR,
) -> VkResult;
}
extern "system" {
pub fn vkGetDisplayPlaneCapabilitiesKHR(
physicalDevice: VkPhysicalDevice,
mode: VkDisplayModeKHR,
planeIndex: u32,
pCapabilities: *mut VkDisplayPlaneCapabilitiesKHR,
) -> VkResult;
}
extern "system" {
pub fn vkCreateDisplayPlaneSurfaceKHR(
instance: VkInstance,
pCreateInfo: *const VkDisplaySurfaceCreateInfoKHR,
pAllocator: *const VkAllocationCallbacks,
pSurface: *mut VkSurfaceKHR,
) -> VkResult;
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDisplayPresentInfoKHR {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub srcRect: VkRect2D,
pub dstRect: VkRect2D,
pub persistent: VkBool32,
}
pub type PFN_vkCreateSharedSwapchainsKHR = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
swapchainCount: u32,
pCreateInfos: *const VkSwapchainCreateInfoKHR,
pAllocator: *const VkAllocationCallbacks,
pSwapchains: *mut VkSwapchainKHR,
) -> VkResult,
>;
extern "system" {
pub fn vkCreateSharedSwapchainsKHR(
device: VkDevice,
swapchainCount: u32,
pCreateInfos: *const VkSwapchainCreateInfoKHR,
pAllocator: *const VkAllocationCallbacks,
pSwapchains: *mut VkSwapchainKHR,
) -> VkResult;
}
pub type VkRenderPassMultiviewCreateInfoKHR = VkRenderPassMultiviewCreateInfo;
pub type VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures;
pub type VkPhysicalDeviceMultiviewPropertiesKHR = VkPhysicalDeviceMultiviewProperties;
pub type VkPhysicalDeviceFeatures2KHR = VkPhysicalDeviceFeatures2;
pub type VkPhysicalDeviceProperties2KHR = VkPhysicalDeviceProperties2;
pub type VkFormatProperties2KHR = VkFormatProperties2;
pub type VkImageFormatProperties2KHR = VkImageFormatProperties2;
pub type VkPhysicalDeviceImageFormatInfo2KHR = VkPhysicalDeviceImageFormatInfo2;
pub type VkQueueFamilyProperties2KHR = VkQueueFamilyProperties2;
pub type VkPhysicalDeviceMemoryProperties2KHR = VkPhysicalDeviceMemoryProperties2;
pub type VkSparseImageFormatProperties2KHR = VkSparseImageFormatProperties2;
pub type VkPhysicalDeviceSparseImageFormatInfo2KHR = VkPhysicalDeviceSparseImageFormatInfo2;
pub type PFN_vkGetPhysicalDeviceFeatures2KHR = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
pFeatures: *mut VkPhysicalDeviceFeatures2,
),
>;
pub type PFN_vkGetPhysicalDeviceProperties2KHR = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
pProperties: *mut VkPhysicalDeviceProperties2,
),
>;
pub type PFN_vkGetPhysicalDeviceFormatProperties2KHR = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
format: VkFormat,
pFormatProperties: *mut VkFormatProperties2,
),
>;
pub type PFN_vkGetPhysicalDeviceImageFormatProperties2KHR = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
pImageFormatInfo: *const VkPhysicalDeviceImageFormatInfo2,
pImageFormatProperties: *mut VkImageFormatProperties2,
) -> VkResult,
>;
pub type PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
pQueueFamilyPropertyCount: *mut u32,
pQueueFamilyProperties: *mut VkQueueFamilyProperties2,
),
>;
pub type PFN_vkGetPhysicalDeviceMemoryProperties2KHR = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
pMemoryProperties: *mut VkPhysicalDeviceMemoryProperties2,
),
>;
pub type PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
pFormatInfo: *const VkPhysicalDeviceSparseImageFormatInfo2,
pPropertyCount: *mut u32,
pProperties: *mut VkSparseImageFormatProperties2,
),
>;
extern "system" {
pub fn vkGetPhysicalDeviceFeatures2KHR(
physicalDevice: VkPhysicalDevice,
pFeatures: *mut VkPhysicalDeviceFeatures2,
);
}
extern "system" {
pub fn vkGetPhysicalDeviceProperties2KHR(
physicalDevice: VkPhysicalDevice,
pProperties: *mut VkPhysicalDeviceProperties2,
);
}
extern "system" {
pub fn vkGetPhysicalDeviceFormatProperties2KHR(
physicalDevice: VkPhysicalDevice,
format: VkFormat,
pFormatProperties: *mut VkFormatProperties2,
);
}
extern "system" {
pub fn vkGetPhysicalDeviceImageFormatProperties2KHR(
physicalDevice: VkPhysicalDevice,
pImageFormatInfo: *const VkPhysicalDeviceImageFormatInfo2,
pImageFormatProperties: *mut VkImageFormatProperties2,
) -> VkResult;
}
extern "system" {
pub fn vkGetPhysicalDeviceQueueFamilyProperties2KHR(
physicalDevice: VkPhysicalDevice,
pQueueFamilyPropertyCount: *mut u32,
pQueueFamilyProperties: *mut VkQueueFamilyProperties2,
);
}
extern "system" {
pub fn vkGetPhysicalDeviceMemoryProperties2KHR(
physicalDevice: VkPhysicalDevice,
pMemoryProperties: *mut VkPhysicalDeviceMemoryProperties2,
);
}
extern "system" {
pub fn vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
physicalDevice: VkPhysicalDevice,
pFormatInfo: *const VkPhysicalDeviceSparseImageFormatInfo2,
pPropertyCount: *mut u32,
pProperties: *mut VkSparseImageFormatProperties2,
);
}
pub type VkPeerMemoryFeatureFlagsKHR = VkPeerMemoryFeatureFlags;
pub use self::VkPeerMemoryFeatureFlagBits as VkPeerMemoryFeatureFlagBitsKHR;
pub type VkMemoryAllocateFlagsKHR = VkMemoryAllocateFlags;
pub use self::VkMemoryAllocateFlagBits as VkMemoryAllocateFlagBitsKHR;
pub type VkMemoryAllocateFlagsInfoKHR = VkMemoryAllocateFlagsInfo;
pub type VkDeviceGroupRenderPassBeginInfoKHR = VkDeviceGroupRenderPassBeginInfo;
pub type VkDeviceGroupCommandBufferBeginInfoKHR = VkDeviceGroupCommandBufferBeginInfo;
pub type VkDeviceGroupSubmitInfoKHR = VkDeviceGroupSubmitInfo;
pub type VkDeviceGroupBindSparseInfoKHR = VkDeviceGroupBindSparseInfo;
pub type VkBindBufferMemoryDeviceGroupInfoKHR = VkBindBufferMemoryDeviceGroupInfo;
pub type VkBindImageMemoryDeviceGroupInfoKHR = VkBindImageMemoryDeviceGroupInfo;
pub type PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
heapIndex: u32,
localDeviceIndex: u32,
remoteDeviceIndex: u32,
pPeerMemoryFeatures: *mut VkPeerMemoryFeatureFlags,
),
>;
pub type PFN_vkCmdSetDeviceMaskKHR = ::std::option::Option<
unsafe extern "system" fn(commandBuffer: VkCommandBuffer, deviceMask: u32),
>;
pub type PFN_vkCmdDispatchBaseKHR = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
baseGroupX: u32,
baseGroupY: u32,
baseGroupZ: u32,
groupCountX: u32,
groupCountY: u32,
groupCountZ: u32,
),
>;
extern "system" {
pub fn vkGetDeviceGroupPeerMemoryFeaturesKHR(
device: VkDevice,
heapIndex: u32,
localDeviceIndex: u32,
remoteDeviceIndex: u32,
pPeerMemoryFeatures: *mut VkPeerMemoryFeatureFlags,
);
}
extern "system" {
pub fn vkCmdSetDeviceMaskKHR(commandBuffer: VkCommandBuffer, deviceMask: u32);
}
extern "system" {
pub fn vkCmdDispatchBaseKHR(
commandBuffer: VkCommandBuffer,
baseGroupX: u32,
baseGroupY: u32,
baseGroupZ: u32,
groupCountX: u32,
groupCountY: u32,
groupCountZ: u32,
);
}
pub type VkCommandPoolTrimFlagsKHR = VkCommandPoolTrimFlags;
pub type PFN_vkTrimCommandPoolKHR = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
commandPool: VkCommandPool,
flags: VkCommandPoolTrimFlags,
),
>;
extern "system" {
pub fn vkTrimCommandPoolKHR(
device: VkDevice,
commandPool: VkCommandPool,
flags: VkCommandPoolTrimFlags,
);
}
pub type VkPhysicalDeviceGroupPropertiesKHR = VkPhysicalDeviceGroupProperties;
pub type VkDeviceGroupDeviceCreateInfoKHR = VkDeviceGroupDeviceCreateInfo;
pub type PFN_vkEnumeratePhysicalDeviceGroupsKHR = ::std::option::Option<
unsafe extern "system" fn(
instance: VkInstance,
pPhysicalDeviceGroupCount: *mut u32,
pPhysicalDeviceGroupProperties: *mut VkPhysicalDeviceGroupProperties,
) -> VkResult,
>;
extern "system" {
pub fn vkEnumeratePhysicalDeviceGroupsKHR(
instance: VkInstance,
pPhysicalDeviceGroupCount: *mut u32,
pPhysicalDeviceGroupProperties: *mut VkPhysicalDeviceGroupProperties,
) -> VkResult;
}
pub type VkExternalMemoryHandleTypeFlagsKHR = VkExternalMemoryHandleTypeFlags;
pub use self::VkExternalMemoryHandleTypeFlagBits as VkExternalMemoryHandleTypeFlagBitsKHR;
pub type VkExternalMemoryFeatureFlagsKHR = VkExternalMemoryFeatureFlags;
pub use self::VkExternalMemoryFeatureFlagBits as VkExternalMemoryFeatureFlagBitsKHR;
pub type VkExternalMemoryPropertiesKHR = VkExternalMemoryProperties;
pub type VkPhysicalDeviceExternalImageFormatInfoKHR = VkPhysicalDeviceExternalImageFormatInfo;
pub type VkExternalImageFormatPropertiesKHR = VkExternalImageFormatProperties;
pub type VkPhysicalDeviceExternalBufferInfoKHR = VkPhysicalDeviceExternalBufferInfo;
pub type VkExternalBufferPropertiesKHR = VkExternalBufferProperties;
pub type VkPhysicalDeviceIDPropertiesKHR = VkPhysicalDeviceIDProperties;
pub type PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
pExternalBufferInfo: *const VkPhysicalDeviceExternalBufferInfo,
pExternalBufferProperties: *mut VkExternalBufferProperties,
),
>;
extern "system" {
pub fn vkGetPhysicalDeviceExternalBufferPropertiesKHR(
physicalDevice: VkPhysicalDevice,
pExternalBufferInfo: *const VkPhysicalDeviceExternalBufferInfo,
pExternalBufferProperties: *mut VkExternalBufferProperties,
);
}
pub type VkExternalMemoryImageCreateInfoKHR = VkExternalMemoryImageCreateInfo;
pub type VkExternalMemoryBufferCreateInfoKHR = VkExternalMemoryBufferCreateInfo;
pub type VkExportMemoryAllocateInfoKHR = VkExportMemoryAllocateInfo;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkImportMemoryFdInfoKHR {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub handleType: VkExternalMemoryHandleTypeFlagBits,
pub fd: ::std::os::raw::c_int,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkMemoryFdPropertiesKHR {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub memoryTypeBits: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkMemoryGetFdInfoKHR {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub memory: VkDeviceMemory,
pub handleType: VkExternalMemoryHandleTypeFlagBits,
}
pub type PFN_vkGetMemoryFdKHR = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pGetFdInfo: *const VkMemoryGetFdInfoKHR,
pFd: *mut ::std::os::raw::c_int,
) -> VkResult,
>;
pub type PFN_vkGetMemoryFdPropertiesKHR = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
handleType: VkExternalMemoryHandleTypeFlagBits,
fd: ::std::os::raw::c_int,
pMemoryFdProperties: *mut VkMemoryFdPropertiesKHR,
) -> VkResult,
>;
extern "system" {
pub fn vkGetMemoryFdKHR(
device: VkDevice,
pGetFdInfo: *const VkMemoryGetFdInfoKHR,
pFd: *mut ::std::os::raw::c_int,
) -> VkResult;
}
extern "system" {
pub fn vkGetMemoryFdPropertiesKHR(
device: VkDevice,
handleType: VkExternalMemoryHandleTypeFlagBits,
fd: ::std::os::raw::c_int,
pMemoryFdProperties: *mut VkMemoryFdPropertiesKHR,
) -> VkResult;
}
pub type VkExternalSemaphoreHandleTypeFlagsKHR = VkExternalSemaphoreHandleTypeFlags;
pub use self::VkExternalSemaphoreHandleTypeFlagBits as VkExternalSemaphoreHandleTypeFlagBitsKHR;
pub type VkExternalSemaphoreFeatureFlagsKHR = VkExternalSemaphoreFeatureFlags;
pub use self::VkExternalSemaphoreFeatureFlagBits as VkExternalSemaphoreFeatureFlagBitsKHR;
pub type VkPhysicalDeviceExternalSemaphoreInfoKHR = VkPhysicalDeviceExternalSemaphoreInfo;
pub type VkExternalSemaphorePropertiesKHR = VkExternalSemaphoreProperties;
pub type PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
pExternalSemaphoreInfo: *const VkPhysicalDeviceExternalSemaphoreInfo,
pExternalSemaphoreProperties: *mut VkExternalSemaphoreProperties,
),
>;
extern "system" {
pub fn vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
physicalDevice: VkPhysicalDevice,
pExternalSemaphoreInfo: *const VkPhysicalDeviceExternalSemaphoreInfo,
pExternalSemaphoreProperties: *mut VkExternalSemaphoreProperties,
);
}
pub type VkSemaphoreImportFlagsKHR = VkSemaphoreImportFlags;
pub use self::VkSemaphoreImportFlagBits as VkSemaphoreImportFlagBitsKHR;
pub type VkExportSemaphoreCreateInfoKHR = VkExportSemaphoreCreateInfo;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkImportSemaphoreFdInfoKHR {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub semaphore: VkSemaphore,
pub flags: VkSemaphoreImportFlags,
pub handleType: VkExternalSemaphoreHandleTypeFlagBits,
pub fd: ::std::os::raw::c_int,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkSemaphoreGetFdInfoKHR {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub semaphore: VkSemaphore,
pub handleType: VkExternalSemaphoreHandleTypeFlagBits,
}
pub type PFN_vkImportSemaphoreFdKHR = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pImportSemaphoreFdInfo: *const VkImportSemaphoreFdInfoKHR,
) -> VkResult,
>;
pub type PFN_vkGetSemaphoreFdKHR = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pGetFdInfo: *const VkSemaphoreGetFdInfoKHR,
pFd: *mut ::std::os::raw::c_int,
) -> VkResult,
>;
extern "system" {
pub fn vkImportSemaphoreFdKHR(
device: VkDevice,
pImportSemaphoreFdInfo: *const VkImportSemaphoreFdInfoKHR,
) -> VkResult;
}
extern "system" {
pub fn vkGetSemaphoreFdKHR(
device: VkDevice,
pGetFdInfo: *const VkSemaphoreGetFdInfoKHR,
pFd: *mut ::std::os::raw::c_int,
) -> VkResult;
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDevicePushDescriptorPropertiesKHR {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub maxPushDescriptors: u32,
}
pub type PFN_vkCmdPushDescriptorSetKHR = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
pipelineBindPoint: VkPipelineBindPoint,
layout: VkPipelineLayout,
set: u32,
descriptorWriteCount: u32,
pDescriptorWrites: *const VkWriteDescriptorSet,
),
>;
pub type PFN_vkCmdPushDescriptorSetWithTemplateKHR = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
descriptorUpdateTemplate: VkDescriptorUpdateTemplate,
layout: VkPipelineLayout,
set: u32,
pData: *const ::std::os::raw::c_void,
),
>;
extern "system" {
pub fn vkCmdPushDescriptorSetKHR(
commandBuffer: VkCommandBuffer,
pipelineBindPoint: VkPipelineBindPoint,
layout: VkPipelineLayout,
set: u32,
descriptorWriteCount: u32,
pDescriptorWrites: *const VkWriteDescriptorSet,
);
}
extern "system" {
pub fn vkCmdPushDescriptorSetWithTemplateKHR(
commandBuffer: VkCommandBuffer,
descriptorUpdateTemplate: VkDescriptorUpdateTemplate,
layout: VkPipelineLayout,
set: u32,
pData: *const ::std::os::raw::c_void,
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceFloat16Int8FeaturesKHR {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub shaderFloat16: VkBool32,
pub shaderInt8: VkBool32,
}
pub type VkPhysicalDevice16BitStorageFeaturesKHR = VkPhysicalDevice16BitStorageFeatures;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkRectLayerKHR {
pub offset: VkOffset2D,
pub extent: VkExtent2D,
pub layer: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPresentRegionKHR {
pub rectangleCount: u32,
pub pRectangles: *const VkRectLayerKHR,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPresentRegionsKHR {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub swapchainCount: u32,
pub pRegions: *const VkPresentRegionKHR,
}
pub type VkDescriptorUpdateTemplateKHR = VkDescriptorUpdateTemplate;
pub use self::VkDescriptorUpdateTemplateType as VkDescriptorUpdateTemplateTypeKHR;
pub type VkDescriptorUpdateTemplateCreateFlagsKHR = VkDescriptorUpdateTemplateCreateFlags;
pub type VkDescriptorUpdateTemplateEntryKHR = VkDescriptorUpdateTemplateEntry;
pub type VkDescriptorUpdateTemplateCreateInfoKHR = VkDescriptorUpdateTemplateCreateInfo;
pub type PFN_vkCreateDescriptorUpdateTemplateKHR = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pCreateInfo: *const VkDescriptorUpdateTemplateCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pDescriptorUpdateTemplate: *mut VkDescriptorUpdateTemplate,
) -> VkResult,
>;
pub type PFN_vkDestroyDescriptorUpdateTemplateKHR = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
descriptorUpdateTemplate: VkDescriptorUpdateTemplate,
pAllocator: *const VkAllocationCallbacks,
),
>;
pub type PFN_vkUpdateDescriptorSetWithTemplateKHR = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
descriptorSet: VkDescriptorSet,
descriptorUpdateTemplate: VkDescriptorUpdateTemplate,
pData: *const ::std::os::raw::c_void,
),
>;
extern "system" {
pub fn vkCreateDescriptorUpdateTemplateKHR(
device: VkDevice,
pCreateInfo: *const VkDescriptorUpdateTemplateCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pDescriptorUpdateTemplate: *mut VkDescriptorUpdateTemplate,
) -> VkResult;
}
extern "system" {
pub fn vkDestroyDescriptorUpdateTemplateKHR(
device: VkDevice,
descriptorUpdateTemplate: VkDescriptorUpdateTemplate,
pAllocator: *const VkAllocationCallbacks,
);
}
extern "system" {
pub fn vkUpdateDescriptorSetWithTemplateKHR(
device: VkDevice,
descriptorSet: VkDescriptorSet,
descriptorUpdateTemplate: VkDescriptorUpdateTemplate,
pData: *const ::std::os::raw::c_void,
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkAttachmentDescription2KHR {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkAttachmentDescriptionFlags,
pub format: VkFormat,
pub samples: VkSampleCountFlagBits,
pub loadOp: VkAttachmentLoadOp,
pub storeOp: VkAttachmentStoreOp,
pub stencilLoadOp: VkAttachmentLoadOp,
pub stencilStoreOp: VkAttachmentStoreOp,
pub initialLayout: VkImageLayout,
pub finalLayout: VkImageLayout,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkAttachmentReference2KHR {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub attachment: u32,
pub layout: VkImageLayout,
pub aspectMask: VkImageAspectFlags,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkSubpassDescription2KHR {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkSubpassDescriptionFlags,
pub pipelineBindPoint: VkPipelineBindPoint,
pub viewMask: u32,
pub inputAttachmentCount: u32,
pub pInputAttachments: *const VkAttachmentReference2KHR,
pub colorAttachmentCount: u32,
pub pColorAttachments: *const VkAttachmentReference2KHR,
pub pResolveAttachments: *const VkAttachmentReference2KHR,
pub pDepthStencilAttachment: *const VkAttachmentReference2KHR,
pub preserveAttachmentCount: u32,
pub pPreserveAttachments: *const u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkSubpassDependency2KHR {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub srcSubpass: u32,
pub dstSubpass: u32,
pub srcStageMask: VkPipelineStageFlags,
pub dstStageMask: VkPipelineStageFlags,
pub srcAccessMask: VkAccessFlags,
pub dstAccessMask: VkAccessFlags,
pub dependencyFlags: VkDependencyFlags,
pub viewOffset: i32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkRenderPassCreateInfo2KHR {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkRenderPassCreateFlags,
pub attachmentCount: u32,
pub pAttachments: *const VkAttachmentDescription2KHR,
pub subpassCount: u32,
pub pSubpasses: *const VkSubpassDescription2KHR,
pub dependencyCount: u32,
pub pDependencies: *const VkSubpassDependency2KHR,
pub correlatedViewMaskCount: u32,
pub pCorrelatedViewMasks: *const u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkSubpassBeginInfoKHR {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub contents: VkSubpassContents,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkSubpassEndInfoKHR {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
}
pub type PFN_vkCreateRenderPass2KHR = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pCreateInfo: *const VkRenderPassCreateInfo2KHR,
pAllocator: *const VkAllocationCallbacks,
pRenderPass: *mut VkRenderPass,
) -> VkResult,
>;
pub type PFN_vkCmdBeginRenderPass2KHR = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
pRenderPassBegin: *const VkRenderPassBeginInfo,
pSubpassBeginInfo: *const VkSubpassBeginInfoKHR,
),
>;
pub type PFN_vkCmdNextSubpass2KHR = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
pSubpassBeginInfo: *const VkSubpassBeginInfoKHR,
pSubpassEndInfo: *const VkSubpassEndInfoKHR,
),
>;
pub type PFN_vkCmdEndRenderPass2KHR = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
pSubpassEndInfo: *const VkSubpassEndInfoKHR,
),
>;
extern "system" {
pub fn vkCreateRenderPass2KHR(
device: VkDevice,
pCreateInfo: *const VkRenderPassCreateInfo2KHR,
pAllocator: *const VkAllocationCallbacks,
pRenderPass: *mut VkRenderPass,
) -> VkResult;
}
extern "system" {
pub fn vkCmdBeginRenderPass2KHR(
commandBuffer: VkCommandBuffer,
pRenderPassBegin: *const VkRenderPassBeginInfo,
pSubpassBeginInfo: *const VkSubpassBeginInfoKHR,
);
}
extern "system" {
pub fn vkCmdNextSubpass2KHR(
commandBuffer: VkCommandBuffer,
pSubpassBeginInfo: *const VkSubpassBeginInfoKHR,
pSubpassEndInfo: *const VkSubpassEndInfoKHR,
);
}
extern "system" {
pub fn vkCmdEndRenderPass2KHR(
commandBuffer: VkCommandBuffer,
pSubpassEndInfo: *const VkSubpassEndInfoKHR,
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkSharedPresentSurfaceCapabilitiesKHR {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub sharedPresentSupportedUsageFlags: VkImageUsageFlags,
}
pub type PFN_vkGetSwapchainStatusKHR = ::std::option::Option<
unsafe extern "system" fn(device: VkDevice, swapchain: VkSwapchainKHR) -> VkResult,
>;
extern "system" {
pub fn vkGetSwapchainStatusKHR(device: VkDevice, swapchain: VkSwapchainKHR) -> VkResult;
}
pub type VkExternalFenceHandleTypeFlagsKHR = VkExternalFenceHandleTypeFlags;
pub use self::VkExternalFenceHandleTypeFlagBits as VkExternalFenceHandleTypeFlagBitsKHR;
pub type VkExternalFenceFeatureFlagsKHR = VkExternalFenceFeatureFlags;
pub use self::VkExternalFenceFeatureFlagBits as VkExternalFenceFeatureFlagBitsKHR;
pub type VkPhysicalDeviceExternalFenceInfoKHR = VkPhysicalDeviceExternalFenceInfo;
pub type VkExternalFencePropertiesKHR = VkExternalFenceProperties;
pub type PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
pExternalFenceInfo: *const VkPhysicalDeviceExternalFenceInfo,
pExternalFenceProperties: *mut VkExternalFenceProperties,
),
>;
extern "system" {
pub fn vkGetPhysicalDeviceExternalFencePropertiesKHR(
physicalDevice: VkPhysicalDevice,
pExternalFenceInfo: *const VkPhysicalDeviceExternalFenceInfo,
pExternalFenceProperties: *mut VkExternalFenceProperties,
);
}
pub type VkFenceImportFlagsKHR = VkFenceImportFlags;
pub use self::VkFenceImportFlagBits as VkFenceImportFlagBitsKHR;
pub type VkExportFenceCreateInfoKHR = VkExportFenceCreateInfo;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkImportFenceFdInfoKHR {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub fence: VkFence,
pub flags: VkFenceImportFlags,
pub handleType: VkExternalFenceHandleTypeFlagBits,
pub fd: ::std::os::raw::c_int,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkFenceGetFdInfoKHR {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub fence: VkFence,
pub handleType: VkExternalFenceHandleTypeFlagBits,
}
pub type PFN_vkImportFenceFdKHR = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pImportFenceFdInfo: *const VkImportFenceFdInfoKHR,
) -> VkResult,
>;
pub type PFN_vkGetFenceFdKHR = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pGetFdInfo: *const VkFenceGetFdInfoKHR,
pFd: *mut ::std::os::raw::c_int,
) -> VkResult,
>;
extern "system" {
pub fn vkImportFenceFdKHR(
device: VkDevice,
pImportFenceFdInfo: *const VkImportFenceFdInfoKHR,
) -> VkResult;
}
extern "system" {
pub fn vkGetFenceFdKHR(
device: VkDevice,
pGetFdInfo: *const VkFenceGetFdInfoKHR,
pFd: *mut ::std::os::raw::c_int,
) -> VkResult;
}
pub use self::VkPointClippingBehavior as VkPointClippingBehaviorKHR;
pub use self::VkTessellationDomainOrigin as VkTessellationDomainOriginKHR;
pub type VkPhysicalDevicePointClippingPropertiesKHR = VkPhysicalDevicePointClippingProperties;
pub type VkRenderPassInputAttachmentAspectCreateInfoKHR =
VkRenderPassInputAttachmentAspectCreateInfo;
pub type VkInputAttachmentAspectReferenceKHR = VkInputAttachmentAspectReference;
pub type VkImageViewUsageCreateInfoKHR = VkImageViewUsageCreateInfo;
pub type VkPipelineTessellationDomainOriginStateCreateInfoKHR =
VkPipelineTessellationDomainOriginStateCreateInfo;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceSurfaceInfo2KHR {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub surface: VkSurfaceKHR,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkSurfaceCapabilities2KHR {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub surfaceCapabilities: VkSurfaceCapabilitiesKHR,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkSurfaceFormat2KHR {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub surfaceFormat: VkSurfaceFormatKHR,
}
pub type PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
pSurfaceInfo: *const VkPhysicalDeviceSurfaceInfo2KHR,
pSurfaceCapabilities: *mut VkSurfaceCapabilities2KHR,
) -> VkResult,
>;
pub type PFN_vkGetPhysicalDeviceSurfaceFormats2KHR = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
pSurfaceInfo: *const VkPhysicalDeviceSurfaceInfo2KHR,
pSurfaceFormatCount: *mut u32,
pSurfaceFormats: *mut VkSurfaceFormat2KHR,
) -> VkResult,
>;
extern "system" {
pub fn vkGetPhysicalDeviceSurfaceCapabilities2KHR(
physicalDevice: VkPhysicalDevice,
pSurfaceInfo: *const VkPhysicalDeviceSurfaceInfo2KHR,
pSurfaceCapabilities: *mut VkSurfaceCapabilities2KHR,
) -> VkResult;
}
extern "system" {
pub fn vkGetPhysicalDeviceSurfaceFormats2KHR(
physicalDevice: VkPhysicalDevice,
pSurfaceInfo: *const VkPhysicalDeviceSurfaceInfo2KHR,
pSurfaceFormatCount: *mut u32,
pSurfaceFormats: *mut VkSurfaceFormat2KHR,
) -> VkResult;
}
pub type VkPhysicalDeviceVariablePointerFeaturesKHR = VkPhysicalDeviceVariablePointersFeatures;
pub type VkPhysicalDeviceVariablePointersFeaturesKHR = VkPhysicalDeviceVariablePointersFeatures;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDisplayProperties2KHR {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub displayProperties: VkDisplayPropertiesKHR,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDisplayPlaneProperties2KHR {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub displayPlaneProperties: VkDisplayPlanePropertiesKHR,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDisplayModeProperties2KHR {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub displayModeProperties: VkDisplayModePropertiesKHR,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDisplayPlaneInfo2KHR {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub mode: VkDisplayModeKHR,
pub planeIndex: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDisplayPlaneCapabilities2KHR {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub capabilities: VkDisplayPlaneCapabilitiesKHR,
}
pub type PFN_vkGetPhysicalDeviceDisplayProperties2KHR = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
pPropertyCount: *mut u32,
pProperties: *mut VkDisplayProperties2KHR,
) -> VkResult,
>;
pub type PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
pPropertyCount: *mut u32,
pProperties: *mut VkDisplayPlaneProperties2KHR,
) -> VkResult,
>;
pub type PFN_vkGetDisplayModeProperties2KHR = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
display: VkDisplayKHR,
pPropertyCount: *mut u32,
pProperties: *mut VkDisplayModeProperties2KHR,
) -> VkResult,
>;
pub type PFN_vkGetDisplayPlaneCapabilities2KHR = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
pDisplayPlaneInfo: *const VkDisplayPlaneInfo2KHR,
pCapabilities: *mut VkDisplayPlaneCapabilities2KHR,
) -> VkResult,
>;
extern "system" {
pub fn vkGetPhysicalDeviceDisplayProperties2KHR(
physicalDevice: VkPhysicalDevice,
pPropertyCount: *mut u32,
pProperties: *mut VkDisplayProperties2KHR,
) -> VkResult;
}
extern "system" {
pub fn vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
physicalDevice: VkPhysicalDevice,
pPropertyCount: *mut u32,
pProperties: *mut VkDisplayPlaneProperties2KHR,
) -> VkResult;
}
extern "system" {
pub fn vkGetDisplayModeProperties2KHR(
physicalDevice: VkPhysicalDevice,
display: VkDisplayKHR,
pPropertyCount: *mut u32,
pProperties: *mut VkDisplayModeProperties2KHR,
) -> VkResult;
}
extern "system" {
pub fn vkGetDisplayPlaneCapabilities2KHR(
physicalDevice: VkPhysicalDevice,
pDisplayPlaneInfo: *const VkDisplayPlaneInfo2KHR,
pCapabilities: *mut VkDisplayPlaneCapabilities2KHR,
) -> VkResult;
}
pub type VkMemoryDedicatedRequirementsKHR = VkMemoryDedicatedRequirements;
pub type VkMemoryDedicatedAllocateInfoKHR = VkMemoryDedicatedAllocateInfo;
pub type VkBufferMemoryRequirementsInfo2KHR = VkBufferMemoryRequirementsInfo2;
pub type VkImageMemoryRequirementsInfo2KHR = VkImageMemoryRequirementsInfo2;
pub type VkImageSparseMemoryRequirementsInfo2KHR = VkImageSparseMemoryRequirementsInfo2;
pub type VkSparseImageMemoryRequirements2KHR = VkSparseImageMemoryRequirements2;
pub type PFN_vkGetImageMemoryRequirements2KHR = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pInfo: *const VkImageMemoryRequirementsInfo2,
pMemoryRequirements: *mut VkMemoryRequirements2,
),
>;
pub type PFN_vkGetBufferMemoryRequirements2KHR = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pInfo: *const VkBufferMemoryRequirementsInfo2,
pMemoryRequirements: *mut VkMemoryRequirements2,
),
>;
pub type PFN_vkGetImageSparseMemoryRequirements2KHR = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pInfo: *const VkImageSparseMemoryRequirementsInfo2,
pSparseMemoryRequirementCount: *mut u32,
pSparseMemoryRequirements: *mut VkSparseImageMemoryRequirements2,
),
>;
extern "system" {
pub fn vkGetImageMemoryRequirements2KHR(
device: VkDevice,
pInfo: *const VkImageMemoryRequirementsInfo2,
pMemoryRequirements: *mut VkMemoryRequirements2,
);
}
extern "system" {
pub fn vkGetBufferMemoryRequirements2KHR(
device: VkDevice,
pInfo: *const VkBufferMemoryRequirementsInfo2,
pMemoryRequirements: *mut VkMemoryRequirements2,
);
}
extern "system" {
pub fn vkGetImageSparseMemoryRequirements2KHR(
device: VkDevice,
pInfo: *const VkImageSparseMemoryRequirementsInfo2,
pSparseMemoryRequirementCount: *mut u32,
pSparseMemoryRequirements: *mut VkSparseImageMemoryRequirements2,
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkImageFormatListCreateInfoKHR {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub viewFormatCount: u32,
pub pViewFormats: *const VkFormat,
}
pub type VkSamplerYcbcrConversionKHR = VkSamplerYcbcrConversion;
pub use self::VkChromaLocation as VkChromaLocationKHR;
pub use self::VkSamplerYcbcrModelConversion as VkSamplerYcbcrModelConversionKHR;
pub use self::VkSamplerYcbcrRange as VkSamplerYcbcrRangeKHR;
pub type VkSamplerYcbcrConversionCreateInfoKHR = VkSamplerYcbcrConversionCreateInfo;
pub type VkSamplerYcbcrConversionInfoKHR = VkSamplerYcbcrConversionInfo;
pub type VkBindImagePlaneMemoryInfoKHR = VkBindImagePlaneMemoryInfo;
pub type VkImagePlaneMemoryRequirementsInfoKHR = VkImagePlaneMemoryRequirementsInfo;
pub type VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR =
VkPhysicalDeviceSamplerYcbcrConversionFeatures;
pub type VkSamplerYcbcrConversionImageFormatPropertiesKHR =
VkSamplerYcbcrConversionImageFormatProperties;
pub type PFN_vkCreateSamplerYcbcrConversionKHR = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pCreateInfo: *const VkSamplerYcbcrConversionCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pYcbcrConversion: *mut VkSamplerYcbcrConversion,
) -> VkResult,
>;
pub type PFN_vkDestroySamplerYcbcrConversionKHR = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
ycbcrConversion: VkSamplerYcbcrConversion,
pAllocator: *const VkAllocationCallbacks,
),
>;
extern "system" {
pub fn vkCreateSamplerYcbcrConversionKHR(
device: VkDevice,
pCreateInfo: *const VkSamplerYcbcrConversionCreateInfo,
pAllocator: *const VkAllocationCallbacks,
pYcbcrConversion: *mut VkSamplerYcbcrConversion,
) -> VkResult;
}
extern "system" {
pub fn vkDestroySamplerYcbcrConversionKHR(
device: VkDevice,
ycbcrConversion: VkSamplerYcbcrConversion,
pAllocator: *const VkAllocationCallbacks,
);
}
pub type VkBindBufferMemoryInfoKHR = VkBindBufferMemoryInfo;
pub type VkBindImageMemoryInfoKHR = VkBindImageMemoryInfo;
pub type PFN_vkBindBufferMemory2KHR = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
bindInfoCount: u32,
pBindInfos: *const VkBindBufferMemoryInfo,
) -> VkResult,
>;
pub type PFN_vkBindImageMemory2KHR = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
bindInfoCount: u32,
pBindInfos: *const VkBindImageMemoryInfo,
) -> VkResult,
>;
extern "system" {
pub fn vkBindBufferMemory2KHR(
device: VkDevice,
bindInfoCount: u32,
pBindInfos: *const VkBindBufferMemoryInfo,
) -> VkResult;
}
extern "system" {
pub fn vkBindImageMemory2KHR(
device: VkDevice,
bindInfoCount: u32,
pBindInfos: *const VkBindImageMemoryInfo,
) -> VkResult;
}
pub type VkPhysicalDeviceMaintenance3PropertiesKHR = VkPhysicalDeviceMaintenance3Properties;
pub type VkDescriptorSetLayoutSupportKHR = VkDescriptorSetLayoutSupport;
pub type PFN_vkGetDescriptorSetLayoutSupportKHR = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pCreateInfo: *const VkDescriptorSetLayoutCreateInfo,
pSupport: *mut VkDescriptorSetLayoutSupport,
),
>;
extern "system" {
pub fn vkGetDescriptorSetLayoutSupportKHR(
device: VkDevice,
pCreateInfo: *const VkDescriptorSetLayoutCreateInfo,
pSupport: *mut VkDescriptorSetLayoutSupport,
);
}
pub type PFN_vkCmdDrawIndirectCountKHR = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
buffer: VkBuffer,
offset: VkDeviceSize,
countBuffer: VkBuffer,
countBufferOffset: VkDeviceSize,
maxDrawCount: u32,
stride: u32,
),
>;
pub type PFN_vkCmdDrawIndexedIndirectCountKHR = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
buffer: VkBuffer,
offset: VkDeviceSize,
countBuffer: VkBuffer,
countBufferOffset: VkDeviceSize,
maxDrawCount: u32,
stride: u32,
),
>;
extern "system" {
pub fn vkCmdDrawIndirectCountKHR(
commandBuffer: VkCommandBuffer,
buffer: VkBuffer,
offset: VkDeviceSize,
countBuffer: VkBuffer,
countBufferOffset: VkDeviceSize,
maxDrawCount: u32,
stride: u32,
);
}
extern "system" {
pub fn vkCmdDrawIndexedIndirectCountKHR(
commandBuffer: VkCommandBuffer,
buffer: VkBuffer,
offset: VkDeviceSize,
countBuffer: VkBuffer,
countBufferOffset: VkDeviceSize,
maxDrawCount: u32,
stride: u32,
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDevice8BitStorageFeaturesKHR {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub storageBuffer8BitAccess: VkBool32,
pub uniformAndStorageBuffer8BitAccess: VkBool32,
pub storagePushConstant8: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceShaderAtomicInt64FeaturesKHR {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub shaderBufferInt64Atomics: VkBool32,
pub shaderSharedInt64Atomics: VkBool32,
}
pub const VK_DRIVER_ID_AMD_PROPRIETARY_KHR: VkDriverIdKHR = 1;
pub const VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR: VkDriverIdKHR = 2;
pub const VK_DRIVER_ID_MESA_RADV_KHR: VkDriverIdKHR = 3;
pub const VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR: VkDriverIdKHR = 4;
pub const VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR: VkDriverIdKHR = 5;
pub const VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR: VkDriverIdKHR = 6;
pub const VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR: VkDriverIdKHR = 7;
pub const VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR: VkDriverIdKHR = 8;
pub const VK_DRIVER_ID_ARM_PROPRIETARY_KHR: VkDriverIdKHR = 9;
pub const VK_DRIVER_ID_GOOGLE_PASTEL_KHR: VkDriverIdKHR = 10;
pub const VK_DRIVER_ID_GGP_PROPRIETARY_KHR: VkDriverIdKHR = 11;
pub const VK_DRIVER_ID_BEGIN_RANGE_KHR: VkDriverIdKHR = 1;
pub const VK_DRIVER_ID_END_RANGE_KHR: VkDriverIdKHR = 11;
pub const VK_DRIVER_ID_RANGE_SIZE_KHR: VkDriverIdKHR = 11;
pub const VK_DRIVER_ID_MAX_ENUM_KHR: VkDriverIdKHR = 2147483647;
pub type VkDriverIdKHR = i32;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkConformanceVersionKHR {
pub major: u8,
pub minor: u8,
pub subminor: u8,
pub patch: u8,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceDriverPropertiesKHR {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub driverID: VkDriverIdKHR,
pub driverName: [::std::os::raw::c_char; 256usize],
pub driverInfo: [::std::os::raw::c_char; 256usize],
pub conformanceVersion: VkConformanceVersionKHR,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceFloatControlsPropertiesKHR {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub separateDenormSettings: VkBool32,
pub separateRoundingModeSettings: VkBool32,
pub shaderSignedZeroInfNanPreserveFloat16: VkBool32,
pub shaderSignedZeroInfNanPreserveFloat32: VkBool32,
pub shaderSignedZeroInfNanPreserveFloat64: VkBool32,
pub shaderDenormPreserveFloat16: VkBool32,
pub shaderDenormPreserveFloat32: VkBool32,
pub shaderDenormPreserveFloat64: VkBool32,
pub shaderDenormFlushToZeroFloat16: VkBool32,
pub shaderDenormFlushToZeroFloat32: VkBool32,
pub shaderDenormFlushToZeroFloat64: VkBool32,
pub shaderRoundingModeRTEFloat16: VkBool32,
pub shaderRoundingModeRTEFloat32: VkBool32,
pub shaderRoundingModeRTEFloat64: VkBool32,
pub shaderRoundingModeRTZFloat16: VkBool32,
pub shaderRoundingModeRTZFloat32: VkBool32,
pub shaderRoundingModeRTZFloat64: VkBool32,
}
pub const VK_RESOLVE_MODE_NONE_KHR: VkResolveModeFlagBitsKHR = 0;
pub const VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR: VkResolveModeFlagBitsKHR = 1;
pub const VK_RESOLVE_MODE_AVERAGE_BIT_KHR: VkResolveModeFlagBitsKHR = 2;
pub const VK_RESOLVE_MODE_MIN_BIT_KHR: VkResolveModeFlagBitsKHR = 4;
pub const VK_RESOLVE_MODE_MAX_BIT_KHR: VkResolveModeFlagBitsKHR = 8;
pub const VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM_KHR: VkResolveModeFlagBitsKHR = 2147483647;
pub type VkResolveModeFlagBitsKHR = i32;
pub type VkResolveModeFlagsKHR = VkFlags;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkSubpassDescriptionDepthStencilResolveKHR {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub depthResolveMode: VkResolveModeFlagBitsKHR,
pub stencilResolveMode: VkResolveModeFlagBitsKHR,
pub pDepthStencilResolveAttachment: *const VkAttachmentReference2KHR,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceDepthStencilResolvePropertiesKHR {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub supportedDepthResolveModes: VkResolveModeFlagsKHR,
pub supportedStencilResolveModes: VkResolveModeFlagsKHR,
pub independentResolveNone: VkBool32,
pub independentResolve: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceVulkanMemoryModelFeaturesKHR {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub vulkanMemoryModel: VkBool32,
pub vulkanMemoryModelDeviceScope: VkBool32,
pub vulkanMemoryModelAvailabilityVisibilityChains: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkSurfaceProtectedCapabilitiesKHR {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub supportsProtected: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub uniformBufferStandardLayout: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDebugReportCallbackEXT_T {
_unused: [u8; 0],
}
pub type VkDebugReportCallbackEXT = *mut VkDebugReportCallbackEXT_T;
pub const VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT: VkDebugReportObjectTypeEXT = 0;
pub const VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT: VkDebugReportObjectTypeEXT = 1;
pub const VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT: VkDebugReportObjectTypeEXT = 2;
pub const VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT: VkDebugReportObjectTypeEXT = 3;
pub const VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT: VkDebugReportObjectTypeEXT = 4;
pub const VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT: VkDebugReportObjectTypeEXT = 5;
pub const VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT: VkDebugReportObjectTypeEXT = 6;
pub const VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT: VkDebugReportObjectTypeEXT = 7;
pub const VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT: VkDebugReportObjectTypeEXT = 8;
pub const VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT: VkDebugReportObjectTypeEXT = 9;
pub const VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT: VkDebugReportObjectTypeEXT = 10;
pub const VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT: VkDebugReportObjectTypeEXT = 11;
pub const VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT: VkDebugReportObjectTypeEXT = 12;
pub const VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT: VkDebugReportObjectTypeEXT = 13;
pub const VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT: VkDebugReportObjectTypeEXT = 14;
pub const VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT: VkDebugReportObjectTypeEXT = 15;
pub const VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT: VkDebugReportObjectTypeEXT = 16;
pub const VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT: VkDebugReportObjectTypeEXT = 17;
pub const VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT: VkDebugReportObjectTypeEXT = 18;
pub const VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT: VkDebugReportObjectTypeEXT = 19;
pub const VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT: VkDebugReportObjectTypeEXT = 20;
pub const VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT: VkDebugReportObjectTypeEXT = 21;
pub const VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT: VkDebugReportObjectTypeEXT = 22;
pub const VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT: VkDebugReportObjectTypeEXT = 23;
pub const VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT: VkDebugReportObjectTypeEXT = 24;
pub const VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT: VkDebugReportObjectTypeEXT = 25;
pub const VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT: VkDebugReportObjectTypeEXT = 26;
pub const VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT: VkDebugReportObjectTypeEXT = 27;
pub const VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT: VkDebugReportObjectTypeEXT =
28;
pub const VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT: VkDebugReportObjectTypeEXT = 29;
pub const VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT: VkDebugReportObjectTypeEXT = 30;
pub const VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT: VkDebugReportObjectTypeEXT = 31;
pub const VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT: VkDebugReportObjectTypeEXT =
32;
pub const VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT: VkDebugReportObjectTypeEXT = 33;
pub const VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT: VkDebugReportObjectTypeEXT =
1000156000;
pub const VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT: VkDebugReportObjectTypeEXT =
1000085000;
pub const VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT: VkDebugReportObjectTypeEXT =
1000165000;
pub const VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT: VkDebugReportObjectTypeEXT = 28;
pub const VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT: VkDebugReportObjectTypeEXT = 33;
pub const VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT:
VkDebugReportObjectTypeEXT = 1000085000;
pub const VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT: VkDebugReportObjectTypeEXT =
1000156000;
pub const VK_DEBUG_REPORT_OBJECT_TYPE_BEGIN_RANGE_EXT: VkDebugReportObjectTypeEXT = 0;
pub const VK_DEBUG_REPORT_OBJECT_TYPE_END_RANGE_EXT: VkDebugReportObjectTypeEXT = 33;
pub const VK_DEBUG_REPORT_OBJECT_TYPE_RANGE_SIZE_EXT: VkDebugReportObjectTypeEXT = 34;
pub const VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT: VkDebugReportObjectTypeEXT = 2147483647;
pub type VkDebugReportObjectTypeEXT = i32;
pub const VK_DEBUG_REPORT_INFORMATION_BIT_EXT: VkDebugReportFlagBitsEXT = 1;
pub const VK_DEBUG_REPORT_WARNING_BIT_EXT: VkDebugReportFlagBitsEXT = 2;
pub const VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT: VkDebugReportFlagBitsEXT = 4;
pub const VK_DEBUG_REPORT_ERROR_BIT_EXT: VkDebugReportFlagBitsEXT = 8;
pub const VK_DEBUG_REPORT_DEBUG_BIT_EXT: VkDebugReportFlagBitsEXT = 16;
pub const VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT: VkDebugReportFlagBitsEXT = 2147483647;
pub type VkDebugReportFlagBitsEXT = i32;
pub type VkDebugReportFlagsEXT = VkFlags;
pub type PFN_vkDebugReportCallbackEXT = ::std::option::Option<
unsafe extern "system" fn(
flags: VkDebugReportFlagsEXT,
objectType: VkDebugReportObjectTypeEXT,
object: u64,
location: usize,
messageCode: i32,
pLayerPrefix: *const ::std::os::raw::c_char,
pMessage: *const ::std::os::raw::c_char,
pUserData: *mut ::std::os::raw::c_void,
) -> VkBool32,
>;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDebugReportCallbackCreateInfoEXT {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkDebugReportFlagsEXT,
pub pfnCallback: PFN_vkDebugReportCallbackEXT,
pub pUserData: *mut ::std::os::raw::c_void,
}
pub type PFN_vkCreateDebugReportCallbackEXT = ::std::option::Option<
unsafe extern "system" fn(
instance: VkInstance,
pCreateInfo: *const VkDebugReportCallbackCreateInfoEXT,
pAllocator: *const VkAllocationCallbacks,
pCallback: *mut VkDebugReportCallbackEXT,
) -> VkResult,
>;
pub type PFN_vkDestroyDebugReportCallbackEXT = ::std::option::Option<
unsafe extern "system" fn(
instance: VkInstance,
callback: VkDebugReportCallbackEXT,
pAllocator: *const VkAllocationCallbacks,
),
>;
pub type PFN_vkDebugReportMessageEXT = ::std::option::Option<
unsafe extern "system" fn(
instance: VkInstance,
flags: VkDebugReportFlagsEXT,
objectType: VkDebugReportObjectTypeEXT,
object: u64,
location: usize,
messageCode: i32,
pLayerPrefix: *const ::std::os::raw::c_char,
pMessage: *const ::std::os::raw::c_char,
),
>;
extern "system" {
pub fn vkCreateDebugReportCallbackEXT(
instance: VkInstance,
pCreateInfo: *const VkDebugReportCallbackCreateInfoEXT,
pAllocator: *const VkAllocationCallbacks,
pCallback: *mut VkDebugReportCallbackEXT,
) -> VkResult;
}
extern "system" {
pub fn vkDestroyDebugReportCallbackEXT(
instance: VkInstance,
callback: VkDebugReportCallbackEXT,
pAllocator: *const VkAllocationCallbacks,
);
}
extern "system" {
pub fn vkDebugReportMessageEXT(
instance: VkInstance,
flags: VkDebugReportFlagsEXT,
objectType: VkDebugReportObjectTypeEXT,
object: u64,
location: usize,
messageCode: i32,
pLayerPrefix: *const ::std::os::raw::c_char,
pMessage: *const ::std::os::raw::c_char,
);
}
pub const VK_RASTERIZATION_ORDER_STRICT_AMD: VkRasterizationOrderAMD = 0;
pub const VK_RASTERIZATION_ORDER_RELAXED_AMD: VkRasterizationOrderAMD = 1;
pub const VK_RASTERIZATION_ORDER_BEGIN_RANGE_AMD: VkRasterizationOrderAMD = 0;
pub const VK_RASTERIZATION_ORDER_END_RANGE_AMD: VkRasterizationOrderAMD = 1;
pub const VK_RASTERIZATION_ORDER_RANGE_SIZE_AMD: VkRasterizationOrderAMD = 2;
pub const VK_RASTERIZATION_ORDER_MAX_ENUM_AMD: VkRasterizationOrderAMD = 2147483647;
pub type VkRasterizationOrderAMD = i32;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPipelineRasterizationStateRasterizationOrderAMD {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub rasterizationOrder: VkRasterizationOrderAMD,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDebugMarkerObjectNameInfoEXT {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub objectType: VkDebugReportObjectTypeEXT,
pub object: u64,
pub pObjectName: *const ::std::os::raw::c_char,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDebugMarkerObjectTagInfoEXT {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub objectType: VkDebugReportObjectTypeEXT,
pub object: u64,
pub tagName: u64,
pub tagSize: usize,
pub pTag: *const ::std::os::raw::c_void,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDebugMarkerMarkerInfoEXT {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub pMarkerName: *const ::std::os::raw::c_char,
pub color: [f32; 4usize],
}
pub type PFN_vkDebugMarkerSetObjectTagEXT = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pTagInfo: *const VkDebugMarkerObjectTagInfoEXT,
) -> VkResult,
>;
pub type PFN_vkDebugMarkerSetObjectNameEXT = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pNameInfo: *const VkDebugMarkerObjectNameInfoEXT,
) -> VkResult,
>;
pub type PFN_vkCmdDebugMarkerBeginEXT = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
pMarkerInfo: *const VkDebugMarkerMarkerInfoEXT,
),
>;
pub type PFN_vkCmdDebugMarkerEndEXT =
::std::option::Option<unsafe extern "system" fn(commandBuffer: VkCommandBuffer)>;
pub type PFN_vkCmdDebugMarkerInsertEXT = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
pMarkerInfo: *const VkDebugMarkerMarkerInfoEXT,
),
>;
extern "system" {
pub fn vkDebugMarkerSetObjectTagEXT(
device: VkDevice,
pTagInfo: *const VkDebugMarkerObjectTagInfoEXT,
) -> VkResult;
}
extern "system" {
pub fn vkDebugMarkerSetObjectNameEXT(
device: VkDevice,
pNameInfo: *const VkDebugMarkerObjectNameInfoEXT,
) -> VkResult;
}
extern "system" {
pub fn vkCmdDebugMarkerBeginEXT(
commandBuffer: VkCommandBuffer,
pMarkerInfo: *const VkDebugMarkerMarkerInfoEXT,
);
}
extern "system" {
pub fn vkCmdDebugMarkerEndEXT(commandBuffer: VkCommandBuffer);
}
extern "system" {
pub fn vkCmdDebugMarkerInsertEXT(
commandBuffer: VkCommandBuffer,
pMarkerInfo: *const VkDebugMarkerMarkerInfoEXT,
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDedicatedAllocationImageCreateInfoNV {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub dedicatedAllocation: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDedicatedAllocationBufferCreateInfoNV {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub dedicatedAllocation: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDedicatedAllocationMemoryAllocateInfoNV {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub image: VkImage,
pub buffer: VkBuffer,
}
pub type VkPipelineRasterizationStateStreamCreateFlagsEXT = VkFlags;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceTransformFeedbackFeaturesEXT {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub transformFeedback: VkBool32,
pub geometryStreams: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceTransformFeedbackPropertiesEXT {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub maxTransformFeedbackStreams: u32,
pub maxTransformFeedbackBuffers: u32,
pub maxTransformFeedbackBufferSize: VkDeviceSize,
pub maxTransformFeedbackStreamDataSize: u32,
pub maxTransformFeedbackBufferDataSize: u32,
pub maxTransformFeedbackBufferDataStride: u32,
pub transformFeedbackQueries: VkBool32,
pub transformFeedbackStreamsLinesTriangles: VkBool32,
pub transformFeedbackRasterizationStreamSelect: VkBool32,
pub transformFeedbackDraw: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPipelineRasterizationStateStreamCreateInfoEXT {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkPipelineRasterizationStateStreamCreateFlagsEXT,
pub rasterizationStream: u32,
}
pub type PFN_vkCmdBindTransformFeedbackBuffersEXT = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
firstBinding: u32,
bindingCount: u32,
pBuffers: *const VkBuffer,
pOffsets: *const VkDeviceSize,
pSizes: *const VkDeviceSize,
),
>;
pub type PFN_vkCmdBeginTransformFeedbackEXT = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
firstCounterBuffer: u32,
counterBufferCount: u32,
pCounterBuffers: *const VkBuffer,
pCounterBufferOffsets: *const VkDeviceSize,
),
>;
pub type PFN_vkCmdEndTransformFeedbackEXT = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
firstCounterBuffer: u32,
counterBufferCount: u32,
pCounterBuffers: *const VkBuffer,
pCounterBufferOffsets: *const VkDeviceSize,
),
>;
pub type PFN_vkCmdBeginQueryIndexedEXT = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
queryPool: VkQueryPool,
query: u32,
flags: VkQueryControlFlags,
index: u32,
),
>;
pub type PFN_vkCmdEndQueryIndexedEXT = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
queryPool: VkQueryPool,
query: u32,
index: u32,
),
>;
pub type PFN_vkCmdDrawIndirectByteCountEXT = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
instanceCount: u32,
firstInstance: u32,
counterBuffer: VkBuffer,
counterBufferOffset: VkDeviceSize,
counterOffset: u32,
vertexStride: u32,
),
>;
extern "system" {
pub fn vkCmdBindTransformFeedbackBuffersEXT(
commandBuffer: VkCommandBuffer,
firstBinding: u32,
bindingCount: u32,
pBuffers: *const VkBuffer,
pOffsets: *const VkDeviceSize,
pSizes: *const VkDeviceSize,
);
}
extern "system" {
pub fn vkCmdBeginTransformFeedbackEXT(
commandBuffer: VkCommandBuffer,
firstCounterBuffer: u32,
counterBufferCount: u32,
pCounterBuffers: *const VkBuffer,
pCounterBufferOffsets: *const VkDeviceSize,
);
}
extern "system" {
pub fn vkCmdEndTransformFeedbackEXT(
commandBuffer: VkCommandBuffer,
firstCounterBuffer: u32,
counterBufferCount: u32,
pCounterBuffers: *const VkBuffer,
pCounterBufferOffsets: *const VkDeviceSize,
);
}
extern "system" {
pub fn vkCmdBeginQueryIndexedEXT(
commandBuffer: VkCommandBuffer,
queryPool: VkQueryPool,
query: u32,
flags: VkQueryControlFlags,
index: u32,
);
}
extern "system" {
pub fn vkCmdEndQueryIndexedEXT(
commandBuffer: VkCommandBuffer,
queryPool: VkQueryPool,
query: u32,
index: u32,
);
}
extern "system" {
pub fn vkCmdDrawIndirectByteCountEXT(
commandBuffer: VkCommandBuffer,
instanceCount: u32,
firstInstance: u32,
counterBuffer: VkBuffer,
counterBufferOffset: VkDeviceSize,
counterOffset: u32,
vertexStride: u32,
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkImageViewHandleInfoNVX {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub imageView: VkImageView,
pub descriptorType: VkDescriptorType,
pub sampler: VkSampler,
}
pub type PFN_vkGetImageViewHandleNVX = ::std::option::Option<
unsafe extern "system" fn(device: VkDevice, pInfo: *const VkImageViewHandleInfoNVX) -> u32,
>;
extern "system" {
pub fn vkGetImageViewHandleNVX(device: VkDevice, pInfo: *const VkImageViewHandleInfoNVX)
-> u32;
}
pub type PFN_vkCmdDrawIndirectCountAMD = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
buffer: VkBuffer,
offset: VkDeviceSize,
countBuffer: VkBuffer,
countBufferOffset: VkDeviceSize,
maxDrawCount: u32,
stride: u32,
),
>;
pub type PFN_vkCmdDrawIndexedIndirectCountAMD = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
buffer: VkBuffer,
offset: VkDeviceSize,
countBuffer: VkBuffer,
countBufferOffset: VkDeviceSize,
maxDrawCount: u32,
stride: u32,
),
>;
extern "system" {
pub fn vkCmdDrawIndirectCountAMD(
commandBuffer: VkCommandBuffer,
buffer: VkBuffer,
offset: VkDeviceSize,
countBuffer: VkBuffer,
countBufferOffset: VkDeviceSize,
maxDrawCount: u32,
stride: u32,
);
}
extern "system" {
pub fn vkCmdDrawIndexedIndirectCountAMD(
commandBuffer: VkCommandBuffer,
buffer: VkBuffer,
offset: VkDeviceSize,
countBuffer: VkBuffer,
countBufferOffset: VkDeviceSize,
maxDrawCount: u32,
stride: u32,
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkTextureLODGatherFormatPropertiesAMD {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub supportsTextureGatherLODBiasAMD: VkBool32,
}
pub const VK_SHADER_INFO_TYPE_STATISTICS_AMD: VkShaderInfoTypeAMD = 0;
pub const VK_SHADER_INFO_TYPE_BINARY_AMD: VkShaderInfoTypeAMD = 1;
pub const VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD: VkShaderInfoTypeAMD = 2;
pub const VK_SHADER_INFO_TYPE_BEGIN_RANGE_AMD: VkShaderInfoTypeAMD = 0;
pub const VK_SHADER_INFO_TYPE_END_RANGE_AMD: VkShaderInfoTypeAMD = 2;
pub const VK_SHADER_INFO_TYPE_RANGE_SIZE_AMD: VkShaderInfoTypeAMD = 3;
pub const VK_SHADER_INFO_TYPE_MAX_ENUM_AMD: VkShaderInfoTypeAMD = 2147483647;
pub type VkShaderInfoTypeAMD = i32;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkShaderResourceUsageAMD {
pub numUsedVgprs: u32,
pub numUsedSgprs: u32,
pub ldsSizePerLocalWorkGroup: u32,
pub ldsUsageSizeInBytes: usize,
pub scratchMemUsageInBytes: usize,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkShaderStatisticsInfoAMD {
pub shaderStageMask: VkShaderStageFlags,
pub resourceUsage: VkShaderResourceUsageAMD,
pub numPhysicalVgprs: u32,
pub numPhysicalSgprs: u32,
pub numAvailableVgprs: u32,
pub numAvailableSgprs: u32,
pub computeWorkGroupSize: [u32; 3usize],
}
pub type PFN_vkGetShaderInfoAMD = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pipeline: VkPipeline,
shaderStage: VkShaderStageFlagBits,
infoType: VkShaderInfoTypeAMD,
pInfoSize: *mut usize,
pInfo: *mut ::std::os::raw::c_void,
) -> VkResult,
>;
extern "system" {
pub fn vkGetShaderInfoAMD(
device: VkDevice,
pipeline: VkPipeline,
shaderStage: VkShaderStageFlagBits,
infoType: VkShaderInfoTypeAMD,
pInfoSize: *mut usize,
pInfo: *mut ::std::os::raw::c_void,
) -> VkResult;
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceCornerSampledImageFeaturesNV {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub cornerSampledImage: VkBool32,
}
pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV: VkExternalMemoryHandleTypeFlagBitsNV =
1;
pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV:
VkExternalMemoryHandleTypeFlagBitsNV = 2;
pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV: VkExternalMemoryHandleTypeFlagBitsNV =
4;
pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV:
VkExternalMemoryHandleTypeFlagBitsNV = 8;
pub const VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV:
VkExternalMemoryHandleTypeFlagBitsNV = 2147483647;
pub type VkExternalMemoryHandleTypeFlagBitsNV = i32;
pub type VkExternalMemoryHandleTypeFlagsNV = VkFlags;
pub const VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV: VkExternalMemoryFeatureFlagBitsNV = 1;
pub const VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV: VkExternalMemoryFeatureFlagBitsNV = 2;
pub const VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV: VkExternalMemoryFeatureFlagBitsNV = 4;
pub const VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV: VkExternalMemoryFeatureFlagBitsNV =
2147483647;
pub type VkExternalMemoryFeatureFlagBitsNV = i32;
pub type VkExternalMemoryFeatureFlagsNV = VkFlags;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkExternalImageFormatPropertiesNV {
pub imageFormatProperties: VkImageFormatProperties,
pub externalMemoryFeatures: VkExternalMemoryFeatureFlagsNV,
pub exportFromImportedHandleTypes: VkExternalMemoryHandleTypeFlagsNV,
pub compatibleHandleTypes: VkExternalMemoryHandleTypeFlagsNV,
}
pub type PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
format: VkFormat,
type_: VkImageType,
tiling: VkImageTiling,
usage: VkImageUsageFlags,
flags: VkImageCreateFlags,
externalHandleType: VkExternalMemoryHandleTypeFlagsNV,
pExternalImageFormatProperties: *mut VkExternalImageFormatPropertiesNV,
) -> VkResult,
>;
extern "system" {
pub fn vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
physicalDevice: VkPhysicalDevice,
format: VkFormat,
type_: VkImageType,
tiling: VkImageTiling,
usage: VkImageUsageFlags,
flags: VkImageCreateFlags,
externalHandleType: VkExternalMemoryHandleTypeFlagsNV,
pExternalImageFormatProperties: *mut VkExternalImageFormatPropertiesNV,
) -> VkResult;
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkExternalMemoryImageCreateInfoNV {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub handleTypes: VkExternalMemoryHandleTypeFlagsNV,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkExportMemoryAllocateInfoNV {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub handleTypes: VkExternalMemoryHandleTypeFlagsNV,
}
pub const VK_VALIDATION_CHECK_ALL_EXT: VkValidationCheckEXT = 0;
pub const VK_VALIDATION_CHECK_SHADERS_EXT: VkValidationCheckEXT = 1;
pub const VK_VALIDATION_CHECK_BEGIN_RANGE_EXT: VkValidationCheckEXT = 0;
pub const VK_VALIDATION_CHECK_END_RANGE_EXT: VkValidationCheckEXT = 1;
pub const VK_VALIDATION_CHECK_RANGE_SIZE_EXT: VkValidationCheckEXT = 2;
pub const VK_VALIDATION_CHECK_MAX_ENUM_EXT: VkValidationCheckEXT = 2147483647;
pub type VkValidationCheckEXT = i32;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkValidationFlagsEXT {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub disabledValidationCheckCount: u32,
pub pDisabledValidationChecks: *const VkValidationCheckEXT,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkImageViewASTCDecodeModeEXT {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub decodeMode: VkFormat,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceASTCDecodeFeaturesEXT {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub decodeModeSharedExponent: VkBool32,
}
pub const VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT: VkConditionalRenderingFlagBitsEXT = 1;
pub const VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT: VkConditionalRenderingFlagBitsEXT =
2147483647;
pub type VkConditionalRenderingFlagBitsEXT = i32;
pub type VkConditionalRenderingFlagsEXT = VkFlags;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkConditionalRenderingBeginInfoEXT {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub buffer: VkBuffer,
pub offset: VkDeviceSize,
pub flags: VkConditionalRenderingFlagsEXT,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceConditionalRenderingFeaturesEXT {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub conditionalRendering: VkBool32,
pub inheritedConditionalRendering: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkCommandBufferInheritanceConditionalRenderingInfoEXT {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub conditionalRenderingEnable: VkBool32,
}
pub type PFN_vkCmdBeginConditionalRenderingEXT = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
pConditionalRenderingBegin: *const VkConditionalRenderingBeginInfoEXT,
),
>;
pub type PFN_vkCmdEndConditionalRenderingEXT =
::std::option::Option<unsafe extern "system" fn(commandBuffer: VkCommandBuffer)>;
extern "system" {
pub fn vkCmdBeginConditionalRenderingEXT(
commandBuffer: VkCommandBuffer,
pConditionalRenderingBegin: *const VkConditionalRenderingBeginInfoEXT,
);
}
extern "system" {
pub fn vkCmdEndConditionalRenderingEXT(commandBuffer: VkCommandBuffer);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkObjectTableNVX_T {
_unused: [u8; 0],
}
pub type VkObjectTableNVX = *mut VkObjectTableNVX_T;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkIndirectCommandsLayoutNVX_T {
_unused: [u8; 0],
}
pub type VkIndirectCommandsLayoutNVX = *mut VkIndirectCommandsLayoutNVX_T;
pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX: VkIndirectCommandsTokenTypeNVX = 0;
pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX: VkIndirectCommandsTokenTypeNVX = 1;
pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX: VkIndirectCommandsTokenTypeNVX = 2;
pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX: VkIndirectCommandsTokenTypeNVX = 3;
pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX: VkIndirectCommandsTokenTypeNVX = 4;
pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX: VkIndirectCommandsTokenTypeNVX = 5;
pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX: VkIndirectCommandsTokenTypeNVX = 6;
pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX: VkIndirectCommandsTokenTypeNVX = 7;
pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_BEGIN_RANGE_NVX: VkIndirectCommandsTokenTypeNVX = 0;
pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_END_RANGE_NVX: VkIndirectCommandsTokenTypeNVX = 7;
pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_RANGE_SIZE_NVX: VkIndirectCommandsTokenTypeNVX = 8;
pub const VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NVX: VkIndirectCommandsTokenTypeNVX = 2147483647;
pub type VkIndirectCommandsTokenTypeNVX = i32;
pub const VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX: VkObjectEntryTypeNVX = 0;
pub const VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX: VkObjectEntryTypeNVX = 1;
pub const VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX: VkObjectEntryTypeNVX = 2;
pub const VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX: VkObjectEntryTypeNVX = 3;
pub const VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX: VkObjectEntryTypeNVX = 4;
pub const VK_OBJECT_ENTRY_TYPE_BEGIN_RANGE_NVX: VkObjectEntryTypeNVX = 0;
pub const VK_OBJECT_ENTRY_TYPE_END_RANGE_NVX: VkObjectEntryTypeNVX = 4;
pub const VK_OBJECT_ENTRY_TYPE_RANGE_SIZE_NVX: VkObjectEntryTypeNVX = 5;
pub const VK_OBJECT_ENTRY_TYPE_MAX_ENUM_NVX: VkObjectEntryTypeNVX = 2147483647;
pub type VkObjectEntryTypeNVX = i32;
pub const VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX:
VkIndirectCommandsLayoutUsageFlagBitsNVX = 1;
pub const VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX:
VkIndirectCommandsLayoutUsageFlagBitsNVX = 2;
pub const VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX:
VkIndirectCommandsLayoutUsageFlagBitsNVX = 4;
pub const VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX:
VkIndirectCommandsLayoutUsageFlagBitsNVX = 8;
pub const VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NVX:
VkIndirectCommandsLayoutUsageFlagBitsNVX = 2147483647;
pub type VkIndirectCommandsLayoutUsageFlagBitsNVX = i32;
pub type VkIndirectCommandsLayoutUsageFlagsNVX = VkFlags;
pub const VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX: VkObjectEntryUsageFlagBitsNVX = 1;
pub const VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX: VkObjectEntryUsageFlagBitsNVX = 2;
pub const VK_OBJECT_ENTRY_USAGE_FLAG_BITS_MAX_ENUM_NVX: VkObjectEntryUsageFlagBitsNVX = 2147483647;
pub type VkObjectEntryUsageFlagBitsNVX = i32;
pub type VkObjectEntryUsageFlagsNVX = VkFlags;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDeviceGeneratedCommandsFeaturesNVX {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub computeBindingPointSupport: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDeviceGeneratedCommandsLimitsNVX {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub maxIndirectCommandsLayoutTokenCount: u32,
pub maxObjectEntryCounts: u32,
pub minSequenceCountBufferOffsetAlignment: u32,
pub minSequenceIndexBufferOffsetAlignment: u32,
pub minCommandsTokenBufferOffsetAlignment: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkIndirectCommandsTokenNVX {
pub tokenType: VkIndirectCommandsTokenTypeNVX,
pub buffer: VkBuffer,
pub offset: VkDeviceSize,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkIndirectCommandsLayoutTokenNVX {
pub tokenType: VkIndirectCommandsTokenTypeNVX,
pub bindingUnit: u32,
pub dynamicCount: u32,
pub divisor: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkIndirectCommandsLayoutCreateInfoNVX {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub pipelineBindPoint: VkPipelineBindPoint,
pub flags: VkIndirectCommandsLayoutUsageFlagsNVX,
pub tokenCount: u32,
pub pTokens: *const VkIndirectCommandsLayoutTokenNVX,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkCmdProcessCommandsInfoNVX {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub objectTable: VkObjectTableNVX,
pub indirectCommandsLayout: VkIndirectCommandsLayoutNVX,
pub indirectCommandsTokenCount: u32,
pub pIndirectCommandsTokens: *const VkIndirectCommandsTokenNVX,
pub maxSequencesCount: u32,
pub targetCommandBuffer: VkCommandBuffer,
pub sequencesCountBuffer: VkBuffer,
pub sequencesCountOffset: VkDeviceSize,
pub sequencesIndexBuffer: VkBuffer,
pub sequencesIndexOffset: VkDeviceSize,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkCmdReserveSpaceForCommandsInfoNVX {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub objectTable: VkObjectTableNVX,
pub indirectCommandsLayout: VkIndirectCommandsLayoutNVX,
pub maxSequencesCount: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkObjectTableCreateInfoNVX {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub objectCount: u32,
pub pObjectEntryTypes: *const VkObjectEntryTypeNVX,
pub pObjectEntryCounts: *const u32,
pub pObjectEntryUsageFlags: *const VkObjectEntryUsageFlagsNVX,
pub maxUniformBuffersPerDescriptor: u32,
pub maxStorageBuffersPerDescriptor: u32,
pub maxStorageImagesPerDescriptor: u32,
pub maxSampledImagesPerDescriptor: u32,
pub maxPipelineLayouts: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkObjectTableEntryNVX {
pub type_: VkObjectEntryTypeNVX,
pub flags: VkObjectEntryUsageFlagsNVX,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkObjectTablePipelineEntryNVX {
pub type_: VkObjectEntryTypeNVX,
pub flags: VkObjectEntryUsageFlagsNVX,
pub pipeline: VkPipeline,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkObjectTableDescriptorSetEntryNVX {
pub type_: VkObjectEntryTypeNVX,
pub flags: VkObjectEntryUsageFlagsNVX,
pub pipelineLayout: VkPipelineLayout,
pub descriptorSet: VkDescriptorSet,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkObjectTableVertexBufferEntryNVX {
pub type_: VkObjectEntryTypeNVX,
pub flags: VkObjectEntryUsageFlagsNVX,
pub buffer: VkBuffer,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkObjectTableIndexBufferEntryNVX {
pub type_: VkObjectEntryTypeNVX,
pub flags: VkObjectEntryUsageFlagsNVX,
pub buffer: VkBuffer,
pub indexType: VkIndexType,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkObjectTablePushConstantEntryNVX {
pub type_: VkObjectEntryTypeNVX,
pub flags: VkObjectEntryUsageFlagsNVX,
pub pipelineLayout: VkPipelineLayout,
pub stageFlags: VkShaderStageFlags,
}
pub type PFN_vkCmdProcessCommandsNVX = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
pProcessCommandsInfo: *const VkCmdProcessCommandsInfoNVX,
),
>;
pub type PFN_vkCmdReserveSpaceForCommandsNVX = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
pReserveSpaceInfo: *const VkCmdReserveSpaceForCommandsInfoNVX,
),
>;
pub type PFN_vkCreateIndirectCommandsLayoutNVX = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pCreateInfo: *const VkIndirectCommandsLayoutCreateInfoNVX,
pAllocator: *const VkAllocationCallbacks,
pIndirectCommandsLayout: *mut VkIndirectCommandsLayoutNVX,
) -> VkResult,
>;
pub type PFN_vkDestroyIndirectCommandsLayoutNVX = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
indirectCommandsLayout: VkIndirectCommandsLayoutNVX,
pAllocator: *const VkAllocationCallbacks,
),
>;
pub type PFN_vkCreateObjectTableNVX = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pCreateInfo: *const VkObjectTableCreateInfoNVX,
pAllocator: *const VkAllocationCallbacks,
pObjectTable: *mut VkObjectTableNVX,
) -> VkResult,
>;
pub type PFN_vkDestroyObjectTableNVX = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
objectTable: VkObjectTableNVX,
pAllocator: *const VkAllocationCallbacks,
),
>;
pub type PFN_vkRegisterObjectsNVX = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
objectTable: VkObjectTableNVX,
objectCount: u32,
ppObjectTableEntries: *const *const VkObjectTableEntryNVX,
pObjectIndices: *const u32,
) -> VkResult,
>;
pub type PFN_vkUnregisterObjectsNVX = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
objectTable: VkObjectTableNVX,
objectCount: u32,
pObjectEntryTypes: *const VkObjectEntryTypeNVX,
pObjectIndices: *const u32,
) -> VkResult,
>;
pub type PFN_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
pFeatures: *mut VkDeviceGeneratedCommandsFeaturesNVX,
pLimits: *mut VkDeviceGeneratedCommandsLimitsNVX,
),
>;
extern "system" {
pub fn vkCmdProcessCommandsNVX(
commandBuffer: VkCommandBuffer,
pProcessCommandsInfo: *const VkCmdProcessCommandsInfoNVX,
);
}
extern "system" {
pub fn vkCmdReserveSpaceForCommandsNVX(
commandBuffer: VkCommandBuffer,
pReserveSpaceInfo: *const VkCmdReserveSpaceForCommandsInfoNVX,
);
}
extern "system" {
pub fn vkCreateIndirectCommandsLayoutNVX(
device: VkDevice,
pCreateInfo: *const VkIndirectCommandsLayoutCreateInfoNVX,
pAllocator: *const VkAllocationCallbacks,
pIndirectCommandsLayout: *mut VkIndirectCommandsLayoutNVX,
) -> VkResult;
}
extern "system" {
pub fn vkDestroyIndirectCommandsLayoutNVX(
device: VkDevice,
indirectCommandsLayout: VkIndirectCommandsLayoutNVX,
pAllocator: *const VkAllocationCallbacks,
);
}
extern "system" {
pub fn vkCreateObjectTableNVX(
device: VkDevice,
pCreateInfo: *const VkObjectTableCreateInfoNVX,
pAllocator: *const VkAllocationCallbacks,
pObjectTable: *mut VkObjectTableNVX,
) -> VkResult;
}
extern "system" {
pub fn vkDestroyObjectTableNVX(
device: VkDevice,
objectTable: VkObjectTableNVX,
pAllocator: *const VkAllocationCallbacks,
);
}
extern "system" {
pub fn vkRegisterObjectsNVX(
device: VkDevice,
objectTable: VkObjectTableNVX,
objectCount: u32,
ppObjectTableEntries: *const *const VkObjectTableEntryNVX,
pObjectIndices: *const u32,
) -> VkResult;
}
extern "system" {
pub fn vkUnregisterObjectsNVX(
device: VkDevice,
objectTable: VkObjectTableNVX,
objectCount: u32,
pObjectEntryTypes: *const VkObjectEntryTypeNVX,
pObjectIndices: *const u32,
) -> VkResult;
}
extern "system" {
pub fn vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX(
physicalDevice: VkPhysicalDevice,
pFeatures: *mut VkDeviceGeneratedCommandsFeaturesNVX,
pLimits: *mut VkDeviceGeneratedCommandsLimitsNVX,
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkViewportWScalingNV {
pub xcoeff: f32,
pub ycoeff: f32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPipelineViewportWScalingStateCreateInfoNV {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub viewportWScalingEnable: VkBool32,
pub viewportCount: u32,
pub pViewportWScalings: *const VkViewportWScalingNV,
}
pub type PFN_vkCmdSetViewportWScalingNV = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
firstViewport: u32,
viewportCount: u32,
pViewportWScalings: *const VkViewportWScalingNV,
),
>;
extern "system" {
pub fn vkCmdSetViewportWScalingNV(
commandBuffer: VkCommandBuffer,
firstViewport: u32,
viewportCount: u32,
pViewportWScalings: *const VkViewportWScalingNV,
);
}
pub type PFN_vkReleaseDisplayEXT = ::std::option::Option<
unsafe extern "system" fn(physicalDevice: VkPhysicalDevice, display: VkDisplayKHR) -> VkResult,
>;
extern "system" {
pub fn vkReleaseDisplayEXT(physicalDevice: VkPhysicalDevice, display: VkDisplayKHR)
-> VkResult;
}
pub const VK_SURFACE_COUNTER_VBLANK_EXT: VkSurfaceCounterFlagBitsEXT = 1;
pub const VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT: VkSurfaceCounterFlagBitsEXT = 2147483647;
pub type VkSurfaceCounterFlagBitsEXT = i32;
pub type VkSurfaceCounterFlagsEXT = VkFlags;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkSurfaceCapabilities2EXT {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub minImageCount: u32,
pub maxImageCount: u32,
pub currentExtent: VkExtent2D,
pub minImageExtent: VkExtent2D,
pub maxImageExtent: VkExtent2D,
pub maxImageArrayLayers: u32,
pub supportedTransforms: VkSurfaceTransformFlagsKHR,
pub currentTransform: VkSurfaceTransformFlagBitsKHR,
pub supportedCompositeAlpha: VkCompositeAlphaFlagsKHR,
pub supportedUsageFlags: VkImageUsageFlags,
pub supportedSurfaceCounters: VkSurfaceCounterFlagsEXT,
}
pub type PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
surface: VkSurfaceKHR,
pSurfaceCapabilities: *mut VkSurfaceCapabilities2EXT,
) -> VkResult,
>;
extern "system" {
pub fn vkGetPhysicalDeviceSurfaceCapabilities2EXT(
physicalDevice: VkPhysicalDevice,
surface: VkSurfaceKHR,
pSurfaceCapabilities: *mut VkSurfaceCapabilities2EXT,
) -> VkResult;
}
pub const VK_DISPLAY_POWER_STATE_OFF_EXT: VkDisplayPowerStateEXT = 0;
pub const VK_DISPLAY_POWER_STATE_SUSPEND_EXT: VkDisplayPowerStateEXT = 1;
pub const VK_DISPLAY_POWER_STATE_ON_EXT: VkDisplayPowerStateEXT = 2;
pub const VK_DISPLAY_POWER_STATE_BEGIN_RANGE_EXT: VkDisplayPowerStateEXT = 0;
pub const VK_DISPLAY_POWER_STATE_END_RANGE_EXT: VkDisplayPowerStateEXT = 2;
pub const VK_DISPLAY_POWER_STATE_RANGE_SIZE_EXT: VkDisplayPowerStateEXT = 3;
pub const VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT: VkDisplayPowerStateEXT = 2147483647;
pub type VkDisplayPowerStateEXT = i32;
pub const VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT: VkDeviceEventTypeEXT = 0;
pub const VK_DEVICE_EVENT_TYPE_BEGIN_RANGE_EXT: VkDeviceEventTypeEXT = 0;
pub const VK_DEVICE_EVENT_TYPE_END_RANGE_EXT: VkDeviceEventTypeEXT = 0;
pub const VK_DEVICE_EVENT_TYPE_RANGE_SIZE_EXT: VkDeviceEventTypeEXT = 1;
pub const VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT: VkDeviceEventTypeEXT = 2147483647;
pub type VkDeviceEventTypeEXT = i32;
pub const VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT: VkDisplayEventTypeEXT = 0;
pub const VK_DISPLAY_EVENT_TYPE_BEGIN_RANGE_EXT: VkDisplayEventTypeEXT = 0;
pub const VK_DISPLAY_EVENT_TYPE_END_RANGE_EXT: VkDisplayEventTypeEXT = 0;
pub const VK_DISPLAY_EVENT_TYPE_RANGE_SIZE_EXT: VkDisplayEventTypeEXT = 1;
pub const VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT: VkDisplayEventTypeEXT = 2147483647;
pub type VkDisplayEventTypeEXT = i32;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDisplayPowerInfoEXT {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub powerState: VkDisplayPowerStateEXT,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDeviceEventInfoEXT {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub deviceEvent: VkDeviceEventTypeEXT,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDisplayEventInfoEXT {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub displayEvent: VkDisplayEventTypeEXT,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkSwapchainCounterCreateInfoEXT {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub surfaceCounters: VkSurfaceCounterFlagsEXT,
}
pub type PFN_vkDisplayPowerControlEXT = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
display: VkDisplayKHR,
pDisplayPowerInfo: *const VkDisplayPowerInfoEXT,
) -> VkResult,
>;
pub type PFN_vkRegisterDeviceEventEXT = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pDeviceEventInfo: *const VkDeviceEventInfoEXT,
pAllocator: *const VkAllocationCallbacks,
pFence: *mut VkFence,
) -> VkResult,
>;
pub type PFN_vkRegisterDisplayEventEXT = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
display: VkDisplayKHR,
pDisplayEventInfo: *const VkDisplayEventInfoEXT,
pAllocator: *const VkAllocationCallbacks,
pFence: *mut VkFence,
) -> VkResult,
>;
pub type PFN_vkGetSwapchainCounterEXT = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
swapchain: VkSwapchainKHR,
counter: VkSurfaceCounterFlagBitsEXT,
pCounterValue: *mut u64,
) -> VkResult,
>;
extern "system" {
pub fn vkDisplayPowerControlEXT(
device: VkDevice,
display: VkDisplayKHR,
pDisplayPowerInfo: *const VkDisplayPowerInfoEXT,
) -> VkResult;
}
extern "system" {
pub fn vkRegisterDeviceEventEXT(
device: VkDevice,
pDeviceEventInfo: *const VkDeviceEventInfoEXT,
pAllocator: *const VkAllocationCallbacks,
pFence: *mut VkFence,
) -> VkResult;
}
extern "system" {
pub fn vkRegisterDisplayEventEXT(
device: VkDevice,
display: VkDisplayKHR,
pDisplayEventInfo: *const VkDisplayEventInfoEXT,
pAllocator: *const VkAllocationCallbacks,
pFence: *mut VkFence,
) -> VkResult;
}
extern "system" {
pub fn vkGetSwapchainCounterEXT(
device: VkDevice,
swapchain: VkSwapchainKHR,
counter: VkSurfaceCounterFlagBitsEXT,
pCounterValue: *mut u64,
) -> VkResult;
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkRefreshCycleDurationGOOGLE {
pub refreshDuration: u64,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPastPresentationTimingGOOGLE {
pub presentID: u32,
pub desiredPresentTime: u64,
pub actualPresentTime: u64,
pub earliestPresentTime: u64,
pub presentMargin: u64,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPresentTimeGOOGLE {
pub presentID: u32,
pub desiredPresentTime: u64,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPresentTimesInfoGOOGLE {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub swapchainCount: u32,
pub pTimes: *const VkPresentTimeGOOGLE,
}
pub type PFN_vkGetRefreshCycleDurationGOOGLE = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
swapchain: VkSwapchainKHR,
pDisplayTimingProperties: *mut VkRefreshCycleDurationGOOGLE,
) -> VkResult,
>;
pub type PFN_vkGetPastPresentationTimingGOOGLE = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
swapchain: VkSwapchainKHR,
pPresentationTimingCount: *mut u32,
pPresentationTimings: *mut VkPastPresentationTimingGOOGLE,
) -> VkResult,
>;
extern "system" {
pub fn vkGetRefreshCycleDurationGOOGLE(
device: VkDevice,
swapchain: VkSwapchainKHR,
pDisplayTimingProperties: *mut VkRefreshCycleDurationGOOGLE,
) -> VkResult;
}
extern "system" {
pub fn vkGetPastPresentationTimingGOOGLE(
device: VkDevice,
swapchain: VkSwapchainKHR,
pPresentationTimingCount: *mut u32,
pPresentationTimings: *mut VkPastPresentationTimingGOOGLE,
) -> VkResult;
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub perViewPositionAllComponents: VkBool32,
}
pub const VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV: VkViewportCoordinateSwizzleNV = 0;
pub const VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV: VkViewportCoordinateSwizzleNV = 1;
pub const VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV: VkViewportCoordinateSwizzleNV = 2;
pub const VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV: VkViewportCoordinateSwizzleNV = 3;
pub const VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV: VkViewportCoordinateSwizzleNV = 4;
pub const VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV: VkViewportCoordinateSwizzleNV = 5;
pub const VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV: VkViewportCoordinateSwizzleNV = 6;
pub const VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV: VkViewportCoordinateSwizzleNV = 7;
pub const VK_VIEWPORT_COORDINATE_SWIZZLE_BEGIN_RANGE_NV: VkViewportCoordinateSwizzleNV = 0;
pub const VK_VIEWPORT_COORDINATE_SWIZZLE_END_RANGE_NV: VkViewportCoordinateSwizzleNV = 7;
pub const VK_VIEWPORT_COORDINATE_SWIZZLE_RANGE_SIZE_NV: VkViewportCoordinateSwizzleNV = 8;
pub const VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV: VkViewportCoordinateSwizzleNV = 2147483647;
pub type VkViewportCoordinateSwizzleNV = i32;
pub type VkPipelineViewportSwizzleStateCreateFlagsNV = VkFlags;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkViewportSwizzleNV {
pub x: VkViewportCoordinateSwizzleNV,
pub y: VkViewportCoordinateSwizzleNV,
pub z: VkViewportCoordinateSwizzleNV,
pub w: VkViewportCoordinateSwizzleNV,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPipelineViewportSwizzleStateCreateInfoNV {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkPipelineViewportSwizzleStateCreateFlagsNV,
pub viewportCount: u32,
pub pViewportSwizzles: *const VkViewportSwizzleNV,
}
pub const VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT: VkDiscardRectangleModeEXT = 0;
pub const VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT: VkDiscardRectangleModeEXT = 1;
pub const VK_DISCARD_RECTANGLE_MODE_BEGIN_RANGE_EXT: VkDiscardRectangleModeEXT = 0;
pub const VK_DISCARD_RECTANGLE_MODE_END_RANGE_EXT: VkDiscardRectangleModeEXT = 1;
pub const VK_DISCARD_RECTANGLE_MODE_RANGE_SIZE_EXT: VkDiscardRectangleModeEXT = 2;
pub const VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT: VkDiscardRectangleModeEXT = 2147483647;
pub type VkDiscardRectangleModeEXT = i32;
pub type VkPipelineDiscardRectangleStateCreateFlagsEXT = VkFlags;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub maxDiscardRectangles: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPipelineDiscardRectangleStateCreateInfoEXT {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkPipelineDiscardRectangleStateCreateFlagsEXT,
pub discardRectangleMode: VkDiscardRectangleModeEXT,
pub discardRectangleCount: u32,
pub pDiscardRectangles: *const VkRect2D,
}
pub type PFN_vkCmdSetDiscardRectangleEXT = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
firstDiscardRectangle: u32,
discardRectangleCount: u32,
pDiscardRectangles: *const VkRect2D,
),
>;
extern "system" {
pub fn vkCmdSetDiscardRectangleEXT(
commandBuffer: VkCommandBuffer,
firstDiscardRectangle: u32,
discardRectangleCount: u32,
pDiscardRectangles: *const VkRect2D,
);
}
pub const VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT: VkConservativeRasterizationModeEXT = 0;
pub const VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT: VkConservativeRasterizationModeEXT =
1;
pub const VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT: VkConservativeRasterizationModeEXT =
2;
pub const VK_CONSERVATIVE_RASTERIZATION_MODE_BEGIN_RANGE_EXT: VkConservativeRasterizationModeEXT =
0;
pub const VK_CONSERVATIVE_RASTERIZATION_MODE_END_RANGE_EXT: VkConservativeRasterizationModeEXT = 2;
pub const VK_CONSERVATIVE_RASTERIZATION_MODE_RANGE_SIZE_EXT: VkConservativeRasterizationModeEXT = 3;
pub const VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT: VkConservativeRasterizationModeEXT =
2147483647;
pub type VkConservativeRasterizationModeEXT = i32;
pub type VkPipelineRasterizationConservativeStateCreateFlagsEXT = VkFlags;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub primitiveOverestimationSize: f32,
pub maxExtraPrimitiveOverestimationSize: f32,
pub extraPrimitiveOverestimationSizeGranularity: f32,
pub primitiveUnderestimation: VkBool32,
pub conservativePointAndLineRasterization: VkBool32,
pub degenerateTrianglesRasterized: VkBool32,
pub degenerateLinesRasterized: VkBool32,
pub fullyCoveredFragmentShaderInputVariable: VkBool32,
pub conservativeRasterizationPostDepthCoverage: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkPipelineRasterizationConservativeStateCreateFlagsEXT,
pub conservativeRasterizationMode: VkConservativeRasterizationModeEXT,
pub extraPrimitiveOverestimationSize: f32,
}
pub type VkPipelineRasterizationDepthClipStateCreateFlagsEXT = VkFlags;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceDepthClipEnableFeaturesEXT {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub depthClipEnable: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPipelineRasterizationDepthClipStateCreateInfoEXT {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkPipelineRasterizationDepthClipStateCreateFlagsEXT,
pub depthClipEnable: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkXYColorEXT {
pub x: f32,
pub y: f32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkHdrMetadataEXT {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub displayPrimaryRed: VkXYColorEXT,
pub displayPrimaryGreen: VkXYColorEXT,
pub displayPrimaryBlue: VkXYColorEXT,
pub whitePoint: VkXYColorEXT,
pub maxLuminance: f32,
pub minLuminance: f32,
pub maxContentLightLevel: f32,
pub maxFrameAverageLightLevel: f32,
}
pub type PFN_vkSetHdrMetadataEXT = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
swapchainCount: u32,
pSwapchains: *const VkSwapchainKHR,
pMetadata: *const VkHdrMetadataEXT,
),
>;
extern "system" {
pub fn vkSetHdrMetadataEXT(
device: VkDevice,
swapchainCount: u32,
pSwapchains: *const VkSwapchainKHR,
pMetadata: *const VkHdrMetadataEXT,
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDebugUtilsMessengerEXT_T {
_unused: [u8; 0],
}
pub type VkDebugUtilsMessengerEXT = *mut VkDebugUtilsMessengerEXT_T;
pub type VkDebugUtilsMessengerCallbackDataFlagsEXT = VkFlags;
pub type VkDebugUtilsMessengerCreateFlagsEXT = VkFlags;
pub const VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT: VkDebugUtilsMessageSeverityFlagBitsEXT =
1;
pub const VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT: VkDebugUtilsMessageSeverityFlagBitsEXT = 16;
pub const VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT: VkDebugUtilsMessageSeverityFlagBitsEXT =
256;
pub const VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT: VkDebugUtilsMessageSeverityFlagBitsEXT =
4096;
pub const VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT:
VkDebugUtilsMessageSeverityFlagBitsEXT = 2147483647;
pub type VkDebugUtilsMessageSeverityFlagBitsEXT = i32;
pub type VkDebugUtilsMessageSeverityFlagsEXT = VkFlags;
pub const VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT: VkDebugUtilsMessageTypeFlagBitsEXT = 1;
pub const VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT: VkDebugUtilsMessageTypeFlagBitsEXT = 2;
pub const VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT: VkDebugUtilsMessageTypeFlagBitsEXT = 4;
pub const VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT: VkDebugUtilsMessageTypeFlagBitsEXT =
2147483647;
pub type VkDebugUtilsMessageTypeFlagBitsEXT = i32;
pub type VkDebugUtilsMessageTypeFlagsEXT = VkFlags;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDebugUtilsObjectNameInfoEXT {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub objectType: VkObjectType,
pub objectHandle: u64,
pub pObjectName: *const ::std::os::raw::c_char,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDebugUtilsObjectTagInfoEXT {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub objectType: VkObjectType,
pub objectHandle: u64,
pub tagName: u64,
pub tagSize: usize,
pub pTag: *const ::std::os::raw::c_void,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDebugUtilsLabelEXT {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub pLabelName: *const ::std::os::raw::c_char,
pub color: [f32; 4usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDebugUtilsMessengerCallbackDataEXT {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkDebugUtilsMessengerCallbackDataFlagsEXT,
pub pMessageIdName: *const ::std::os::raw::c_char,
pub messageIdNumber: i32,
pub pMessage: *const ::std::os::raw::c_char,
pub queueLabelCount: u32,
pub pQueueLabels: *const VkDebugUtilsLabelEXT,
pub cmdBufLabelCount: u32,
pub pCmdBufLabels: *const VkDebugUtilsLabelEXT,
pub objectCount: u32,
pub pObjects: *const VkDebugUtilsObjectNameInfoEXT,
}
pub type PFN_vkDebugUtilsMessengerCallbackEXT = ::std::option::Option<
unsafe extern "system" fn(
messageSeverity: VkDebugUtilsMessageSeverityFlagBitsEXT,
messageTypes: VkDebugUtilsMessageTypeFlagsEXT,
pCallbackData: *const VkDebugUtilsMessengerCallbackDataEXT,
pUserData: *mut ::std::os::raw::c_void,
) -> VkBool32,
>;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDebugUtilsMessengerCreateInfoEXT {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkDebugUtilsMessengerCreateFlagsEXT,
pub messageSeverity: VkDebugUtilsMessageSeverityFlagsEXT,
pub messageType: VkDebugUtilsMessageTypeFlagsEXT,
pub pfnUserCallback: PFN_vkDebugUtilsMessengerCallbackEXT,
pub pUserData: *mut ::std::os::raw::c_void,
}
pub type PFN_vkSetDebugUtilsObjectNameEXT = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pNameInfo: *const VkDebugUtilsObjectNameInfoEXT,
) -> VkResult,
>;
pub type PFN_vkSetDebugUtilsObjectTagEXT = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pTagInfo: *const VkDebugUtilsObjectTagInfoEXT,
) -> VkResult,
>;
pub type PFN_vkQueueBeginDebugUtilsLabelEXT = ::std::option::Option<
unsafe extern "system" fn(queue: VkQueue, pLabelInfo: *const VkDebugUtilsLabelEXT),
>;
pub type PFN_vkQueueEndDebugUtilsLabelEXT =
::std::option::Option<unsafe extern "system" fn(queue: VkQueue)>;
pub type PFN_vkQueueInsertDebugUtilsLabelEXT = ::std::option::Option<
unsafe extern "system" fn(queue: VkQueue, pLabelInfo: *const VkDebugUtilsLabelEXT),
>;
pub type PFN_vkCmdBeginDebugUtilsLabelEXT = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
pLabelInfo: *const VkDebugUtilsLabelEXT,
),
>;
pub type PFN_vkCmdEndDebugUtilsLabelEXT =
::std::option::Option<unsafe extern "system" fn(commandBuffer: VkCommandBuffer)>;
pub type PFN_vkCmdInsertDebugUtilsLabelEXT = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
pLabelInfo: *const VkDebugUtilsLabelEXT,
),
>;
pub type PFN_vkCreateDebugUtilsMessengerEXT = ::std::option::Option<
unsafe extern "system" fn(
instance: VkInstance,
pCreateInfo: *const VkDebugUtilsMessengerCreateInfoEXT,
pAllocator: *const VkAllocationCallbacks,
pMessenger: *mut VkDebugUtilsMessengerEXT,
) -> VkResult,
>;
pub type PFN_vkDestroyDebugUtilsMessengerEXT = ::std::option::Option<
unsafe extern "system" fn(
instance: VkInstance,
messenger: VkDebugUtilsMessengerEXT,
pAllocator: *const VkAllocationCallbacks,
),
>;
pub type PFN_vkSubmitDebugUtilsMessageEXT = ::std::option::Option<
unsafe extern "system" fn(
instance: VkInstance,
messageSeverity: VkDebugUtilsMessageSeverityFlagBitsEXT,
messageTypes: VkDebugUtilsMessageTypeFlagsEXT,
pCallbackData: *const VkDebugUtilsMessengerCallbackDataEXT,
),
>;
extern "system" {
pub fn vkSetDebugUtilsObjectNameEXT(
device: VkDevice,
pNameInfo: *const VkDebugUtilsObjectNameInfoEXT,
) -> VkResult;
}
extern "system" {
pub fn vkSetDebugUtilsObjectTagEXT(
device: VkDevice,
pTagInfo: *const VkDebugUtilsObjectTagInfoEXT,
) -> VkResult;
}
extern "system" {
pub fn vkQueueBeginDebugUtilsLabelEXT(queue: VkQueue, pLabelInfo: *const VkDebugUtilsLabelEXT);
}
extern "system" {
pub fn vkQueueEndDebugUtilsLabelEXT(queue: VkQueue);
}
extern "system" {
pub fn vkQueueInsertDebugUtilsLabelEXT(queue: VkQueue, pLabelInfo: *const VkDebugUtilsLabelEXT);
}
extern "system" {
pub fn vkCmdBeginDebugUtilsLabelEXT(
commandBuffer: VkCommandBuffer,
pLabelInfo: *const VkDebugUtilsLabelEXT,
);
}
extern "system" {
pub fn vkCmdEndDebugUtilsLabelEXT(commandBuffer: VkCommandBuffer);
}
extern "system" {
pub fn vkCmdInsertDebugUtilsLabelEXT(
commandBuffer: VkCommandBuffer,
pLabelInfo: *const VkDebugUtilsLabelEXT,
);
}
extern "system" {
pub fn vkCreateDebugUtilsMessengerEXT(
instance: VkInstance,
pCreateInfo: *const VkDebugUtilsMessengerCreateInfoEXT,
pAllocator: *const VkAllocationCallbacks,
pMessenger: *mut VkDebugUtilsMessengerEXT,
) -> VkResult;
}
extern "system" {
pub fn vkDestroyDebugUtilsMessengerEXT(
instance: VkInstance,
messenger: VkDebugUtilsMessengerEXT,
pAllocator: *const VkAllocationCallbacks,
);
}
extern "system" {
pub fn vkSubmitDebugUtilsMessageEXT(
instance: VkInstance,
messageSeverity: VkDebugUtilsMessageSeverityFlagBitsEXT,
messageTypes: VkDebugUtilsMessageTypeFlagsEXT,
pCallbackData: *const VkDebugUtilsMessengerCallbackDataEXT,
);
}
pub const VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT: VkSamplerReductionModeEXT = 0;
pub const VK_SAMPLER_REDUCTION_MODE_MIN_EXT: VkSamplerReductionModeEXT = 1;
pub const VK_SAMPLER_REDUCTION_MODE_MAX_EXT: VkSamplerReductionModeEXT = 2;
pub const VK_SAMPLER_REDUCTION_MODE_BEGIN_RANGE_EXT: VkSamplerReductionModeEXT = 0;
pub const VK_SAMPLER_REDUCTION_MODE_END_RANGE_EXT: VkSamplerReductionModeEXT = 2;
pub const VK_SAMPLER_REDUCTION_MODE_RANGE_SIZE_EXT: VkSamplerReductionModeEXT = 3;
pub const VK_SAMPLER_REDUCTION_MODE_MAX_ENUM_EXT: VkSamplerReductionModeEXT = 2147483647;
pub type VkSamplerReductionModeEXT = i32;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkSamplerReductionModeCreateInfoEXT {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub reductionMode: VkSamplerReductionModeEXT,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub filterMinmaxSingleComponentFormats: VkBool32,
pub filterMinmaxImageComponentMapping: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub inlineUniformBlock: VkBool32,
pub descriptorBindingInlineUniformBlockUpdateAfterBind: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub maxInlineUniformBlockSize: u32,
pub maxPerStageDescriptorInlineUniformBlocks: u32,
pub maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks: u32,
pub maxDescriptorSetInlineUniformBlocks: u32,
pub maxDescriptorSetUpdateAfterBindInlineUniformBlocks: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkWriteDescriptorSetInlineUniformBlockEXT {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub dataSize: u32,
pub pData: *const ::std::os::raw::c_void,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub maxInlineUniformBlockBindings: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkSampleLocationEXT {
pub x: f32,
pub y: f32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkSampleLocationsInfoEXT {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub sampleLocationsPerPixel: VkSampleCountFlagBits,
pub sampleLocationGridSize: VkExtent2D,
pub sampleLocationsCount: u32,
pub pSampleLocations: *const VkSampleLocationEXT,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkAttachmentSampleLocationsEXT {
pub attachmentIndex: u32,
pub sampleLocationsInfo: VkSampleLocationsInfoEXT,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkSubpassSampleLocationsEXT {
pub subpassIndex: u32,
pub sampleLocationsInfo: VkSampleLocationsInfoEXT,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkRenderPassSampleLocationsBeginInfoEXT {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub attachmentInitialSampleLocationsCount: u32,
pub pAttachmentInitialSampleLocations: *const VkAttachmentSampleLocationsEXT,
pub postSubpassSampleLocationsCount: u32,
pub pPostSubpassSampleLocations: *const VkSubpassSampleLocationsEXT,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPipelineSampleLocationsStateCreateInfoEXT {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub sampleLocationsEnable: VkBool32,
pub sampleLocationsInfo: VkSampleLocationsInfoEXT,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceSampleLocationsPropertiesEXT {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub sampleLocationSampleCounts: VkSampleCountFlags,
pub maxSampleLocationGridSize: VkExtent2D,
pub sampleLocationCoordinateRange: [f32; 2usize],
pub sampleLocationSubPixelBits: u32,
pub variableSampleLocations: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkMultisamplePropertiesEXT {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub maxSampleLocationGridSize: VkExtent2D,
}
pub type PFN_vkCmdSetSampleLocationsEXT = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
pSampleLocationsInfo: *const VkSampleLocationsInfoEXT,
),
>;
pub type PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
samples: VkSampleCountFlagBits,
pMultisampleProperties: *mut VkMultisamplePropertiesEXT,
),
>;
extern "system" {
pub fn vkCmdSetSampleLocationsEXT(
commandBuffer: VkCommandBuffer,
pSampleLocationsInfo: *const VkSampleLocationsInfoEXT,
);
}
extern "system" {
pub fn vkGetPhysicalDeviceMultisamplePropertiesEXT(
physicalDevice: VkPhysicalDevice,
samples: VkSampleCountFlagBits,
pMultisampleProperties: *mut VkMultisamplePropertiesEXT,
);
}
pub const VK_BLEND_OVERLAP_UNCORRELATED_EXT: VkBlendOverlapEXT = 0;
pub const VK_BLEND_OVERLAP_DISJOINT_EXT: VkBlendOverlapEXT = 1;
pub const VK_BLEND_OVERLAP_CONJOINT_EXT: VkBlendOverlapEXT = 2;
pub const VK_BLEND_OVERLAP_BEGIN_RANGE_EXT: VkBlendOverlapEXT = 0;
pub const VK_BLEND_OVERLAP_END_RANGE_EXT: VkBlendOverlapEXT = 2;
pub const VK_BLEND_OVERLAP_RANGE_SIZE_EXT: VkBlendOverlapEXT = 3;
pub const VK_BLEND_OVERLAP_MAX_ENUM_EXT: VkBlendOverlapEXT = 2147483647;
pub type VkBlendOverlapEXT = i32;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub advancedBlendCoherentOperations: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub advancedBlendMaxColorAttachments: u32,
pub advancedBlendIndependentBlend: VkBool32,
pub advancedBlendNonPremultipliedSrcColor: VkBool32,
pub advancedBlendNonPremultipliedDstColor: VkBool32,
pub advancedBlendCorrelatedOverlap: VkBool32,
pub advancedBlendAllOperations: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub srcPremultiplied: VkBool32,
pub dstPremultiplied: VkBool32,
pub blendOverlap: VkBlendOverlapEXT,
}
pub type VkPipelineCoverageToColorStateCreateFlagsNV = VkFlags;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPipelineCoverageToColorStateCreateInfoNV {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkPipelineCoverageToColorStateCreateFlagsNV,
pub coverageToColorEnable: VkBool32,
pub coverageToColorLocation: u32,
}
pub const VK_COVERAGE_MODULATION_MODE_NONE_NV: VkCoverageModulationModeNV = 0;
pub const VK_COVERAGE_MODULATION_MODE_RGB_NV: VkCoverageModulationModeNV = 1;
pub const VK_COVERAGE_MODULATION_MODE_ALPHA_NV: VkCoverageModulationModeNV = 2;
pub const VK_COVERAGE_MODULATION_MODE_RGBA_NV: VkCoverageModulationModeNV = 3;
pub const VK_COVERAGE_MODULATION_MODE_BEGIN_RANGE_NV: VkCoverageModulationModeNV = 0;
pub const VK_COVERAGE_MODULATION_MODE_END_RANGE_NV: VkCoverageModulationModeNV = 3;
pub const VK_COVERAGE_MODULATION_MODE_RANGE_SIZE_NV: VkCoverageModulationModeNV = 4;
pub const VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV: VkCoverageModulationModeNV = 2147483647;
pub type VkCoverageModulationModeNV = i32;
pub type VkPipelineCoverageModulationStateCreateFlagsNV = VkFlags;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPipelineCoverageModulationStateCreateInfoNV {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkPipelineCoverageModulationStateCreateFlagsNV,
pub coverageModulationMode: VkCoverageModulationModeNV,
pub coverageModulationTableEnable: VkBool32,
pub coverageModulationTableCount: u32,
pub pCoverageModulationTable: *const f32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDrmFormatModifierPropertiesEXT {
pub drmFormatModifier: u64,
pub drmFormatModifierPlaneCount: u32,
pub drmFormatModifierTilingFeatures: VkFormatFeatureFlags,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDrmFormatModifierPropertiesListEXT {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub drmFormatModifierCount: u32,
pub pDrmFormatModifierProperties: *mut VkDrmFormatModifierPropertiesEXT,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub drmFormatModifier: u64,
pub sharingMode: VkSharingMode,
pub queueFamilyIndexCount: u32,
pub pQueueFamilyIndices: *const u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkImageDrmFormatModifierListCreateInfoEXT {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub drmFormatModifierCount: u32,
pub pDrmFormatModifiers: *const u64,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkImageDrmFormatModifierExplicitCreateInfoEXT {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub drmFormatModifier: u64,
pub drmFormatModifierPlaneCount: u32,
pub pPlaneLayouts: *const VkSubresourceLayout,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkImageDrmFormatModifierPropertiesEXT {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub drmFormatModifier: u64,
}
pub type PFN_vkGetImageDrmFormatModifierPropertiesEXT = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
image: VkImage,
pProperties: *mut VkImageDrmFormatModifierPropertiesEXT,
) -> VkResult,
>;
extern "system" {
pub fn vkGetImageDrmFormatModifierPropertiesEXT(
device: VkDevice,
image: VkImage,
pProperties: *mut VkImageDrmFormatModifierPropertiesEXT,
) -> VkResult;
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkValidationCacheEXT_T {
_unused: [u8; 0],
}
pub type VkValidationCacheEXT = *mut VkValidationCacheEXT_T;
pub const VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT: VkValidationCacheHeaderVersionEXT = 1;
pub const VK_VALIDATION_CACHE_HEADER_VERSION_BEGIN_RANGE_EXT: VkValidationCacheHeaderVersionEXT = 1;
pub const VK_VALIDATION_CACHE_HEADER_VERSION_END_RANGE_EXT: VkValidationCacheHeaderVersionEXT = 1;
pub const VK_VALIDATION_CACHE_HEADER_VERSION_RANGE_SIZE_EXT: VkValidationCacheHeaderVersionEXT = 1;
pub const VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT: VkValidationCacheHeaderVersionEXT =
2147483647;
pub type VkValidationCacheHeaderVersionEXT = i32;
pub type VkValidationCacheCreateFlagsEXT = VkFlags;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkValidationCacheCreateInfoEXT {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkValidationCacheCreateFlagsEXT,
pub initialDataSize: usize,
pub pInitialData: *const ::std::os::raw::c_void,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkShaderModuleValidationCacheCreateInfoEXT {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub validationCache: VkValidationCacheEXT,
}
pub type PFN_vkCreateValidationCacheEXT = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pCreateInfo: *const VkValidationCacheCreateInfoEXT,
pAllocator: *const VkAllocationCallbacks,
pValidationCache: *mut VkValidationCacheEXT,
) -> VkResult,
>;
pub type PFN_vkDestroyValidationCacheEXT = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
validationCache: VkValidationCacheEXT,
pAllocator: *const VkAllocationCallbacks,
),
>;
pub type PFN_vkMergeValidationCachesEXT = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
dstCache: VkValidationCacheEXT,
srcCacheCount: u32,
pSrcCaches: *const VkValidationCacheEXT,
) -> VkResult,
>;
pub type PFN_vkGetValidationCacheDataEXT = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
validationCache: VkValidationCacheEXT,
pDataSize: *mut usize,
pData: *mut ::std::os::raw::c_void,
) -> VkResult,
>;
extern "system" {
pub fn vkCreateValidationCacheEXT(
device: VkDevice,
pCreateInfo: *const VkValidationCacheCreateInfoEXT,
pAllocator: *const VkAllocationCallbacks,
pValidationCache: *mut VkValidationCacheEXT,
) -> VkResult;
}
extern "system" {
pub fn vkDestroyValidationCacheEXT(
device: VkDevice,
validationCache: VkValidationCacheEXT,
pAllocator: *const VkAllocationCallbacks,
);
}
extern "system" {
pub fn vkMergeValidationCachesEXT(
device: VkDevice,
dstCache: VkValidationCacheEXT,
srcCacheCount: u32,
pSrcCaches: *const VkValidationCacheEXT,
) -> VkResult;
}
extern "system" {
pub fn vkGetValidationCacheDataEXT(
device: VkDevice,
validationCache: VkValidationCacheEXT,
pDataSize: *mut usize,
pData: *mut ::std::os::raw::c_void,
) -> VkResult;
}
pub const VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT: VkDescriptorBindingFlagBitsEXT = 1;
pub const VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT:
VkDescriptorBindingFlagBitsEXT = 2;
pub const VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT: VkDescriptorBindingFlagBitsEXT = 4;
pub const VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT: VkDescriptorBindingFlagBitsEXT =
8;
pub const VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM_EXT: VkDescriptorBindingFlagBitsEXT = 2147483647;
pub type VkDescriptorBindingFlagBitsEXT = i32;
pub type VkDescriptorBindingFlagsEXT = VkFlags;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDescriptorSetLayoutBindingFlagsCreateInfoEXT {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub bindingCount: u32,
pub pBindingFlags: *const VkDescriptorBindingFlagsEXT,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceDescriptorIndexingFeaturesEXT {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub shaderInputAttachmentArrayDynamicIndexing: VkBool32,
pub shaderUniformTexelBufferArrayDynamicIndexing: VkBool32,
pub shaderStorageTexelBufferArrayDynamicIndexing: VkBool32,
pub shaderUniformBufferArrayNonUniformIndexing: VkBool32,
pub shaderSampledImageArrayNonUniformIndexing: VkBool32,
pub shaderStorageBufferArrayNonUniformIndexing: VkBool32,
pub shaderStorageImageArrayNonUniformIndexing: VkBool32,
pub shaderInputAttachmentArrayNonUniformIndexing: VkBool32,
pub shaderUniformTexelBufferArrayNonUniformIndexing: VkBool32,
pub shaderStorageTexelBufferArrayNonUniformIndexing: VkBool32,
pub descriptorBindingUniformBufferUpdateAfterBind: VkBool32,
pub descriptorBindingSampledImageUpdateAfterBind: VkBool32,
pub descriptorBindingStorageImageUpdateAfterBind: VkBool32,
pub descriptorBindingStorageBufferUpdateAfterBind: VkBool32,
pub descriptorBindingUniformTexelBufferUpdateAfterBind: VkBool32,
pub descriptorBindingStorageTexelBufferUpdateAfterBind: VkBool32,
pub descriptorBindingUpdateUnusedWhilePending: VkBool32,
pub descriptorBindingPartiallyBound: VkBool32,
pub descriptorBindingVariableDescriptorCount: VkBool32,
pub runtimeDescriptorArray: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceDescriptorIndexingPropertiesEXT {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub maxUpdateAfterBindDescriptorsInAllPools: u32,
pub shaderUniformBufferArrayNonUniformIndexingNative: VkBool32,
pub shaderSampledImageArrayNonUniformIndexingNative: VkBool32,
pub shaderStorageBufferArrayNonUniformIndexingNative: VkBool32,
pub shaderStorageImageArrayNonUniformIndexingNative: VkBool32,
pub shaderInputAttachmentArrayNonUniformIndexingNative: VkBool32,
pub robustBufferAccessUpdateAfterBind: VkBool32,
pub quadDivergentImplicitLod: VkBool32,
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)]
#[derive(Copy, Clone)]
pub struct VkDescriptorSetVariableDescriptorCountAllocateInfoEXT {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub descriptorSetCount: u32,
pub pDescriptorCounts: *const u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDescriptorSetVariableDescriptorCountLayoutSupportEXT {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub maxVariableDescriptorCount: u32,
}
pub const VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV: VkShadingRatePaletteEntryNV = 0;
pub const VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV: VkShadingRatePaletteEntryNV =
1;
pub const VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV: VkShadingRatePaletteEntryNV = 2;
pub const VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV: VkShadingRatePaletteEntryNV = 3;
pub const VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV: VkShadingRatePaletteEntryNV = 4;
pub const VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV: VkShadingRatePaletteEntryNV = 5;
pub const VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV:
VkShadingRatePaletteEntryNV = 6;
pub const VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV:
VkShadingRatePaletteEntryNV = 7;
pub const VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV:
VkShadingRatePaletteEntryNV = 8;
pub const VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV:
VkShadingRatePaletteEntryNV = 9;
pub const VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV:
VkShadingRatePaletteEntryNV = 10;
pub const VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV:
VkShadingRatePaletteEntryNV = 11;
pub const VK_SHADING_RATE_PALETTE_ENTRY_BEGIN_RANGE_NV: VkShadingRatePaletteEntryNV = 0;
pub const VK_SHADING_RATE_PALETTE_ENTRY_END_RANGE_NV: VkShadingRatePaletteEntryNV = 11;
pub const VK_SHADING_RATE_PALETTE_ENTRY_RANGE_SIZE_NV: VkShadingRatePaletteEntryNV = 12;
pub const VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV: VkShadingRatePaletteEntryNV = 2147483647;
pub type VkShadingRatePaletteEntryNV = i32;
pub const VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV: VkCoarseSampleOrderTypeNV = 0;
pub const VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV: VkCoarseSampleOrderTypeNV = 1;
pub const VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV: VkCoarseSampleOrderTypeNV = 2;
pub const VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV: VkCoarseSampleOrderTypeNV = 3;
pub const VK_COARSE_SAMPLE_ORDER_TYPE_BEGIN_RANGE_NV: VkCoarseSampleOrderTypeNV = 0;
pub const VK_COARSE_SAMPLE_ORDER_TYPE_END_RANGE_NV: VkCoarseSampleOrderTypeNV = 3;
pub const VK_COARSE_SAMPLE_ORDER_TYPE_RANGE_SIZE_NV: VkCoarseSampleOrderTypeNV = 4;
pub const VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV: VkCoarseSampleOrderTypeNV = 2147483647;
pub type VkCoarseSampleOrderTypeNV = i32;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkShadingRatePaletteNV {
pub shadingRatePaletteEntryCount: u32,
pub pShadingRatePaletteEntries: *const VkShadingRatePaletteEntryNV,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPipelineViewportShadingRateImageStateCreateInfoNV {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub shadingRateImageEnable: VkBool32,
pub viewportCount: u32,
pub pShadingRatePalettes: *const VkShadingRatePaletteNV,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceShadingRateImageFeaturesNV {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub shadingRateImage: VkBool32,
pub shadingRateCoarseSampleOrder: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceShadingRateImagePropertiesNV {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub shadingRateTexelSize: VkExtent2D,
pub shadingRatePaletteSize: u32,
pub shadingRateMaxCoarseSamples: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkCoarseSampleLocationNV {
pub pixelX: u32,
pub pixelY: u32,
pub sample: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkCoarseSampleOrderCustomNV {
pub shadingRate: VkShadingRatePaletteEntryNV,
pub sampleCount: u32,
pub sampleLocationCount: u32,
pub pSampleLocations: *const VkCoarseSampleLocationNV,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub sampleOrderType: VkCoarseSampleOrderTypeNV,
pub customSampleOrderCount: u32,
pub pCustomSampleOrders: *const VkCoarseSampleOrderCustomNV,
}
pub type PFN_vkCmdBindShadingRateImageNV = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
imageView: VkImageView,
imageLayout: VkImageLayout,
),
>;
pub type PFN_vkCmdSetViewportShadingRatePaletteNV = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
firstViewport: u32,
viewportCount: u32,
pShadingRatePalettes: *const VkShadingRatePaletteNV,
),
>;
pub type PFN_vkCmdSetCoarseSampleOrderNV = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
sampleOrderType: VkCoarseSampleOrderTypeNV,
customSampleOrderCount: u32,
pCustomSampleOrders: *const VkCoarseSampleOrderCustomNV,
),
>;
extern "system" {
pub fn vkCmdBindShadingRateImageNV(
commandBuffer: VkCommandBuffer,
imageView: VkImageView,
imageLayout: VkImageLayout,
);
}
extern "system" {
pub fn vkCmdSetViewportShadingRatePaletteNV(
commandBuffer: VkCommandBuffer,
firstViewport: u32,
viewportCount: u32,
pShadingRatePalettes: *const VkShadingRatePaletteNV,
);
}
extern "system" {
pub fn vkCmdSetCoarseSampleOrderNV(
commandBuffer: VkCommandBuffer,
sampleOrderType: VkCoarseSampleOrderTypeNV,
customSampleOrderCount: u32,
pCustomSampleOrders: *const VkCoarseSampleOrderCustomNV,
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkAccelerationStructureNV_T {
_unused: [u8; 0],
}
pub type VkAccelerationStructureNV = *mut VkAccelerationStructureNV_T;
pub const VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV: VkRayTracingShaderGroupTypeNV = 0;
pub const VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV: VkRayTracingShaderGroupTypeNV =
1;
pub const VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV: VkRayTracingShaderGroupTypeNV =
2;
pub const VK_RAY_TRACING_SHADER_GROUP_TYPE_BEGIN_RANGE_NV: VkRayTracingShaderGroupTypeNV = 0;
pub const VK_RAY_TRACING_SHADER_GROUP_TYPE_END_RANGE_NV: VkRayTracingShaderGroupTypeNV = 2;
pub const VK_RAY_TRACING_SHADER_GROUP_TYPE_RANGE_SIZE_NV: VkRayTracingShaderGroupTypeNV = 3;
pub const VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_NV: VkRayTracingShaderGroupTypeNV = 2147483647;
pub type VkRayTracingShaderGroupTypeNV = i32;
pub const VK_GEOMETRY_TYPE_TRIANGLES_NV: VkGeometryTypeNV = 0;
pub const VK_GEOMETRY_TYPE_AABBS_NV: VkGeometryTypeNV = 1;
pub const VK_GEOMETRY_TYPE_BEGIN_RANGE_NV: VkGeometryTypeNV = 0;
pub const VK_GEOMETRY_TYPE_END_RANGE_NV: VkGeometryTypeNV = 1;
pub const VK_GEOMETRY_TYPE_RANGE_SIZE_NV: VkGeometryTypeNV = 2;
pub const VK_GEOMETRY_TYPE_MAX_ENUM_NV: VkGeometryTypeNV = 2147483647;
pub type VkGeometryTypeNV = i32;
pub const VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV: VkAccelerationStructureTypeNV = 0;
pub const VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV: VkAccelerationStructureTypeNV = 1;
pub const VK_ACCELERATION_STRUCTURE_TYPE_BEGIN_RANGE_NV: VkAccelerationStructureTypeNV = 0;
pub const VK_ACCELERATION_STRUCTURE_TYPE_END_RANGE_NV: VkAccelerationStructureTypeNV = 1;
pub const VK_ACCELERATION_STRUCTURE_TYPE_RANGE_SIZE_NV: VkAccelerationStructureTypeNV = 2;
pub const VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_NV: VkAccelerationStructureTypeNV = 2147483647;
pub type VkAccelerationStructureTypeNV = i32;
pub const VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV: VkCopyAccelerationStructureModeNV = 0;
pub const VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV: VkCopyAccelerationStructureModeNV = 1;
pub const VK_COPY_ACCELERATION_STRUCTURE_MODE_BEGIN_RANGE_NV: VkCopyAccelerationStructureModeNV = 0;
pub const VK_COPY_ACCELERATION_STRUCTURE_MODE_END_RANGE_NV: VkCopyAccelerationStructureModeNV = 1;
pub const VK_COPY_ACCELERATION_STRUCTURE_MODE_RANGE_SIZE_NV: VkCopyAccelerationStructureModeNV = 2;
pub const VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_NV: VkCopyAccelerationStructureModeNV =
2147483647;
pub type VkCopyAccelerationStructureModeNV = i32;
pub const VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV:
VkAccelerationStructureMemoryRequirementsTypeNV = 0;
pub const VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV:
VkAccelerationStructureMemoryRequirementsTypeNV = 1;
pub const VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV:
VkAccelerationStructureMemoryRequirementsTypeNV = 2;
pub const VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BEGIN_RANGE_NV:
VkAccelerationStructureMemoryRequirementsTypeNV = 0;
pub const VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_END_RANGE_NV:
VkAccelerationStructureMemoryRequirementsTypeNV = 2;
pub const VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_RANGE_SIZE_NV:
VkAccelerationStructureMemoryRequirementsTypeNV = 3;
pub const VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV:
VkAccelerationStructureMemoryRequirementsTypeNV = 2147483647;
pub type VkAccelerationStructureMemoryRequirementsTypeNV = i32;
pub const VK_GEOMETRY_OPAQUE_BIT_NV: VkGeometryFlagBitsNV = 1;
pub const VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV: VkGeometryFlagBitsNV = 2;
pub const VK_GEOMETRY_FLAG_BITS_MAX_ENUM_NV: VkGeometryFlagBitsNV = 2147483647;
pub type VkGeometryFlagBitsNV = i32;
pub type VkGeometryFlagsNV = VkFlags;
pub const VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV: VkGeometryInstanceFlagBitsNV = 1;
pub const VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV:
VkGeometryInstanceFlagBitsNV = 2;
pub const VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV: VkGeometryInstanceFlagBitsNV = 4;
pub const VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV: VkGeometryInstanceFlagBitsNV = 8;
pub const VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_NV: VkGeometryInstanceFlagBitsNV = 2147483647;
pub type VkGeometryInstanceFlagBitsNV = i32;
pub type VkGeometryInstanceFlagsNV = VkFlags;
pub const VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV:
VkBuildAccelerationStructureFlagBitsNV = 1;
pub const VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV:
VkBuildAccelerationStructureFlagBitsNV = 2;
pub const VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV:
VkBuildAccelerationStructureFlagBitsNV = 4;
pub const VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV:
VkBuildAccelerationStructureFlagBitsNV = 8;
pub const VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV:
VkBuildAccelerationStructureFlagBitsNV = 16;
pub const VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_NV:
VkBuildAccelerationStructureFlagBitsNV = 2147483647;
pub type VkBuildAccelerationStructureFlagBitsNV = i32;
pub type VkBuildAccelerationStructureFlagsNV = VkFlags;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkRayTracingShaderGroupCreateInfoNV {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub type_: VkRayTracingShaderGroupTypeNV,
pub generalShader: u32,
pub closestHitShader: u32,
pub anyHitShader: u32,
pub intersectionShader: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkRayTracingPipelineCreateInfoNV {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkPipelineCreateFlags,
pub stageCount: u32,
pub pStages: *const VkPipelineShaderStageCreateInfo,
pub groupCount: u32,
pub pGroups: *const VkRayTracingShaderGroupCreateInfoNV,
pub maxRecursionDepth: u32,
pub layout: VkPipelineLayout,
pub basePipelineHandle: VkPipeline,
pub basePipelineIndex: i32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkGeometryTrianglesNV {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub vertexData: VkBuffer,
pub vertexOffset: VkDeviceSize,
pub vertexCount: u32,
pub vertexStride: VkDeviceSize,
pub vertexFormat: VkFormat,
pub indexData: VkBuffer,
pub indexOffset: VkDeviceSize,
pub indexCount: u32,
pub indexType: VkIndexType,
pub transformData: VkBuffer,
pub transformOffset: VkDeviceSize,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkGeometryAABBNV {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub aabbData: VkBuffer,
pub numAABBs: u32,
pub stride: u32,
pub offset: VkDeviceSize,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkGeometryDataNV {
pub triangles: VkGeometryTrianglesNV,
pub aabbs: VkGeometryAABBNV,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkGeometryNV {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub geometryType: VkGeometryTypeNV,
pub geometry: VkGeometryDataNV,
pub flags: VkGeometryFlagsNV,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkAccelerationStructureInfoNV {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub type_: VkAccelerationStructureTypeNV,
pub flags: VkBuildAccelerationStructureFlagsNV,
pub instanceCount: u32,
pub geometryCount: u32,
pub pGeometries: *const VkGeometryNV,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkAccelerationStructureCreateInfoNV {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub compactedSize: VkDeviceSize,
pub info: VkAccelerationStructureInfoNV,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkBindAccelerationStructureMemoryInfoNV {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub accelerationStructure: VkAccelerationStructureNV,
pub memory: VkDeviceMemory,
pub memoryOffset: VkDeviceSize,
pub deviceIndexCount: u32,
pub pDeviceIndices: *const u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkWriteDescriptorSetAccelerationStructureNV {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub accelerationStructureCount: u32,
pub pAccelerationStructures: *const VkAccelerationStructureNV,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkAccelerationStructureMemoryRequirementsInfoNV {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub type_: VkAccelerationStructureMemoryRequirementsTypeNV,
pub accelerationStructure: VkAccelerationStructureNV,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceRayTracingPropertiesNV {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_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,
}
pub type PFN_vkCreateAccelerationStructureNV = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pCreateInfo: *const VkAccelerationStructureCreateInfoNV,
pAllocator: *const VkAllocationCallbacks,
pAccelerationStructure: *mut VkAccelerationStructureNV,
) -> VkResult,
>;
pub type PFN_vkDestroyAccelerationStructureNV = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
accelerationStructure: VkAccelerationStructureNV,
pAllocator: *const VkAllocationCallbacks,
),
>;
pub type PFN_vkGetAccelerationStructureMemoryRequirementsNV = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pInfo: *const VkAccelerationStructureMemoryRequirementsInfoNV,
pMemoryRequirements: *mut VkMemoryRequirements2KHR,
),
>;
pub type PFN_vkBindAccelerationStructureMemoryNV = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
bindInfoCount: u32,
pBindInfos: *const VkBindAccelerationStructureMemoryInfoNV,
) -> VkResult,
>;
pub type PFN_vkCmdBuildAccelerationStructureNV = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
pInfo: *const VkAccelerationStructureInfoNV,
instanceData: VkBuffer,
instanceOffset: VkDeviceSize,
update: VkBool32,
dst: VkAccelerationStructureNV,
src: VkAccelerationStructureNV,
scratch: VkBuffer,
scratchOffset: VkDeviceSize,
),
>;
pub type PFN_vkCmdCopyAccelerationStructureNV = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
dst: VkAccelerationStructureNV,
src: VkAccelerationStructureNV,
mode: VkCopyAccelerationStructureModeNV,
),
>;
pub type PFN_vkCmdTraceRaysNV = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
raygenShaderBindingTableBuffer: VkBuffer,
raygenShaderBindingOffset: VkDeviceSize,
missShaderBindingTableBuffer: VkBuffer,
missShaderBindingOffset: VkDeviceSize,
missShaderBindingStride: VkDeviceSize,
hitShaderBindingTableBuffer: VkBuffer,
hitShaderBindingOffset: VkDeviceSize,
hitShaderBindingStride: VkDeviceSize,
callableShaderBindingTableBuffer: VkBuffer,
callableShaderBindingOffset: VkDeviceSize,
callableShaderBindingStride: VkDeviceSize,
width: u32,
height: u32,
depth: u32,
),
>;
pub type PFN_vkCreateRayTracingPipelinesNV = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pipelineCache: VkPipelineCache,
createInfoCount: u32,
pCreateInfos: *const VkRayTracingPipelineCreateInfoNV,
pAllocator: *const VkAllocationCallbacks,
pPipelines: *mut VkPipeline,
) -> VkResult,
>;
pub type PFN_vkGetRayTracingShaderGroupHandlesNV = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pipeline: VkPipeline,
firstGroup: u32,
groupCount: u32,
dataSize: usize,
pData: *mut ::std::os::raw::c_void,
) -> VkResult,
>;
pub type PFN_vkGetAccelerationStructureHandleNV = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
accelerationStructure: VkAccelerationStructureNV,
dataSize: usize,
pData: *mut ::std::os::raw::c_void,
) -> VkResult,
>;
pub type PFN_vkCmdWriteAccelerationStructuresPropertiesNV = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
accelerationStructureCount: u32,
pAccelerationStructures: *const VkAccelerationStructureNV,
queryType: VkQueryType,
queryPool: VkQueryPool,
firstQuery: u32,
),
>;
pub type PFN_vkCompileDeferredNV = ::std::option::Option<
unsafe extern "system" fn(device: VkDevice, pipeline: VkPipeline, shader: u32) -> VkResult,
>;
extern "system" {
pub fn vkCreateAccelerationStructureNV(
device: VkDevice,
pCreateInfo: *const VkAccelerationStructureCreateInfoNV,
pAllocator: *const VkAllocationCallbacks,
pAccelerationStructure: *mut VkAccelerationStructureNV,
) -> VkResult;
}
extern "system" {
pub fn vkDestroyAccelerationStructureNV(
device: VkDevice,
accelerationStructure: VkAccelerationStructureNV,
pAllocator: *const VkAllocationCallbacks,
);
}
extern "system" {
pub fn vkGetAccelerationStructureMemoryRequirementsNV(
device: VkDevice,
pInfo: *const VkAccelerationStructureMemoryRequirementsInfoNV,
pMemoryRequirements: *mut VkMemoryRequirements2KHR,
);
}
extern "system" {
pub fn vkBindAccelerationStructureMemoryNV(
device: VkDevice,
bindInfoCount: u32,
pBindInfos: *const VkBindAccelerationStructureMemoryInfoNV,
) -> VkResult;
}
extern "system" {
pub fn vkCmdBuildAccelerationStructureNV(
commandBuffer: VkCommandBuffer,
pInfo: *const VkAccelerationStructureInfoNV,
instanceData: VkBuffer,
instanceOffset: VkDeviceSize,
update: VkBool32,
dst: VkAccelerationStructureNV,
src: VkAccelerationStructureNV,
scratch: VkBuffer,
scratchOffset: VkDeviceSize,
);
}
extern "system" {
pub fn vkCmdCopyAccelerationStructureNV(
commandBuffer: VkCommandBuffer,
dst: VkAccelerationStructureNV,
src: VkAccelerationStructureNV,
mode: VkCopyAccelerationStructureModeNV,
);
}
extern "system" {
pub fn vkCmdTraceRaysNV(
commandBuffer: VkCommandBuffer,
raygenShaderBindingTableBuffer: VkBuffer,
raygenShaderBindingOffset: VkDeviceSize,
missShaderBindingTableBuffer: VkBuffer,
missShaderBindingOffset: VkDeviceSize,
missShaderBindingStride: VkDeviceSize,
hitShaderBindingTableBuffer: VkBuffer,
hitShaderBindingOffset: VkDeviceSize,
hitShaderBindingStride: VkDeviceSize,
callableShaderBindingTableBuffer: VkBuffer,
callableShaderBindingOffset: VkDeviceSize,
callableShaderBindingStride: VkDeviceSize,
width: u32,
height: u32,
depth: u32,
);
}
extern "system" {
pub fn vkCreateRayTracingPipelinesNV(
device: VkDevice,
pipelineCache: VkPipelineCache,
createInfoCount: u32,
pCreateInfos: *const VkRayTracingPipelineCreateInfoNV,
pAllocator: *const VkAllocationCallbacks,
pPipelines: *mut VkPipeline,
) -> VkResult;
}
extern "system" {
pub fn vkGetRayTracingShaderGroupHandlesNV(
device: VkDevice,
pipeline: VkPipeline,
firstGroup: u32,
groupCount: u32,
dataSize: usize,
pData: *mut ::std::os::raw::c_void,
) -> VkResult;
}
extern "system" {
pub fn vkGetAccelerationStructureHandleNV(
device: VkDevice,
accelerationStructure: VkAccelerationStructureNV,
dataSize: usize,
pData: *mut ::std::os::raw::c_void,
) -> VkResult;
}
extern "system" {
pub fn vkCmdWriteAccelerationStructuresPropertiesNV(
commandBuffer: VkCommandBuffer,
accelerationStructureCount: u32,
pAccelerationStructures: *const VkAccelerationStructureNV,
queryType: VkQueryType,
queryPool: VkQueryPool,
firstQuery: u32,
);
}
extern "system" {
pub fn vkCompileDeferredNV(device: VkDevice, pipeline: VkPipeline, shader: u32) -> VkResult;
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub representativeFragmentTest: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub representativeFragmentTestEnable: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceImageViewImageFormatInfoEXT {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub imageViewType: VkImageViewType,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkFilterCubicImageViewImageFormatPropertiesEXT {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub filterCubic: VkBool32,
pub filterCubicMinmax: VkBool32,
}
pub const VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT: VkQueueGlobalPriorityEXT = 128;
pub const VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT: VkQueueGlobalPriorityEXT = 256;
pub const VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT: VkQueueGlobalPriorityEXT = 512;
pub const VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT: VkQueueGlobalPriorityEXT = 1024;
pub const VK_QUEUE_GLOBAL_PRIORITY_BEGIN_RANGE_EXT: VkQueueGlobalPriorityEXT = 128;
pub const VK_QUEUE_GLOBAL_PRIORITY_END_RANGE_EXT: VkQueueGlobalPriorityEXT = 1024;
pub const VK_QUEUE_GLOBAL_PRIORITY_RANGE_SIZE_EXT: VkQueueGlobalPriorityEXT = 897;
pub const VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_EXT: VkQueueGlobalPriorityEXT = 2147483647;
pub type VkQueueGlobalPriorityEXT = i32;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDeviceQueueGlobalPriorityCreateInfoEXT {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub globalPriority: VkQueueGlobalPriorityEXT,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkImportMemoryHostPointerInfoEXT {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub handleType: VkExternalMemoryHandleTypeFlagBits,
pub pHostPointer: *mut ::std::os::raw::c_void,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkMemoryHostPointerPropertiesEXT {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub memoryTypeBits: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub minImportedHostPointerAlignment: VkDeviceSize,
}
pub type PFN_vkGetMemoryHostPointerPropertiesEXT = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
handleType: VkExternalMemoryHandleTypeFlagBits,
pHostPointer: *const ::std::os::raw::c_void,
pMemoryHostPointerProperties: *mut VkMemoryHostPointerPropertiesEXT,
) -> VkResult,
>;
extern "system" {
pub fn vkGetMemoryHostPointerPropertiesEXT(
device: VkDevice,
handleType: VkExternalMemoryHandleTypeFlagBits,
pHostPointer: *const ::std::os::raw::c_void,
pMemoryHostPointerProperties: *mut VkMemoryHostPointerPropertiesEXT,
) -> VkResult;
}
pub type PFN_vkCmdWriteBufferMarkerAMD = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
pipelineStage: VkPipelineStageFlagBits,
dstBuffer: VkBuffer,
dstOffset: VkDeviceSize,
marker: u32,
),
>;
extern "system" {
pub fn vkCmdWriteBufferMarkerAMD(
commandBuffer: VkCommandBuffer,
pipelineStage: VkPipelineStageFlagBits,
dstBuffer: VkBuffer,
dstOffset: VkDeviceSize,
marker: u32,
);
}
pub const VK_TIME_DOMAIN_DEVICE_EXT: VkTimeDomainEXT = 0;
pub const VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT: VkTimeDomainEXT = 1;
pub const VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT: VkTimeDomainEXT = 2;
pub const VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT: VkTimeDomainEXT = 3;
pub const VK_TIME_DOMAIN_BEGIN_RANGE_EXT: VkTimeDomainEXT = 0;
pub const VK_TIME_DOMAIN_END_RANGE_EXT: VkTimeDomainEXT = 3;
pub const VK_TIME_DOMAIN_RANGE_SIZE_EXT: VkTimeDomainEXT = 4;
pub const VK_TIME_DOMAIN_MAX_ENUM_EXT: VkTimeDomainEXT = 2147483647;
pub type VkTimeDomainEXT = i32;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkCalibratedTimestampInfoEXT {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub timeDomain: VkTimeDomainEXT,
}
pub type PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
pTimeDomainCount: *mut u32,
pTimeDomains: *mut VkTimeDomainEXT,
) -> VkResult,
>;
pub type PFN_vkGetCalibratedTimestampsEXT = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
timestampCount: u32,
pTimestampInfos: *const VkCalibratedTimestampInfoEXT,
pTimestamps: *mut u64,
pMaxDeviation: *mut u64,
) -> VkResult,
>;
extern "system" {
pub fn vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(
physicalDevice: VkPhysicalDevice,
pTimeDomainCount: *mut u32,
pTimeDomains: *mut VkTimeDomainEXT,
) -> VkResult;
}
extern "system" {
pub fn vkGetCalibratedTimestampsEXT(
device: VkDevice,
timestampCount: u32,
pTimestampInfos: *const VkCalibratedTimestampInfoEXT,
pTimestamps: *mut u64,
pMaxDeviation: *mut u64,
) -> VkResult;
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceShaderCorePropertiesAMD {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_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 const VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD: VkMemoryOverallocationBehaviorAMD = 0;
pub const VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD: VkMemoryOverallocationBehaviorAMD = 1;
pub const VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD: VkMemoryOverallocationBehaviorAMD = 2;
pub const VK_MEMORY_OVERALLOCATION_BEHAVIOR_BEGIN_RANGE_AMD: VkMemoryOverallocationBehaviorAMD = 0;
pub const VK_MEMORY_OVERALLOCATION_BEHAVIOR_END_RANGE_AMD: VkMemoryOverallocationBehaviorAMD = 2;
pub const VK_MEMORY_OVERALLOCATION_BEHAVIOR_RANGE_SIZE_AMD: VkMemoryOverallocationBehaviorAMD = 3;
pub const VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD: VkMemoryOverallocationBehaviorAMD =
2147483647;
pub type VkMemoryOverallocationBehaviorAMD = i32;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDeviceMemoryOverallocationCreateInfoAMD {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub overallocationBehavior: VkMemoryOverallocationBehaviorAMD,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub maxVertexAttribDivisor: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkVertexInputBindingDivisorDescriptionEXT {
pub binding: u32,
pub divisor: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub vertexBindingDivisorCount: u32,
pub pVertexBindingDivisors: *const VkVertexInputBindingDivisorDescriptionEXT,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub vertexAttributeInstanceRateDivisor: VkBool32,
pub vertexAttributeInstanceRateZeroDivisor: VkBool32,
}
pub const VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT: VkPipelineCreationFeedbackFlagBitsEXT = 1;
pub const VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT:
VkPipelineCreationFeedbackFlagBitsEXT = 2;
pub const VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT:
VkPipelineCreationFeedbackFlagBitsEXT = 4;
pub const VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT:
VkPipelineCreationFeedbackFlagBitsEXT = 2147483647;
pub type VkPipelineCreationFeedbackFlagBitsEXT = i32;
pub type VkPipelineCreationFeedbackFlagsEXT = VkFlags;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPipelineCreationFeedbackEXT {
pub flags: VkPipelineCreationFeedbackFlagsEXT,
pub duration: u64,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPipelineCreationFeedbackCreateInfoEXT {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub pPipelineCreationFeedback: *mut VkPipelineCreationFeedbackEXT,
pub pipelineStageCreationFeedbackCount: u32,
pub pPipelineStageCreationFeedbacks: *mut VkPipelineCreationFeedbackEXT,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub computeDerivativeGroupQuads: VkBool32,
pub computeDerivativeGroupLinear: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceMeshShaderFeaturesNV {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub taskShader: VkBool32,
pub meshShader: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceMeshShaderPropertiesNV {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub maxDrawMeshTasksCount: u32,
pub maxTaskWorkGroupInvocations: u32,
pub maxTaskWorkGroupSize: [u32; 3usize],
pub maxTaskTotalMemorySize: u32,
pub maxTaskOutputCount: u32,
pub maxMeshWorkGroupInvocations: u32,
pub maxMeshWorkGroupSize: [u32; 3usize],
pub maxMeshTotalMemorySize: u32,
pub maxMeshOutputVertices: u32,
pub maxMeshOutputPrimitives: u32,
pub maxMeshMultiviewViewCount: u32,
pub meshOutputPerVertexGranularity: u32,
pub meshOutputPerPrimitiveGranularity: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDrawMeshTasksIndirectCommandNV {
pub taskCount: u32,
pub firstTask: u32,
}
pub type PFN_vkCmdDrawMeshTasksNV = ::std::option::Option<
unsafe extern "system" fn(commandBuffer: VkCommandBuffer, taskCount: u32, firstTask: u32),
>;
pub type PFN_vkCmdDrawMeshTasksIndirectNV = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
buffer: VkBuffer,
offset: VkDeviceSize,
drawCount: u32,
stride: u32,
),
>;
pub type PFN_vkCmdDrawMeshTasksIndirectCountNV = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
buffer: VkBuffer,
offset: VkDeviceSize,
countBuffer: VkBuffer,
countBufferOffset: VkDeviceSize,
maxDrawCount: u32,
stride: u32,
),
>;
extern "system" {
pub fn vkCmdDrawMeshTasksNV(commandBuffer: VkCommandBuffer, taskCount: u32, firstTask: u32);
}
extern "system" {
pub fn vkCmdDrawMeshTasksIndirectNV(
commandBuffer: VkCommandBuffer,
buffer: VkBuffer,
offset: VkDeviceSize,
drawCount: u32,
stride: u32,
);
}
extern "system" {
pub fn vkCmdDrawMeshTasksIndirectCountNV(
commandBuffer: VkCommandBuffer,
buffer: VkBuffer,
offset: VkDeviceSize,
countBuffer: VkBuffer,
countBufferOffset: VkDeviceSize,
maxDrawCount: u32,
stride: u32,
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub fragmentShaderBarycentric: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceShaderImageFootprintFeaturesNV {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub imageFootprint: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPipelineViewportExclusiveScissorStateCreateInfoNV {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub exclusiveScissorCount: u32,
pub pExclusiveScissors: *const VkRect2D,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceExclusiveScissorFeaturesNV {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub exclusiveScissor: VkBool32,
}
pub type PFN_vkCmdSetExclusiveScissorNV = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
firstExclusiveScissor: u32,
exclusiveScissorCount: u32,
pExclusiveScissors: *const VkRect2D,
),
>;
extern "system" {
pub fn vkCmdSetExclusiveScissorNV(
commandBuffer: VkCommandBuffer,
firstExclusiveScissor: u32,
exclusiveScissorCount: u32,
pExclusiveScissors: *const VkRect2D,
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkQueueFamilyCheckpointPropertiesNV {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub checkpointExecutionStageMask: VkPipelineStageFlags,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkCheckpointDataNV {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub stage: VkPipelineStageFlagBits,
pub pCheckpointMarker: *mut ::std::os::raw::c_void,
}
pub type PFN_vkCmdSetCheckpointNV = ::std::option::Option<
unsafe extern "system" fn(
commandBuffer: VkCommandBuffer,
pCheckpointMarker: *const ::std::os::raw::c_void,
),
>;
pub type PFN_vkGetQueueCheckpointDataNV = ::std::option::Option<
unsafe extern "system" fn(
queue: VkQueue,
pCheckpointDataCount: *mut u32,
pCheckpointData: *mut VkCheckpointDataNV,
),
>;
extern "system" {
pub fn vkCmdSetCheckpointNV(
commandBuffer: VkCommandBuffer,
pCheckpointMarker: *const ::std::os::raw::c_void,
);
}
extern "system" {
pub fn vkGetQueueCheckpointDataNV(
queue: VkQueue,
pCheckpointDataCount: *mut u32,
pCheckpointData: *mut VkCheckpointDataNV,
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDevicePCIBusInfoPropertiesEXT {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub pciDomain: u32,
pub pciBus: u32,
pub pciDevice: u32,
pub pciFunction: u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkDisplayNativeHdrSurfaceCapabilitiesAMD {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub localDimmingSupport: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkSwapchainDisplayNativeHdrCreateInfoAMD {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub localDimmingEnable: VkBool32,
}
pub type PFN_vkSetLocalDimmingAMD = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
swapChain: VkSwapchainKHR,
localDimmingEnable: VkBool32,
),
>;
extern "system" {
pub fn vkSetLocalDimmingAMD(
device: VkDevice,
swapChain: VkSwapchainKHR,
localDimmingEnable: VkBool32,
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub fragmentDensityMap: VkBool32,
pub fragmentDensityMapDynamic: VkBool32,
pub fragmentDensityMapNonSubsampledImages: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub minFragmentDensityTexelSize: VkExtent2D,
pub maxFragmentDensityTexelSize: VkExtent2D,
pub fragmentDensityInvocations: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkRenderPassFragmentDensityMapCreateInfoEXT {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub fragmentDensityMapAttachment: VkAttachmentReference,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceScalarBlockLayoutFeaturesEXT {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub scalarBlockLayout: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub heapBudget: [VkDeviceSize; 16usize],
pub heapUsage: [VkDeviceSize; 16usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceMemoryPriorityFeaturesEXT {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub memoryPriority: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkMemoryPriorityAllocateInfoEXT {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub priority: f32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub dedicatedAllocationImageAliasing: VkBool32,
}
pub type VkDeviceAddress = u64;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub bufferDeviceAddress: VkBool32,
pub bufferDeviceAddressCaptureReplay: VkBool32,
pub bufferDeviceAddressMultiDevice: VkBool32,
}
pub type VkPhysicalDeviceBufferAddressFeaturesEXT = VkPhysicalDeviceBufferDeviceAddressFeaturesEXT;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkBufferDeviceAddressInfoEXT {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub buffer: VkBuffer,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkBufferDeviceAddressCreateInfoEXT {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub deviceAddress: VkDeviceAddress,
}
pub type PFN_vkGetBufferDeviceAddressEXT = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
pInfo: *const VkBufferDeviceAddressInfoEXT,
) -> VkDeviceAddress,
>;
extern "system" {
pub fn vkGetBufferDeviceAddressEXT(
device: VkDevice,
pInfo: *const VkBufferDeviceAddressInfoEXT,
) -> VkDeviceAddress;
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkImageStencilUsageCreateInfoEXT {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub stencilUsage: VkImageUsageFlags,
}
pub const VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT: VkValidationFeatureEnableEXT = 0;
pub const VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT:
VkValidationFeatureEnableEXT = 1;
pub const VK_VALIDATION_FEATURE_ENABLE_BEGIN_RANGE_EXT: VkValidationFeatureEnableEXT = 0;
pub const VK_VALIDATION_FEATURE_ENABLE_END_RANGE_EXT: VkValidationFeatureEnableEXT = 1;
pub const VK_VALIDATION_FEATURE_ENABLE_RANGE_SIZE_EXT: VkValidationFeatureEnableEXT = 2;
pub const VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT: VkValidationFeatureEnableEXT = 2147483647;
pub type VkValidationFeatureEnableEXT = i32;
pub const VK_VALIDATION_FEATURE_DISABLE_ALL_EXT: VkValidationFeatureDisableEXT = 0;
pub const VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT: VkValidationFeatureDisableEXT = 1;
pub const VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT: VkValidationFeatureDisableEXT = 2;
pub const VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT: VkValidationFeatureDisableEXT = 3;
pub const VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT: VkValidationFeatureDisableEXT = 4;
pub const VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT: VkValidationFeatureDisableEXT = 5;
pub const VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT: VkValidationFeatureDisableEXT = 6;
pub const VK_VALIDATION_FEATURE_DISABLE_BEGIN_RANGE_EXT: VkValidationFeatureDisableEXT = 0;
pub const VK_VALIDATION_FEATURE_DISABLE_END_RANGE_EXT: VkValidationFeatureDisableEXT = 6;
pub const VK_VALIDATION_FEATURE_DISABLE_RANGE_SIZE_EXT: VkValidationFeatureDisableEXT = 7;
pub const VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT: VkValidationFeatureDisableEXT = 2147483647;
pub type VkValidationFeatureDisableEXT = i32;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkValidationFeaturesEXT {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub enabledValidationFeatureCount: u32,
pub pEnabledValidationFeatures: *const VkValidationFeatureEnableEXT,
pub disabledValidationFeatureCount: u32,
pub pDisabledValidationFeatures: *const VkValidationFeatureDisableEXT,
}
pub const VK_COMPONENT_TYPE_FLOAT16_NV: VkComponentTypeNV = 0;
pub const VK_COMPONENT_TYPE_FLOAT32_NV: VkComponentTypeNV = 1;
pub const VK_COMPONENT_TYPE_FLOAT64_NV: VkComponentTypeNV = 2;
pub const VK_COMPONENT_TYPE_SINT8_NV: VkComponentTypeNV = 3;
pub const VK_COMPONENT_TYPE_SINT16_NV: VkComponentTypeNV = 4;
pub const VK_COMPONENT_TYPE_SINT32_NV: VkComponentTypeNV = 5;
pub const VK_COMPONENT_TYPE_SINT64_NV: VkComponentTypeNV = 6;
pub const VK_COMPONENT_TYPE_UINT8_NV: VkComponentTypeNV = 7;
pub const VK_COMPONENT_TYPE_UINT16_NV: VkComponentTypeNV = 8;
pub const VK_COMPONENT_TYPE_UINT32_NV: VkComponentTypeNV = 9;
pub const VK_COMPONENT_TYPE_UINT64_NV: VkComponentTypeNV = 10;
pub const VK_COMPONENT_TYPE_BEGIN_RANGE_NV: VkComponentTypeNV = 0;
pub const VK_COMPONENT_TYPE_END_RANGE_NV: VkComponentTypeNV = 10;
pub const VK_COMPONENT_TYPE_RANGE_SIZE_NV: VkComponentTypeNV = 11;
pub const VK_COMPONENT_TYPE_MAX_ENUM_NV: VkComponentTypeNV = 2147483647;
pub type VkComponentTypeNV = i32;
pub const VK_SCOPE_DEVICE_NV: VkScopeNV = 1;
pub const VK_SCOPE_WORKGROUP_NV: VkScopeNV = 2;
pub const VK_SCOPE_SUBGROUP_NV: VkScopeNV = 3;
pub const VK_SCOPE_QUEUE_FAMILY_NV: VkScopeNV = 5;
pub const VK_SCOPE_BEGIN_RANGE_NV: VkScopeNV = 1;
pub const VK_SCOPE_END_RANGE_NV: VkScopeNV = 5;
pub const VK_SCOPE_RANGE_SIZE_NV: VkScopeNV = 5;
pub const VK_SCOPE_MAX_ENUM_NV: VkScopeNV = 2147483647;
pub type VkScopeNV = i32;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkCooperativeMatrixPropertiesNV {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub MSize: u32,
pub NSize: u32,
pub KSize: u32,
pub AType: VkComponentTypeNV,
pub BType: VkComponentTypeNV,
pub CType: VkComponentTypeNV,
pub DType: VkComponentTypeNV,
pub scope: VkScopeNV,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceCooperativeMatrixFeaturesNV {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub cooperativeMatrix: VkBool32,
pub cooperativeMatrixRobustBufferAccess: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceCooperativeMatrixPropertiesNV {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub cooperativeMatrixSupportedStages: VkShaderStageFlags,
}
pub type PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV = ::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
pPropertyCount: *mut u32,
pProperties: *mut VkCooperativeMatrixPropertiesNV,
) -> VkResult,
>;
extern "system" {
pub fn vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(
physicalDevice: VkPhysicalDevice,
pPropertyCount: *mut u32,
pProperties: *mut VkCooperativeMatrixPropertiesNV,
) -> VkResult;
}
pub const VK_COVERAGE_REDUCTION_MODE_MERGE_NV: VkCoverageReductionModeNV = 0;
pub const VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV: VkCoverageReductionModeNV = 1;
pub const VK_COVERAGE_REDUCTION_MODE_BEGIN_RANGE_NV: VkCoverageReductionModeNV = 0;
pub const VK_COVERAGE_REDUCTION_MODE_END_RANGE_NV: VkCoverageReductionModeNV = 1;
pub const VK_COVERAGE_REDUCTION_MODE_RANGE_SIZE_NV: VkCoverageReductionModeNV = 2;
pub const VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV: VkCoverageReductionModeNV = 2147483647;
pub type VkCoverageReductionModeNV = i32;
pub type VkPipelineCoverageReductionStateCreateFlagsNV = VkFlags;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceCoverageReductionModeFeaturesNV {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub coverageReductionMode: VkBool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPipelineCoverageReductionStateCreateInfoNV {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkPipelineCoverageReductionStateCreateFlagsNV,
pub coverageReductionMode: VkCoverageReductionModeNV,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkFramebufferMixedSamplesCombinationNV {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub coverageReductionMode: VkCoverageReductionModeNV,
pub rasterizationSamples: VkSampleCountFlagBits,
pub depthStencilSamples: VkSampleCountFlags,
pub colorSamples: VkSampleCountFlags,
}
pub type PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV =
::std::option::Option<
unsafe extern "system" fn(
physicalDevice: VkPhysicalDevice,
pCombinationCount: *mut u32,
pCombinations: *mut VkFramebufferMixedSamplesCombinationNV,
) -> VkResult,
>;
extern "system" {
pub fn vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
physicalDevice: VkPhysicalDevice,
pCombinationCount: *mut u32,
pCombinations: *mut VkFramebufferMixedSamplesCombinationNV,
) -> VkResult;
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub ycbcrImageArrays: VkBool32,
}
pub type VkHeadlessSurfaceCreateFlagsEXT = VkFlags;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkHeadlessSurfaceCreateInfoEXT {
pub sType: VkStructureType,
pub pNext: *const ::std::os::raw::c_void,
pub flags: VkHeadlessSurfaceCreateFlagsEXT,
}
pub type PFN_vkCreateHeadlessSurfaceEXT = ::std::option::Option<
unsafe extern "system" fn(
instance: VkInstance,
pCreateInfo: *const VkHeadlessSurfaceCreateInfoEXT,
pAllocator: *const VkAllocationCallbacks,
pSurface: *mut VkSurfaceKHR,
) -> VkResult,
>;
extern "system" {
pub fn vkCreateHeadlessSurfaceEXT(
instance: VkInstance,
pCreateInfo: *const VkHeadlessSurfaceCreateInfoEXT,
pAllocator: *const VkAllocationCallbacks,
pSurface: *mut VkSurfaceKHR,
) -> VkResult;
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VkPhysicalDeviceHostQueryResetFeaturesEXT {
pub sType: VkStructureType,
pub pNext: *mut ::std::os::raw::c_void,
pub hostQueryReset: VkBool32,
}
pub type PFN_vkResetQueryPoolEXT = ::std::option::Option<
unsafe extern "system" fn(
device: VkDevice,
queryPool: VkQueryPool,
firstQuery: u32,
queryCount: u32,
),
>;
extern "system" {
pub fn vkResetQueryPoolEXT(
device: VkDevice,
queryPool: VkQueryPool,
firstQuery: u32,
queryCount: u32,
);
}