#![allow(non_upper_case_globals)]
#![allow(non_snake_case)]
#![allow(non_camel_case_types)]
#![allow(improper_ctypes)]
#![allow(dead_code)]
type void = std::ffi::c_void;
pub const LOD_CLAMP_NONE : f32 = 1000.;
pub const REMAINING_MIP_LEVELS : u32 = !0;
pub const REMAINING_ARRAY_LAYERS : u32 = !0;
pub const WHOLE_SIZE : u64 = !0u64;
pub const ATTACHMENT_UNUSED : u32 = !0;
pub const TRUE : u32 = 1;
pub const FALSE : u32 = 0;
pub const QUEUE_FAMILY_IGNORED : u32 = !0;
pub const SUBPASS_EXTERNAL : u32 = !0;
pub const MAX_PHYSICAL_DEVICE_NAME_SIZE : usize = 256;
pub const UUID_SIZE : usize = 16;
pub const MAX_MEMORY_TYPES : usize = 32;
pub const MAX_MEMORY_HEAPS : usize = 16;
pub const MAX_EXTENSION_NAME_SIZE : usize = 256;
pub const MAX_DESCRIPTION_SIZE : usize = 256;
pub const MAX_DEVICE_GROUP_SIZE : usize = 32;
pub const LUID_SIZE : usize = 8;
pub const QUEUE_FAMILY_EXTERNAL : u32 = !0 - 1;
pub const MAX_DRIVER_NAME_SIZE : usize = 256;
pub const MAX_DRIVER_INFO_SIZE : usize = 256;
pub type Flags = i32;
pub type Bool32 = u32;
pub type DeviceSize = u64;
pub type SampleMask = u32;
pub type Instance = u64;
pub type PhysicalDevice = u64;
pub type Device = u64;
pub type Queue = u64;
pub type Semaphore = u64;
pub type CommandBuffer = u64;
pub type Fence = u64;
pub type DeviceMemory = u64;
pub type Buffer = u64;
pub type Image = u64;
pub type Event = u64;
pub type QueryPool = u64;
pub type BufferView = u64;
pub type ImageView = u64;
pub type ShaderModule = u64;
pub type PipelineCache = u64;
pub type PipelineLayout = u64;
pub type RenderPass = u64;
pub type Pipeline = u64;
pub type DescriptorSetLayout = u64;
pub type Sampler = u64;
pub type DescriptorPool = u64;
pub type DescriptorSet = u64;
pub type Framebuffer = u64;
pub type CommandPool = u64;
pub const fn make_version(major : u32, minor : u32, patch : u32) -> u32
{
(major << 22) | (minor << 12) | patch
}
pub type PipelineCacheHeaderVersion = i32;
pub const PIPELINE_CACHE_HEADER_VERSION_ONE : i32 = 1;
pub const PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM : i32 = 0x7FFFFFF;
pub type VkResult = i32;
pub const SUCCESS : i32 = 0;
pub const NOT_READY : i32 = 1;
pub const TIMEOUT : i32 = 2;
pub const EVENT_SET : i32 = 3;
pub const EVENT_RESET : i32 = 4;
pub const INCOMPLETE : i32 = 5;
pub const ERROR_OUT_OF_HOST_MEMORY : i32 = -1;
pub const ERROR_OUT_OF_DEVICE_MEMORY : i32 = -2;
pub const ERROR_INITIALIZATION_FAILED : i32 = -3;
pub const ERROR_DEVICE_LOST : i32 = -4;
pub const ERROR_MEMORY_MAP_FAILED : i32 = -5;
pub const ERROR_LAYER_NOT_PRESENT : i32 = -6;
pub const ERROR_EXTENSION_NOT_PRESENT : i32 = -7;
pub const ERROR_FEATURE_NOT_PRESENT : i32 = -8;
pub const ERROR_INCOMPATIBLE_DRIVER : i32 = -9;
pub const ERROR_TOO_MANY_OBJECTS : i32 = -10;
pub const ERROR_FORMAT_NOT_SUPPORTED : i32 = -11;
pub const ERROR_FRAGMENTED_POOL : i32 = -12;
pub const ERROR_UNKNOWN : i32 = -13;
pub const ERROR_OUT_OF_POOL_MEMORY : i32 = -1000069000;
pub const ERROR_INVALID_EXTERNAL_HANDLE : i32 = -1000072003;
pub const ERROR_FRAGMENTATION : i32 = -1000161000;
pub const ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS : i32 = -1000257000;
pub const ERROR_SURFACE_LOST_KHR : i32 = -1000000000;
pub const ERROR_NATIVE_WINDOW_IN_USE_KHR : i32 = -1000000001;
pub const SUBOPTIMAL_KHR : i32 = 1000001003;
pub const ERROR_OUT_OF_DATE_KHR : i32 = -1000001004;
pub const ERROR_INCOMPATIBLE_DISPLAY_KHR : i32 = -1000003001;
pub const ERROR_VALIDATION_FAILED_EXT : i32 = -1000011001;
pub const ERROR_INVALID_SHADER_NV : i32 = -1000012000;
pub const ERROR_INCOMPATIBLE_VERSION_KHR : i32 = -1000150000;
pub const ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT : i32 = -1000158000;
pub const ERROR_NOT_PERMITTED_EXT : i32 = -1000174001;
pub const ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT : i32 = -1000255000;
pub const THREAD_IDLE_KHR : i32 = 1000268000;
pub const THREAD_DONE_KHR : i32 = 1000268001;
pub const OPERATION_DEFERRED_KHR : i32 = 1000268002;
pub const OPERATION_NOT_DEFERRED_KHR : i32 = 1000268003;
pub const PIPELINE_COMPILE_REQUIRED_EXT : i32 = 1000297000;
pub const ERROR_OUT_OF_POOL_MEMORY_KHR : i32 = ERROR_OUT_OF_POOL_MEMORY;
pub const ERROR_INVALID_EXTERNAL_HANDLE_KHR : i32 = ERROR_INVALID_EXTERNAL_HANDLE;
pub const ERROR_FRAGMENTATION_EXT : i32 = ERROR_FRAGMENTATION;
pub const ERROR_INVALID_DEVICE_ADDRESS_EXT : i32 = ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS;
pub const ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR : i32 = ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS;
pub const ERROR_PIPELINE_COMPILE_REQUIRED_EXT : i32 = PIPELINE_COMPILE_REQUIRED_EXT;
pub const RESULT_MAX_ENUM : i32 = 0x7FFFFFF;
pub type StructureType = i32;
pub const STRUCTURE_TYPE_APPLICATION_INFO : i32 = 0;
pub const STRUCTURE_TYPE_INSTANCE_CREATE_INFO : i32 = 1;
pub const STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO : i32 = 2;
pub const STRUCTURE_TYPE_DEVICE_CREATE_INFO : i32 = 3;
pub const STRUCTURE_TYPE_SUBMIT_INFO : i32 = 4;
pub const STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO : i32 = 5;
pub const STRUCTURE_TYPE_MAPPED_MEMORY_RANGE : i32 = 6;
pub const STRUCTURE_TYPE_BIND_SPARSE_INFO : i32 = 7;
pub const STRUCTURE_TYPE_FENCE_CREATE_INFO : i32 = 8;
pub const STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO : i32 = 9;
pub const STRUCTURE_TYPE_EVENT_CREATE_INFO : i32 = 10;
pub const STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO : i32 = 11;
pub const STRUCTURE_TYPE_BUFFER_CREATE_INFO : i32 = 12;
pub const STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO : i32 = 13;
pub const STRUCTURE_TYPE_IMAGE_CREATE_INFO : i32 = 14;
pub const STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO : i32 = 15;
pub const STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO : i32 = 16;
pub const STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO : i32 = 17;
pub const STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO : i32 = 18;
pub const STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO : i32 = 19;
pub const STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO : i32 = 20;
pub const STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO : i32 = 21;
pub const STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO : i32 = 22;
pub const STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO : i32 = 23;
pub const STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO : i32 = 24;
pub const STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO : i32 = 25;
pub const STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO : i32 = 26;
pub const STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO : i32 = 27;
pub const STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO : i32 = 28;
pub const STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO : i32 = 29;
pub const STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO : i32 = 30;
pub const STRUCTURE_TYPE_SAMPLER_CREATE_INFO : i32 = 31;
pub const STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO : i32 = 32;
pub const STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO : i32 = 33;
pub const STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO : i32 = 34;
pub const STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET : i32 = 35;
pub const STRUCTURE_TYPE_COPY_DESCRIPTOR_SET : i32 = 36;
pub const STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO : i32 = 37;
pub const STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO : i32 = 38;
pub const STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO : i32 = 39;
pub const STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO : i32 = 40;
pub const STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO : i32 = 41;
pub const STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO : i32 = 42;
pub const STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO : i32 = 43;
pub const STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER : i32 = 44;
pub const STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER : i32 = 45;
pub const STRUCTURE_TYPE_MEMORY_BARRIER : i32 = 46;
pub const STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO : i32 = 47;
pub const STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO : i32 = 48;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES : i32 = 1000094000;
pub const STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO : i32 = 1000157000;
pub const STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO : i32 = 1000157001;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES : i32 = 1000083000;
pub const STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS : i32 = 1000127000;
pub const STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO : i32 = 1000127001;
pub const STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO : i32 = 1000060000;
pub const STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO : i32 = 1000060003;
pub const STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO : i32 = 1000060004;
pub const STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO : i32 = 1000060005;
pub const STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO : i32 = 1000060006;
pub const STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO : i32 = 1000060013;
pub const STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO : i32 = 1000060014;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES : i32 = 1000070000;
pub const STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO : i32 = 1000070001;
pub const STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 : i32 = 1000146000;
pub const STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 : i32 = 1000146001;
pub const STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 : i32 = 1000146002;
pub const STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 : i32 = 1000146003;
pub const STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 : i32 = 1000146004;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 : i32 = 1000059000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 : i32 = 1000059001;
pub const STRUCTURE_TYPE_FORMAT_PROPERTIES_2 : i32 = 1000059002;
pub const STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 : i32 = 1000059003;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 : i32 = 1000059004;
pub const STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 : i32 = 1000059005;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 : i32 = 1000059006;
pub const STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 : i32 = 1000059007;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 : i32 = 1000059008;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES : i32 = 1000117000;
pub const STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO : i32 = 1000117001;
pub const STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO : i32 = 1000117002;
pub const STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO : i32 = 1000117003;
pub const STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO : i32 = 1000053000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES : i32 = 1000053001;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES : i32 = 1000053002;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES : i32 = 1000120000;
pub const STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO : i32 = 1000145000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES : i32 = 1000145001;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES : i32 = 1000145002;
pub const STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 : i32 = 1000145003;
pub const STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO : i32 = 1000156000;
pub const STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO : i32 = 1000156001;
pub const STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO : i32 = 1000156002;
pub const STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO : i32 = 1000156003;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES : i32 = 1000156004;
pub const STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES : i32 = 1000156005;
pub const STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO : i32 = 1000085000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO : i32 = 1000071000;
pub const STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES : i32 = 1000071001;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO : i32 = 1000071002;
pub const STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES : i32 = 1000071003;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES : i32 = 1000071004;
pub const STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO : i32 = 1000072000;
pub const STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO : i32 = 1000072001;
pub const STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO : i32 = 1000072002;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO : i32 = 1000112000;
pub const STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES : i32 = 1000112001;
pub const STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO : i32 = 1000113000;
pub const STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO : i32 = 1000077000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO : i32 = 1000076000;
pub const STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES : i32 = 1000076001;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES : i32 = 1000168000;
pub const STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT : i32 = 1000168001;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES : i32 = 1000063000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES : i32 = 49;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES : i32 = 50;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES : i32 = 51;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES : i32 = 52;
pub const STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO : i32 = 1000147000;
pub const STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 : i32 = 1000109000;
pub const STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 : i32 = 1000109001;
pub const STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 : i32 = 1000109002;
pub const STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 : i32 = 1000109003;
pub const STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 : i32 = 1000109004;
pub const STRUCTURE_TYPE_SUBPASS_BEGIN_INFO : i32 = 1000109005;
pub const STRUCTURE_TYPE_SUBPASS_END_INFO : i32 = 1000109006;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES : i32 = 1000177000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES : i32 = 1000196000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES : i32 = 1000180000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES : i32 = 1000082000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES : i32 = 1000197000;
pub const STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO : i32 = 1000161000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES : i32 = 1000161001;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES : i32 = 1000161002;
pub const STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO : i32 = 1000161003;
pub const STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT : i32 = 1000161004;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES : i32 = 1000199000;
pub const STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE : i32 = 1000199001;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES : i32 = 1000221000;
pub const STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO : i32 = 1000246000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES : i32 = 1000130000;
pub const STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO : i32 = 1000130001;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES : i32 = 1000211000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES : i32 = 1000108000;
pub const STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO : i32 = 1000108001;
pub const STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO : i32 = 1000108002;
pub const STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO : i32 = 1000108003;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES : i32 = 1000253000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES : i32 = 1000175000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES : i32 = 1000241000;
pub const STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT : i32 = 1000241001;
pub const STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT : i32 = 1000241002;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES : i32 = 1000261000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES : i32 = 1000207000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES : i32 = 1000207001;
pub const STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO : i32 = 1000207002;
pub const STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO : i32 = 1000207003;
pub const STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO : i32 = 1000207004;
pub const STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO : i32 = 1000207005;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES : i32 = 1000257000;
pub const STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO : i32 = 1000244001;
pub const STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO : i32 = 1000257002;
pub const STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO : i32 = 1000257003;
pub const STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO : i32 = 1000257004;
pub const STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR : i32 = 1000001000;
pub const STRUCTURE_TYPE_PRESENT_INFO_KHR : i32 = 1000001001;
pub const STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR : i32 = 1000060007;
pub const STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR : i32 = 1000060008;
pub const STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR : i32 = 1000060009;
pub const STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR : i32 = 1000060010;
pub const STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR : i32 = 1000060011;
pub const STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR : i32 = 1000060012;
pub const STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR : i32 = 1000002000;
pub const STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR : i32 = 1000002001;
pub const STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR : i32 = 1000003000;
pub const STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR : i32 = 1000004000;
pub const STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR : i32 = 1000005000;
pub const STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR : i32 = 1000006000;
pub const STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR : i32 = 1000008000;
pub const STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR : i32 = 1000009000;
pub const STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT : i32 = 1000011000;
pub const STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD : i32 = 1000018000;
pub const STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT : i32 = 1000022000;
pub const STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT : i32 = 1000022001;
pub const STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT : i32 = 1000022002;
pub const STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV : i32 = 1000026000;
pub const STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV : i32 = 1000026001;
pub const STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV : i32 = 1000026002;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT : i32 = 1000028000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT : i32 = 1000028001;
pub const STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT : i32 = 1000028002;
pub const STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX : i32 = 1000030000;
pub const STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX : i32 = 1000030001;
pub const STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD : i32 = 1000041000;
pub const STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP : i32 = 1000049000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV : i32 = 1000050000;
pub const STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV : i32 = 1000056000;
pub const STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV : i32 = 1000056001;
pub const STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV : i32 = 1000057000;
pub const STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV : i32 = 1000057001;
pub const STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV : i32 = 1000058000;
pub const STRUCTURE_TYPE_VALIDATION_FLAGS_EXT : i32 = 1000061000;
pub const STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN : i32 = 1000062000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT : i32 = 1000066000;
pub const STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT : i32 = 1000067000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT : i32 = 1000067001;
pub const STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR : i32 = 1000073000;
pub const STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR : i32 = 1000073001;
pub const STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR : i32 = 1000073002;
pub const STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR : i32 = 1000073003;
pub const STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR : i32 = 1000074000;
pub const STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR : i32 = 1000074001;
pub const STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR : i32 = 1000074002;
pub const STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR : i32 = 1000075000;
pub const STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR : i32 = 1000078000;
pub const STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR : i32 = 1000078001;
pub const STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR : i32 = 1000078002;
pub const STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR : i32 = 1000078003;
pub const STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR : i32 = 1000079000;
pub const STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR : i32 = 1000079001;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR : i32 = 1000080000;
pub const STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT : i32 = 1000081000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT : i32 = 1000081001;
pub const STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT : i32 = 1000081002;
pub const STRUCTURE_TYPE_PRESENT_REGIONS_KHR : i32 = 1000084000;
pub const STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV : i32 = 1000087000;
pub const STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT : i32 = 1000090000;
pub const STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT : i32 = 1000091000;
pub const STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT : i32 = 1000091001;
pub const STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT : i32 = 1000091002;
pub const STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT : i32 = 1000091003;
pub const STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE : i32 = 1000092000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX : i32 = 1000097000;
pub const STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV : i32 = 1000098000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT : i32 = 1000099000;
pub const STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT : i32 = 1000099001;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT : i32 = 1000101000;
pub const STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT : i32 = 1000101001;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT : i32 = 1000102000;
pub const STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT : i32 = 1000102001;
pub const STRUCTURE_TYPE_HDR_METADATA_EXT : i32 = 1000105000;
pub const STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR : i32 = 1000111000;
pub const STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR : i32 = 1000114000;
pub const STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR : i32 = 1000114001;
pub const STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR : i32 = 1000114002;
pub const STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR : i32 = 1000115000;
pub const STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR : i32 = 1000115001;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR : i32 = 1000116000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR : i32 = 1000116001;
pub const STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR : i32 = 1000116002;
pub const STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR : i32 = 1000116003;
pub const STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR : i32 = 1000116004;
pub const STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR : i32 = 1000116005;
pub const STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR : i32 = 1000116006;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR : i32 = 1000119000;
pub const STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR : i32 = 1000119001;
pub const STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR : i32 = 1000119002;
pub const STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR : i32 = 1000121000;
pub const STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR : i32 = 1000121001;
pub const STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR : i32 = 1000121002;
pub const STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR : i32 = 1000121003;
pub const STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR : i32 = 1000121004;
pub const STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK : i32 = 1000122000;
pub const STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK : i32 = 1000123000;
pub const STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT : i32 = 1000128000;
pub const STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT : i32 = 1000128001;
pub const STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT : i32 = 1000128002;
pub const STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT : i32 = 1000128003;
pub const STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT : i32 = 1000128004;
pub const STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID : i32 = 1000129000;
pub const STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID : i32 = 1000129001;
pub const STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID : i32 = 1000129002;
pub const STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID : i32 = 1000129003;
pub const STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID : i32 = 1000129004;
pub const STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID : i32 = 1000129005;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT : i32 = 1000138000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT : i32 = 1000138001;
pub const STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT : i32 = 1000138002;
pub const STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT : i32 = 1000138003;
pub const STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT : i32 = 1000143000;
pub const STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT : i32 = 1000143001;
pub const STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT : i32 = 1000143002;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT : i32 = 1000143003;
pub const STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT : i32 = 1000143004;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT : i32 = 1000148000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT : i32 = 1000148001;
pub const STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT : i32 = 1000148002;
pub const STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV : i32 = 1000149000;
pub const STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_KHR : i32 = 1000165006;
pub const STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR : i32 = 1000165007;
pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR : i32 = 1000150000;
pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_GEOMETRY_TYPE_INFO_KHR : i32 = 1000150001;
pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR : i32 = 1000150002;
pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR : i32 = 1000150003;
pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR : i32 = 1000150004;
pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR : i32 = 1000150005;
pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR : i32 = 1000150006;
pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_KHR : i32 = 1000150008;
pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_KHR : i32 = 1000150009;
pub const STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR : i32 = 1000150010;
pub const STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR : i32 = 1000150011;
pub const STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR : i32 = 1000150012;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_FEATURES_KHR : i32 = 1000150013;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_KHR : i32 = 1000150014;
pub const STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR : i32 = 1000150015;
pub const STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR : i32 = 1000150016;
pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR : i32 = 1000150017;
pub const STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR : i32 = 1000150018;
pub const STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV : i32 = 1000152000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV : i32 = 1000154000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV : i32 = 1000154001;
pub const STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT : i32 = 1000158000;
pub const STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT : i32 = 1000158001;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT : i32 = 1000158002;
pub const STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT : i32 = 1000158003;
pub const STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT : i32 = 1000158004;
pub const STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT : i32 = 1000158005;
pub const STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT : i32 = 1000160000;
pub const STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT : i32 = 1000160001;
pub const STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV : i32 = 1000164000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV : i32 = 1000164001;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV : i32 = 1000164002;
pub const STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV : i32 = 1000164005;
pub const STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV : i32 = 1000165000;
pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV : i32 = 1000165001;
pub const STRUCTURE_TYPE_GEOMETRY_NV : i32 = 1000165003;
pub const STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV : i32 = 1000165004;
pub const STRUCTURE_TYPE_GEOMETRY_AABB_NV : i32 = 1000165005;
pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV : i32 = 1000165008;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV : i32 = 1000165009;
pub const STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV : i32 = 1000165011;
pub const STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV : i32 = 1000165012;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV : i32 = 1000166000;
pub const STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV : i32 = 1000166001;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT : i32 = 1000170000;
pub const STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT : i32 = 1000170001;
pub const STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT : i32 = 1000174000;
pub const STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT : i32 = 1000178000;
pub const STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT : i32 = 1000178001;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT : i32 = 1000178002;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR : i32 = 1000181000;
pub const STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD : i32 = 1000183000;
pub const STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT : i32 = 1000184000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD : i32 = 1000185000;
pub const STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD : i32 = 1000189000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT : i32 = 1000190000;
pub const STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT : i32 = 1000190001;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT : i32 = 1000190002;
pub const STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP : i32 = 1000191000;
pub const STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT : i32 = 1000192000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV : i32 = 1000201000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV : i32 = 1000202000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV : i32 = 1000202001;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV : i32 = 1000203000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV : i32 = 1000204000;
pub const STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV : i32 = 1000205000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV : i32 = 1000205002;
pub const STRUCTURE_TYPE_CHECKPOINT_DATA_NV : i32 = 1000206000;
pub const STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV : i32 = 1000206001;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL : i32 = 1000209000;
pub const STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL : i32 = 1000210000;
pub const STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL : i32 = 1000210001;
pub const STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL : i32 = 1000210002;
pub const STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL : i32 = 1000210003;
pub const STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL : i32 = 1000210004;
pub const STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL : i32 = 1000210005;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT : i32 = 1000212000;
pub const STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD : i32 = 1000213000;
pub const STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD : i32 = 1000213001;
pub const STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA : i32 = 1000214000;
pub const STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT : i32 = 1000217000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT : i32 = 1000218000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT : i32 = 1000218001;
pub const STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT : i32 = 1000218002;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT : i32 = 1000225000;
pub const STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT : i32 = 1000225001;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT : i32 = 1000225002;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD : i32 = 1000227000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD : i32 = 1000229000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT : i32 = 1000237000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT : i32 = 1000238000;
pub const STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT : i32 = 1000238001;
pub const STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR : i32 = 1000239000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV : i32 = 1000240000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT : i32 = 1000244000;
pub const STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT : i32 = 1000244002;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT : i32 = 1000245000;
pub const STRUCTURE_TYPE_VALIDATION_FEATURES_EXT : i32 = 1000247000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV : i32 = 1000249000;
pub const STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV : i32 = 1000249001;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV : i32 = 1000249002;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV : i32 = 1000250000;
pub const STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV : i32 = 1000250001;
pub const STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV : i32 = 1000250002;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT : i32 = 1000251000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT : i32 = 1000252000;
pub const STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT : i32 = 1000255000;
pub const STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT : i32 = 1000255002;
pub const STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT : i32 = 1000255001;
pub const STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT : i32 = 1000256000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT : i32 = 1000259000;
pub const STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT : i32 = 1000259001;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT : i32 = 1000259002;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT : i32 = 1000265000;
pub const STRUCTURE_TYPE_DEFERRED_OPERATION_INFO_KHR : i32 = 1000268000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR : i32 = 1000269000;
pub const STRUCTURE_TYPE_PIPELINE_INFO_KHR : i32 = 1000269001;
pub const STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR : i32 = 1000269002;
pub const STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR : i32 = 1000269003;
pub const STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR : i32 = 1000269004;
pub const STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR : i32 = 1000269005;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT : i32 = 1000276000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV : i32 = 1000277000;
pub const STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV : i32 = 1000277001;
pub const STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV : i32 = 1000277002;
pub const STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV : i32 = 1000277003;
pub const STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV : i32 = 1000277004;
pub const STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV : i32 = 1000277005;
pub const STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV : i32 = 1000277006;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV : i32 = 1000277007;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT : i32 = 1000281000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT : i32 = 1000281001;
pub const STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM : i32 = 1000282000;
pub const STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM : i32 = 1000282001;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT : i32 = 1000286000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT : i32 = 1000286001;
pub const STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT : i32 = 1000287000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT : i32 = 1000287001;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT : i32 = 1000287002;
pub const STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR : i32 = 1000290000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT : i32 = 1000295000;
pub const STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT : i32 = 1000295001;
pub const STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT : i32 = 1000295002;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT : i32 = 1000297000;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV : i32 = 1000300000;
pub const STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV : i32 = 1000300001;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES;
pub const STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT : i32 = STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT;
pub const STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR : i32 = STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2;
pub const STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR : i32 = STRUCTURE_TYPE_FORMAT_PROPERTIES_2;
pub const STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR : i32 = STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2;
pub const STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR : i32 = STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2;
pub const STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR : i32 = STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2;
pub const STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR : i32 = STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO;
pub const STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR : i32 = STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO;
pub const STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR : i32 = STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO;
pub const STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR : i32 = STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO;
pub const STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR : i32 = STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO;
pub const STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR : i32 = STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO;
pub const STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR : i32 = STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES;
pub const STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR : i32 = STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO;
pub const STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR : i32 = STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO;
pub const STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR : i32 = STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES;
pub const STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR : i32 = STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO;
pub const STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR : i32 = STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO;
pub const STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR : i32 = STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO;
pub const STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR : i32 = STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES;
pub const STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR : i32 = STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES;
pub const STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR : i32 = STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO;
pub const STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT : i32 = STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES;
pub const STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR : i32 = STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO;
pub const STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR : i32 = STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO;
pub const STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR : i32 = STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO;
pub const STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR : i32 = STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2;
pub const STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR : i32 = STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2;
pub const STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR : i32 = STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2;
pub const STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR : i32 = STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2;
pub const STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR : i32 = STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2;
pub const STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR : i32 = STRUCTURE_TYPE_SUBPASS_BEGIN_INFO;
pub const STRUCTURE_TYPE_SUBPASS_END_INFO_KHR : i32 = STRUCTURE_TYPE_SUBPASS_END_INFO;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO;
pub const STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR : i32 = STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES;
pub const STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR : i32 = STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES;
pub const STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR : i32 = STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO;
pub const STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR : i32 = STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO;
pub const STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR : i32 = STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR;
pub const STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR : i32 = STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS;
pub const STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR : i32 = STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES;
pub const STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT : i32 = STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO;
pub const STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR : i32 = STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2;
pub const STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR : i32 = STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2;
pub const STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR : i32 = STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2;
pub const STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR : i32 = STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2;
pub const STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR : i32 = STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2;
pub const STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR : i32 = STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO;
pub const STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR : i32 = STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO;
pub const STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR : i32 = STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO;
pub const STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR : i32 = STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO;
pub const STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR : i32 = STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES;
pub const STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR : i32 = STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES;
pub const STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR : i32 = STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO;
pub const STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR : i32 = STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO;
pub const STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT : i32 = STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES;
pub const STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT : i32 = STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO;
pub const STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT : i32 = STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT;
pub const STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV : i32 = STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_KHR;
pub const STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV : i32 = STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES;
pub const STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR : i32 = STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES;
pub const STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR : i32 = STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES;
pub const STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR : i32 = STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO;
pub const STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR : i32 = STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO;
pub const STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR : i32 = STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO;
pub const STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR : i32 = STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO;
pub const STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL : i32 = STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES;
pub const STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR : i32 = STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT;
pub const STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR : i32 = STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT;
pub const STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT : i32 = STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO;
pub const STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT : i32 = STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES;
pub const STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR : i32 = STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO;
pub const STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR : i32 = STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO;
pub const STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR : i32 = STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO;
pub const STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR : i32 = STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO;
pub const STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT : i32 = STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES;
pub const STRUCTURE_TYPE_MAX_ENUM : i32 = 0x7FFFFFF;
pub type SystemAllocationScope = i32;
pub const SYSTEM_ALLOCATION_SCOPE_COMMAND : i32 = 0;
pub const SYSTEM_ALLOCATION_SCOPE_OBJECT : i32 = 1;
pub const SYSTEM_ALLOCATION_SCOPE_CACHE : i32 = 2;
pub const SYSTEM_ALLOCATION_SCOPE_DEVICE : i32 = 3;
pub const SYSTEM_ALLOCATION_SCOPE_INSTANCE : i32 = 4;
pub const SYSTEM_ALLOCATION_SCOPE_MAX_ENUM : i32 = 0x7FFFFFF;
pub type InternalAllocationType = i32;
pub const INTERNAL_ALLOCATION_TYPE_EXECUTABLE : i32 = 0;
pub const INTERNAL_ALLOCATION_TYPE_MAX_ENUM : i32 = 0x7FFFFFF;
pub type Format = i32;
pub const FORMAT_UNDEFINED : i32 = 0;
pub const FORMAT_R4G4_UNORM_PACK8 : i32 = 1;
pub const FORMAT_R4G4B4A4_UNORM_PACK16 : i32 = 2;
pub const FORMAT_B4G4R4A4_UNORM_PACK16 : i32 = 3;
pub const FORMAT_R5G6B5_UNORM_PACK16 : i32 = 4;
pub const FORMAT_B5G6R5_UNORM_PACK16 : i32 = 5;
pub const FORMAT_R5G5B5A1_UNORM_PACK16 : i32 = 6;
pub const FORMAT_B5G5R5A1_UNORM_PACK16 : i32 = 7;
pub const FORMAT_A1R5G5B5_UNORM_PACK16 : i32 = 8;
pub const FORMAT_R8_UNORM : i32 = 9;
pub const FORMAT_R8_SNORM : i32 = 10;
pub const FORMAT_R8_USCALED : i32 = 11;
pub const FORMAT_R8_SSCALED : i32 = 12;
pub const FORMAT_R8_UINT : i32 = 13;
pub const FORMAT_R8_SINT : i32 = 14;
pub const FORMAT_R8_SRGB : i32 = 15;
pub const FORMAT_R8G8_UNORM : i32 = 16;
pub const FORMAT_R8G8_SNORM : i32 = 17;
pub const FORMAT_R8G8_USCALED : i32 = 18;
pub const FORMAT_R8G8_SSCALED : i32 = 19;
pub const FORMAT_R8G8_UINT : i32 = 20;
pub const FORMAT_R8G8_SINT : i32 = 21;
pub const FORMAT_R8G8_SRGB : i32 = 22;
pub const FORMAT_R8G8B8_UNORM : i32 = 23;
pub const FORMAT_R8G8B8_SNORM : i32 = 24;
pub const FORMAT_R8G8B8_USCALED : i32 = 25;
pub const FORMAT_R8G8B8_SSCALED : i32 = 26;
pub const FORMAT_R8G8B8_UINT : i32 = 27;
pub const FORMAT_R8G8B8_SINT : i32 = 28;
pub const FORMAT_R8G8B8_SRGB : i32 = 29;
pub const FORMAT_B8G8R8_UNORM : i32 = 30;
pub const FORMAT_B8G8R8_SNORM : i32 = 31;
pub const FORMAT_B8G8R8_USCALED : i32 = 32;
pub const FORMAT_B8G8R8_SSCALED : i32 = 33;
pub const FORMAT_B8G8R8_UINT : i32 = 34;
pub const FORMAT_B8G8R8_SINT : i32 = 35;
pub const FORMAT_B8G8R8_SRGB : i32 = 36;
pub const FORMAT_R8G8B8A8_UNORM : i32 = 37;
pub const FORMAT_R8G8B8A8_SNORM : i32 = 38;
pub const FORMAT_R8G8B8A8_USCALED : i32 = 39;
pub const FORMAT_R8G8B8A8_SSCALED : i32 = 40;
pub const FORMAT_R8G8B8A8_UINT : i32 = 41;
pub const FORMAT_R8G8B8A8_SINT : i32 = 42;
pub const FORMAT_R8G8B8A8_SRGB : i32 = 43;
pub const FORMAT_B8G8R8A8_UNORM : i32 = 44;
pub const FORMAT_B8G8R8A8_SNORM : i32 = 45;
pub const FORMAT_B8G8R8A8_USCALED : i32 = 46;
pub const FORMAT_B8G8R8A8_SSCALED : i32 = 47;
pub const FORMAT_B8G8R8A8_UINT : i32 = 48;
pub const FORMAT_B8G8R8A8_SINT : i32 = 49;
pub const FORMAT_B8G8R8A8_SRGB : i32 = 50;
pub const FORMAT_A8B8G8R8_UNORM_PACK32 : i32 = 51;
pub const FORMAT_A8B8G8R8_SNORM_PACK32 : i32 = 52;
pub const FORMAT_A8B8G8R8_USCALED_PACK32 : i32 = 53;
pub const FORMAT_A8B8G8R8_SSCALED_PACK32 : i32 = 54;
pub const FORMAT_A8B8G8R8_UINT_PACK32 : i32 = 55;
pub const FORMAT_A8B8G8R8_SINT_PACK32 : i32 = 56;
pub const FORMAT_A8B8G8R8_SRGB_PACK32 : i32 = 57;
pub const FORMAT_A2R10G10B10_UNORM_PACK32 : i32 = 58;
pub const FORMAT_A2R10G10B10_SNORM_PACK32 : i32 = 59;
pub const FORMAT_A2R10G10B10_USCALED_PACK32 : i32 = 60;
pub const FORMAT_A2R10G10B10_SSCALED_PACK32 : i32 = 61;
pub const FORMAT_A2R10G10B10_UINT_PACK32 : i32 = 62;
pub const FORMAT_A2R10G10B10_SINT_PACK32 : i32 = 63;
pub const FORMAT_A2B10G10R10_UNORM_PACK32 : i32 = 64;
pub const FORMAT_A2B10G10R10_SNORM_PACK32 : i32 = 65;
pub const FORMAT_A2B10G10R10_USCALED_PACK32 : i32 = 66;
pub const FORMAT_A2B10G10R10_SSCALED_PACK32 : i32 = 67;
pub const FORMAT_A2B10G10R10_UINT_PACK32 : i32 = 68;
pub const FORMAT_A2B10G10R10_SINT_PACK32 : i32 = 69;
pub const FORMAT_R16_UNORM : i32 = 70;
pub const FORMAT_R16_SNORM : i32 = 71;
pub const FORMAT_R16_USCALED : i32 = 72;
pub const FORMAT_R16_SSCALED : i32 = 73;
pub const FORMAT_R16_UINT : i32 = 74;
pub const FORMAT_R16_SINT : i32 = 75;
pub const FORMAT_R16_SFLOAT : i32 = 76;
pub const FORMAT_R16G16_UNORM : i32 = 77;
pub const FORMAT_R16G16_SNORM : i32 = 78;
pub const FORMAT_R16G16_USCALED : i32 = 79;
pub const FORMAT_R16G16_SSCALED : i32 = 80;
pub const FORMAT_R16G16_UINT : i32 = 81;
pub const FORMAT_R16G16_SINT : i32 = 82;
pub const FORMAT_R16G16_SFLOAT : i32 = 83;
pub const FORMAT_R16G16B16_UNORM : i32 = 84;
pub const FORMAT_R16G16B16_SNORM : i32 = 85;
pub const FORMAT_R16G16B16_USCALED : i32 = 86;
pub const FORMAT_R16G16B16_SSCALED : i32 = 87;
pub const FORMAT_R16G16B16_UINT : i32 = 88;
pub const FORMAT_R16G16B16_SINT : i32 = 89;
pub const FORMAT_R16G16B16_SFLOAT : i32 = 90;
pub const FORMAT_R16G16B16A16_UNORM : i32 = 91;
pub const FORMAT_R16G16B16A16_SNORM : i32 = 92;
pub const FORMAT_R16G16B16A16_USCALED : i32 = 93;
pub const FORMAT_R16G16B16A16_SSCALED : i32 = 94;
pub const FORMAT_R16G16B16A16_UINT : i32 = 95;
pub const FORMAT_R16G16B16A16_SINT : i32 = 96;
pub const FORMAT_R16G16B16A16_SFLOAT : i32 = 97;
pub const FORMAT_R32_UINT : i32 = 98;
pub const FORMAT_R32_SINT : i32 = 99;
pub const FORMAT_R32_SFLOAT : i32 = 100;
pub const FORMAT_R32G32_UINT : i32 = 101;
pub const FORMAT_R32G32_SINT : i32 = 102;
pub const FORMAT_R32G32_SFLOAT : i32 = 103;
pub const FORMAT_R32G32B32_UINT : i32 = 104;
pub const FORMAT_R32G32B32_SINT : i32 = 105;
pub const FORMAT_R32G32B32_SFLOAT : i32 = 106;
pub const FORMAT_R32G32B32A32_UINT : i32 = 107;
pub const FORMAT_R32G32B32A32_SINT : i32 = 108;
pub const FORMAT_R32G32B32A32_SFLOAT : i32 = 109;
pub const FORMAT_R64_UINT : i32 = 110;
pub const FORMAT_R64_SINT : i32 = 111;
pub const FORMAT_R64_SFLOAT : i32 = 112;
pub const FORMAT_R64G64_UINT : i32 = 113;
pub const FORMAT_R64G64_SINT : i32 = 114;
pub const FORMAT_R64G64_SFLOAT : i32 = 115;
pub const FORMAT_R64G64B64_UINT : i32 = 116;
pub const FORMAT_R64G64B64_SINT : i32 = 117;
pub const FORMAT_R64G64B64_SFLOAT : i32 = 118;
pub const FORMAT_R64G64B64A64_UINT : i32 = 119;
pub const FORMAT_R64G64B64A64_SINT : i32 = 120;
pub const FORMAT_R64G64B64A64_SFLOAT : i32 = 121;
pub const FORMAT_B10G11R11_UFLOAT_PACK32 : i32 = 122;
pub const FORMAT_E5B9G9R9_UFLOAT_PACK32 : i32 = 123;
pub const FORMAT_D16_UNORM : i32 = 124;
pub const FORMAT_X8_D24_UNORM_PACK32 : i32 = 125;
pub const FORMAT_D32_SFLOAT : i32 = 126;
pub const FORMAT_S8_UINT : i32 = 127;
pub const FORMAT_D16_UNORM_S8_UINT : i32 = 128;
pub const FORMAT_D24_UNORM_S8_UINT : i32 = 129;
pub const FORMAT_D32_SFLOAT_S8_UINT : i32 = 130;
pub const FORMAT_BC1_RGB_UNORM_BLOCK : i32 = 131;
pub const FORMAT_BC1_RGB_SRGB_BLOCK : i32 = 132;
pub const FORMAT_BC1_RGBA_UNORM_BLOCK : i32 = 133;
pub const FORMAT_BC1_RGBA_SRGB_BLOCK : i32 = 134;
pub const FORMAT_BC2_UNORM_BLOCK : i32 = 135;
pub const FORMAT_BC2_SRGB_BLOCK : i32 = 136;
pub const FORMAT_BC3_UNORM_BLOCK : i32 = 137;
pub const FORMAT_BC3_SRGB_BLOCK : i32 = 138;
pub const FORMAT_BC4_UNORM_BLOCK : i32 = 139;
pub const FORMAT_BC4_SNORM_BLOCK : i32 = 140;
pub const FORMAT_BC5_UNORM_BLOCK : i32 = 141;
pub const FORMAT_BC5_SNORM_BLOCK : i32 = 142;
pub const FORMAT_BC6H_UFLOAT_BLOCK : i32 = 143;
pub const FORMAT_BC6H_SFLOAT_BLOCK : i32 = 144;
pub const FORMAT_BC7_UNORM_BLOCK : i32 = 145;
pub const FORMAT_BC7_SRGB_BLOCK : i32 = 146;
pub const FORMAT_ETC2_R8G8B8_UNORM_BLOCK : i32 = 147;
pub const FORMAT_ETC2_R8G8B8_SRGB_BLOCK : i32 = 148;
pub const FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK : i32 = 149;
pub const FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK : i32 = 150;
pub const FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK : i32 = 151;
pub const FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK : i32 = 152;
pub const FORMAT_EAC_R11_UNORM_BLOCK : i32 = 153;
pub const FORMAT_EAC_R11_SNORM_BLOCK : i32 = 154;
pub const FORMAT_EAC_R11G11_UNORM_BLOCK : i32 = 155;
pub const FORMAT_EAC_R11G11_SNORM_BLOCK : i32 = 156;
pub const FORMAT_ASTC_4x4_UNORM_BLOCK : i32 = 157;
pub const FORMAT_ASTC_4x4_SRGB_BLOCK : i32 = 158;
pub const FORMAT_ASTC_5x4_UNORM_BLOCK : i32 = 159;
pub const FORMAT_ASTC_5x4_SRGB_BLOCK : i32 = 160;
pub const FORMAT_ASTC_5x5_UNORM_BLOCK : i32 = 161;
pub const FORMAT_ASTC_5x5_SRGB_BLOCK : i32 = 162;
pub const FORMAT_ASTC_6x5_UNORM_BLOCK : i32 = 163;
pub const FORMAT_ASTC_6x5_SRGB_BLOCK : i32 = 164;
pub const FORMAT_ASTC_6x6_UNORM_BLOCK : i32 = 165;
pub const FORMAT_ASTC_6x6_SRGB_BLOCK : i32 = 166;
pub const FORMAT_ASTC_8x5_UNORM_BLOCK : i32 = 167;
pub const FORMAT_ASTC_8x5_SRGB_BLOCK : i32 = 168;
pub const FORMAT_ASTC_8x6_UNORM_BLOCK : i32 = 169;
pub const FORMAT_ASTC_8x6_SRGB_BLOCK : i32 = 170;
pub const FORMAT_ASTC_8x8_UNORM_BLOCK : i32 = 171;
pub const FORMAT_ASTC_8x8_SRGB_BLOCK : i32 = 172;
pub const FORMAT_ASTC_10x5_UNORM_BLOCK : i32 = 173;
pub const FORMAT_ASTC_10x5_SRGB_BLOCK : i32 = 174;
pub const FORMAT_ASTC_10x6_UNORM_BLOCK : i32 = 175;
pub const FORMAT_ASTC_10x6_SRGB_BLOCK : i32 = 176;
pub const FORMAT_ASTC_10x8_UNORM_BLOCK : i32 = 177;
pub const FORMAT_ASTC_10x8_SRGB_BLOCK : i32 = 178;
pub const FORMAT_ASTC_10x10_UNORM_BLOCK : i32 = 179;
pub const FORMAT_ASTC_10x10_SRGB_BLOCK : i32 = 180;
pub const FORMAT_ASTC_12x10_UNORM_BLOCK : i32 = 181;
pub const FORMAT_ASTC_12x10_SRGB_BLOCK : i32 = 182;
pub const FORMAT_ASTC_12x12_UNORM_BLOCK : i32 = 183;
pub const FORMAT_ASTC_12x12_SRGB_BLOCK : i32 = 184;
pub const FORMAT_G8B8G8R8_422_UNORM : i32 = 1000156000;
pub const FORMAT_B8G8R8G8_422_UNORM : i32 = 1000156001;
pub const FORMAT_G8_B8_R8_3PLANE_420_UNORM : i32 = 1000156002;
pub const FORMAT_G8_B8R8_2PLANE_420_UNORM : i32 = 1000156003;
pub const FORMAT_G8_B8_R8_3PLANE_422_UNORM : i32 = 1000156004;
pub const FORMAT_G8_B8R8_2PLANE_422_UNORM : i32 = 1000156005;
pub const FORMAT_G8_B8_R8_3PLANE_444_UNORM : i32 = 1000156006;
pub const FORMAT_R10X6_UNORM_PACK16 : i32 = 1000156007;
pub const FORMAT_R10X6G10X6_UNORM_2PACK16 : i32 = 1000156008;
pub const FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 : i32 = 1000156009;
pub const FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 : i32 = 1000156010;
pub const FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 : i32 = 1000156011;
pub const FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 : i32 = 1000156012;
pub const FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 : i32 = 1000156013;
pub const FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 : i32 = 1000156014;
pub const FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 : i32 = 1000156015;
pub const FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 : i32 = 1000156016;
pub const FORMAT_R12X4_UNORM_PACK16 : i32 = 1000156017;
pub const FORMAT_R12X4G12X4_UNORM_2PACK16 : i32 = 1000156018;
pub const FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 : i32 = 1000156019;
pub const FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 : i32 = 1000156020;
pub const FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 : i32 = 1000156021;
pub const FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 : i32 = 1000156022;
pub const FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 : i32 = 1000156023;
pub const FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 : i32 = 1000156024;
pub const FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 : i32 = 1000156025;
pub const FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 : i32 = 1000156026;
pub const FORMAT_G16B16G16R16_422_UNORM : i32 = 1000156027;
pub const FORMAT_B16G16R16G16_422_UNORM : i32 = 1000156028;
pub const FORMAT_G16_B16_R16_3PLANE_420_UNORM : i32 = 1000156029;
pub const FORMAT_G16_B16R16_2PLANE_420_UNORM : i32 = 1000156030;
pub const FORMAT_G16_B16_R16_3PLANE_422_UNORM : i32 = 1000156031;
pub const FORMAT_G16_B16R16_2PLANE_422_UNORM : i32 = 1000156032;
pub const FORMAT_G16_B16_R16_3PLANE_444_UNORM : i32 = 1000156033;
pub const FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG : i32 = 1000054000;
pub const FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG : i32 = 1000054001;
pub const FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG : i32 = 1000054002;
pub const FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG : i32 = 1000054003;
pub const FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG : i32 = 1000054004;
pub const FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG : i32 = 1000054005;
pub const FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG : i32 = 1000054006;
pub const FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG : i32 = 1000054007;
pub const FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT : i32 = 1000066000;
pub const FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT : i32 = 1000066001;
pub const FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT : i32 = 1000066002;
pub const FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT : i32 = 1000066003;
pub const FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT : i32 = 1000066004;
pub const FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT : i32 = 1000066005;
pub const FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT : i32 = 1000066006;
pub const FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT : i32 = 1000066007;
pub const FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT : i32 = 1000066008;
pub const FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT : i32 = 1000066009;
pub const FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT : i32 = 1000066010;
pub const FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT : i32 = 1000066011;
pub const FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT : i32 = 1000066012;
pub const FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT : i32 = 1000066013;
pub const FORMAT_G8B8G8R8_422_UNORM_KHR : i32 = FORMAT_G8B8G8R8_422_UNORM;
pub const FORMAT_B8G8R8G8_422_UNORM_KHR : i32 = FORMAT_B8G8R8G8_422_UNORM;
pub const FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR : i32 = FORMAT_G8_B8_R8_3PLANE_420_UNORM;
pub const FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR : i32 = FORMAT_G8_B8R8_2PLANE_420_UNORM;
pub const FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR : i32 = FORMAT_G8_B8_R8_3PLANE_422_UNORM;
pub const FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR : i32 = FORMAT_G8_B8R8_2PLANE_422_UNORM;
pub const FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR : i32 = FORMAT_G8_B8_R8_3PLANE_444_UNORM;
pub const FORMAT_R10X6_UNORM_PACK16_KHR : i32 = FORMAT_R10X6_UNORM_PACK16;
pub const FORMAT_R10X6G10X6_UNORM_2PACK16_KHR : i32 = FORMAT_R10X6G10X6_UNORM_2PACK16;
pub const FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR : i32 = FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16;
pub const FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR : i32 = FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16;
pub const FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR : i32 = FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16;
pub const FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR : i32 = FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16;
pub const FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR : i32 = FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16;
pub const FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR : i32 = FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16;
pub const FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR : i32 = FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16;
pub const FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR : i32 = FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16;
pub const FORMAT_R12X4_UNORM_PACK16_KHR : i32 = FORMAT_R12X4_UNORM_PACK16;
pub const FORMAT_R12X4G12X4_UNORM_2PACK16_KHR : i32 = FORMAT_R12X4G12X4_UNORM_2PACK16;
pub const FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR : i32 = FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16;
pub const FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR : i32 = FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16;
pub const FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR : i32 = FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16;
pub const FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR : i32 = FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16;
pub const FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR : i32 = FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16;
pub const FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR : i32 = FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16;
pub const FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR : i32 = FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16;
pub const FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR : i32 = FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16;
pub const FORMAT_G16B16G16R16_422_UNORM_KHR : i32 = FORMAT_G16B16G16R16_422_UNORM;
pub const FORMAT_B16G16R16G16_422_UNORM_KHR : i32 = FORMAT_B16G16R16G16_422_UNORM;
pub const FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR : i32 = FORMAT_G16_B16_R16_3PLANE_420_UNORM;
pub const FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR : i32 = FORMAT_G16_B16R16_2PLANE_420_UNORM;
pub const FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR : i32 = FORMAT_G16_B16_R16_3PLANE_422_UNORM;
pub const FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR : i32 = FORMAT_G16_B16R16_2PLANE_422_UNORM;
pub const FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR : i32 = FORMAT_G16_B16_R16_3PLANE_444_UNORM;
pub const FORMAT_MAX_ENUM : i32 = 0x7FFFFFF;
pub type ImageType = i32;
pub const IMAGE_TYPE_1D : i32 = 0;
pub const IMAGE_TYPE_2D : i32 = 1;
pub const IMAGE_TYPE_3D : i32 = 2;
pub const IMAGE_TYPE_MAX_ENUM : i32 = 0x7FFFFFF;
pub type ImageTiling = i32;
pub const IMAGE_TILING_OPTIMAL : i32 = 0;
pub const IMAGE_TILING_LINEAR : i32 = 1;
pub const IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT : i32 = 1000158000;
pub const IMAGE_TILING_MAX_ENUM : i32 = 0x7FFFFFF;
pub type PhysicalDeviceType = i32;
pub const PHYSICAL_DEVICE_TYPE_OTHER : i32 = 0;
pub const PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU : i32 = 1;
pub const PHYSICAL_DEVICE_TYPE_DISCRETE_GPU : i32 = 2;
pub const PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU : i32 = 3;
pub const PHYSICAL_DEVICE_TYPE_CPU : i32 = 4;
pub const PHYSICAL_DEVICE_TYPE_MAX_ENUM : i32 = 0x7FFFFFF;
pub type QueryType = i32;
pub const QUERY_TYPE_OCCLUSION : i32 = 0;
pub const QUERY_TYPE_PIPELINE_STATISTICS : i32 = 1;
pub const QUERY_TYPE_TIMESTAMP : i32 = 2;
pub const QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT : i32 = 1000028004;
pub const QUERY_TYPE_PERFORMANCE_QUERY_KHR : i32 = 1000116000;
pub const QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR : i32 = 1000165000;
pub const QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR : i32 = 1000150000;
pub const QUERY_TYPE_PERFORMANCE_QUERY_INTEL : i32 = 1000210000;
pub const QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV : i32 = QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR;
pub const QUERY_TYPE_MAX_ENUM : i32 = 0x7FFFFFF;
pub type SharingMode = i32;
pub const SHARING_MODE_EXCLUSIVE : i32 = 0;
pub const SHARING_MODE_CONCURRENT : i32 = 1;
pub const SHARING_MODE_MAX_ENUM : i32 = 0x7FFFFFF;
pub type ImageLayout = i32;
pub const IMAGE_LAYOUT_UNDEFINED : i32 = 0;
pub const IMAGE_LAYOUT_GENERAL : i32 = 1;
pub const IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL : i32 = 2;
pub const IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL : i32 = 3;
pub const IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL : i32 = 4;
pub const IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL : i32 = 5;
pub const IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL : i32 = 6;
pub const IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL : i32 = 7;
pub const IMAGE_LAYOUT_PREINITIALIZED : i32 = 8;
pub const IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL : i32 = 1000117000;
pub const IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL : i32 = 1000117001;
pub const IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL : i32 = 1000241000;
pub const IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL : i32 = 1000241001;
pub const IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL : i32 = 1000241002;
pub const IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL : i32 = 1000241003;
pub const IMAGE_LAYOUT_PRESENT_SRC_KHR : i32 = 1000001002;
pub const IMAGE_LAYOUT_SHARED_PRESENT_KHR : i32 = 1000111000;
pub const IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV : i32 = 1000164003;
pub const IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT : i32 = 1000218000;
pub const IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR : i32 = IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL;
pub const IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR : i32 = IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL;
pub const IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR : i32 = IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL;
pub const IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR : i32 = IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL;
pub const IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR : i32 = IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL;
pub const IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR : i32 = IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL;
pub const IMAGE_LAYOUT_MAX_ENUM : i32 = 0x7FFFFFF;
pub type ImageViewType = i32;
pub const IMAGE_VIEW_TYPE_1D : i32 = 0;
pub const IMAGE_VIEW_TYPE_2D : i32 = 1;
pub const IMAGE_VIEW_TYPE_3D : i32 = 2;
pub const IMAGE_VIEW_TYPE_CUBE : i32 = 3;
pub const IMAGE_VIEW_TYPE_1D_ARRAY : i32 = 4;
pub const IMAGE_VIEW_TYPE_2D_ARRAY : i32 = 5;
pub const IMAGE_VIEW_TYPE_CUBE_ARRAY : i32 = 6;
pub const IMAGE_VIEW_TYPE_MAX_ENUM : i32 = 0x7FFFFFF;
pub type ComponentSwizzle = i32;
pub const COMPONENT_SWIZZLE_IDENTITY : i32 = 0;
pub const COMPONENT_SWIZZLE_ZERO : i32 = 1;
pub const COMPONENT_SWIZZLE_ONE : i32 = 2;
pub const COMPONENT_SWIZZLE_R : i32 = 3;
pub const COMPONENT_SWIZZLE_G : i32 = 4;
pub const COMPONENT_SWIZZLE_B : i32 = 5;
pub const COMPONENT_SWIZZLE_A : i32 = 6;
pub const COMPONENT_SWIZZLE_MAX_ENUM : i32 = 0x7FFFFFF;
pub type VertexInputRate = i32;
pub const VERTEX_INPUT_RATE_VERTEX : i32 = 0;
pub const VERTEX_INPUT_RATE_INSTANCE : i32 = 1;
pub const VERTEX_INPUT_RATE_MAX_ENUM : i32 = 0x7FFFFFF;
pub type PrimitiveTopology = i32;
pub const PRIMITIVE_TOPOLOGY_POINT_LIST : i32 = 0;
pub const PRIMITIVE_TOPOLOGY_LINE_LIST : i32 = 1;
pub const PRIMITIVE_TOPOLOGY_LINE_STRIP : i32 = 2;
pub const PRIMITIVE_TOPOLOGY_TRIANGLE_LIST : i32 = 3;
pub const PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP : i32 = 4;
pub const PRIMITIVE_TOPOLOGY_TRIANGLE_FAN : i32 = 5;
pub const PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY : i32 = 6;
pub const PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY : i32 = 7;
pub const PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY : i32 = 8;
pub const PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY : i32 = 9;
pub const PRIMITIVE_TOPOLOGY_PATCH_LIST : i32 = 10;
pub const PRIMITIVE_TOPOLOGY_MAX_ENUM : i32 = 0x7FFFFFF;
pub type PolygonMode = i32;
pub const POLYGON_MODE_FILL : i32 = 0;
pub const POLYGON_MODE_LINE : i32 = 1;
pub const POLYGON_MODE_POINT : i32 = 2;
pub const POLYGON_MODE_FILL_RECTANGLE_NV : i32 = 1000153000;
pub const POLYGON_MODE_MAX_ENUM : i32 = 0x7FFFFFF;
pub type FrontFace = i32;
pub const FRONT_FACE_COUNTER_CLOCKWISE : i32 = 0;
pub const FRONT_FACE_CLOCKWISE : i32 = 1;
pub const FRONT_FACE_MAX_ENUM : i32 = 0x7FFFFFF;
pub type CompareOp = i32;
pub const COMPARE_OP_NEVER : i32 = 0;
pub const COMPARE_OP_LESS : i32 = 1;
pub const COMPARE_OP_EQUAL : i32 = 2;
pub const COMPARE_OP_LESS_OR_EQUAL : i32 = 3;
pub const COMPARE_OP_GREATER : i32 = 4;
pub const COMPARE_OP_NOT_EQUAL : i32 = 5;
pub const COMPARE_OP_GREATER_OR_EQUAL : i32 = 6;
pub const COMPARE_OP_ALWAYS : i32 = 7;
pub const COMPARE_OP_MAX_ENUM : i32 = 0x7FFFFFF;
pub type StencilOp = i32;
pub const STENCIL_OP_KEEP : i32 = 0;
pub const STENCIL_OP_ZERO : i32 = 1;
pub const STENCIL_OP_REPLACE : i32 = 2;
pub const STENCIL_OP_INCREMENT_AND_CLAMP : i32 = 3;
pub const STENCIL_OP_DECREMENT_AND_CLAMP : i32 = 4;
pub const STENCIL_OP_INVERT : i32 = 5;
pub const STENCIL_OP_INCREMENT_AND_WRAP : i32 = 6;
pub const STENCIL_OP_DECREMENT_AND_WRAP : i32 = 7;
pub const STENCIL_OP_MAX_ENUM : i32 = 0x7FFFFFF;
pub type LogicOp = i32;
pub const LOGIC_OP_CLEAR : i32 = 0;
pub const LOGIC_OP_AND : i32 = 1;
pub const LOGIC_OP_AND_REVERSE : i32 = 2;
pub const LOGIC_OP_COPY : i32 = 3;
pub const LOGIC_OP_AND_INVERTED : i32 = 4;
pub const LOGIC_OP_NO_OP : i32 = 5;
pub const LOGIC_OP_XOR : i32 = 6;
pub const LOGIC_OP_OR : i32 = 7;
pub const LOGIC_OP_NOR : i32 = 8;
pub const LOGIC_OP_EQUIVALENT : i32 = 9;
pub const LOGIC_OP_INVERT : i32 = 10;
pub const LOGIC_OP_OR_REVERSE : i32 = 11;
pub const LOGIC_OP_COPY_INVERTED : i32 = 12;
pub const LOGIC_OP_OR_INVERTED : i32 = 13;
pub const LOGIC_OP_NAND : i32 = 14;
pub const LOGIC_OP_SET : i32 = 15;
pub const LOGIC_OP_MAX_ENUM : i32 = 0x7FFFFFF;
pub type BlendFactor = i32;
pub const BLEND_FACTOR_ZERO : i32 = 0;
pub const BLEND_FACTOR_ONE : i32 = 1;
pub const BLEND_FACTOR_SRC_COLOR : i32 = 2;
pub const BLEND_FACTOR_ONE_MINUS_SRC_COLOR : i32 = 3;
pub const BLEND_FACTOR_DST_COLOR : i32 = 4;
pub const BLEND_FACTOR_ONE_MINUS_DST_COLOR : i32 = 5;
pub const BLEND_FACTOR_SRC_ALPHA : i32 = 6;
pub const BLEND_FACTOR_ONE_MINUS_SRC_ALPHA : i32 = 7;
pub const BLEND_FACTOR_DST_ALPHA : i32 = 8;
pub const BLEND_FACTOR_ONE_MINUS_DST_ALPHA : i32 = 9;
pub const BLEND_FACTOR_CONSTANT_COLOR : i32 = 10;
pub const BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR : i32 = 11;
pub const BLEND_FACTOR_CONSTANT_ALPHA : i32 = 12;
pub const BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA : i32 = 13;
pub const BLEND_FACTOR_SRC_ALPHA_SATURATE : i32 = 14;
pub const BLEND_FACTOR_SRC1_COLOR : i32 = 15;
pub const BLEND_FACTOR_ONE_MINUS_SRC1_COLOR : i32 = 16;
pub const BLEND_FACTOR_SRC1_ALPHA : i32 = 17;
pub const BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA : i32 = 18;
pub const BLEND_FACTOR_MAX_ENUM : i32 = 0x7FFFFFF;
pub type BlendOp = i32;
pub const BLEND_OP_ADD : i32 = 0;
pub const BLEND_OP_SUBTRACT : i32 = 1;
pub const BLEND_OP_REVERSE_SUBTRACT : i32 = 2;
pub const BLEND_OP_MIN : i32 = 3;
pub const BLEND_OP_MAX : i32 = 4;
pub const BLEND_OP_ZERO_EXT : i32 = 1000148000;
pub const BLEND_OP_SRC_EXT : i32 = 1000148001;
pub const BLEND_OP_DST_EXT : i32 = 1000148002;
pub const BLEND_OP_SRC_OVER_EXT : i32 = 1000148003;
pub const BLEND_OP_DST_OVER_EXT : i32 = 1000148004;
pub const BLEND_OP_SRC_IN_EXT : i32 = 1000148005;
pub const BLEND_OP_DST_IN_EXT : i32 = 1000148006;
pub const BLEND_OP_SRC_OUT_EXT : i32 = 1000148007;
pub const BLEND_OP_DST_OUT_EXT : i32 = 1000148008;
pub const BLEND_OP_SRC_ATOP_EXT : i32 = 1000148009;
pub const BLEND_OP_DST_ATOP_EXT : i32 = 1000148010;
pub const BLEND_OP_XOR_EXT : i32 = 1000148011;
pub const BLEND_OP_MULTIPLY_EXT : i32 = 1000148012;
pub const BLEND_OP_SCREEN_EXT : i32 = 1000148013;
pub const BLEND_OP_OVERLAY_EXT : i32 = 1000148014;
pub const BLEND_OP_DARKEN_EXT : i32 = 1000148015;
pub const BLEND_OP_LIGHTEN_EXT : i32 = 1000148016;
pub const BLEND_OP_COLORDODGE_EXT : i32 = 1000148017;
pub const BLEND_OP_COLORBURN_EXT : i32 = 1000148018;
pub const BLEND_OP_HARDLIGHT_EXT : i32 = 1000148019;
pub const BLEND_OP_SOFTLIGHT_EXT : i32 = 1000148020;
pub const BLEND_OP_DIFFERENCE_EXT : i32 = 1000148021;
pub const BLEND_OP_EXCLUSION_EXT : i32 = 1000148022;
pub const BLEND_OP_INVERT_EXT : i32 = 1000148023;
pub const BLEND_OP_INVERT_RGB_EXT : i32 = 1000148024;
pub const BLEND_OP_LINEARDODGE_EXT : i32 = 1000148025;
pub const BLEND_OP_LINEARBURN_EXT : i32 = 1000148026;
pub const BLEND_OP_VIVIDLIGHT_EXT : i32 = 1000148027;
pub const BLEND_OP_LINEARLIGHT_EXT : i32 = 1000148028;
pub const BLEND_OP_PINLIGHT_EXT : i32 = 1000148029;
pub const BLEND_OP_HARDMIX_EXT : i32 = 1000148030;
pub const BLEND_OP_HSL_HUE_EXT : i32 = 1000148031;
pub const BLEND_OP_HSL_SATURATION_EXT : i32 = 1000148032;
pub const BLEND_OP_HSL_COLOR_EXT : i32 = 1000148033;
pub const BLEND_OP_HSL_LUMINOSITY_EXT : i32 = 1000148034;
pub const BLEND_OP_PLUS_EXT : i32 = 1000148035;
pub const BLEND_OP_PLUS_CLAMPED_EXT : i32 = 1000148036;
pub const BLEND_OP_PLUS_CLAMPED_ALPHA_EXT : i32 = 1000148037;
pub const BLEND_OP_PLUS_DARKER_EXT : i32 = 1000148038;
pub const BLEND_OP_MINUS_EXT : i32 = 1000148039;
pub const BLEND_OP_MINUS_CLAMPED_EXT : i32 = 1000148040;
pub const BLEND_OP_CONTRAST_EXT : i32 = 1000148041;
pub const BLEND_OP_INVERT_OVG_EXT : i32 = 1000148042;
pub const BLEND_OP_RED_EXT : i32 = 1000148043;
pub const BLEND_OP_GREEN_EXT : i32 = 1000148044;
pub const BLEND_OP_BLUE_EXT : i32 = 1000148045;
pub const BLEND_OP_MAX_ENUM : i32 = 0x7FFFFFF;
pub type DynamicState = i32;
pub const DYNAMIC_STATE_VIEWPORT : i32 = 0;
pub const DYNAMIC_STATE_SCISSOR : i32 = 1;
pub const DYNAMIC_STATE_LINE_WIDTH : i32 = 2;
pub const DYNAMIC_STATE_DEPTH_BIAS : i32 = 3;
pub const DYNAMIC_STATE_BLEND_CONSTANTS : i32 = 4;
pub const DYNAMIC_STATE_DEPTH_BOUNDS : i32 = 5;
pub const DYNAMIC_STATE_STENCIL_COMPARE_MASK : i32 = 6;
pub const DYNAMIC_STATE_STENCIL_WRITE_MASK : i32 = 7;
pub const DYNAMIC_STATE_STENCIL_REFERENCE : i32 = 8;
pub const DYNAMIC_STATE_VIEWPORT_W_SCALING_NV : i32 = 1000087000;
pub const DYNAMIC_STATE_DISCARD_RECTANGLE_EXT : i32 = 1000099000;
pub const DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT : i32 = 1000143000;
pub const DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV : i32 = 1000164004;
pub const DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV : i32 = 1000164006;
pub const DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV : i32 = 1000205001;
pub const DYNAMIC_STATE_LINE_STIPPLE_EXT : i32 = 1000259000;
pub const DYNAMIC_STATE_MAX_ENUM : i32 = 0x7FFFFFF;
pub type Filter = i32;
pub const FILTER_NEAREST : i32 = 0;
pub const FILTER_LINEAR : i32 = 1;
pub const FILTER_CUBIC_IMG : i32 = 1000015000;
pub const FILTER_CUBIC_EXT : i32 = FILTER_CUBIC_IMG;
pub const FILTER_MAX_ENUM : i32 = 0x7FFFFFF;
pub type SamplerMipmapMode = i32;
pub const SAMPLER_MIPMAP_MODE_NEAREST : i32 = 0;
pub const SAMPLER_MIPMAP_MODE_LINEAR : i32 = 1;
pub const SAMPLER_MIPMAP_MODE_MAX_ENUM : i32 = 0x7FFFFFF;
pub type SamplerAddressMode = i32;
pub const SAMPLER_ADDRESS_MODE_REPEAT : i32 = 0;
pub const SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT : i32 = 1;
pub const SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE : i32 = 2;
pub const SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER : i32 = 3;
pub const SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE : i32 = 4;
pub const SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR : i32 = SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE;
pub const SAMPLER_ADDRESS_MODE_MAX_ENUM : i32 = 0x7FFFFFF;
pub type BorderColor = i32;
pub const BORDER_COLOR_FLOAT_TRANSPARENT_BLACK : i32 = 0;
pub const BORDER_COLOR_INT_TRANSPARENT_BLACK : i32 = 1;
pub const BORDER_COLOR_FLOAT_OPAQUE_BLACK : i32 = 2;
pub const BORDER_COLOR_INT_OPAQUE_BLACK : i32 = 3;
pub const BORDER_COLOR_FLOAT_OPAQUE_WHITE : i32 = 4;
pub const BORDER_COLOR_INT_OPAQUE_WHITE : i32 = 5;
pub const BORDER_COLOR_FLOAT_CUSTOM_EXT : i32 = 1000287003;
pub const BORDER_COLOR_INT_CUSTOM_EXT : i32 = 1000287004;
pub const BORDER_COLOR_MAX_ENUM : i32 = 0x7FFFFFF;
pub type DescriptorType = i32;
pub const DESCRIPTOR_TYPE_SAMPLER : i32 = 0;
pub const DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER : i32 = 1;
pub const DESCRIPTOR_TYPE_SAMPLED_IMAGE : i32 = 2;
pub const DESCRIPTOR_TYPE_STORAGE_IMAGE : i32 = 3;
pub const DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER : i32 = 4;
pub const DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER : i32 = 5;
pub const DESCRIPTOR_TYPE_UNIFORM_BUFFER : i32 = 6;
pub const DESCRIPTOR_TYPE_STORAGE_BUFFER : i32 = 7;
pub const DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC : i32 = 8;
pub const DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC : i32 = 9;
pub const DESCRIPTOR_TYPE_INPUT_ATTACHMENT : i32 = 10;
pub const DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT : i32 = 1000138000;
pub const DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR : i32 = 1000165000;
pub const DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV : i32 = DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR;
pub const DESCRIPTOR_TYPE_MAX_ENUM : i32 = 0x7FFFFFF;
pub type AttachmentLoadOp = i32;
pub const ATTACHMENT_LOAD_OP_LOAD : i32 = 0;
pub const ATTACHMENT_LOAD_OP_CLEAR : i32 = 1;
pub const ATTACHMENT_LOAD_OP_DONT_CARE : i32 = 2;
pub const ATTACHMENT_LOAD_OP_MAX_ENUM : i32 = 0x7FFFFFF;
pub type AttachmentStoreOp = i32;
pub const ATTACHMENT_STORE_OP_STORE : i32 = 0;
pub const ATTACHMENT_STORE_OP_DONT_CARE : i32 = 1;
pub const ATTACHMENT_STORE_OP_NONE_QCOM : i32 = 1000301000;
pub const ATTACHMENT_STORE_OP_MAX_ENUM : i32 = 0x7FFFFFF;
pub type PipelineBindPoint = i32;
pub const PIPELINE_BIND_POINT_GRAPHICS : i32 = 0;
pub const PIPELINE_BIND_POINT_COMPUTE : i32 = 1;
pub const PIPELINE_BIND_POINT_RAY_TRACING_KHR : i32 = 1000165000;
pub const PIPELINE_BIND_POINT_RAY_TRACING_NV : i32 = PIPELINE_BIND_POINT_RAY_TRACING_KHR;
pub const PIPELINE_BIND_POINT_MAX_ENUM : i32 = 0x7FFFFFF;
pub type CommandBufferLevel = i32;
pub const COMMAND_BUFFER_LEVEL_PRIMARY : i32 = 0;
pub const COMMAND_BUFFER_LEVEL_SECONDARY : i32 = 1;
pub const COMMAND_BUFFER_LEVEL_MAX_ENUM : i32 = 0x7FFFFFF;
pub type IndexType = i32;
pub const INDEX_TYPE_UINT16 : i32 = 0;
pub const INDEX_TYPE_UINT32 : i32 = 1;
pub const INDEX_TYPE_NONE_KHR : i32 = 1000165000;
pub const INDEX_TYPE_UINT8_EXT : i32 = 1000265000;
pub const INDEX_TYPE_NONE_NV : i32 = INDEX_TYPE_NONE_KHR;
pub const INDEX_TYPE_MAX_ENUM : i32 = 0x7FFFFFF;
pub type SubpassContents = i32;
pub const SUBPASS_CONTENTS_INLINE : i32 = 0;
pub const SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS : i32 = 1;
pub const SUBPASS_CONTENTS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type ObjectType = i32;
pub const OBJECT_TYPE_UNKNOWN : i32 = 0;
pub const OBJECT_TYPE_INSTANCE : i32 = 1;
pub const OBJECT_TYPE_PHYSICAL_DEVICE : i32 = 2;
pub const OBJECT_TYPE_DEVICE : i32 = 3;
pub const OBJECT_TYPE_QUEUE : i32 = 4;
pub const OBJECT_TYPE_SEMAPHORE : i32 = 5;
pub const OBJECT_TYPE_COMMAND_BUFFER : i32 = 6;
pub const OBJECT_TYPE_FENCE : i32 = 7;
pub const OBJECT_TYPE_DEVICE_MEMORY : i32 = 8;
pub const OBJECT_TYPE_BUFFER : i32 = 9;
pub const OBJECT_TYPE_IMAGE : i32 = 10;
pub const OBJECT_TYPE_EVENT : i32 = 11;
pub const OBJECT_TYPE_QUERY_POOL : i32 = 12;
pub const OBJECT_TYPE_BUFFER_VIEW : i32 = 13;
pub const OBJECT_TYPE_IMAGE_VIEW : i32 = 14;
pub const OBJECT_TYPE_SHADER_MODULE : i32 = 15;
pub const OBJECT_TYPE_PIPELINE_CACHE : i32 = 16;
pub const OBJECT_TYPE_PIPELINE_LAYOUT : i32 = 17;
pub const OBJECT_TYPE_RENDER_PASS : i32 = 18;
pub const OBJECT_TYPE_PIPELINE : i32 = 19;
pub const OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT : i32 = 20;
pub const OBJECT_TYPE_SAMPLER : i32 = 21;
pub const OBJECT_TYPE_DESCRIPTOR_POOL : i32 = 22;
pub const OBJECT_TYPE_DESCRIPTOR_SET : i32 = 23;
pub const OBJECT_TYPE_FRAMEBUFFER : i32 = 24;
pub const OBJECT_TYPE_COMMAND_POOL : i32 = 25;
pub const OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION : i32 = 1000156000;
pub const OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE : i32 = 1000085000;
pub const OBJECT_TYPE_SURFACE_KHR : i32 = 1000000000;
pub const OBJECT_TYPE_SWAPCHAIN_KHR : i32 = 1000001000;
pub const OBJECT_TYPE_DISPLAY_KHR : i32 = 1000002000;
pub const OBJECT_TYPE_DISPLAY_MODE_KHR : i32 = 1000002001;
pub const OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT : i32 = 1000011000;
pub const OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT : i32 = 1000128000;
pub const OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR : i32 = 1000165000;
pub const OBJECT_TYPE_VALIDATION_CACHE_EXT : i32 = 1000160000;
pub const OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL : i32 = 1000210000;
pub const OBJECT_TYPE_DEFERRED_OPERATION_KHR : i32 = 1000268000;
pub const OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV : i32 = 1000277000;
pub const OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT : i32 = 1000295000;
pub const OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR : i32 = OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE;
pub const OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR : i32 = OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION;
pub const OBJECT_TYPE_ACCELERATION_STRUCTURE_NV : i32 = OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR;
pub const OBJECT_TYPE_MAX_ENUM : i32 = 0x7FFFFFF;
pub type VendorId = i32;
pub const VENDOR_ID_VIV : i32 = 0x10001;
pub const VENDOR_ID_VSI : i32 = 0x10002;
pub const VENDOR_ID_KAZAN : i32 = 0x10003;
pub const VENDOR_ID_CODEPLAY : i32 = 0x10004;
pub const VENDOR_ID_MESA : i32 = 0x10005;
pub const VENDOR_ID_MAX_ENUM : i32 = 0x7FFFFFF;
pub type InstanceCreateFlags = i32;
pub type FormatFeatureFlagBits = i32;
pub const FORMAT_FEATURE_SAMPLED_IMAGE_BIT : i32 = 0x00000001;
pub const FORMAT_FEATURE_STORAGE_IMAGE_BIT : i32 = 0x00000002;
pub const FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT : i32 = 0x00000004;
pub const FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT : i32 = 0x00000008;
pub const FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT : i32 = 0x00000010;
pub const FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT : i32 = 0x00000020;
pub const FORMAT_FEATURE_VERTEX_BUFFER_BIT : i32 = 0x00000040;
pub const FORMAT_FEATURE_COLOR_ATTACHMENT_BIT : i32 = 0x00000080;
pub const FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT : i32 = 0x00000100;
pub const FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT : i32 = 0x00000200;
pub const FORMAT_FEATURE_BLIT_SRC_BIT : i32 = 0x00000400;
pub const FORMAT_FEATURE_BLIT_DST_BIT : i32 = 0x00000800;
pub const FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT : i32 = 0x00001000;
pub const FORMAT_FEATURE_TRANSFER_SRC_BIT : i32 = 0x00004000;
pub const FORMAT_FEATURE_TRANSFER_DST_BIT : i32 = 0x00008000;
pub const FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT : i32 = 0x00020000;
pub const FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT : i32 = 0x00040000;
pub const FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT : i32 = 0x00080000;
pub const FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT : i32 = 0x00100000;
pub const FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT : i32 = 0x00200000;
pub const FORMAT_FEATURE_DISJOINT_BIT : i32 = 0x00400000;
pub const FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT : i32 = 0x00800000;
pub const FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT : i32 = 0x00010000;
pub const FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG : i32 = 0x00002000;
pub const FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR : i32 = 0x20000000;
pub const FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT : i32 = 0x01000000;
pub const FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR : i32 = FORMAT_FEATURE_TRANSFER_SRC_BIT;
pub const FORMAT_FEATURE_TRANSFER_DST_BIT_KHR : i32 = FORMAT_FEATURE_TRANSFER_DST_BIT;
pub const FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT : i32 = FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT;
pub const FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR : i32 = FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT;
pub const FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR : i32 = FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT;
pub const FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR : i32 = FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT;
pub const FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR : i32 = FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT;
pub const FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR : i32 = FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT;
pub const FORMAT_FEATURE_DISJOINT_BIT_KHR : i32 = FORMAT_FEATURE_DISJOINT_BIT;
pub const FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR : i32 = FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT;
pub const FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT : i32 = FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG;
pub const FORMAT_FEATURE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type FormatFeatureFlags = i32;
pub type ImageUsageFlagBits = i32;
pub const IMAGE_USAGE_TRANSFER_SRC_BIT : i32 = 0x00000001;
pub const IMAGE_USAGE_TRANSFER_DST_BIT : i32 = 0x00000002;
pub const IMAGE_USAGE_SAMPLED_BIT : i32 = 0x00000004;
pub const IMAGE_USAGE_STORAGE_BIT : i32 = 0x00000008;
pub const IMAGE_USAGE_COLOR_ATTACHMENT_BIT : i32 = 0x00000010;
pub const IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT : i32 = 0x00000020;
pub const IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT : i32 = 0x00000040;
pub const IMAGE_USAGE_INPUT_ATTACHMENT_BIT : i32 = 0x00000080;
pub const IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV : i32 = 0x00000100;
pub const IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT : i32 = 0x00000200;
pub const IMAGE_USAGE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type ImageUsageFlags = i32;
pub type ImageCreateFlagBits = i32;
pub const IMAGE_CREATE_SPARSE_BINDING_BIT : i32 = 0x00000001;
pub const IMAGE_CREATE_SPARSE_RESIDENCY_BIT : i32 = 0x00000002;
pub const IMAGE_CREATE_SPARSE_ALIASED_BIT : i32 = 0x00000004;
pub const IMAGE_CREATE_MUTABLE_FORMAT_BIT : i32 = 0x00000008;
pub const IMAGE_CREATE_CUBE_COMPATIBLE_BIT : i32 = 0x00000010;
pub const IMAGE_CREATE_ALIAS_BIT : i32 = 0x00000400;
pub const IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT : i32 = 0x00000040;
pub const IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT : i32 = 0x00000020;
pub const IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT : i32 = 0x00000080;
pub const IMAGE_CREATE_EXTENDED_USAGE_BIT : i32 = 0x00000100;
pub const IMAGE_CREATE_PROTECTED_BIT : i32 = 0x00000800;
pub const IMAGE_CREATE_DISJOINT_BIT : i32 = 0x00000200;
pub const IMAGE_CREATE_CORNER_SAMPLED_BIT_NV : i32 = 0x00002000;
pub const IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT : i32 = 0x00001000;
pub const IMAGE_CREATE_SUBSAMPLED_BIT_EXT : i32 = 0x00004000;
pub const IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR : i32 = IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT;
pub const IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR : i32 = IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT;
pub const IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR : i32 = IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT;
pub const IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR : i32 = IMAGE_CREATE_EXTENDED_USAGE_BIT;
pub const IMAGE_CREATE_DISJOINT_BIT_KHR : i32 = IMAGE_CREATE_DISJOINT_BIT;
pub const IMAGE_CREATE_ALIAS_BIT_KHR : i32 = IMAGE_CREATE_ALIAS_BIT;
pub const IMAGE_CREATE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type ImageCreateFlags = i32;
pub type SampleCountFlagBits = i32;
pub const SAMPLE_COUNT_1_BIT : i32 = 0x00000001;
pub const SAMPLE_COUNT_2_BIT : i32 = 0x00000002;
pub const SAMPLE_COUNT_4_BIT : i32 = 0x00000004;
pub const SAMPLE_COUNT_8_BIT : i32 = 0x00000008;
pub const SAMPLE_COUNT_16_BIT : i32 = 0x00000010;
pub const SAMPLE_COUNT_32_BIT : i32 = 0x00000020;
pub const SAMPLE_COUNT_64_BIT : i32 = 0x00000040;
pub const SAMPLE_COUNT_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type SampleCountFlags = i32;
pub type QueueFlagBits = i32;
pub const QUEUE_GRAPHICS_BIT : i32 = 0x00000001;
pub const QUEUE_COMPUTE_BIT : i32 = 0x00000002;
pub const QUEUE_TRANSFER_BIT : i32 = 0x00000004;
pub const QUEUE_SPARSE_BINDING_BIT : i32 = 0x00000008;
pub const QUEUE_PROTECTED_BIT : i32 = 0x00000010;
pub const QUEUE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type QueueFlags = i32;
pub type MemoryPropertyFlagBits = i32;
pub const MEMORY_PROPERTY_DEVICE_LOCAL_BIT : i32 = 0x00000001;
pub const MEMORY_PROPERTY_HOST_VISIBLE_BIT : i32 = 0x00000002;
pub const MEMORY_PROPERTY_HOST_COHERENT_BIT : i32 = 0x00000004;
pub const MEMORY_PROPERTY_HOST_CACHED_BIT : i32 = 0x00000008;
pub const MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT : i32 = 0x00000010;
pub const MEMORY_PROPERTY_PROTECTED_BIT : i32 = 0x00000020;
pub const MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD : i32 = 0x00000040;
pub const MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD : i32 = 0x00000080;
pub const MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type MemoryPropertyFlags = i32;
pub type MemoryHeapFlagBits = i32;
pub const MEMORY_HEAP_DEVICE_LOCAL_BIT : i32 = 0x00000001;
pub const MEMORY_HEAP_MULTI_INSTANCE_BIT : i32 = 0x00000002;
pub const MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR : i32 = MEMORY_HEAP_MULTI_INSTANCE_BIT;
pub const MEMORY_HEAP_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type MemoryHeapFlags = i32;
pub type DeviceCreateFlags = i32;
pub type DeviceQueueCreateFlagBits = i32;
pub const DEVICE_QUEUE_CREATE_PROTECTED_BIT : i32 = 0x00000001;
pub const DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type DeviceQueueCreateFlags = i32;
pub type PipelineStageFlagBits = i32;
pub const PIPELINE_STAGE_TOP_OF_PIPE_BIT : i32 = 0x00000001;
pub const PIPELINE_STAGE_DRAW_INDIRECT_BIT : i32 = 0x00000002;
pub const PIPELINE_STAGE_VERTEX_INPUT_BIT : i32 = 0x00000004;
pub const PIPELINE_STAGE_VERTEX_SHADER_BIT : i32 = 0x00000008;
pub const PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT : i32 = 0x00000010;
pub const PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT : i32 = 0x00000020;
pub const PIPELINE_STAGE_GEOMETRY_SHADER_BIT : i32 = 0x00000040;
pub const PIPELINE_STAGE_FRAGMENT_SHADER_BIT : i32 = 0x00000080;
pub const PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT : i32 = 0x00000100;
pub const PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT : i32 = 0x00000200;
pub const PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT : i32 = 0x00000400;
pub const PIPELINE_STAGE_COMPUTE_SHADER_BIT : i32 = 0x00000800;
pub const PIPELINE_STAGE_TRANSFER_BIT : i32 = 0x00001000;
pub const PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT : i32 = 0x00002000;
pub const PIPELINE_STAGE_HOST_BIT : i32 = 0x00004000;
pub const PIPELINE_STAGE_ALL_GRAPHICS_BIT : i32 = 0x00008000;
pub const PIPELINE_STAGE_ALL_COMMANDS_BIT : i32 = 0x00010000;
pub const PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT : i32 = 0x01000000;
pub const PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT : i32 = 0x00040000;
pub const PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR : i32 = 0x00200000;
pub const PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR : i32 = 0x02000000;
pub const PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV : i32 = 0x00400000;
pub const PIPELINE_STAGE_TASK_SHADER_BIT_NV : i32 = 0x00080000;
pub const PIPELINE_STAGE_MESH_SHADER_BIT_NV : i32 = 0x00100000;
pub const PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT : i32 = 0x00800000;
pub const PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV : i32 = 0x00020000;
pub const PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV : i32 = PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR;
pub const PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV : i32 = PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR;
pub const PIPELINE_STAGE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type PipelineStageFlags = i32;
pub type MemoryMapFlags = i32;
pub type ImageAspectFlagBits = i32;
pub const IMAGE_ASPECT_COLOR_BIT : i32 = 0x00000001;
pub const IMAGE_ASPECT_DEPTH_BIT : i32 = 0x00000002;
pub const IMAGE_ASPECT_STENCIL_BIT : i32 = 0x00000004;
pub const IMAGE_ASPECT_METADATA_BIT : i32 = 0x00000008;
pub const IMAGE_ASPECT_PLANE_0_BIT : i32 = 0x00000010;
pub const IMAGE_ASPECT_PLANE_1_BIT : i32 = 0x00000020;
pub const IMAGE_ASPECT_PLANE_2_BIT : i32 = 0x00000040;
pub const IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT : i32 = 0x00000080;
pub const IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT : i32 = 0x00000100;
pub const IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT : i32 = 0x00000200;
pub const IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT : i32 = 0x00000400;
pub const IMAGE_ASPECT_PLANE_0_BIT_KHR : i32 = IMAGE_ASPECT_PLANE_0_BIT;
pub const IMAGE_ASPECT_PLANE_1_BIT_KHR : i32 = IMAGE_ASPECT_PLANE_1_BIT;
pub const IMAGE_ASPECT_PLANE_2_BIT_KHR : i32 = IMAGE_ASPECT_PLANE_2_BIT;
pub const IMAGE_ASPECT_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type ImageAspectFlags = i32;
pub type SparseImageFormatFlagBits = i32;
pub const SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT : i32 = 0x00000001;
pub const SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT : i32 = 0x00000002;
pub const SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT : i32 = 0x00000004;
pub const SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type SparseImageFormatFlags = i32;
pub type SparseMemoryBindFlagBits = i32;
pub const SPARSE_MEMORY_BIND_METADATA_BIT : i32 = 0x00000001;
pub const SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type SparseMemoryBindFlags = i32;
pub type FenceCreateFlagBits = i32;
pub const FENCE_CREATE_SIGNALED_BIT : i32 = 0x00000001;
pub const FENCE_CREATE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type FenceCreateFlags = i32;
pub type SemaphoreCreateFlags = i32;
pub type EventCreateFlags = i32;
pub type QueryPoolCreateFlags = i32;
pub type QueryPipelineStatisticFlagBits = i32;
pub const QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT : i32 = 0x00000001;
pub const QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT : i32 = 0x00000002;
pub const QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT : i32 = 0x00000004;
pub const QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT : i32 = 0x00000008;
pub const QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT : i32 = 0x00000010;
pub const QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT : i32 = 0x00000020;
pub const QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT : i32 = 0x00000040;
pub const QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT : i32 = 0x00000080;
pub const QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT : i32 = 0x00000100;
pub const QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT : i32 = 0x00000200;
pub const QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT : i32 = 0x00000400;
pub const QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type QueryPipelineStatisticFlags = i32;
pub type QueryResultFlagBits = i32;
pub const QUERY_RESULT_64_BIT : i32 = 0x00000001;
pub const QUERY_RESULT_WAIT_BIT : i32 = 0x00000002;
pub const QUERY_RESULT_WITH_AVAILABILITY_BIT : i32 = 0x00000004;
pub const QUERY_RESULT_PARTIAL_BIT : i32 = 0x00000008;
pub const QUERY_RESULT_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type QueryResultFlags = i32;
pub type BufferCreateFlagBits = i32;
pub const BUFFER_CREATE_SPARSE_BINDING_BIT : i32 = 0x00000001;
pub const BUFFER_CREATE_SPARSE_RESIDENCY_BIT : i32 = 0x00000002;
pub const BUFFER_CREATE_SPARSE_ALIASED_BIT : i32 = 0x00000004;
pub const BUFFER_CREATE_PROTECTED_BIT : i32 = 0x00000008;
pub const BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT : i32 = 0x00000010;
pub const BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT : i32 = BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT;
pub const BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR : i32 = BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT;
pub const BUFFER_CREATE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type BufferCreateFlags = i32;
pub type BufferUsageFlagBits = i32;
pub const BUFFER_USAGE_TRANSFER_SRC_BIT : i32 = 0x00000001;
pub const BUFFER_USAGE_TRANSFER_DST_BIT : i32 = 0x00000002;
pub const BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT : i32 = 0x00000004;
pub const BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT : i32 = 0x00000008;
pub const BUFFER_USAGE_UNIFORM_BUFFER_BIT : i32 = 0x00000010;
pub const BUFFER_USAGE_STORAGE_BUFFER_BIT : i32 = 0x00000020;
pub const BUFFER_USAGE_INDEX_BUFFER_BIT : i32 = 0x00000040;
pub const BUFFER_USAGE_VERTEX_BUFFER_BIT : i32 = 0x00000080;
pub const BUFFER_USAGE_INDIRECT_BUFFER_BIT : i32 = 0x00000100;
pub const BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT : i32 = 0x00020000;
pub const BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT : i32 = 0x00000800;
pub const BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT : i32 = 0x00001000;
pub const BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT : i32 = 0x00000200;
pub const BUFFER_USAGE_RAY_TRACING_BIT_KHR : i32 = 0x00000400;
pub const BUFFER_USAGE_RAY_TRACING_BIT_NV : i32 = BUFFER_USAGE_RAY_TRACING_BIT_KHR;
pub const BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT : i32 = BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT;
pub const BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR : i32 = BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT;
pub const BUFFER_USAGE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type BufferUsageFlags = i32;
pub type BufferViewCreateFlags = i32;
pub type ImageViewCreateFlagBits = i32;
pub const IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT : i32 = 0x00000001;
pub const IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type ImageViewCreateFlags = i32;
pub type ShaderModuleCreateFlagBits = i32;
pub const SHADER_MODULE_CREATE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type ShaderModuleCreateFlags = i32;
pub type PipelineCacheCreateFlagBits = i32;
pub const PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT : i32 = 0x00000001;
pub const PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type PipelineCacheCreateFlags = i32;
pub type PipelineCreateFlagBits = i32;
pub const PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT : i32 = 0x00000001;
pub const PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT : i32 = 0x00000002;
pub const PIPELINE_CREATE_DERIVATIVE_BIT : i32 = 0x00000004;
pub const PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT : i32 = 0x00000008;
pub const PIPELINE_CREATE_DISPATCH_BASE_BIT : i32 = 0x00000010;
pub const PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR : i32 = 0x00004000;
pub const PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR : i32 = 0x00008000;
pub const PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR : i32 = 0x00010000;
pub const PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR : i32 = 0x00020000;
pub const PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR : i32 = 0x00001000;
pub const PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR : i32 = 0x00002000;
pub const PIPELINE_CREATE_DEFER_COMPILE_BIT_NV : i32 = 0x00000020;
pub const PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR : i32 = 0x00000040;
pub const PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR : i32 = 0x00000080;
pub const PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV : i32 = 0x00040000;
pub const PIPELINE_CREATE_LIBRARY_BIT_KHR : i32 = 0x00000800;
pub const PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT : i32 = 0x00000100;
pub const PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT : i32 = 0x00000200;
pub const PIPELINE_CREATE_DISPATCH_BASE : i32 = PIPELINE_CREATE_DISPATCH_BASE_BIT;
pub const PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR : i32 = PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT;
pub const PIPELINE_CREATE_DISPATCH_BASE_KHR : i32 = PIPELINE_CREATE_DISPATCH_BASE;
pub const PIPELINE_CREATE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type PipelineCreateFlags = i32;
pub type PipelineShaderStageCreateFlagBits = i32;
pub const PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT : i32 = 0x00000001;
pub const PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT : i32 = 0x00000002;
pub const PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type PipelineShaderStageCreateFlags = i32;
pub type ShaderStageFlagBits = i32;
pub const SHADER_STAGE_VERTEX_BIT : i32 = 0x00000001;
pub const SHADER_STAGE_TESSELLATION_CONTROL_BIT : i32 = 0x00000002;
pub const SHADER_STAGE_TESSELLATION_EVALUATION_BIT : i32 = 0x00000004;
pub const SHADER_STAGE_GEOMETRY_BIT : i32 = 0x00000008;
pub const SHADER_STAGE_FRAGMENT_BIT : i32 = 0x00000010;
pub const SHADER_STAGE_COMPUTE_BIT : i32 = 0x00000020;
pub const SHADER_STAGE_ALL_GRAPHICS : i32 = 0x0000001F;
pub const SHADER_STAGE_ALL : i32 = 0x7FFFFFFF;
pub const SHADER_STAGE_RAYGEN_BIT_KHR : i32 = 0x00000100;
pub const SHADER_STAGE_ANY_HIT_BIT_KHR : i32 = 0x00000200;
pub const SHADER_STAGE_CLOSEST_HIT_BIT_KHR : i32 = 0x00000400;
pub const SHADER_STAGE_MISS_BIT_KHR : i32 = 0x00000800;
pub const SHADER_STAGE_INTERSECTION_BIT_KHR : i32 = 0x00001000;
pub const SHADER_STAGE_CALLABLE_BIT_KHR : i32 = 0x00002000;
pub const SHADER_STAGE_TASK_BIT_NV : i32 = 0x00000040;
pub const SHADER_STAGE_MESH_BIT_NV : i32 = 0x00000080;
pub const SHADER_STAGE_RAYGEN_BIT_NV : i32 = SHADER_STAGE_RAYGEN_BIT_KHR;
pub const SHADER_STAGE_ANY_HIT_BIT_NV : i32 = SHADER_STAGE_ANY_HIT_BIT_KHR;
pub const SHADER_STAGE_CLOSEST_HIT_BIT_NV : i32 = SHADER_STAGE_CLOSEST_HIT_BIT_KHR;
pub const SHADER_STAGE_MISS_BIT_NV : i32 = SHADER_STAGE_MISS_BIT_KHR;
pub const SHADER_STAGE_INTERSECTION_BIT_NV : i32 = SHADER_STAGE_INTERSECTION_BIT_KHR;
pub const SHADER_STAGE_CALLABLE_BIT_NV : i32 = SHADER_STAGE_CALLABLE_BIT_KHR;
pub const SHADER_STAGE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type PipelineVertexInputStateCreateFlags = i32;
pub type PipelineInputAssemblyStateCreateFlags = i32;
pub type PipelineTessellationStateCreateFlags = i32;
pub type PipelineViewportStateCreateFlags = i32;
pub type PipelineRasterizationStateCreateFlags = i32;
pub type CullModeFlagBits = i32;
pub const CULL_MODE_NONE : i32 = 0;
pub const CULL_MODE_FRONT_BIT : i32 = 0x00000001;
pub const CULL_MODE_BACK_BIT : i32 = 0x00000002;
pub const CULL_MODE_FRONT_AND_BACK : i32 = 0x00000003;
pub const CULL_MODE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type CullModeFlags = i32;
pub type PipelineMultisampleStateCreateFlags = i32;
pub type PipelineDepthStencilStateCreateFlags = i32;
pub type PipelineColorBlendStateCreateFlags = i32;
pub type ColorComponentFlagBits = i32;
pub const COLOR_COMPONENT_R_BIT : i32 = 0x00000001;
pub const COLOR_COMPONENT_G_BIT : i32 = 0x00000002;
pub const COLOR_COMPONENT_B_BIT : i32 = 0x00000004;
pub const COLOR_COMPONENT_A_BIT : i32 = 0x00000008;
pub const COLOR_COMPONENT_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type ColorComponentFlags = i32;
pub type PipelineDynamicStateCreateFlags = i32;
pub type PipelineLayoutCreateFlags = i32;
pub type ShaderStageFlags = i32;
pub type SamplerCreateFlagBits = i32;
pub const SAMPLER_CREATE_SUBSAMPLED_BIT_EXT : i32 = 0x00000001;
pub const SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT : i32 = 0x00000002;
pub const SAMPLER_CREATE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type SamplerCreateFlags = i32;
pub type DescriptorSetLayoutCreateFlagBits = i32;
pub const DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT : i32 = 0x00000002;
pub const DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR : i32 = 0x00000001;
pub const DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT : i32 = DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT;
pub const DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type DescriptorSetLayoutCreateFlags = i32;
pub type DescriptorPoolCreateFlagBits = i32;
pub const DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT : i32 = 0x00000001;
pub const DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT : i32 = 0x00000002;
pub const DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT : i32 = DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT;
pub const DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type DescriptorPoolCreateFlags = i32;
pub type DescriptorPoolResetFlags = i32;
pub type FramebufferCreateFlagBits = i32;
pub const FRAMEBUFFER_CREATE_IMAGELESS_BIT : i32 = 0x00000001;
pub const FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR : i32 = FRAMEBUFFER_CREATE_IMAGELESS_BIT;
pub const FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type FramebufferCreateFlags = i32;
pub type RenderPassCreateFlagBits = i32;
pub const RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM : i32 = 0x00000002;
pub const RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type RenderPassCreateFlags = i32;
pub type AttachmentDescriptionFlagBits = i32;
pub const ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT : i32 = 0x00000001;
pub const ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type AttachmentDescriptionFlags = i32;
pub type SubpassDescriptionFlagBits = i32;
pub const SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX : i32 = 0x00000001;
pub const SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX : i32 = 0x00000002;
pub const SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM : i32 = 0x00000004;
pub const SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM : i32 = 0x00000008;
pub const SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type SubpassDescriptionFlags = i32;
pub type AccessFlagBits = i32;
pub const ACCESS_INDIRECT_COMMAND_READ_BIT : i32 = 0x00000001;
pub const ACCESS_INDEX_READ_BIT : i32 = 0x00000002;
pub const ACCESS_VERTEX_ATTRIBUTE_READ_BIT : i32 = 0x00000004;
pub const ACCESS_UNIFORM_READ_BIT : i32 = 0x00000008;
pub const ACCESS_INPUT_ATTACHMENT_READ_BIT : i32 = 0x00000010;
pub const ACCESS_SHADER_READ_BIT : i32 = 0x00000020;
pub const ACCESS_SHADER_WRITE_BIT : i32 = 0x00000040;
pub const ACCESS_COLOR_ATTACHMENT_READ_BIT : i32 = 0x00000080;
pub const ACCESS_COLOR_ATTACHMENT_WRITE_BIT : i32 = 0x00000100;
pub const ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT : i32 = 0x00000200;
pub const ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT : i32 = 0x00000400;
pub const ACCESS_TRANSFER_READ_BIT : i32 = 0x00000800;
pub const ACCESS_TRANSFER_WRITE_BIT : i32 = 0x00001000;
pub const ACCESS_HOST_READ_BIT : i32 = 0x00002000;
pub const ACCESS_HOST_WRITE_BIT : i32 = 0x00004000;
pub const ACCESS_MEMORY_READ_BIT : i32 = 0x00008000;
pub const ACCESS_MEMORY_WRITE_BIT : i32 = 0x00010000;
pub const ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT : i32 = 0x02000000;
pub const ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT : i32 = 0x04000000;
pub const ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT : i32 = 0x08000000;
pub const ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT : i32 = 0x00100000;
pub const ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT : i32 = 0x00080000;
pub const ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR : i32 = 0x00200000;
pub const ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR : i32 = 0x00400000;
pub const ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV : i32 = 0x00800000;
pub const ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT : i32 = 0x01000000;
pub const ACCESS_COMMAND_PREPROCESS_READ_BIT_NV : i32 = 0x00020000;
pub const ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV : i32 = 0x00040000;
pub const ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV : i32 = ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR;
pub const ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV : i32 = ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR;
pub const ACCESS_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type AccessFlags = i32;
pub type DependencyFlagBits = i32;
pub const DEPENDENCY_BY_REGION_BIT : i32 = 0x00000001;
pub const DEPENDENCY_DEVICE_GROUP_BIT : i32 = 0x00000004;
pub const DEPENDENCY_VIEW_LOCAL_BIT : i32 = 0x00000002;
pub const DEPENDENCY_VIEW_LOCAL_BIT_KHR : i32 = DEPENDENCY_VIEW_LOCAL_BIT;
pub const DEPENDENCY_DEVICE_GROUP_BIT_KHR : i32 = DEPENDENCY_DEVICE_GROUP_BIT;
pub const DEPENDENCY_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type DependencyFlags = i32;
pub type CommandPoolCreateFlagBits = i32;
pub const COMMAND_POOL_CREATE_TRANSIENT_BIT : i32 = 0x00000001;
pub const COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT : i32 = 0x00000002;
pub const COMMAND_POOL_CREATE_PROTECTED_BIT : i32 = 0x00000004;
pub const COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type CommandPoolCreateFlags = i32;
pub type CommandPoolResetFlagBits = i32;
pub const COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT : i32 = 0x00000001;
pub const COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type CommandPoolResetFlags = i32;
pub type CommandBufferUsageFlagBits = i32;
pub const COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT : i32 = 0x00000001;
pub const COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT : i32 = 0x00000002;
pub const COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT : i32 = 0x00000004;
pub const COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type CommandBufferUsageFlags = i32;
pub type QueryControlFlagBits = i32;
pub const QUERY_CONTROL_PRECISE_BIT : i32 = 0x00000001;
pub const QUERY_CONTROL_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type QueryControlFlags = i32;
pub type CommandBufferResetFlagBits = i32;
pub const COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT : i32 = 0x00000001;
pub const COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type CommandBufferResetFlags = i32;
pub type StencilFaceFlagBits = i32;
pub const STENCIL_FACE_FRONT_BIT : i32 = 0x00000001;
pub const STENCIL_FACE_BACK_BIT : i32 = 0x00000002;
pub const STENCIL_FACE_FRONT_AND_BACK : i32 = 0x00000003;
pub const STENCIL_FRONT_AND_BACK : i32 = STENCIL_FACE_FRONT_AND_BACK;
pub const STENCIL_FACE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type StencilFaceFlags = i32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ApplicationInfo {
pub sType : StructureType,
pub pNext : *const void,
pub pApplicationName : *const i8,
pub applicationVersion : u32,
pub pEngineName : *const i8,
pub engineVersion : u32,
pub apiVersion : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct InstanceCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub flags : i32,
pub pApplicationInfo : *const ApplicationInfo,
pub enabledLayerCount : u32,
pub ppEnabledLayerNames : *const *const i8,
pub enabledExtensionCount : u32,
pub ppEnabledExtensionNames : *const *const i8,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct AllocationCallbacks {
pub pUserData : *mut void,
pub pfnAllocation : u64,
pub pfnReallocation : u64,
pub pfnFree : u64,
pub pfnInternalAllocation : u64,
pub pfnInternalFree : u64,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceFeatures {
pub robustBufferAccess : Bool32,
pub fullDrawIndexUint32 : Bool32,
pub imageCubeArray : Bool32,
pub independentBlend : Bool32,
pub geometryShader : Bool32,
pub tessellationShader : Bool32,
pub sampleRateShading : Bool32,
pub dualSrcBlend : Bool32,
pub logicOp : Bool32,
pub multiDrawIndirect : Bool32,
pub drawIndirectFirstInstance : Bool32,
pub depthClamp : Bool32,
pub depthBiasClamp : Bool32,
pub fillModeNonSolid : Bool32,
pub depthBounds : Bool32,
pub wideLines : Bool32,
pub largePoints : Bool32,
pub alphaToOne : Bool32,
pub multiViewport : Bool32,
pub samplerAnisotropy : Bool32,
pub textureCompressionETC2 : Bool32,
pub textureCompressionASTC_LDR : Bool32,
pub textureCompressionBC : Bool32,
pub occlusionQueryPrecise : Bool32,
pub pipelineStatisticsQuery : Bool32,
pub vertexPipelineStoresAndAtomics : Bool32,
pub fragmentStoresAndAtomics : Bool32,
pub shaderTessellationAndGeometryPointSize : Bool32,
pub shaderImageGatherExtended : Bool32,
pub shaderStorageImageExtendedFormats : Bool32,
pub shaderStorageImageMultisample : Bool32,
pub shaderStorageImageReadWithoutFormat : Bool32,
pub shaderStorageImageWriteWithoutFormat : Bool32,
pub shaderUniformBufferArrayDynamicIndexing : Bool32,
pub shaderSampledImageArrayDynamicIndexing : Bool32,
pub shaderStorageBufferArrayDynamicIndexing : Bool32,
pub shaderStorageImageArrayDynamicIndexing : Bool32,
pub shaderClipDistance : Bool32,
pub shaderCullDistance : Bool32,
pub shaderFloat64 : Bool32,
pub shaderInt64 : Bool32,
pub shaderInt16 : Bool32,
pub shaderResourceResidency : Bool32,
pub shaderResourceMinLod : Bool32,
pub sparseBinding : Bool32,
pub sparseResidencyBuffer : Bool32,
pub sparseResidencyImage2D : Bool32,
pub sparseResidencyImage3D : Bool32,
pub sparseResidency2Samples : Bool32,
pub sparseResidency4Samples : Bool32,
pub sparseResidency8Samples : Bool32,
pub sparseResidency16Samples : Bool32,
pub sparseResidencyAliased : Bool32,
pub variableMultisampleRate : Bool32,
pub inheritedQueries : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FormatProperties {
pub linearTilingFeatures : FormatFeatureFlags,
pub optimalTilingFeatures : FormatFeatureFlags,
pub bufferFeatures : FormatFeatureFlags,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Extent3D {
pub width : u32,
pub height : u32,
pub depth : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ImageFormatProperties {
pub maxExtent : Extent3D,
pub maxMipLevels : u32,
pub maxArrayLayers : u32,
pub sampleCounts : SampleCountFlags,
pub maxResourceSize : DeviceSize,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceLimits {
pub maxImageDimension1D : u32,
pub maxImageDimension2D : u32,
pub maxImageDimension3D : u32,
pub maxImageDimensionCube : u32,
pub maxImageArrayLayers : u32,
pub maxTexelBufferElements : u32,
pub maxUniformBufferRange : u32,
pub maxStorageBufferRange : u32,
pub maxPushConstantsSize : u32,
pub maxMemoryAllocationCount : u32,
pub maxSamplerAllocationCount : u32,
pub bufferImageGranularity : DeviceSize,
pub sparseAddressSpaceSize : DeviceSize,
pub maxBoundDescriptorSets : u32,
pub maxPerStageDescriptorSamplers : u32,
pub maxPerStageDescriptorUniformBuffers : u32,
pub maxPerStageDescriptorStorageBuffers : u32,
pub maxPerStageDescriptorSampledImages : u32,
pub maxPerStageDescriptorStorageImages : u32,
pub maxPerStageDescriptorInputAttachments : u32,
pub maxPerStageResources : u32,
pub maxDescriptorSetSamplers : u32,
pub maxDescriptorSetUniformBuffers : u32,
pub maxDescriptorSetUniformBuffersDynamic : u32,
pub maxDescriptorSetStorageBuffers : u32,
pub maxDescriptorSetStorageBuffersDynamic : u32,
pub maxDescriptorSetSampledImages : u32,
pub maxDescriptorSetStorageImages : u32,
pub maxDescriptorSetInputAttachments : u32,
pub maxVertexInputAttributes : u32,
pub maxVertexInputBindings : u32,
pub maxVertexInputAttributeOffset : u32,
pub maxVertexInputBindingStride : u32,
pub maxVertexOutputComponents : u32,
pub maxTessellationGenerationLevel : u32,
pub maxTessellationPatchSize : u32,
pub maxTessellationControlPerVertexInputComponents : u32,
pub maxTessellationControlPerVertexOutputComponents : u32,
pub maxTessellationControlPerPatchOutputComponents : u32,
pub maxTessellationControlTotalOutputComponents : u32,
pub maxTessellationEvaluationInputComponents : u32,
pub maxTessellationEvaluationOutputComponents : u32,
pub maxGeometryShaderInvocations : u32,
pub maxGeometryInputComponents : u32,
pub maxGeometryOutputComponents : u32,
pub maxGeometryOutputVertices : u32,
pub maxGeometryTotalOutputComponents : u32,
pub maxFragmentInputComponents : u32,
pub maxFragmentOutputAttachments : u32,
pub maxFragmentDualSrcAttachments : u32,
pub maxFragmentCombinedOutputResources : u32,
pub maxComputeSharedMemorySize : u32,
pub maxComputeWorkGroupCount : [u32;3],
pub maxComputeWorkGroupInvocations : u32,
pub maxComputeWorkGroupSize : [u32;3],
pub subPixelPrecisionBits : u32,
pub subTexelPrecisionBits : u32,
pub mipmapPrecisionBits : u32,
pub maxDrawIndexedIndexValue : u32,
pub maxDrawIndirectCount : u32,
pub maxSamplerLodBias : f32,
pub maxSamplerAnisotropy : f32,
pub maxViewports : u32,
pub maxViewportDimensions : [u32;2],
pub viewportBoundsRange : [f32;2],
pub viewportSubPixelBits : u32,
pub minMemoryMapAlignment : usize,
pub minTexelBufferOffsetAlignment : DeviceSize,
pub minUniformBufferOffsetAlignment : DeviceSize,
pub minStorageBufferOffsetAlignment : DeviceSize,
pub minTexelOffset : i32,
pub maxTexelOffset : u32,
pub minTexelGatherOffset : i32,
pub maxTexelGatherOffset : u32,
pub minInterpolationOffset : f32,
pub maxInterpolationOffset : f32,
pub subPixelInterpolationOffsetBits : u32,
pub maxFramebufferWidth : u32,
pub maxFramebufferHeight : u32,
pub maxFramebufferLayers : u32,
pub framebufferColorSampleCounts : SampleCountFlags,
pub framebufferDepthSampleCounts : SampleCountFlags,
pub framebufferStencilSampleCounts : SampleCountFlags,
pub framebufferNoAttachmentsSampleCounts : SampleCountFlags,
pub maxColorAttachments : u32,
pub sampledImageColorSampleCounts : SampleCountFlags,
pub sampledImageIntegerSampleCounts : SampleCountFlags,
pub sampledImageDepthSampleCounts : SampleCountFlags,
pub sampledImageStencilSampleCounts : SampleCountFlags,
pub storageImageSampleCounts : SampleCountFlags,
pub maxSampleMaskWords : u32,
pub timestampComputeAndGraphics : Bool32,
pub timestampPeriod : f32,
pub maxClipDistances : u32,
pub maxCullDistances : u32,
pub maxCombinedClipAndCullDistances : u32,
pub discreteQueuePriorities : u32,
pub pointSizeRange : [f32;2],
pub lineWidthRange : [f32;2],
pub pointSizeGranularity : f32,
pub lineWidthGranularity : f32,
pub strictLines : Bool32,
pub standardSampleLocations : Bool32,
pub optimalBufferCopyOffsetAlignment : DeviceSize,
pub optimalBufferCopyRowPitchAlignment : DeviceSize,
pub nonCoherentAtomSize : DeviceSize,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceSparseProperties {
pub residencyStandard2DBlockShape : Bool32,
pub residencyStandard2DMultisampleBlockShape : Bool32,
pub residencyStandard3DBlockShape : Bool32,
pub residencyAlignedMipSize : Bool32,
pub residencyNonResidentStrict : Bool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct PhysicalDeviceProperties {
pub apiVersion : u32,
pub driverVersion : u32,
pub vendorID : u32,
pub deviceID : u32,
pub deviceType : PhysicalDeviceType,
pub deviceName : [i8;MAX_PHYSICAL_DEVICE_NAME_SIZE],
pub pipelineCacheUUID : [u8;UUID_SIZE],
pub limits : PhysicalDeviceLimits,
pub sparseProperties : PhysicalDeviceSparseProperties,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct QueueFamilyProperties {
pub queueFlags : QueueFlags,
pub queueCount : u32,
pub timestampValidBits : u32,
pub minImageTransferGranularity : Extent3D,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct MemoryType {
pub propertyFlags : MemoryPropertyFlags,
pub heapIndex : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct MemoryHeap {
pub size : DeviceSize,
pub flags : MemoryHeapFlags,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceMemoryProperties {
pub memoryTypeCount : u32,
pub memoryTypes : [MemoryType;MAX_MEMORY_TYPES],
pub memoryHeapCount : u32,
pub memoryHeaps : [MemoryHeap;MAX_MEMORY_HEAPS],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DeviceQueueCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub flags : DeviceQueueCreateFlags,
pub queueFamilyIndex : u32,
pub queueCount : u32,
pub pQueuePriorities : *const f32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DeviceCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub flags : DeviceCreateFlags,
pub queueCreateInfoCount : u32,
pub pQueueCreateInfos : *const DeviceQueueCreateInfo,
pub enabledLayerCount : u32,
pub ppEnabledLayerNames : *const *const i8,
pub enabledExtensionCount : u32,
pub ppEnabledExtensionNames : *const *const i8,
pub pEnabledFeatures : *const PhysicalDeviceFeatures,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct ExtensionProperties {
pub extensionName : [i8;MAX_EXTENSION_NAME_SIZE],
pub specVersion : u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct LayerProperties {
pub layerName : [i8;MAX_EXTENSION_NAME_SIZE],
pub specVersion : u32,
pub implementationVersion : u32,
pub description : [i8;MAX_DESCRIPTION_SIZE],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SubmitInfo {
pub sType : StructureType,
pub pNext : *const void,
pub waitSemaphoreCount : u32,
pub pWaitSemaphores : *const Semaphore,
pub pWaitDstStageMask : *const PipelineStageFlags,
pub commandBufferCount : u32,
pub pCommandBuffers : *const CommandBuffer,
pub signalSemaphoreCount : u32,
pub pSignalSemaphores : *const Semaphore,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct MemoryAllocateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub allocationSize : DeviceSize,
pub memoryTypeIndex : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct MappedMemoryRange {
pub sType : StructureType,
pub pNext : *const void,
pub memory : DeviceMemory,
pub offset : DeviceSize,
pub size : DeviceSize,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct MemoryRequirements {
pub size : DeviceSize,
pub alignment : DeviceSize,
pub memoryTypeBits : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SparseImageFormatProperties {
pub aspectMask : ImageAspectFlags,
pub imageGranularity : Extent3D,
pub flags : SparseImageFormatFlags,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SparseImageMemoryRequirements {
pub formatProperties : SparseImageFormatProperties,
pub imageMipTailFirstLod : u32,
pub imageMipTailSize : DeviceSize,
pub imageMipTailOffset : DeviceSize,
pub imageMipTailStride : DeviceSize,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SparseMemoryBind {
pub resourceOffset : DeviceSize,
pub size : DeviceSize,
pub memory : DeviceMemory,
pub memoryOffset : DeviceSize,
pub flags : SparseMemoryBindFlags,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SparseBufferMemoryBindInfo {
pub buffer : Buffer,
pub bindCount : u32,
pub pBinds : *const SparseMemoryBind,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SparseImageOpaqueMemoryBindInfo {
pub image : Image,
pub bindCount : u32,
pub pBinds : *const SparseMemoryBind,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ImageSubresource {
pub aspectMask : ImageAspectFlags,
pub mipLevel : u32,
pub arrayLayer : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Offset3D {
pub x : i32,
pub y : i32,
pub z : i32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SparseImageMemoryBind {
pub subresource : ImageSubresource,
pub offset : Offset3D,
pub extent : Extent3D,
pub memory : DeviceMemory,
pub memoryOffset : DeviceSize,
pub flags : SparseMemoryBindFlags,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SparseImageMemoryBindInfo {
pub image : Image,
pub bindCount : u32,
pub pBinds : *const SparseImageMemoryBind,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct BindSparseInfo {
pub sType : StructureType,
pub pNext : *const void,
pub waitSemaphoreCount : u32,
pub pWaitSemaphores : *const Semaphore,
pub bufferBindCount : u32,
pub pBufferBinds : *const SparseBufferMemoryBindInfo,
pub imageOpaqueBindCount : u32,
pub pImageOpaqueBinds : *const SparseImageOpaqueMemoryBindInfo,
pub imageBindCount : u32,
pub pImageBinds : *const SparseImageMemoryBindInfo,
pub signalSemaphoreCount : u32,
pub pSignalSemaphores : *const Semaphore,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FenceCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub flags : FenceCreateFlags,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SemaphoreCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub flags : SemaphoreCreateFlags,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct EventCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub flags : EventCreateFlags,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct QueryPoolCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub flags : QueryPoolCreateFlags,
pub queryType : QueryType,
pub queryCount : u32,
pub pipelineStatistics : QueryPipelineStatisticFlags,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct BufferCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub flags : BufferCreateFlags,
pub size : DeviceSize,
pub usage : BufferUsageFlags,
pub sharingMode : SharingMode,
pub queueFamilyIndexCount : u32,
pub pQueueFamilyIndices : *const u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct BufferViewCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub flags : BufferViewCreateFlags,
pub buffer : Buffer,
pub format : Format,
pub offset : DeviceSize,
pub range : DeviceSize,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ImageCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub flags : ImageCreateFlags,
pub imageType : ImageType,
pub format : Format,
pub extent : Extent3D,
pub mipLevels : u32,
pub arrayLayers : u32,
pub samples : SampleCountFlagBits,
pub tiling : ImageTiling,
pub usage : ImageUsageFlags,
pub sharingMode : SharingMode,
pub queueFamilyIndexCount : u32,
pub pQueueFamilyIndices : *const u32,
pub initialLayout : ImageLayout,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SubresourceLayout {
pub offset : DeviceSize,
pub size : DeviceSize,
pub rowPitch : DeviceSize,
pub arrayPitch : DeviceSize,
pub depthPitch : DeviceSize,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ComponentMapping {
pub r : ComponentSwizzle,
pub g : ComponentSwizzle,
pub b : ComponentSwizzle,
pub a : ComponentSwizzle,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ImageSubresourceRange {
pub aspectMask : ImageAspectFlags,
pub baseMipLevel : u32,
pub levelCount : u32,
pub baseArrayLayer : u32,
pub layerCount : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ImageViewCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub flags : ImageViewCreateFlags,
pub image : Image,
pub viewType : ImageViewType,
pub format : Format,
pub components : ComponentMapping,
pub subresourceRange : ImageSubresourceRange,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ShaderModuleCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub flags : ShaderModuleCreateFlags,
pub codeSize : usize,
pub pCode : *const u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PipelineCacheCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub flags : PipelineCacheCreateFlags,
pub initialDataSize : usize,
pub pInitialData : *const void,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SpecializationMapEntry {
pub constantID : u32,
pub offset : u32,
pub size : usize,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SpecializationInfo {
pub mapEntryCount : u32,
pub pMapEntries : *const SpecializationMapEntry,
pub dataSize : usize,
pub pData : *const void,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PipelineShaderStageCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub flags : PipelineShaderStageCreateFlags,
pub stage : ShaderStageFlagBits,
pub module : ShaderModule,
pub pName : *const i8,
pub pSpecializationInfo : *const SpecializationInfo,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VertexInputBindingDescription {
pub binding : u32,
pub stride : u32,
pub inputRate : VertexInputRate,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VertexInputAttributeDescription {
pub location : u32,
pub binding : u32,
pub format : Format,
pub offset : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PipelineVertexInputStateCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub flags : PipelineVertexInputStateCreateFlags,
pub vertexBindingDescriptionCount : u32,
pub pVertexBindingDescriptions : *const VertexInputBindingDescription,
pub vertexAttributeDescriptionCount : u32,
pub pVertexAttributeDescriptions : *const VertexInputAttributeDescription,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PipelineInputAssemblyStateCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub flags : PipelineInputAssemblyStateCreateFlags,
pub topology : PrimitiveTopology,
pub primitiveRestartEnable : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PipelineTessellationStateCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub flags : PipelineTessellationStateCreateFlags,
pub patchControlPoints : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Viewport {
pub x : f32,
pub y : f32,
pub width : f32,
pub height : f32,
pub minDepth : f32,
pub maxDepth : f32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Offset2D {
pub x : i32,
pub y : i32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Extent2D {
pub width : u32,
pub height : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Rect2D {
pub offset : Offset2D,
pub extent : Extent2D,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PipelineViewportStateCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub flags : PipelineViewportStateCreateFlags,
pub viewportCount : u32,
pub pViewports : *const Viewport,
pub scissorCount : u32,
pub pScissors : *const Rect2D,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PipelineRasterizationStateCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub flags : PipelineRasterizationStateCreateFlags,
pub depthClampEnable : Bool32,
pub rasterizerDiscardEnable : Bool32,
pub polygonMode : PolygonMode,
pub cullMode : CullModeFlags,
pub frontFace : FrontFace,
pub depthBiasEnable : Bool32,
pub depthBiasConstantFactor : f32,
pub depthBiasClamp : f32,
pub depthBiasSlopeFactor : f32,
pub lineWidth : f32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PipelineMultisampleStateCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub flags : PipelineMultisampleStateCreateFlags,
pub rasterizationSamples : SampleCountFlagBits,
pub sampleShadingEnable : Bool32,
pub minSampleShading : f32,
pub pSampleMask : *const SampleMask,
pub alphaToCoverageEnable : Bool32,
pub alphaToOneEnable : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct StencilOpState {
pub failOp : StencilOp,
pub passOp : StencilOp,
pub depthFailOp : StencilOp,
pub compareOp : CompareOp,
pub compareMask : u32,
pub writeMask : u32,
pub reference : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PipelineDepthStencilStateCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub flags : PipelineDepthStencilStateCreateFlags,
pub depthTestEnable : Bool32,
pub depthWriteEnable : Bool32,
pub depthCompareOp : CompareOp,
pub depthBoundsTestEnable : Bool32,
pub stencilTestEnable : Bool32,
pub front : StencilOpState,
pub back : StencilOpState,
pub minDepthBounds : f32,
pub maxDepthBounds : f32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PipelineColorBlendAttachmentState {
pub blendEnable : Bool32,
pub srcColorBlendFactor : BlendFactor,
pub dstColorBlendFactor : BlendFactor,
pub colorBlendOp : BlendOp,
pub srcAlphaBlendFactor : BlendFactor,
pub dstAlphaBlendFactor : BlendFactor,
pub alphaBlendOp : BlendOp,
pub colorWriteMask : ColorComponentFlags,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PipelineColorBlendStateCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub flags : PipelineColorBlendStateCreateFlags,
pub logicOpEnable : Bool32,
pub logicOp : LogicOp,
pub attachmentCount : u32,
pub pAttachments : *const PipelineColorBlendAttachmentState,
pub blendConstants : [f32;4],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PipelineDynamicStateCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub flags : PipelineDynamicStateCreateFlags,
pub dynamicStateCount : u32,
pub pDynamicStates : *const DynamicState,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct GraphicsPipelineCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub flags : PipelineCreateFlags,
pub stageCount : u32,
pub pStages : *const PipelineShaderStageCreateInfo,
pub pVertexInputState : *const PipelineVertexInputStateCreateInfo,
pub pInputAssemblyState : *const PipelineInputAssemblyStateCreateInfo,
pub pTessellationState : *const PipelineTessellationStateCreateInfo,
pub pViewportState : *const PipelineViewportStateCreateInfo,
pub pRasterizationState : *const PipelineRasterizationStateCreateInfo,
pub pMultisampleState : *const PipelineMultisampleStateCreateInfo,
pub pDepthStencilState : *const PipelineDepthStencilStateCreateInfo,
pub pColorBlendState : *const PipelineColorBlendStateCreateInfo,
pub pDynamicState : *const PipelineDynamicStateCreateInfo,
pub layout : PipelineLayout,
pub renderPass : RenderPass,
pub subpass : u32,
pub basePipelineHandle : Pipeline,
pub basePipelineIndex : i32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ComputePipelineCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub flags : PipelineCreateFlags,
pub stage : PipelineShaderStageCreateInfo,
pub layout : PipelineLayout,
pub basePipelineHandle : Pipeline,
pub basePipelineIndex : i32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PushConstantRange {
pub stageFlags : ShaderStageFlags,
pub offset : u32,
pub size : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PipelineLayoutCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub flags : PipelineLayoutCreateFlags,
pub setLayoutCount : u32,
pub pSetLayouts : *const DescriptorSetLayout,
pub pushConstantRangeCount : u32,
pub pPushConstantRanges : *const PushConstantRange,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SamplerCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub flags : SamplerCreateFlags,
pub magFilter : Filter,
pub minFilter : Filter,
pub mipmapMode : SamplerMipmapMode,
pub addressModeU : SamplerAddressMode,
pub addressModeV : SamplerAddressMode,
pub addressModeW : SamplerAddressMode,
pub mipLodBias : f32,
pub anisotropyEnable : Bool32,
pub maxAnisotropy : f32,
pub compareEnable : Bool32,
pub compareOp : CompareOp,
pub minLod : f32,
pub maxLod : f32,
pub borderColor : BorderColor,
pub unnormalizedCoordinates : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DescriptorSetLayoutBinding {
pub binding : u32,
pub descriptorType : DescriptorType,
pub descriptorCount : u32,
pub stageFlags : ShaderStageFlags,
pub pImmutableSamplers : *const Sampler,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DescriptorSetLayoutCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub flags : DescriptorSetLayoutCreateFlags,
pub bindingCount : u32,
pub pBindings : *const DescriptorSetLayoutBinding,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DescriptorPoolSize {
pub r#type : DescriptorType,
pub descriptorCount : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DescriptorPoolCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub flags : DescriptorPoolCreateFlags,
pub maxSets : u32,
pub poolSizeCount : u32,
pub pPoolSizes : *const DescriptorPoolSize,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DescriptorSetAllocateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub descriptorPool : DescriptorPool,
pub descriptorSetCount : u32,
pub pSetLayouts : *const DescriptorSetLayout,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DescriptorImageInfo {
pub sampler : Sampler,
pub imageView : ImageView,
pub imageLayout : ImageLayout,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DescriptorBufferInfo {
pub buffer : Buffer,
pub offset : DeviceSize,
pub range : DeviceSize,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct WriteDescriptorSet {
pub sType : StructureType,
pub pNext : *const void,
pub dstSet : DescriptorSet,
pub dstBinding : u32,
pub dstArrayElement : u32,
pub descriptorCount : u32,
pub descriptorType : DescriptorType,
pub pImageInfo : *const DescriptorImageInfo,
pub pBufferInfo : *const DescriptorBufferInfo,
pub pTexelBufferView : *const BufferView,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CopyDescriptorSet {
pub sType : StructureType,
pub pNext : *const void,
pub srcSet : DescriptorSet,
pub srcBinding : u32,
pub srcArrayElement : u32,
pub dstSet : DescriptorSet,
pub dstBinding : u32,
pub dstArrayElement : u32,
pub descriptorCount : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FramebufferCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub flags : FramebufferCreateFlags,
pub renderPass : RenderPass,
pub attachmentCount : u32,
pub pAttachments : *const ImageView,
pub width : u32,
pub height : u32,
pub layers : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct AttachmentDescription {
pub flags : AttachmentDescriptionFlags,
pub format : Format,
pub samples : SampleCountFlagBits,
pub loadOp : AttachmentLoadOp,
pub storeOp : AttachmentStoreOp,
pub stencilLoadOp : AttachmentLoadOp,
pub stencilStoreOp : AttachmentStoreOp,
pub initialLayout : ImageLayout,
pub finalLayout : ImageLayout,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct AttachmentReference {
pub attachment : u32,
pub layout : ImageLayout,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SubpassDescription {
pub flags : SubpassDescriptionFlags,
pub pipelineBindPoint : PipelineBindPoint,
pub inputAttachmentCount : u32,
pub pInputAttachments : *const AttachmentReference,
pub colorAttachmentCount : u32,
pub pColorAttachments : *const AttachmentReference,
pub pResolveAttachments : *const AttachmentReference,
pub pDepthStencilAttachment : *const AttachmentReference,
pub preserveAttachmentCount : u32,
pub pPreserveAttachments : *const u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SubpassDependency {
pub srcSubpass : u32,
pub dstSubpass : u32,
pub srcStageMask : PipelineStageFlags,
pub dstStageMask : PipelineStageFlags,
pub srcAccessMask : AccessFlags,
pub dstAccessMask : AccessFlags,
pub dependencyFlags : DependencyFlags,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct RenderPassCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub flags : RenderPassCreateFlags,
pub attachmentCount : u32,
pub pAttachments : *const AttachmentDescription,
pub subpassCount : u32,
pub pSubpasses : *const SubpassDescription,
pub dependencyCount : u32,
pub pDependencies : *const SubpassDependency,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CommandPoolCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub flags : CommandPoolCreateFlags,
pub queueFamilyIndex : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CommandBufferAllocateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub commandPool : CommandPool,
pub level : CommandBufferLevel,
pub commandBufferCount : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CommandBufferInheritanceInfo {
pub sType : StructureType,
pub pNext : *const void,
pub renderPass : RenderPass,
pub subpass : u32,
pub framebuffer : Framebuffer,
pub occlusionQueryEnable : Bool32,
pub queryFlags : QueryControlFlags,
pub pipelineStatistics : QueryPipelineStatisticFlags,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CommandBufferBeginInfo {
pub sType : StructureType,
pub pNext : *const void,
pub flags : CommandBufferUsageFlags,
pub pInheritanceInfo : *const CommandBufferInheritanceInfo,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct BufferCopy {
pub srcOffset : DeviceSize,
pub dstOffset : DeviceSize,
pub size : DeviceSize,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ImageSubresourceLayers {
pub aspectMask : ImageAspectFlags,
pub mipLevel : u32,
pub baseArrayLayer : u32,
pub layerCount : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ImageCopy {
pub srcSubresource : ImageSubresourceLayers,
pub srcOffset : Offset3D,
pub dstSubresource : ImageSubresourceLayers,
pub dstOffset : Offset3D,
pub extent : Extent3D,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ImageBlit {
pub srcSubresource : ImageSubresourceLayers,
pub srcOffsets : [Offset3D;2],
pub dstSubresource : ImageSubresourceLayers,
pub dstOffsets : [Offset3D;2],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct BufferImageCopy {
pub bufferOffset : DeviceSize,
pub bufferRowLength : u32,
pub bufferImageHeight : u32,
pub imageSubresource : ImageSubresourceLayers,
pub imageOffset : Offset3D,
pub imageExtent : Extent3D,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ClearColorValue {
pub float32 : [f32;4],
}
impl Default for ClearColorValue {
fn default() -> ClearColorValue {
ClearColorValue {
float32 : [0 as f32; 4]
}
}
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ClearDepthStencilValue {
pub depth : f32,
pub stencil : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ClearValue {
pub color : [f32;4],
}
impl ClearValue {
pub fn depth(depth : f32, stencil : f32) -> ClearValue {
ClearValue {
color : [depth, stencil, 0., 0.]
}
}
}
impl Default for ClearValue {
fn default() -> ClearValue {
ClearValue {
color : [0 as f32; 4]
}
}
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ClearAttachment {
pub aspectMask : ImageAspectFlags,
pub colorAttachment : u32,
pub clearValue : ClearValue,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ClearRect {
pub rect : Rect2D,
pub baseArrayLayer : u32,
pub layerCount : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ImageResolve {
pub srcSubresource : ImageSubresourceLayers,
pub srcOffset : Offset3D,
pub dstSubresource : ImageSubresourceLayers,
pub dstOffset : Offset3D,
pub extent : Extent3D,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct MemoryBarrier {
pub sType : StructureType,
pub pNext : *const void,
pub srcAccessMask : AccessFlags,
pub dstAccessMask : AccessFlags,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct BufferMemoryBarrier {
pub sType : StructureType,
pub pNext : *const void,
pub srcAccessMask : AccessFlags,
pub dstAccessMask : AccessFlags,
pub srcQueueFamilyIndex : u32,
pub dstQueueFamilyIndex : u32,
pub buffer : Buffer,
pub offset : DeviceSize,
pub size : DeviceSize,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ImageMemoryBarrier {
pub sType : StructureType,
pub pNext : *const void,
pub srcAccessMask : AccessFlags,
pub dstAccessMask : AccessFlags,
pub oldLayout : ImageLayout,
pub newLayout : ImageLayout,
pub srcQueueFamilyIndex : u32,
pub dstQueueFamilyIndex : u32,
pub image : Image,
pub subresourceRange : ImageSubresourceRange,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct RenderPassBeginInfo {
pub sType : StructureType,
pub pNext : *const void,
pub renderPass : RenderPass,
pub framebuffer : Framebuffer,
pub renderArea : Rect2D,
pub clearValueCount : u32,
pub pClearValues : *const ClearValue,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DispatchIndirectCommand {
pub x : u32,
pub y : u32,
pub z : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DrawIndexedIndirectCommand {
pub indexCount : u32,
pub instanceCount : u32,
pub firstIndex : u32,
pub vertexOffset : i32,
pub firstInstance : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DrawIndirectCommand {
pub vertexCount : u32,
pub instanceCount : u32,
pub firstVertex : u32,
pub firstInstance : u32,
}
pub type SamplerYcbcrConversion = u64;
pub type DescriptorUpdateTemplate = u64;
pub type PointClippingBehavior = i32;
pub const POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES : i32 = 0;
pub const POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY : i32 = 1;
pub const POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR : i32 = POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES;
pub const POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR : i32 = POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY;
pub const POINT_CLIPPING_BEHAVIOR_MAX_ENUM : i32 = 0x7FFFFFF;
pub type TessellationDomainOrigin = i32;
pub const TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT : i32 = 0;
pub const TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT : i32 = 1;
pub const TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR : i32 = TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT;
pub const TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR : i32 = TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT;
pub const TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM : i32 = 0x7FFFFFF;
pub type SamplerYcbcrModelConversion = i32;
pub const SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY : i32 = 0;
pub const SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY : i32 = 1;
pub const SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 : i32 = 2;
pub const SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 : i32 = 3;
pub const SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 : i32 = 4;
pub const SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR : i32 = SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY;
pub const SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR : i32 = SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY;
pub const SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR : i32 = SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709;
pub const SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR : i32 = SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601;
pub const SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR : i32 = SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020;
pub const SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM : i32 = 0x7FFFFFF;
pub type SamplerYcbcrRange = i32;
pub const SAMPLER_YCBCR_RANGE_ITU_FULL : i32 = 0;
pub const SAMPLER_YCBCR_RANGE_ITU_NARROW : i32 = 1;
pub const SAMPLER_YCBCR_RANGE_ITU_FULL_KHR : i32 = SAMPLER_YCBCR_RANGE_ITU_FULL;
pub const SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR : i32 = SAMPLER_YCBCR_RANGE_ITU_NARROW;
pub const SAMPLER_YCBCR_RANGE_MAX_ENUM : i32 = 0x7FFFFFF;
pub type ChromaLocation = i32;
pub const CHROMA_LOCATION_COSITED_EVEN : i32 = 0;
pub const CHROMA_LOCATION_MIDPOINT : i32 = 1;
pub const CHROMA_LOCATION_COSITED_EVEN_KHR : i32 = CHROMA_LOCATION_COSITED_EVEN;
pub const CHROMA_LOCATION_MIDPOINT_KHR : i32 = CHROMA_LOCATION_MIDPOINT;
pub const CHROMA_LOCATION_MAX_ENUM : i32 = 0x7FFFFFF;
pub type DescriptorUpdateTemplateType = i32;
pub const DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET : i32 = 0;
pub const DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR : i32 = 1;
pub const DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR : i32 = DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET;
pub const DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM : i32 = 0x7FFFFFF;
pub type SubgroupFeatureFlagBits = i32;
pub const SUBGROUP_FEATURE_BASIC_BIT : i32 = 0x00000001;
pub const SUBGROUP_FEATURE_VOTE_BIT : i32 = 0x00000002;
pub const SUBGROUP_FEATURE_ARITHMETIC_BIT : i32 = 0x00000004;
pub const SUBGROUP_FEATURE_BALLOT_BIT : i32 = 0x00000008;
pub const SUBGROUP_FEATURE_SHUFFLE_BIT : i32 = 0x00000010;
pub const SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT : i32 = 0x00000020;
pub const SUBGROUP_FEATURE_CLUSTERED_BIT : i32 = 0x00000040;
pub const SUBGROUP_FEATURE_QUAD_BIT : i32 = 0x00000080;
pub const SUBGROUP_FEATURE_PARTITIONED_BIT_NV : i32 = 0x00000100;
pub const SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type SubgroupFeatureFlags = i32;
pub type PeerMemoryFeatureFlagBits = i32;
pub const PEER_MEMORY_FEATURE_COPY_SRC_BIT : i32 = 0x00000001;
pub const PEER_MEMORY_FEATURE_COPY_DST_BIT : i32 = 0x00000002;
pub const PEER_MEMORY_FEATURE_GENERIC_SRC_BIT : i32 = 0x00000004;
pub const PEER_MEMORY_FEATURE_GENERIC_DST_BIT : i32 = 0x00000008;
pub const PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR : i32 = PEER_MEMORY_FEATURE_COPY_SRC_BIT;
pub const PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR : i32 = PEER_MEMORY_FEATURE_COPY_DST_BIT;
pub const PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR : i32 = PEER_MEMORY_FEATURE_GENERIC_SRC_BIT;
pub const PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR : i32 = PEER_MEMORY_FEATURE_GENERIC_DST_BIT;
pub const PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type PeerMemoryFeatureFlags = i32;
pub type MemoryAllocateFlagBits = i32;
pub const MEMORY_ALLOCATE_DEVICE_MASK_BIT : i32 = 0x00000001;
pub const MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT : i32 = 0x00000002;
pub const MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT : i32 = 0x00000004;
pub const MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR : i32 = MEMORY_ALLOCATE_DEVICE_MASK_BIT;
pub const MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR : i32 = MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT;
pub const MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR : i32 = MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT;
pub const MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type MemoryAllocateFlags = i32;
pub type CommandPoolTrimFlags = i32;
pub type DescriptorUpdateTemplateCreateFlags = i32;
pub type ExternalMemoryHandleTypeFlagBits = i32;
pub const EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT : i32 = 0x00000001;
pub const EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT : i32 = 0x00000002;
pub const EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT : i32 = 0x00000004;
pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT : i32 = 0x00000008;
pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT : i32 = 0x00000010;
pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT : i32 = 0x00000020;
pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT : i32 = 0x00000040;
pub const EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT : i32 = 0x00000200;
pub const EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID : i32 = 0x00000400;
pub const EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT : i32 = 0x00000080;
pub const EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT : i32 = 0x00000100;
pub const EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR : i32 = EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT;
pub const EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR : i32 = EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT;
pub const EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR : i32 = EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT;
pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR : i32 = EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT;
pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR : i32 = EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT;
pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR : i32 = EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT;
pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR : i32 = EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT;
pub const EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type ExternalMemoryHandleTypeFlags = i32;
pub type ExternalMemoryFeatureFlagBits = i32;
pub const EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT : i32 = 0x00000001;
pub const EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT : i32 = 0x00000002;
pub const EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT : i32 = 0x00000004;
pub const EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR : i32 = EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT;
pub const EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR : i32 = EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT;
pub const EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR : i32 = EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT;
pub const EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type ExternalMemoryFeatureFlags = i32;
pub type ExternalFenceHandleTypeFlagBits = i32;
pub const EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT : i32 = 0x00000001;
pub const EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT : i32 = 0x00000002;
pub const EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT : i32 = 0x00000004;
pub const EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT : i32 = 0x00000008;
pub const EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR : i32 = EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT;
pub const EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR : i32 = EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT;
pub const EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR : i32 = EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT;
pub const EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR : i32 = EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT;
pub const EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type ExternalFenceHandleTypeFlags = i32;
pub type ExternalFenceFeatureFlagBits = i32;
pub const EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT : i32 = 0x00000001;
pub const EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT : i32 = 0x00000002;
pub const EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR : i32 = EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT;
pub const EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR : i32 = EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT;
pub const EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type ExternalFenceFeatureFlags = i32;
pub type FenceImportFlagBits = i32;
pub const FENCE_IMPORT_TEMPORARY_BIT : i32 = 0x00000001;
pub const FENCE_IMPORT_TEMPORARY_BIT_KHR : i32 = FENCE_IMPORT_TEMPORARY_BIT;
pub const FENCE_IMPORT_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type FenceImportFlags = i32;
pub type SemaphoreImportFlagBits = i32;
pub const SEMAPHORE_IMPORT_TEMPORARY_BIT : i32 = 0x00000001;
pub const SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR : i32 = SEMAPHORE_IMPORT_TEMPORARY_BIT;
pub const SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type SemaphoreImportFlags = i32;
pub type ExternalSemaphoreHandleTypeFlagBits = i32;
pub const EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT : i32 = 0x00000001;
pub const EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT : i32 = 0x00000002;
pub const EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT : i32 = 0x00000004;
pub const EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT : i32 = 0x00000008;
pub const EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT : i32 = 0x00000010;
pub const EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR : i32 = EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT;
pub const EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR : i32 = EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT;
pub const EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR : i32 = EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT;
pub const EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR : i32 = EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT;
pub const EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR : i32 = EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT;
pub const EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type ExternalSemaphoreHandleTypeFlags = i32;
pub type ExternalSemaphoreFeatureFlagBits = i32;
pub const EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT : i32 = 0x00000001;
pub const EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT : i32 = 0x00000002;
pub const EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR : i32 = EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT;
pub const EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR : i32 = EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT;
pub const EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type ExternalSemaphoreFeatureFlags = i32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceSubgroupProperties {
pub sType : StructureType,
pub pNext : *mut void,
pub subgroupSize : u32,
pub supportedStages : ShaderStageFlags,
pub supportedOperations : SubgroupFeatureFlags,
pub quadOperationsInAllStages : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct BindBufferMemoryInfo {
pub sType : StructureType,
pub pNext : *const void,
pub buffer : Buffer,
pub memory : DeviceMemory,
pub memoryOffset : DeviceSize,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct BindImageMemoryInfo {
pub sType : StructureType,
pub pNext : *const void,
pub image : Image,
pub memory : DeviceMemory,
pub memoryOffset : DeviceSize,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDevice16BitStorageFeatures {
pub sType : StructureType,
pub pNext : *mut void,
pub storageBuffer16BitAccess : Bool32,
pub uniformAndStorageBuffer16BitAccess : Bool32,
pub storagePushConstant16 : Bool32,
pub storageInputOutput16 : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct MemoryDedicatedRequirements {
pub sType : StructureType,
pub pNext : *mut void,
pub prefersDedicatedAllocation : Bool32,
pub requiresDedicatedAllocation : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct MemoryDedicatedAllocateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub image : Image,
pub buffer : Buffer,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct MemoryAllocateFlagsInfo {
pub sType : StructureType,
pub pNext : *const void,
pub flags : MemoryAllocateFlags,
pub deviceMask : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DeviceGroupRenderPassBeginInfo {
pub sType : StructureType,
pub pNext : *const void,
pub deviceMask : u32,
pub deviceRenderAreaCount : u32,
pub pDeviceRenderAreas : *const Rect2D,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DeviceGroupCommandBufferBeginInfo {
pub sType : StructureType,
pub pNext : *const void,
pub deviceMask : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DeviceGroupSubmitInfo {
pub sType : StructureType,
pub pNext : *const void,
pub waitSemaphoreCount : u32,
pub pWaitSemaphoreDeviceIndices : *const u32,
pub commandBufferCount : u32,
pub pCommandBufferDeviceMasks : *const u32,
pub signalSemaphoreCount : u32,
pub pSignalSemaphoreDeviceIndices : *const u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DeviceGroupBindSparseInfo {
pub sType : StructureType,
pub pNext : *const void,
pub resourceDeviceIndex : u32,
pub memoryDeviceIndex : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct BindBufferMemoryDeviceGroupInfo {
pub sType : StructureType,
pub pNext : *const void,
pub deviceIndexCount : u32,
pub pDeviceIndices : *const u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct BindImageMemoryDeviceGroupInfo {
pub sType : StructureType,
pub pNext : *const void,
pub deviceIndexCount : u32,
pub pDeviceIndices : *const u32,
pub splitInstanceBindRegionCount : u32,
pub pSplitInstanceBindRegions : *const Rect2D,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceGroupProperties {
pub sType : StructureType,
pub pNext : *mut void,
pub physicalDeviceCount : u32,
pub physicalDevices : [PhysicalDevice;MAX_DEVICE_GROUP_SIZE],
pub subsetAllocation : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DeviceGroupDeviceCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub physicalDeviceCount : u32,
pub pPhysicalDevices : *const PhysicalDevice,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct BufferMemoryRequirementsInfo2 {
pub sType : StructureType,
pub pNext : *const void,
pub buffer : Buffer,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ImageMemoryRequirementsInfo2 {
pub sType : StructureType,
pub pNext : *const void,
pub image : Image,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ImageSparseMemoryRequirementsInfo2 {
pub sType : StructureType,
pub pNext : *const void,
pub image : Image,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct MemoryRequirements2 {
pub sType : StructureType,
pub pNext : *mut void,
pub memoryRequirements : MemoryRequirements,
}
pub type MemoryRequirements2KHR = MemoryRequirements2;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SparseImageMemoryRequirements2 {
pub sType : StructureType,
pub pNext : *mut void,
pub memoryRequirements : SparseImageMemoryRequirements,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceFeatures2 {
pub sType : StructureType,
pub pNext : *mut void,
pub features : PhysicalDeviceFeatures,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct PhysicalDeviceProperties2 {
pub sType : StructureType,
pub pNext : *mut void,
pub properties : PhysicalDeviceProperties,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FormatProperties2 {
pub sType : StructureType,
pub pNext : *mut void,
pub formatProperties : FormatProperties,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ImageFormatProperties2 {
pub sType : StructureType,
pub pNext : *mut void,
pub imageFormatProperties : ImageFormatProperties,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceImageFormatInfo2 {
pub sType : StructureType,
pub pNext : *const void,
pub format : Format,
pub r#type : ImageType,
pub tiling : ImageTiling,
pub usage : ImageUsageFlags,
pub flags : ImageCreateFlags,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct QueueFamilyProperties2 {
pub sType : StructureType,
pub pNext : *mut void,
pub queueFamilyProperties : QueueFamilyProperties,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceMemoryProperties2 {
pub sType : StructureType,
pub pNext : *mut void,
pub memoryProperties : PhysicalDeviceMemoryProperties,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SparseImageFormatProperties2 {
pub sType : StructureType,
pub pNext : *mut void,
pub properties : SparseImageFormatProperties,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceSparseImageFormatInfo2 {
pub sType : StructureType,
pub pNext : *const void,
pub format : Format,
pub r#type : ImageType,
pub samples : SampleCountFlagBits,
pub usage : ImageUsageFlags,
pub tiling : ImageTiling,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDevicePointClippingProperties {
pub sType : StructureType,
pub pNext : *mut void,
pub pointClippingBehavior : PointClippingBehavior,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct InputAttachmentAspectReference {
pub subpass : u32,
pub inputAttachmentIndex : u32,
pub aspectMask : ImageAspectFlags,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct RenderPassInputAttachmentAspectCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub aspectReferenceCount : u32,
pub pAspectReferences : *const InputAttachmentAspectReference,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ImageViewUsageCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub usage : ImageUsageFlags,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PipelineTessellationDomainOriginStateCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub domainOrigin : TessellationDomainOrigin,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct RenderPassMultiviewCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub subpassCount : u32,
pub pViewMasks : *const u32,
pub dependencyCount : u32,
pub pViewOffsets : *const i32,
pub correlationMaskCount : u32,
pub pCorrelationMasks : *const u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceMultiviewFeatures {
pub sType : StructureType,
pub pNext : *mut void,
pub multiview : Bool32,
pub multiviewGeometryShader : Bool32,
pub multiviewTessellationShader : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceMultiviewProperties {
pub sType : StructureType,
pub pNext : *mut void,
pub maxMultiviewViewCount : u32,
pub maxMultiviewInstanceIndex : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceVariablePointersFeatures {
pub sType : StructureType,
pub pNext : *mut void,
pub variablePointersStorageBuffer : Bool32,
pub variablePointers : Bool32,
}
pub type PhysicalDeviceVariablePointerFeatures = PhysicalDeviceVariablePointersFeatures;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceProtectedMemoryFeatures {
pub sType : StructureType,
pub pNext : *mut void,
pub protectedMemory : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceProtectedMemoryProperties {
pub sType : StructureType,
pub pNext : *mut void,
pub protectedNoFault : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DeviceQueueInfo2 {
pub sType : StructureType,
pub pNext : *const void,
pub flags : DeviceQueueCreateFlags,
pub queueFamilyIndex : u32,
pub queueIndex : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ProtectedSubmitInfo {
pub sType : StructureType,
pub pNext : *const void,
pub protectedSubmit : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SamplerYcbcrConversionCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub format : Format,
pub ycbcrModel : SamplerYcbcrModelConversion,
pub ycbcrRange : SamplerYcbcrRange,
pub components : ComponentMapping,
pub xChromaOffset : ChromaLocation,
pub yChromaOffset : ChromaLocation,
pub chromaFilter : Filter,
pub forceExplicitReconstruction : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SamplerYcbcrConversionInfo {
pub sType : StructureType,
pub pNext : *const void,
pub conversion : SamplerYcbcrConversion,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct BindImagePlaneMemoryInfo {
pub sType : StructureType,
pub pNext : *const void,
pub planeAspect : ImageAspectFlagBits,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ImagePlaneMemoryRequirementsInfo {
pub sType : StructureType,
pub pNext : *const void,
pub planeAspect : ImageAspectFlagBits,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceSamplerYcbcrConversionFeatures {
pub sType : StructureType,
pub pNext : *mut void,
pub samplerYcbcrConversion : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SamplerYcbcrConversionImageFormatProperties {
pub sType : StructureType,
pub pNext : *mut void,
pub combinedImageSamplerDescriptorCount : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DescriptorUpdateTemplateEntry {
pub dstBinding : u32,
pub dstArrayElement : u32,
pub descriptorCount : u32,
pub descriptorType : DescriptorType,
pub offset : usize,
pub stride : usize,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DescriptorUpdateTemplateCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub flags : DescriptorUpdateTemplateCreateFlags,
pub descriptorUpdateEntryCount : u32,
pub pDescriptorUpdateEntries : *const DescriptorUpdateTemplateEntry,
pub templateType : DescriptorUpdateTemplateType,
pub descriptorSetLayout : DescriptorSetLayout,
pub pipelineBindPoint : PipelineBindPoint,
pub pipelineLayout : PipelineLayout,
pub set : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ExternalMemoryProperties {
pub externalMemoryFeatures : ExternalMemoryFeatureFlags,
pub exportFromImportedHandleTypes : ExternalMemoryHandleTypeFlags,
pub compatibleHandleTypes : ExternalMemoryHandleTypeFlags,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceExternalImageFormatInfo {
pub sType : StructureType,
pub pNext : *const void,
pub handleType : ExternalMemoryHandleTypeFlagBits,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ExternalImageFormatProperties {
pub sType : StructureType,
pub pNext : *mut void,
pub externalMemoryProperties : ExternalMemoryProperties,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceExternalBufferInfo {
pub sType : StructureType,
pub pNext : *const void,
pub flags : BufferCreateFlags,
pub usage : BufferUsageFlags,
pub handleType : ExternalMemoryHandleTypeFlagBits,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ExternalBufferProperties {
pub sType : StructureType,
pub pNext : *mut void,
pub externalMemoryProperties : ExternalMemoryProperties,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceIDProperties {
pub sType : StructureType,
pub pNext : *mut void,
pub deviceUUID : [u8;UUID_SIZE],
pub driverUUID : [u8;UUID_SIZE],
pub deviceLUID : [u8;LUID_SIZE],
pub deviceNodeMask : u32,
pub deviceLUIDValid : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ExternalMemoryImageCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub handleTypes : ExternalMemoryHandleTypeFlags,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ExternalMemoryBufferCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub handleTypes : ExternalMemoryHandleTypeFlags,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ExportMemoryAllocateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub handleTypes : ExternalMemoryHandleTypeFlags,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceExternalFenceInfo {
pub sType : StructureType,
pub pNext : *const void,
pub handleType : ExternalFenceHandleTypeFlagBits,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ExternalFenceProperties {
pub sType : StructureType,
pub pNext : *mut void,
pub exportFromImportedHandleTypes : ExternalFenceHandleTypeFlags,
pub compatibleHandleTypes : ExternalFenceHandleTypeFlags,
pub externalFenceFeatures : ExternalFenceFeatureFlags,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ExportFenceCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub handleTypes : ExternalFenceHandleTypeFlags,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ExportSemaphoreCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub handleTypes : ExternalSemaphoreHandleTypeFlags,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceExternalSemaphoreInfo {
pub sType : StructureType,
pub pNext : *const void,
pub handleType : ExternalSemaphoreHandleTypeFlagBits,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ExternalSemaphoreProperties {
pub sType : StructureType,
pub pNext : *mut void,
pub exportFromImportedHandleTypes : ExternalSemaphoreHandleTypeFlags,
pub compatibleHandleTypes : ExternalSemaphoreHandleTypeFlags,
pub externalSemaphoreFeatures : ExternalSemaphoreFeatureFlags,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceMaintenance3Properties {
pub sType : StructureType,
pub pNext : *mut void,
pub maxPerSetDescriptors : u32,
pub maxMemoryAllocationSize : DeviceSize,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DescriptorSetLayoutSupport {
pub sType : StructureType,
pub pNext : *mut void,
pub supported : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceShaderDrawParametersFeatures {
pub sType : StructureType,
pub pNext : *mut void,
pub shaderDrawParameters : Bool32,
}
pub type PhysicalDeviceShaderDrawParameterFeatures = PhysicalDeviceShaderDrawParametersFeatures;
pub type DeviceAddress = u64;
pub type DriverId = i32;
pub const DRIVER_ID_AMD_PROPRIETARY : i32 = 1;
pub const DRIVER_ID_AMD_OPEN_SOURCE : i32 = 2;
pub const DRIVER_ID_MESA_RADV : i32 = 3;
pub const DRIVER_ID_NVIDIA_PROPRIETARY : i32 = 4;
pub const DRIVER_ID_INTEL_PROPRIETARY_WINDOWS : i32 = 5;
pub const DRIVER_ID_INTEL_OPEN_SOURCE_MESA : i32 = 6;
pub const DRIVER_ID_IMAGINATION_PROPRIETARY : i32 = 7;
pub const DRIVER_ID_QUALCOMM_PROPRIETARY : i32 = 8;
pub const DRIVER_ID_ARM_PROPRIETARY : i32 = 9;
pub const DRIVER_ID_GOOGLE_SWIFTSHADER : i32 = 10;
pub const DRIVER_ID_GGP_PROPRIETARY : i32 = 11;
pub const DRIVER_ID_BROADCOM_PROPRIETARY : i32 = 12;
pub const DRIVER_ID_MESA_LLVMPIPE : i32 = 13;
pub const DRIVER_ID_AMD_PROPRIETARY_KHR : i32 = DRIVER_ID_AMD_PROPRIETARY;
pub const DRIVER_ID_AMD_OPEN_SOURCE_KHR : i32 = DRIVER_ID_AMD_OPEN_SOURCE;
pub const DRIVER_ID_MESA_RADV_KHR : i32 = DRIVER_ID_MESA_RADV;
pub const DRIVER_ID_NVIDIA_PROPRIETARY_KHR : i32 = DRIVER_ID_NVIDIA_PROPRIETARY;
pub const DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR : i32 = DRIVER_ID_INTEL_PROPRIETARY_WINDOWS;
pub const DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR : i32 = DRIVER_ID_INTEL_OPEN_SOURCE_MESA;
pub const DRIVER_ID_IMAGINATION_PROPRIETARY_KHR : i32 = DRIVER_ID_IMAGINATION_PROPRIETARY;
pub const DRIVER_ID_QUALCOMM_PROPRIETARY_KHR : i32 = DRIVER_ID_QUALCOMM_PROPRIETARY;
pub const DRIVER_ID_ARM_PROPRIETARY_KHR : i32 = DRIVER_ID_ARM_PROPRIETARY;
pub const DRIVER_ID_GOOGLE_SWIFTSHADER_KHR : i32 = DRIVER_ID_GOOGLE_SWIFTSHADER;
pub const DRIVER_ID_GGP_PROPRIETARY_KHR : i32 = DRIVER_ID_GGP_PROPRIETARY;
pub const DRIVER_ID_BROADCOM_PROPRIETARY_KHR : i32 = DRIVER_ID_BROADCOM_PROPRIETARY;
pub const DRIVER_ID_MAX_ENUM : i32 = 0x7FFFFFF;
pub type ShaderFloatControlsIndependence = i32;
pub const SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY : i32 = 0;
pub const SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL : i32 = 1;
pub const SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE : i32 = 2;
pub const SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR : i32 = SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY;
pub const SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR : i32 = SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL;
pub const SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR : i32 = SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE;
pub const SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM : i32 = 0x7FFFFFF;
pub type SamplerReductionMode = i32;
pub const SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE : i32 = 0;
pub const SAMPLER_REDUCTION_MODE_MIN : i32 = 1;
pub const SAMPLER_REDUCTION_MODE_MAX : i32 = 2;
pub const SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT : i32 = SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE;
pub const SAMPLER_REDUCTION_MODE_MIN_EXT : i32 = SAMPLER_REDUCTION_MODE_MIN;
pub const SAMPLER_REDUCTION_MODE_MAX_EXT : i32 = SAMPLER_REDUCTION_MODE_MAX;
pub const SAMPLER_REDUCTION_MODE_MAX_ENUM : i32 = 0x7FFFFFF;
pub type SemaphoreType = i32;
pub const SEMAPHORE_TYPE_BINARY : i32 = 0;
pub const SEMAPHORE_TYPE_TIMELINE : i32 = 1;
pub const SEMAPHORE_TYPE_BINARY_KHR : i32 = SEMAPHORE_TYPE_BINARY;
pub const SEMAPHORE_TYPE_TIMELINE_KHR : i32 = SEMAPHORE_TYPE_TIMELINE;
pub const SEMAPHORE_TYPE_MAX_ENUM : i32 = 0x7FFFFFF;
pub type ResolveModeFlagBits = i32;
pub const RESOLVE_MODE_NONE : i32 = 0;
pub const RESOLVE_MODE_SAMPLE_ZERO_BIT : i32 = 0x00000001;
pub const RESOLVE_MODE_AVERAGE_BIT : i32 = 0x00000002;
pub const RESOLVE_MODE_MIN_BIT : i32 = 0x00000004;
pub const RESOLVE_MODE_MAX_BIT : i32 = 0x00000008;
pub const RESOLVE_MODE_NONE_KHR : i32 = RESOLVE_MODE_NONE;
pub const RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR : i32 = RESOLVE_MODE_SAMPLE_ZERO_BIT;
pub const RESOLVE_MODE_AVERAGE_BIT_KHR : i32 = RESOLVE_MODE_AVERAGE_BIT;
pub const RESOLVE_MODE_MIN_BIT_KHR : i32 = RESOLVE_MODE_MIN_BIT;
pub const RESOLVE_MODE_MAX_BIT_KHR : i32 = RESOLVE_MODE_MAX_BIT;
pub const RESOLVE_MODE_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type ResolveModeFlags = i32;
pub type DescriptorBindingFlagBits = i32;
pub const DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT : i32 = 0x00000001;
pub const DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT : i32 = 0x00000002;
pub const DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT : i32 = 0x00000004;
pub const DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT : i32 = 0x00000008;
pub const DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT : i32 = DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT;
pub const DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT : i32 = DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT;
pub const DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT : i32 = DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT;
pub const DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT : i32 = DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT;
pub const DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type DescriptorBindingFlags = i32;
pub type SemaphoreWaitFlagBits = i32;
pub const SEMAPHORE_WAIT_ANY_BIT : i32 = 0x00000001;
pub const SEMAPHORE_WAIT_ANY_BIT_KHR : i32 = SEMAPHORE_WAIT_ANY_BIT;
pub const SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM : i32 = 0x7FFFFFF;
pub type SemaphoreWaitFlags = i32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceVulkan11Features {
pub sType : StructureType,
pub pNext : *mut void,
pub storageBuffer16BitAccess : Bool32,
pub uniformAndStorageBuffer16BitAccess : Bool32,
pub storagePushConstant16 : Bool32,
pub storageInputOutput16 : Bool32,
pub multiview : Bool32,
pub multiviewGeometryShader : Bool32,
pub multiviewTessellationShader : Bool32,
pub variablePointersStorageBuffer : Bool32,
pub variablePointers : Bool32,
pub protectedMemory : Bool32,
pub samplerYcbcrConversion : Bool32,
pub shaderDrawParameters : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceVulkan11Properties {
pub sType : StructureType,
pub pNext : *mut void,
pub deviceUUID : [u8;UUID_SIZE],
pub driverUUID : [u8;UUID_SIZE],
pub deviceLUID : [u8;LUID_SIZE],
pub deviceNodeMask : u32,
pub deviceLUIDValid : Bool32,
pub subgroupSize : u32,
pub subgroupSupportedStages : ShaderStageFlags,
pub subgroupSupportedOperations : SubgroupFeatureFlags,
pub subgroupQuadOperationsInAllStages : Bool32,
pub pointClippingBehavior : PointClippingBehavior,
pub maxMultiviewViewCount : u32,
pub maxMultiviewInstanceIndex : u32,
pub protectedNoFault : Bool32,
pub maxPerSetDescriptors : u32,
pub maxMemoryAllocationSize : DeviceSize,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceVulkan12Features {
pub sType : StructureType,
pub pNext : *mut void,
pub samplerMirrorClampToEdge : Bool32,
pub drawIndirectCount : Bool32,
pub storageBuffer8BitAccess : Bool32,
pub uniformAndStorageBuffer8BitAccess : Bool32,
pub storagePushConstant8 : Bool32,
pub shaderBufferInt64Atomics : Bool32,
pub shaderSharedInt64Atomics : Bool32,
pub shaderFloat16 : Bool32,
pub shaderInt8 : Bool32,
pub descriptorIndexing : Bool32,
pub shaderInputAttachmentArrayDynamicIndexing : Bool32,
pub shaderUniformTexelBufferArrayDynamicIndexing : Bool32,
pub shaderStorageTexelBufferArrayDynamicIndexing : Bool32,
pub shaderUniformBufferArrayNonUniformIndexing : Bool32,
pub shaderSampledImageArrayNonUniformIndexing : Bool32,
pub shaderStorageBufferArrayNonUniformIndexing : Bool32,
pub shaderStorageImageArrayNonUniformIndexing : Bool32,
pub shaderInputAttachmentArrayNonUniformIndexing : Bool32,
pub shaderUniformTexelBufferArrayNonUniformIndexing : Bool32,
pub shaderStorageTexelBufferArrayNonUniformIndexing : Bool32,
pub descriptorBindingUniformBufferUpdateAfterBind : Bool32,
pub descriptorBindingSampledImageUpdateAfterBind : Bool32,
pub descriptorBindingStorageImageUpdateAfterBind : Bool32,
pub descriptorBindingStorageBufferUpdateAfterBind : Bool32,
pub descriptorBindingUniformTexelBufferUpdateAfterBind : Bool32,
pub descriptorBindingStorageTexelBufferUpdateAfterBind : Bool32,
pub descriptorBindingUpdateUnusedWhilePending : Bool32,
pub descriptorBindingPartiallyBound : Bool32,
pub descriptorBindingVariableDescriptorCount : Bool32,
pub runtimeDescriptorArray : Bool32,
pub samplerFilterMinmax : Bool32,
pub scalarBlockLayout : Bool32,
pub imagelessFramebuffer : Bool32,
pub uniformBufferStandardLayout : Bool32,
pub shaderSubgroupExtendedTypes : Bool32,
pub separateDepthStencilLayouts : Bool32,
pub hostQueryReset : Bool32,
pub timelineSemaphore : Bool32,
pub bufferDeviceAddress : Bool32,
pub bufferDeviceAddressCaptureReplay : Bool32,
pub bufferDeviceAddressMultiDevice : Bool32,
pub vulkanMemoryModel : Bool32,
pub vulkanMemoryModelDeviceScope : Bool32,
pub vulkanMemoryModelAvailabilityVisibilityChains : Bool32,
pub shaderOutputViewportIndex : Bool32,
pub shaderOutputLayer : Bool32,
pub subgroupBroadcastDynamicId : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ConformanceVersion {
pub major : u8,
pub minor : u8,
pub subminor : u8,
pub patch : u8,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct PhysicalDeviceVulkan12Properties {
pub sType : StructureType,
pub pNext : *mut void,
pub driverID : DriverId,
pub driverName : [i8;MAX_DRIVER_NAME_SIZE],
pub driverInfo : [i8;MAX_DRIVER_INFO_SIZE],
pub conformanceVersion : ConformanceVersion,
pub denormBehaviorIndependence : ShaderFloatControlsIndependence,
pub roundingModeIndependence : ShaderFloatControlsIndependence,
pub shaderSignedZeroInfNanPreserveFloat16 : Bool32,
pub shaderSignedZeroInfNanPreserveFloat32 : Bool32,
pub shaderSignedZeroInfNanPreserveFloat64 : Bool32,
pub shaderDenormPreserveFloat16 : Bool32,
pub shaderDenormPreserveFloat32 : Bool32,
pub shaderDenormPreserveFloat64 : Bool32,
pub shaderDenormFlushToZeroFloat16 : Bool32,
pub shaderDenormFlushToZeroFloat32 : Bool32,
pub shaderDenormFlushToZeroFloat64 : Bool32,
pub shaderRoundingModeRTEFloat16 : Bool32,
pub shaderRoundingModeRTEFloat32 : Bool32,
pub shaderRoundingModeRTEFloat64 : Bool32,
pub shaderRoundingModeRTZFloat16 : Bool32,
pub shaderRoundingModeRTZFloat32 : Bool32,
pub shaderRoundingModeRTZFloat64 : Bool32,
pub maxUpdateAfterBindDescriptorsInAllPools : u32,
pub shaderUniformBufferArrayNonUniformIndexingNative : Bool32,
pub shaderSampledImageArrayNonUniformIndexingNative : Bool32,
pub shaderStorageBufferArrayNonUniformIndexingNative : Bool32,
pub shaderStorageImageArrayNonUniformIndexingNative : Bool32,
pub shaderInputAttachmentArrayNonUniformIndexingNative : Bool32,
pub robustBufferAccessUpdateAfterBind : Bool32,
pub quadDivergentImplicitLod : Bool32,
pub maxPerStageDescriptorUpdateAfterBindSamplers : u32,
pub maxPerStageDescriptorUpdateAfterBindUniformBuffers : u32,
pub maxPerStageDescriptorUpdateAfterBindStorageBuffers : u32,
pub maxPerStageDescriptorUpdateAfterBindSampledImages : u32,
pub maxPerStageDescriptorUpdateAfterBindStorageImages : u32,
pub maxPerStageDescriptorUpdateAfterBindInputAttachments : u32,
pub maxPerStageUpdateAfterBindResources : u32,
pub maxDescriptorSetUpdateAfterBindSamplers : u32,
pub maxDescriptorSetUpdateAfterBindUniformBuffers : u32,
pub maxDescriptorSetUpdateAfterBindUniformBuffersDynamic : u32,
pub maxDescriptorSetUpdateAfterBindStorageBuffers : u32,
pub maxDescriptorSetUpdateAfterBindStorageBuffersDynamic : u32,
pub maxDescriptorSetUpdateAfterBindSampledImages : u32,
pub maxDescriptorSetUpdateAfterBindStorageImages : u32,
pub maxDescriptorSetUpdateAfterBindInputAttachments : u32,
pub supportedDepthResolveModes : ResolveModeFlags,
pub supportedStencilResolveModes : ResolveModeFlags,
pub independentResolveNone : Bool32,
pub independentResolve : Bool32,
pub filterMinmaxSingleComponentFormats : Bool32,
pub filterMinmaxImageComponentMapping : Bool32,
pub maxTimelineSemaphoreValueDifference : u64,
pub framebufferIntegerColorSampleCounts : SampleCountFlags,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ImageFormatListCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub viewFormatCount : u32,
pub pViewFormats : *const Format,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct AttachmentDescription2 {
pub sType : StructureType,
pub pNext : *const void,
pub flags : AttachmentDescriptionFlags,
pub format : Format,
pub samples : SampleCountFlagBits,
pub loadOp : AttachmentLoadOp,
pub storeOp : AttachmentStoreOp,
pub stencilLoadOp : AttachmentLoadOp,
pub stencilStoreOp : AttachmentStoreOp,
pub initialLayout : ImageLayout,
pub finalLayout : ImageLayout,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct AttachmentReference2 {
pub sType : StructureType,
pub pNext : *const void,
pub attachment : u32,
pub layout : ImageLayout,
pub aspectMask : ImageAspectFlags,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SubpassDescription2 {
pub sType : StructureType,
pub pNext : *const void,
pub flags : SubpassDescriptionFlags,
pub pipelineBindPoint : PipelineBindPoint,
pub viewMask : u32,
pub inputAttachmentCount : u32,
pub pInputAttachments : *const AttachmentReference2,
pub colorAttachmentCount : u32,
pub pColorAttachments : *const AttachmentReference2,
pub pResolveAttachments : *const AttachmentReference2,
pub pDepthStencilAttachment : *const AttachmentReference2,
pub preserveAttachmentCount : u32,
pub pPreserveAttachments : *const u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SubpassDependency2 {
pub sType : StructureType,
pub pNext : *const void,
pub srcSubpass : u32,
pub dstSubpass : u32,
pub srcStageMask : PipelineStageFlags,
pub dstStageMask : PipelineStageFlags,
pub srcAccessMask : AccessFlags,
pub dstAccessMask : AccessFlags,
pub dependencyFlags : DependencyFlags,
pub viewOffset : i32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct RenderPassCreateInfo2 {
pub sType : StructureType,
pub pNext : *const void,
pub flags : RenderPassCreateFlags,
pub attachmentCount : u32,
pub pAttachments : *const AttachmentDescription2,
pub subpassCount : u32,
pub pSubpasses : *const SubpassDescription2,
pub dependencyCount : u32,
pub pDependencies : *const SubpassDependency2,
pub correlatedViewMaskCount : u32,
pub pCorrelatedViewMasks : *const u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SubpassBeginInfo {
pub sType : StructureType,
pub pNext : *const void,
pub contents : SubpassContents,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SubpassEndInfo {
pub sType : StructureType,
pub pNext : *const void,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDevice8BitStorageFeatures {
pub sType : StructureType,
pub pNext : *mut void,
pub storageBuffer8BitAccess : Bool32,
pub uniformAndStorageBuffer8BitAccess : Bool32,
pub storagePushConstant8 : Bool32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct PhysicalDeviceDriverProperties {
pub sType : StructureType,
pub pNext : *mut void,
pub driverID : DriverId,
pub driverName : [i8;MAX_DRIVER_NAME_SIZE],
pub driverInfo : [i8;MAX_DRIVER_INFO_SIZE],
pub conformanceVersion : ConformanceVersion,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceShaderAtomicInt64Features {
pub sType : StructureType,
pub pNext : *mut void,
pub shaderBufferInt64Atomics : Bool32,
pub shaderSharedInt64Atomics : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceShaderFloat16Int8Features {
pub sType : StructureType,
pub pNext : *mut void,
pub shaderFloat16 : Bool32,
pub shaderInt8 : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceFloatControlsProperties {
pub sType : StructureType,
pub pNext : *mut void,
pub denormBehaviorIndependence : ShaderFloatControlsIndependence,
pub roundingModeIndependence : ShaderFloatControlsIndependence,
pub shaderSignedZeroInfNanPreserveFloat16 : Bool32,
pub shaderSignedZeroInfNanPreserveFloat32 : Bool32,
pub shaderSignedZeroInfNanPreserveFloat64 : Bool32,
pub shaderDenormPreserveFloat16 : Bool32,
pub shaderDenormPreserveFloat32 : Bool32,
pub shaderDenormPreserveFloat64 : Bool32,
pub shaderDenormFlushToZeroFloat16 : Bool32,
pub shaderDenormFlushToZeroFloat32 : Bool32,
pub shaderDenormFlushToZeroFloat64 : Bool32,
pub shaderRoundingModeRTEFloat16 : Bool32,
pub shaderRoundingModeRTEFloat32 : Bool32,
pub shaderRoundingModeRTEFloat64 : Bool32,
pub shaderRoundingModeRTZFloat16 : Bool32,
pub shaderRoundingModeRTZFloat32 : Bool32,
pub shaderRoundingModeRTZFloat64 : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DescriptorSetLayoutBindingFlagsCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub bindingCount : u32,
pub pBindingFlags : *const DescriptorBindingFlags,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceDescriptorIndexingFeatures {
pub sType : StructureType,
pub pNext : *mut void,
pub shaderInputAttachmentArrayDynamicIndexing : Bool32,
pub shaderUniformTexelBufferArrayDynamicIndexing : Bool32,
pub shaderStorageTexelBufferArrayDynamicIndexing : Bool32,
pub shaderUniformBufferArrayNonUniformIndexing : Bool32,
pub shaderSampledImageArrayNonUniformIndexing : Bool32,
pub shaderStorageBufferArrayNonUniformIndexing : Bool32,
pub shaderStorageImageArrayNonUniformIndexing : Bool32,
pub shaderInputAttachmentArrayNonUniformIndexing : Bool32,
pub shaderUniformTexelBufferArrayNonUniformIndexing : Bool32,
pub shaderStorageTexelBufferArrayNonUniformIndexing : Bool32,
pub descriptorBindingUniformBufferUpdateAfterBind : Bool32,
pub descriptorBindingSampledImageUpdateAfterBind : Bool32,
pub descriptorBindingStorageImageUpdateAfterBind : Bool32,
pub descriptorBindingStorageBufferUpdateAfterBind : Bool32,
pub descriptorBindingUniformTexelBufferUpdateAfterBind : Bool32,
pub descriptorBindingStorageTexelBufferUpdateAfterBind : Bool32,
pub descriptorBindingUpdateUnusedWhilePending : Bool32,
pub descriptorBindingPartiallyBound : Bool32,
pub descriptorBindingVariableDescriptorCount : Bool32,
pub runtimeDescriptorArray : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceDescriptorIndexingProperties {
pub sType : StructureType,
pub pNext : *mut void,
pub maxUpdateAfterBindDescriptorsInAllPools : u32,
pub shaderUniformBufferArrayNonUniformIndexingNative : Bool32,
pub shaderSampledImageArrayNonUniformIndexingNative : Bool32,
pub shaderStorageBufferArrayNonUniformIndexingNative : Bool32,
pub shaderStorageImageArrayNonUniformIndexingNative : Bool32,
pub shaderInputAttachmentArrayNonUniformIndexingNative : Bool32,
pub robustBufferAccessUpdateAfterBind : Bool32,
pub quadDivergentImplicitLod : Bool32,
pub maxPerStageDescriptorUpdateAfterBindSamplers : u32,
pub maxPerStageDescriptorUpdateAfterBindUniformBuffers : u32,
pub maxPerStageDescriptorUpdateAfterBindStorageBuffers : u32,
pub maxPerStageDescriptorUpdateAfterBindSampledImages : u32,
pub maxPerStageDescriptorUpdateAfterBindStorageImages : u32,
pub maxPerStageDescriptorUpdateAfterBindInputAttachments : u32,
pub maxPerStageUpdateAfterBindResources : u32,
pub maxDescriptorSetUpdateAfterBindSamplers : u32,
pub maxDescriptorSetUpdateAfterBindUniformBuffers : u32,
pub maxDescriptorSetUpdateAfterBindUniformBuffersDynamic : u32,
pub maxDescriptorSetUpdateAfterBindStorageBuffers : u32,
pub maxDescriptorSetUpdateAfterBindStorageBuffersDynamic : u32,
pub maxDescriptorSetUpdateAfterBindSampledImages : u32,
pub maxDescriptorSetUpdateAfterBindStorageImages : u32,
pub maxDescriptorSetUpdateAfterBindInputAttachments : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DescriptorSetVariableDescriptorCountAllocateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub descriptorSetCount : u32,
pub pDescriptorCounts : *const u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DescriptorSetVariableDescriptorCountLayoutSupport {
pub sType : StructureType,
pub pNext : *mut void,
pub maxVariableDescriptorCount : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SubpassDescriptionDepthStencilResolve {
pub sType : StructureType,
pub pNext : *const void,
pub depthResolveMode : ResolveModeFlagBits,
pub stencilResolveMode : ResolveModeFlagBits,
pub pDepthStencilResolveAttachment : *const AttachmentReference2,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceDepthStencilResolveProperties {
pub sType : StructureType,
pub pNext : *mut void,
pub supportedDepthResolveModes : ResolveModeFlags,
pub supportedStencilResolveModes : ResolveModeFlags,
pub independentResolveNone : Bool32,
pub independentResolve : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceScalarBlockLayoutFeatures {
pub sType : StructureType,
pub pNext : *mut void,
pub scalarBlockLayout : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ImageStencilUsageCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub stencilUsage : ImageUsageFlags,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SamplerReductionModeCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub reductionMode : SamplerReductionMode,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceSamplerFilterMinmaxProperties {
pub sType : StructureType,
pub pNext : *mut void,
pub filterMinmaxSingleComponentFormats : Bool32,
pub filterMinmaxImageComponentMapping : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceVulkanMemoryModelFeatures {
pub sType : StructureType,
pub pNext : *mut void,
pub vulkanMemoryModel : Bool32,
pub vulkanMemoryModelDeviceScope : Bool32,
pub vulkanMemoryModelAvailabilityVisibilityChains : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceImagelessFramebufferFeatures {
pub sType : StructureType,
pub pNext : *mut void,
pub imagelessFramebuffer : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FramebufferAttachmentImageInfo {
pub sType : StructureType,
pub pNext : *const void,
pub flags : ImageCreateFlags,
pub usage : ImageUsageFlags,
pub width : u32,
pub height : u32,
pub layerCount : u32,
pub viewFormatCount : u32,
pub pViewFormats : *const Format,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FramebufferAttachmentsCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub attachmentImageInfoCount : u32,
pub pAttachmentImageInfos : *const FramebufferAttachmentImageInfo,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct RenderPassAttachmentBeginInfo {
pub sType : StructureType,
pub pNext : *const void,
pub attachmentCount : u32,
pub pAttachments : *const ImageView,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceUniformBufferStandardLayoutFeatures {
pub sType : StructureType,
pub pNext : *mut void,
pub uniformBufferStandardLayout : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceShaderSubgroupExtendedTypesFeatures {
pub sType : StructureType,
pub pNext : *mut void,
pub shaderSubgroupExtendedTypes : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceSeparateDepthStencilLayoutsFeatures {
pub sType : StructureType,
pub pNext : *mut void,
pub separateDepthStencilLayouts : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct AttachmentReferenceStencilLayout {
pub sType : StructureType,
pub pNext : *mut void,
pub stencilLayout : ImageLayout,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct AttachmentDescriptionStencilLayout {
pub sType : StructureType,
pub pNext : *mut void,
pub stencilInitialLayout : ImageLayout,
pub stencilFinalLayout : ImageLayout,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceHostQueryResetFeatures {
pub sType : StructureType,
pub pNext : *mut void,
pub hostQueryReset : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceTimelineSemaphoreFeatures {
pub sType : StructureType,
pub pNext : *mut void,
pub timelineSemaphore : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceTimelineSemaphoreProperties {
pub sType : StructureType,
pub pNext : *mut void,
pub maxTimelineSemaphoreValueDifference : u64,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SemaphoreTypeCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub semaphoreType : SemaphoreType,
pub initialValue : u64,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct TimelineSemaphoreSubmitInfo {
pub sType : StructureType,
pub pNext : *const void,
pub waitSemaphoreValueCount : u32,
pub pWaitSemaphoreValues : *const u64,
pub signalSemaphoreValueCount : u32,
pub pSignalSemaphoreValues : *const u64,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SemaphoreWaitInfo {
pub sType : StructureType,
pub pNext : *const void,
pub flags : SemaphoreWaitFlags,
pub semaphoreCount : u32,
pub pSemaphores : *const Semaphore,
pub pValues : *const u64,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SemaphoreSignalInfo {
pub sType : StructureType,
pub pNext : *const void,
pub semaphore : Semaphore,
pub value : u64,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceBufferDeviceAddressFeatures {
pub sType : StructureType,
pub pNext : *mut void,
pub bufferDeviceAddress : Bool32,
pub bufferDeviceAddressCaptureReplay : Bool32,
pub bufferDeviceAddressMultiDevice : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct BufferDeviceAddressInfo {
pub sType : StructureType,
pub pNext : *const void,
pub buffer : Buffer,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct BufferOpaqueCaptureAddressCreateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub opaqueCaptureAddress : u64,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct MemoryOpaqueCaptureAddressAllocateInfo {
pub sType : StructureType,
pub pNext : *const void,
pub opaqueCaptureAddress : u64,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DeviceMemoryOpaqueCaptureAddressInfo {
pub sType : StructureType,
pub pNext : *const void,
pub memory : DeviceMemory,
}
pub type SurfaceKHR = u64;
pub type PresentModeKHR = i32;
pub const PRESENT_MODE_IMMEDIATE_KHR : i32 = 0;
pub const PRESENT_MODE_MAILBOX_KHR : i32 = 1;
pub const PRESENT_MODE_FIFO_KHR : i32 = 2;
pub const PRESENT_MODE_FIFO_RELAXED_KHR : i32 = 3;
pub const PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR : i32 = 1000111000;
pub const PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR : i32 = 1000111001;
pub const PRESENT_MODE_MAX_ENUM_KHR : i32 = 0x7FFFFFF;
pub type ColorSpaceKHR = i32;
pub const COLOR_SPACE_SRGB_NONLINEAR_KHR : i32 = 0;
pub const COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT : i32 = 1000104001;
pub const COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT : i32 = 1000104002;
pub const COLOR_SPACE_DISPLAY_P3_LINEAR_EXT : i32 = 1000104003;
pub const COLOR_SPACE_DCI_P3_NONLINEAR_EXT : i32 = 1000104004;
pub const COLOR_SPACE_BT709_LINEAR_EXT : i32 = 1000104005;
pub const COLOR_SPACE_BT709_NONLINEAR_EXT : i32 = 1000104006;
pub const COLOR_SPACE_BT2020_LINEAR_EXT : i32 = 1000104007;
pub const COLOR_SPACE_HDR10_ST2084_EXT : i32 = 1000104008;
pub const COLOR_SPACE_DOLBYVISION_EXT : i32 = 1000104009;
pub const COLOR_SPACE_HDR10_HLG_EXT : i32 = 1000104010;
pub const COLOR_SPACE_ADOBERGB_LINEAR_EXT : i32 = 1000104011;
pub const COLOR_SPACE_ADOBERGB_NONLINEAR_EXT : i32 = 1000104012;
pub const COLOR_SPACE_PASS_THROUGH_EXT : i32 = 1000104013;
pub const COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT : i32 = 1000104014;
pub const COLOR_SPACE_DISPLAY_NATIVE_AMD : i32 = 1000213000;
pub const COLORSPACE_SRGB_NONLINEAR_KHR : i32 = COLOR_SPACE_SRGB_NONLINEAR_KHR;
pub const COLOR_SPACE_DCI_P3_LINEAR_EXT : i32 = COLOR_SPACE_DISPLAY_P3_LINEAR_EXT;
pub const COLOR_SPACE_MAX_ENUM_KHR : i32 = 0x7FFFFFF;
pub type SurfaceTransformFlagBitsKHR = i32;
pub const SURFACE_TRANSFORM_IDENTITY_BIT_KHR : i32 = 0x00000001;
pub const SURFACE_TRANSFORM_ROTATE_90_BIT_KHR : i32 = 0x00000002;
pub const SURFACE_TRANSFORM_ROTATE_180_BIT_KHR : i32 = 0x00000004;
pub const SURFACE_TRANSFORM_ROTATE_270_BIT_KHR : i32 = 0x00000008;
pub const SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR : i32 = 0x00000010;
pub const SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR : i32 = 0x00000020;
pub const SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR : i32 = 0x00000040;
pub const SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR : i32 = 0x00000080;
pub const SURFACE_TRANSFORM_INHERIT_BIT_KHR : i32 = 0x00000100;
pub const SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR : i32 = 0x7FFFFFF;
pub type CompositeAlphaFlagBitsKHR = i32;
pub const COMPOSITE_ALPHA_OPAQUE_BIT_KHR : i32 = 0x00000001;
pub const COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR : i32 = 0x00000002;
pub const COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR : i32 = 0x00000004;
pub const COMPOSITE_ALPHA_INHERIT_BIT_KHR : i32 = 0x00000008;
pub const COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR : i32 = 0x7FFFFFF;
pub type SurfaceTransformFlagsKHR = u32;
pub type CompositeAlphaFlagsKHR = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SurfaceCapabilitiesKHR {
pub minImageCount : u32,
pub maxImageCount : u32,
pub currentExtent : Extent2D,
pub minImageExtent : Extent2D,
pub maxImageExtent : Extent2D,
pub maxImageArrayLayers : u32,
pub supportedTransforms : SurfaceTransformFlagsKHR,
pub currentTransform : SurfaceTransformFlagBitsKHR,
pub supportedCompositeAlpha : CompositeAlphaFlagsKHR,
pub supportedUsageFlags : ImageUsageFlags,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SurfaceFormatKHR {
pub format : Format,
pub colorSpace : ColorSpaceKHR,
}
pub type SwapchainKHR = u64;
pub type SwapchainCreateFlagBitsKHR = i32;
pub const SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR : i32 = 0x00000001;
pub const SWAPCHAIN_CREATE_PROTECTED_BIT_KHR : i32 = 0x00000002;
pub const SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR : i32 = 0x00000004;
pub const SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR : i32 = 0x7FFFFFF;
pub type SwapchainCreateFlagsKHR = u32;
pub type DeviceGroupPresentModeFlagBitsKHR = i32;
pub const DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR : i32 = 0x00000001;
pub const DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR : i32 = 0x00000002;
pub const DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR : i32 = 0x00000004;
pub const DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR : i32 = 0x00000008;
pub const DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR : i32 = 0x7FFFFFF;
pub type DeviceGroupPresentModeFlagsKHR = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SwapchainCreateInfoKHR {
pub sType : StructureType,
pub pNext : *const void,
pub flags : SwapchainCreateFlagsKHR,
pub surface : SurfaceKHR,
pub minImageCount : u32,
pub imageFormat : Format,
pub imageColorSpace : ColorSpaceKHR,
pub imageExtent : Extent2D,
pub imageArrayLayers : u32,
pub imageUsage : ImageUsageFlags,
pub imageSharingMode : SharingMode,
pub queueFamilyIndexCount : u32,
pub pQueueFamilyIndices : *const u32,
pub preTransform : SurfaceTransformFlagBitsKHR,
pub compositeAlpha : CompositeAlphaFlagBitsKHR,
pub presentMode : PresentModeKHR,
pub clipped : Bool32,
pub oldSwapchain : SwapchainKHR,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PresentInfoKHR {
pub sType : StructureType,
pub pNext : *const void,
pub waitSemaphoreCount : u32,
pub pWaitSemaphores : *const Semaphore,
pub swapchainCount : u32,
pub pSwapchains : *const SwapchainKHR,
pub pImageIndices : *const i32,
pub pResults : *mut VkResult,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ImageSwapchainCreateInfoKHR {
pub sType : StructureType,
pub pNext : *const void,
pub swapchain : SwapchainKHR,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct BindImageMemorySwapchainInfoKHR {
pub sType : StructureType,
pub pNext : *const void,
pub swapchain : SwapchainKHR,
pub imageIndex : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct AcquireNextImageInfoKHR {
pub sType : StructureType,
pub pNext : *const void,
pub swapchain : SwapchainKHR,
pub timeout : u64,
pub semaphore : Semaphore,
pub fence : Fence,
pub deviceMask : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DeviceGroupPresentCapabilitiesKHR {
pub sType : StructureType,
pub pNext : *const void,
pub presentMask : [u32;MAX_DEVICE_GROUP_SIZE],
pub modes : DeviceGroupPresentModeFlagsKHR,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DeviceGroupPresentInfoKHR {
pub sType : StructureType,
pub pNext : *const void,
pub swapchainCount : u32,
pub pDeviceMasks : *const u32,
pub mode : DeviceGroupPresentModeFlagBitsKHR,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DeviceGroupSwapchainCreateInfoKHR {
pub sType : StructureType,
pub pNext : *const void,
pub modes : DeviceGroupPresentModeFlagsKHR,
}
pub type DisplayKHR = u64;
pub type DisplayModeKHR = u64;
pub type DisplayPlaneAlphaFlagBitsKHR = i32;
pub const DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR : i32 = 0x00000001;
pub const DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR : i32 = 0x00000002;
pub const DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR : i32 = 0x00000004;
pub const DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR : i32 = 0x00000008;
pub const DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR : i32 = 0x7FFFFFF;
pub type DisplayPlaneAlphaFlagsKHR = u32;
pub type DisplayModeCreateFlagsKHR = u32;
pub type DisplaySurfaceCreateFlagsKHR = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DisplayPropertiesKHR {
pub display : DisplayKHR,
pub displayName : *const i8,
pub physicalDimensions : Extent2D,
pub physicalResolution : Extent2D,
pub supportedTransforms : SurfaceTransformFlagsKHR,
pub planeReorderPossible : Bool32,
pub persistentContent : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DisplayModeParametersKHR {
pub visibleRegion : Extent2D,
pub refreshRate : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DisplayModePropertiesKHR {
pub displayMode : DisplayModeKHR,
pub parameters : DisplayModeParametersKHR,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DisplayModeCreateInfoKHR {
pub sType : StructureType,
pub pNext : *const void,
pub flags : DisplayModeCreateFlagsKHR,
pub parameters : DisplayModeParametersKHR,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DisplayPlaneCapabilitiesKHR {
pub supportedAlpha : DisplayPlaneAlphaFlagsKHR,
pub minSrcPosition : Offset2D,
pub maxSrcPosition : Offset2D,
pub minSrcExtent : Extent2D,
pub maxSrcExtent : Extent2D,
pub minDstPosition : Offset2D,
pub maxDstPosition : Offset2D,
pub minDstExtent : Extent2D,
pub maxDstExtent : Extent2D,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DisplayPlanePropertiesKHR {
pub currentDisplay : DisplayKHR,
pub currentStackIndex : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DisplaySurfaceCreateInfoKHR {
pub sType : StructureType,
pub pNext : *const void,
pub flags : DisplaySurfaceCreateFlagsKHR,
pub displayMode : DisplayModeKHR,
pub planeIndex : u32,
pub planeStackIndex : u32,
pub transform : SurfaceTransformFlagBitsKHR,
pub globalAlpha : f32,
pub alphaMode : DisplayPlaneAlphaFlagBitsKHR,
pub imageExtent : Extent2D,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DisplayPresentInfoKHR {
pub sType : StructureType,
pub pNext : *const void,
pub srcRect : Rect2D,
pub dstRect : Rect2D,
pub persistent : Bool32,
}
pub type RenderPassMultiviewCreateInfoKHR = RenderPassMultiviewCreateInfo;
pub type PhysicalDeviceMultiviewFeaturesKHR = PhysicalDeviceMultiviewFeatures;
pub type PhysicalDeviceMultiviewPropertiesKHR = PhysicalDeviceMultiviewProperties;
pub type PhysicalDeviceFeatures2KHR = PhysicalDeviceFeatures2;
pub type PhysicalDeviceProperties2KHR = PhysicalDeviceProperties2;
pub type FormatProperties2KHR = FormatProperties2;
pub type ImageFormatProperties2KHR = ImageFormatProperties2;
pub type PhysicalDeviceImageFormatInfo2KHR = PhysicalDeviceImageFormatInfo2;
pub type QueueFamilyProperties2KHR = QueueFamilyProperties2;
pub type PhysicalDeviceMemoryProperties2KHR = PhysicalDeviceMemoryProperties2;
pub type SparseImageFormatProperties2KHR = SparseImageFormatProperties2;
pub type PhysicalDeviceSparseImageFormatInfo2KHR = PhysicalDeviceSparseImageFormatInfo2;
pub type PeerMemoryFeatureFlagsKHR = PeerMemoryFeatureFlags;
pub type PeerMemoryFeatureFlagBitsKHR = PeerMemoryFeatureFlagBits;
pub type MemoryAllocateFlagsKHR = MemoryAllocateFlags;
pub type MemoryAllocateFlagBitsKHR = MemoryAllocateFlagBits;
pub type MemoryAllocateFlagsInfoKHR = MemoryAllocateFlagsInfo;
pub type DeviceGroupRenderPassBeginInfoKHR = DeviceGroupRenderPassBeginInfo;
pub type DeviceGroupCommandBufferBeginInfoKHR = DeviceGroupCommandBufferBeginInfo;
pub type DeviceGroupSubmitInfoKHR = DeviceGroupSubmitInfo;
pub type DeviceGroupBindSparseInfoKHR = DeviceGroupBindSparseInfo;
pub type BindBufferMemoryDeviceGroupInfoKHR = BindBufferMemoryDeviceGroupInfo;
pub type BindImageMemoryDeviceGroupInfoKHR = BindImageMemoryDeviceGroupInfo;
pub type CommandPoolTrimFlagsKHR = CommandPoolTrimFlags;
pub type PhysicalDeviceGroupPropertiesKHR = PhysicalDeviceGroupProperties;
pub type DeviceGroupDeviceCreateInfoKHR = DeviceGroupDeviceCreateInfo;
pub type ExternalMemoryHandleTypeFlagsKHR = ExternalMemoryHandleTypeFlags;
pub type ExternalMemoryHandleTypeFlagBitsKHR = ExternalMemoryHandleTypeFlagBits;
pub type ExternalMemoryFeatureFlagsKHR = ExternalMemoryFeatureFlags;
pub type ExternalMemoryFeatureFlagBitsKHR = ExternalMemoryFeatureFlagBits;
pub type ExternalMemoryPropertiesKHR = ExternalMemoryProperties;
pub type PhysicalDeviceExternalImageFormatInfoKHR = PhysicalDeviceExternalImageFormatInfo;
pub type ExternalImageFormatPropertiesKHR = ExternalImageFormatProperties;
pub type PhysicalDeviceExternalBufferInfoKHR = PhysicalDeviceExternalBufferInfo;
pub type ExternalBufferPropertiesKHR = ExternalBufferProperties;
pub type PhysicalDeviceIDPropertiesKHR = PhysicalDeviceIDProperties;
pub type ExternalMemoryImageCreateInfoKHR = ExternalMemoryImageCreateInfo;
pub type ExternalMemoryBufferCreateInfoKHR = ExternalMemoryBufferCreateInfo;
pub type ExportMemoryAllocateInfoKHR = ExportMemoryAllocateInfo;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ImportMemoryFdInfoKHR {
pub sType : StructureType,
pub pNext : *const void,
pub handleType : ExternalMemoryHandleTypeFlagBits,
pub fd : i32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct MemoryFdPropertiesKHR {
pub sType : StructureType,
pub pNext : *mut void,
pub memoryTypeBits : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct MemoryGetFdInfoKHR {
pub sType : StructureType,
pub pNext : *const void,
pub memory : DeviceMemory,
pub handleType : ExternalMemoryHandleTypeFlagBits,
}
pub type ExternalSemaphoreHandleTypeFlagsKHR = ExternalSemaphoreHandleTypeFlags;
pub type ExternalSemaphoreHandleTypeFlagBitsKHR = ExternalSemaphoreHandleTypeFlagBits;
pub type ExternalSemaphoreFeatureFlagsKHR = ExternalSemaphoreFeatureFlags;
pub type ExternalSemaphoreFeatureFlagBitsKHR = ExternalSemaphoreFeatureFlagBits;
pub type PhysicalDeviceExternalSemaphoreInfoKHR = PhysicalDeviceExternalSemaphoreInfo;
pub type ExternalSemaphorePropertiesKHR = ExternalSemaphoreProperties;
pub type SemaphoreImportFlagsKHR = SemaphoreImportFlags;
pub type SemaphoreImportFlagBitsKHR = SemaphoreImportFlagBits;
pub type ExportSemaphoreCreateInfoKHR = ExportSemaphoreCreateInfo;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ImportSemaphoreFdInfoKHR {
pub sType : StructureType,
pub pNext : *const void,
pub semaphore : Semaphore,
pub flags : SemaphoreImportFlags,
pub handleType : ExternalSemaphoreHandleTypeFlagBits,
pub fd : i32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SemaphoreGetFdInfoKHR {
pub sType : StructureType,
pub pNext : *const void,
pub semaphore : Semaphore,
pub handleType : ExternalSemaphoreHandleTypeFlagBits,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDevicePushDescriptorPropertiesKHR {
pub sType : StructureType,
pub pNext : *mut void,
pub maxPushDescriptors : u32,
}
pub type PhysicalDeviceShaderFloat16Int8FeaturesKHR = PhysicalDeviceShaderFloat16Int8Features;
pub type PhysicalDeviceFloat16Int8FeaturesKHR = PhysicalDeviceShaderFloat16Int8Features;
pub type PhysicalDevice16BitStorageFeaturesKHR = PhysicalDevice16BitStorageFeatures;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct RectLayerKHR {
pub offset : Offset2D,
pub extent : Extent2D,
pub layer : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PresentRegionKHR {
pub rectangleCount : u32,
pub pRectangles : *const RectLayerKHR,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PresentRegionsKHR {
pub sType : StructureType,
pub pNext : *const void,
pub swapchainCount : u32,
pub pRegions : *const PresentRegionKHR,
}
pub type DescriptorUpdateTemplateKHR = DescriptorUpdateTemplate;
pub type DescriptorUpdateTemplateTypeKHR = DescriptorUpdateTemplateType;
pub type DescriptorUpdateTemplateCreateFlagsKHR = DescriptorUpdateTemplateCreateFlags;
pub type DescriptorUpdateTemplateEntryKHR = DescriptorUpdateTemplateEntry;
pub type DescriptorUpdateTemplateCreateInfoKHR = DescriptorUpdateTemplateCreateInfo;
pub type PhysicalDeviceImagelessFramebufferFeaturesKHR = PhysicalDeviceImagelessFramebufferFeatures;
pub type FramebufferAttachmentsCreateInfoKHR = FramebufferAttachmentsCreateInfo;
pub type FramebufferAttachmentImageInfoKHR = FramebufferAttachmentImageInfo;
pub type RenderPassAttachmentBeginInfoKHR = RenderPassAttachmentBeginInfo;
pub type RenderPassCreateInfo2KHR = RenderPassCreateInfo2;
pub type AttachmentDescription2KHR = AttachmentDescription2;
pub type AttachmentReference2KHR = AttachmentReference2;
pub type SubpassDescription2KHR = SubpassDescription2;
pub type SubpassDependency2KHR = SubpassDependency2;
pub type SubpassBeginInfoKHR = SubpassBeginInfo;
pub type SubpassEndInfoKHR = SubpassEndInfo;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SharedPresentSurfaceCapabilitiesKHR {
pub sType : StructureType,
pub pNext : *mut void,
pub sharedPresentSupportedUsageFlags : ImageUsageFlags,
}
pub type ExternalFenceHandleTypeFlagsKHR = ExternalFenceHandleTypeFlags;
pub type ExternalFenceHandleTypeFlagBitsKHR = ExternalFenceHandleTypeFlagBits;
pub type ExternalFenceFeatureFlagsKHR = ExternalFenceFeatureFlags;
pub type ExternalFenceFeatureFlagBitsKHR = ExternalFenceFeatureFlagBits;
pub type PhysicalDeviceExternalFenceInfoKHR = PhysicalDeviceExternalFenceInfo;
pub type ExternalFencePropertiesKHR = ExternalFenceProperties;
pub type FenceImportFlagsKHR = FenceImportFlags;
pub type FenceImportFlagBitsKHR = FenceImportFlagBits;
pub type ExportFenceCreateInfoKHR = ExportFenceCreateInfo;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ImportFenceFdInfoKHR {
pub sType : StructureType,
pub pNext : *const void,
pub fence : Fence,
pub flags : FenceImportFlags,
pub handleType : ExternalFenceHandleTypeFlagBits,
pub fd : i32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FenceGetFdInfoKHR {
pub sType : StructureType,
pub pNext : *const void,
pub fence : Fence,
pub handleType : ExternalFenceHandleTypeFlagBits,
}
pub type PerformanceCounterUnitKHR = i32;
pub const PERFORMANCE_COUNTER_UNIT_GENERIC_KHR : i32 = 0;
pub const PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR : i32 = 1;
pub const PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR : i32 = 2;
pub const PERFORMANCE_COUNTER_UNIT_BYTES_KHR : i32 = 3;
pub const PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR : i32 = 4;
pub const PERFORMANCE_COUNTER_UNIT_KELVIN_KHR : i32 = 5;
pub const PERFORMANCE_COUNTER_UNIT_WATTS_KHR : i32 = 6;
pub const PERFORMANCE_COUNTER_UNIT_VOLTS_KHR : i32 = 7;
pub const PERFORMANCE_COUNTER_UNIT_AMPS_KHR : i32 = 8;
pub const PERFORMANCE_COUNTER_UNIT_HERTZ_KHR : i32 = 9;
pub const PERFORMANCE_COUNTER_UNIT_CYCLES_KHR : i32 = 10;
pub const PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR : i32 = 0x7FFFFFF;
pub type PerformanceCounterScopeKHR = i32;
pub const PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR : i32 = 0;
pub const PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR : i32 = 1;
pub const PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR : i32 = 2;
pub const QUERY_SCOPE_COMMAND_BUFFER_KHR : i32 = PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR;
pub const QUERY_SCOPE_RENDER_PASS_KHR : i32 = PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR;
pub const QUERY_SCOPE_COMMAND_KHR : i32 = PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR;
pub const PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR : i32 = 0x7FFFFFF;
pub type PerformanceCounterStorageKHR = i32;
pub const PERFORMANCE_COUNTER_STORAGE_INT32_KHR : i32 = 0;
pub const PERFORMANCE_COUNTER_STORAGE_INT64_KHR : i32 = 1;
pub const PERFORMANCE_COUNTER_STORAGE_UINT32_KHR : i32 = 2;
pub const PERFORMANCE_COUNTER_STORAGE_UINT64_KHR : i32 = 3;
pub const PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR : i32 = 4;
pub const PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR : i32 = 5;
pub const PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR : i32 = 0x7FFFFFF;
pub type PerformanceCounterDescriptionFlagBitsKHR = i32;
pub const PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR : i32 = 0x00000001;
pub const PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR : i32 = 0x00000002;
pub const PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR : i32 = 0x7FFFFFF;
pub type PerformanceCounterDescriptionFlagsKHR = u32;
pub type AcquireProfilingLockFlagBitsKHR = i32;
pub const ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR : i32 = 0x7FFFFFF;
pub type AcquireProfilingLockFlagsKHR = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDevicePerformanceQueryFeaturesKHR {
pub sType : StructureType,
pub pNext : *mut void,
pub performanceCounterQueryPools : Bool32,
pub performanceCounterMultipleQueryPools : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDevicePerformanceQueryPropertiesKHR {
pub sType : StructureType,
pub pNext : *mut void,
pub allowCommandBufferQueryCopies : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PerformanceCounterKHR {
pub sType : StructureType,
pub pNext : *const void,
pub unit : PerformanceCounterUnitKHR,
pub scope : PerformanceCounterScopeKHR,
pub storage : PerformanceCounterStorageKHR,
pub uuid : [u8;UUID_SIZE],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct PerformanceCounterDescriptionKHR {
pub sType : StructureType,
pub pNext : *const void,
pub flags : PerformanceCounterDescriptionFlagsKHR,
pub name : [i8;MAX_DESCRIPTION_SIZE],
pub category : [i8;MAX_DESCRIPTION_SIZE],
pub description : [i8;MAX_DESCRIPTION_SIZE],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct QueryPoolPerformanceCreateInfoKHR {
pub sType : StructureType,
pub pNext : *const void,
pub queueFamilyIndex : u32,
pub counterIndexCount : u32,
pub pCounterIndices : *const u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct AcquireProfilingLockInfoKHR {
pub sType : StructureType,
pub pNext : *const void,
pub flags : AcquireProfilingLockFlagsKHR,
pub timeout : u64,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PerformanceQuerySubmitInfoKHR {
pub sType : StructureType,
pub pNext : *const void,
pub counterPassIndex : u32,
}
pub type PointClippingBehaviorKHR = PointClippingBehavior;
pub type TessellationDomainOriginKHR = TessellationDomainOrigin;
pub type PhysicalDevicePointClippingPropertiesKHR = PhysicalDevicePointClippingProperties;
pub type RenderPassInputAttachmentAspectCreateInfoKHR = RenderPassInputAttachmentAspectCreateInfo;
pub type InputAttachmentAspectReferenceKHR = InputAttachmentAspectReference;
pub type ImageViewUsageCreateInfoKHR = ImageViewUsageCreateInfo;
pub type PipelineTessellationDomainOriginStateCreateInfoKHR = PipelineTessellationDomainOriginStateCreateInfo;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceSurfaceInfo2KHR {
pub sType : StructureType,
pub pNext : *const void,
pub surface : SurfaceKHR,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SurfaceCapabilities2KHR {
pub sType : StructureType,
pub pNext : *mut void,
pub surfaceCapabilities : SurfaceCapabilitiesKHR,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SurfaceFormat2KHR {
pub sType : StructureType,
pub pNext : *mut void,
pub surfaceFormat : SurfaceFormatKHR,
}
pub type PhysicalDeviceVariablePointerFeaturesKHR = PhysicalDeviceVariablePointersFeatures;
pub type PhysicalDeviceVariablePointersFeaturesKHR = PhysicalDeviceVariablePointersFeatures;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DisplayProperties2KHR {
pub sType : StructureType,
pub pNext : *mut void,
pub displayProperties : DisplayPropertiesKHR,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DisplayPlaneProperties2KHR {
pub sType : StructureType,
pub pNext : *mut void,
pub displayPlaneProperties : DisplayPlanePropertiesKHR,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DisplayModeProperties2KHR {
pub sType : StructureType,
pub pNext : *mut void,
pub displayModeProperties : DisplayModePropertiesKHR,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DisplayPlaneInfo2KHR {
pub sType : StructureType,
pub pNext : *const void,
pub mode : DisplayModeKHR,
pub planeIndex : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DisplayPlaneCapabilities2KHR {
pub sType : StructureType,
pub pNext : *mut void,
pub capabilities : DisplayPlaneCapabilitiesKHR,
}
pub type MemoryDedicatedRequirementsKHR = MemoryDedicatedRequirements;
pub type MemoryDedicatedAllocateInfoKHR = MemoryDedicatedAllocateInfo;
pub type BufferMemoryRequirementsInfo2KHR = BufferMemoryRequirementsInfo2;
pub type ImageMemoryRequirementsInfo2KHR = ImageMemoryRequirementsInfo2;
pub type ImageSparseMemoryRequirementsInfo2KHR = ImageSparseMemoryRequirementsInfo2;
pub type SparseImageMemoryRequirements2KHR = SparseImageMemoryRequirements2;
pub type ImageFormatListCreateInfoKHR = ImageFormatListCreateInfo;
pub type SamplerYcbcrConversionKHR = SamplerYcbcrConversion;
pub type SamplerYcbcrModelConversionKHR = SamplerYcbcrModelConversion;
pub type SamplerYcbcrRangeKHR = SamplerYcbcrRange;
pub type ChromaLocationKHR = ChromaLocation;
pub type SamplerYcbcrConversionCreateInfoKHR = SamplerYcbcrConversionCreateInfo;
pub type SamplerYcbcrConversionInfoKHR = SamplerYcbcrConversionInfo;
pub type BindImagePlaneMemoryInfoKHR = BindImagePlaneMemoryInfo;
pub type ImagePlaneMemoryRequirementsInfoKHR = ImagePlaneMemoryRequirementsInfo;
pub type PhysicalDeviceSamplerYcbcrConversionFeaturesKHR = PhysicalDeviceSamplerYcbcrConversionFeatures;
pub type SamplerYcbcrConversionImageFormatPropertiesKHR = SamplerYcbcrConversionImageFormatProperties;
pub type BindBufferMemoryInfoKHR = BindBufferMemoryInfo;
pub type BindImageMemoryInfoKHR = BindImageMemoryInfo;
pub type PhysicalDeviceMaintenance3PropertiesKHR = PhysicalDeviceMaintenance3Properties;
pub type DescriptorSetLayoutSupportKHR = DescriptorSetLayoutSupport;
pub type PhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR = PhysicalDeviceShaderSubgroupExtendedTypesFeatures;
pub type PhysicalDevice8BitStorageFeaturesKHR = PhysicalDevice8BitStorageFeatures;
pub type PhysicalDeviceShaderAtomicInt64FeaturesKHR = PhysicalDeviceShaderAtomicInt64Features;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceShaderClockFeaturesKHR {
pub sType : StructureType,
pub pNext : *mut void,
pub shaderSubgroupClock : Bool32,
pub shaderDeviceClock : Bool32,
}
pub type DriverIdKHR = DriverId;
pub type ConformanceVersionKHR = ConformanceVersion;
pub type PhysicalDeviceDriverPropertiesKHR = PhysicalDeviceDriverProperties;
pub type ShaderFloatControlsIndependenceKHR = ShaderFloatControlsIndependence;
pub type PhysicalDeviceFloatControlsPropertiesKHR = PhysicalDeviceFloatControlsProperties;
pub type ResolveModeFlagBitsKHR = ResolveModeFlagBits;
pub type ResolveModeFlagsKHR = ResolveModeFlags;
pub type SubpassDescriptionDepthStencilResolveKHR = SubpassDescriptionDepthStencilResolve;
pub type PhysicalDeviceDepthStencilResolvePropertiesKHR = PhysicalDeviceDepthStencilResolveProperties;
pub type SemaphoreTypeKHR = SemaphoreType;
pub type SemaphoreWaitFlagBitsKHR = SemaphoreWaitFlagBits;
pub type SemaphoreWaitFlagsKHR = SemaphoreWaitFlags;
pub type PhysicalDeviceTimelineSemaphoreFeaturesKHR = PhysicalDeviceTimelineSemaphoreFeatures;
pub type PhysicalDeviceTimelineSemaphorePropertiesKHR = PhysicalDeviceTimelineSemaphoreProperties;
pub type SemaphoreTypeCreateInfoKHR = SemaphoreTypeCreateInfo;
pub type TimelineSemaphoreSubmitInfoKHR = TimelineSemaphoreSubmitInfo;
pub type SemaphoreWaitInfoKHR = SemaphoreWaitInfo;
pub type SemaphoreSignalInfoKHR = SemaphoreSignalInfo;
pub type PhysicalDeviceVulkanMemoryModelFeaturesKHR = PhysicalDeviceVulkanMemoryModelFeatures;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SurfaceProtectedCapabilitiesKHR {
pub sType : StructureType,
pub pNext : *const void,
pub supportsProtected : Bool32,
}
pub type PhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR = PhysicalDeviceSeparateDepthStencilLayoutsFeatures;
pub type AttachmentReferenceStencilLayoutKHR = AttachmentReferenceStencilLayout;
pub type AttachmentDescriptionStencilLayoutKHR = AttachmentDescriptionStencilLayout;
pub type PhysicalDeviceUniformBufferStandardLayoutFeaturesKHR = PhysicalDeviceUniformBufferStandardLayoutFeatures;
pub type PhysicalDeviceBufferDeviceAddressFeaturesKHR = PhysicalDeviceBufferDeviceAddressFeatures;
pub type BufferDeviceAddressInfoKHR = BufferDeviceAddressInfo;
pub type BufferOpaqueCaptureAddressCreateInfoKHR = BufferOpaqueCaptureAddressCreateInfo;
pub type MemoryOpaqueCaptureAddressAllocateInfoKHR = MemoryOpaqueCaptureAddressAllocateInfo;
pub type DeviceMemoryOpaqueCaptureAddressInfoKHR = DeviceMemoryOpaqueCaptureAddressInfo;
pub type PipelineExecutableStatisticFormatKHR = i32;
pub const PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR : i32 = 0;
pub const PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR : i32 = 1;
pub const PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR : i32 = 2;
pub const PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR : i32 = 3;
pub const PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR : i32 = 0x7FFFFFF;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
pub sType : StructureType,
pub pNext : *mut void,
pub pipelineExecutableInfo : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PipelineInfoKHR {
pub sType : StructureType,
pub pNext : *const void,
pub pipeline : Pipeline,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct PipelineExecutablePropertiesKHR {
pub sType : StructureType,
pub pNext : *mut void,
pub stages : ShaderStageFlags,
pub name : [i8;MAX_DESCRIPTION_SIZE],
pub description : [i8;MAX_DESCRIPTION_SIZE],
pub subgroupSize : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PipelineExecutableInfoKHR {
pub sType : StructureType,
pub pNext : *const void,
pub pipeline : Pipeline,
pub executableIndex : u32,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct PipelineExecutableInternalRepresentationKHR {
pub sType : StructureType,
pub pNext : *mut void,
pub name : [i8;MAX_DESCRIPTION_SIZE],
pub description : [i8;MAX_DESCRIPTION_SIZE],
pub isText : Bool32,
pub dataSize : usize,
pub pData : *mut void,
}
pub type DebugReportCallbackEXT = u64;
pub type DebugReportObjectTypeEXT = i32;
pub const DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT : i32 = 0;
pub const DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT : i32 = 1;
pub const DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT : i32 = 2;
pub const DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT : i32 = 3;
pub const DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT : i32 = 4;
pub const DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT : i32 = 5;
pub const DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT : i32 = 6;
pub const DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT : i32 = 7;
pub const DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT : i32 = 8;
pub const DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT : i32 = 9;
pub const DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT : i32 = 10;
pub const DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT : i32 = 11;
pub const DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT : i32 = 12;
pub const DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT : i32 = 13;
pub const DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT : i32 = 14;
pub const DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT : i32 = 15;
pub const DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT : i32 = 16;
pub const DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT : i32 = 17;
pub const DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT : i32 = 18;
pub const DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT : i32 = 19;
pub const DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT : i32 = 20;
pub const DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT : i32 = 21;
pub const DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT : i32 = 22;
pub const DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT : i32 = 23;
pub const DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT : i32 = 24;
pub const DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT : i32 = 25;
pub const DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT : i32 = 26;
pub const DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT : i32 = 27;
pub const DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT : i32 = 28;
pub const DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT : i32 = 29;
pub const DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT : i32 = 30;
pub const DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT : i32 = 33;
pub const DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT : i32 = 1000156000;
pub const DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT : i32 = 1000085000;
pub const DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT : i32 = 1000165000;
pub const DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT : i32 = DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT;
pub const DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT : i32 = DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT;
pub const DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT : i32 = DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT;
pub const DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT : i32 = DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT;
pub const DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT : i32 = DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT;
pub const DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT : i32 = 0x7FFFFFF;
pub type DebugReportFlagBitsEXT = i32;
pub const DEBUG_REPORT_INFORMATION_BIT_EXT : i32 = 0x00000001;
pub const DEBUG_REPORT_WARNING_BIT_EXT : i32 = 0x00000002;
pub const DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT : i32 = 0x00000004;
pub const DEBUG_REPORT_ERROR_BIT_EXT : i32 = 0x00000008;
pub const DEBUG_REPORT_DEBUG_BIT_EXT : i32 = 0x00000010;
pub const DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT : i32 = 0x7FFFFFF;
pub type DebugReportFlagsEXT = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DebugReportCallbackCreateInfoEXT {
pub sType : StructureType,
pub pNext : *const void,
pub flags : DebugReportFlagsEXT,
pub pfnCallback : u64,
pub pUserData : *mut void,
}
pub type RasterizationOrderAMD = i32;
pub const RASTERIZATION_ORDER_STRICT_AMD : i32 = 0;
pub const RASTERIZATION_ORDER_RELAXED_AMD : i32 = 1;
pub const RASTERIZATION_ORDER_MAX_ENUM_AMD : i32 = 0x7FFFFFF;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PipelineRasterizationStateRasterizationOrderAMD {
pub sType : StructureType,
pub pNext : *const void,
pub rasterizationOrder : RasterizationOrderAMD,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DebugMarkerObjectNameInfoEXT {
pub sType : StructureType,
pub pNext : *const void,
pub objectType : DebugReportObjectTypeEXT,
pub object : u64,
pub pObjectName : *const i8,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DebugMarkerObjectTagInfoEXT {
pub sType : StructureType,
pub pNext : *const void,
pub objectType : DebugReportObjectTypeEXT,
pub object : u64,
pub tagName : u64,
pub tagSize : usize,
pub pTag : *const void,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DebugMarkerMarkerInfoEXT {
pub sType : StructureType,
pub pNext : *const void,
pub pMarkerName : *const i8,
pub color : [f32;4],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DedicatedAllocationImageCreateInfoNV {
pub sType : StructureType,
pub pNext : *const void,
pub dedicatedAllocation : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DedicatedAllocationBufferCreateInfoNV {
pub sType : StructureType,
pub pNext : *const void,
pub dedicatedAllocation : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DedicatedAllocationMemoryAllocateInfoNV {
pub sType : StructureType,
pub pNext : *const void,
pub image : Image,
pub buffer : Buffer,
}
pub type PipelineRasterizationStateStreamCreateFlagsEXT = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceTransformFeedbackFeaturesEXT {
pub sType : StructureType,
pub pNext : *mut void,
pub transformFeedback : Bool32,
pub geometryStreams : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceTransformFeedbackPropertiesEXT {
pub sType : StructureType,
pub pNext : *mut void,
pub maxTransformFeedbackStreams : u32,
pub maxTransformFeedbackBuffers : u32,
pub maxTransformFeedbackBufferSize : DeviceSize,
pub maxTransformFeedbackStreamDataSize : u32,
pub maxTransformFeedbackBufferDataSize : u32,
pub maxTransformFeedbackBufferDataStride : u32,
pub transformFeedbackQueries : Bool32,
pub transformFeedbackStreamsLinesTriangles : Bool32,
pub transformFeedbackRasterizationStreamSelect : Bool32,
pub transformFeedbackDraw : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PipelineRasterizationStateStreamCreateInfoEXT {
pub sType : StructureType,
pub pNext : *const void,
pub flags : PipelineRasterizationStateStreamCreateFlagsEXT,
pub rasterizationStream : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ImageViewHandleInfoNVX {
pub sType : StructureType,
pub pNext : *const void,
pub imageView : ImageView,
pub descriptorType : DescriptorType,
pub sampler : Sampler,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ImageViewAddressPropertiesNVX {
pub sType : StructureType,
pub pNext : *mut void,
pub deviceAddress : DeviceAddress,
pub size : DeviceSize,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct TextureLODGatherFormatPropertiesAMD {
pub sType : StructureType,
pub pNext : *mut void,
pub supportsTextureGatherLODBiasAMD : Bool32,
}
pub type ShaderInfoTypeAMD = i32;
pub const SHADER_INFO_TYPE_STATISTICS_AMD : i32 = 0;
pub const SHADER_INFO_TYPE_BINARY_AMD : i32 = 1;
pub const SHADER_INFO_TYPE_DISASSEMBLY_AMD : i32 = 2;
pub const SHADER_INFO_TYPE_MAX_ENUM_AMD : i32 = 0x7FFFFFF;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ShaderResourceUsageAMD {
pub numUsedVgprs : u32,
pub numUsedSgprs : u32,
pub ldsSizePerLocalWorkGroup : u32,
pub ldsUsageSizeInBytes : usize,
pub scratchMemUsageInBytes : usize,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ShaderStatisticsInfoAMD {
pub shaderStageMask : ShaderStageFlags,
pub resourceUsage : ShaderResourceUsageAMD,
pub numPhysicalVgprs : u32,
pub numPhysicalSgprs : u32,
pub numAvailableVgprs : u32,
pub numAvailableSgprs : u32,
pub computeWorkGroupSize : [u32;3],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceCornerSampledImageFeaturesNV {
pub sType : StructureType,
pub pNext : *mut void,
pub cornerSampledImage : Bool32,
}
pub type ExternalMemoryHandleTypeFlagBitsNV = i32;
pub const EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV : i32 = 0x00000001;
pub const EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV : i32 = 0x00000002;
pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV : i32 = 0x00000004;
pub const EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV : i32 = 0x00000008;
pub const EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV : i32 = 0x7FFFFFF;
pub type ExternalMemoryHandleTypeFlagsNV = u32;
pub type ExternalMemoryFeatureFlagBitsNV = i32;
pub const EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV : i32 = 0x00000001;
pub const EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV : i32 = 0x00000002;
pub const EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV : i32 = 0x00000004;
pub const EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV : i32 = 0x7FFFFFF;
pub type ExternalMemoryFeatureFlagsNV = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ExternalImageFormatPropertiesNV {
pub imageFormatProperties : ImageFormatProperties,
pub externalMemoryFeatures : ExternalMemoryFeatureFlagsNV,
pub exportFromImportedHandleTypes : ExternalMemoryHandleTypeFlagsNV,
pub compatibleHandleTypes : ExternalMemoryHandleTypeFlagsNV,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ExternalMemoryImageCreateInfoNV {
pub sType : StructureType,
pub pNext : *const void,
pub handleTypes : ExternalMemoryHandleTypeFlagsNV,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ExportMemoryAllocateInfoNV {
pub sType : StructureType,
pub pNext : *const void,
pub handleTypes : ExternalMemoryHandleTypeFlagsNV,
}
pub type ValidationCheckEXT = i32;
pub const VALIDATION_CHECK_ALL_EXT : i32 = 0;
pub const VALIDATION_CHECK_SHADERS_EXT : i32 = 1;
pub const VALIDATION_CHECK_MAX_ENUM_EXT : i32 = 0x7FFFFFF;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ValidationFlagsEXT {
pub sType : StructureType,
pub pNext : *const void,
pub disabledValidationCheckCount : u32,
pub pDisabledValidationChecks : *const ValidationCheckEXT,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT {
pub sType : StructureType,
pub pNext : *mut void,
pub textureCompressionASTC_HDR : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ImageViewASTCDecodeModeEXT {
pub sType : StructureType,
pub pNext : *const void,
pub decodeMode : Format,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceASTCDecodeFeaturesEXT {
pub sType : StructureType,
pub pNext : *mut void,
pub decodeModeSharedExponent : Bool32,
}
pub type ConditionalRenderingFlagBitsEXT = i32;
pub const CONDITIONAL_RENDERING_INVERTED_BIT_EXT : i32 = 0x00000001;
pub const CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT : i32 = 0x7FFFFFF;
pub type ConditionalRenderingFlagsEXT = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ConditionalRenderingBeginInfoEXT {
pub sType : StructureType,
pub pNext : *const void,
pub buffer : Buffer,
pub offset : DeviceSize,
pub flags : ConditionalRenderingFlagsEXT,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceConditionalRenderingFeaturesEXT {
pub sType : StructureType,
pub pNext : *mut void,
pub conditionalRendering : Bool32,
pub inheritedConditionalRendering : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CommandBufferInheritanceConditionalRenderingInfoEXT {
pub sType : StructureType,
pub pNext : *const void,
pub conditionalRenderingEnable : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ViewportWScalingNV {
pub xcoeff : f32,
pub ycoeff : f32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PipelineViewportWScalingStateCreateInfoNV {
pub sType : StructureType,
pub pNext : *const void,
pub viewportWScalingEnable : Bool32,
pub viewportCount : u32,
pub pViewportWScalings : *const ViewportWScalingNV,
}
pub type SurfaceCounterFlagBitsEXT = i32;
pub const SURFACE_COUNTER_VBLANK_EXT : i32 = 0x00000001;
pub const SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT : i32 = 0x7FFFFFF;
pub type SurfaceCounterFlagsEXT = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SurfaceCapabilities2EXT {
pub sType : StructureType,
pub pNext : *mut void,
pub minImageCount : u32,
pub maxImageCount : u32,
pub currentExtent : Extent2D,
pub minImageExtent : Extent2D,
pub maxImageExtent : Extent2D,
pub maxImageArrayLayers : u32,
pub supportedTransforms : SurfaceTransformFlagsKHR,
pub currentTransform : SurfaceTransformFlagBitsKHR,
pub supportedCompositeAlpha : CompositeAlphaFlagsKHR,
pub supportedUsageFlags : ImageUsageFlags,
pub supportedSurfaceCounters : SurfaceCounterFlagsEXT,
}
pub type DisplayPowerStateEXT = i32;
pub const DISPLAY_POWER_STATE_OFF_EXT : i32 = 0;
pub const DISPLAY_POWER_STATE_SUSPEND_EXT : i32 = 1;
pub const DISPLAY_POWER_STATE_ON_EXT : i32 = 2;
pub const DISPLAY_POWER_STATE_MAX_ENUM_EXT : i32 = 0x7FFFFFF;
pub type DeviceEventTypeEXT = i32;
pub const DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT : i32 = 0;
pub const DEVICE_EVENT_TYPE_MAX_ENUM_EXT : i32 = 0x7FFFFFF;
pub type DisplayEventTypeEXT = i32;
pub const DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT : i32 = 0;
pub const DISPLAY_EVENT_TYPE_MAX_ENUM_EXT : i32 = 0x7FFFFFF;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DisplayPowerInfoEXT {
pub sType : StructureType,
pub pNext : *const void,
pub powerState : DisplayPowerStateEXT,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DeviceEventInfoEXT {
pub sType : StructureType,
pub pNext : *const void,
pub deviceEvent : DeviceEventTypeEXT,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DisplayEventInfoEXT {
pub sType : StructureType,
pub pNext : *const void,
pub displayEvent : DisplayEventTypeEXT,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SwapchainCounterCreateInfoEXT {
pub sType : StructureType,
pub pNext : *const void,
pub surfaceCounters : SurfaceCounterFlagsEXT,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct RefreshCycleDurationGOOGLE {
pub refreshDuration : u64,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PastPresentationTimingGOOGLE {
pub presentID : u32,
pub desiredPresentTime : u64,
pub actualPresentTime : u64,
pub earliestPresentTime : u64,
pub presentMargin : u64,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PresentTimeGOOGLE {
pub presentID : u32,
pub desiredPresentTime : u64,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PresentTimesInfoGOOGLE {
pub sType : StructureType,
pub pNext : *const void,
pub swapchainCount : u32,
pub pTimes : *const PresentTimeGOOGLE,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
pub sType : StructureType,
pub pNext : *mut void,
pub perViewPositionAllComponents : Bool32,
}
pub type ViewportCoordinateSwizzleNV = i32;
pub const VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV : i32 = 0;
pub const VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV : i32 = 1;
pub const VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV : i32 = 2;
pub const VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV : i32 = 3;
pub const VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV : i32 = 4;
pub const VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV : i32 = 5;
pub const VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV : i32 = 6;
pub const VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV : i32 = 7;
pub const VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV : i32 = 0x7FFFFFF;
pub type PipelineViewportSwizzleStateCreateFlagsNV = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ViewportSwizzleNV {
pub x : ViewportCoordinateSwizzleNV,
pub y : ViewportCoordinateSwizzleNV,
pub z : ViewportCoordinateSwizzleNV,
pub w : ViewportCoordinateSwizzleNV,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PipelineViewportSwizzleStateCreateInfoNV {
pub sType : StructureType,
pub pNext : *const void,
pub flags : PipelineViewportSwizzleStateCreateFlagsNV,
pub viewportCount : u32,
pub pViewportSwizzles : *const ViewportSwizzleNV,
}
pub type DiscardRectangleModeEXT = i32;
pub const DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT : i32 = 0;
pub const DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT : i32 = 1;
pub const DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT : i32 = 0x7FFFFFF;
pub type PipelineDiscardRectangleStateCreateFlagsEXT = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceDiscardRectanglePropertiesEXT {
pub sType : StructureType,
pub pNext : *mut void,
pub maxDiscardRectangles : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PipelineDiscardRectangleStateCreateInfoEXT {
pub sType : StructureType,
pub pNext : *const void,
pub flags : PipelineDiscardRectangleStateCreateFlagsEXT,
pub discardRectangleMode : DiscardRectangleModeEXT,
pub discardRectangleCount : u32,
pub pDiscardRectangles : *const Rect2D,
}
pub type ConservativeRasterizationModeEXT = i32;
pub const CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT : i32 = 0;
pub const CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT : i32 = 1;
pub const CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT : i32 = 2;
pub const CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT : i32 = 0x7FFFFFF;
pub type PipelineRasterizationConservativeStateCreateFlagsEXT = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceConservativeRasterizationPropertiesEXT {
pub sType : StructureType,
pub pNext : *mut void,
pub primitiveOverestimationSize : f32,
pub maxExtraPrimitiveOverestimationSize : f32,
pub extraPrimitiveOverestimationSizeGranularity : f32,
pub primitiveUnderestimation : Bool32,
pub conservativePointAndLineRasterization : Bool32,
pub degenerateTrianglesRasterized : Bool32,
pub degenerateLinesRasterized : Bool32,
pub fullyCoveredFragmentShaderInputVariable : Bool32,
pub conservativeRasterizationPostDepthCoverage : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PipelineRasterizationConservativeStateCreateInfoEXT {
pub sType : StructureType,
pub pNext : *const void,
pub flags : PipelineRasterizationConservativeStateCreateFlagsEXT,
pub conservativeRasterizationMode : ConservativeRasterizationModeEXT,
pub extraPrimitiveOverestimationSize : f32,
}
pub type PipelineRasterizationDepthClipStateCreateFlagsEXT = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceDepthClipEnableFeaturesEXT {
pub sType : StructureType,
pub pNext : *mut void,
pub depthClipEnable : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PipelineRasterizationDepthClipStateCreateInfoEXT {
pub sType : StructureType,
pub pNext : *const void,
pub flags : PipelineRasterizationDepthClipStateCreateFlagsEXT,
pub depthClipEnable : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XYColorEXT {
pub x : f32,
pub y : f32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct HdrMetadataEXT {
pub sType : StructureType,
pub pNext : *const void,
pub displayPrimaryRed : XYColorEXT,
pub displayPrimaryGreen : XYColorEXT,
pub displayPrimaryBlue : XYColorEXT,
pub whitePoint : XYColorEXT,
pub maxLuminance : f32,
pub minLuminance : f32,
pub maxContentLightLevel : f32,
pub maxFrameAverageLightLevel : f32,
}
pub type DebugUtilsMessengerEXT = u64;
pub type DebugUtilsMessengerCallbackDataFlagsEXT = u32;
pub type DebugUtilsMessageSeverityFlagBitsEXT = i32;
pub const DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT : i32 = 0x00000001;
pub const DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT : i32 = 0x00000010;
pub const DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT : i32 = 0x00000100;
pub const DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT : i32 = 0x00001000;
pub const DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT : i32 = 0x7FFFFFF;
pub type DebugUtilsMessageTypeFlagBitsEXT = i32;
pub const DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT : i32 = 0x00000001;
pub const DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT : i32 = 0x00000002;
pub const DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT : i32 = 0x00000004;
pub const DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT : i32 = 0x7FFFFFF;
pub type DebugUtilsMessageTypeFlagsEXT = u32;
pub type DebugUtilsMessengerCreateFlagsEXT = u32;
pub type DebugUtilsMessageSeverityFlagsEXT = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DebugUtilsLabelEXT {
pub sType : StructureType,
pub pNext : *const void,
pub pLabelName : *const i8,
pub color : [f32;4],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DebugUtilsObjectNameInfoEXT {
pub sType : StructureType,
pub pNext : *const void,
pub objectType : ObjectType,
pub objectHandle : u64,
pub pObjectName : *const i8,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DebugUtilsMessengerCallbackDataEXT {
pub sType : StructureType,
pub pNext : *const void,
pub flags : DebugUtilsMessengerCallbackDataFlagsEXT,
pub pMessageIdName : *const i8,
pub messageIdNumber : i32,
pub pMessage : *const i8,
pub queueLabelCount : u32,
pub pQueueLabels : *const DebugUtilsLabelEXT,
pub cmdBufLabelCount : u32,
pub pCmdBufLabels : *const DebugUtilsLabelEXT,
pub objectCount : u32,
pub pObjects : *const DebugUtilsObjectNameInfoEXT,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DebugUtilsObjectTagInfoEXT {
pub sType : StructureType,
pub pNext : *const void,
pub objectType : ObjectType,
pub objectHandle : u64,
pub tagName : u64,
pub tagSize : usize,
pub pTag : *const void,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DebugUtilsMessengerCreateInfoEXT {
pub sType : StructureType,
pub pNext : *const void,
pub flags : DebugUtilsMessengerCreateFlagsEXT,
pub messageSeverity : DebugUtilsMessageSeverityFlagsEXT,
pub messageType : DebugUtilsMessageTypeFlagsEXT,
pub pfnUserCallback : u64,
pub pUserData : *mut void,
}
pub type SamplerReductionModeEXT = SamplerReductionMode;
pub type SamplerReductionModeCreateInfoEXT = SamplerReductionModeCreateInfo;
pub type PhysicalDeviceSamplerFilterMinmaxPropertiesEXT = PhysicalDeviceSamplerFilterMinmaxProperties;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceInlineUniformBlockFeaturesEXT {
pub sType : StructureType,
pub pNext : *mut void,
pub inlineUniformBlock : Bool32,
pub descriptorBindingInlineUniformBlockUpdateAfterBind : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceInlineUniformBlockPropertiesEXT {
pub sType : StructureType,
pub pNext : *mut void,
pub maxInlineUniformBlockSize : u32,
pub maxPerStageDescriptorInlineUniformBlocks : u32,
pub maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks : u32,
pub maxDescriptorSetInlineUniformBlocks : u32,
pub maxDescriptorSetUpdateAfterBindInlineUniformBlocks : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct WriteDescriptorSetInlineUniformBlockEXT {
pub sType : StructureType,
pub pNext : *const void,
pub dataSize : u32,
pub pData : *const void,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DescriptorPoolInlineUniformBlockCreateInfoEXT {
pub sType : StructureType,
pub pNext : *const void,
pub maxInlineUniformBlockBindings : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SampleLocationEXT {
pub x : f32,
pub y : f32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SampleLocationsInfoEXT {
pub sType : StructureType,
pub pNext : *const void,
pub sampleLocationsPerPixel : SampleCountFlagBits,
pub sampleLocationGridSize : Extent2D,
pub sampleLocationsCount : u32,
pub pSampleLocations : *const SampleLocationEXT,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct AttachmentSampleLocationsEXT {
pub attachmentIndex : u32,
pub sampleLocationsInfo : SampleLocationsInfoEXT,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SubpassSampleLocationsEXT {
pub subpassIndex : u32,
pub sampleLocationsInfo : SampleLocationsInfoEXT,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct RenderPassSampleLocationsBeginInfoEXT {
pub sType : StructureType,
pub pNext : *const void,
pub attachmentInitialSampleLocationsCount : u32,
pub pAttachmentInitialSampleLocations : *const AttachmentSampleLocationsEXT,
pub postSubpassSampleLocationsCount : u32,
pub pPostSubpassSampleLocations : *const SubpassSampleLocationsEXT,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PipelineSampleLocationsStateCreateInfoEXT {
pub sType : StructureType,
pub pNext : *const void,
pub sampleLocationsEnable : Bool32,
pub sampleLocationsInfo : SampleLocationsInfoEXT,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceSampleLocationsPropertiesEXT {
pub sType : StructureType,
pub pNext : *mut void,
pub sampleLocationSampleCounts : SampleCountFlags,
pub maxSampleLocationGridSize : Extent2D,
pub sampleLocationCoordinateRange : [f32;2],
pub sampleLocationSubPixelBits : u32,
pub variableSampleLocations : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct MultisamplePropertiesEXT {
pub sType : StructureType,
pub pNext : *mut void,
pub maxSampleLocationGridSize : Extent2D,
}
pub type BlendOverlapEXT = i32;
pub const BLEND_OVERLAP_UNCORRELATED_EXT : i32 = 0;
pub const BLEND_OVERLAP_DISJOINT_EXT : i32 = 1;
pub const BLEND_OVERLAP_CONJOINT_EXT : i32 = 2;
pub const BLEND_OVERLAP_MAX_ENUM_EXT : i32 = 0x7FFFFFF;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceBlendOperationAdvancedFeaturesEXT {
pub sType : StructureType,
pub pNext : *mut void,
pub advancedBlendCoherentOperations : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceBlendOperationAdvancedPropertiesEXT {
pub sType : StructureType,
pub pNext : *mut void,
pub advancedBlendMaxColorAttachments : u32,
pub advancedBlendIndependentBlend : Bool32,
pub advancedBlendNonPremultipliedSrcColor : Bool32,
pub advancedBlendNonPremultipliedDstColor : Bool32,
pub advancedBlendCorrelatedOverlap : Bool32,
pub advancedBlendAllOperations : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PipelineColorBlendAdvancedStateCreateInfoEXT {
pub sType : StructureType,
pub pNext : *const void,
pub srcPremultiplied : Bool32,
pub dstPremultiplied : Bool32,
pub blendOverlap : BlendOverlapEXT,
}
pub type PipelineCoverageToColorStateCreateFlagsNV = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PipelineCoverageToColorStateCreateInfoNV {
pub sType : StructureType,
pub pNext : *const void,
pub flags : PipelineCoverageToColorStateCreateFlagsNV,
pub coverageToColorEnable : Bool32,
pub coverageToColorLocation : u32,
}
pub type CoverageModulationModeNV = i32;
pub const COVERAGE_MODULATION_MODE_NONE_NV : i32 = 0;
pub const COVERAGE_MODULATION_MODE_RGB_NV : i32 = 1;
pub const COVERAGE_MODULATION_MODE_ALPHA_NV : i32 = 2;
pub const COVERAGE_MODULATION_MODE_RGBA_NV : i32 = 3;
pub const COVERAGE_MODULATION_MODE_MAX_ENUM_NV : i32 = 0x7FFFFFF;
pub type PipelineCoverageModulationStateCreateFlagsNV = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PipelineCoverageModulationStateCreateInfoNV {
pub sType : StructureType,
pub pNext : *const void,
pub flags : PipelineCoverageModulationStateCreateFlagsNV,
pub coverageModulationMode : CoverageModulationModeNV,
pub coverageModulationTableEnable : Bool32,
pub coverageModulationTableCount : u32,
pub pCoverageModulationTable : *const f32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceShaderSMBuiltinsPropertiesNV {
pub sType : StructureType,
pub pNext : *mut void,
pub shaderSMCount : u32,
pub shaderWarpsPerSM : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceShaderSMBuiltinsFeaturesNV {
pub sType : StructureType,
pub pNext : *mut void,
pub shaderSMBuiltins : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DrmFormatModifierPropertiesEXT {
pub drmFormatModifier : u64,
pub drmFormatModifierPlaneCount : u32,
pub drmFormatModifierTilingFeatures : FormatFeatureFlags,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DrmFormatModifierPropertiesListEXT {
pub sType : StructureType,
pub pNext : *mut void,
pub drmFormatModifierCount : u32,
pub pDrmFormatModifierProperties : *mut DrmFormatModifierPropertiesEXT,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceImageDrmFormatModifierInfoEXT {
pub sType : StructureType,
pub pNext : *const void,
pub drmFormatModifier : u64,
pub sharingMode : SharingMode,
pub queueFamilyIndexCount : u32,
pub pQueueFamilyIndices : *const u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ImageDrmFormatModifierListCreateInfoEXT {
pub sType : StructureType,
pub pNext : *const void,
pub drmFormatModifierCount : u32,
pub pDrmFormatModifiers : *const u64,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ImageDrmFormatModifierExplicitCreateInfoEXT {
pub sType : StructureType,
pub pNext : *const void,
pub drmFormatModifier : u64,
pub drmFormatModifierPlaneCount : u32,
pub pPlaneLayouts : *const SubresourceLayout,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ImageDrmFormatModifierPropertiesEXT {
pub sType : StructureType,
pub pNext : *mut void,
pub drmFormatModifier : u64,
}
pub type ValidationCacheEXT = u64;
pub type ValidationCacheHeaderVersionEXT = i32;
pub const VALIDATION_CACHE_HEADER_VERSION_ONE_EXT : i32 = 1;
pub const VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT : i32 = 0x7FFFFFF;
pub type ValidationCacheCreateFlagsEXT = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ValidationCacheCreateInfoEXT {
pub sType : StructureType,
pub pNext : *const void,
pub flags : ValidationCacheCreateFlagsEXT,
pub initialDataSize : usize,
pub pInitialData : *const void,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ShaderModuleValidationCacheCreateInfoEXT {
pub sType : StructureType,
pub pNext : *const void,
pub validationCache : ValidationCacheEXT,
}
pub type DescriptorBindingFlagBitsEXT = DescriptorBindingFlagBits;
pub type DescriptorBindingFlagsEXT = DescriptorBindingFlags;
pub type DescriptorSetLayoutBindingFlagsCreateInfoEXT = DescriptorSetLayoutBindingFlagsCreateInfo;
pub type PhysicalDeviceDescriptorIndexingFeaturesEXT = PhysicalDeviceDescriptorIndexingFeatures;
pub type PhysicalDeviceDescriptorIndexingPropertiesEXT = PhysicalDeviceDescriptorIndexingProperties;
pub type DescriptorSetVariableDescriptorCountAllocateInfoEXT = DescriptorSetVariableDescriptorCountAllocateInfo;
pub type DescriptorSetVariableDescriptorCountLayoutSupportEXT = DescriptorSetVariableDescriptorCountLayoutSupport;
pub type ShadingRatePaletteEntryNV = i32;
pub const SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV : i32 = 0;
pub const SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV : i32 = 1;
pub const SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV : i32 = 2;
pub const SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV : i32 = 3;
pub const SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV : i32 = 4;
pub const SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV : i32 = 5;
pub const SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV : i32 = 6;
pub const SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV : i32 = 7;
pub const SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV : i32 = 8;
pub const SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV : i32 = 9;
pub const SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV : i32 = 10;
pub const SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV : i32 = 11;
pub const SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV : i32 = 0x7FFFFFF;
pub type CoarseSampleOrderTypeNV = i32;
pub const COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV : i32 = 0;
pub const COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV : i32 = 1;
pub const COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV : i32 = 2;
pub const COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV : i32 = 3;
pub const COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV : i32 = 0x7FFFFFF;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ShadingRatePaletteNV {
pub shadingRatePaletteEntryCount : u32,
pub pShadingRatePaletteEntries : *const ShadingRatePaletteEntryNV,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PipelineViewportShadingRateImageStateCreateInfoNV {
pub sType : StructureType,
pub pNext : *const void,
pub shadingRateImageEnable : Bool32,
pub viewportCount : u32,
pub pShadingRatePalettes : *const ShadingRatePaletteNV,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceShadingRateImageFeaturesNV {
pub sType : StructureType,
pub pNext : *mut void,
pub shadingRateImage : Bool32,
pub shadingRateCoarseSampleOrder : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceShadingRateImagePropertiesNV {
pub sType : StructureType,
pub pNext : *mut void,
pub shadingRateTexelSize : Extent2D,
pub shadingRatePaletteSize : u32,
pub shadingRateMaxCoarseSamples : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CoarseSampleLocationNV {
pub pixelX : u32,
pub pixelY : u32,
pub sample : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CoarseSampleOrderCustomNV {
pub shadingRate : ShadingRatePaletteEntryNV,
pub sampleCount : u32,
pub sampleLocationCount : u32,
pub pSampleLocations : *const CoarseSampleLocationNV,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PipelineViewportCoarseSampleOrderStateCreateInfoNV {
pub sType : StructureType,
pub pNext : *const void,
pub sampleOrderType : CoarseSampleOrderTypeNV,
pub customSampleOrderCount : u32,
pub pCustomSampleOrders : *const CoarseSampleOrderCustomNV,
}
pub type AccelerationStructureKHR = u64;
pub type AccelerationStructureNV = AccelerationStructureKHR;
pub type RayTracingShaderGroupTypeKHR = i32;
pub const RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR : i32 = 0;
pub const RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR : i32 = 1;
pub const RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR : i32 = 2;
pub const RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV : i32 = RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR;
pub const RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV : i32 = RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR;
pub const RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV : i32 = RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR;
pub const RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR : i32 = 0x7FFFFFF;
pub type RayTracingShaderGroupTypeNV = RayTracingShaderGroupTypeKHR;
pub type GeometryTypeKHR = i32;
pub const GEOMETRY_TYPE_TRIANGLES_KHR : i32 = 0;
pub const GEOMETRY_TYPE_AABBS_KHR : i32 = 1;
pub const GEOMETRY_TYPE_INSTANCES_KHR : i32 = 1000150000;
pub const GEOMETRY_TYPE_TRIANGLES_NV : i32 = GEOMETRY_TYPE_TRIANGLES_KHR;
pub const GEOMETRY_TYPE_AABBS_NV : i32 = GEOMETRY_TYPE_AABBS_KHR;
pub const GEOMETRY_TYPE_MAX_ENUM_KHR : i32 = 0x7FFFFFF;
pub type GeometryTypeNV = GeometryTypeKHR;
pub type AccelerationStructureTypeKHR = i32;
pub const ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR : i32 = 0;
pub const ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR : i32 = 1;
pub const ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV : i32 = ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR;
pub const ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV : i32 = ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR;
pub const ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR : i32 = 0x7FFFFFF;
pub type AccelerationStructureTypeNV = AccelerationStructureTypeKHR;
pub type CopyAccelerationStructureModeKHR = i32;
pub const COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR : i32 = 0;
pub const COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR : i32 = 1;
pub const COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR : i32 = 2;
pub const COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR : i32 = 3;
pub const COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV : i32 = COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR;
pub const COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV : i32 = COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR;
pub const COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR : i32 = 0x7FFFFFF;
pub type CopyAccelerationStructureModeNV = CopyAccelerationStructureModeKHR;
pub type AccelerationStructureMemoryRequirementsTypeKHR = i32;
pub const ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_KHR : i32 = 0;
pub const ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_KHR : i32 = 1;
pub const ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_KHR : i32 = 2;
pub const ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV : i32 = ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_KHR;
pub const ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV : i32 = ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_KHR;
pub const ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV : i32 = ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_KHR;
pub const ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_KHR : i32 = 0x7FFFFFF;
pub type AccelerationStructureMemoryRequirementsTypeNV = AccelerationStructureMemoryRequirementsTypeKHR;
pub type GeometryFlagBitsKHR = i32;
pub const GEOMETRY_OPAQUE_BIT_KHR : i32 = 0x00000001;
pub const GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR : i32 = 0x00000002;
pub const GEOMETRY_OPAQUE_BIT_NV : i32 = GEOMETRY_OPAQUE_BIT_KHR;
pub const GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV : i32 = GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR;
pub const GEOMETRY_FLAG_BITS_MAX_ENUM_KHR : i32 = 0x7FFFFFF;
pub type GeometryFlagsKHR = u32;
pub type GeometryFlagsNV = GeometryFlagsKHR;
pub type GeometryFlagBitsNV = GeometryFlagBitsKHR;
pub type GeometryInstanceFlagBitsKHR = i32;
pub const GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR : i32 = 0x00000001;
pub const GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR : i32 = 0x00000002;
pub const GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR : i32 = 0x00000004;
pub const GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR : i32 = 0x00000008;
pub const GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV : i32 = GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR;
pub const GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV : i32 = GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR;
pub const GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV : i32 = GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR;
pub const GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV : i32 = GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR;
pub const GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR : i32 = 0x7FFFFFF;
pub type GeometryInstanceFlagsKHR = u32;
pub type GeometryInstanceFlagsNV = GeometryInstanceFlagsKHR;
pub type GeometryInstanceFlagBitsNV = GeometryInstanceFlagBitsKHR;
pub type BuildAccelerationStructureFlagBitsKHR = i32;
pub const BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR : i32 = 0x00000001;
pub const BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR : i32 = 0x00000002;
pub const BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR : i32 = 0x00000004;
pub const BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR : i32 = 0x00000008;
pub const BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR : i32 = 0x00000010;
pub const BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV : i32 = BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR;
pub const BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV : i32 = BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR;
pub const BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV : i32 = BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR;
pub const BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV : i32 = BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR;
pub const BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV : i32 = BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR;
pub const BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR : i32 = 0x7FFFFFF;
pub type BuildAccelerationStructureFlagsKHR = u32;
pub type BuildAccelerationStructureFlagsNV = BuildAccelerationStructureFlagsKHR;
pub type BuildAccelerationStructureFlagBitsNV = BuildAccelerationStructureFlagBitsKHR;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct RayTracingShaderGroupCreateInfoNV {
pub sType : StructureType,
pub pNext : *const void,
pub r#type : RayTracingShaderGroupTypeKHR,
pub generalShader : u32,
pub closestHitShader : u32,
pub anyHitShader : u32,
pub intersectionShader : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct RayTracingPipelineCreateInfoNV {
pub sType : StructureType,
pub pNext : *const void,
pub flags : PipelineCreateFlags,
pub stageCount : u32,
pub pStages : *const PipelineShaderStageCreateInfo,
pub groupCount : u32,
pub pGroups : *const RayTracingShaderGroupCreateInfoNV,
pub maxRecursionDepth : u32,
pub layout : PipelineLayout,
pub basePipelineHandle : Pipeline,
pub basePipelineIndex : i32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct GeometryTrianglesNV {
pub sType : StructureType,
pub pNext : *const void,
pub vertexData : Buffer,
pub vertexOffset : DeviceSize,
pub vertexCount : u32,
pub vertexStride : DeviceSize,
pub vertexFormat : Format,
pub indexData : Buffer,
pub indexOffset : DeviceSize,
pub indexCount : u32,
pub indexType : IndexType,
pub transformData : Buffer,
pub transformOffset : DeviceSize,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct GeometryAABBNV {
pub sType : StructureType,
pub pNext : *const void,
pub aabbData : Buffer,
pub numAABBs : u32,
pub stride : u32,
pub offset : DeviceSize,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct GeometryDataNV {
pub triangles : GeometryTrianglesNV,
pub aabbs : GeometryAABBNV,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct GeometryNV {
pub sType : StructureType,
pub pNext : *const void,
pub geometryType : GeometryTypeKHR,
pub geometry : GeometryDataNV,
pub flags : GeometryFlagsKHR,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct AccelerationStructureInfoNV {
pub sType : StructureType,
pub pNext : *const void,
pub r#type : AccelerationStructureTypeNV,
pub flags : BuildAccelerationStructureFlagsNV,
pub instanceCount : u32,
pub geometryCount : u32,
pub pGeometries : *const GeometryNV,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct AccelerationStructureCreateInfoNV {
pub sType : StructureType,
pub pNext : *const void,
pub compactedSize : DeviceSize,
pub info : AccelerationStructureInfoNV,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct BindAccelerationStructureMemoryInfoKHR {
pub sType : StructureType,
pub pNext : *const void,
pub accelerationStructure : AccelerationStructureKHR,
pub memory : DeviceMemory,
pub memoryOffset : DeviceSize,
pub deviceIndexCount : u32,
pub pDeviceIndices : *const u32,
}
pub type BindAccelerationStructureMemoryInfoNV = BindAccelerationStructureMemoryInfoKHR;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct WriteDescriptorSetAccelerationStructureKHR {
pub sType : StructureType,
pub pNext : *const void,
pub accelerationStructureCount : u32,
pub pAccelerationStructures : *const AccelerationStructureKHR,
}
pub type WriteDescriptorSetAccelerationStructureNV = WriteDescriptorSetAccelerationStructureKHR;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct AccelerationStructureMemoryRequirementsInfoNV {
pub sType : StructureType,
pub pNext : *const void,
pub r#type : AccelerationStructureMemoryRequirementsTypeNV,
pub accelerationStructure : AccelerationStructureNV,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceRayTracingPropertiesNV {
pub sType : StructureType,
pub pNext : *mut void,
pub shaderGroupHandleSize : u32,
pub maxRecursionDepth : u32,
pub maxShaderGroupStride : u32,
pub shaderGroupBaseAlignment : u32,
pub maxGeometryCount : u64,
pub maxInstanceCount : u64,
pub maxTriangleCount : u64,
pub maxDescriptorSetAccelerationStructures : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct TransformMatrixKHR {
pub matrix : [f32;12],
}
pub type TransformMatrixNV = TransformMatrixKHR;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct AabbPositionsKHR {
pub minX : f32,
pub minY : f32,
pub minZ : f32,
pub maxX : f32,
pub maxY : f32,
pub maxZ : f32,
}
pub type AabbPositionsNV = AabbPositionsKHR;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceRepresentativeFragmentTestFeaturesNV {
pub sType : StructureType,
pub pNext : *mut void,
pub representativeFragmentTest : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PipelineRepresentativeFragmentTestStateCreateInfoNV {
pub sType : StructureType,
pub pNext : *const void,
pub representativeFragmentTestEnable : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceImageViewImageFormatInfoEXT {
pub sType : StructureType,
pub pNext : *mut void,
pub imageViewType : ImageViewType,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FilterCubicImageViewImageFormatPropertiesEXT {
pub sType : StructureType,
pub pNext : *mut void,
pub filterCubic : Bool32,
pub filterCubicMinmax : Bool32,
}
pub type QueueGlobalPriorityEXT = i32;
pub const QUEUE_GLOBAL_PRIORITY_LOW_EXT : i32 = 128;
pub const QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT : i32 = 256;
pub const QUEUE_GLOBAL_PRIORITY_HIGH_EXT : i32 = 512;
pub const QUEUE_GLOBAL_PRIORITY_REALTIME_EXT : i32 = 1024;
pub const QUEUE_GLOBAL_PRIORITY_MAX_ENUM_EXT : i32 = 0x7FFFFFF;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DeviceQueueGlobalPriorityCreateInfoEXT {
pub sType : StructureType,
pub pNext : *const void,
pub globalPriority : QueueGlobalPriorityEXT,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ImportMemoryHostPointerInfoEXT {
pub sType : StructureType,
pub pNext : *const void,
pub handleType : ExternalMemoryHandleTypeFlagBits,
pub pHostPointer : *mut void,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct MemoryHostPointerPropertiesEXT {
pub sType : StructureType,
pub pNext : *mut void,
pub memoryTypeBits : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceExternalMemoryHostPropertiesEXT {
pub sType : StructureType,
pub pNext : *mut void,
pub minImportedHostPointerAlignment : DeviceSize,
}
pub type PipelineCompilerControlFlagBitsAMD = i32;
pub const PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD : i32 = 0x7FFFFFF;
pub type PipelineCompilerControlFlagsAMD = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PipelineCompilerControlCreateInfoAMD {
pub sType : StructureType,
pub pNext : *const void,
pub compilerControlFlags : PipelineCompilerControlFlagsAMD,
}
pub type TimeDomainEXT = i32;
pub const TIME_DOMAIN_DEVICE_EXT : i32 = 0;
pub const TIME_DOMAIN_CLOCK_MONOTONIC_EXT : i32 = 1;
pub const TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT : i32 = 2;
pub const TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT : i32 = 3;
pub const TIME_DOMAIN_MAX_ENUM_EXT : i32 = 0x7FFFFFF;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CalibratedTimestampInfoEXT {
pub sType : StructureType,
pub pNext : *const void,
pub timeDomain : TimeDomainEXT,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceShaderCorePropertiesAMD {
pub sType : StructureType,
pub pNext : *mut void,
pub shaderEngineCount : u32,
pub shaderArraysPerEngineCount : u32,
pub computeUnitsPerShaderArray : u32,
pub simdPerComputeUnit : u32,
pub wavefrontsPerSimd : u32,
pub wavefrontSize : u32,
pub sgprsPerSimd : u32,
pub minSgprAllocation : u32,
pub maxSgprAllocation : u32,
pub sgprAllocationGranularity : u32,
pub vgprsPerSimd : u32,
pub minVgprAllocation : u32,
pub maxVgprAllocation : u32,
pub vgprAllocationGranularity : u32,
}
pub type MemoryOverallocationBehaviorAMD = i32;
pub const MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD : i32 = 0;
pub const MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD : i32 = 1;
pub const MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD : i32 = 2;
pub const MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD : i32 = 0x7FFFFFF;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DeviceMemoryOverallocationCreateInfoAMD {
pub sType : StructureType,
pub pNext : *const void,
pub overallocationBehavior : MemoryOverallocationBehaviorAMD,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceVertexAttributeDivisorPropertiesEXT {
pub sType : StructureType,
pub pNext : *mut void,
pub maxVertexAttribDivisor : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VertexInputBindingDivisorDescriptionEXT {
pub binding : u32,
pub divisor : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PipelineVertexInputDivisorStateCreateInfoEXT {
pub sType : StructureType,
pub pNext : *const void,
pub vertexBindingDivisorCount : u32,
pub pVertexBindingDivisors : *const VertexInputBindingDivisorDescriptionEXT,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceVertexAttributeDivisorFeaturesEXT {
pub sType : StructureType,
pub pNext : *mut void,
pub vertexAttributeInstanceRateDivisor : Bool32,
pub vertexAttributeInstanceRateZeroDivisor : Bool32,
}
pub type PipelineCreationFeedbackFlagBitsEXT = i32;
pub const PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT : i32 = 0x00000001;
pub const PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT : i32 = 0x00000002;
pub const PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT : i32 = 0x00000004;
pub const PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT : i32 = 0x7FFFFFF;
pub type PipelineCreationFeedbackFlagsEXT = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PipelineCreationFeedbackEXT {
pub flags : PipelineCreationFeedbackFlagsEXT,
pub duration : u64,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PipelineCreationFeedbackCreateInfoEXT {
pub sType : StructureType,
pub pNext : *const void,
pub pPipelineCreationFeedback : *mut PipelineCreationFeedbackEXT,
pub pipelineStageCreationFeedbackCount : u32,
pub pPipelineStageCreationFeedbacks : *mut PipelineCreationFeedbackEXT,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceComputeShaderDerivativesFeaturesNV {
pub sType : StructureType,
pub pNext : *mut void,
pub computeDerivativeGroupQuads : Bool32,
pub computeDerivativeGroupLinear : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceMeshShaderFeaturesNV {
pub sType : StructureType,
pub pNext : *mut void,
pub taskShader : Bool32,
pub meshShader : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceMeshShaderPropertiesNV {
pub sType : StructureType,
pub pNext : *mut void,
pub maxDrawMeshTasksCount : u32,
pub maxTaskWorkGroupInvocations : u32,
pub maxTaskWorkGroupSize : [u32;3],
pub maxTaskTotalMemorySize : u32,
pub maxTaskOutputCount : u32,
pub maxMeshWorkGroupInvocations : u32,
pub maxMeshWorkGroupSize : [u32;3],
pub maxMeshTotalMemorySize : u32,
pub maxMeshOutputVertices : u32,
pub maxMeshOutputPrimitives : u32,
pub maxMeshMultiviewViewCount : u32,
pub meshOutputPerVertexGranularity : u32,
pub meshOutputPerPrimitiveGranularity : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DrawMeshTasksIndirectCommandNV {
pub taskCount : u32,
pub firstTask : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceFragmentShaderBarycentricFeaturesNV {
pub sType : StructureType,
pub pNext : *mut void,
pub fragmentShaderBarycentric : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceShaderImageFootprintFeaturesNV {
pub sType : StructureType,
pub pNext : *mut void,
pub imageFootprint : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PipelineViewportExclusiveScissorStateCreateInfoNV {
pub sType : StructureType,
pub pNext : *const void,
pub exclusiveScissorCount : u32,
pub pExclusiveScissors : *const Rect2D,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceExclusiveScissorFeaturesNV {
pub sType : StructureType,
pub pNext : *mut void,
pub exclusiveScissor : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct QueueFamilyCheckpointPropertiesNV {
pub sType : StructureType,
pub pNext : *mut void,
pub checkpointExecutionStageMask : PipelineStageFlags,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CheckpointDataNV {
pub sType : StructureType,
pub pNext : *mut void,
pub stage : PipelineStageFlagBits,
pub pCheckpointMarker : *mut void,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
pub sType : StructureType,
pub pNext : *mut void,
pub shaderIntegerFunctions2 : Bool32,
}
pub type PerformanceConfigurationINTEL = u64;
pub type PerformanceConfigurationTypeINTEL = i32;
pub const PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL : i32 = 0;
pub const PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL : i32 = 0x7FFFFFF;
pub type QueryPoolSamplingModeINTEL = i32;
pub const QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL : i32 = 0;
pub const QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL : i32 = 0x7FFFFFF;
pub type PerformanceOverrideTypeINTEL = i32;
pub const PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL : i32 = 0;
pub const PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL : i32 = 1;
pub const PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL : i32 = 0x7FFFFFF;
pub type PerformanceParameterTypeINTEL = i32;
pub const PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL : i32 = 0;
pub const PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL : i32 = 1;
pub const PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL : i32 = 0x7FFFFFF;
pub type PerformanceValueTypeINTEL = i32;
pub const PERFORMANCE_VALUE_TYPE_UINT32_INTEL : i32 = 0;
pub const PERFORMANCE_VALUE_TYPE_UINT64_INTEL : i32 = 1;
pub const PERFORMANCE_VALUE_TYPE_FLOAT_INTEL : i32 = 2;
pub const PERFORMANCE_VALUE_TYPE_BOOL_INTEL : i32 = 3;
pub const PERFORMANCE_VALUE_TYPE_STRING_INTEL : i32 = 4;
pub const PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL : i32 = 0x7FFFFFF;
union PerformanceValueDataINTEL {
value32 : u32,
value64 : u64,
valueFloat : f32,
valueBool : i32,
valueString : *const i8,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct InitializePerformanceApiInfoINTEL {
pub sType : StructureType,
pub pNext : *const void,
pub pUserData : *mut void,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct QueryPoolPerformanceQueryCreateInfoINTEL {
pub sType : StructureType,
pub pNext : *const void,
pub performanceCountersSampling : QueryPoolSamplingModeINTEL,
}
pub type QueryPoolCreateInfoINTEL = QueryPoolPerformanceQueryCreateInfoINTEL;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PerformanceMarkerInfoINTEL {
pub sType : StructureType,
pub pNext : *const void,
pub marker : u64,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PerformanceStreamMarkerInfoINTEL {
pub sType : StructureType,
pub pNext : *const void,
pub marker : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PerformanceOverrideInfoINTEL {
pub sType : StructureType,
pub pNext : *const void,
pub r#type : PerformanceOverrideTypeINTEL,
pub enable : Bool32,
pub parameter : u64,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PerformanceConfigurationAcquireInfoINTEL {
pub sType : StructureType,
pub pNext : *const void,
pub r#type : PerformanceConfigurationTypeINTEL,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDevicePCIBusInfoPropertiesEXT {
pub sType : StructureType,
pub pNext : *mut void,
pub pciDomain : u32,
pub pciBus : u32,
pub pciDevice : u32,
pub pciFunction : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DisplayNativeHdrSurfaceCapabilitiesAMD {
pub sType : StructureType,
pub pNext : *mut void,
pub localDimmingSupport : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SwapchainDisplayNativeHdrCreateInfoAMD {
pub sType : StructureType,
pub pNext : *const void,
pub localDimmingEnable : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceFragmentDensityMapFeaturesEXT {
pub sType : StructureType,
pub pNext : *mut void,
pub fragmentDensityMap : Bool32,
pub fragmentDensityMapDynamic : Bool32,
pub fragmentDensityMapNonSubsampledImages : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceFragmentDensityMapPropertiesEXT {
pub sType : StructureType,
pub pNext : *mut void,
pub minFragmentDensityTexelSize : Extent2D,
pub maxFragmentDensityTexelSize : Extent2D,
pub fragmentDensityInvocations : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct RenderPassFragmentDensityMapCreateInfoEXT {
pub sType : StructureType,
pub pNext : *const void,
pub fragmentDensityMapAttachment : AttachmentReference,
}
pub type PhysicalDeviceScalarBlockLayoutFeaturesEXT = PhysicalDeviceScalarBlockLayoutFeatures;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceSubgroupSizeControlFeaturesEXT {
pub sType : StructureType,
pub pNext : *mut void,
pub subgroupSizeControl : Bool32,
pub computeFullSubgroups : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceSubgroupSizeControlPropertiesEXT {
pub sType : StructureType,
pub pNext : *mut void,
pub minSubgroupSize : u32,
pub maxSubgroupSize : u32,
pub maxComputeWorkgroupSubgroups : u32,
pub requiredSubgroupSizeStages : ShaderStageFlags,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT {
pub sType : StructureType,
pub pNext : *mut void,
pub requiredSubgroupSize : u32,
}
pub type ShaderCorePropertiesFlagBitsAMD = i32;
pub const SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD : i32 = 0x7FFFFFF;
pub type ShaderCorePropertiesFlagsAMD = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceShaderCoreProperties2AMD {
pub sType : StructureType,
pub pNext : *mut void,
pub shaderCoreFeatures : ShaderCorePropertiesFlagsAMD,
pub activeComputeUnitCount : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceCoherentMemoryFeaturesAMD {
pub sType : StructureType,
pub pNext : *mut void,
pub deviceCoherentMemory : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceMemoryBudgetPropertiesEXT {
pub sType : StructureType,
pub pNext : *mut void,
pub heapBudget : [DeviceSize;MAX_MEMORY_HEAPS],
pub heapUsage : [DeviceSize;MAX_MEMORY_HEAPS],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceMemoryPriorityFeaturesEXT {
pub sType : StructureType,
pub pNext : *mut void,
pub memoryPriority : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct MemoryPriorityAllocateInfoEXT {
pub sType : StructureType,
pub pNext : *const void,
pub priority : f32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
pub sType : StructureType,
pub pNext : *mut void,
pub dedicatedAllocationImageAliasing : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceBufferDeviceAddressFeaturesEXT {
pub sType : StructureType,
pub pNext : *mut void,
pub bufferDeviceAddress : Bool32,
pub bufferDeviceAddressCaptureReplay : Bool32,
pub bufferDeviceAddressMultiDevice : Bool32,
}
pub type PhysicalDeviceBufferAddressFeaturesEXT = PhysicalDeviceBufferDeviceAddressFeaturesEXT;
pub type BufferDeviceAddressInfoEXT = BufferDeviceAddressInfo;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct BufferDeviceAddressCreateInfoEXT {
pub sType : StructureType,
pub pNext : *const void,
pub deviceAddress : DeviceAddress,
}
pub type ToolPurposeFlagBitsEXT = i32;
pub const TOOL_PURPOSE_VALIDATION_BIT_EXT : i32 = 0x00000001;
pub const TOOL_PURPOSE_PROFILING_BIT_EXT : i32 = 0x00000002;
pub const TOOL_PURPOSE_TRACING_BIT_EXT : i32 = 0x00000004;
pub const TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT : i32 = 0x00000008;
pub const TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT : i32 = 0x00000010;
pub const TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT : i32 = 0x00000020;
pub const TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT : i32 = 0x00000040;
pub const TOOL_PURPOSE_FLAG_BITS_MAX_ENUM_EXT : i32 = 0x7FFFFFF;
pub type ToolPurposeFlagsEXT = u32;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct PhysicalDeviceToolPropertiesEXT {
pub sType : StructureType,
pub pNext : *mut void,
pub name : [i8;MAX_EXTENSION_NAME_SIZE],
pub version : [i8;MAX_EXTENSION_NAME_SIZE],
pub purposes : ToolPurposeFlagsEXT,
pub description : [i8;MAX_DESCRIPTION_SIZE],
pub layer : [i8;MAX_EXTENSION_NAME_SIZE],
}
pub type ImageStencilUsageCreateInfoEXT = ImageStencilUsageCreateInfo;
pub type ValidationFeatureEnableEXT = i32;
pub const VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT : i32 = 0;
pub const VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT : i32 = 1;
pub const VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT : i32 = 2;
pub const VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT : i32 = 3;
pub const VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT : i32 = 0x7FFFFFF;
pub type ValidationFeatureDisableEXT = i32;
pub const VALIDATION_FEATURE_DISABLE_ALL_EXT : i32 = 0;
pub const VALIDATION_FEATURE_DISABLE_SHADERS_EXT : i32 = 1;
pub const VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT : i32 = 2;
pub const VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT : i32 = 3;
pub const VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT : i32 = 4;
pub const VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT : i32 = 5;
pub const VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT : i32 = 6;
pub const VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT : i32 = 0x7FFFFFF;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ValidationFeaturesEXT {
pub sType : StructureType,
pub pNext : *const void,
pub enabledValidationFeatureCount : u32,
pub pEnabledValidationFeatures : *const ValidationFeatureEnableEXT,
pub disabledValidationFeatureCount : u32,
pub pDisabledValidationFeatures : *const ValidationFeatureDisableEXT,
}
pub type ComponentTypeNV = i32;
pub const COMPONENT_TYPE_FLOAT16_NV : i32 = 0;
pub const COMPONENT_TYPE_FLOAT32_NV : i32 = 1;
pub const COMPONENT_TYPE_FLOAT64_NV : i32 = 2;
pub const COMPONENT_TYPE_SINT8_NV : i32 = 3;
pub const COMPONENT_TYPE_SINT16_NV : i32 = 4;
pub const COMPONENT_TYPE_SINT32_NV : i32 = 5;
pub const COMPONENT_TYPE_SINT64_NV : i32 = 6;
pub const COMPONENT_TYPE_UINT8_NV : i32 = 7;
pub const COMPONENT_TYPE_UINT16_NV : i32 = 8;
pub const COMPONENT_TYPE_UINT32_NV : i32 = 9;
pub const COMPONENT_TYPE_UINT64_NV : i32 = 10;
pub const COMPONENT_TYPE_MAX_ENUM_NV : i32 = 0x7FFFFFF;
pub type ScopeNV = i32;
pub const SCOPE_DEVICE_NV : i32 = 1;
pub const SCOPE_WORKGROUP_NV : i32 = 2;
pub const SCOPE_SUBGROUP_NV : i32 = 3;
pub const SCOPE_QUEUE_FAMILY_NV : i32 = 5;
pub const SCOPE_MAX_ENUM_NV : i32 = 0x7FFFFFF;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CooperativeMatrixPropertiesNV {
pub sType : StructureType,
pub pNext : *mut void,
pub MSize : u32,
pub NSize : u32,
pub KSize : u32,
pub AType : ComponentTypeNV,
pub BType : ComponentTypeNV,
pub CType : ComponentTypeNV,
pub DType : ComponentTypeNV,
pub scope : ScopeNV,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceCooperativeMatrixFeaturesNV {
pub sType : StructureType,
pub pNext : *mut void,
pub cooperativeMatrix : Bool32,
pub cooperativeMatrixRobustBufferAccess : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceCooperativeMatrixPropertiesNV {
pub sType : StructureType,
pub pNext : *mut void,
pub cooperativeMatrixSupportedStages : ShaderStageFlags,
}
pub type CoverageReductionModeNV = i32;
pub const COVERAGE_REDUCTION_MODE_MERGE_NV : i32 = 0;
pub const COVERAGE_REDUCTION_MODE_TRUNCATE_NV : i32 = 1;
pub const COVERAGE_REDUCTION_MODE_MAX_ENUM_NV : i32 = 0x7FFFFFF;
pub type PipelineCoverageReductionStateCreateFlagsNV = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceCoverageReductionModeFeaturesNV {
pub sType : StructureType,
pub pNext : *mut void,
pub coverageReductionMode : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PipelineCoverageReductionStateCreateInfoNV {
pub sType : StructureType,
pub pNext : *const void,
pub flags : PipelineCoverageReductionStateCreateFlagsNV,
pub coverageReductionMode : CoverageReductionModeNV,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FramebufferMixedSamplesCombinationNV {
pub sType : StructureType,
pub pNext : *mut void,
pub coverageReductionMode : CoverageReductionModeNV,
pub rasterizationSamples : SampleCountFlagBits,
pub depthStencilSamples : SampleCountFlags,
pub colorSamples : SampleCountFlags,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceFragmentShaderInterlockFeaturesEXT {
pub sType : StructureType,
pub pNext : *mut void,
pub fragmentShaderSampleInterlock : Bool32,
pub fragmentShaderPixelInterlock : Bool32,
pub fragmentShaderShadingRateInterlock : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceYcbcrImageArraysFeaturesEXT {
pub sType : StructureType,
pub pNext : *mut void,
pub ycbcrImageArrays : Bool32,
}
pub type HeadlessSurfaceCreateFlagsEXT = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct HeadlessSurfaceCreateInfoEXT {
pub sType : StructureType,
pub pNext : *const void,
pub flags : HeadlessSurfaceCreateFlagsEXT,
}
pub type LineRasterizationModeEXT = i32;
pub const LINE_RASTERIZATION_MODE_DEFAULT_EXT : i32 = 0;
pub const LINE_RASTERIZATION_MODE_RECTANGULAR_EXT : i32 = 1;
pub const LINE_RASTERIZATION_MODE_BRESENHAM_EXT : i32 = 2;
pub const LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT : i32 = 3;
pub const LINE_RASTERIZATION_MODE_MAX_ENUM_EXT : i32 = 0x7FFFFFF;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceLineRasterizationFeaturesEXT {
pub sType : StructureType,
pub pNext : *mut void,
pub rectangularLines : Bool32,
pub bresenhamLines : Bool32,
pub smoothLines : Bool32,
pub stippledRectangularLines : Bool32,
pub stippledBresenhamLines : Bool32,
pub stippledSmoothLines : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceLineRasterizationPropertiesEXT {
pub sType : StructureType,
pub pNext : *mut void,
pub lineSubPixelPrecisionBits : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PipelineRasterizationLineStateCreateInfoEXT {
pub sType : StructureType,
pub pNext : *const void,
pub lineRasterizationMode : LineRasterizationModeEXT,
pub stippledLineEnable : Bool32,
pub lineStippleFactor : u32,
pub lineStipplePattern : u16,
}
pub type PhysicalDeviceHostQueryResetFeaturesEXT = PhysicalDeviceHostQueryResetFeatures;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceIndexTypeUint8FeaturesEXT {
pub sType : StructureType,
pub pNext : *mut void,
pub indexTypeUint8 : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT {
pub sType : StructureType,
pub pNext : *mut void,
pub shaderDemoteToHelperInvocation : Bool32,
}
pub type IndirectCommandsLayoutNV = u64;
pub type IndirectCommandsTokenTypeNV = i32;
pub const INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV : i32 = 0;
pub const INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV : i32 = 1;
pub const INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV : i32 = 2;
pub const INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV : i32 = 3;
pub const INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV : i32 = 4;
pub const INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV : i32 = 5;
pub const INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV : i32 = 6;
pub const INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV : i32 = 7;
pub const INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV : i32 = 0x7FFFFFF;
pub type IndirectStateFlagBitsNV = i32;
pub const INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV : i32 = 0x00000001;
pub const INDIRECT_STATE_FLAG_BITS_MAX_ENUM_NV : i32 = 0x7FFFFFF;
pub type IndirectStateFlagsNV = u32;
pub type IndirectCommandsLayoutUsageFlagBitsNV = i32;
pub const INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV : i32 = 0x00000001;
pub const INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV : i32 = 0x00000002;
pub const INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV : i32 = 0x00000004;
pub const INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NV : i32 = 0x7FFFFFF;
pub type IndirectCommandsLayoutUsageFlagsNV = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
pub sType : StructureType,
pub pNext : *mut void,
pub maxGraphicsShaderGroupCount : u32,
pub maxIndirectSequenceCount : u32,
pub maxIndirectCommandsTokenCount : u32,
pub maxIndirectCommandsStreamCount : u32,
pub maxIndirectCommandsTokenOffset : u32,
pub maxIndirectCommandsStreamStride : u32,
pub minSequencesCountBufferOffsetAlignment : u32,
pub minSequencesIndexBufferOffsetAlignment : u32,
pub minIndirectCommandsBufferOffsetAlignment : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
pub sType : StructureType,
pub pNext : *mut void,
pub deviceGeneratedCommands : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct GraphicsShaderGroupCreateInfoNV {
pub sType : StructureType,
pub pNext : *const void,
pub stageCount : u32,
pub pStages : *const PipelineShaderStageCreateInfo,
pub pVertexInputState : *const PipelineVertexInputStateCreateInfo,
pub pTessellationState : *const PipelineTessellationStateCreateInfo,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct GraphicsPipelineShaderGroupsCreateInfoNV {
pub sType : StructureType,
pub pNext : *const void,
pub groupCount : u32,
pub pGroups : *const GraphicsShaderGroupCreateInfoNV,
pub pipelineCount : u32,
pub pPipelines : *const Pipeline,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct BindShaderGroupIndirectCommandNV {
pub groupIndex : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct BindIndexBufferIndirectCommandNV {
pub bufferAddress : DeviceAddress,
pub size : u32,
pub indexType : IndexType,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct BindVertexBufferIndirectCommandNV {
pub bufferAddress : DeviceAddress,
pub size : u32,
pub stride : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SetStateFlagsIndirectCommandNV {
pub data : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct IndirectCommandsStreamNV {
pub buffer : Buffer,
pub offset : DeviceSize,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct IndirectCommandsLayoutTokenNV {
pub sType : StructureType,
pub pNext : *const void,
pub tokenType : IndirectCommandsTokenTypeNV,
pub stream : u32,
pub offset : u32,
pub vertexBindingUnit : u32,
pub vertexDynamicStride : Bool32,
pub pushconstantPipelineLayout : PipelineLayout,
pub pushconstantShaderStageFlags : ShaderStageFlags,
pub pushconstantOffset : u32,
pub pushconstantSize : u32,
pub indirectStateFlags : IndirectStateFlagsNV,
pub indexTypeCount : u32,
pub pIndexTypes : *const IndexType,
pub pIndexTypeValues : *const u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct IndirectCommandsLayoutCreateInfoNV {
pub sType : StructureType,
pub pNext : *const void,
pub flags : IndirectCommandsLayoutUsageFlagsNV,
pub pipelineBindPoint : PipelineBindPoint,
pub tokenCount : u32,
pub pTokens : *const IndirectCommandsLayoutTokenNV,
pub streamCount : u32,
pub pStreamStrides : *const u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct GeneratedCommandsInfoNV {
pub sType : StructureType,
pub pNext : *const void,
pub pipelineBindPoint : PipelineBindPoint,
pub pipeline : Pipeline,
pub indirectCommandsLayout : IndirectCommandsLayoutNV,
pub streamCount : u32,
pub pStreams : *const IndirectCommandsStreamNV,
pub sequencesCount : u32,
pub preprocessBuffer : Buffer,
pub preprocessOffset : DeviceSize,
pub preprocessSize : DeviceSize,
pub sequencesCountBuffer : Buffer,
pub sequencesCountOffset : DeviceSize,
pub sequencesIndexBuffer : Buffer,
pub sequencesIndexOffset : DeviceSize,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct GeneratedCommandsMemoryRequirementsInfoNV {
pub sType : StructureType,
pub pNext : *const void,
pub pipelineBindPoint : PipelineBindPoint,
pub pipeline : Pipeline,
pub indirectCommandsLayout : IndirectCommandsLayoutNV,
pub maxSequencesCount : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceTexelBufferAlignmentFeaturesEXT {
pub sType : StructureType,
pub pNext : *mut void,
pub texelBufferAlignment : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceTexelBufferAlignmentPropertiesEXT {
pub sType : StructureType,
pub pNext : *mut void,
pub storageTexelBufferOffsetAlignmentBytes : DeviceSize,
pub storageTexelBufferOffsetSingleTexelAlignment : Bool32,
pub uniformTexelBufferOffsetAlignmentBytes : DeviceSize,
pub uniformTexelBufferOffsetSingleTexelAlignment : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct RenderPassTransformBeginInfoQCOM {
pub sType : StructureType,
pub pNext : *mut void,
pub transform : SurfaceTransformFlagBitsKHR,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CommandBufferInheritanceRenderPassTransformInfoQCOM {
pub sType : StructureType,
pub pNext : *mut void,
pub transform : SurfaceTransformFlagBitsKHR,
pub renderArea : Rect2D,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceRobustness2FeaturesEXT {
pub sType : StructureType,
pub pNext : *mut void,
pub robustBufferAccess2 : Bool32,
pub robustImageAccess2 : Bool32,
pub nullDescriptor : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceRobustness2PropertiesEXT {
pub sType : StructureType,
pub pNext : *mut void,
pub robustStorageBufferAccessSizeAlignment : DeviceSize,
pub robustUniformBufferAccessSizeAlignment : DeviceSize,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SamplerCustomBorderColorCreateInfoEXT {
pub sType : StructureType,
pub pNext : *const void,
pub customBorderColor : ClearColorValue,
pub format : Format,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceCustomBorderColorPropertiesEXT {
pub sType : StructureType,
pub pNext : *mut void,
pub maxCustomBorderColorSamplers : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceCustomBorderColorFeaturesEXT {
pub sType : StructureType,
pub pNext : *mut void,
pub customBorderColors : Bool32,
pub customBorderColorWithoutFormat : Bool32,
}
pub type PrivateDataSlotEXT = u64;
pub type PrivateDataSlotCreateFlagBitsEXT = i32;
pub const PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM_EXT : i32 = 0x7FFFFFF;
pub type PrivateDataSlotCreateFlagsEXT = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDevicePrivateDataFeaturesEXT {
pub sType : StructureType,
pub pNext : *mut void,
pub privateData : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DevicePrivateDataCreateInfoEXT {
pub sType : StructureType,
pub pNext : *const void,
pub privateDataSlotRequestCount : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PrivateDataSlotCreateInfoEXT {
pub sType : StructureType,
pub pNext : *const void,
pub flags : PrivateDataSlotCreateFlagsEXT,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDevicePipelineCreationCacheControlFeaturesEXT {
pub sType : StructureType,
pub pNext : *mut void,
pub pipelineCreationCacheControl : Bool32,
}
pub type DeviceDiagnosticsConfigFlagBitsNV = i32;
pub const DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV : i32 = 0x00000001;
pub const DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV : i32 = 0x00000002;
pub const DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV : i32 = 0x00000004;
pub const DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV : i32 = 0x7FFFFFF;
pub type DeviceDiagnosticsConfigFlagsNV = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PhysicalDeviceDiagnosticsConfigFeaturesNV {
pub sType : StructureType,
pub pNext : *mut void,
pub diagnosticsConfig : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DeviceDiagnosticsConfigCreateInfoNV {
pub sType : StructureType,
pub pNext : *const void,
pub flags : DeviceDiagnosticsConfigFlagsNV,
}
pub type HINSTANCE = u64;
pub type HWND = u64;
pub type HANDLE = u64;
pub type DWORD = u32;
pub type LPCWSTR = *const i16;
pub type HMONITOR = u64;
pub type LPSECURITY_ATTRIBUTES = u64;
pub type Win32SurfaceCreateFlagsKHR = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Win32SurfaceCreateInfoKHR {
pub sType : StructureType,
pub pNext : *const void,
pub flags : Win32SurfaceCreateFlagsKHR,
pub hinstance : HINSTANCE,
pub hwnd : HWND,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ImportMemoryWin32HandleInfoKHR {
pub sType : StructureType,
pub pNext : *const void,
pub handleType : ExternalMemoryHandleTypeFlagBits,
pub handle : HANDLE,
pub name : LPCWSTR,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ExportMemoryWin32HandleInfoKHR {
pub sType : StructureType,
pub pNext : *const void,
pub pAttributes : LPSECURITY_ATTRIBUTES,
pub dwAccess : DWORD,
pub name : LPCWSTR,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct MemoryWin32HandlePropertiesKHR {
pub sType : StructureType,
pub pNext : *mut void,
pub memoryTypeBits : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct MemoryGetWin32HandleInfoKHR {
pub sType : StructureType,
pub pNext : *const void,
pub memory : DeviceMemory,
pub handleType : ExternalMemoryHandleTypeFlagBits,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Win32KeyedMutexAcquireReleaseInfoKHR {
pub sType : StructureType,
pub pNext : *const void,
pub acquireCount : u32,
pub pAcquireSyncs : *const DeviceMemory,
pub pAcquireKeys : *const u64,
pub pAcquireTimeouts : *const u32,
pub releaseCount : u32,
pub pReleaseSyncs : *const DeviceMemory,
pub pReleaseKeys : *const u64,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ImportSemaphoreWin32HandleInfoKHR {
pub sType : StructureType,
pub pNext : *const void,
pub semaphore : Semaphore,
pub flags : SemaphoreImportFlags,
pub handleType : ExternalSemaphoreHandleTypeFlagBits,
pub handle : HANDLE,
pub name : LPCWSTR,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ExportSemaphoreWin32HandleInfoKHR {
pub sType : StructureType,
pub pNext : *const void,
pub pAttributes : LPSECURITY_ATTRIBUTES,
pub dwAccess : DWORD,
pub name : LPCWSTR,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct D3D12FenceSubmitInfoKHR {
pub sType : StructureType,
pub pNext : *const void,
pub waitSemaphoreValuesCount : u32,
pub pWaitSemaphoreValues : *const u64,
pub signalSemaphoreValuesCount : u32,
pub pSignalSemaphoreValues : *const u64,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SemaphoreGetWin32HandleInfoKHR {
pub sType : StructureType,
pub pNext : *const void,
pub semaphore : Semaphore,
pub handleType : ExternalSemaphoreHandleTypeFlagBits,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ImportFenceWin32HandleInfoKHR {
pub sType : StructureType,
pub pNext : *const void,
pub fence : Fence,
pub flags : FenceImportFlags,
pub handleType : ExternalFenceHandleTypeFlagBits,
pub handle : HANDLE,
pub name : LPCWSTR,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ExportFenceWin32HandleInfoKHR {
pub sType : StructureType,
pub pNext : *const void,
pub pAttributes : LPSECURITY_ATTRIBUTES,
pub dwAccess : DWORD,
pub name : LPCWSTR,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FenceGetWin32HandleInfoKHR {
pub sType : StructureType,
pub pNext : *const void,
pub fence : Fence,
pub handleType : ExternalFenceHandleTypeFlagBits,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ImportMemoryWin32HandleInfoNV {
pub sType : StructureType,
pub pNext : *const void,
pub handleType : ExternalMemoryHandleTypeFlagsNV,
pub handle : HANDLE,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ExportMemoryWin32HandleInfoNV {
pub sType : StructureType,
pub pNext : *const void,
pub pAttributes : LPSECURITY_ATTRIBUTES,
pub dwAccess : DWORD,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Win32KeyedMutexAcquireReleaseInfoNV {
pub sType : StructureType,
pub pNext : *const void,
pub acquireCount : u32,
pub pAcquireSyncs : *const DeviceMemory,
pub pAcquireKeys : *const u64,
pub pAcquireTimeoutMilliseconds : *const u32,
pub releaseCount : u32,
pub pReleaseSyncs : *const DeviceMemory,
pub pReleaseKeys : *const u64,
}
pub type FullScreenExclusiveEXT = i32;
pub const FULL_SCREEN_EXCLUSIVE_DEFAULT_EXT : i32 = 0;
pub const FULL_SCREEN_EXCLUSIVE_ALLOWED_EXT : i32 = 1;
pub const FULL_SCREEN_EXCLUSIVE_DISALLOWED_EXT : i32 = 2;
pub const FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT : i32 = 3;
pub const FULL_SCREEN_EXCLUSIVE_MAX_ENUM_EXT : i32 = 0x7FFFFFF;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SurfaceFullScreenExclusiveInfoEXT {
pub sType : StructureType,
pub pNext : *mut void,
pub fullScreenExclusive : FullScreenExclusiveEXT,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SurfaceCapabilitiesFullScreenExclusiveEXT {
pub sType : StructureType,
pub pNext : *mut void,
pub fullScreenExclusiveSupported : Bool32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SurfaceFullScreenExclusiveWin32InfoEXT {
pub sType : StructureType,
pub pNext : *const void,
pub hmonitor : HMONITOR,
}
impl ::std::default::Default for ApplicationInfo {
fn default() -> ApplicationInfo {
ApplicationInfo {
sType : STRUCTURE_TYPE_APPLICATION_INFO,
pNext : 0 as _,
pApplicationName : 0 as _,
applicationVersion : 0 as _,
pEngineName : 0 as _,
engineVersion : 0 as _,
apiVersion : 0 as _,
}
}
}
impl ::std::default::Default for InstanceCreateInfo {
fn default() -> InstanceCreateInfo {
InstanceCreateInfo {
sType : STRUCTURE_TYPE_INSTANCE_CREATE_INFO,
pNext : 0 as _,
flags : 0 as _,
pApplicationInfo : 0 as _,
enabledLayerCount : 0 as _,
ppEnabledLayerNames : 0 as _,
enabledExtensionCount : 0 as _,
ppEnabledExtensionNames : 0 as _,
}
}
}
impl ::std::default::Default for AllocationCallbacks {
fn default() -> AllocationCallbacks {
AllocationCallbacks {
pUserData : 0 as _,
pfnAllocation : 0 as _,
pfnReallocation : 0 as _,
pfnFree : 0 as _,
pfnInternalAllocation : 0 as _,
pfnInternalFree : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceFeatures {
fn default() -> PhysicalDeviceFeatures {
PhysicalDeviceFeatures {
robustBufferAccess : 0 as _,
fullDrawIndexUint32 : 0 as _,
imageCubeArray : 0 as _,
independentBlend : 0 as _,
geometryShader : 0 as _,
tessellationShader : 0 as _,
sampleRateShading : 0 as _,
dualSrcBlend : 0 as _,
logicOp : 0 as _,
multiDrawIndirect : 0 as _,
drawIndirectFirstInstance : 0 as _,
depthClamp : 0 as _,
depthBiasClamp : 0 as _,
fillModeNonSolid : 0 as _,
depthBounds : 0 as _,
wideLines : 0 as _,
largePoints : 0 as _,
alphaToOne : 0 as _,
multiViewport : 0 as _,
samplerAnisotropy : 0 as _,
textureCompressionETC2 : 0 as _,
textureCompressionASTC_LDR : 0 as _,
textureCompressionBC : 0 as _,
occlusionQueryPrecise : 0 as _,
pipelineStatisticsQuery : 0 as _,
vertexPipelineStoresAndAtomics : 0 as _,
fragmentStoresAndAtomics : 0 as _,
shaderTessellationAndGeometryPointSize : 0 as _,
shaderImageGatherExtended : 0 as _,
shaderStorageImageExtendedFormats : 0 as _,
shaderStorageImageMultisample : 0 as _,
shaderStorageImageReadWithoutFormat : 0 as _,
shaderStorageImageWriteWithoutFormat : 0 as _,
shaderUniformBufferArrayDynamicIndexing : 0 as _,
shaderSampledImageArrayDynamicIndexing : 0 as _,
shaderStorageBufferArrayDynamicIndexing : 0 as _,
shaderStorageImageArrayDynamicIndexing : 0 as _,
shaderClipDistance : 0 as _,
shaderCullDistance : 0 as _,
shaderFloat64 : 0 as _,
shaderInt64 : 0 as _,
shaderInt16 : 0 as _,
shaderResourceResidency : 0 as _,
shaderResourceMinLod : 0 as _,
sparseBinding : 0 as _,
sparseResidencyBuffer : 0 as _,
sparseResidencyImage2D : 0 as _,
sparseResidencyImage3D : 0 as _,
sparseResidency2Samples : 0 as _,
sparseResidency4Samples : 0 as _,
sparseResidency8Samples : 0 as _,
sparseResidency16Samples : 0 as _,
sparseResidencyAliased : 0 as _,
variableMultisampleRate : 0 as _,
inheritedQueries : 0 as _,
}
}
}
impl ::std::default::Default for FormatProperties {
fn default() -> FormatProperties {
FormatProperties {
linearTilingFeatures : Default::default(),
optimalTilingFeatures : Default::default(),
bufferFeatures : Default::default(),
}
}
}
impl ::std::default::Default for Extent3D {
fn default() -> Extent3D {
Extent3D {
width : 0 as _,
height : 0 as _,
depth : 0 as _,
}
}
}
impl ::std::default::Default for ImageFormatProperties {
fn default() -> ImageFormatProperties {
ImageFormatProperties {
maxExtent : Default::default(),
maxMipLevels : 0 as _,
maxArrayLayers : 0 as _,
sampleCounts : Default::default(),
maxResourceSize : Default::default(),
}
}
}
impl ::std::default::Default for PhysicalDeviceLimits {
fn default() -> PhysicalDeviceLimits {
PhysicalDeviceLimits {
maxImageDimension1D : 0 as _,
maxImageDimension2D : 0 as _,
maxImageDimension3D : 0 as _,
maxImageDimensionCube : 0 as _,
maxImageArrayLayers : 0 as _,
maxTexelBufferElements : 0 as _,
maxUniformBufferRange : 0 as _,
maxStorageBufferRange : 0 as _,
maxPushConstantsSize : 0 as _,
maxMemoryAllocationCount : 0 as _,
maxSamplerAllocationCount : 0 as _,
bufferImageGranularity : Default::default(),
sparseAddressSpaceSize : Default::default(),
maxBoundDescriptorSets : 0 as _,
maxPerStageDescriptorSamplers : 0 as _,
maxPerStageDescriptorUniformBuffers : 0 as _,
maxPerStageDescriptorStorageBuffers : 0 as _,
maxPerStageDescriptorSampledImages : 0 as _,
maxPerStageDescriptorStorageImages : 0 as _,
maxPerStageDescriptorInputAttachments : 0 as _,
maxPerStageResources : 0 as _,
maxDescriptorSetSamplers : 0 as _,
maxDescriptorSetUniformBuffers : 0 as _,
maxDescriptorSetUniformBuffersDynamic : 0 as _,
maxDescriptorSetStorageBuffers : 0 as _,
maxDescriptorSetStorageBuffersDynamic : 0 as _,
maxDescriptorSetSampledImages : 0 as _,
maxDescriptorSetStorageImages : 0 as _,
maxDescriptorSetInputAttachments : 0 as _,
maxVertexInputAttributes : 0 as _,
maxVertexInputBindings : 0 as _,
maxVertexInputAttributeOffset : 0 as _,
maxVertexInputBindingStride : 0 as _,
maxVertexOutputComponents : 0 as _,
maxTessellationGenerationLevel : 0 as _,
maxTessellationPatchSize : 0 as _,
maxTessellationControlPerVertexInputComponents : 0 as _,
maxTessellationControlPerVertexOutputComponents : 0 as _,
maxTessellationControlPerPatchOutputComponents : 0 as _,
maxTessellationControlTotalOutputComponents : 0 as _,
maxTessellationEvaluationInputComponents : 0 as _,
maxTessellationEvaluationOutputComponents : 0 as _,
maxGeometryShaderInvocations : 0 as _,
maxGeometryInputComponents : 0 as _,
maxGeometryOutputComponents : 0 as _,
maxGeometryOutputVertices : 0 as _,
maxGeometryTotalOutputComponents : 0 as _,
maxFragmentInputComponents : 0 as _,
maxFragmentOutputAttachments : 0 as _,
maxFragmentDualSrcAttachments : 0 as _,
maxFragmentCombinedOutputResources : 0 as _,
maxComputeSharedMemorySize : 0 as _,
maxComputeWorkGroupCount : [Default::default();3],
maxComputeWorkGroupInvocations : 0 as _,
maxComputeWorkGroupSize : [Default::default();3],
subPixelPrecisionBits : 0 as _,
subTexelPrecisionBits : 0 as _,
mipmapPrecisionBits : 0 as _,
maxDrawIndexedIndexValue : 0 as _,
maxDrawIndirectCount : 0 as _,
maxSamplerLodBias : 0 as _,
maxSamplerAnisotropy : 0 as _,
maxViewports : 0 as _,
maxViewportDimensions : [Default::default();2],
viewportBoundsRange : [Default::default();2],
viewportSubPixelBits : 0 as _,
minMemoryMapAlignment : Default::default(),
minTexelBufferOffsetAlignment : Default::default(),
minUniformBufferOffsetAlignment : Default::default(),
minStorageBufferOffsetAlignment : Default::default(),
minTexelOffset : 0 as _,
maxTexelOffset : 0 as _,
minTexelGatherOffset : 0 as _,
maxTexelGatherOffset : 0 as _,
minInterpolationOffset : 0 as _,
maxInterpolationOffset : 0 as _,
subPixelInterpolationOffsetBits : 0 as _,
maxFramebufferWidth : 0 as _,
maxFramebufferHeight : 0 as _,
maxFramebufferLayers : 0 as _,
framebufferColorSampleCounts : Default::default(),
framebufferDepthSampleCounts : Default::default(),
framebufferStencilSampleCounts : Default::default(),
framebufferNoAttachmentsSampleCounts : Default::default(),
maxColorAttachments : 0 as _,
sampledImageColorSampleCounts : Default::default(),
sampledImageIntegerSampleCounts : Default::default(),
sampledImageDepthSampleCounts : Default::default(),
sampledImageStencilSampleCounts : Default::default(),
storageImageSampleCounts : Default::default(),
maxSampleMaskWords : 0 as _,
timestampComputeAndGraphics : 0 as _,
timestampPeriod : 0 as _,
maxClipDistances : 0 as _,
maxCullDistances : 0 as _,
maxCombinedClipAndCullDistances : 0 as _,
discreteQueuePriorities : 0 as _,
pointSizeRange : [Default::default();2],
lineWidthRange : [Default::default();2],
pointSizeGranularity : 0 as _,
lineWidthGranularity : 0 as _,
strictLines : 0 as _,
standardSampleLocations : 0 as _,
optimalBufferCopyOffsetAlignment : Default::default(),
optimalBufferCopyRowPitchAlignment : Default::default(),
nonCoherentAtomSize : Default::default(),
}
}
}
impl ::std::default::Default for PhysicalDeviceSparseProperties {
fn default() -> PhysicalDeviceSparseProperties {
PhysicalDeviceSparseProperties {
residencyStandard2DBlockShape : 0 as _,
residencyStandard2DMultisampleBlockShape : 0 as _,
residencyStandard3DBlockShape : 0 as _,
residencyAlignedMipSize : 0 as _,
residencyNonResidentStrict : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceProperties {
fn default() -> PhysicalDeviceProperties {
PhysicalDeviceProperties {
apiVersion : 0 as _,
driverVersion : 0 as _,
vendorID : 0 as _,
deviceID : 0 as _,
deviceType : Default::default(),
deviceName : [Default::default();MAX_PHYSICAL_DEVICE_NAME_SIZE],
pipelineCacheUUID : [Default::default();UUID_SIZE],
limits : Default::default(),
sparseProperties : Default::default(),
}
}
}
impl ::std::default::Default for QueueFamilyProperties {
fn default() -> QueueFamilyProperties {
QueueFamilyProperties {
queueFlags : Default::default(),
queueCount : 0 as _,
timestampValidBits : 0 as _,
minImageTransferGranularity : Default::default(),
}
}
}
impl ::std::default::Default for MemoryType {
fn default() -> MemoryType {
MemoryType {
propertyFlags : Default::default(),
heapIndex : 0 as _,
}
}
}
impl ::std::default::Default for MemoryHeap {
fn default() -> MemoryHeap {
MemoryHeap {
size : Default::default(),
flags : Default::default(),
}
}
}
impl ::std::default::Default for PhysicalDeviceMemoryProperties {
fn default() -> PhysicalDeviceMemoryProperties {
PhysicalDeviceMemoryProperties {
memoryTypeCount : 0 as _,
memoryTypes : [Default::default();MAX_MEMORY_TYPES],
memoryHeapCount : 0 as _,
memoryHeaps : [Default::default();MAX_MEMORY_HEAPS],
}
}
}
impl ::std::default::Default for DeviceQueueCreateInfo {
fn default() -> DeviceQueueCreateInfo {
DeviceQueueCreateInfo {
sType : STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO,
pNext : 0 as _,
flags : Default::default(),
queueFamilyIndex : 0 as _,
queueCount : 0 as _,
pQueuePriorities : 0 as _,
}
}
}
impl ::std::default::Default for DeviceCreateInfo {
fn default() -> DeviceCreateInfo {
DeviceCreateInfo {
sType : STRUCTURE_TYPE_DEVICE_CREATE_INFO,
pNext : 0 as _,
flags : Default::default(),
queueCreateInfoCount : 0 as _,
pQueueCreateInfos : 0 as _,
enabledLayerCount : 0 as _,
ppEnabledLayerNames : 0 as _,
enabledExtensionCount : 0 as _,
ppEnabledExtensionNames : 0 as _,
pEnabledFeatures : 0 as _,
}
}
}
impl ::std::default::Default for ExtensionProperties {
fn default() -> ExtensionProperties {
ExtensionProperties {
extensionName : [Default::default();MAX_EXTENSION_NAME_SIZE],
specVersion : 0 as _,
}
}
}
impl ::std::default::Default for LayerProperties {
fn default() -> LayerProperties {
LayerProperties {
layerName : [Default::default();MAX_EXTENSION_NAME_SIZE],
specVersion : 0 as _,
implementationVersion : 0 as _,
description : [Default::default();MAX_DESCRIPTION_SIZE],
}
}
}
impl ::std::default::Default for SubmitInfo {
fn default() -> SubmitInfo {
SubmitInfo {
sType : STRUCTURE_TYPE_SUBMIT_INFO,
pNext : 0 as _,
waitSemaphoreCount : 0 as _,
pWaitSemaphores : 0 as _,
pWaitDstStageMask : 0 as _,
commandBufferCount : 0 as _,
pCommandBuffers : 0 as _,
signalSemaphoreCount : 0 as _,
pSignalSemaphores : 0 as _,
}
}
}
impl ::std::default::Default for MemoryAllocateInfo {
fn default() -> MemoryAllocateInfo {
MemoryAllocateInfo {
sType : STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO,
pNext : 0 as _,
allocationSize : Default::default(),
memoryTypeIndex : 0 as _,
}
}
}
impl ::std::default::Default for MappedMemoryRange {
fn default() -> MappedMemoryRange {
MappedMemoryRange {
sType : STRUCTURE_TYPE_MAPPED_MEMORY_RANGE,
pNext : 0 as _,
memory : Default::default(),
offset : Default::default(),
size : Default::default(),
}
}
}
impl ::std::default::Default for MemoryRequirements {
fn default() -> MemoryRequirements {
MemoryRequirements {
size : Default::default(),
alignment : Default::default(),
memoryTypeBits : 0 as _,
}
}
}
impl ::std::default::Default for SparseImageFormatProperties {
fn default() -> SparseImageFormatProperties {
SparseImageFormatProperties {
aspectMask : Default::default(),
imageGranularity : Default::default(),
flags : Default::default(),
}
}
}
impl ::std::default::Default for SparseImageMemoryRequirements {
fn default() -> SparseImageMemoryRequirements {
SparseImageMemoryRequirements {
formatProperties : Default::default(),
imageMipTailFirstLod : 0 as _,
imageMipTailSize : Default::default(),
imageMipTailOffset : Default::default(),
imageMipTailStride : Default::default(),
}
}
}
impl ::std::default::Default for SparseMemoryBind {
fn default() -> SparseMemoryBind {
SparseMemoryBind {
resourceOffset : Default::default(),
size : Default::default(),
memory : Default::default(),
memoryOffset : Default::default(),
flags : Default::default(),
}
}
}
impl ::std::default::Default for SparseBufferMemoryBindInfo {
fn default() -> SparseBufferMemoryBindInfo {
SparseBufferMemoryBindInfo {
buffer : Default::default(),
bindCount : 0 as _,
pBinds : 0 as _,
}
}
}
impl ::std::default::Default for SparseImageOpaqueMemoryBindInfo {
fn default() -> SparseImageOpaqueMemoryBindInfo {
SparseImageOpaqueMemoryBindInfo {
image : Default::default(),
bindCount : 0 as _,
pBinds : 0 as _,
}
}
}
impl ::std::default::Default for ImageSubresource {
fn default() -> ImageSubresource {
ImageSubresource {
aspectMask : Default::default(),
mipLevel : 0 as _,
arrayLayer : 0 as _,
}
}
}
impl ::std::default::Default for Offset3D {
fn default() -> Offset3D {
Offset3D {
x : 0 as _,
y : 0 as _,
z : 0 as _,
}
}
}
impl ::std::default::Default for SparseImageMemoryBind {
fn default() -> SparseImageMemoryBind {
SparseImageMemoryBind {
subresource : Default::default(),
offset : Default::default(),
extent : Default::default(),
memory : Default::default(),
memoryOffset : Default::default(),
flags : Default::default(),
}
}
}
impl ::std::default::Default for SparseImageMemoryBindInfo {
fn default() -> SparseImageMemoryBindInfo {
SparseImageMemoryBindInfo {
image : Default::default(),
bindCount : 0 as _,
pBinds : 0 as _,
}
}
}
impl ::std::default::Default for BindSparseInfo {
fn default() -> BindSparseInfo {
BindSparseInfo {
sType : STRUCTURE_TYPE_BIND_SPARSE_INFO,
pNext : 0 as _,
waitSemaphoreCount : 0 as _,
pWaitSemaphores : 0 as _,
bufferBindCount : 0 as _,
pBufferBinds : 0 as _,
imageOpaqueBindCount : 0 as _,
pImageOpaqueBinds : 0 as _,
imageBindCount : 0 as _,
pImageBinds : 0 as _,
signalSemaphoreCount : 0 as _,
pSignalSemaphores : 0 as _,
}
}
}
impl ::std::default::Default for FenceCreateInfo {
fn default() -> FenceCreateInfo {
FenceCreateInfo {
sType : STRUCTURE_TYPE_FENCE_CREATE_INFO,
pNext : 0 as _,
flags : Default::default(),
}
}
}
impl ::std::default::Default for SemaphoreCreateInfo {
fn default() -> SemaphoreCreateInfo {
SemaphoreCreateInfo {
sType : STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO,
pNext : 0 as _,
flags : Default::default(),
}
}
}
impl ::std::default::Default for EventCreateInfo {
fn default() -> EventCreateInfo {
EventCreateInfo {
sType : STRUCTURE_TYPE_EVENT_CREATE_INFO,
pNext : 0 as _,
flags : Default::default(),
}
}
}
impl ::std::default::Default for QueryPoolCreateInfo {
fn default() -> QueryPoolCreateInfo {
QueryPoolCreateInfo {
sType : STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO,
pNext : 0 as _,
flags : Default::default(),
queryType : Default::default(),
queryCount : 0 as _,
pipelineStatistics : Default::default(),
}
}
}
impl ::std::default::Default for BufferCreateInfo {
fn default() -> BufferCreateInfo {
BufferCreateInfo {
sType : STRUCTURE_TYPE_BUFFER_CREATE_INFO,
pNext : 0 as _,
flags : Default::default(),
size : Default::default(),
usage : Default::default(),
sharingMode : Default::default(),
queueFamilyIndexCount : 0 as _,
pQueueFamilyIndices : 0 as _,
}
}
}
impl ::std::default::Default for BufferViewCreateInfo {
fn default() -> BufferViewCreateInfo {
BufferViewCreateInfo {
sType : STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO,
pNext : 0 as _,
flags : Default::default(),
buffer : Default::default(),
format : Default::default(),
offset : Default::default(),
range : Default::default(),
}
}
}
impl ::std::default::Default for ImageCreateInfo {
fn default() -> ImageCreateInfo {
ImageCreateInfo {
sType : STRUCTURE_TYPE_IMAGE_CREATE_INFO,
pNext : 0 as _,
flags : Default::default(),
imageType : Default::default(),
format : Default::default(),
extent : Default::default(),
mipLevels : 0 as _,
arrayLayers : 0 as _,
samples : Default::default(),
tiling : Default::default(),
usage : Default::default(),
sharingMode : Default::default(),
queueFamilyIndexCount : 0 as _,
pQueueFamilyIndices : 0 as _,
initialLayout : Default::default(),
}
}
}
impl ::std::default::Default for SubresourceLayout {
fn default() -> SubresourceLayout {
SubresourceLayout {
offset : Default::default(),
size : Default::default(),
rowPitch : Default::default(),
arrayPitch : Default::default(),
depthPitch : Default::default(),
}
}
}
impl ::std::default::Default for ComponentMapping {
fn default() -> ComponentMapping {
ComponentMapping {
r : Default::default(),
g : Default::default(),
b : Default::default(),
a : Default::default(),
}
}
}
impl ::std::default::Default for ImageSubresourceRange {
fn default() -> ImageSubresourceRange {
ImageSubresourceRange {
aspectMask : Default::default(),
baseMipLevel : 0 as _,
levelCount : 0 as _,
baseArrayLayer : 0 as _,
layerCount : 0 as _,
}
}
}
impl ::std::default::Default for ImageViewCreateInfo {
fn default() -> ImageViewCreateInfo {
ImageViewCreateInfo {
sType : STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO,
pNext : 0 as _,
flags : Default::default(),
image : Default::default(),
viewType : Default::default(),
format : Default::default(),
components : Default::default(),
subresourceRange : Default::default(),
}
}
}
impl ::std::default::Default for ShaderModuleCreateInfo {
fn default() -> ShaderModuleCreateInfo {
ShaderModuleCreateInfo {
sType : STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO,
pNext : 0 as _,
flags : Default::default(),
codeSize : Default::default(),
pCode : 0 as _,
}
}
}
impl ::std::default::Default for PipelineCacheCreateInfo {
fn default() -> PipelineCacheCreateInfo {
PipelineCacheCreateInfo {
sType : STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO,
pNext : 0 as _,
flags : Default::default(),
initialDataSize : Default::default(),
pInitialData : 0 as _,
}
}
}
impl ::std::default::Default for SpecializationMapEntry {
fn default() -> SpecializationMapEntry {
SpecializationMapEntry {
constantID : 0 as _,
offset : 0 as _,
size : Default::default(),
}
}
}
impl ::std::default::Default for SpecializationInfo {
fn default() -> SpecializationInfo {
SpecializationInfo {
mapEntryCount : 0 as _,
pMapEntries : 0 as _,
dataSize : Default::default(),
pData : 0 as _,
}
}
}
impl ::std::default::Default for PipelineShaderStageCreateInfo {
fn default() -> PipelineShaderStageCreateInfo {
PipelineShaderStageCreateInfo {
sType : STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO,
pNext : 0 as _,
flags : Default::default(),
stage : Default::default(),
module : Default::default(),
pName : 0 as _,
pSpecializationInfo : 0 as _,
}
}
}
impl ::std::default::Default for VertexInputBindingDescription {
fn default() -> VertexInputBindingDescription {
VertexInputBindingDescription {
binding : 0 as _,
stride : 0 as _,
inputRate : Default::default(),
}
}
}
impl ::std::default::Default for VertexInputAttributeDescription {
fn default() -> VertexInputAttributeDescription {
VertexInputAttributeDescription {
location : 0 as _,
binding : 0 as _,
format : Default::default(),
offset : 0 as _,
}
}
}
impl ::std::default::Default for PipelineVertexInputStateCreateInfo {
fn default() -> PipelineVertexInputStateCreateInfo {
PipelineVertexInputStateCreateInfo {
sType : STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO,
pNext : 0 as _,
flags : Default::default(),
vertexBindingDescriptionCount : 0 as _,
pVertexBindingDescriptions : 0 as _,
vertexAttributeDescriptionCount : 0 as _,
pVertexAttributeDescriptions : 0 as _,
}
}
}
impl ::std::default::Default for PipelineInputAssemblyStateCreateInfo {
fn default() -> PipelineInputAssemblyStateCreateInfo {
PipelineInputAssemblyStateCreateInfo {
sType : STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO,
pNext : 0 as _,
flags : Default::default(),
topology : Default::default(),
primitiveRestartEnable : 0 as _,
}
}
}
impl ::std::default::Default for PipelineTessellationStateCreateInfo {
fn default() -> PipelineTessellationStateCreateInfo {
PipelineTessellationStateCreateInfo {
sType : STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO,
pNext : 0 as _,
flags : Default::default(),
patchControlPoints : 0 as _,
}
}
}
impl ::std::default::Default for Viewport {
fn default() -> Viewport {
Viewport {
x : 0 as _,
y : 0 as _,
width : 0 as _,
height : 0 as _,
minDepth : 0 as _,
maxDepth : 0 as _,
}
}
}
impl ::std::default::Default for Offset2D {
fn default() -> Offset2D {
Offset2D {
x : 0 as _,
y : 0 as _,
}
}
}
impl ::std::default::Default for Extent2D {
fn default() -> Extent2D {
Extent2D {
width : 0 as _,
height : 0 as _,
}
}
}
impl ::std::default::Default for Rect2D {
fn default() -> Rect2D {
Rect2D {
offset : Default::default(),
extent : Default::default(),
}
}
}
impl ::std::default::Default for PipelineViewportStateCreateInfo {
fn default() -> PipelineViewportStateCreateInfo {
PipelineViewportStateCreateInfo {
sType : STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO,
pNext : 0 as _,
flags : Default::default(),
viewportCount : 0 as _,
pViewports : 0 as _,
scissorCount : 0 as _,
pScissors : 0 as _,
}
}
}
impl ::std::default::Default for PipelineRasterizationStateCreateInfo {
fn default() -> PipelineRasterizationStateCreateInfo {
PipelineRasterizationStateCreateInfo {
sType : STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO,
pNext : 0 as _,
flags : Default::default(),
depthClampEnable : 0 as _,
rasterizerDiscardEnable : 0 as _,
polygonMode : Default::default(),
cullMode : Default::default(),
frontFace : Default::default(),
depthBiasEnable : 0 as _,
depthBiasConstantFactor : 0 as _,
depthBiasClamp : 0 as _,
depthBiasSlopeFactor : 0 as _,
lineWidth : 0 as _,
}
}
}
impl ::std::default::Default for PipelineMultisampleStateCreateInfo {
fn default() -> PipelineMultisampleStateCreateInfo {
PipelineMultisampleStateCreateInfo {
sType : STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO,
pNext : 0 as _,
flags : Default::default(),
rasterizationSamples : Default::default(),
sampleShadingEnable : 0 as _,
minSampleShading : 0 as _,
pSampleMask : 0 as _,
alphaToCoverageEnable : 0 as _,
alphaToOneEnable : 0 as _,
}
}
}
impl ::std::default::Default for StencilOpState {
fn default() -> StencilOpState {
StencilOpState {
failOp : Default::default(),
passOp : Default::default(),
depthFailOp : Default::default(),
compareOp : Default::default(),
compareMask : 0 as _,
writeMask : 0 as _,
reference : 0 as _,
}
}
}
impl ::std::default::Default for PipelineDepthStencilStateCreateInfo {
fn default() -> PipelineDepthStencilStateCreateInfo {
PipelineDepthStencilStateCreateInfo {
sType : STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO,
pNext : 0 as _,
flags : Default::default(),
depthTestEnable : 0 as _,
depthWriteEnable : 0 as _,
depthCompareOp : Default::default(),
depthBoundsTestEnable : 0 as _,
stencilTestEnable : 0 as _,
front : Default::default(),
back : Default::default(),
minDepthBounds : 0 as _,
maxDepthBounds : 0 as _,
}
}
}
impl ::std::default::Default for PipelineColorBlendAttachmentState {
fn default() -> PipelineColorBlendAttachmentState {
PipelineColorBlendAttachmentState {
blendEnable : 0 as _,
srcColorBlendFactor : Default::default(),
dstColorBlendFactor : Default::default(),
colorBlendOp : Default::default(),
srcAlphaBlendFactor : Default::default(),
dstAlphaBlendFactor : Default::default(),
alphaBlendOp : Default::default(),
colorWriteMask : Default::default(),
}
}
}
impl ::std::default::Default for PipelineColorBlendStateCreateInfo {
fn default() -> PipelineColorBlendStateCreateInfo {
PipelineColorBlendStateCreateInfo {
sType : STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO,
pNext : 0 as _,
flags : Default::default(),
logicOpEnable : 0 as _,
logicOp : Default::default(),
attachmentCount : 0 as _,
pAttachments : 0 as _,
blendConstants : [Default::default();4],
}
}
}
impl ::std::default::Default for PipelineDynamicStateCreateInfo {
fn default() -> PipelineDynamicStateCreateInfo {
PipelineDynamicStateCreateInfo {
sType : STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO,
pNext : 0 as _,
flags : Default::default(),
dynamicStateCount : 0 as _,
pDynamicStates : 0 as _,
}
}
}
impl ::std::default::Default for GraphicsPipelineCreateInfo {
fn default() -> GraphicsPipelineCreateInfo {
GraphicsPipelineCreateInfo {
sType : STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO,
pNext : 0 as _,
flags : Default::default(),
stageCount : 0 as _,
pStages : 0 as _,
pVertexInputState : 0 as _,
pInputAssemblyState : 0 as _,
pTessellationState : 0 as _,
pViewportState : 0 as _,
pRasterizationState : 0 as _,
pMultisampleState : 0 as _,
pDepthStencilState : 0 as _,
pColorBlendState : 0 as _,
pDynamicState : 0 as _,
layout : Default::default(),
renderPass : Default::default(),
subpass : 0 as _,
basePipelineHandle : Default::default(),
basePipelineIndex : 0 as _,
}
}
}
impl ::std::default::Default for ComputePipelineCreateInfo {
fn default() -> ComputePipelineCreateInfo {
ComputePipelineCreateInfo {
sType : STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO,
pNext : 0 as _,
flags : Default::default(),
stage : Default::default(),
layout : Default::default(),
basePipelineHandle : Default::default(),
basePipelineIndex : 0 as _,
}
}
}
impl ::std::default::Default for PushConstantRange {
fn default() -> PushConstantRange {
PushConstantRange {
stageFlags : Default::default(),
offset : 0 as _,
size : 0 as _,
}
}
}
impl ::std::default::Default for PipelineLayoutCreateInfo {
fn default() -> PipelineLayoutCreateInfo {
PipelineLayoutCreateInfo {
sType : STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO,
pNext : 0 as _,
flags : Default::default(),
setLayoutCount : 0 as _,
pSetLayouts : 0 as _,
pushConstantRangeCount : 0 as _,
pPushConstantRanges : 0 as _,
}
}
}
impl ::std::default::Default for SamplerCreateInfo {
fn default() -> SamplerCreateInfo {
SamplerCreateInfo {
sType : STRUCTURE_TYPE_SAMPLER_CREATE_INFO,
pNext : 0 as _,
flags : Default::default(),
magFilter : Default::default(),
minFilter : Default::default(),
mipmapMode : Default::default(),
addressModeU : Default::default(),
addressModeV : Default::default(),
addressModeW : Default::default(),
mipLodBias : 0 as _,
anisotropyEnable : 0 as _,
maxAnisotropy : 0 as _,
compareEnable : 0 as _,
compareOp : Default::default(),
minLod : 0 as _,
maxLod : 0 as _,
borderColor : Default::default(),
unnormalizedCoordinates : 0 as _,
}
}
}
impl ::std::default::Default for DescriptorSetLayoutBinding {
fn default() -> DescriptorSetLayoutBinding {
DescriptorSetLayoutBinding {
binding : 0 as _,
descriptorType : Default::default(),
descriptorCount : 0 as _,
stageFlags : Default::default(),
pImmutableSamplers : 0 as _,
}
}
}
impl ::std::default::Default for DescriptorSetLayoutCreateInfo {
fn default() -> DescriptorSetLayoutCreateInfo {
DescriptorSetLayoutCreateInfo {
sType : STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO,
pNext : 0 as _,
flags : Default::default(),
bindingCount : 0 as _,
pBindings : 0 as _,
}
}
}
impl ::std::default::Default for DescriptorPoolSize {
fn default() -> DescriptorPoolSize {
DescriptorPoolSize {
r#type : Default::default(),
descriptorCount : 0 as _,
}
}
}
impl ::std::default::Default for DescriptorPoolCreateInfo {
fn default() -> DescriptorPoolCreateInfo {
DescriptorPoolCreateInfo {
sType : STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO,
pNext : 0 as _,
flags : Default::default(),
maxSets : 0 as _,
poolSizeCount : 0 as _,
pPoolSizes : 0 as _,
}
}
}
impl ::std::default::Default for DescriptorSetAllocateInfo {
fn default() -> DescriptorSetAllocateInfo {
DescriptorSetAllocateInfo {
sType : STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO,
pNext : 0 as _,
descriptorPool : Default::default(),
descriptorSetCount : 0 as _,
pSetLayouts : 0 as _,
}
}
}
impl ::std::default::Default for DescriptorImageInfo {
fn default() -> DescriptorImageInfo {
DescriptorImageInfo {
sampler : Default::default(),
imageView : Default::default(),
imageLayout : Default::default(),
}
}
}
impl ::std::default::Default for DescriptorBufferInfo {
fn default() -> DescriptorBufferInfo {
DescriptorBufferInfo {
buffer : Default::default(),
offset : Default::default(),
range : Default::default(),
}
}
}
impl ::std::default::Default for WriteDescriptorSet {
fn default() -> WriteDescriptorSet {
WriteDescriptorSet {
sType : STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET,
pNext : 0 as _,
dstSet : Default::default(),
dstBinding : 0 as _,
dstArrayElement : 0 as _,
descriptorCount : 0 as _,
descriptorType : Default::default(),
pImageInfo : 0 as _,
pBufferInfo : 0 as _,
pTexelBufferView : 0 as _,
}
}
}
impl ::std::default::Default for CopyDescriptorSet {
fn default() -> CopyDescriptorSet {
CopyDescriptorSet {
sType : STRUCTURE_TYPE_COPY_DESCRIPTOR_SET,
pNext : 0 as _,
srcSet : Default::default(),
srcBinding : 0 as _,
srcArrayElement : 0 as _,
dstSet : Default::default(),
dstBinding : 0 as _,
dstArrayElement : 0 as _,
descriptorCount : 0 as _,
}
}
}
impl ::std::default::Default for FramebufferCreateInfo {
fn default() -> FramebufferCreateInfo {
FramebufferCreateInfo {
sType : STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO,
pNext : 0 as _,
flags : Default::default(),
renderPass : Default::default(),
attachmentCount : 0 as _,
pAttachments : 0 as _,
width : 0 as _,
height : 0 as _,
layers : 0 as _,
}
}
}
impl ::std::default::Default for AttachmentDescription {
fn default() -> AttachmentDescription {
AttachmentDescription {
flags : Default::default(),
format : Default::default(),
samples : Default::default(),
loadOp : Default::default(),
storeOp : Default::default(),
stencilLoadOp : Default::default(),
stencilStoreOp : Default::default(),
initialLayout : Default::default(),
finalLayout : Default::default(),
}
}
}
impl ::std::default::Default for AttachmentReference {
fn default() -> AttachmentReference {
AttachmentReference {
attachment : 0 as _,
layout : Default::default(),
}
}
}
impl ::std::default::Default for SubpassDescription {
fn default() -> SubpassDescription {
SubpassDescription {
flags : Default::default(),
pipelineBindPoint : Default::default(),
inputAttachmentCount : 0 as _,
pInputAttachments : 0 as _,
colorAttachmentCount : 0 as _,
pColorAttachments : 0 as _,
pResolveAttachments : 0 as _,
pDepthStencilAttachment : 0 as _,
preserveAttachmentCount : 0 as _,
pPreserveAttachments : 0 as _,
}
}
}
impl ::std::default::Default for SubpassDependency {
fn default() -> SubpassDependency {
SubpassDependency {
srcSubpass : 0 as _,
dstSubpass : 0 as _,
srcStageMask : Default::default(),
dstStageMask : Default::default(),
srcAccessMask : Default::default(),
dstAccessMask : Default::default(),
dependencyFlags : Default::default(),
}
}
}
impl ::std::default::Default for RenderPassCreateInfo {
fn default() -> RenderPassCreateInfo {
RenderPassCreateInfo {
sType : STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO,
pNext : 0 as _,
flags : Default::default(),
attachmentCount : 0 as _,
pAttachments : 0 as _,
subpassCount : 0 as _,
pSubpasses : 0 as _,
dependencyCount : 0 as _,
pDependencies : 0 as _,
}
}
}
impl ::std::default::Default for CommandPoolCreateInfo {
fn default() -> CommandPoolCreateInfo {
CommandPoolCreateInfo {
sType : STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,
pNext : 0 as _,
flags : Default::default(),
queueFamilyIndex : 0 as _,
}
}
}
impl ::std::default::Default for CommandBufferAllocateInfo {
fn default() -> CommandBufferAllocateInfo {
CommandBufferAllocateInfo {
sType : STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,
pNext : 0 as _,
commandPool : Default::default(),
level : Default::default(),
commandBufferCount : 0 as _,
}
}
}
impl ::std::default::Default for CommandBufferInheritanceInfo {
fn default() -> CommandBufferInheritanceInfo {
CommandBufferInheritanceInfo {
sType : STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO,
pNext : 0 as _,
renderPass : Default::default(),
subpass : 0 as _,
framebuffer : Default::default(),
occlusionQueryEnable : 0 as _,
queryFlags : Default::default(),
pipelineStatistics : Default::default(),
}
}
}
impl ::std::default::Default for CommandBufferBeginInfo {
fn default() -> CommandBufferBeginInfo {
CommandBufferBeginInfo {
sType : STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO,
pNext : 0 as _,
flags : Default::default(),
pInheritanceInfo : 0 as _,
}
}
}
impl ::std::default::Default for BufferCopy {
fn default() -> BufferCopy {
BufferCopy {
srcOffset : Default::default(),
dstOffset : Default::default(),
size : Default::default(),
}
}
}
impl ::std::default::Default for ImageSubresourceLayers {
fn default() -> ImageSubresourceLayers {
ImageSubresourceLayers {
aspectMask : Default::default(),
mipLevel : 0 as _,
baseArrayLayer : 0 as _,
layerCount : 0 as _,
}
}
}
impl ::std::default::Default for ImageCopy {
fn default() -> ImageCopy {
ImageCopy {
srcSubresource : Default::default(),
srcOffset : Default::default(),
dstSubresource : Default::default(),
dstOffset : Default::default(),
extent : Default::default(),
}
}
}
impl ::std::default::Default for ImageBlit {
fn default() -> ImageBlit {
ImageBlit {
srcSubresource : Default::default(),
srcOffsets : [Default::default();2],
dstSubresource : Default::default(),
dstOffsets : [Default::default();2],
}
}
}
impl ::std::default::Default for BufferImageCopy {
fn default() -> BufferImageCopy {
BufferImageCopy {
bufferOffset : Default::default(),
bufferRowLength : 0 as _,
bufferImageHeight : 0 as _,
imageSubresource : Default::default(),
imageOffset : Default::default(),
imageExtent : Default::default(),
}
}
}
impl ::std::default::Default for ClearDepthStencilValue {
fn default() -> ClearDepthStencilValue {
ClearDepthStencilValue {
depth : 0 as _,
stencil : 0 as _,
}
}
}
impl ::std::default::Default for ClearAttachment {
fn default() -> ClearAttachment {
ClearAttachment {
aspectMask : Default::default(),
colorAttachment : 0 as _,
clearValue : Default::default(),
}
}
}
impl ::std::default::Default for ClearRect {
fn default() -> ClearRect {
ClearRect {
rect : Default::default(),
baseArrayLayer : 0 as _,
layerCount : 0 as _,
}
}
}
impl ::std::default::Default for ImageResolve {
fn default() -> ImageResolve {
ImageResolve {
srcSubresource : Default::default(),
srcOffset : Default::default(),
dstSubresource : Default::default(),
dstOffset : Default::default(),
extent : Default::default(),
}
}
}
impl ::std::default::Default for MemoryBarrier {
fn default() -> MemoryBarrier {
MemoryBarrier {
sType : STRUCTURE_TYPE_MEMORY_BARRIER,
pNext : 0 as _,
srcAccessMask : Default::default(),
dstAccessMask : Default::default(),
}
}
}
impl ::std::default::Default for BufferMemoryBarrier {
fn default() -> BufferMemoryBarrier {
BufferMemoryBarrier {
sType : STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER,
pNext : 0 as _,
srcAccessMask : Default::default(),
dstAccessMask : Default::default(),
srcQueueFamilyIndex : 0 as _,
dstQueueFamilyIndex : 0 as _,
buffer : Default::default(),
offset : Default::default(),
size : Default::default(),
}
}
}
impl ::std::default::Default for ImageMemoryBarrier {
fn default() -> ImageMemoryBarrier {
ImageMemoryBarrier {
sType : STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER,
pNext : 0 as _,
srcAccessMask : Default::default(),
dstAccessMask : Default::default(),
oldLayout : Default::default(),
newLayout : Default::default(),
srcQueueFamilyIndex : 0 as _,
dstQueueFamilyIndex : 0 as _,
image : Default::default(),
subresourceRange : Default::default(),
}
}
}
impl ::std::default::Default for RenderPassBeginInfo {
fn default() -> RenderPassBeginInfo {
RenderPassBeginInfo {
sType : STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO,
pNext : 0 as _,
renderPass : Default::default(),
framebuffer : Default::default(),
renderArea : Default::default(),
clearValueCount : 0 as _,
pClearValues : 0 as _,
}
}
}
impl ::std::default::Default for DispatchIndirectCommand {
fn default() -> DispatchIndirectCommand {
DispatchIndirectCommand {
x : 0 as _,
y : 0 as _,
z : 0 as _,
}
}
}
impl ::std::default::Default for DrawIndexedIndirectCommand {
fn default() -> DrawIndexedIndirectCommand {
DrawIndexedIndirectCommand {
indexCount : 0 as _,
instanceCount : 0 as _,
firstIndex : 0 as _,
vertexOffset : 0 as _,
firstInstance : 0 as _,
}
}
}
impl ::std::default::Default for DrawIndirectCommand {
fn default() -> DrawIndirectCommand {
DrawIndirectCommand {
vertexCount : 0 as _,
instanceCount : 0 as _,
firstVertex : 0 as _,
firstInstance : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceSubgroupProperties {
fn default() -> PhysicalDeviceSubgroupProperties {
PhysicalDeviceSubgroupProperties {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES,
pNext : 0 as _,
subgroupSize : 0 as _,
supportedStages : Default::default(),
supportedOperations : Default::default(),
quadOperationsInAllStages : 0 as _,
}
}
}
impl ::std::default::Default for BindBufferMemoryInfo {
fn default() -> BindBufferMemoryInfo {
BindBufferMemoryInfo {
sType : STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,
pNext : 0 as _,
buffer : Default::default(),
memory : Default::default(),
memoryOffset : Default::default(),
}
}
}
impl ::std::default::Default for BindImageMemoryInfo {
fn default() -> BindImageMemoryInfo {
BindImageMemoryInfo {
sType : STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO,
pNext : 0 as _,
image : Default::default(),
memory : Default::default(),
memoryOffset : Default::default(),
}
}
}
impl ::std::default::Default for PhysicalDevice16BitStorageFeatures {
fn default() -> PhysicalDevice16BitStorageFeatures {
PhysicalDevice16BitStorageFeatures {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
pNext : 0 as _,
storageBuffer16BitAccess : 0 as _,
uniformAndStorageBuffer16BitAccess : 0 as _,
storagePushConstant16 : 0 as _,
storageInputOutput16 : 0 as _,
}
}
}
impl ::std::default::Default for MemoryDedicatedRequirements {
fn default() -> MemoryDedicatedRequirements {
MemoryDedicatedRequirements {
sType : STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS,
pNext : 0 as _,
prefersDedicatedAllocation : 0 as _,
requiresDedicatedAllocation : 0 as _,
}
}
}
impl ::std::default::Default for MemoryDedicatedAllocateInfo {
fn default() -> MemoryDedicatedAllocateInfo {
MemoryDedicatedAllocateInfo {
sType : STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,
pNext : 0 as _,
image : Default::default(),
buffer : Default::default(),
}
}
}
impl ::std::default::Default for MemoryAllocateFlagsInfo {
fn default() -> MemoryAllocateFlagsInfo {
MemoryAllocateFlagsInfo {
sType : STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO,
pNext : 0 as _,
flags : Default::default(),
deviceMask : 0 as _,
}
}
}
impl ::std::default::Default for DeviceGroupRenderPassBeginInfo {
fn default() -> DeviceGroupRenderPassBeginInfo {
DeviceGroupRenderPassBeginInfo {
sType : STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
pNext : 0 as _,
deviceMask : 0 as _,
deviceRenderAreaCount : 0 as _,
pDeviceRenderAreas : 0 as _,
}
}
}
impl ::std::default::Default for DeviceGroupCommandBufferBeginInfo {
fn default() -> DeviceGroupCommandBufferBeginInfo {
DeviceGroupCommandBufferBeginInfo {
sType : STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
pNext : 0 as _,
deviceMask : 0 as _,
}
}
}
impl ::std::default::Default for DeviceGroupSubmitInfo {
fn default() -> DeviceGroupSubmitInfo {
DeviceGroupSubmitInfo {
sType : STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO,
pNext : 0 as _,
waitSemaphoreCount : 0 as _,
pWaitSemaphoreDeviceIndices : 0 as _,
commandBufferCount : 0 as _,
pCommandBufferDeviceMasks : 0 as _,
signalSemaphoreCount : 0 as _,
pSignalSemaphoreDeviceIndices : 0 as _,
}
}
}
impl ::std::default::Default for DeviceGroupBindSparseInfo {
fn default() -> DeviceGroupBindSparseInfo {
DeviceGroupBindSparseInfo {
sType : STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO,
pNext : 0 as _,
resourceDeviceIndex : 0 as _,
memoryDeviceIndex : 0 as _,
}
}
}
impl ::std::default::Default for BindBufferMemoryDeviceGroupInfo {
fn default() -> BindBufferMemoryDeviceGroupInfo {
BindBufferMemoryDeviceGroupInfo {
sType : STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,
pNext : 0 as _,
deviceIndexCount : 0 as _,
pDeviceIndices : 0 as _,
}
}
}
impl ::std::default::Default for BindImageMemoryDeviceGroupInfo {
fn default() -> BindImageMemoryDeviceGroupInfo {
BindImageMemoryDeviceGroupInfo {
sType : STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,
pNext : 0 as _,
deviceIndexCount : 0 as _,
pDeviceIndices : 0 as _,
splitInstanceBindRegionCount : 0 as _,
pSplitInstanceBindRegions : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceGroupProperties {
fn default() -> PhysicalDeviceGroupProperties {
PhysicalDeviceGroupProperties {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES,
pNext : 0 as _,
physicalDeviceCount : 0 as _,
physicalDevices : [Default::default();MAX_DEVICE_GROUP_SIZE],
subsetAllocation : 0 as _,
}
}
}
impl ::std::default::Default for DeviceGroupDeviceCreateInfo {
fn default() -> DeviceGroupDeviceCreateInfo {
DeviceGroupDeviceCreateInfo {
sType : STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO,
pNext : 0 as _,
physicalDeviceCount : 0 as _,
pPhysicalDevices : 0 as _,
}
}
}
impl ::std::default::Default for BufferMemoryRequirementsInfo2 {
fn default() -> BufferMemoryRequirementsInfo2 {
BufferMemoryRequirementsInfo2 {
sType : STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,
pNext : 0 as _,
buffer : Default::default(),
}
}
}
impl ::std::default::Default for ImageMemoryRequirementsInfo2 {
fn default() -> ImageMemoryRequirementsInfo2 {
ImageMemoryRequirementsInfo2 {
sType : STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,
pNext : 0 as _,
image : Default::default(),
}
}
}
impl ::std::default::Default for ImageSparseMemoryRequirementsInfo2 {
fn default() -> ImageSparseMemoryRequirementsInfo2 {
ImageSparseMemoryRequirementsInfo2 {
sType : STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
pNext : 0 as _,
image : Default::default(),
}
}
}
impl ::std::default::Default for MemoryRequirements2 {
fn default() -> MemoryRequirements2 {
MemoryRequirements2 {
sType : STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,
pNext : 0 as _,
memoryRequirements : Default::default(),
}
}
}
impl ::std::default::Default for SparseImageMemoryRequirements2 {
fn default() -> SparseImageMemoryRequirements2 {
SparseImageMemoryRequirements2 {
sType : STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
pNext : 0 as _,
memoryRequirements : Default::default(),
}
}
}
impl ::std::default::Default for PhysicalDeviceFeatures2 {
fn default() -> PhysicalDeviceFeatures2 {
PhysicalDeviceFeatures2 {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,
pNext : 0 as _,
features : Default::default(),
}
}
}
impl ::std::default::Default for PhysicalDeviceProperties2 {
fn default() -> PhysicalDeviceProperties2 {
PhysicalDeviceProperties2 {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,
pNext : 0 as _,
properties : Default::default(),
}
}
}
impl ::std::default::Default for FormatProperties2 {
fn default() -> FormatProperties2 {
FormatProperties2 {
sType : STRUCTURE_TYPE_FORMAT_PROPERTIES_2,
pNext : 0 as _,
formatProperties : Default::default(),
}
}
}
impl ::std::default::Default for ImageFormatProperties2 {
fn default() -> ImageFormatProperties2 {
ImageFormatProperties2 {
sType : STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2,
pNext : 0 as _,
imageFormatProperties : Default::default(),
}
}
}
impl ::std::default::Default for PhysicalDeviceImageFormatInfo2 {
fn default() -> PhysicalDeviceImageFormatInfo2 {
PhysicalDeviceImageFormatInfo2 {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
pNext : 0 as _,
format : Default::default(),
r#type : Default::default(),
tiling : Default::default(),
usage : Default::default(),
flags : Default::default(),
}
}
}
impl ::std::default::Default for QueueFamilyProperties2 {
fn default() -> QueueFamilyProperties2 {
QueueFamilyProperties2 {
sType : STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2,
pNext : 0 as _,
queueFamilyProperties : Default::default(),
}
}
}
impl ::std::default::Default for PhysicalDeviceMemoryProperties2 {
fn default() -> PhysicalDeviceMemoryProperties2 {
PhysicalDeviceMemoryProperties2 {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
pNext : 0 as _,
memoryProperties : Default::default(),
}
}
}
impl ::std::default::Default for SparseImageFormatProperties2 {
fn default() -> SparseImageFormatProperties2 {
SparseImageFormatProperties2 {
sType : STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2,
pNext : 0 as _,
properties : Default::default(),
}
}
}
impl ::std::default::Default for PhysicalDeviceSparseImageFormatInfo2 {
fn default() -> PhysicalDeviceSparseImageFormatInfo2 {
PhysicalDeviceSparseImageFormatInfo2 {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
pNext : 0 as _,
format : Default::default(),
r#type : Default::default(),
samples : Default::default(),
usage : Default::default(),
tiling : Default::default(),
}
}
}
impl ::std::default::Default for PhysicalDevicePointClippingProperties {
fn default() -> PhysicalDevicePointClippingProperties {
PhysicalDevicePointClippingProperties {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
pNext : 0 as _,
pointClippingBehavior : Default::default(),
}
}
}
impl ::std::default::Default for InputAttachmentAspectReference {
fn default() -> InputAttachmentAspectReference {
InputAttachmentAspectReference {
subpass : 0 as _,
inputAttachmentIndex : 0 as _,
aspectMask : Default::default(),
}
}
}
impl ::std::default::Default for RenderPassInputAttachmentAspectCreateInfo {
fn default() -> RenderPassInputAttachmentAspectCreateInfo {
RenderPassInputAttachmentAspectCreateInfo {
sType : STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
pNext : 0 as _,
aspectReferenceCount : 0 as _,
pAspectReferences : 0 as _,
}
}
}
impl ::std::default::Default for ImageViewUsageCreateInfo {
fn default() -> ImageViewUsageCreateInfo {
ImageViewUsageCreateInfo {
sType : STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,
pNext : 0 as _,
usage : Default::default(),
}
}
}
impl ::std::default::Default for PipelineTessellationDomainOriginStateCreateInfo {
fn default() -> PipelineTessellationDomainOriginStateCreateInfo {
PipelineTessellationDomainOriginStateCreateInfo {
sType : STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
pNext : 0 as _,
domainOrigin : Default::default(),
}
}
}
impl ::std::default::Default for RenderPassMultiviewCreateInfo {
fn default() -> RenderPassMultiviewCreateInfo {
RenderPassMultiviewCreateInfo {
sType : STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
pNext : 0 as _,
subpassCount : 0 as _,
pViewMasks : 0 as _,
dependencyCount : 0 as _,
pViewOffsets : 0 as _,
correlationMaskCount : 0 as _,
pCorrelationMasks : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceMultiviewFeatures {
fn default() -> PhysicalDeviceMultiviewFeatures {
PhysicalDeviceMultiviewFeatures {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
pNext : 0 as _,
multiview : 0 as _,
multiviewGeometryShader : 0 as _,
multiviewTessellationShader : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceMultiviewProperties {
fn default() -> PhysicalDeviceMultiviewProperties {
PhysicalDeviceMultiviewProperties {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
pNext : 0 as _,
maxMultiviewViewCount : 0 as _,
maxMultiviewInstanceIndex : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceVariablePointersFeatures {
fn default() -> PhysicalDeviceVariablePointersFeatures {
PhysicalDeviceVariablePointersFeatures {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
pNext : 0 as _,
variablePointersStorageBuffer : 0 as _,
variablePointers : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceProtectedMemoryFeatures {
fn default() -> PhysicalDeviceProtectedMemoryFeatures {
PhysicalDeviceProtectedMemoryFeatures {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES,
pNext : 0 as _,
protectedMemory : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceProtectedMemoryProperties {
fn default() -> PhysicalDeviceProtectedMemoryProperties {
PhysicalDeviceProtectedMemoryProperties {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES,
pNext : 0 as _,
protectedNoFault : 0 as _,
}
}
}
impl ::std::default::Default for DeviceQueueInfo2 {
fn default() -> DeviceQueueInfo2 {
DeviceQueueInfo2 {
sType : STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2,
pNext : 0 as _,
flags : Default::default(),
queueFamilyIndex : 0 as _,
queueIndex : 0 as _,
}
}
}
impl ::std::default::Default for ProtectedSubmitInfo {
fn default() -> ProtectedSubmitInfo {
ProtectedSubmitInfo {
sType : STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO,
pNext : 0 as _,
protectedSubmit : 0 as _,
}
}
}
impl ::std::default::Default for SamplerYcbcrConversionCreateInfo {
fn default() -> SamplerYcbcrConversionCreateInfo {
SamplerYcbcrConversionCreateInfo {
sType : STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
pNext : 0 as _,
format : Default::default(),
ycbcrModel : Default::default(),
ycbcrRange : Default::default(),
components : Default::default(),
xChromaOffset : Default::default(),
yChromaOffset : Default::default(),
chromaFilter : Default::default(),
forceExplicitReconstruction : 0 as _,
}
}
}
impl ::std::default::Default for SamplerYcbcrConversionInfo {
fn default() -> SamplerYcbcrConversionInfo {
SamplerYcbcrConversionInfo {
sType : STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO,
pNext : 0 as _,
conversion : Default::default(),
}
}
}
impl ::std::default::Default for BindImagePlaneMemoryInfo {
fn default() -> BindImagePlaneMemoryInfo {
BindImagePlaneMemoryInfo {
sType : STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,
pNext : 0 as _,
planeAspect : Default::default(),
}
}
}
impl ::std::default::Default for ImagePlaneMemoryRequirementsInfo {
fn default() -> ImagePlaneMemoryRequirementsInfo {
ImagePlaneMemoryRequirementsInfo {
sType : STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
pNext : 0 as _,
planeAspect : Default::default(),
}
}
}
impl ::std::default::Default for PhysicalDeviceSamplerYcbcrConversionFeatures {
fn default() -> PhysicalDeviceSamplerYcbcrConversionFeatures {
PhysicalDeviceSamplerYcbcrConversionFeatures {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
pNext : 0 as _,
samplerYcbcrConversion : 0 as _,
}
}
}
impl ::std::default::Default for SamplerYcbcrConversionImageFormatProperties {
fn default() -> SamplerYcbcrConversionImageFormatProperties {
SamplerYcbcrConversionImageFormatProperties {
sType : STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
pNext : 0 as _,
combinedImageSamplerDescriptorCount : 0 as _,
}
}
}
impl ::std::default::Default for DescriptorUpdateTemplateEntry {
fn default() -> DescriptorUpdateTemplateEntry {
DescriptorUpdateTemplateEntry {
dstBinding : 0 as _,
dstArrayElement : 0 as _,
descriptorCount : 0 as _,
descriptorType : Default::default(),
offset : Default::default(),
stride : Default::default(),
}
}
}
impl ::std::default::Default for DescriptorUpdateTemplateCreateInfo {
fn default() -> DescriptorUpdateTemplateCreateInfo {
DescriptorUpdateTemplateCreateInfo {
sType : STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
pNext : 0 as _,
flags : Default::default(),
descriptorUpdateEntryCount : 0 as _,
pDescriptorUpdateEntries : 0 as _,
templateType : Default::default(),
descriptorSetLayout : Default::default(),
pipelineBindPoint : Default::default(),
pipelineLayout : Default::default(),
set : 0 as _,
}
}
}
impl ::std::default::Default for ExternalMemoryProperties {
fn default() -> ExternalMemoryProperties {
ExternalMemoryProperties {
externalMemoryFeatures : Default::default(),
exportFromImportedHandleTypes : Default::default(),
compatibleHandleTypes : Default::default(),
}
}
}
impl ::std::default::Default for PhysicalDeviceExternalImageFormatInfo {
fn default() -> PhysicalDeviceExternalImageFormatInfo {
PhysicalDeviceExternalImageFormatInfo {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
pNext : 0 as _,
handleType : Default::default(),
}
}
}
impl ::std::default::Default for ExternalImageFormatProperties {
fn default() -> ExternalImageFormatProperties {
ExternalImageFormatProperties {
sType : STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES,
pNext : 0 as _,
externalMemoryProperties : Default::default(),
}
}
}
impl ::std::default::Default for PhysicalDeviceExternalBufferInfo {
fn default() -> PhysicalDeviceExternalBufferInfo {
PhysicalDeviceExternalBufferInfo {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
pNext : 0 as _,
flags : Default::default(),
usage : Default::default(),
handleType : Default::default(),
}
}
}
impl ::std::default::Default for ExternalBufferProperties {
fn default() -> ExternalBufferProperties {
ExternalBufferProperties {
sType : STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES,
pNext : 0 as _,
externalMemoryProperties : Default::default(),
}
}
}
impl ::std::default::Default for PhysicalDeviceIDProperties {
fn default() -> PhysicalDeviceIDProperties {
PhysicalDeviceIDProperties {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES,
pNext : 0 as _,
deviceUUID : [Default::default();UUID_SIZE],
driverUUID : [Default::default();UUID_SIZE],
deviceLUID : [Default::default();LUID_SIZE],
deviceNodeMask : 0 as _,
deviceLUIDValid : 0 as _,
}
}
}
impl ::std::default::Default for ExternalMemoryImageCreateInfo {
fn default() -> ExternalMemoryImageCreateInfo {
ExternalMemoryImageCreateInfo {
sType : STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
pNext : 0 as _,
handleTypes : Default::default(),
}
}
}
impl ::std::default::Default for ExternalMemoryBufferCreateInfo {
fn default() -> ExternalMemoryBufferCreateInfo {
ExternalMemoryBufferCreateInfo {
sType : STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
pNext : 0 as _,
handleTypes : Default::default(),
}
}
}
impl ::std::default::Default for ExportMemoryAllocateInfo {
fn default() -> ExportMemoryAllocateInfo {
ExportMemoryAllocateInfo {
sType : STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO,
pNext : 0 as _,
handleTypes : Default::default(),
}
}
}
impl ::std::default::Default for PhysicalDeviceExternalFenceInfo {
fn default() -> PhysicalDeviceExternalFenceInfo {
PhysicalDeviceExternalFenceInfo {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
pNext : 0 as _,
handleType : Default::default(),
}
}
}
impl ::std::default::Default for ExternalFenceProperties {
fn default() -> ExternalFenceProperties {
ExternalFenceProperties {
sType : STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,
pNext : 0 as _,
exportFromImportedHandleTypes : Default::default(),
compatibleHandleTypes : Default::default(),
externalFenceFeatures : Default::default(),
}
}
}
impl ::std::default::Default for ExportFenceCreateInfo {
fn default() -> ExportFenceCreateInfo {
ExportFenceCreateInfo {
sType : STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,
pNext : 0 as _,
handleTypes : Default::default(),
}
}
}
impl ::std::default::Default for ExportSemaphoreCreateInfo {
fn default() -> ExportSemaphoreCreateInfo {
ExportSemaphoreCreateInfo {
sType : STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO,
pNext : 0 as _,
handleTypes : Default::default(),
}
}
}
impl ::std::default::Default for PhysicalDeviceExternalSemaphoreInfo {
fn default() -> PhysicalDeviceExternalSemaphoreInfo {
PhysicalDeviceExternalSemaphoreInfo {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
pNext : 0 as _,
handleType : Default::default(),
}
}
}
impl ::std::default::Default for ExternalSemaphoreProperties {
fn default() -> ExternalSemaphoreProperties {
ExternalSemaphoreProperties {
sType : STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,
pNext : 0 as _,
exportFromImportedHandleTypes : Default::default(),
compatibleHandleTypes : Default::default(),
externalSemaphoreFeatures : Default::default(),
}
}
}
impl ::std::default::Default for PhysicalDeviceMaintenance3Properties {
fn default() -> PhysicalDeviceMaintenance3Properties {
PhysicalDeviceMaintenance3Properties {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
pNext : 0 as _,
maxPerSetDescriptors : 0 as _,
maxMemoryAllocationSize : Default::default(),
}
}
}
impl ::std::default::Default for DescriptorSetLayoutSupport {
fn default() -> DescriptorSetLayoutSupport {
DescriptorSetLayoutSupport {
sType : STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,
pNext : 0 as _,
supported : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceShaderDrawParametersFeatures {
fn default() -> PhysicalDeviceShaderDrawParametersFeatures {
PhysicalDeviceShaderDrawParametersFeatures {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
pNext : 0 as _,
shaderDrawParameters : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceVulkan11Features {
fn default() -> PhysicalDeviceVulkan11Features {
PhysicalDeviceVulkan11Features {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES,
pNext : 0 as _,
storageBuffer16BitAccess : 0 as _,
uniformAndStorageBuffer16BitAccess : 0 as _,
storagePushConstant16 : 0 as _,
storageInputOutput16 : 0 as _,
multiview : 0 as _,
multiviewGeometryShader : 0 as _,
multiviewTessellationShader : 0 as _,
variablePointersStorageBuffer : 0 as _,
variablePointers : 0 as _,
protectedMemory : 0 as _,
samplerYcbcrConversion : 0 as _,
shaderDrawParameters : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceVulkan11Properties {
fn default() -> PhysicalDeviceVulkan11Properties {
PhysicalDeviceVulkan11Properties {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES,
pNext : 0 as _,
deviceUUID : [Default::default();UUID_SIZE],
driverUUID : [Default::default();UUID_SIZE],
deviceLUID : [Default::default();LUID_SIZE],
deviceNodeMask : 0 as _,
deviceLUIDValid : 0 as _,
subgroupSize : 0 as _,
subgroupSupportedStages : Default::default(),
subgroupSupportedOperations : Default::default(),
subgroupQuadOperationsInAllStages : 0 as _,
pointClippingBehavior : Default::default(),
maxMultiviewViewCount : 0 as _,
maxMultiviewInstanceIndex : 0 as _,
protectedNoFault : 0 as _,
maxPerSetDescriptors : 0 as _,
maxMemoryAllocationSize : Default::default(),
}
}
}
impl ::std::default::Default for PhysicalDeviceVulkan12Features {
fn default() -> PhysicalDeviceVulkan12Features {
PhysicalDeviceVulkan12Features {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES,
pNext : 0 as _,
samplerMirrorClampToEdge : 0 as _,
drawIndirectCount : 0 as _,
storageBuffer8BitAccess : 0 as _,
uniformAndStorageBuffer8BitAccess : 0 as _,
storagePushConstant8 : 0 as _,
shaderBufferInt64Atomics : 0 as _,
shaderSharedInt64Atomics : 0 as _,
shaderFloat16 : 0 as _,
shaderInt8 : 0 as _,
descriptorIndexing : 0 as _,
shaderInputAttachmentArrayDynamicIndexing : 0 as _,
shaderUniformTexelBufferArrayDynamicIndexing : 0 as _,
shaderStorageTexelBufferArrayDynamicIndexing : 0 as _,
shaderUniformBufferArrayNonUniformIndexing : 0 as _,
shaderSampledImageArrayNonUniformIndexing : 0 as _,
shaderStorageBufferArrayNonUniformIndexing : 0 as _,
shaderStorageImageArrayNonUniformIndexing : 0 as _,
shaderInputAttachmentArrayNonUniformIndexing : 0 as _,
shaderUniformTexelBufferArrayNonUniformIndexing : 0 as _,
shaderStorageTexelBufferArrayNonUniformIndexing : 0 as _,
descriptorBindingUniformBufferUpdateAfterBind : 0 as _,
descriptorBindingSampledImageUpdateAfterBind : 0 as _,
descriptorBindingStorageImageUpdateAfterBind : 0 as _,
descriptorBindingStorageBufferUpdateAfterBind : 0 as _,
descriptorBindingUniformTexelBufferUpdateAfterBind : 0 as _,
descriptorBindingStorageTexelBufferUpdateAfterBind : 0 as _,
descriptorBindingUpdateUnusedWhilePending : 0 as _,
descriptorBindingPartiallyBound : 0 as _,
descriptorBindingVariableDescriptorCount : 0 as _,
runtimeDescriptorArray : 0 as _,
samplerFilterMinmax : 0 as _,
scalarBlockLayout : 0 as _,
imagelessFramebuffer : 0 as _,
uniformBufferStandardLayout : 0 as _,
shaderSubgroupExtendedTypes : 0 as _,
separateDepthStencilLayouts : 0 as _,
hostQueryReset : 0 as _,
timelineSemaphore : 0 as _,
bufferDeviceAddress : 0 as _,
bufferDeviceAddressCaptureReplay : 0 as _,
bufferDeviceAddressMultiDevice : 0 as _,
vulkanMemoryModel : 0 as _,
vulkanMemoryModelDeviceScope : 0 as _,
vulkanMemoryModelAvailabilityVisibilityChains : 0 as _,
shaderOutputViewportIndex : 0 as _,
shaderOutputLayer : 0 as _,
subgroupBroadcastDynamicId : 0 as _,
}
}
}
impl ::std::default::Default for ConformanceVersion {
fn default() -> ConformanceVersion {
ConformanceVersion {
major : Default::default(),
minor : Default::default(),
subminor : Default::default(),
patch : Default::default(),
}
}
}
impl ::std::default::Default for PhysicalDeviceVulkan12Properties {
fn default() -> PhysicalDeviceVulkan12Properties {
PhysicalDeviceVulkan12Properties {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES,
pNext : 0 as _,
driverID : Default::default(),
driverName : [Default::default();MAX_DRIVER_NAME_SIZE],
driverInfo : [Default::default();MAX_DRIVER_INFO_SIZE],
conformanceVersion : Default::default(),
denormBehaviorIndependence : Default::default(),
roundingModeIndependence : Default::default(),
shaderSignedZeroInfNanPreserveFloat16 : 0 as _,
shaderSignedZeroInfNanPreserveFloat32 : 0 as _,
shaderSignedZeroInfNanPreserveFloat64 : 0 as _,
shaderDenormPreserveFloat16 : 0 as _,
shaderDenormPreserveFloat32 : 0 as _,
shaderDenormPreserveFloat64 : 0 as _,
shaderDenormFlushToZeroFloat16 : 0 as _,
shaderDenormFlushToZeroFloat32 : 0 as _,
shaderDenormFlushToZeroFloat64 : 0 as _,
shaderRoundingModeRTEFloat16 : 0 as _,
shaderRoundingModeRTEFloat32 : 0 as _,
shaderRoundingModeRTEFloat64 : 0 as _,
shaderRoundingModeRTZFloat16 : 0 as _,
shaderRoundingModeRTZFloat32 : 0 as _,
shaderRoundingModeRTZFloat64 : 0 as _,
maxUpdateAfterBindDescriptorsInAllPools : 0 as _,
shaderUniformBufferArrayNonUniformIndexingNative : 0 as _,
shaderSampledImageArrayNonUniformIndexingNative : 0 as _,
shaderStorageBufferArrayNonUniformIndexingNative : 0 as _,
shaderStorageImageArrayNonUniformIndexingNative : 0 as _,
shaderInputAttachmentArrayNonUniformIndexingNative : 0 as _,
robustBufferAccessUpdateAfterBind : 0 as _,
quadDivergentImplicitLod : 0 as _,
maxPerStageDescriptorUpdateAfterBindSamplers : 0 as _,
maxPerStageDescriptorUpdateAfterBindUniformBuffers : 0 as _,
maxPerStageDescriptorUpdateAfterBindStorageBuffers : 0 as _,
maxPerStageDescriptorUpdateAfterBindSampledImages : 0 as _,
maxPerStageDescriptorUpdateAfterBindStorageImages : 0 as _,
maxPerStageDescriptorUpdateAfterBindInputAttachments : 0 as _,
maxPerStageUpdateAfterBindResources : 0 as _,
maxDescriptorSetUpdateAfterBindSamplers : 0 as _,
maxDescriptorSetUpdateAfterBindUniformBuffers : 0 as _,
maxDescriptorSetUpdateAfterBindUniformBuffersDynamic : 0 as _,
maxDescriptorSetUpdateAfterBindStorageBuffers : 0 as _,
maxDescriptorSetUpdateAfterBindStorageBuffersDynamic : 0 as _,
maxDescriptorSetUpdateAfterBindSampledImages : 0 as _,
maxDescriptorSetUpdateAfterBindStorageImages : 0 as _,
maxDescriptorSetUpdateAfterBindInputAttachments : 0 as _,
supportedDepthResolveModes : Default::default(),
supportedStencilResolveModes : Default::default(),
independentResolveNone : 0 as _,
independentResolve : 0 as _,
filterMinmaxSingleComponentFormats : 0 as _,
filterMinmaxImageComponentMapping : 0 as _,
maxTimelineSemaphoreValueDifference : 0 as _,
framebufferIntegerColorSampleCounts : Default::default(),
}
}
}
impl ::std::default::Default for ImageFormatListCreateInfo {
fn default() -> ImageFormatListCreateInfo {
ImageFormatListCreateInfo {
sType : STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO,
pNext : 0 as _,
viewFormatCount : 0 as _,
pViewFormats : 0 as _,
}
}
}
impl ::std::default::Default for AttachmentDescription2 {
fn default() -> AttachmentDescription2 {
AttachmentDescription2 {
sType : STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2,
pNext : 0 as _,
flags : Default::default(),
format : Default::default(),
samples : Default::default(),
loadOp : Default::default(),
storeOp : Default::default(),
stencilLoadOp : Default::default(),
stencilStoreOp : Default::default(),
initialLayout : Default::default(),
finalLayout : Default::default(),
}
}
}
impl ::std::default::Default for AttachmentReference2 {
fn default() -> AttachmentReference2 {
AttachmentReference2 {
sType : STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2,
pNext : 0 as _,
attachment : 0 as _,
layout : Default::default(),
aspectMask : Default::default(),
}
}
}
impl ::std::default::Default for SubpassDescription2 {
fn default() -> SubpassDescription2 {
SubpassDescription2 {
sType : STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2,
pNext : 0 as _,
flags : Default::default(),
pipelineBindPoint : Default::default(),
viewMask : 0 as _,
inputAttachmentCount : 0 as _,
pInputAttachments : 0 as _,
colorAttachmentCount : 0 as _,
pColorAttachments : 0 as _,
pResolveAttachments : 0 as _,
pDepthStencilAttachment : 0 as _,
preserveAttachmentCount : 0 as _,
pPreserveAttachments : 0 as _,
}
}
}
impl ::std::default::Default for SubpassDependency2 {
fn default() -> SubpassDependency2 {
SubpassDependency2 {
sType : STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2,
pNext : 0 as _,
srcSubpass : 0 as _,
dstSubpass : 0 as _,
srcStageMask : Default::default(),
dstStageMask : Default::default(),
srcAccessMask : Default::default(),
dstAccessMask : Default::default(),
dependencyFlags : Default::default(),
viewOffset : 0 as _,
}
}
}
impl ::std::default::Default for RenderPassCreateInfo2 {
fn default() -> RenderPassCreateInfo2 {
RenderPassCreateInfo2 {
sType : STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2,
pNext : 0 as _,
flags : Default::default(),
attachmentCount : 0 as _,
pAttachments : 0 as _,
subpassCount : 0 as _,
pSubpasses : 0 as _,
dependencyCount : 0 as _,
pDependencies : 0 as _,
correlatedViewMaskCount : 0 as _,
pCorrelatedViewMasks : 0 as _,
}
}
}
impl ::std::default::Default for SubpassBeginInfo {
fn default() -> SubpassBeginInfo {
SubpassBeginInfo {
sType : STRUCTURE_TYPE_SUBPASS_BEGIN_INFO,
pNext : 0 as _,
contents : Default::default(),
}
}
}
impl ::std::default::Default for SubpassEndInfo {
fn default() -> SubpassEndInfo {
SubpassEndInfo {
sType : STRUCTURE_TYPE_SUBPASS_END_INFO,
pNext : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDevice8BitStorageFeatures {
fn default() -> PhysicalDevice8BitStorageFeatures {
PhysicalDevice8BitStorageFeatures {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES,
pNext : 0 as _,
storageBuffer8BitAccess : 0 as _,
uniformAndStorageBuffer8BitAccess : 0 as _,
storagePushConstant8 : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceDriverProperties {
fn default() -> PhysicalDeviceDriverProperties {
PhysicalDeviceDriverProperties {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES,
pNext : 0 as _,
driverID : Default::default(),
driverName : [Default::default();MAX_DRIVER_NAME_SIZE],
driverInfo : [Default::default();MAX_DRIVER_INFO_SIZE],
conformanceVersion : Default::default(),
}
}
}
impl ::std::default::Default for PhysicalDeviceShaderAtomicInt64Features {
fn default() -> PhysicalDeviceShaderAtomicInt64Features {
PhysicalDeviceShaderAtomicInt64Features {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES,
pNext : 0 as _,
shaderBufferInt64Atomics : 0 as _,
shaderSharedInt64Atomics : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceShaderFloat16Int8Features {
fn default() -> PhysicalDeviceShaderFloat16Int8Features {
PhysicalDeviceShaderFloat16Int8Features {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
pNext : 0 as _,
shaderFloat16 : 0 as _,
shaderInt8 : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceFloatControlsProperties {
fn default() -> PhysicalDeviceFloatControlsProperties {
PhysicalDeviceFloatControlsProperties {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,
pNext : 0 as _,
denormBehaviorIndependence : Default::default(),
roundingModeIndependence : Default::default(),
shaderSignedZeroInfNanPreserveFloat16 : 0 as _,
shaderSignedZeroInfNanPreserveFloat32 : 0 as _,
shaderSignedZeroInfNanPreserveFloat64 : 0 as _,
shaderDenormPreserveFloat16 : 0 as _,
shaderDenormPreserveFloat32 : 0 as _,
shaderDenormPreserveFloat64 : 0 as _,
shaderDenormFlushToZeroFloat16 : 0 as _,
shaderDenormFlushToZeroFloat32 : 0 as _,
shaderDenormFlushToZeroFloat64 : 0 as _,
shaderRoundingModeRTEFloat16 : 0 as _,
shaderRoundingModeRTEFloat32 : 0 as _,
shaderRoundingModeRTEFloat64 : 0 as _,
shaderRoundingModeRTZFloat16 : 0 as _,
shaderRoundingModeRTZFloat32 : 0 as _,
shaderRoundingModeRTZFloat64 : 0 as _,
}
}
}
impl ::std::default::Default for DescriptorSetLayoutBindingFlagsCreateInfo {
fn default() -> DescriptorSetLayoutBindingFlagsCreateInfo {
DescriptorSetLayoutBindingFlagsCreateInfo {
sType : STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO,
pNext : 0 as _,
bindingCount : 0 as _,
pBindingFlags : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceDescriptorIndexingFeatures {
fn default() -> PhysicalDeviceDescriptorIndexingFeatures {
PhysicalDeviceDescriptorIndexingFeatures {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES,
pNext : 0 as _,
shaderInputAttachmentArrayDynamicIndexing : 0 as _,
shaderUniformTexelBufferArrayDynamicIndexing : 0 as _,
shaderStorageTexelBufferArrayDynamicIndexing : 0 as _,
shaderUniformBufferArrayNonUniformIndexing : 0 as _,
shaderSampledImageArrayNonUniformIndexing : 0 as _,
shaderStorageBufferArrayNonUniformIndexing : 0 as _,
shaderStorageImageArrayNonUniformIndexing : 0 as _,
shaderInputAttachmentArrayNonUniformIndexing : 0 as _,
shaderUniformTexelBufferArrayNonUniformIndexing : 0 as _,
shaderStorageTexelBufferArrayNonUniformIndexing : 0 as _,
descriptorBindingUniformBufferUpdateAfterBind : 0 as _,
descriptorBindingSampledImageUpdateAfterBind : 0 as _,
descriptorBindingStorageImageUpdateAfterBind : 0 as _,
descriptorBindingStorageBufferUpdateAfterBind : 0 as _,
descriptorBindingUniformTexelBufferUpdateAfterBind : 0 as _,
descriptorBindingStorageTexelBufferUpdateAfterBind : 0 as _,
descriptorBindingUpdateUnusedWhilePending : 0 as _,
descriptorBindingPartiallyBound : 0 as _,
descriptorBindingVariableDescriptorCount : 0 as _,
runtimeDescriptorArray : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceDescriptorIndexingProperties {
fn default() -> PhysicalDeviceDescriptorIndexingProperties {
PhysicalDeviceDescriptorIndexingProperties {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES,
pNext : 0 as _,
maxUpdateAfterBindDescriptorsInAllPools : 0 as _,
shaderUniformBufferArrayNonUniformIndexingNative : 0 as _,
shaderSampledImageArrayNonUniformIndexingNative : 0 as _,
shaderStorageBufferArrayNonUniformIndexingNative : 0 as _,
shaderStorageImageArrayNonUniformIndexingNative : 0 as _,
shaderInputAttachmentArrayNonUniformIndexingNative : 0 as _,
robustBufferAccessUpdateAfterBind : 0 as _,
quadDivergentImplicitLod : 0 as _,
maxPerStageDescriptorUpdateAfterBindSamplers : 0 as _,
maxPerStageDescriptorUpdateAfterBindUniformBuffers : 0 as _,
maxPerStageDescriptorUpdateAfterBindStorageBuffers : 0 as _,
maxPerStageDescriptorUpdateAfterBindSampledImages : 0 as _,
maxPerStageDescriptorUpdateAfterBindStorageImages : 0 as _,
maxPerStageDescriptorUpdateAfterBindInputAttachments : 0 as _,
maxPerStageUpdateAfterBindResources : 0 as _,
maxDescriptorSetUpdateAfterBindSamplers : 0 as _,
maxDescriptorSetUpdateAfterBindUniformBuffers : 0 as _,
maxDescriptorSetUpdateAfterBindUniformBuffersDynamic : 0 as _,
maxDescriptorSetUpdateAfterBindStorageBuffers : 0 as _,
maxDescriptorSetUpdateAfterBindStorageBuffersDynamic : 0 as _,
maxDescriptorSetUpdateAfterBindSampledImages : 0 as _,
maxDescriptorSetUpdateAfterBindStorageImages : 0 as _,
maxDescriptorSetUpdateAfterBindInputAttachments : 0 as _,
}
}
}
impl ::std::default::Default for DescriptorSetVariableDescriptorCountAllocateInfo {
fn default() -> DescriptorSetVariableDescriptorCountAllocateInfo {
DescriptorSetVariableDescriptorCountAllocateInfo {
sType : STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO,
pNext : 0 as _,
descriptorSetCount : 0 as _,
pDescriptorCounts : 0 as _,
}
}
}
impl ::std::default::Default for DescriptorSetVariableDescriptorCountLayoutSupport {
fn default() -> DescriptorSetVariableDescriptorCountLayoutSupport {
DescriptorSetVariableDescriptorCountLayoutSupport {
sType : STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT,
pNext : 0 as _,
maxVariableDescriptorCount : 0 as _,
}
}
}
impl ::std::default::Default for SubpassDescriptionDepthStencilResolve {
fn default() -> SubpassDescriptionDepthStencilResolve {
SubpassDescriptionDepthStencilResolve {
sType : STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE,
pNext : 0 as _,
depthResolveMode : Default::default(),
stencilResolveMode : Default::default(),
pDepthStencilResolveAttachment : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceDepthStencilResolveProperties {
fn default() -> PhysicalDeviceDepthStencilResolveProperties {
PhysicalDeviceDepthStencilResolveProperties {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES,
pNext : 0 as _,
supportedDepthResolveModes : Default::default(),
supportedStencilResolveModes : Default::default(),
independentResolveNone : 0 as _,
independentResolve : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceScalarBlockLayoutFeatures {
fn default() -> PhysicalDeviceScalarBlockLayoutFeatures {
PhysicalDeviceScalarBlockLayoutFeatures {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES,
pNext : 0 as _,
scalarBlockLayout : 0 as _,
}
}
}
impl ::std::default::Default for ImageStencilUsageCreateInfo {
fn default() -> ImageStencilUsageCreateInfo {
ImageStencilUsageCreateInfo {
sType : STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO,
pNext : 0 as _,
stencilUsage : Default::default(),
}
}
}
impl ::std::default::Default for SamplerReductionModeCreateInfo {
fn default() -> SamplerReductionModeCreateInfo {
SamplerReductionModeCreateInfo {
sType : STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO,
pNext : 0 as _,
reductionMode : Default::default(),
}
}
}
impl ::std::default::Default for PhysicalDeviceSamplerFilterMinmaxProperties {
fn default() -> PhysicalDeviceSamplerFilterMinmaxProperties {
PhysicalDeviceSamplerFilterMinmaxProperties {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES,
pNext : 0 as _,
filterMinmaxSingleComponentFormats : 0 as _,
filterMinmaxImageComponentMapping : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceVulkanMemoryModelFeatures {
fn default() -> PhysicalDeviceVulkanMemoryModelFeatures {
PhysicalDeviceVulkanMemoryModelFeatures {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES,
pNext : 0 as _,
vulkanMemoryModel : 0 as _,
vulkanMemoryModelDeviceScope : 0 as _,
vulkanMemoryModelAvailabilityVisibilityChains : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceImagelessFramebufferFeatures {
fn default() -> PhysicalDeviceImagelessFramebufferFeatures {
PhysicalDeviceImagelessFramebufferFeatures {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES,
pNext : 0 as _,
imagelessFramebuffer : 0 as _,
}
}
}
impl ::std::default::Default for FramebufferAttachmentImageInfo {
fn default() -> FramebufferAttachmentImageInfo {
FramebufferAttachmentImageInfo {
sType : STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO,
pNext : 0 as _,
flags : Default::default(),
usage : Default::default(),
width : 0 as _,
height : 0 as _,
layerCount : 0 as _,
viewFormatCount : 0 as _,
pViewFormats : 0 as _,
}
}
}
impl ::std::default::Default for FramebufferAttachmentsCreateInfo {
fn default() -> FramebufferAttachmentsCreateInfo {
FramebufferAttachmentsCreateInfo {
sType : STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO,
pNext : 0 as _,
attachmentImageInfoCount : 0 as _,
pAttachmentImageInfos : 0 as _,
}
}
}
impl ::std::default::Default for RenderPassAttachmentBeginInfo {
fn default() -> RenderPassAttachmentBeginInfo {
RenderPassAttachmentBeginInfo {
sType : STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO,
pNext : 0 as _,
attachmentCount : 0 as _,
pAttachments : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceUniformBufferStandardLayoutFeatures {
fn default() -> PhysicalDeviceUniformBufferStandardLayoutFeatures {
PhysicalDeviceUniformBufferStandardLayoutFeatures {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES,
pNext : 0 as _,
uniformBufferStandardLayout : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceShaderSubgroupExtendedTypesFeatures {
fn default() -> PhysicalDeviceShaderSubgroupExtendedTypesFeatures {
PhysicalDeviceShaderSubgroupExtendedTypesFeatures {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES,
pNext : 0 as _,
shaderSubgroupExtendedTypes : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceSeparateDepthStencilLayoutsFeatures {
fn default() -> PhysicalDeviceSeparateDepthStencilLayoutsFeatures {
PhysicalDeviceSeparateDepthStencilLayoutsFeatures {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES,
pNext : 0 as _,
separateDepthStencilLayouts : 0 as _,
}
}
}
impl ::std::default::Default for AttachmentReferenceStencilLayout {
fn default() -> AttachmentReferenceStencilLayout {
AttachmentReferenceStencilLayout {
sType : STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT,
pNext : 0 as _,
stencilLayout : Default::default(),
}
}
}
impl ::std::default::Default for AttachmentDescriptionStencilLayout {
fn default() -> AttachmentDescriptionStencilLayout {
AttachmentDescriptionStencilLayout {
sType : STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT,
pNext : 0 as _,
stencilInitialLayout : Default::default(),
stencilFinalLayout : Default::default(),
}
}
}
impl ::std::default::Default for PhysicalDeviceHostQueryResetFeatures {
fn default() -> PhysicalDeviceHostQueryResetFeatures {
PhysicalDeviceHostQueryResetFeatures {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES,
pNext : 0 as _,
hostQueryReset : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceTimelineSemaphoreFeatures {
fn default() -> PhysicalDeviceTimelineSemaphoreFeatures {
PhysicalDeviceTimelineSemaphoreFeatures {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
pNext : 0 as _,
timelineSemaphore : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceTimelineSemaphoreProperties {
fn default() -> PhysicalDeviceTimelineSemaphoreProperties {
PhysicalDeviceTimelineSemaphoreProperties {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,
pNext : 0 as _,
maxTimelineSemaphoreValueDifference : 0 as _,
}
}
}
impl ::std::default::Default for SemaphoreTypeCreateInfo {
fn default() -> SemaphoreTypeCreateInfo {
SemaphoreTypeCreateInfo {
sType : STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO,
pNext : 0 as _,
semaphoreType : Default::default(),
initialValue : 0 as _,
}
}
}
impl ::std::default::Default for TimelineSemaphoreSubmitInfo {
fn default() -> TimelineSemaphoreSubmitInfo {
TimelineSemaphoreSubmitInfo {
sType : STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO,
pNext : 0 as _,
waitSemaphoreValueCount : 0 as _,
pWaitSemaphoreValues : 0 as _,
signalSemaphoreValueCount : 0 as _,
pSignalSemaphoreValues : 0 as _,
}
}
}
impl ::std::default::Default for SemaphoreWaitInfo {
fn default() -> SemaphoreWaitInfo {
SemaphoreWaitInfo {
sType : STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO,
pNext : 0 as _,
flags : Default::default(),
semaphoreCount : 0 as _,
pSemaphores : 0 as _,
pValues : 0 as _,
}
}
}
impl ::std::default::Default for SemaphoreSignalInfo {
fn default() -> SemaphoreSignalInfo {
SemaphoreSignalInfo {
sType : STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO,
pNext : 0 as _,
semaphore : Default::default(),
value : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceBufferDeviceAddressFeatures {
fn default() -> PhysicalDeviceBufferDeviceAddressFeatures {
PhysicalDeviceBufferDeviceAddressFeatures {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES,
pNext : 0 as _,
bufferDeviceAddress : 0 as _,
bufferDeviceAddressCaptureReplay : 0 as _,
bufferDeviceAddressMultiDevice : 0 as _,
}
}
}
impl ::std::default::Default for BufferDeviceAddressInfo {
fn default() -> BufferDeviceAddressInfo {
BufferDeviceAddressInfo {
sType : STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
pNext : 0 as _,
buffer : Default::default(),
}
}
}
impl ::std::default::Default for BufferOpaqueCaptureAddressCreateInfo {
fn default() -> BufferOpaqueCaptureAddressCreateInfo {
BufferOpaqueCaptureAddressCreateInfo {
sType : STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO,
pNext : 0 as _,
opaqueCaptureAddress : 0 as _,
}
}
}
impl ::std::default::Default for MemoryOpaqueCaptureAddressAllocateInfo {
fn default() -> MemoryOpaqueCaptureAddressAllocateInfo {
MemoryOpaqueCaptureAddressAllocateInfo {
sType : STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO,
pNext : 0 as _,
opaqueCaptureAddress : 0 as _,
}
}
}
impl ::std::default::Default for DeviceMemoryOpaqueCaptureAddressInfo {
fn default() -> DeviceMemoryOpaqueCaptureAddressInfo {
DeviceMemoryOpaqueCaptureAddressInfo {
sType : STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO,
pNext : 0 as _,
memory : Default::default(),
}
}
}
impl ::std::default::Default for SurfaceCapabilitiesKHR {
fn default() -> SurfaceCapabilitiesKHR {
SurfaceCapabilitiesKHR {
minImageCount : 0 as _,
maxImageCount : 0 as _,
currentExtent : Default::default(),
minImageExtent : Default::default(),
maxImageExtent : Default::default(),
maxImageArrayLayers : 0 as _,
supportedTransforms : Default::default(),
currentTransform : Default::default(),
supportedCompositeAlpha : Default::default(),
supportedUsageFlags : Default::default(),
}
}
}
impl ::std::default::Default for SurfaceFormatKHR {
fn default() -> SurfaceFormatKHR {
SurfaceFormatKHR {
format : Default::default(),
colorSpace : Default::default(),
}
}
}
impl ::std::default::Default for SwapchainCreateInfoKHR {
fn default() -> SwapchainCreateInfoKHR {
SwapchainCreateInfoKHR {
sType : STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR,
pNext : 0 as _,
flags : Default::default(),
surface : Default::default(),
minImageCount : 0 as _,
imageFormat : Default::default(),
imageColorSpace : Default::default(),
imageExtent : Default::default(),
imageArrayLayers : 0 as _,
imageUsage : Default::default(),
imageSharingMode : Default::default(),
queueFamilyIndexCount : 0 as _,
pQueueFamilyIndices : 0 as _,
preTransform : Default::default(),
compositeAlpha : Default::default(),
presentMode : Default::default(),
clipped : 0 as _,
oldSwapchain : Default::default(),
}
}
}
impl ::std::default::Default for PresentInfoKHR {
fn default() -> PresentInfoKHR {
PresentInfoKHR {
sType : STRUCTURE_TYPE_PRESENT_INFO_KHR,
pNext : 0 as _,
waitSemaphoreCount : 0 as _,
pWaitSemaphores : 0 as _,
swapchainCount : 0 as _,
pSwapchains : 0 as _,
pImageIndices : 0 as _,
pResults : 0 as _,
}
}
}
impl ::std::default::Default for ImageSwapchainCreateInfoKHR {
fn default() -> ImageSwapchainCreateInfoKHR {
ImageSwapchainCreateInfoKHR {
sType : STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR,
pNext : 0 as _,
swapchain : Default::default(),
}
}
}
impl ::std::default::Default for BindImageMemorySwapchainInfoKHR {
fn default() -> BindImageMemorySwapchainInfoKHR {
BindImageMemorySwapchainInfoKHR {
sType : STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR,
pNext : 0 as _,
swapchain : Default::default(),
imageIndex : 0 as _,
}
}
}
impl ::std::default::Default for AcquireNextImageInfoKHR {
fn default() -> AcquireNextImageInfoKHR {
AcquireNextImageInfoKHR {
sType : STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR,
pNext : 0 as _,
swapchain : Default::default(),
timeout : 0 as _,
semaphore : Default::default(),
fence : Default::default(),
deviceMask : 0 as _,
}
}
}
impl ::std::default::Default for DeviceGroupPresentCapabilitiesKHR {
fn default() -> DeviceGroupPresentCapabilitiesKHR {
DeviceGroupPresentCapabilitiesKHR {
sType : STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR,
pNext : 0 as _,
presentMask : [Default::default();MAX_DEVICE_GROUP_SIZE],
modes : Default::default(),
}
}
}
impl ::std::default::Default for DeviceGroupPresentInfoKHR {
fn default() -> DeviceGroupPresentInfoKHR {
DeviceGroupPresentInfoKHR {
sType : STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR,
pNext : 0 as _,
swapchainCount : 0 as _,
pDeviceMasks : 0 as _,
mode : Default::default(),
}
}
}
impl ::std::default::Default for DeviceGroupSwapchainCreateInfoKHR {
fn default() -> DeviceGroupSwapchainCreateInfoKHR {
DeviceGroupSwapchainCreateInfoKHR {
sType : STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR,
pNext : 0 as _,
modes : Default::default(),
}
}
}
impl ::std::default::Default for DisplayPropertiesKHR {
fn default() -> DisplayPropertiesKHR {
DisplayPropertiesKHR {
display : Default::default(),
displayName : 0 as _,
physicalDimensions : Default::default(),
physicalResolution : Default::default(),
supportedTransforms : Default::default(),
planeReorderPossible : 0 as _,
persistentContent : 0 as _,
}
}
}
impl ::std::default::Default for DisplayModeParametersKHR {
fn default() -> DisplayModeParametersKHR {
DisplayModeParametersKHR {
visibleRegion : Default::default(),
refreshRate : 0 as _,
}
}
}
impl ::std::default::Default for DisplayModePropertiesKHR {
fn default() -> DisplayModePropertiesKHR {
DisplayModePropertiesKHR {
displayMode : Default::default(),
parameters : Default::default(),
}
}
}
impl ::std::default::Default for DisplayModeCreateInfoKHR {
fn default() -> DisplayModeCreateInfoKHR {
DisplayModeCreateInfoKHR {
sType : STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR,
pNext : 0 as _,
flags : Default::default(),
parameters : Default::default(),
}
}
}
impl ::std::default::Default for DisplayPlaneCapabilitiesKHR {
fn default() -> DisplayPlaneCapabilitiesKHR {
DisplayPlaneCapabilitiesKHR {
supportedAlpha : Default::default(),
minSrcPosition : Default::default(),
maxSrcPosition : Default::default(),
minSrcExtent : Default::default(),
maxSrcExtent : Default::default(),
minDstPosition : Default::default(),
maxDstPosition : Default::default(),
minDstExtent : Default::default(),
maxDstExtent : Default::default(),
}
}
}
impl ::std::default::Default for DisplayPlanePropertiesKHR {
fn default() -> DisplayPlanePropertiesKHR {
DisplayPlanePropertiesKHR {
currentDisplay : Default::default(),
currentStackIndex : 0 as _,
}
}
}
impl ::std::default::Default for DisplaySurfaceCreateInfoKHR {
fn default() -> DisplaySurfaceCreateInfoKHR {
DisplaySurfaceCreateInfoKHR {
sType : STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR,
pNext : 0 as _,
flags : Default::default(),
displayMode : Default::default(),
planeIndex : 0 as _,
planeStackIndex : 0 as _,
transform : Default::default(),
globalAlpha : 0 as _,
alphaMode : Default::default(),
imageExtent : Default::default(),
}
}
}
impl ::std::default::Default for DisplayPresentInfoKHR {
fn default() -> DisplayPresentInfoKHR {
DisplayPresentInfoKHR {
sType : STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR,
pNext : 0 as _,
srcRect : Default::default(),
dstRect : Default::default(),
persistent : 0 as _,
}
}
}
impl ::std::default::Default for ImportMemoryFdInfoKHR {
fn default() -> ImportMemoryFdInfoKHR {
ImportMemoryFdInfoKHR {
sType : STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR,
pNext : 0 as _,
handleType : Default::default(),
fd : 0 as _,
}
}
}
impl ::std::default::Default for MemoryFdPropertiesKHR {
fn default() -> MemoryFdPropertiesKHR {
MemoryFdPropertiesKHR {
sType : STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR,
pNext : 0 as _,
memoryTypeBits : 0 as _,
}
}
}
impl ::std::default::Default for MemoryGetFdInfoKHR {
fn default() -> MemoryGetFdInfoKHR {
MemoryGetFdInfoKHR {
sType : STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR,
pNext : 0 as _,
memory : Default::default(),
handleType : Default::default(),
}
}
}
impl ::std::default::Default for ImportSemaphoreFdInfoKHR {
fn default() -> ImportSemaphoreFdInfoKHR {
ImportSemaphoreFdInfoKHR {
sType : STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR,
pNext : 0 as _,
semaphore : Default::default(),
flags : Default::default(),
handleType : Default::default(),
fd : 0 as _,
}
}
}
impl ::std::default::Default for SemaphoreGetFdInfoKHR {
fn default() -> SemaphoreGetFdInfoKHR {
SemaphoreGetFdInfoKHR {
sType : STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR,
pNext : 0 as _,
semaphore : Default::default(),
handleType : Default::default(),
}
}
}
impl ::std::default::Default for PhysicalDevicePushDescriptorPropertiesKHR {
fn default() -> PhysicalDevicePushDescriptorPropertiesKHR {
PhysicalDevicePushDescriptorPropertiesKHR {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR,
pNext : 0 as _,
maxPushDescriptors : 0 as _,
}
}
}
impl ::std::default::Default for RectLayerKHR {
fn default() -> RectLayerKHR {
RectLayerKHR {
offset : Default::default(),
extent : Default::default(),
layer : 0 as _,
}
}
}
impl ::std::default::Default for PresentRegionKHR {
fn default() -> PresentRegionKHR {
PresentRegionKHR {
rectangleCount : 0 as _,
pRectangles : 0 as _,
}
}
}
impl ::std::default::Default for PresentRegionsKHR {
fn default() -> PresentRegionsKHR {
PresentRegionsKHR {
sType : STRUCTURE_TYPE_PRESENT_REGIONS_KHR,
pNext : 0 as _,
swapchainCount : 0 as _,
pRegions : 0 as _,
}
}
}
impl ::std::default::Default for SharedPresentSurfaceCapabilitiesKHR {
fn default() -> SharedPresentSurfaceCapabilitiesKHR {
SharedPresentSurfaceCapabilitiesKHR {
sType : STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR,
pNext : 0 as _,
sharedPresentSupportedUsageFlags : Default::default(),
}
}
}
impl ::std::default::Default for ImportFenceFdInfoKHR {
fn default() -> ImportFenceFdInfoKHR {
ImportFenceFdInfoKHR {
sType : STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR,
pNext : 0 as _,
fence : Default::default(),
flags : Default::default(),
handleType : Default::default(),
fd : 0 as _,
}
}
}
impl ::std::default::Default for FenceGetFdInfoKHR {
fn default() -> FenceGetFdInfoKHR {
FenceGetFdInfoKHR {
sType : STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR,
pNext : 0 as _,
fence : Default::default(),
handleType : Default::default(),
}
}
}
impl ::std::default::Default for PhysicalDevicePerformanceQueryFeaturesKHR {
fn default() -> PhysicalDevicePerformanceQueryFeaturesKHR {
PhysicalDevicePerformanceQueryFeaturesKHR {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR,
pNext : 0 as _,
performanceCounterQueryPools : 0 as _,
performanceCounterMultipleQueryPools : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDevicePerformanceQueryPropertiesKHR {
fn default() -> PhysicalDevicePerformanceQueryPropertiesKHR {
PhysicalDevicePerformanceQueryPropertiesKHR {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR,
pNext : 0 as _,
allowCommandBufferQueryCopies : 0 as _,
}
}
}
impl ::std::default::Default for PerformanceCounterKHR {
fn default() -> PerformanceCounterKHR {
PerformanceCounterKHR {
sType : STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR,
pNext : 0 as _,
unit : Default::default(),
scope : Default::default(),
storage : Default::default(),
uuid : [Default::default();UUID_SIZE],
}
}
}
impl ::std::default::Default for PerformanceCounterDescriptionKHR {
fn default() -> PerformanceCounterDescriptionKHR {
PerformanceCounterDescriptionKHR {
sType : STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR,
pNext : 0 as _,
flags : Default::default(),
name : [Default::default();MAX_DESCRIPTION_SIZE],
category : [Default::default();MAX_DESCRIPTION_SIZE],
description : [Default::default();MAX_DESCRIPTION_SIZE],
}
}
}
impl ::std::default::Default for QueryPoolPerformanceCreateInfoKHR {
fn default() -> QueryPoolPerformanceCreateInfoKHR {
QueryPoolPerformanceCreateInfoKHR {
sType : STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR,
pNext : 0 as _,
queueFamilyIndex : 0 as _,
counterIndexCount : 0 as _,
pCounterIndices : 0 as _,
}
}
}
impl ::std::default::Default for AcquireProfilingLockInfoKHR {
fn default() -> AcquireProfilingLockInfoKHR {
AcquireProfilingLockInfoKHR {
sType : STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR,
pNext : 0 as _,
flags : Default::default(),
timeout : 0 as _,
}
}
}
impl ::std::default::Default for PerformanceQuerySubmitInfoKHR {
fn default() -> PerformanceQuerySubmitInfoKHR {
PerformanceQuerySubmitInfoKHR {
sType : STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR,
pNext : 0 as _,
counterPassIndex : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceSurfaceInfo2KHR {
fn default() -> PhysicalDeviceSurfaceInfo2KHR {
PhysicalDeviceSurfaceInfo2KHR {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR,
pNext : 0 as _,
surface : Default::default(),
}
}
}
impl ::std::default::Default for SurfaceCapabilities2KHR {
fn default() -> SurfaceCapabilities2KHR {
SurfaceCapabilities2KHR {
sType : STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR,
pNext : 0 as _,
surfaceCapabilities : Default::default(),
}
}
}
impl ::std::default::Default for SurfaceFormat2KHR {
fn default() -> SurfaceFormat2KHR {
SurfaceFormat2KHR {
sType : STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR,
pNext : 0 as _,
surfaceFormat : Default::default(),
}
}
}
impl ::std::default::Default for DisplayProperties2KHR {
fn default() -> DisplayProperties2KHR {
DisplayProperties2KHR {
sType : STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR,
pNext : 0 as _,
displayProperties : Default::default(),
}
}
}
impl ::std::default::Default for DisplayPlaneProperties2KHR {
fn default() -> DisplayPlaneProperties2KHR {
DisplayPlaneProperties2KHR {
sType : STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR,
pNext : 0 as _,
displayPlaneProperties : Default::default(),
}
}
}
impl ::std::default::Default for DisplayModeProperties2KHR {
fn default() -> DisplayModeProperties2KHR {
DisplayModeProperties2KHR {
sType : STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR,
pNext : 0 as _,
displayModeProperties : Default::default(),
}
}
}
impl ::std::default::Default for DisplayPlaneInfo2KHR {
fn default() -> DisplayPlaneInfo2KHR {
DisplayPlaneInfo2KHR {
sType : STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR,
pNext : 0 as _,
mode : Default::default(),
planeIndex : 0 as _,
}
}
}
impl ::std::default::Default for DisplayPlaneCapabilities2KHR {
fn default() -> DisplayPlaneCapabilities2KHR {
DisplayPlaneCapabilities2KHR {
sType : STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR,
pNext : 0 as _,
capabilities : Default::default(),
}
}
}
impl ::std::default::Default for PhysicalDeviceShaderClockFeaturesKHR {
fn default() -> PhysicalDeviceShaderClockFeaturesKHR {
PhysicalDeviceShaderClockFeaturesKHR {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR,
pNext : 0 as _,
shaderSubgroupClock : 0 as _,
shaderDeviceClock : 0 as _,
}
}
}
impl ::std::default::Default for SurfaceProtectedCapabilitiesKHR {
fn default() -> SurfaceProtectedCapabilitiesKHR {
SurfaceProtectedCapabilitiesKHR {
sType : STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR,
pNext : 0 as _,
supportsProtected : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
fn default() -> PhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
PhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR,
pNext : 0 as _,
pipelineExecutableInfo : 0 as _,
}
}
}
impl ::std::default::Default for PipelineInfoKHR {
fn default() -> PipelineInfoKHR {
PipelineInfoKHR {
sType : STRUCTURE_TYPE_PIPELINE_INFO_KHR,
pNext : 0 as _,
pipeline : Default::default(),
}
}
}
impl ::std::default::Default for PipelineExecutablePropertiesKHR {
fn default() -> PipelineExecutablePropertiesKHR {
PipelineExecutablePropertiesKHR {
sType : STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR,
pNext : 0 as _,
stages : Default::default(),
name : [Default::default();MAX_DESCRIPTION_SIZE],
description : [Default::default();MAX_DESCRIPTION_SIZE],
subgroupSize : 0 as _,
}
}
}
impl ::std::default::Default for PipelineExecutableInfoKHR {
fn default() -> PipelineExecutableInfoKHR {
PipelineExecutableInfoKHR {
sType : STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR,
pNext : 0 as _,
pipeline : Default::default(),
executableIndex : 0 as _,
}
}
}
impl ::std::default::Default for PipelineExecutableInternalRepresentationKHR {
fn default() -> PipelineExecutableInternalRepresentationKHR {
PipelineExecutableInternalRepresentationKHR {
sType : STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR,
pNext : 0 as _,
name : [Default::default();MAX_DESCRIPTION_SIZE],
description : [Default::default();MAX_DESCRIPTION_SIZE],
isText : 0 as _,
dataSize : Default::default(),
pData : 0 as _,
}
}
}
impl ::std::default::Default for DebugReportCallbackCreateInfoEXT {
fn default() -> DebugReportCallbackCreateInfoEXT {
DebugReportCallbackCreateInfoEXT {
sType : STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
pNext : 0 as _,
flags : Default::default(),
pfnCallback : 0 as _,
pUserData : 0 as _,
}
}
}
impl ::std::default::Default for PipelineRasterizationStateRasterizationOrderAMD {
fn default() -> PipelineRasterizationStateRasterizationOrderAMD {
PipelineRasterizationStateRasterizationOrderAMD {
sType : STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD,
pNext : 0 as _,
rasterizationOrder : Default::default(),
}
}
}
impl ::std::default::Default for DebugMarkerObjectNameInfoEXT {
fn default() -> DebugMarkerObjectNameInfoEXT {
DebugMarkerObjectNameInfoEXT {
sType : STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT,
pNext : 0 as _,
objectType : Default::default(),
object : 0 as _,
pObjectName : 0 as _,
}
}
}
impl ::std::default::Default for DebugMarkerObjectTagInfoEXT {
fn default() -> DebugMarkerObjectTagInfoEXT {
DebugMarkerObjectTagInfoEXT {
sType : STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT,
pNext : 0 as _,
objectType : Default::default(),
object : 0 as _,
tagName : 0 as _,
tagSize : Default::default(),
pTag : 0 as _,
}
}
}
impl ::std::default::Default for DebugMarkerMarkerInfoEXT {
fn default() -> DebugMarkerMarkerInfoEXT {
DebugMarkerMarkerInfoEXT {
sType : STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT,
pNext : 0 as _,
pMarkerName : 0 as _,
color : [Default::default();4],
}
}
}
impl ::std::default::Default for DedicatedAllocationImageCreateInfoNV {
fn default() -> DedicatedAllocationImageCreateInfoNV {
DedicatedAllocationImageCreateInfoNV {
sType : STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV,
pNext : 0 as _,
dedicatedAllocation : 0 as _,
}
}
}
impl ::std::default::Default for DedicatedAllocationBufferCreateInfoNV {
fn default() -> DedicatedAllocationBufferCreateInfoNV {
DedicatedAllocationBufferCreateInfoNV {
sType : STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV,
pNext : 0 as _,
dedicatedAllocation : 0 as _,
}
}
}
impl ::std::default::Default for DedicatedAllocationMemoryAllocateInfoNV {
fn default() -> DedicatedAllocationMemoryAllocateInfoNV {
DedicatedAllocationMemoryAllocateInfoNV {
sType : STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV,
pNext : 0 as _,
image : Default::default(),
buffer : Default::default(),
}
}
}
impl ::std::default::Default for PhysicalDeviceTransformFeedbackFeaturesEXT {
fn default() -> PhysicalDeviceTransformFeedbackFeaturesEXT {
PhysicalDeviceTransformFeedbackFeaturesEXT {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT,
pNext : 0 as _,
transformFeedback : 0 as _,
geometryStreams : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceTransformFeedbackPropertiesEXT {
fn default() -> PhysicalDeviceTransformFeedbackPropertiesEXT {
PhysicalDeviceTransformFeedbackPropertiesEXT {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT,
pNext : 0 as _,
maxTransformFeedbackStreams : 0 as _,
maxTransformFeedbackBuffers : 0 as _,
maxTransformFeedbackBufferSize : Default::default(),
maxTransformFeedbackStreamDataSize : 0 as _,
maxTransformFeedbackBufferDataSize : 0 as _,
maxTransformFeedbackBufferDataStride : 0 as _,
transformFeedbackQueries : 0 as _,
transformFeedbackStreamsLinesTriangles : 0 as _,
transformFeedbackRasterizationStreamSelect : 0 as _,
transformFeedbackDraw : 0 as _,
}
}
}
impl ::std::default::Default for PipelineRasterizationStateStreamCreateInfoEXT {
fn default() -> PipelineRasterizationStateStreamCreateInfoEXT {
PipelineRasterizationStateStreamCreateInfoEXT {
sType : STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT,
pNext : 0 as _,
flags : Default::default(),
rasterizationStream : 0 as _,
}
}
}
impl ::std::default::Default for ImageViewHandleInfoNVX {
fn default() -> ImageViewHandleInfoNVX {
ImageViewHandleInfoNVX {
sType : STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX,
pNext : 0 as _,
imageView : Default::default(),
descriptorType : Default::default(),
sampler : Default::default(),
}
}
}
impl ::std::default::Default for ImageViewAddressPropertiesNVX {
fn default() -> ImageViewAddressPropertiesNVX {
ImageViewAddressPropertiesNVX {
sType : STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX,
pNext : 0 as _,
deviceAddress : Default::default(),
size : Default::default(),
}
}
}
impl ::std::default::Default for TextureLODGatherFormatPropertiesAMD {
fn default() -> TextureLODGatherFormatPropertiesAMD {
TextureLODGatherFormatPropertiesAMD {
sType : STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD,
pNext : 0 as _,
supportsTextureGatherLODBiasAMD : 0 as _,
}
}
}
impl ::std::default::Default for ShaderResourceUsageAMD {
fn default() -> ShaderResourceUsageAMD {
ShaderResourceUsageAMD {
numUsedVgprs : 0 as _,
numUsedSgprs : 0 as _,
ldsSizePerLocalWorkGroup : 0 as _,
ldsUsageSizeInBytes : Default::default(),
scratchMemUsageInBytes : Default::default(),
}
}
}
impl ::std::default::Default for ShaderStatisticsInfoAMD {
fn default() -> ShaderStatisticsInfoAMD {
ShaderStatisticsInfoAMD {
shaderStageMask : Default::default(),
resourceUsage : Default::default(),
numPhysicalVgprs : 0 as _,
numPhysicalSgprs : 0 as _,
numAvailableVgprs : 0 as _,
numAvailableSgprs : 0 as _,
computeWorkGroupSize : [Default::default();3],
}
}
}
impl ::std::default::Default for PhysicalDeviceCornerSampledImageFeaturesNV {
fn default() -> PhysicalDeviceCornerSampledImageFeaturesNV {
PhysicalDeviceCornerSampledImageFeaturesNV {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV,
pNext : 0 as _,
cornerSampledImage : 0 as _,
}
}
}
impl ::std::default::Default for ExternalImageFormatPropertiesNV {
fn default() -> ExternalImageFormatPropertiesNV {
ExternalImageFormatPropertiesNV {
imageFormatProperties : Default::default(),
externalMemoryFeatures : Default::default(),
exportFromImportedHandleTypes : Default::default(),
compatibleHandleTypes : Default::default(),
}
}
}
impl ::std::default::Default for ExternalMemoryImageCreateInfoNV {
fn default() -> ExternalMemoryImageCreateInfoNV {
ExternalMemoryImageCreateInfoNV {
sType : STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV,
pNext : 0 as _,
handleTypes : Default::default(),
}
}
}
impl ::std::default::Default for ExportMemoryAllocateInfoNV {
fn default() -> ExportMemoryAllocateInfoNV {
ExportMemoryAllocateInfoNV {
sType : STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV,
pNext : 0 as _,
handleTypes : Default::default(),
}
}
}
impl ::std::default::Default for ValidationFlagsEXT {
fn default() -> ValidationFlagsEXT {
ValidationFlagsEXT {
sType : STRUCTURE_TYPE_VALIDATION_FLAGS_EXT,
pNext : 0 as _,
disabledValidationCheckCount : 0 as _,
pDisabledValidationChecks : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT {
fn default() -> PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT {
PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT,
pNext : 0 as _,
textureCompressionASTC_HDR : 0 as _,
}
}
}
impl ::std::default::Default for ImageViewASTCDecodeModeEXT {
fn default() -> ImageViewASTCDecodeModeEXT {
ImageViewASTCDecodeModeEXT {
sType : STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT,
pNext : 0 as _,
decodeMode : Default::default(),
}
}
}
impl ::std::default::Default for PhysicalDeviceASTCDecodeFeaturesEXT {
fn default() -> PhysicalDeviceASTCDecodeFeaturesEXT {
PhysicalDeviceASTCDecodeFeaturesEXT {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT,
pNext : 0 as _,
decodeModeSharedExponent : 0 as _,
}
}
}
impl ::std::default::Default for ConditionalRenderingBeginInfoEXT {
fn default() -> ConditionalRenderingBeginInfoEXT {
ConditionalRenderingBeginInfoEXT {
sType : STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT,
pNext : 0 as _,
buffer : Default::default(),
offset : Default::default(),
flags : Default::default(),
}
}
}
impl ::std::default::Default for PhysicalDeviceConditionalRenderingFeaturesEXT {
fn default() -> PhysicalDeviceConditionalRenderingFeaturesEXT {
PhysicalDeviceConditionalRenderingFeaturesEXT {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT,
pNext : 0 as _,
conditionalRendering : 0 as _,
inheritedConditionalRendering : 0 as _,
}
}
}
impl ::std::default::Default for CommandBufferInheritanceConditionalRenderingInfoEXT {
fn default() -> CommandBufferInheritanceConditionalRenderingInfoEXT {
CommandBufferInheritanceConditionalRenderingInfoEXT {
sType : STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT,
pNext : 0 as _,
conditionalRenderingEnable : 0 as _,
}
}
}
impl ::std::default::Default for ViewportWScalingNV {
fn default() -> ViewportWScalingNV {
ViewportWScalingNV {
xcoeff : 0 as _,
ycoeff : 0 as _,
}
}
}
impl ::std::default::Default for PipelineViewportWScalingStateCreateInfoNV {
fn default() -> PipelineViewportWScalingStateCreateInfoNV {
PipelineViewportWScalingStateCreateInfoNV {
sType : STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV,
pNext : 0 as _,
viewportWScalingEnable : 0 as _,
viewportCount : 0 as _,
pViewportWScalings : 0 as _,
}
}
}
impl ::std::default::Default for SurfaceCapabilities2EXT {
fn default() -> SurfaceCapabilities2EXT {
SurfaceCapabilities2EXT {
sType : STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT,
pNext : 0 as _,
minImageCount : 0 as _,
maxImageCount : 0 as _,
currentExtent : Default::default(),
minImageExtent : Default::default(),
maxImageExtent : Default::default(),
maxImageArrayLayers : 0 as _,
supportedTransforms : Default::default(),
currentTransform : Default::default(),
supportedCompositeAlpha : Default::default(),
supportedUsageFlags : Default::default(),
supportedSurfaceCounters : Default::default(),
}
}
}
impl ::std::default::Default for DisplayPowerInfoEXT {
fn default() -> DisplayPowerInfoEXT {
DisplayPowerInfoEXT {
sType : STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT,
pNext : 0 as _,
powerState : Default::default(),
}
}
}
impl ::std::default::Default for DeviceEventInfoEXT {
fn default() -> DeviceEventInfoEXT {
DeviceEventInfoEXT {
sType : STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT,
pNext : 0 as _,
deviceEvent : Default::default(),
}
}
}
impl ::std::default::Default for DisplayEventInfoEXT {
fn default() -> DisplayEventInfoEXT {
DisplayEventInfoEXT {
sType : STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT,
pNext : 0 as _,
displayEvent : Default::default(),
}
}
}
impl ::std::default::Default for SwapchainCounterCreateInfoEXT {
fn default() -> SwapchainCounterCreateInfoEXT {
SwapchainCounterCreateInfoEXT {
sType : STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT,
pNext : 0 as _,
surfaceCounters : Default::default(),
}
}
}
impl ::std::default::Default for RefreshCycleDurationGOOGLE {
fn default() -> RefreshCycleDurationGOOGLE {
RefreshCycleDurationGOOGLE {
refreshDuration : 0 as _,
}
}
}
impl ::std::default::Default for PastPresentationTimingGOOGLE {
fn default() -> PastPresentationTimingGOOGLE {
PastPresentationTimingGOOGLE {
presentID : 0 as _,
desiredPresentTime : 0 as _,
actualPresentTime : 0 as _,
earliestPresentTime : 0 as _,
presentMargin : 0 as _,
}
}
}
impl ::std::default::Default for PresentTimeGOOGLE {
fn default() -> PresentTimeGOOGLE {
PresentTimeGOOGLE {
presentID : 0 as _,
desiredPresentTime : 0 as _,
}
}
}
impl ::std::default::Default for PresentTimesInfoGOOGLE {
fn default() -> PresentTimesInfoGOOGLE {
PresentTimesInfoGOOGLE {
sType : STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE,
pNext : 0 as _,
swapchainCount : 0 as _,
pTimes : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
fn default() -> PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX,
pNext : 0 as _,
perViewPositionAllComponents : 0 as _,
}
}
}
impl ::std::default::Default for ViewportSwizzleNV {
fn default() -> ViewportSwizzleNV {
ViewportSwizzleNV {
x : Default::default(),
y : Default::default(),
z : Default::default(),
w : Default::default(),
}
}
}
impl ::std::default::Default for PipelineViewportSwizzleStateCreateInfoNV {
fn default() -> PipelineViewportSwizzleStateCreateInfoNV {
PipelineViewportSwizzleStateCreateInfoNV {
sType : STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV,
pNext : 0 as _,
flags : Default::default(),
viewportCount : 0 as _,
pViewportSwizzles : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceDiscardRectanglePropertiesEXT {
fn default() -> PhysicalDeviceDiscardRectanglePropertiesEXT {
PhysicalDeviceDiscardRectanglePropertiesEXT {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT,
pNext : 0 as _,
maxDiscardRectangles : 0 as _,
}
}
}
impl ::std::default::Default for PipelineDiscardRectangleStateCreateInfoEXT {
fn default() -> PipelineDiscardRectangleStateCreateInfoEXT {
PipelineDiscardRectangleStateCreateInfoEXT {
sType : STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT,
pNext : 0 as _,
flags : Default::default(),
discardRectangleMode : Default::default(),
discardRectangleCount : 0 as _,
pDiscardRectangles : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceConservativeRasterizationPropertiesEXT {
fn default() -> PhysicalDeviceConservativeRasterizationPropertiesEXT {
PhysicalDeviceConservativeRasterizationPropertiesEXT {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT,
pNext : 0 as _,
primitiveOverestimationSize : 0 as _,
maxExtraPrimitiveOverestimationSize : 0 as _,
extraPrimitiveOverestimationSizeGranularity : 0 as _,
primitiveUnderestimation : 0 as _,
conservativePointAndLineRasterization : 0 as _,
degenerateTrianglesRasterized : 0 as _,
degenerateLinesRasterized : 0 as _,
fullyCoveredFragmentShaderInputVariable : 0 as _,
conservativeRasterizationPostDepthCoverage : 0 as _,
}
}
}
impl ::std::default::Default for PipelineRasterizationConservativeStateCreateInfoEXT {
fn default() -> PipelineRasterizationConservativeStateCreateInfoEXT {
PipelineRasterizationConservativeStateCreateInfoEXT {
sType : STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT,
pNext : 0 as _,
flags : Default::default(),
conservativeRasterizationMode : Default::default(),
extraPrimitiveOverestimationSize : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceDepthClipEnableFeaturesEXT {
fn default() -> PhysicalDeviceDepthClipEnableFeaturesEXT {
PhysicalDeviceDepthClipEnableFeaturesEXT {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT,
pNext : 0 as _,
depthClipEnable : 0 as _,
}
}
}
impl ::std::default::Default for PipelineRasterizationDepthClipStateCreateInfoEXT {
fn default() -> PipelineRasterizationDepthClipStateCreateInfoEXT {
PipelineRasterizationDepthClipStateCreateInfoEXT {
sType : STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT,
pNext : 0 as _,
flags : Default::default(),
depthClipEnable : 0 as _,
}
}
}
impl ::std::default::Default for XYColorEXT {
fn default() -> XYColorEXT {
XYColorEXT {
x : 0 as _,
y : 0 as _,
}
}
}
impl ::std::default::Default for HdrMetadataEXT {
fn default() -> HdrMetadataEXT {
HdrMetadataEXT {
sType : STRUCTURE_TYPE_HDR_METADATA_EXT,
pNext : 0 as _,
displayPrimaryRed : Default::default(),
displayPrimaryGreen : Default::default(),
displayPrimaryBlue : Default::default(),
whitePoint : Default::default(),
maxLuminance : 0 as _,
minLuminance : 0 as _,
maxContentLightLevel : 0 as _,
maxFrameAverageLightLevel : 0 as _,
}
}
}
impl ::std::default::Default for DebugUtilsLabelEXT {
fn default() -> DebugUtilsLabelEXT {
DebugUtilsLabelEXT {
sType : STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT,
pNext : 0 as _,
pLabelName : 0 as _,
color : [Default::default();4],
}
}
}
impl ::std::default::Default for DebugUtilsObjectNameInfoEXT {
fn default() -> DebugUtilsObjectNameInfoEXT {
DebugUtilsObjectNameInfoEXT {
sType : STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT,
pNext : 0 as _,
objectType : Default::default(),
objectHandle : 0 as _,
pObjectName : 0 as _,
}
}
}
impl ::std::default::Default for DebugUtilsMessengerCallbackDataEXT {
fn default() -> DebugUtilsMessengerCallbackDataEXT {
DebugUtilsMessengerCallbackDataEXT {
sType : STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT,
pNext : 0 as _,
flags : Default::default(),
pMessageIdName : 0 as _,
messageIdNumber : 0 as _,
pMessage : 0 as _,
queueLabelCount : 0 as _,
pQueueLabels : 0 as _,
cmdBufLabelCount : 0 as _,
pCmdBufLabels : 0 as _,
objectCount : 0 as _,
pObjects : 0 as _,
}
}
}
impl ::std::default::Default for DebugUtilsObjectTagInfoEXT {
fn default() -> DebugUtilsObjectTagInfoEXT {
DebugUtilsObjectTagInfoEXT {
sType : STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT,
pNext : 0 as _,
objectType : Default::default(),
objectHandle : 0 as _,
tagName : 0 as _,
tagSize : Default::default(),
pTag : 0 as _,
}
}
}
impl ::std::default::Default for DebugUtilsMessengerCreateInfoEXT {
fn default() -> DebugUtilsMessengerCreateInfoEXT {
DebugUtilsMessengerCreateInfoEXT {
sType : STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT,
pNext : 0 as _,
flags : Default::default(),
messageSeverity : Default::default(),
messageType : Default::default(),
pfnUserCallback : 0 as _,
pUserData : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceInlineUniformBlockFeaturesEXT {
fn default() -> PhysicalDeviceInlineUniformBlockFeaturesEXT {
PhysicalDeviceInlineUniformBlockFeaturesEXT {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT,
pNext : 0 as _,
inlineUniformBlock : 0 as _,
descriptorBindingInlineUniformBlockUpdateAfterBind : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceInlineUniformBlockPropertiesEXT {
fn default() -> PhysicalDeviceInlineUniformBlockPropertiesEXT {
PhysicalDeviceInlineUniformBlockPropertiesEXT {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT,
pNext : 0 as _,
maxInlineUniformBlockSize : 0 as _,
maxPerStageDescriptorInlineUniformBlocks : 0 as _,
maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks : 0 as _,
maxDescriptorSetInlineUniformBlocks : 0 as _,
maxDescriptorSetUpdateAfterBindInlineUniformBlocks : 0 as _,
}
}
}
impl ::std::default::Default for WriteDescriptorSetInlineUniformBlockEXT {
fn default() -> WriteDescriptorSetInlineUniformBlockEXT {
WriteDescriptorSetInlineUniformBlockEXT {
sType : STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT,
pNext : 0 as _,
dataSize : 0 as _,
pData : 0 as _,
}
}
}
impl ::std::default::Default for DescriptorPoolInlineUniformBlockCreateInfoEXT {
fn default() -> DescriptorPoolInlineUniformBlockCreateInfoEXT {
DescriptorPoolInlineUniformBlockCreateInfoEXT {
sType : STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT,
pNext : 0 as _,
maxInlineUniformBlockBindings : 0 as _,
}
}
}
impl ::std::default::Default for SampleLocationEXT {
fn default() -> SampleLocationEXT {
SampleLocationEXT {
x : 0 as _,
y : 0 as _,
}
}
}
impl ::std::default::Default for SampleLocationsInfoEXT {
fn default() -> SampleLocationsInfoEXT {
SampleLocationsInfoEXT {
sType : STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT,
pNext : 0 as _,
sampleLocationsPerPixel : Default::default(),
sampleLocationGridSize : Default::default(),
sampleLocationsCount : 0 as _,
pSampleLocations : 0 as _,
}
}
}
impl ::std::default::Default for AttachmentSampleLocationsEXT {
fn default() -> AttachmentSampleLocationsEXT {
AttachmentSampleLocationsEXT {
attachmentIndex : 0 as _,
sampleLocationsInfo : Default::default(),
}
}
}
impl ::std::default::Default for SubpassSampleLocationsEXT {
fn default() -> SubpassSampleLocationsEXT {
SubpassSampleLocationsEXT {
subpassIndex : 0 as _,
sampleLocationsInfo : Default::default(),
}
}
}
impl ::std::default::Default for RenderPassSampleLocationsBeginInfoEXT {
fn default() -> RenderPassSampleLocationsBeginInfoEXT {
RenderPassSampleLocationsBeginInfoEXT {
sType : STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT,
pNext : 0 as _,
attachmentInitialSampleLocationsCount : 0 as _,
pAttachmentInitialSampleLocations : 0 as _,
postSubpassSampleLocationsCount : 0 as _,
pPostSubpassSampleLocations : 0 as _,
}
}
}
impl ::std::default::Default for PipelineSampleLocationsStateCreateInfoEXT {
fn default() -> PipelineSampleLocationsStateCreateInfoEXT {
PipelineSampleLocationsStateCreateInfoEXT {
sType : STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT,
pNext : 0 as _,
sampleLocationsEnable : 0 as _,
sampleLocationsInfo : Default::default(),
}
}
}
impl ::std::default::Default for PhysicalDeviceSampleLocationsPropertiesEXT {
fn default() -> PhysicalDeviceSampleLocationsPropertiesEXT {
PhysicalDeviceSampleLocationsPropertiesEXT {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT,
pNext : 0 as _,
sampleLocationSampleCounts : Default::default(),
maxSampleLocationGridSize : Default::default(),
sampleLocationCoordinateRange : [Default::default();2],
sampleLocationSubPixelBits : 0 as _,
variableSampleLocations : 0 as _,
}
}
}
impl ::std::default::Default for MultisamplePropertiesEXT {
fn default() -> MultisamplePropertiesEXT {
MultisamplePropertiesEXT {
sType : STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT,
pNext : 0 as _,
maxSampleLocationGridSize : Default::default(),
}
}
}
impl ::std::default::Default for PhysicalDeviceBlendOperationAdvancedFeaturesEXT {
fn default() -> PhysicalDeviceBlendOperationAdvancedFeaturesEXT {
PhysicalDeviceBlendOperationAdvancedFeaturesEXT {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT,
pNext : 0 as _,
advancedBlendCoherentOperations : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceBlendOperationAdvancedPropertiesEXT {
fn default() -> PhysicalDeviceBlendOperationAdvancedPropertiesEXT {
PhysicalDeviceBlendOperationAdvancedPropertiesEXT {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT,
pNext : 0 as _,
advancedBlendMaxColorAttachments : 0 as _,
advancedBlendIndependentBlend : 0 as _,
advancedBlendNonPremultipliedSrcColor : 0 as _,
advancedBlendNonPremultipliedDstColor : 0 as _,
advancedBlendCorrelatedOverlap : 0 as _,
advancedBlendAllOperations : 0 as _,
}
}
}
impl ::std::default::Default for PipelineColorBlendAdvancedStateCreateInfoEXT {
fn default() -> PipelineColorBlendAdvancedStateCreateInfoEXT {
PipelineColorBlendAdvancedStateCreateInfoEXT {
sType : STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT,
pNext : 0 as _,
srcPremultiplied : 0 as _,
dstPremultiplied : 0 as _,
blendOverlap : Default::default(),
}
}
}
impl ::std::default::Default for PipelineCoverageToColorStateCreateInfoNV {
fn default() -> PipelineCoverageToColorStateCreateInfoNV {
PipelineCoverageToColorStateCreateInfoNV {
sType : STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV,
pNext : 0 as _,
flags : Default::default(),
coverageToColorEnable : 0 as _,
coverageToColorLocation : 0 as _,
}
}
}
impl ::std::default::Default for PipelineCoverageModulationStateCreateInfoNV {
fn default() -> PipelineCoverageModulationStateCreateInfoNV {
PipelineCoverageModulationStateCreateInfoNV {
sType : STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV,
pNext : 0 as _,
flags : Default::default(),
coverageModulationMode : Default::default(),
coverageModulationTableEnable : 0 as _,
coverageModulationTableCount : 0 as _,
pCoverageModulationTable : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceShaderSMBuiltinsPropertiesNV {
fn default() -> PhysicalDeviceShaderSMBuiltinsPropertiesNV {
PhysicalDeviceShaderSMBuiltinsPropertiesNV {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV,
pNext : 0 as _,
shaderSMCount : 0 as _,
shaderWarpsPerSM : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceShaderSMBuiltinsFeaturesNV {
fn default() -> PhysicalDeviceShaderSMBuiltinsFeaturesNV {
PhysicalDeviceShaderSMBuiltinsFeaturesNV {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV,
pNext : 0 as _,
shaderSMBuiltins : 0 as _,
}
}
}
impl ::std::default::Default for DrmFormatModifierPropertiesEXT {
fn default() -> DrmFormatModifierPropertiesEXT {
DrmFormatModifierPropertiesEXT {
drmFormatModifier : 0 as _,
drmFormatModifierPlaneCount : 0 as _,
drmFormatModifierTilingFeatures : Default::default(),
}
}
}
impl ::std::default::Default for DrmFormatModifierPropertiesListEXT {
fn default() -> DrmFormatModifierPropertiesListEXT {
DrmFormatModifierPropertiesListEXT {
sType : STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT,
pNext : 0 as _,
drmFormatModifierCount : 0 as _,
pDrmFormatModifierProperties : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceImageDrmFormatModifierInfoEXT {
fn default() -> PhysicalDeviceImageDrmFormatModifierInfoEXT {
PhysicalDeviceImageDrmFormatModifierInfoEXT {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT,
pNext : 0 as _,
drmFormatModifier : 0 as _,
sharingMode : Default::default(),
queueFamilyIndexCount : 0 as _,
pQueueFamilyIndices : 0 as _,
}
}
}
impl ::std::default::Default for ImageDrmFormatModifierListCreateInfoEXT {
fn default() -> ImageDrmFormatModifierListCreateInfoEXT {
ImageDrmFormatModifierListCreateInfoEXT {
sType : STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT,
pNext : 0 as _,
drmFormatModifierCount : 0 as _,
pDrmFormatModifiers : 0 as _,
}
}
}
impl ::std::default::Default for ImageDrmFormatModifierExplicitCreateInfoEXT {
fn default() -> ImageDrmFormatModifierExplicitCreateInfoEXT {
ImageDrmFormatModifierExplicitCreateInfoEXT {
sType : STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT,
pNext : 0 as _,
drmFormatModifier : 0 as _,
drmFormatModifierPlaneCount : 0 as _,
pPlaneLayouts : 0 as _,
}
}
}
impl ::std::default::Default for ImageDrmFormatModifierPropertiesEXT {
fn default() -> ImageDrmFormatModifierPropertiesEXT {
ImageDrmFormatModifierPropertiesEXT {
sType : STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT,
pNext : 0 as _,
drmFormatModifier : 0 as _,
}
}
}
impl ::std::default::Default for ValidationCacheCreateInfoEXT {
fn default() -> ValidationCacheCreateInfoEXT {
ValidationCacheCreateInfoEXT {
sType : STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT,
pNext : 0 as _,
flags : Default::default(),
initialDataSize : Default::default(),
pInitialData : 0 as _,
}
}
}
impl ::std::default::Default for ShaderModuleValidationCacheCreateInfoEXT {
fn default() -> ShaderModuleValidationCacheCreateInfoEXT {
ShaderModuleValidationCacheCreateInfoEXT {
sType : STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT,
pNext : 0 as _,
validationCache : Default::default(),
}
}
}
impl ::std::default::Default for ShadingRatePaletteNV {
fn default() -> ShadingRatePaletteNV {
ShadingRatePaletteNV {
shadingRatePaletteEntryCount : 0 as _,
pShadingRatePaletteEntries : 0 as _,
}
}
}
impl ::std::default::Default for PipelineViewportShadingRateImageStateCreateInfoNV {
fn default() -> PipelineViewportShadingRateImageStateCreateInfoNV {
PipelineViewportShadingRateImageStateCreateInfoNV {
sType : STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV,
pNext : 0 as _,
shadingRateImageEnable : 0 as _,
viewportCount : 0 as _,
pShadingRatePalettes : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceShadingRateImageFeaturesNV {
fn default() -> PhysicalDeviceShadingRateImageFeaturesNV {
PhysicalDeviceShadingRateImageFeaturesNV {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV,
pNext : 0 as _,
shadingRateImage : 0 as _,
shadingRateCoarseSampleOrder : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceShadingRateImagePropertiesNV {
fn default() -> PhysicalDeviceShadingRateImagePropertiesNV {
PhysicalDeviceShadingRateImagePropertiesNV {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV,
pNext : 0 as _,
shadingRateTexelSize : Default::default(),
shadingRatePaletteSize : 0 as _,
shadingRateMaxCoarseSamples : 0 as _,
}
}
}
impl ::std::default::Default for CoarseSampleLocationNV {
fn default() -> CoarseSampleLocationNV {
CoarseSampleLocationNV {
pixelX : 0 as _,
pixelY : 0 as _,
sample : 0 as _,
}
}
}
impl ::std::default::Default for CoarseSampleOrderCustomNV {
fn default() -> CoarseSampleOrderCustomNV {
CoarseSampleOrderCustomNV {
shadingRate : Default::default(),
sampleCount : 0 as _,
sampleLocationCount : 0 as _,
pSampleLocations : 0 as _,
}
}
}
impl ::std::default::Default for PipelineViewportCoarseSampleOrderStateCreateInfoNV {
fn default() -> PipelineViewportCoarseSampleOrderStateCreateInfoNV {
PipelineViewportCoarseSampleOrderStateCreateInfoNV {
sType : STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV,
pNext : 0 as _,
sampleOrderType : Default::default(),
customSampleOrderCount : 0 as _,
pCustomSampleOrders : 0 as _,
}
}
}
impl ::std::default::Default for RayTracingShaderGroupCreateInfoNV {
fn default() -> RayTracingShaderGroupCreateInfoNV {
RayTracingShaderGroupCreateInfoNV {
sType : STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV,
pNext : 0 as _,
r#type : Default::default(),
generalShader : 0 as _,
closestHitShader : 0 as _,
anyHitShader : 0 as _,
intersectionShader : 0 as _,
}
}
}
impl ::std::default::Default for RayTracingPipelineCreateInfoNV {
fn default() -> RayTracingPipelineCreateInfoNV {
RayTracingPipelineCreateInfoNV {
sType : STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV,
pNext : 0 as _,
flags : Default::default(),
stageCount : 0 as _,
pStages : 0 as _,
groupCount : 0 as _,
pGroups : 0 as _,
maxRecursionDepth : 0 as _,
layout : Default::default(),
basePipelineHandle : Default::default(),
basePipelineIndex : 0 as _,
}
}
}
impl ::std::default::Default for GeometryTrianglesNV {
fn default() -> GeometryTrianglesNV {
GeometryTrianglesNV {
sType : STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV,
pNext : 0 as _,
vertexData : Default::default(),
vertexOffset : Default::default(),
vertexCount : 0 as _,
vertexStride : Default::default(),
vertexFormat : Default::default(),
indexData : Default::default(),
indexOffset : Default::default(),
indexCount : 0 as _,
indexType : Default::default(),
transformData : Default::default(),
transformOffset : Default::default(),
}
}
}
impl ::std::default::Default for GeometryAABBNV {
fn default() -> GeometryAABBNV {
GeometryAABBNV {
sType : STRUCTURE_TYPE_GEOMETRY_AABB_NV,
pNext : 0 as _,
aabbData : Default::default(),
numAABBs : 0 as _,
stride : 0 as _,
offset : Default::default(),
}
}
}
impl ::std::default::Default for GeometryDataNV {
fn default() -> GeometryDataNV {
GeometryDataNV {
triangles : Default::default(),
aabbs : Default::default(),
}
}
}
impl ::std::default::Default for GeometryNV {
fn default() -> GeometryNV {
GeometryNV {
sType : STRUCTURE_TYPE_GEOMETRY_NV,
pNext : 0 as _,
geometryType : Default::default(),
geometry : Default::default(),
flags : Default::default(),
}
}
}
impl ::std::default::Default for AccelerationStructureInfoNV {
fn default() -> AccelerationStructureInfoNV {
AccelerationStructureInfoNV {
sType : STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV,
pNext : 0 as _,
r#type : Default::default(),
flags : Default::default(),
instanceCount : 0 as _,
geometryCount : 0 as _,
pGeometries : 0 as _,
}
}
}
impl ::std::default::Default for AccelerationStructureCreateInfoNV {
fn default() -> AccelerationStructureCreateInfoNV {
AccelerationStructureCreateInfoNV {
sType : STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV,
pNext : 0 as _,
compactedSize : Default::default(),
info : Default::default(),
}
}
}
impl ::std::default::Default for BindAccelerationStructureMemoryInfoKHR {
fn default() -> BindAccelerationStructureMemoryInfoKHR {
BindAccelerationStructureMemoryInfoKHR {
sType : STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_KHR,
pNext : 0 as _,
accelerationStructure : Default::default(),
memory : Default::default(),
memoryOffset : Default::default(),
deviceIndexCount : 0 as _,
pDeviceIndices : 0 as _,
}
}
}
impl ::std::default::Default for WriteDescriptorSetAccelerationStructureKHR {
fn default() -> WriteDescriptorSetAccelerationStructureKHR {
WriteDescriptorSetAccelerationStructureKHR {
sType : STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR,
pNext : 0 as _,
accelerationStructureCount : 0 as _,
pAccelerationStructures : 0 as _,
}
}
}
impl ::std::default::Default for AccelerationStructureMemoryRequirementsInfoNV {
fn default() -> AccelerationStructureMemoryRequirementsInfoNV {
AccelerationStructureMemoryRequirementsInfoNV {
sType : STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV,
pNext : 0 as _,
r#type : Default::default(),
accelerationStructure : Default::default(),
}
}
}
impl ::std::default::Default for PhysicalDeviceRayTracingPropertiesNV {
fn default() -> PhysicalDeviceRayTracingPropertiesNV {
PhysicalDeviceRayTracingPropertiesNV {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV,
pNext : 0 as _,
shaderGroupHandleSize : 0 as _,
maxRecursionDepth : 0 as _,
maxShaderGroupStride : 0 as _,
shaderGroupBaseAlignment : 0 as _,
maxGeometryCount : 0 as _,
maxInstanceCount : 0 as _,
maxTriangleCount : 0 as _,
maxDescriptorSetAccelerationStructures : 0 as _,
}
}
}
impl ::std::default::Default for TransformMatrixKHR {
fn default() -> TransformMatrixKHR {
TransformMatrixKHR {
matrix : [Default::default();12],
}
}
}
impl ::std::default::Default for AabbPositionsKHR {
fn default() -> AabbPositionsKHR {
AabbPositionsKHR {
minX : 0 as _,
minY : 0 as _,
minZ : 0 as _,
maxX : 0 as _,
maxY : 0 as _,
maxZ : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceRepresentativeFragmentTestFeaturesNV {
fn default() -> PhysicalDeviceRepresentativeFragmentTestFeaturesNV {
PhysicalDeviceRepresentativeFragmentTestFeaturesNV {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV,
pNext : 0 as _,
representativeFragmentTest : 0 as _,
}
}
}
impl ::std::default::Default for PipelineRepresentativeFragmentTestStateCreateInfoNV {
fn default() -> PipelineRepresentativeFragmentTestStateCreateInfoNV {
PipelineRepresentativeFragmentTestStateCreateInfoNV {
sType : STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV,
pNext : 0 as _,
representativeFragmentTestEnable : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceImageViewImageFormatInfoEXT {
fn default() -> PhysicalDeviceImageViewImageFormatInfoEXT {
PhysicalDeviceImageViewImageFormatInfoEXT {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT,
pNext : 0 as _,
imageViewType : Default::default(),
}
}
}
impl ::std::default::Default for FilterCubicImageViewImageFormatPropertiesEXT {
fn default() -> FilterCubicImageViewImageFormatPropertiesEXT {
FilterCubicImageViewImageFormatPropertiesEXT {
sType : STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT,
pNext : 0 as _,
filterCubic : 0 as _,
filterCubicMinmax : 0 as _,
}
}
}
impl ::std::default::Default for DeviceQueueGlobalPriorityCreateInfoEXT {
fn default() -> DeviceQueueGlobalPriorityCreateInfoEXT {
DeviceQueueGlobalPriorityCreateInfoEXT {
sType : STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT,
pNext : 0 as _,
globalPriority : Default::default(),
}
}
}
impl ::std::default::Default for ImportMemoryHostPointerInfoEXT {
fn default() -> ImportMemoryHostPointerInfoEXT {
ImportMemoryHostPointerInfoEXT {
sType : STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT,
pNext : 0 as _,
handleType : Default::default(),
pHostPointer : 0 as _,
}
}
}
impl ::std::default::Default for MemoryHostPointerPropertiesEXT {
fn default() -> MemoryHostPointerPropertiesEXT {
MemoryHostPointerPropertiesEXT {
sType : STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT,
pNext : 0 as _,
memoryTypeBits : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceExternalMemoryHostPropertiesEXT {
fn default() -> PhysicalDeviceExternalMemoryHostPropertiesEXT {
PhysicalDeviceExternalMemoryHostPropertiesEXT {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT,
pNext : 0 as _,
minImportedHostPointerAlignment : Default::default(),
}
}
}
impl ::std::default::Default for PipelineCompilerControlCreateInfoAMD {
fn default() -> PipelineCompilerControlCreateInfoAMD {
PipelineCompilerControlCreateInfoAMD {
sType : STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD,
pNext : 0 as _,
compilerControlFlags : Default::default(),
}
}
}
impl ::std::default::Default for CalibratedTimestampInfoEXT {
fn default() -> CalibratedTimestampInfoEXT {
CalibratedTimestampInfoEXT {
sType : STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT,
pNext : 0 as _,
timeDomain : Default::default(),
}
}
}
impl ::std::default::Default for PhysicalDeviceShaderCorePropertiesAMD {
fn default() -> PhysicalDeviceShaderCorePropertiesAMD {
PhysicalDeviceShaderCorePropertiesAMD {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD,
pNext : 0 as _,
shaderEngineCount : 0 as _,
shaderArraysPerEngineCount : 0 as _,
computeUnitsPerShaderArray : 0 as _,
simdPerComputeUnit : 0 as _,
wavefrontsPerSimd : 0 as _,
wavefrontSize : 0 as _,
sgprsPerSimd : 0 as _,
minSgprAllocation : 0 as _,
maxSgprAllocation : 0 as _,
sgprAllocationGranularity : 0 as _,
vgprsPerSimd : 0 as _,
minVgprAllocation : 0 as _,
maxVgprAllocation : 0 as _,
vgprAllocationGranularity : 0 as _,
}
}
}
impl ::std::default::Default for DeviceMemoryOverallocationCreateInfoAMD {
fn default() -> DeviceMemoryOverallocationCreateInfoAMD {
DeviceMemoryOverallocationCreateInfoAMD {
sType : STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD,
pNext : 0 as _,
overallocationBehavior : Default::default(),
}
}
}
impl ::std::default::Default for PhysicalDeviceVertexAttributeDivisorPropertiesEXT {
fn default() -> PhysicalDeviceVertexAttributeDivisorPropertiesEXT {
PhysicalDeviceVertexAttributeDivisorPropertiesEXT {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT,
pNext : 0 as _,
maxVertexAttribDivisor : 0 as _,
}
}
}
impl ::std::default::Default for VertexInputBindingDivisorDescriptionEXT {
fn default() -> VertexInputBindingDivisorDescriptionEXT {
VertexInputBindingDivisorDescriptionEXT {
binding : 0 as _,
divisor : 0 as _,
}
}
}
impl ::std::default::Default for PipelineVertexInputDivisorStateCreateInfoEXT {
fn default() -> PipelineVertexInputDivisorStateCreateInfoEXT {
PipelineVertexInputDivisorStateCreateInfoEXT {
sType : STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT,
pNext : 0 as _,
vertexBindingDivisorCount : 0 as _,
pVertexBindingDivisors : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceVertexAttributeDivisorFeaturesEXT {
fn default() -> PhysicalDeviceVertexAttributeDivisorFeaturesEXT {
PhysicalDeviceVertexAttributeDivisorFeaturesEXT {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT,
pNext : 0 as _,
vertexAttributeInstanceRateDivisor : 0 as _,
vertexAttributeInstanceRateZeroDivisor : 0 as _,
}
}
}
impl ::std::default::Default for PipelineCreationFeedbackEXT {
fn default() -> PipelineCreationFeedbackEXT {
PipelineCreationFeedbackEXT {
flags : Default::default(),
duration : 0 as _,
}
}
}
impl ::std::default::Default for PipelineCreationFeedbackCreateInfoEXT {
fn default() -> PipelineCreationFeedbackCreateInfoEXT {
PipelineCreationFeedbackCreateInfoEXT {
sType : STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT,
pNext : 0 as _,
pPipelineCreationFeedback : 0 as _,
pipelineStageCreationFeedbackCount : 0 as _,
pPipelineStageCreationFeedbacks : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceComputeShaderDerivativesFeaturesNV {
fn default() -> PhysicalDeviceComputeShaderDerivativesFeaturesNV {
PhysicalDeviceComputeShaderDerivativesFeaturesNV {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV,
pNext : 0 as _,
computeDerivativeGroupQuads : 0 as _,
computeDerivativeGroupLinear : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceMeshShaderFeaturesNV {
fn default() -> PhysicalDeviceMeshShaderFeaturesNV {
PhysicalDeviceMeshShaderFeaturesNV {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV,
pNext : 0 as _,
taskShader : 0 as _,
meshShader : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceMeshShaderPropertiesNV {
fn default() -> PhysicalDeviceMeshShaderPropertiesNV {
PhysicalDeviceMeshShaderPropertiesNV {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV,
pNext : 0 as _,
maxDrawMeshTasksCount : 0 as _,
maxTaskWorkGroupInvocations : 0 as _,
maxTaskWorkGroupSize : [Default::default();3],
maxTaskTotalMemorySize : 0 as _,
maxTaskOutputCount : 0 as _,
maxMeshWorkGroupInvocations : 0 as _,
maxMeshWorkGroupSize : [Default::default();3],
maxMeshTotalMemorySize : 0 as _,
maxMeshOutputVertices : 0 as _,
maxMeshOutputPrimitives : 0 as _,
maxMeshMultiviewViewCount : 0 as _,
meshOutputPerVertexGranularity : 0 as _,
meshOutputPerPrimitiveGranularity : 0 as _,
}
}
}
impl ::std::default::Default for DrawMeshTasksIndirectCommandNV {
fn default() -> DrawMeshTasksIndirectCommandNV {
DrawMeshTasksIndirectCommandNV {
taskCount : 0 as _,
firstTask : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceFragmentShaderBarycentricFeaturesNV {
fn default() -> PhysicalDeviceFragmentShaderBarycentricFeaturesNV {
PhysicalDeviceFragmentShaderBarycentricFeaturesNV {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV,
pNext : 0 as _,
fragmentShaderBarycentric : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceShaderImageFootprintFeaturesNV {
fn default() -> PhysicalDeviceShaderImageFootprintFeaturesNV {
PhysicalDeviceShaderImageFootprintFeaturesNV {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV,
pNext : 0 as _,
imageFootprint : 0 as _,
}
}
}
impl ::std::default::Default for PipelineViewportExclusiveScissorStateCreateInfoNV {
fn default() -> PipelineViewportExclusiveScissorStateCreateInfoNV {
PipelineViewportExclusiveScissorStateCreateInfoNV {
sType : STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV,
pNext : 0 as _,
exclusiveScissorCount : 0 as _,
pExclusiveScissors : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceExclusiveScissorFeaturesNV {
fn default() -> PhysicalDeviceExclusiveScissorFeaturesNV {
PhysicalDeviceExclusiveScissorFeaturesNV {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV,
pNext : 0 as _,
exclusiveScissor : 0 as _,
}
}
}
impl ::std::default::Default for QueueFamilyCheckpointPropertiesNV {
fn default() -> QueueFamilyCheckpointPropertiesNV {
QueueFamilyCheckpointPropertiesNV {
sType : STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV,
pNext : 0 as _,
checkpointExecutionStageMask : Default::default(),
}
}
}
impl ::std::default::Default for CheckpointDataNV {
fn default() -> CheckpointDataNV {
CheckpointDataNV {
sType : STRUCTURE_TYPE_CHECKPOINT_DATA_NV,
pNext : 0 as _,
stage : Default::default(),
pCheckpointMarker : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
fn default() -> PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL,
pNext : 0 as _,
shaderIntegerFunctions2 : 0 as _,
}
}
}
impl ::std::default::Default for InitializePerformanceApiInfoINTEL {
fn default() -> InitializePerformanceApiInfoINTEL {
InitializePerformanceApiInfoINTEL {
sType : STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL,
pNext : 0 as _,
pUserData : 0 as _,
}
}
}
impl ::std::default::Default for QueryPoolPerformanceQueryCreateInfoINTEL {
fn default() -> QueryPoolPerformanceQueryCreateInfoINTEL {
QueryPoolPerformanceQueryCreateInfoINTEL {
sType : STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL,
pNext : 0 as _,
performanceCountersSampling : Default::default(),
}
}
}
impl ::std::default::Default for PerformanceMarkerInfoINTEL {
fn default() -> PerformanceMarkerInfoINTEL {
PerformanceMarkerInfoINTEL {
sType : STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL,
pNext : 0 as _,
marker : 0 as _,
}
}
}
impl ::std::default::Default for PerformanceStreamMarkerInfoINTEL {
fn default() -> PerformanceStreamMarkerInfoINTEL {
PerformanceStreamMarkerInfoINTEL {
sType : STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL,
pNext : 0 as _,
marker : 0 as _,
}
}
}
impl ::std::default::Default for PerformanceOverrideInfoINTEL {
fn default() -> PerformanceOverrideInfoINTEL {
PerformanceOverrideInfoINTEL {
sType : STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL,
pNext : 0 as _,
r#type : Default::default(),
enable : 0 as _,
parameter : 0 as _,
}
}
}
impl ::std::default::Default for PerformanceConfigurationAcquireInfoINTEL {
fn default() -> PerformanceConfigurationAcquireInfoINTEL {
PerformanceConfigurationAcquireInfoINTEL {
sType : STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL,
pNext : 0 as _,
r#type : Default::default(),
}
}
}
impl ::std::default::Default for PhysicalDevicePCIBusInfoPropertiesEXT {
fn default() -> PhysicalDevicePCIBusInfoPropertiesEXT {
PhysicalDevicePCIBusInfoPropertiesEXT {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT,
pNext : 0 as _,
pciDomain : 0 as _,
pciBus : 0 as _,
pciDevice : 0 as _,
pciFunction : 0 as _,
}
}
}
impl ::std::default::Default for DisplayNativeHdrSurfaceCapabilitiesAMD {
fn default() -> DisplayNativeHdrSurfaceCapabilitiesAMD {
DisplayNativeHdrSurfaceCapabilitiesAMD {
sType : STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD,
pNext : 0 as _,
localDimmingSupport : 0 as _,
}
}
}
impl ::std::default::Default for SwapchainDisplayNativeHdrCreateInfoAMD {
fn default() -> SwapchainDisplayNativeHdrCreateInfoAMD {
SwapchainDisplayNativeHdrCreateInfoAMD {
sType : STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD,
pNext : 0 as _,
localDimmingEnable : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceFragmentDensityMapFeaturesEXT {
fn default() -> PhysicalDeviceFragmentDensityMapFeaturesEXT {
PhysicalDeviceFragmentDensityMapFeaturesEXT {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT,
pNext : 0 as _,
fragmentDensityMap : 0 as _,
fragmentDensityMapDynamic : 0 as _,
fragmentDensityMapNonSubsampledImages : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceFragmentDensityMapPropertiesEXT {
fn default() -> PhysicalDeviceFragmentDensityMapPropertiesEXT {
PhysicalDeviceFragmentDensityMapPropertiesEXT {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT,
pNext : 0 as _,
minFragmentDensityTexelSize : Default::default(),
maxFragmentDensityTexelSize : Default::default(),
fragmentDensityInvocations : 0 as _,
}
}
}
impl ::std::default::Default for RenderPassFragmentDensityMapCreateInfoEXT {
fn default() -> RenderPassFragmentDensityMapCreateInfoEXT {
RenderPassFragmentDensityMapCreateInfoEXT {
sType : STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT,
pNext : 0 as _,
fragmentDensityMapAttachment : Default::default(),
}
}
}
impl ::std::default::Default for PhysicalDeviceSubgroupSizeControlFeaturesEXT {
fn default() -> PhysicalDeviceSubgroupSizeControlFeaturesEXT {
PhysicalDeviceSubgroupSizeControlFeaturesEXT {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT,
pNext : 0 as _,
subgroupSizeControl : 0 as _,
computeFullSubgroups : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceSubgroupSizeControlPropertiesEXT {
fn default() -> PhysicalDeviceSubgroupSizeControlPropertiesEXT {
PhysicalDeviceSubgroupSizeControlPropertiesEXT {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT,
pNext : 0 as _,
minSubgroupSize : 0 as _,
maxSubgroupSize : 0 as _,
maxComputeWorkgroupSubgroups : 0 as _,
requiredSubgroupSizeStages : Default::default(),
}
}
}
impl ::std::default::Default for PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT {
fn default() -> PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT {
PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT {
sType : STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT,
pNext : 0 as _,
requiredSubgroupSize : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceShaderCoreProperties2AMD {
fn default() -> PhysicalDeviceShaderCoreProperties2AMD {
PhysicalDeviceShaderCoreProperties2AMD {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD,
pNext : 0 as _,
shaderCoreFeatures : Default::default(),
activeComputeUnitCount : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceCoherentMemoryFeaturesAMD {
fn default() -> PhysicalDeviceCoherentMemoryFeaturesAMD {
PhysicalDeviceCoherentMemoryFeaturesAMD {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD,
pNext : 0 as _,
deviceCoherentMemory : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceMemoryBudgetPropertiesEXT {
fn default() -> PhysicalDeviceMemoryBudgetPropertiesEXT {
PhysicalDeviceMemoryBudgetPropertiesEXT {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT,
pNext : 0 as _,
heapBudget : [Default::default();MAX_MEMORY_HEAPS],
heapUsage : [Default::default();MAX_MEMORY_HEAPS],
}
}
}
impl ::std::default::Default for PhysicalDeviceMemoryPriorityFeaturesEXT {
fn default() -> PhysicalDeviceMemoryPriorityFeaturesEXT {
PhysicalDeviceMemoryPriorityFeaturesEXT {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT,
pNext : 0 as _,
memoryPriority : 0 as _,
}
}
}
impl ::std::default::Default for MemoryPriorityAllocateInfoEXT {
fn default() -> MemoryPriorityAllocateInfoEXT {
MemoryPriorityAllocateInfoEXT {
sType : STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT,
pNext : 0 as _,
priority : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
fn default() -> PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV,
pNext : 0 as _,
dedicatedAllocationImageAliasing : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceBufferDeviceAddressFeaturesEXT {
fn default() -> PhysicalDeviceBufferDeviceAddressFeaturesEXT {
PhysicalDeviceBufferDeviceAddressFeaturesEXT {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
pNext : 0 as _,
bufferDeviceAddress : 0 as _,
bufferDeviceAddressCaptureReplay : 0 as _,
bufferDeviceAddressMultiDevice : 0 as _,
}
}
}
impl ::std::default::Default for BufferDeviceAddressCreateInfoEXT {
fn default() -> BufferDeviceAddressCreateInfoEXT {
BufferDeviceAddressCreateInfoEXT {
sType : STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT,
pNext : 0 as _,
deviceAddress : Default::default(),
}
}
}
impl ::std::default::Default for PhysicalDeviceToolPropertiesEXT {
fn default() -> PhysicalDeviceToolPropertiesEXT {
PhysicalDeviceToolPropertiesEXT {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT,
pNext : 0 as _,
name : [Default::default();MAX_EXTENSION_NAME_SIZE],
version : [Default::default();MAX_EXTENSION_NAME_SIZE],
purposes : Default::default(),
description : [Default::default();MAX_DESCRIPTION_SIZE],
layer : [Default::default();MAX_EXTENSION_NAME_SIZE],
}
}
}
impl ::std::default::Default for ValidationFeaturesEXT {
fn default() -> ValidationFeaturesEXT {
ValidationFeaturesEXT {
sType : STRUCTURE_TYPE_VALIDATION_FEATURES_EXT,
pNext : 0 as _,
enabledValidationFeatureCount : 0 as _,
pEnabledValidationFeatures : 0 as _,
disabledValidationFeatureCount : 0 as _,
pDisabledValidationFeatures : 0 as _,
}
}
}
impl ::std::default::Default for CooperativeMatrixPropertiesNV {
fn default() -> CooperativeMatrixPropertiesNV {
CooperativeMatrixPropertiesNV {
sType : STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV,
pNext : 0 as _,
MSize : 0 as _,
NSize : 0 as _,
KSize : 0 as _,
AType : Default::default(),
BType : Default::default(),
CType : Default::default(),
DType : Default::default(),
scope : Default::default(),
}
}
}
impl ::std::default::Default for PhysicalDeviceCooperativeMatrixFeaturesNV {
fn default() -> PhysicalDeviceCooperativeMatrixFeaturesNV {
PhysicalDeviceCooperativeMatrixFeaturesNV {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV,
pNext : 0 as _,
cooperativeMatrix : 0 as _,
cooperativeMatrixRobustBufferAccess : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceCooperativeMatrixPropertiesNV {
fn default() -> PhysicalDeviceCooperativeMatrixPropertiesNV {
PhysicalDeviceCooperativeMatrixPropertiesNV {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV,
pNext : 0 as _,
cooperativeMatrixSupportedStages : Default::default(),
}
}
}
impl ::std::default::Default for PhysicalDeviceCoverageReductionModeFeaturesNV {
fn default() -> PhysicalDeviceCoverageReductionModeFeaturesNV {
PhysicalDeviceCoverageReductionModeFeaturesNV {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV,
pNext : 0 as _,
coverageReductionMode : 0 as _,
}
}
}
impl ::std::default::Default for PipelineCoverageReductionStateCreateInfoNV {
fn default() -> PipelineCoverageReductionStateCreateInfoNV {
PipelineCoverageReductionStateCreateInfoNV {
sType : STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV,
pNext : 0 as _,
flags : Default::default(),
coverageReductionMode : Default::default(),
}
}
}
impl ::std::default::Default for FramebufferMixedSamplesCombinationNV {
fn default() -> FramebufferMixedSamplesCombinationNV {
FramebufferMixedSamplesCombinationNV {
sType : STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV,
pNext : 0 as _,
coverageReductionMode : Default::default(),
rasterizationSamples : Default::default(),
depthStencilSamples : Default::default(),
colorSamples : Default::default(),
}
}
}
impl ::std::default::Default for PhysicalDeviceFragmentShaderInterlockFeaturesEXT {
fn default() -> PhysicalDeviceFragmentShaderInterlockFeaturesEXT {
PhysicalDeviceFragmentShaderInterlockFeaturesEXT {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT,
pNext : 0 as _,
fragmentShaderSampleInterlock : 0 as _,
fragmentShaderPixelInterlock : 0 as _,
fragmentShaderShadingRateInterlock : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceYcbcrImageArraysFeaturesEXT {
fn default() -> PhysicalDeviceYcbcrImageArraysFeaturesEXT {
PhysicalDeviceYcbcrImageArraysFeaturesEXT {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT,
pNext : 0 as _,
ycbcrImageArrays : 0 as _,
}
}
}
impl ::std::default::Default for HeadlessSurfaceCreateInfoEXT {
fn default() -> HeadlessSurfaceCreateInfoEXT {
HeadlessSurfaceCreateInfoEXT {
sType : STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT,
pNext : 0 as _,
flags : Default::default(),
}
}
}
impl ::std::default::Default for PhysicalDeviceLineRasterizationFeaturesEXT {
fn default() -> PhysicalDeviceLineRasterizationFeaturesEXT {
PhysicalDeviceLineRasterizationFeaturesEXT {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT,
pNext : 0 as _,
rectangularLines : 0 as _,
bresenhamLines : 0 as _,
smoothLines : 0 as _,
stippledRectangularLines : 0 as _,
stippledBresenhamLines : 0 as _,
stippledSmoothLines : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceLineRasterizationPropertiesEXT {
fn default() -> PhysicalDeviceLineRasterizationPropertiesEXT {
PhysicalDeviceLineRasterizationPropertiesEXT {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT,
pNext : 0 as _,
lineSubPixelPrecisionBits : 0 as _,
}
}
}
impl ::std::default::Default for PipelineRasterizationLineStateCreateInfoEXT {
fn default() -> PipelineRasterizationLineStateCreateInfoEXT {
PipelineRasterizationLineStateCreateInfoEXT {
sType : STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT,
pNext : 0 as _,
lineRasterizationMode : Default::default(),
stippledLineEnable : 0 as _,
lineStippleFactor : 0 as _,
lineStipplePattern : Default::default(),
}
}
}
impl ::std::default::Default for PhysicalDeviceIndexTypeUint8FeaturesEXT {
fn default() -> PhysicalDeviceIndexTypeUint8FeaturesEXT {
PhysicalDeviceIndexTypeUint8FeaturesEXT {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT,
pNext : 0 as _,
indexTypeUint8 : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT {
fn default() -> PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT {
PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT,
pNext : 0 as _,
shaderDemoteToHelperInvocation : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
fn default() -> PhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
PhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV,
pNext : 0 as _,
maxGraphicsShaderGroupCount : 0 as _,
maxIndirectSequenceCount : 0 as _,
maxIndirectCommandsTokenCount : 0 as _,
maxIndirectCommandsStreamCount : 0 as _,
maxIndirectCommandsTokenOffset : 0 as _,
maxIndirectCommandsStreamStride : 0 as _,
minSequencesCountBufferOffsetAlignment : 0 as _,
minSequencesIndexBufferOffsetAlignment : 0 as _,
minIndirectCommandsBufferOffsetAlignment : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
fn default() -> PhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
PhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV,
pNext : 0 as _,
deviceGeneratedCommands : 0 as _,
}
}
}
impl ::std::default::Default for GraphicsShaderGroupCreateInfoNV {
fn default() -> GraphicsShaderGroupCreateInfoNV {
GraphicsShaderGroupCreateInfoNV {
sType : STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV,
pNext : 0 as _,
stageCount : 0 as _,
pStages : 0 as _,
pVertexInputState : 0 as _,
pTessellationState : 0 as _,
}
}
}
impl ::std::default::Default for GraphicsPipelineShaderGroupsCreateInfoNV {
fn default() -> GraphicsPipelineShaderGroupsCreateInfoNV {
GraphicsPipelineShaderGroupsCreateInfoNV {
sType : STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV,
pNext : 0 as _,
groupCount : 0 as _,
pGroups : 0 as _,
pipelineCount : 0 as _,
pPipelines : 0 as _,
}
}
}
impl ::std::default::Default for BindShaderGroupIndirectCommandNV {
fn default() -> BindShaderGroupIndirectCommandNV {
BindShaderGroupIndirectCommandNV {
groupIndex : 0 as _,
}
}
}
impl ::std::default::Default for BindIndexBufferIndirectCommandNV {
fn default() -> BindIndexBufferIndirectCommandNV {
BindIndexBufferIndirectCommandNV {
bufferAddress : Default::default(),
size : 0 as _,
indexType : Default::default(),
}
}
}
impl ::std::default::Default for BindVertexBufferIndirectCommandNV {
fn default() -> BindVertexBufferIndirectCommandNV {
BindVertexBufferIndirectCommandNV {
bufferAddress : Default::default(),
size : 0 as _,
stride : 0 as _,
}
}
}
impl ::std::default::Default for SetStateFlagsIndirectCommandNV {
fn default() -> SetStateFlagsIndirectCommandNV {
SetStateFlagsIndirectCommandNV {
data : 0 as _,
}
}
}
impl ::std::default::Default for IndirectCommandsStreamNV {
fn default() -> IndirectCommandsStreamNV {
IndirectCommandsStreamNV {
buffer : Default::default(),
offset : Default::default(),
}
}
}
impl ::std::default::Default for IndirectCommandsLayoutTokenNV {
fn default() -> IndirectCommandsLayoutTokenNV {
IndirectCommandsLayoutTokenNV {
sType : STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV,
pNext : 0 as _,
tokenType : Default::default(),
stream : 0 as _,
offset : 0 as _,
vertexBindingUnit : 0 as _,
vertexDynamicStride : 0 as _,
pushconstantPipelineLayout : Default::default(),
pushconstantShaderStageFlags : Default::default(),
pushconstantOffset : 0 as _,
pushconstantSize : 0 as _,
indirectStateFlags : Default::default(),
indexTypeCount : 0 as _,
pIndexTypes : 0 as _,
pIndexTypeValues : 0 as _,
}
}
}
impl ::std::default::Default for IndirectCommandsLayoutCreateInfoNV {
fn default() -> IndirectCommandsLayoutCreateInfoNV {
IndirectCommandsLayoutCreateInfoNV {
sType : STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV,
pNext : 0 as _,
flags : Default::default(),
pipelineBindPoint : Default::default(),
tokenCount : 0 as _,
pTokens : 0 as _,
streamCount : 0 as _,
pStreamStrides : 0 as _,
}
}
}
impl ::std::default::Default for GeneratedCommandsInfoNV {
fn default() -> GeneratedCommandsInfoNV {
GeneratedCommandsInfoNV {
sType : STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV,
pNext : 0 as _,
pipelineBindPoint : Default::default(),
pipeline : Default::default(),
indirectCommandsLayout : Default::default(),
streamCount : 0 as _,
pStreams : 0 as _,
sequencesCount : 0 as _,
preprocessBuffer : Default::default(),
preprocessOffset : Default::default(),
preprocessSize : Default::default(),
sequencesCountBuffer : Default::default(),
sequencesCountOffset : Default::default(),
sequencesIndexBuffer : Default::default(),
sequencesIndexOffset : Default::default(),
}
}
}
impl ::std::default::Default for GeneratedCommandsMemoryRequirementsInfoNV {
fn default() -> GeneratedCommandsMemoryRequirementsInfoNV {
GeneratedCommandsMemoryRequirementsInfoNV {
sType : STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV,
pNext : 0 as _,
pipelineBindPoint : Default::default(),
pipeline : Default::default(),
indirectCommandsLayout : Default::default(),
maxSequencesCount : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceTexelBufferAlignmentFeaturesEXT {
fn default() -> PhysicalDeviceTexelBufferAlignmentFeaturesEXT {
PhysicalDeviceTexelBufferAlignmentFeaturesEXT {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT,
pNext : 0 as _,
texelBufferAlignment : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceTexelBufferAlignmentPropertiesEXT {
fn default() -> PhysicalDeviceTexelBufferAlignmentPropertiesEXT {
PhysicalDeviceTexelBufferAlignmentPropertiesEXT {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT,
pNext : 0 as _,
storageTexelBufferOffsetAlignmentBytes : Default::default(),
storageTexelBufferOffsetSingleTexelAlignment : 0 as _,
uniformTexelBufferOffsetAlignmentBytes : Default::default(),
uniformTexelBufferOffsetSingleTexelAlignment : 0 as _,
}
}
}
impl ::std::default::Default for RenderPassTransformBeginInfoQCOM {
fn default() -> RenderPassTransformBeginInfoQCOM {
RenderPassTransformBeginInfoQCOM {
sType : STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM,
pNext : 0 as _,
transform : Default::default(),
}
}
}
impl ::std::default::Default for CommandBufferInheritanceRenderPassTransformInfoQCOM {
fn default() -> CommandBufferInheritanceRenderPassTransformInfoQCOM {
CommandBufferInheritanceRenderPassTransformInfoQCOM {
sType : STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM,
pNext : 0 as _,
transform : Default::default(),
renderArea : Default::default(),
}
}
}
impl ::std::default::Default for PhysicalDeviceRobustness2FeaturesEXT {
fn default() -> PhysicalDeviceRobustness2FeaturesEXT {
PhysicalDeviceRobustness2FeaturesEXT {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT,
pNext : 0 as _,
robustBufferAccess2 : 0 as _,
robustImageAccess2 : 0 as _,
nullDescriptor : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceRobustness2PropertiesEXT {
fn default() -> PhysicalDeviceRobustness2PropertiesEXT {
PhysicalDeviceRobustness2PropertiesEXT {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT,
pNext : 0 as _,
robustStorageBufferAccessSizeAlignment : Default::default(),
robustUniformBufferAccessSizeAlignment : Default::default(),
}
}
}
impl ::std::default::Default for SamplerCustomBorderColorCreateInfoEXT {
fn default() -> SamplerCustomBorderColorCreateInfoEXT {
SamplerCustomBorderColorCreateInfoEXT {
sType : STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT,
pNext : 0 as _,
customBorderColor : Default::default(),
format : Default::default(),
}
}
}
impl ::std::default::Default for PhysicalDeviceCustomBorderColorPropertiesEXT {
fn default() -> PhysicalDeviceCustomBorderColorPropertiesEXT {
PhysicalDeviceCustomBorderColorPropertiesEXT {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT,
pNext : 0 as _,
maxCustomBorderColorSamplers : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceCustomBorderColorFeaturesEXT {
fn default() -> PhysicalDeviceCustomBorderColorFeaturesEXT {
PhysicalDeviceCustomBorderColorFeaturesEXT {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT,
pNext : 0 as _,
customBorderColors : 0 as _,
customBorderColorWithoutFormat : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDevicePrivateDataFeaturesEXT {
fn default() -> PhysicalDevicePrivateDataFeaturesEXT {
PhysicalDevicePrivateDataFeaturesEXT {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT,
pNext : 0 as _,
privateData : 0 as _,
}
}
}
impl ::std::default::Default for DevicePrivateDataCreateInfoEXT {
fn default() -> DevicePrivateDataCreateInfoEXT {
DevicePrivateDataCreateInfoEXT {
sType : STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT,
pNext : 0 as _,
privateDataSlotRequestCount : 0 as _,
}
}
}
impl ::std::default::Default for PrivateDataSlotCreateInfoEXT {
fn default() -> PrivateDataSlotCreateInfoEXT {
PrivateDataSlotCreateInfoEXT {
sType : STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT,
pNext : 0 as _,
flags : Default::default(),
}
}
}
impl ::std::default::Default for PhysicalDevicePipelineCreationCacheControlFeaturesEXT {
fn default() -> PhysicalDevicePipelineCreationCacheControlFeaturesEXT {
PhysicalDevicePipelineCreationCacheControlFeaturesEXT {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT,
pNext : 0 as _,
pipelineCreationCacheControl : 0 as _,
}
}
}
impl ::std::default::Default for PhysicalDeviceDiagnosticsConfigFeaturesNV {
fn default() -> PhysicalDeviceDiagnosticsConfigFeaturesNV {
PhysicalDeviceDiagnosticsConfigFeaturesNV {
sType : STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV,
pNext : 0 as _,
diagnosticsConfig : 0 as _,
}
}
}
impl ::std::default::Default for DeviceDiagnosticsConfigCreateInfoNV {
fn default() -> DeviceDiagnosticsConfigCreateInfoNV {
DeviceDiagnosticsConfigCreateInfoNV {
sType : STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV,
pNext : 0 as _,
flags : Default::default(),
}
}
}
impl ::std::default::Default for Win32SurfaceCreateInfoKHR {
fn default() -> Win32SurfaceCreateInfoKHR {
Win32SurfaceCreateInfoKHR {
sType : STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR,
pNext : 0 as _,
flags : Default::default(),
hinstance : 0 as _,
hwnd : 0 as _,
}
}
}
impl ::std::default::Default for ImportMemoryWin32HandleInfoKHR {
fn default() -> ImportMemoryWin32HandleInfoKHR {
ImportMemoryWin32HandleInfoKHR {
sType : STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR,
pNext : 0 as _,
handleType : Default::default(),
handle : 0 as _,
name : 0 as _,
}
}
}
impl ::std::default::Default for ExportMemoryWin32HandleInfoKHR {
fn default() -> ExportMemoryWin32HandleInfoKHR {
ExportMemoryWin32HandleInfoKHR {
sType : STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR,
pNext : 0 as _,
pAttributes : 0 as _,
dwAccess : 0 as _,
name : 0 as _,
}
}
}
impl ::std::default::Default for MemoryWin32HandlePropertiesKHR {
fn default() -> MemoryWin32HandlePropertiesKHR {
MemoryWin32HandlePropertiesKHR {
sType : STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR,
pNext : 0 as _,
memoryTypeBits : 0 as _,
}
}
}
impl ::std::default::Default for MemoryGetWin32HandleInfoKHR {
fn default() -> MemoryGetWin32HandleInfoKHR {
MemoryGetWin32HandleInfoKHR {
sType : STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR,
pNext : 0 as _,
memory : Default::default(),
handleType : Default::default(),
}
}
}
impl ::std::default::Default for Win32KeyedMutexAcquireReleaseInfoKHR {
fn default() -> Win32KeyedMutexAcquireReleaseInfoKHR {
Win32KeyedMutexAcquireReleaseInfoKHR {
sType : STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR,
pNext : 0 as _,
acquireCount : 0 as _,
pAcquireSyncs : 0 as _,
pAcquireKeys : 0 as _,
pAcquireTimeouts : 0 as _,
releaseCount : 0 as _,
pReleaseSyncs : 0 as _,
pReleaseKeys : 0 as _,
}
}
}
impl ::std::default::Default for ImportSemaphoreWin32HandleInfoKHR {
fn default() -> ImportSemaphoreWin32HandleInfoKHR {
ImportSemaphoreWin32HandleInfoKHR {
sType : STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR,
pNext : 0 as _,
semaphore : Default::default(),
flags : Default::default(),
handleType : Default::default(),
handle : 0 as _,
name : 0 as _,
}
}
}
impl ::std::default::Default for ExportSemaphoreWin32HandleInfoKHR {
fn default() -> ExportSemaphoreWin32HandleInfoKHR {
ExportSemaphoreWin32HandleInfoKHR {
sType : STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR,
pNext : 0 as _,
pAttributes : 0 as _,
dwAccess : 0 as _,
name : 0 as _,
}
}
}
impl ::std::default::Default for D3D12FenceSubmitInfoKHR {
fn default() -> D3D12FenceSubmitInfoKHR {
D3D12FenceSubmitInfoKHR {
sType : STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR,
pNext : 0 as _,
waitSemaphoreValuesCount : 0 as _,
pWaitSemaphoreValues : 0 as _,
signalSemaphoreValuesCount : 0 as _,
pSignalSemaphoreValues : 0 as _,
}
}
}
impl ::std::default::Default for SemaphoreGetWin32HandleInfoKHR {
fn default() -> SemaphoreGetWin32HandleInfoKHR {
SemaphoreGetWin32HandleInfoKHR {
sType : STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR,
pNext : 0 as _,
semaphore : Default::default(),
handleType : Default::default(),
}
}
}
impl ::std::default::Default for ImportFenceWin32HandleInfoKHR {
fn default() -> ImportFenceWin32HandleInfoKHR {
ImportFenceWin32HandleInfoKHR {
sType : STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR,
pNext : 0 as _,
fence : Default::default(),
flags : Default::default(),
handleType : Default::default(),
handle : 0 as _,
name : 0 as _,
}
}
}
impl ::std::default::Default for ExportFenceWin32HandleInfoKHR {
fn default() -> ExportFenceWin32HandleInfoKHR {
ExportFenceWin32HandleInfoKHR {
sType : STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR,
pNext : 0 as _,
pAttributes : 0 as _,
dwAccess : 0 as _,
name : 0 as _,
}
}
}
impl ::std::default::Default for FenceGetWin32HandleInfoKHR {
fn default() -> FenceGetWin32HandleInfoKHR {
FenceGetWin32HandleInfoKHR {
sType : STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR,
pNext : 0 as _,
fence : Default::default(),
handleType : Default::default(),
}
}
}
impl ::std::default::Default for ImportMemoryWin32HandleInfoNV {
fn default() -> ImportMemoryWin32HandleInfoNV {
ImportMemoryWin32HandleInfoNV {
sType : STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV,
pNext : 0 as _,
handleType : Default::default(),
handle : 0 as _,
}
}
}
impl ::std::default::Default for ExportMemoryWin32HandleInfoNV {
fn default() -> ExportMemoryWin32HandleInfoNV {
ExportMemoryWin32HandleInfoNV {
sType : STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV,
pNext : 0 as _,
pAttributes : 0 as _,
dwAccess : 0 as _,
}
}
}
impl ::std::default::Default for Win32KeyedMutexAcquireReleaseInfoNV {
fn default() -> Win32KeyedMutexAcquireReleaseInfoNV {
Win32KeyedMutexAcquireReleaseInfoNV {
sType : STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV,
pNext : 0 as _,
acquireCount : 0 as _,
pAcquireSyncs : 0 as _,
pAcquireKeys : 0 as _,
pAcquireTimeoutMilliseconds : 0 as _,
releaseCount : 0 as _,
pReleaseSyncs : 0 as _,
pReleaseKeys : 0 as _,
}
}
}
impl ::std::default::Default for SurfaceFullScreenExclusiveInfoEXT {
fn default() -> SurfaceFullScreenExclusiveInfoEXT {
SurfaceFullScreenExclusiveInfoEXT {
sType : STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT,
pNext : 0 as _,
fullScreenExclusive : Default::default(),
}
}
}
impl ::std::default::Default for SurfaceCapabilitiesFullScreenExclusiveEXT {
fn default() -> SurfaceCapabilitiesFullScreenExclusiveEXT {
SurfaceCapabilitiesFullScreenExclusiveEXT {
sType : STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT,
pNext : 0 as _,
fullScreenExclusiveSupported : 0 as _,
}
}
}
impl ::std::default::Default for SurfaceFullScreenExclusiveWin32InfoEXT {
fn default() -> SurfaceFullScreenExclusiveWin32InfoEXT {
SurfaceFullScreenExclusiveWin32InfoEXT {
sType : STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT,
pNext : 0 as _,
hmonitor : 0 as _,
}
}
}
extern "C" {
pub fn InitVulkanSimple(surface_extension : *const i8);
pub fn CreateInstance(pCreateInfo :*const InstanceCreateInfo) -> VkResult;
pub fn SetPhysicalDevice(physicalDevice : PhysicalDevice);
pub fn SetDeviceQueue(queueFamilyIndex : u32, queueIndex : u32);
pub fn CreateDevice(pCreateInfo : *const DeviceCreateInfo) -> VkResult;
pub fn DestroyInstance();
pub fn DestroyDevice();
pub fn DeviceWaitIdle();
pub fn EnumeratePhysicalDevices(
pPhysicalDeviceCount : *mut u32,
pPhysicalDevices : *mut PhysicalDevice) -> VkResult;
pub fn GetPhysicalDeviceFeatures(
pFeatures : *mut PhysicalDeviceFeatures);
pub fn GetPhysicalDeviceFormatProperties(
format : Format,
pFormatProperties : *mut FormatProperties);
pub fn GetPhysicalDeviceImageFormatProperties(
format : Format,
r#type : ImageType,
tiling : ImageTiling,
usage : ImageUsageFlags,
flags : ImageCreateFlags,
pImageFormatProperties : *mut ImageFormatProperties) -> VkResult;
pub fn GetPhysicalDeviceProperties(
pProperties : *mut PhysicalDeviceProperties);
pub fn GetPhysicalDeviceQueueFamilyProperties(
pQueueFamilyPropertyCount : *mut u32,
pQueueFamilyProperties : *mut QueueFamilyProperties);
pub fn GetPhysicalDeviceMemoryProperties(
pMemoryProperties : *mut PhysicalDeviceMemoryProperties);
pub fn GetInstanceProcAddr(
pName : *const i8) -> u64;
pub fn GetDeviceProcAddr(
pName : *const i8) -> u64;
pub fn EnumerateInstanceExtensionProperties(
pLayerName : *const i8,
pPropertyCount : *mut u32,
pProperties : *mut ExtensionProperties) -> VkResult;
pub fn EnumerateDeviceExtensionProperties(
pLayerName : *const i8,
pPropertyCount : *mut u32,
pProperties : *mut ExtensionProperties) -> VkResult;
pub fn EnumerateInstanceLayerProperties(
pPropertyCount : *mut u32,
pProperties : *mut LayerProperties) -> VkResult;
pub fn EnumerateDeviceLayerProperties(
pPropertyCount : *mut u32,
pProperties : *mut LayerProperties) -> VkResult;
pub fn GetDeviceQueue(
queueFamilyIndex : u32,
queueIndex : u32,
pQueue : *mut Queue);
pub fn QueueSubmit(
submitCount : u32,
pSubmits : *const SubmitInfo,
fence : Fence) -> VkResult;
pub fn QueueWaitIdle(
queue : Queue) -> VkResult;
pub fn AllocateMemory(
pAllocateInfo : *const MemoryAllocateInfo,
pMemory : *mut DeviceMemory) -> VkResult;
pub fn FreeMemory(
memory : DeviceMemory);
pub fn MapMemory(
memory : DeviceMemory,
offset : DeviceSize,
size : DeviceSize,
flags : MemoryMapFlags,
ppData : &mut*mut f32) -> VkResult;
pub fn UnmapMemory(
memory : DeviceMemory);
pub fn FlushMappedMemoryRanges(
memoryRangeCount : u32,
pMemoryRanges : *const MappedMemoryRange) -> VkResult;
pub fn InvalidateMappedMemoryRanges(
memoryRangeCount : u32,
pMemoryRanges : *const MappedMemoryRange) -> VkResult;
pub fn GetDeviceMemoryCommitment(
memory : DeviceMemory,
pCommittedMemoryInBytes : *mut DeviceSize);
pub fn BindBufferMemory(
buffer : Buffer,
memory : DeviceMemory,
memoryOffset : DeviceSize) -> VkResult;
pub fn BindImageMemory(
image : Image,
memory : DeviceMemory,
memoryOffset : DeviceSize) -> VkResult;
pub fn GetBufferMemoryRequirements(
buffer : Buffer,
pMemoryRequirements : *mut MemoryRequirements);
pub fn GetImageMemoryRequirements(
image : Image,
pMemoryRequirements : *mut MemoryRequirements);
pub fn GetImageSparseMemoryRequirements(
image : Image,
pSparseMemoryRequirementCount : *mut u32,
pSparseMemoryRequirements : *mut SparseImageMemoryRequirements);
pub fn GetPhysicalDeviceSparseImageFormatProperties(
format : Format,
r#type : ImageType,
samples : SampleCountFlagBits,
usage : ImageUsageFlags,
tiling : ImageTiling,
pPropertyCount : *mut u32,
pProperties : *mut SparseImageFormatProperties);
pub fn QueueBindSparse(
bindInfoCount : u32,
pBindInfo : *const BindSparseInfo,
fence : Fence) -> VkResult;
pub fn CreateFence(
pCreateInfo : *const FenceCreateInfo,
pFence : *mut Fence) -> VkResult;
pub fn DestroyFence(
fence : Fence);
pub fn ResetFences(
fenceCount : u32,
pFences : *const Fence) -> VkResult;
pub fn GetFenceStatus(
fence : Fence) -> VkResult;
pub fn WaitForFences(
fenceCount : u32,
pFences : *const Fence,
waitAll : Bool32,
timeout : u64) -> VkResult;
pub fn CreateSemaphore(
pCreateInfo : *const SemaphoreCreateInfo,
pSemaphore : *mut Semaphore) -> VkResult;
pub fn DestroySemaphore(
semaphore : Semaphore);
pub fn CreateEvent(
pCreateInfo : *const EventCreateInfo,
pEvent : *mut Event) -> VkResult;
pub fn DestroyEvent(
event : Event);
pub fn GetEventStatus(
event : Event) -> VkResult;
pub fn SetEvent(
event : Event) -> VkResult;
pub fn ResetEvent(
event : Event) -> VkResult;
pub fn CreateQueryPool(
pCreateInfo : *const QueryPoolCreateInfo,
pQueryPool : *mut QueryPool) -> VkResult;
pub fn DestroyQueryPool(
queryPool : QueryPool);
pub fn GetQueryPoolResults(
queryPool : QueryPool,
firstQuery : u32,
queryCount : u32,
dataSize : usize,
pData : u64,
stride : DeviceSize,
flags : QueryResultFlags) -> VkResult;
pub fn CreateBuffer(
pCreateInfo : *const BufferCreateInfo,
pBuffer : *mut Buffer) -> VkResult;
pub fn DestroyBuffer(
buffer : Buffer);
pub fn CreateBufferView(
pCreateInfo : *const BufferViewCreateInfo,
pView : *mut BufferView) -> VkResult;
pub fn DestroyBufferView(
bufferView : BufferView);
pub fn CreateImage(
pCreateInfo : *const ImageCreateInfo,
pImage : *mut Image) -> VkResult;
pub fn DestroyImage(
image : Image);
pub fn GetImageSubresourceLayout(
image : Image,
pSubresource : *const ImageSubresource,
pLayout : *mut SubresourceLayout);
pub fn CreateImageView(
pCreateInfo : *const ImageViewCreateInfo,
pView : *mut ImageView) -> VkResult;
pub fn DestroyImageView(
imageView : ImageView);
pub fn CreateShaderModule(
pCreateInfo : *const ShaderModuleCreateInfo,
pShaderModule : *mut ShaderModule) -> VkResult;
pub fn DestroyShaderModule(
shaderModule : ShaderModule);
pub fn CreatePipelineCache(
pCreateInfo : *const PipelineCacheCreateInfo,
pPipelineCache : *mut PipelineCache) -> VkResult;
pub fn DestroyPipelineCache(
pipelineCache : PipelineCache);
pub fn GetPipelineCacheData(
pipelineCache : PipelineCache,
pDataSize : *mut usize,
pData : u64) -> VkResult;
pub fn MergePipelineCaches(
dstCache : PipelineCache,
srcCacheCount : u32,
pSrcCaches : *const PipelineCache) -> VkResult;
pub fn CreateGraphicsPipelines(
pipelineCache : PipelineCache,
createInfoCount : u32,
pCreateInfos : *const GraphicsPipelineCreateInfo,
pPipelines : *mut Pipeline) -> VkResult;
pub fn CreateComputePipelines(
pipelineCache : PipelineCache,
createInfoCount : u32,
pCreateInfos : *const ComputePipelineCreateInfo,
pPipelines : *mut Pipeline) -> VkResult;
pub fn DestroyPipeline(
pipeline : Pipeline);
pub fn CreatePipelineLayout(
pCreateInfo : *const PipelineLayoutCreateInfo,
pPipelineLayout : *mut PipelineLayout) -> VkResult;
pub fn DestroyPipelineLayout(
pipelineLayout : PipelineLayout);
pub fn CreateSampler(
pCreateInfo : *const SamplerCreateInfo,
pSampler : *mut Sampler) -> VkResult;
pub fn DestroySampler(
sampler : Sampler);
pub fn CreateDescriptorSetLayout(
pCreateInfo : *const DescriptorSetLayoutCreateInfo,
pSetLayout : *mut DescriptorSetLayout) -> VkResult;
pub fn DestroyDescriptorSetLayout(
descriptorSetLayout : DescriptorSetLayout);
pub fn CreateDescriptorPool(
pCreateInfo : *const DescriptorPoolCreateInfo,
pDescriptorPool : *mut DescriptorPool) -> VkResult;
pub fn DestroyDescriptorPool(
descriptorPool : DescriptorPool);
pub fn ResetDescriptorPool(
descriptorPool : DescriptorPool,
flags : DescriptorPoolResetFlags) -> VkResult;
pub fn AllocateDescriptorSets(
pAllocateInfo : *const DescriptorSetAllocateInfo,
pDescriptorSets : *mut DescriptorSet) -> VkResult;
pub fn FreeDescriptorSets(
descriptorPool : DescriptorPool,
descriptorSetCount : u32,
pDescriptorSets : *const DescriptorSet) -> VkResult;
pub fn UpdateDescriptorSets(
descriptorWriteCount : u32,
pDescriptorWrites : *const WriteDescriptorSet,
descriptorCopyCount : u32,
pDescriptorCopies : *const CopyDescriptorSet);
pub fn CreateFramebuffer(
pCreateInfo : *const FramebufferCreateInfo,
pFramebuffer : *mut Framebuffer) -> VkResult;
pub fn DestroyFramebuffer(
framebuffer : Framebuffer);
pub fn CreateRenderPass(
pCreateInfo : *const RenderPassCreateInfo,
pRenderPass : *mut RenderPass) -> VkResult;
pub fn DestroyRenderPass(
renderPass : RenderPass);
pub fn GetRenderAreaGranularity(
renderPass : RenderPass,
pGranularity : *mut Extent2D);
pub fn CreateCommandPool(
pCreateInfo : *const CommandPoolCreateInfo,
pCommandPool : *mut CommandPool) -> VkResult;
pub fn DestroyCommandPool(
commandPool : CommandPool);
pub fn ResetCommandPool(
commandPool : CommandPool,
flags : CommandPoolResetFlags) -> VkResult;
pub fn AllocateCommandBuffers(
pAllocateInfo : *const CommandBufferAllocateInfo,
pCommandBuffers : *mut CommandBuffer) -> VkResult;
pub fn FreeCommandBuffers(
commandPool : CommandPool,
commandBufferCount : u32,
pCommandBuffers : *const CommandBuffer);
pub fn BeginCommandBuffer(
commandBuffer : CommandBuffer,
pBeginInfo : *const CommandBufferBeginInfo) -> VkResult;
pub fn EndCommandBuffer(
commandBuffer : CommandBuffer) -> VkResult;
pub fn ResetCommandBuffer(
commandBuffer : CommandBuffer,
flags : CommandBufferResetFlags) -> VkResult;
pub fn CmdBindPipeline(
commandBuffer : CommandBuffer,
pipelineBindPoint : PipelineBindPoint,
pipeline : Pipeline);
pub fn CmdSetViewport(
commandBuffer : CommandBuffer,
firstViewport : u32,
viewportCount : u32,
pViewports : *const Viewport);
pub fn CmdSetScissor(
commandBuffer : CommandBuffer,
firstScissor : u32,
scissorCount : u32,
pScissors : *const Rect2D);
pub fn CmdSetLineWidth(
commandBuffer : CommandBuffer,
lineWidth : f32);
pub fn CmdSetDepthBias(
commandBuffer : CommandBuffer,
depthBiasConstantFactor : f32,
depthBiasClamp : f32,
depthBiasSlopeFactor : f32);
pub fn CmdSetBlendConstants(
commandBuffer : CommandBuffer,
blendConstants : [f32;4]);
pub fn CmdSetDepthBounds(
commandBuffer : CommandBuffer,
minDepthBounds : f32,
maxDepthBounds : f32);
pub fn CmdSetStencilCompareMask(
commandBuffer : CommandBuffer,
faceMask : StencilFaceFlags,
compareMask : u32);
pub fn CmdSetStencilWriteMask(
commandBuffer : CommandBuffer,
faceMask : StencilFaceFlags,
writeMask : u32);
pub fn CmdSetStencilReference(
commandBuffer : CommandBuffer,
faceMask : StencilFaceFlags,
reference : u32);
pub fn CmdBindDescriptorSets(
commandBuffer : CommandBuffer,
pipelineBindPoint : PipelineBindPoint,
layout : PipelineLayout,
firstSet : u32,
descriptorSetCount : u32,
pDescriptorSets : *const DescriptorSet,
dynamicOffsetCount : u32,
pDynamicOffsets : *const u32);
pub fn CmdBindIndexBuffer(
commandBuffer : CommandBuffer,
buffer : Buffer,
offset : DeviceSize,
indexType : IndexType);
pub fn CmdBindVertexBuffers(
commandBuffer : CommandBuffer,
firstBinding : u32,
bindingCount : u32,
pBuffers : *const Buffer,
pOffsets : *const DeviceSize);
pub fn CmdDraw(
commandBuffer : CommandBuffer,
vertexCount : u32,
instanceCount : u32,
firstVertex : u32,
firstInstance : u32);
pub fn CmdDrawIndexed(
commandBuffer : CommandBuffer,
indexCount : u32,
instanceCount : u32,
firstIndex : u32,
vertexOffset : i32,
firstInstance : u32);
pub fn CmdDrawIndirect(
commandBuffer : CommandBuffer,
buffer : Buffer,
offset : DeviceSize,
drawCount : u32,
stride : u32);
pub fn CmdDrawIndexedIndirect(
commandBuffer : CommandBuffer,
buffer : Buffer,
offset : DeviceSize,
drawCount : u32,
stride : u32);
pub fn CmdDispatch(
commandBuffer : CommandBuffer,
groupCountX : u32,
groupCountY : u32,
groupCountZ : u32);
pub fn CmdDispatchIndirect(
commandBuffer : CommandBuffer,
buffer : Buffer,
offset : DeviceSize);
pub fn CmdCopyBuffer(
commandBuffer : CommandBuffer,
srcBuffer : Buffer,
dstBuffer : Buffer,
regionCount : u32,
pRegions : *const BufferCopy);
pub fn CmdCopyImage(
commandBuffer : CommandBuffer,
srcImage : Image,
srcImageLayout : ImageLayout,
dstImage : Image,
dstImageLayout : ImageLayout,
regionCount : u32,
pRegions : *const ImageCopy);
pub fn CmdBlitImage(
commandBuffer : CommandBuffer,
srcImage : Image,
srcImageLayout : ImageLayout,
dstImage : Image,
dstImageLayout : ImageLayout,
regionCount : u32,
pRegions : *const ImageBlit,
filter : Filter);
pub fn CmdCopyBufferToImage(
commandBuffer : CommandBuffer,
srcBuffer : Buffer,
dstImage : Image,
dstImageLayout : ImageLayout,
regionCount : u32,
pRegions : *const BufferImageCopy);
pub fn CmdCopyImageToBuffer(
commandBuffer : CommandBuffer,
srcImage : Image,
srcImageLayout : ImageLayout,
dstBuffer : Buffer,
regionCount : u32,
pRegions : *const BufferImageCopy);
pub fn CmdUpdateBuffer(
commandBuffer : CommandBuffer,
dstBuffer : Buffer,
dstOffset : DeviceSize,
dataSize : DeviceSize,
pData : u64);
pub fn CmdFillBuffer(
commandBuffer : CommandBuffer,
dstBuffer : Buffer,
dstOffset : DeviceSize,
size : DeviceSize,
data : u32);
pub fn CmdClearColorImage(
commandBuffer : CommandBuffer,
image : Image,
imageLayout : ImageLayout,
pColor : *const ClearColorValue,
rangeCount : u32,
pRanges : *const ImageSubresourceRange);
pub fn CmdClearDepthStencilImage(
commandBuffer : CommandBuffer,
image : Image,
imageLayout : ImageLayout,
pDepthStencil : *const ClearDepthStencilValue,
rangeCount : u32,
pRanges : *const ImageSubresourceRange);
pub fn CmdClearAttachments(
commandBuffer : CommandBuffer,
attachmentCount : u32,
pAttachments : *const ClearAttachment,
rectCount : u32,
pRects : *const ClearRect);
pub fn CmdResolveImage(
commandBuffer : CommandBuffer,
srcImage : Image,
srcImageLayout : ImageLayout,
dstImage : Image,
dstImageLayout : ImageLayout,
regionCount : u32,
pRegions : *const ImageResolve);
pub fn CmdSetEvent(
commandBuffer : CommandBuffer,
event : Event,
stageMask : PipelineStageFlags);
pub fn CmdResetEvent(
commandBuffer : CommandBuffer,
event : Event,
stageMask : PipelineStageFlags);
pub fn CmdWaitEvents(
commandBuffer : CommandBuffer,
eventCount : u32,
pEvents : *const Event,
srcStageMask : PipelineStageFlags,
dstStageMask : PipelineStageFlags,
memoryBarrierCount : u32,
pMemoryBarriers : *const MemoryBarrier,
bufferMemoryBarrierCount : u32,
pBufferMemoryBarriers : *const BufferMemoryBarrier,
imageMemoryBarrierCount : u32,
pImageMemoryBarriers : *const ImageMemoryBarrier);
pub fn CmdPipelineBarrier(
commandBuffer : CommandBuffer,
srcStageMask : PipelineStageFlags,
dstStageMask : PipelineStageFlags,
dependencyFlags : DependencyFlags,
memoryBarrierCount : u32,
pMemoryBarriers : *const MemoryBarrier,
bufferMemoryBarrierCount : u32,
pBufferMemoryBarriers : *const BufferMemoryBarrier,
imageMemoryBarrierCount : u32,
pImageMemoryBarriers : *const ImageMemoryBarrier);
pub fn CmdBeginQuery(
commandBuffer : CommandBuffer,
queryPool : QueryPool,
query : u32,
flags : QueryControlFlags);
pub fn CmdEndQuery(
commandBuffer : CommandBuffer,
queryPool : QueryPool,
query : u32);
pub fn CmdResetQueryPool(
commandBuffer : CommandBuffer,
queryPool : QueryPool,
firstQuery : u32,
queryCount : u32);
pub fn CmdWriteTimestamp(
commandBuffer : CommandBuffer,
pipelineStage : PipelineStageFlagBits,
queryPool : QueryPool,
query : u32);
pub fn CmdCopyQueryPoolResults(
commandBuffer : CommandBuffer,
queryPool : QueryPool,
firstQuery : u32,
queryCount : u32,
dstBuffer : Buffer,
dstOffset : DeviceSize,
stride : DeviceSize,
flags : QueryResultFlags);
pub fn CmdPushConstants(
commandBuffer : CommandBuffer,
layout : PipelineLayout,
stageFlags : ShaderStageFlags,
offset : u32,
size : u32,
pValues : u64);
pub fn CmdBeginRenderPass(
commandBuffer : CommandBuffer,
pRenderPassBegin : *const RenderPassBeginInfo,
contents : SubpassContents);
pub fn CmdNextSubpass(
commandBuffer : CommandBuffer,
contents : SubpassContents);
pub fn CmdEndRenderPass(
commandBuffer : CommandBuffer);
pub fn CmdExecuteCommands(
commandBuffer : CommandBuffer,
commandBufferCount : u32,
pCommandBuffers : *const CommandBuffer);
pub fn EnumerateInstanceVersion(
pApiVersion : *mut u32) -> VkResult;
pub fn BindBufferMemory2(
bindInfoCount : u32,
pBindInfos : *const BindBufferMemoryInfo) -> VkResult;
pub fn BindImageMemory2(
bindInfoCount : u32,
pBindInfos : *const BindImageMemoryInfo) -> VkResult;
pub fn GetDeviceGroupPeerMemoryFeatures(
heapIndex : u32,
localDeviceIndex : u32,
remoteDeviceIndex : u32,
pPeerMemoryFeatures : *mut PeerMemoryFeatureFlags);
pub fn CmdSetDeviceMask(
commandBuffer : CommandBuffer,
deviceMask : u32);
pub fn CmdDispatchBase(
commandBuffer : CommandBuffer,
baseGroupX : u32,
baseGroupY : u32,
baseGroupZ : u32,
groupCountX : u32,
groupCountY : u32,
groupCountZ : u32);
pub fn EnumeratePhysicalDeviceGroups(
pPhysicalDeviceGroupCount : *mut u32,
pPhysicalDeviceGroupProperties : *mut PhysicalDeviceGroupProperties) -> VkResult;
pub fn GetImageMemoryRequirements2(
pInfo : *const ImageMemoryRequirementsInfo2,
pMemoryRequirements : *mut MemoryRequirements2);
pub fn GetBufferMemoryRequirements2(
pInfo : *const BufferMemoryRequirementsInfo2,
pMemoryRequirements : *mut MemoryRequirements2);
pub fn GetImageSparseMemoryRequirements2(
pInfo : *const ImageSparseMemoryRequirementsInfo2,
pSparseMemoryRequirementCount : *mut u32,
pSparseMemoryRequirements : *mut SparseImageMemoryRequirements2);
pub fn GetPhysicalDeviceFeatures2(
pFeatures : *mut PhysicalDeviceFeatures2);
pub fn GetPhysicalDeviceProperties2(
pProperties : *mut PhysicalDeviceProperties2);
pub fn GetPhysicalDeviceFormatProperties2(
format : Format,
pFormatProperties : *mut FormatProperties2);
pub fn GetPhysicalDeviceImageFormatProperties2(
pImageFormatInfo : *const PhysicalDeviceImageFormatInfo2,
pImageFormatProperties : *mut ImageFormatProperties2) -> VkResult;
pub fn GetPhysicalDeviceQueueFamilyProperties2(
pQueueFamilyPropertyCount : *mut u32,
pQueueFamilyProperties : *mut QueueFamilyProperties2);
pub fn GetPhysicalDeviceMemoryProperties2(
pMemoryProperties : *mut PhysicalDeviceMemoryProperties2);
pub fn GetPhysicalDeviceSparseImageFormatProperties2(
pFormatInfo : *const PhysicalDeviceSparseImageFormatInfo2,
pPropertyCount : *mut u32,
pProperties : *mut SparseImageFormatProperties2);
pub fn TrimCommandPool(
commandPool : CommandPool,
flags : CommandPoolTrimFlags);
pub fn GetDeviceQueue2(
pQueueInfo : *const DeviceQueueInfo2,
pQueue : *mut Queue);
pub fn CreateSamplerYcbcrConversion(
pCreateInfo : *const SamplerYcbcrConversionCreateInfo,
pYcbcrConversion : *mut SamplerYcbcrConversion) -> VkResult;
pub fn DestroySamplerYcbcrConversion(
ycbcrConversion : SamplerYcbcrConversion);
pub fn CreateDescriptorUpdateTemplate(
pCreateInfo : *const DescriptorUpdateTemplateCreateInfo,
pDescriptorUpdateTemplate : *mut DescriptorUpdateTemplate) -> VkResult;
pub fn DestroyDescriptorUpdateTemplate(
descriptorUpdateTemplate : DescriptorUpdateTemplate);
pub fn UpdateDescriptorSetWithTemplate(
descriptorSet : DescriptorSet,
descriptorUpdateTemplate : DescriptorUpdateTemplate,
pData : u64);
pub fn GetPhysicalDeviceExternalBufferProperties(
pExternalBufferInfo : *const PhysicalDeviceExternalBufferInfo,
pExternalBufferProperties : *mut ExternalBufferProperties);
pub fn GetPhysicalDeviceExternalFenceProperties(
pExternalFenceInfo : *const PhysicalDeviceExternalFenceInfo,
pExternalFenceProperties : *mut ExternalFenceProperties);
pub fn GetPhysicalDeviceExternalSemaphoreProperties(
pExternalSemaphoreInfo : *const PhysicalDeviceExternalSemaphoreInfo,
pExternalSemaphoreProperties : *mut ExternalSemaphoreProperties);
pub fn GetDescriptorSetLayoutSupport(
pCreateInfo : *const DescriptorSetLayoutCreateInfo,
pSupport : *mut DescriptorSetLayoutSupport);
pub fn CmdDrawIndirectCount(
commandBuffer : CommandBuffer,
buffer : Buffer,
offset : DeviceSize,
countBuffer : Buffer,
countBufferOffset : DeviceSize,
maxDrawCount : u32,
stride : u32);
pub fn CmdDrawIndexedIndirectCount(
commandBuffer : CommandBuffer,
buffer : Buffer,
offset : DeviceSize,
countBuffer : Buffer,
countBufferOffset : DeviceSize,
maxDrawCount : u32,
stride : u32);
pub fn CreateRenderPass2(
pCreateInfo : *const RenderPassCreateInfo2,
pRenderPass : *mut RenderPass) -> VkResult;
pub fn CmdBeginRenderPass2(
commandBuffer : CommandBuffer,
pRenderPassBegin : *const RenderPassBeginInfo,
pSubpassBeginInfo : *const SubpassBeginInfo);
pub fn CmdNextSubpass2(
commandBuffer : CommandBuffer,
pSubpassBeginInfo : *const SubpassBeginInfo,
pSubpassEndInfo : *const SubpassEndInfo);
pub fn CmdEndRenderPass2(
commandBuffer : CommandBuffer,
pSubpassEndInfo : *const SubpassEndInfo);
pub fn ResetQueryPool(
queryPool : QueryPool,
firstQuery : u32,
queryCount : u32);
pub fn GetSemaphoreCounterValue(
semaphore : Semaphore,
pValue : *mut u64) -> VkResult;
pub fn WaitSemaphores(
pWaitInfo : *const SemaphoreWaitInfo,
timeout : u64) -> VkResult;
pub fn SignalSemaphore(
pSignalInfo : *const SemaphoreSignalInfo) -> VkResult;
pub fn GetBufferDeviceAddress(
pInfo : *const BufferDeviceAddressInfo) -> DeviceAddress;
pub fn GetBufferOpaqueCaptureAddress(
pInfo : *const BufferDeviceAddressInfo) -> u64;
pub fn GetDeviceMemoryOpaqueCaptureAddress(
pInfo : *const DeviceMemoryOpaqueCaptureAddressInfo) -> u64;
pub fn DestroySurfaceKHR(
surface : SurfaceKHR);
pub fn GetPhysicalDeviceSurfaceSupportKHR(
queueFamilyIndex : u32,
surface : SurfaceKHR,
pSupported : *mut Bool32) -> VkResult;
pub fn GetPhysicalDeviceSurfaceCapabilitiesKHR(
surface : SurfaceKHR,
pSurfaceCapabilities : *mut SurfaceCapabilitiesKHR) -> VkResult;
pub fn GetPhysicalDeviceSurfaceFormatsKHR(
surface : SurfaceKHR,
pSurfaceFormatCount : *mut u32,
pSurfaceFormats : *mut SurfaceFormatKHR) -> VkResult;
pub fn GetPhysicalDeviceSurfacePresentModesKHR(
surface : SurfaceKHR,
pPresentModeCount : *mut u32,
pPresentModes : *mut PresentModeKHR) -> VkResult;
pub fn CreateSwapchainKHR(
pCreateInfo : *const SwapchainCreateInfoKHR,
pSwapchain : *mut SwapchainKHR) -> VkResult;
pub fn DestroySwapchainKHR(
swapchain : SwapchainKHR);
pub fn GetSwapchainImagesKHR(
swapchain : SwapchainKHR,
pSwapchainImageCount : *mut u32,
pSwapchainImages : *mut Image) -> VkResult;
pub fn AcquireNextImageKHR(
swapchain : SwapchainKHR,
timeout : u64,
semaphore : Semaphore,
fence : Fence,
pImageIndex : *mut u32) -> VkResult;
pub fn QueuePresentKHR(
pPresentInfo : *const PresentInfoKHR) -> VkResult;
pub fn GetDeviceGroupPresentCapabilitiesKHR(
pDeviceGroupPresentCapabilities : *mut DeviceGroupPresentCapabilitiesKHR) -> VkResult;
pub fn GetDeviceGroupSurfacePresentModesKHR(
surface : SurfaceKHR,
pModes : *mut DeviceGroupPresentModeFlagsKHR) -> VkResult;
pub fn GetPhysicalDevicePresentRectanglesKHR(
surface : SurfaceKHR,
pRectCount : *mut u32,
pRects : *mut Rect2D) -> VkResult;
pub fn AcquireNextImage2KHR(
pAcquireInfo : *const AcquireNextImageInfoKHR,
pImageIndex : *mut u32) -> VkResult;
pub fn GetPhysicalDeviceDisplayPropertiesKHR(
pPropertyCount : *mut u32,
pProperties : *mut DisplayPropertiesKHR) -> VkResult;
pub fn GetPhysicalDeviceDisplayPlanePropertiesKHR(
pPropertyCount : *mut u32,
pProperties : *mut DisplayPlanePropertiesKHR) -> VkResult;
pub fn GetDisplayPlaneSupportedDisplaysKHR(
planeIndex : u32,
pDisplayCount : *mut u32,
pDisplays : *mut DisplayKHR) -> VkResult;
pub fn GetDisplayModePropertiesKHR(
display : DisplayKHR,
pPropertyCount : *mut u32,
pProperties : *mut DisplayModePropertiesKHR) -> VkResult;
pub fn CreateDisplayModeKHR(
display : DisplayKHR,
pCreateInfo : *const DisplayModeCreateInfoKHR,
pMode : *mut DisplayModeKHR) -> VkResult;
pub fn GetDisplayPlaneCapabilitiesKHR(
mode : DisplayModeKHR,
planeIndex : u32,
pCapabilities : *mut DisplayPlaneCapabilitiesKHR) -> VkResult;
pub fn CreateDisplayPlaneSurfaceKHR(
pCreateInfo : *const DisplaySurfaceCreateInfoKHR,
pSurface : *mut SurfaceKHR) -> VkResult;
pub fn CreateSharedSwapchainsKHR(
swapchainCount : u32,
pCreateInfos : *const SwapchainCreateInfoKHR,
pSwapchains : *mut SwapchainKHR) -> VkResult;
pub fn GetPhysicalDeviceFeatures2KHR(
pFeatures : *mut PhysicalDeviceFeatures2);
pub fn GetPhysicalDeviceProperties2KHR(
pProperties : *mut PhysicalDeviceProperties2);
pub fn GetPhysicalDeviceFormatProperties2KHR(
format : Format,
pFormatProperties : *mut FormatProperties2);
pub fn GetPhysicalDeviceImageFormatProperties2KHR(
pImageFormatInfo : *const PhysicalDeviceImageFormatInfo2,
pImageFormatProperties : *mut ImageFormatProperties2) -> VkResult;
pub fn GetPhysicalDeviceQueueFamilyProperties2KHR(
pQueueFamilyPropertyCount : *mut u32,
pQueueFamilyProperties : *mut QueueFamilyProperties2);
pub fn GetPhysicalDeviceMemoryProperties2KHR(
pMemoryProperties : *mut PhysicalDeviceMemoryProperties2);
pub fn GetPhysicalDeviceSparseImageFormatProperties2KHR(
pFormatInfo : *const PhysicalDeviceSparseImageFormatInfo2,
pPropertyCount : *mut u32,
pProperties : *mut SparseImageFormatProperties2);
pub fn GetDeviceGroupPeerMemoryFeaturesKHR(
heapIndex : u32,
localDeviceIndex : u32,
remoteDeviceIndex : u32,
pPeerMemoryFeatures : *mut PeerMemoryFeatureFlags);
pub fn CmdSetDeviceMaskKHR(
commandBuffer : CommandBuffer,
deviceMask : u32);
pub fn CmdDispatchBaseKHR(
commandBuffer : CommandBuffer,
baseGroupX : u32,
baseGroupY : u32,
baseGroupZ : u32,
groupCountX : u32,
groupCountY : u32,
groupCountZ : u32);
pub fn TrimCommandPoolKHR(
commandPool : CommandPool,
flags : CommandPoolTrimFlags);
pub fn EnumeratePhysicalDeviceGroupsKHR(
pPhysicalDeviceGroupCount : *mut u32,
pPhysicalDeviceGroupProperties : *mut PhysicalDeviceGroupProperties) -> VkResult;
pub fn GetPhysicalDeviceExternalBufferPropertiesKHR(
pExternalBufferInfo : *const PhysicalDeviceExternalBufferInfo,
pExternalBufferProperties : *mut ExternalBufferProperties);
pub fn GetMemoryFdKHR(
pGetFdInfo : *const MemoryGetFdInfoKHR,
pFd : *mut i32) -> VkResult;
pub fn GetMemoryFdPropertiesKHR(
handleType : ExternalMemoryHandleTypeFlagBits,
fd : i32,
pMemoryFdProperties : *mut MemoryFdPropertiesKHR) -> VkResult;
pub fn GetPhysicalDeviceExternalSemaphorePropertiesKHR(
pExternalSemaphoreInfo : *const PhysicalDeviceExternalSemaphoreInfo,
pExternalSemaphoreProperties : *mut ExternalSemaphoreProperties);
pub fn ImportSemaphoreFdKHR(
pImportSemaphoreFdInfo : *const ImportSemaphoreFdInfoKHR) -> VkResult;
pub fn GetSemaphoreFdKHR(
pGetFdInfo : *const SemaphoreGetFdInfoKHR,
pFd : *mut i32) -> VkResult;
pub fn CmdPushDescriptorSetKHR(
commandBuffer : CommandBuffer,
pipelineBindPoint : PipelineBindPoint,
layout : PipelineLayout,
set : u32,
descriptorWriteCount : u32,
pDescriptorWrites : *const WriteDescriptorSet);
pub fn CmdPushDescriptorSetWithTemplateKHR(
commandBuffer : CommandBuffer,
descriptorUpdateTemplate : DescriptorUpdateTemplate,
layout : PipelineLayout,
set : u32,
pData : u64);
pub fn CreateDescriptorUpdateTemplateKHR(
pCreateInfo : *const DescriptorUpdateTemplateCreateInfo,
pDescriptorUpdateTemplate : *mut DescriptorUpdateTemplate) -> VkResult;
pub fn DestroyDescriptorUpdateTemplateKHR(
descriptorUpdateTemplate : DescriptorUpdateTemplate);
pub fn UpdateDescriptorSetWithTemplateKHR(
descriptorSet : DescriptorSet,
descriptorUpdateTemplate : DescriptorUpdateTemplate,
pData : u64);
pub fn CreateRenderPass2KHR(
pCreateInfo : *const RenderPassCreateInfo2,
pRenderPass : *mut RenderPass) -> VkResult;
pub fn CmdBeginRenderPass2KHR(
commandBuffer : CommandBuffer,
pRenderPassBegin : *const RenderPassBeginInfo,
pSubpassBeginInfo : *const SubpassBeginInfo);
pub fn CmdNextSubpass2KHR(
commandBuffer : CommandBuffer,
pSubpassBeginInfo : *const SubpassBeginInfo,
pSubpassEndInfo : *const SubpassEndInfo);
pub fn CmdEndRenderPass2KHR(
commandBuffer : CommandBuffer,
pSubpassEndInfo : *const SubpassEndInfo);
pub fn GetSwapchainStatusKHR(
swapchain : SwapchainKHR) -> VkResult;
pub fn GetPhysicalDeviceExternalFencePropertiesKHR(
pExternalFenceInfo : *const PhysicalDeviceExternalFenceInfo,
pExternalFenceProperties : *mut ExternalFenceProperties);
pub fn ImportFenceFdKHR(
pImportFenceFdInfo : *const ImportFenceFdInfoKHR) -> VkResult;
pub fn GetFenceFdKHR(
pGetFdInfo : *const FenceGetFdInfoKHR,
pFd : *mut i32) -> VkResult;
pub fn EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
queueFamilyIndex : u32,
pCounterCount : *mut u32,
pCounters : *mut PerformanceCounterKHR,
pCounterDescriptions : *mut PerformanceCounterDescriptionKHR) -> VkResult;
pub fn GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
pPerformanceQueryCreateInfo : *const QueryPoolPerformanceCreateInfoKHR,
pNumPasses : *mut u32);
pub fn AcquireProfilingLockKHR(
pInfo : *const AcquireProfilingLockInfoKHR) -> VkResult;
pub fn ReleaseProfilingLockKHR();
pub fn GetPhysicalDeviceSurfaceCapabilities2KHR(
pSurfaceInfo : *const PhysicalDeviceSurfaceInfo2KHR,
pSurfaceCapabilities : *mut SurfaceCapabilities2KHR) -> VkResult;
pub fn GetPhysicalDeviceSurfaceFormats2KHR(
pSurfaceInfo : *const PhysicalDeviceSurfaceInfo2KHR,
pSurfaceFormatCount : *mut u32,
pSurfaceFormats : *mut SurfaceFormat2KHR) -> VkResult;
pub fn GetPhysicalDeviceDisplayProperties2KHR(
pPropertyCount : *mut u32,
pProperties : *mut DisplayProperties2KHR) -> VkResult;
pub fn GetPhysicalDeviceDisplayPlaneProperties2KHR(
pPropertyCount : *mut u32,
pProperties : *mut DisplayPlaneProperties2KHR) -> VkResult;
pub fn GetDisplayModeProperties2KHR(
display : DisplayKHR,
pPropertyCount : *mut u32,
pProperties : *mut DisplayModeProperties2KHR) -> VkResult;
pub fn GetDisplayPlaneCapabilities2KHR(
pDisplayPlaneInfo : *const DisplayPlaneInfo2KHR,
pCapabilities : *mut DisplayPlaneCapabilities2KHR) -> VkResult;
pub fn GetImageMemoryRequirements2KHR(
pInfo : *const ImageMemoryRequirementsInfo2,
pMemoryRequirements : *mut MemoryRequirements2);
pub fn GetBufferMemoryRequirements2KHR(
pInfo : *const BufferMemoryRequirementsInfo2,
pMemoryRequirements : *mut MemoryRequirements2);
pub fn GetImageSparseMemoryRequirements2KHR(
pInfo : *const ImageSparseMemoryRequirementsInfo2,
pSparseMemoryRequirementCount : *mut u32,
pSparseMemoryRequirements : *mut SparseImageMemoryRequirements2);
pub fn CreateSamplerYcbcrConversionKHR(
pCreateInfo : *const SamplerYcbcrConversionCreateInfo,
pYcbcrConversion : *mut SamplerYcbcrConversion) -> VkResult;
pub fn DestroySamplerYcbcrConversionKHR(
ycbcrConversion : SamplerYcbcrConversion);
pub fn BindBufferMemory2KHR(
bindInfoCount : u32,
pBindInfos : *const BindBufferMemoryInfo) -> VkResult;
pub fn BindImageMemory2KHR(
bindInfoCount : u32,
pBindInfos : *const BindImageMemoryInfo) -> VkResult;
pub fn GetDescriptorSetLayoutSupportKHR(
pCreateInfo : *const DescriptorSetLayoutCreateInfo,
pSupport : *mut DescriptorSetLayoutSupport);
pub fn CmdDrawIndirectCountKHR(
commandBuffer : CommandBuffer,
buffer : Buffer,
offset : DeviceSize,
countBuffer : Buffer,
countBufferOffset : DeviceSize,
maxDrawCount : u32,
stride : u32);
pub fn CmdDrawIndexedIndirectCountKHR(
commandBuffer : CommandBuffer,
buffer : Buffer,
offset : DeviceSize,
countBuffer : Buffer,
countBufferOffset : DeviceSize,
maxDrawCount : u32,
stride : u32);
pub fn GetSemaphoreCounterValueKHR(
semaphore : Semaphore,
pValue : *mut u64) -> VkResult;
pub fn WaitSemaphoresKHR(
pWaitInfo : *const SemaphoreWaitInfo,
timeout : u64) -> VkResult;
pub fn SignalSemaphoreKHR(
pSignalInfo : *const SemaphoreSignalInfo) -> VkResult;
pub fn GetBufferDeviceAddressKHR(
pInfo : *const BufferDeviceAddressInfo) -> DeviceAddress;
pub fn GetBufferOpaqueCaptureAddressKHR(
pInfo : *const BufferDeviceAddressInfo) -> u64;
pub fn GetDeviceMemoryOpaqueCaptureAddressKHR(
pInfo : *const DeviceMemoryOpaqueCaptureAddressInfo) -> u64;
pub fn GetPipelineExecutablePropertiesKHR(
pPipelineInfo : *const PipelineInfoKHR,
pExecutableCount : *mut u32,
pProperties : *mut PipelineExecutablePropertiesKHR) -> VkResult;
pub fn GetPipelineExecutableInternalRepresentationsKHR(
pExecutableInfo : *const PipelineExecutableInfoKHR,
pInternalRepresentationCount : *mut u32,
pInternalRepresentations : *mut PipelineExecutableInternalRepresentationKHR) -> VkResult;
pub fn CreateDebugReportCallbackEXT(
pCreateInfo : *const DebugReportCallbackCreateInfoEXT,
pCallback : *mut DebugReportCallbackEXT) -> VkResult;
pub fn DestroyDebugReportCallbackEXT(
callback : DebugReportCallbackEXT);
pub fn DebugReportMessageEXT(
flags : DebugReportFlagsEXT,
objectType : DebugReportObjectTypeEXT,
object : u64,
location : usize,
messageCode : i32,
pLayerPrefix : *const i8,
pMessage : *const i8);
pub fn DebugMarkerSetObjectTagEXT(
pTagInfo : *const DebugMarkerObjectTagInfoEXT) -> VkResult;
pub fn DebugMarkerSetObjectNameEXT(
pNameInfo : *const DebugMarkerObjectNameInfoEXT) -> VkResult;
pub fn CmdDebugMarkerBeginEXT(
commandBuffer : CommandBuffer,
pMarkerInfo : *const DebugMarkerMarkerInfoEXT);
pub fn CmdDebugMarkerEndEXT(
commandBuffer : CommandBuffer);
pub fn CmdDebugMarkerInsertEXT(
commandBuffer : CommandBuffer,
pMarkerInfo : *const DebugMarkerMarkerInfoEXT);
pub fn CmdBindTransformFeedbackBuffersEXT(
commandBuffer : CommandBuffer,
firstBinding : u32,
bindingCount : u32,
pBuffers : *const Buffer,
pOffsets : *const DeviceSize,
pSizes : *const DeviceSize);
pub fn CmdBeginTransformFeedbackEXT(
commandBuffer : CommandBuffer,
firstCounterBuffer : u32,
counterBufferCount : u32,
pCounterBuffers : *const Buffer,
pCounterBufferOffsets : *const DeviceSize);
pub fn CmdEndTransformFeedbackEXT(
commandBuffer : CommandBuffer,
firstCounterBuffer : u32,
counterBufferCount : u32,
pCounterBuffers : *const Buffer,
pCounterBufferOffsets : *const DeviceSize);
pub fn CmdBeginQueryIndexedEXT(
commandBuffer : CommandBuffer,
queryPool : QueryPool,
query : u32,
flags : QueryControlFlags,
index : u32);
pub fn CmdEndQueryIndexedEXT(
commandBuffer : CommandBuffer,
queryPool : QueryPool,
query : u32,
index : u32);
pub fn CmdDrawIndirectByteCountEXT(
commandBuffer : CommandBuffer,
instanceCount : u32,
firstInstance : u32,
counterBuffer : Buffer,
counterBufferOffset : DeviceSize,
counterOffset : u32,
vertexStride : u32);
pub fn GetImageViewHandleNVX(
pInfo : *const ImageViewHandleInfoNVX) -> u32;
pub fn GetImageViewAddressNVX(
imageView : ImageView,
pProperties : *mut ImageViewAddressPropertiesNVX) -> VkResult;
pub fn CmdDrawIndirectCountAMD(
commandBuffer : CommandBuffer,
buffer : Buffer,
offset : DeviceSize,
countBuffer : Buffer,
countBufferOffset : DeviceSize,
maxDrawCount : u32,
stride : u32);
pub fn CmdDrawIndexedIndirectCountAMD(
commandBuffer : CommandBuffer,
buffer : Buffer,
offset : DeviceSize,
countBuffer : Buffer,
countBufferOffset : DeviceSize,
maxDrawCount : u32,
stride : u32);
pub fn GetShaderInfoAMD(
pipeline : Pipeline,
shaderStage : ShaderStageFlagBits,
infoType : ShaderInfoTypeAMD,
pInfoSize : *mut usize,
pInfo : u64) -> VkResult;
pub fn GetPhysicalDeviceExternalImageFormatPropertiesNV(
format : Format,
r#type : ImageType,
tiling : ImageTiling,
usage : ImageUsageFlags,
flags : ImageCreateFlags,
externalHandleType : ExternalMemoryHandleTypeFlagsNV,
pExternalImageFormatProperties : *mut ExternalImageFormatPropertiesNV) -> VkResult;
pub fn CmdBeginConditionalRenderingEXT(
commandBuffer : CommandBuffer,
pConditionalRenderingBegin : *const ConditionalRenderingBeginInfoEXT);
pub fn CmdEndConditionalRenderingEXT(
commandBuffer : CommandBuffer);
pub fn CmdSetViewportWScalingNV(
commandBuffer : CommandBuffer,
firstViewport : u32,
viewportCount : u32,
pViewportWScalings : *const ViewportWScalingNV);
pub fn ReleaseDisplayEXT(
display : DisplayKHR) -> VkResult;
pub fn GetPhysicalDeviceSurfaceCapabilities2EXT(
surface : SurfaceKHR,
pSurfaceCapabilities : *mut SurfaceCapabilities2EXT) -> VkResult;
pub fn DisplayPowerControlEXT(
display : DisplayKHR,
pDisplayPowerInfo : *const DisplayPowerInfoEXT) -> VkResult;
pub fn RegisterDeviceEventEXT(
pDeviceEventInfo : *const DeviceEventInfoEXT,
pFence : *mut Fence) -> VkResult;
pub fn RegisterDisplayEventEXT(
display : DisplayKHR,
pDisplayEventInfo : *const DisplayEventInfoEXT,
pFence : *mut Fence) -> VkResult;
pub fn GetSwapchainCounterEXT(
swapchain : SwapchainKHR,
counter : SurfaceCounterFlagBitsEXT,
pCounterValue : *mut u64) -> VkResult;
pub fn GetRefreshCycleDurationGOOGLE(
swapchain : SwapchainKHR,
pDisplayTimingProperties : *mut RefreshCycleDurationGOOGLE) -> VkResult;
pub fn GetPastPresentationTimingGOOGLE(
swapchain : SwapchainKHR,
pPresentationTimingCount : *mut u32,
pPresentationTimings : *mut PastPresentationTimingGOOGLE) -> VkResult;
pub fn CmdSetDiscardRectangleEXT(
commandBuffer : CommandBuffer,
firstDiscardRectangle : u32,
discardRectangleCount : u32,
pDiscardRectangles : *const Rect2D);
pub fn SetHdrMetadataEXT(
swapchainCount : u32,
pSwapchains : *const SwapchainKHR,
pMetadata : *const HdrMetadataEXT);
pub fn SetDebugUtilsObjectNameEXT(
pNameInfo : *const DebugUtilsObjectNameInfoEXT) -> VkResult;
pub fn SetDebugUtilsObjectTagEXT(
pTagInfo : *const DebugUtilsObjectTagInfoEXT) -> VkResult;
pub fn QueueBeginDebugUtilsLabelEXT(
pLabelInfo : *const DebugUtilsLabelEXT);
pub fn QueueEndDebugUtilsLabelEXT(
queue : Queue);
pub fn QueueInsertDebugUtilsLabelEXT(
pLabelInfo : *const DebugUtilsLabelEXT);
pub fn CmdBeginDebugUtilsLabelEXT(
commandBuffer : CommandBuffer,
pLabelInfo : *const DebugUtilsLabelEXT);
pub fn CmdEndDebugUtilsLabelEXT(
commandBuffer : CommandBuffer);
pub fn CmdInsertDebugUtilsLabelEXT(
commandBuffer : CommandBuffer,
pLabelInfo : *const DebugUtilsLabelEXT);
pub fn CreateDebugUtilsMessengerEXT(
pCreateInfo : *const DebugUtilsMessengerCreateInfoEXT,
pMessenger : *mut DebugUtilsMessengerEXT) -> VkResult;
pub fn DestroyDebugUtilsMessengerEXT(
messenger : DebugUtilsMessengerEXT);
pub fn SubmitDebugUtilsMessageEXT(
messageSeverity : DebugUtilsMessageSeverityFlagBitsEXT,
messageTypes : DebugUtilsMessageTypeFlagsEXT,
pCallbackData : *const DebugUtilsMessengerCallbackDataEXT);
pub fn CmdSetSampleLocationsEXT(
commandBuffer : CommandBuffer,
pSampleLocationsInfo : *const SampleLocationsInfoEXT);
pub fn GetPhysicalDeviceMultisamplePropertiesEXT(
samples : SampleCountFlagBits,
pMultisampleProperties : *mut MultisamplePropertiesEXT);
pub fn GetImageDrmFormatModifierPropertiesEXT(
image : Image,
pProperties : *mut ImageDrmFormatModifierPropertiesEXT) -> VkResult;
pub fn CreateValidationCacheEXT(
pCreateInfo : *const ValidationCacheCreateInfoEXT,
pValidationCache : *mut ValidationCacheEXT) -> VkResult;
pub fn DestroyValidationCacheEXT(
validationCache : ValidationCacheEXT);
pub fn MergeValidationCachesEXT(
dstCache : ValidationCacheEXT,
srcCacheCount : u32,
pSrcCaches : *const ValidationCacheEXT) -> VkResult;
pub fn GetValidationCacheDataEXT(
validationCache : ValidationCacheEXT,
pDataSize : *mut usize,
pData : u64) -> VkResult;
pub fn CmdBindShadingRateImageNV(
commandBuffer : CommandBuffer,
imageView : ImageView,
imageLayout : ImageLayout);
pub fn CmdSetViewportShadingRatePaletteNV(
commandBuffer : CommandBuffer,
firstViewport : u32,
viewportCount : u32,
pShadingRatePalettes : *const ShadingRatePaletteNV);
pub fn CmdSetCoarseSampleOrderNV(
commandBuffer : CommandBuffer,
sampleOrderType : CoarseSampleOrderTypeNV,
customSampleOrderCount : u32,
pCustomSampleOrders : *const CoarseSampleOrderCustomNV);
pub fn CreateAccelerationStructureNV(
pCreateInfo : *const AccelerationStructureCreateInfoNV,
pAccelerationStructure : *mut AccelerationStructureNV) -> VkResult;
pub fn DestroyAccelerationStructureKHR(
accelerationStructure : AccelerationStructureKHR);
pub fn DestroyAccelerationStructureNV(
accelerationStructure : AccelerationStructureKHR);
pub fn GetAccelerationStructureMemoryRequirementsNV(
pInfo : *const AccelerationStructureMemoryRequirementsInfoNV,
pMemoryRequirements : *mut MemoryRequirements2KHR);
pub fn BindAccelerationStructureMemoryKHR(
bindInfoCount : u32,
pBindInfos : *const BindAccelerationStructureMemoryInfoKHR) -> VkResult;
pub fn BindAccelerationStructureMemoryNV(
bindInfoCount : u32,
pBindInfos : *const BindAccelerationStructureMemoryInfoKHR) -> VkResult;
pub fn CmdBuildAccelerationStructureNV(
commandBuffer : CommandBuffer,
pInfo : *const AccelerationStructureInfoNV,
instanceData : Buffer,
instanceOffset : DeviceSize,
update : Bool32,
dst : AccelerationStructureKHR,
src : AccelerationStructureKHR,
scratch : Buffer,
scratchOffset : DeviceSize);
pub fn CmdCopyAccelerationStructureNV(
commandBuffer : CommandBuffer,
dst : AccelerationStructureKHR,
src : AccelerationStructureKHR,
mode : CopyAccelerationStructureModeKHR);
pub fn CmdTraceRaysNV(
commandBuffer : CommandBuffer,
raygenShaderBindingTableBuffer : Buffer,
raygenShaderBindingOffset : DeviceSize,
missShaderBindingTableBuffer : Buffer,
missShaderBindingOffset : DeviceSize,
missShaderBindingStride : DeviceSize,
hitShaderBindingTableBuffer : Buffer,
hitShaderBindingOffset : DeviceSize,
hitShaderBindingStride : DeviceSize,
callableShaderBindingTableBuffer : Buffer,
callableShaderBindingOffset : DeviceSize,
callableShaderBindingStride : DeviceSize,
width : u32,
height : u32,
depth : u32);
pub fn CreateRayTracingPipelinesNV(
pipelineCache : PipelineCache,
createInfoCount : u32,
pCreateInfos : *const RayTracingPipelineCreateInfoNV,
pPipelines : *mut Pipeline) -> VkResult;
pub fn GetRayTracingShaderGroupHandlesKHR(
pipeline : Pipeline,
firstGroup : u32,
groupCount : u32,
dataSize : usize,
pData : u64) -> VkResult;
pub fn GetRayTracingShaderGroupHandlesNV(
pipeline : Pipeline,
firstGroup : u32,
groupCount : u32,
dataSize : usize,
pData : u64) -> VkResult;
pub fn GetAccelerationStructureHandleNV(
accelerationStructure : AccelerationStructureKHR,
dataSize : usize,
pData : u64) -> VkResult;
pub fn CmdWriteAccelerationStructuresPropertiesKHR(
commandBuffer : CommandBuffer,
accelerationStructureCount : u32,
pAccelerationStructures : *const AccelerationStructureKHR,
queryType : QueryType,
queryPool : QueryPool,
firstQuery : u32);
pub fn CmdWriteAccelerationStructuresPropertiesNV(
commandBuffer : CommandBuffer,
accelerationStructureCount : u32,
pAccelerationStructures : *const AccelerationStructureKHR,
queryType : QueryType,
queryPool : QueryPool,
firstQuery : u32);
pub fn CompileDeferredNV(
pipeline : Pipeline,
shader : u32) -> VkResult;
pub fn GetMemoryHostPointerPropertiesEXT(
handleType : ExternalMemoryHandleTypeFlagBits,
pHostPointer : u64,
pMemoryHostPointerProperties : *mut MemoryHostPointerPropertiesEXT) -> VkResult;
pub fn CmdWriteBufferMarkerAMD(
commandBuffer : CommandBuffer,
pipelineStage : PipelineStageFlagBits,
dstBuffer : Buffer,
dstOffset : DeviceSize,
marker : u32);
pub fn GetPhysicalDeviceCalibrateableTimeDomainsEXT(
pTimeDomainCount : *mut u32,
pTimeDomains : *mut TimeDomainEXT) -> VkResult;
pub fn GetCalibratedTimestampsEXT(
timestampCount : u32,
pTimestampInfos : *const CalibratedTimestampInfoEXT,
pTimestamps : *mut u64,
pMaxDeviation : *mut u64) -> VkResult;
pub fn CmdDrawMeshTasksNV(
commandBuffer : CommandBuffer,
taskCount : u32,
firstTask : u32);
pub fn CmdDrawMeshTasksIndirectNV(
commandBuffer : CommandBuffer,
buffer : Buffer,
offset : DeviceSize,
drawCount : u32,
stride : u32);
pub fn CmdDrawMeshTasksIndirectCountNV(
commandBuffer : CommandBuffer,
buffer : Buffer,
offset : DeviceSize,
countBuffer : Buffer,
countBufferOffset : DeviceSize,
maxDrawCount : u32,
stride : u32);
pub fn CmdSetExclusiveScissorNV(
commandBuffer : CommandBuffer,
firstExclusiveScissor : u32,
exclusiveScissorCount : u32,
pExclusiveScissors : *const Rect2D);
pub fn CmdSetCheckpointNV(
commandBuffer : CommandBuffer,
pCheckpointMarker : u64);
pub fn GetQueueCheckpointDataNV(
pCheckpointDataCount : *mut u32,
pCheckpointData : *mut CheckpointDataNV);
pub fn InitializePerformanceApiINTEL(
pInitializeInfo : *const InitializePerformanceApiInfoINTEL) -> VkResult;
pub fn UninitializePerformanceApiINTEL();
pub fn CmdSetPerformanceMarkerINTEL(
commandBuffer : CommandBuffer,
pMarkerInfo : *const PerformanceMarkerInfoINTEL) -> VkResult;
pub fn CmdSetPerformanceStreamMarkerINTEL(
commandBuffer : CommandBuffer,
pMarkerInfo : *const PerformanceStreamMarkerInfoINTEL) -> VkResult;
pub fn CmdSetPerformanceOverrideINTEL(
commandBuffer : CommandBuffer,
pOverrideInfo : *const PerformanceOverrideInfoINTEL) -> VkResult;
pub fn AcquirePerformanceConfigurationINTEL(
pAcquireInfo : *const PerformanceConfigurationAcquireInfoINTEL,
pConfiguration : *mut PerformanceConfigurationINTEL) -> VkResult;
pub fn ReleasePerformanceConfigurationINTEL(
configuration : PerformanceConfigurationINTEL) -> VkResult;
pub fn QueueSetPerformanceConfigurationINTEL(
configuration : PerformanceConfigurationINTEL) -> VkResult;
pub fn SetLocalDimmingAMD(
swapChain : SwapchainKHR,
localDimmingEnable : Bool32);
pub fn GetBufferDeviceAddressEXT(
pInfo : *const BufferDeviceAddressInfo) -> DeviceAddress;
pub fn GetPhysicalDeviceToolPropertiesEXT(
pToolCount : *mut u32,
pToolProperties : *mut PhysicalDeviceToolPropertiesEXT) -> VkResult;
pub fn GetPhysicalDeviceCooperativeMatrixPropertiesNV(
pPropertyCount : *mut u32,
pProperties : *mut CooperativeMatrixPropertiesNV) -> VkResult;
pub fn GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
pCombinationCount : *mut u32,
pCombinations : *mut FramebufferMixedSamplesCombinationNV) -> VkResult;
pub fn CreateHeadlessSurfaceEXT(
pCreateInfo : *const HeadlessSurfaceCreateInfoEXT,
pSurface : *mut SurfaceKHR) -> VkResult;
pub fn CmdSetLineStippleEXT(
commandBuffer : CommandBuffer,
lineStippleFactor : u32,
lineStipplePattern : u16);
pub fn ResetQueryPoolEXT(
queryPool : QueryPool,
firstQuery : u32,
queryCount : u32);
pub fn GetGeneratedCommandsMemoryRequirementsNV(
pInfo : *const GeneratedCommandsMemoryRequirementsInfoNV,
pMemoryRequirements : *mut MemoryRequirements2);
pub fn CmdPreprocessGeneratedCommandsNV(
commandBuffer : CommandBuffer,
pGeneratedCommandsInfo : *const GeneratedCommandsInfoNV);
pub fn CmdExecuteGeneratedCommandsNV(
commandBuffer : CommandBuffer,
isPreprocessed : Bool32,
pGeneratedCommandsInfo : *const GeneratedCommandsInfoNV);
pub fn CmdBindPipelineShaderGroupNV(
commandBuffer : CommandBuffer,
pipelineBindPoint : PipelineBindPoint,
pipeline : Pipeline,
groupIndex : u32);
pub fn CreateIndirectCommandsLayoutNV(
pCreateInfo : *const IndirectCommandsLayoutCreateInfoNV,
pIndirectCommandsLayout : *mut IndirectCommandsLayoutNV) -> VkResult;
pub fn DestroyIndirectCommandsLayoutNV(
indirectCommandsLayout : IndirectCommandsLayoutNV);
pub fn CreatePrivateDataSlotEXT(
pCreateInfo : *const PrivateDataSlotCreateInfoEXT,
pPrivateDataSlot : *mut PrivateDataSlotEXT) -> VkResult;
pub fn DestroyPrivateDataSlotEXT(
privateDataSlot : PrivateDataSlotEXT);
pub fn SetPrivateDataEXT(
objectType : ObjectType,
objectHandle : u64,
privateDataSlot : PrivateDataSlotEXT,
data : u64) -> VkResult;
pub fn GetPrivateDataEXT(
objectType : ObjectType,
objectHandle : u64,
privateDataSlot : PrivateDataSlotEXT,
pData : *mut u64);
}
extern "C" {
pub fn CreateWin32SurfaceKHR(
pCreateInfo : *const Win32SurfaceCreateInfoKHR,
pSurface : *mut SurfaceKHR) -> VkResult;
pub fn GetPhysicalDeviceWin32PresentationSupportKHR() -> Bool32;
pub fn GetMemoryWin32HandleKHR(
pGetWin32HandleInfo : *const MemoryGetWin32HandleInfoKHR,
pHandle : *mut HANDLE) -> VkResult;
pub fn GetMemoryWin32HandlePropertiesKHR(
handleType : ExternalMemoryHandleTypeFlagBits,
handle : HANDLE,
pMemoryWin32HandleProperties : *mut MemoryWin32HandlePropertiesKHR) -> VkResult;
pub fn ImportSemaphoreWin32HandleKHR(
pImportSemaphoreWin32HandleInfo : *const ImportSemaphoreWin32HandleInfoKHR) -> VkResult;
pub fn GetSemaphoreWin32HandleKHR(
pGetWin32HandleInfo : *const SemaphoreGetWin32HandleInfoKHR,
pHandle : *mut HANDLE) -> VkResult;
pub fn ImportFenceWin32HandleKHR(
pImportFenceWin32HandleInfo : *const ImportFenceWin32HandleInfoKHR) -> VkResult;
pub fn GetFenceWin32HandleKHR(
pGetWin32HandleInfo : *const FenceGetWin32HandleInfoKHR,
pHandle : *mut HANDLE) -> VkResult;
pub fn GetMemoryWin32HandleNV(
memory : DeviceMemory,
handleType : ExternalMemoryHandleTypeFlagsNV,
pHandle : *mut HANDLE) -> VkResult;
pub fn GetPhysicalDeviceSurfacePresentModes2EXT(
pSurfaceInfo : *const PhysicalDeviceSurfaceInfo2KHR,
pPresentModeCount : *mut u32,
pPresentModes : *mut PresentModeKHR) -> VkResult;
pub fn AcquireFullScreenExclusiveModeEXT(
swapchain : SwapchainKHR) -> VkResult;
pub fn ReleaseFullScreenExclusiveModeEXT(
swapchain : SwapchainKHR) -> VkResult;
pub fn GetDeviceGroupSurfacePresentModes2EXT(
pSurfaceInfo : *const PhysicalDeviceSurfaceInfo2KHR,
pModes : *mut DeviceGroupPresentModeFlagsKHR) -> VkResult;
}
pub type XlibSurfaceCreateFlagsKHR = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XlibSurfaceCreateInfoKHR {
pub sType : StructureType,
pub pNext : *const void,
pub flags : XlibSurfaceCreateFlagsKHR,
pub dpy : u64,
pub window : u64,
}
impl ::std::default::Default for XlibSurfaceCreateInfoKHR {
fn default() -> XlibSurfaceCreateInfoKHR {
XlibSurfaceCreateInfoKHR {
sType : STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR,
pNext : 0 as _,
flags : Default::default(),
dpy : 0 as _,
window : 0 as _,
}
}
}
extern "C" {
pub fn CreateXlibSurfaceKHR(
pCreateInfo : *const XlibSurfaceCreateInfoKHR,
pSurface : *mut SurfaceKHR) -> VkResult;
pub fn GetPhysicalDeviceXlibPresentationSupportKHR(
queueFamilyIndex : u32,
dpy : u64,
visualID : u64) -> Bool32;
}
pub type XcbSurfaceCreateFlagsKHR = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XcbSurfaceCreateInfoKHR {
pub sType : StructureType,
pub pNext : *const void,
pub flags : XcbSurfaceCreateFlagsKHR,
pub connection : u64,
pub window : u64,
}
impl ::std::default::Default for XcbSurfaceCreateInfoKHR {
fn default() -> XcbSurfaceCreateInfoKHR {
XcbSurfaceCreateInfoKHR {
sType : STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR,
pNext : 0 as _,
flags : Default::default(),
connection : 0 as _,
window : 0 as _,
}
}
}
extern "C" {
pub fn CreateXcbSurfaceKHR(
pCreateInfo : *const XcbSurfaceCreateInfoKHR,
pSurface : *mut SurfaceKHR) -> VkResult;
pub fn GetPhysicalDeviceXcbPresentationSupportKHR(
queueFamilyIndex : u32,
connection : u64,
visual_id : u32) -> Bool32;
}
pub type WaylandSurfaceCreateFlagsKHR = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct WaylandSurfaceCreateInfoKHR {
pub sType : StructureType,
pub pNext : *const void,
pub flags : WaylandSurfaceCreateFlagsKHR,
pub display : u64,
pub surface : u64,
}
impl ::std::default::Default for WaylandSurfaceCreateInfoKHR {
fn default() -> WaylandSurfaceCreateInfoKHR {
WaylandSurfaceCreateInfoKHR {
sType : STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR,
pNext : 0 as _,
flags : Default::default(),
display : 0 as _,
surface : 0 as _,
}
}
}
extern "C" {
pub fn CreateWaylandSurfaceKHR(
pCreateInfo : *const WaylandSurfaceCreateInfoKHR,
pSurface : *const SurfaceKHR) -> VkResult;
pub fn GetPhysicalDeviceWaylandPresentationSupportKHR(
queueFamilyIndex : u32,
display : u64) -> Bool32;
}
pub type AndroidSurfaceCreateFlagsKHR = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct AndroidSurfaceCreateInfoKHR {
pub sType : StructureType,
pub pNext : *const void,
pub flags : AndroidSurfaceCreateFlagsKHR,
pub window : u64,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct AndroidHardwareBufferUsageANDROID {
pub sType : StructureType,
pub pNext : *mut void,
pub androidHardwareBufferUsage : u64,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct AndroidHardwareBufferPropertiesANDROID {
pub sType : StructureType,
pub pNext : *mut void,
pub allocationSize : DeviceSize,
pub memoryTypeBits : u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct AndroidHardwareBufferFormatPropertiesANDROID {
pub sType : StructureType,
pub pNext : *mut void,
pub format : Format,
pub externalFormat : u64,
pub formatFeatures : FormatFeatureFlags,
pub samplerYcbcrConversionComponents : ComponentMapping,
pub suggestedYcbcrModel : SamplerYcbcrModelConversion,
pub suggestedYcbcrRange : SamplerYcbcrRange,
pub suggestedXChromaOffset : ChromaLocation,
pub suggestedYChromaOffset : ChromaLocation,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ImportAndroidHardwareBufferInfoANDROID {
pub sType : StructureType,
pub pNext : *const void,
pub buffer : u64,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct MemoryGetAndroidHardwareBufferInfoANDROID {
pub sType : StructureType,
pub pNext : *const void,
pub memory : DeviceMemory,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ExternalFormatANDROID {
pub sType : StructureType,
pub pNext : *mut void,
pub externalFormat : u64,
}
impl ::std::default::Default for AndroidSurfaceCreateInfoKHR {
fn default() -> AndroidSurfaceCreateInfoKHR {
AndroidSurfaceCreateInfoKHR {
sType : STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR,
pNext : 0 as _,
flags : 0 as _,
window : 0 as _,
}
}
}
impl ::std::default::Default for AndroidHardwareBufferUsageANDROID {
fn default() -> AndroidHardwareBufferUsageANDROID {
AndroidHardwareBufferUsageANDROID {
sType : STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID,
pNext : 0 as _,
androidHardwareBufferUsage : 0 as _,
}
}
}
impl ::std::default::Default for AndroidHardwareBufferPropertiesANDROID {
fn default() -> AndroidHardwareBufferPropertiesANDROID {
AndroidHardwareBufferPropertiesANDROID {
sType : STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID,
pNext : 0 as _,
allocationSize : 0 as _,
memoryTypeBits : 0 as _,
}
}
}
impl ::std::default::Default for AndroidHardwareBufferFormatPropertiesANDROID {
fn default() -> AndroidHardwareBufferFormatPropertiesANDROID {
AndroidHardwareBufferFormatPropertiesANDROID {
sType : STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID,
pNext : 0 as _,
format : 0 as _,
externalFormat : 0 as _,
formatFeatures : 0 as _,
samplerYcbcrConversionComponents : Default::default(),
suggestedYcbcrModel : 0 as _,
suggestedYcbcrRange : 0 as _,
suggestedXChromaOffset : 0 as _,
suggestedYChromaOffset : 0 as _,
}
}
}
impl ::std::default::Default for ImportAndroidHardwareBufferInfoANDROID {
fn default() -> ImportAndroidHardwareBufferInfoANDROID {
ImportAndroidHardwareBufferInfoANDROID {
sType : STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID,
pNext : 0 as _,
buffer : 0 as _,
}
}
}
impl ::std::default::Default for MemoryGetAndroidHardwareBufferInfoANDROID {
fn default() -> MemoryGetAndroidHardwareBufferInfoANDROID {
MemoryGetAndroidHardwareBufferInfoANDROID {
sType : STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID,
pNext : 0 as _,
memory : 0 as _,
}
}
}
impl ::std::default::Default for ExternalFormatANDROID {
fn default() -> ExternalFormatANDROID {
ExternalFormatANDROID {
sType : STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID,
pNext : 0 as _,
externalFormat : 0 as _,
}
}
}
extern "C" {
pub fn CreateAndroidSurfaceKHR(
pCreateInfo : *const AndroidSurfaceCreateInfoKHR,
pSurface : *mut SurfaceKHR) -> VkResult;
pub fn GetAndroidHardwareBufferPropertiesANDROID(
buffer : u64,
pProperties : *mut AndroidHardwareBufferPropertiesANDROID) -> VkResult;
pub fn GetMemoryAndroidHardwareBufferANDROID(
pInfo : *const MemoryGetAndroidHardwareBufferInfoANDROID,
pBuffer : u64) -> VkResult;
}
impl ApplicationInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn pApplicationName(mut self, pApplicationName : *const i8) -> Self {
self.pApplicationName = pApplicationName;
self
}
pub fn applicationVersion(mut self, applicationVersion : u32) -> Self {
self.applicationVersion = applicationVersion;
self
}
pub fn pEngineName(mut self, pEngineName : *const i8) -> Self {
self.pEngineName = pEngineName;
self
}
pub fn engineVersion(mut self, engineVersion : u32) -> Self {
self.engineVersion = engineVersion;
self
}
pub fn apiVersion(mut self, apiVersion : u32) -> Self {
self.apiVersion = apiVersion;
self
}
}
impl InstanceCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : i32) -> Self {
self.flags = flags;
self
}
pub fn pApplicationInfo(mut self, pApplicationInfo : *const ApplicationInfo) -> Self {
self.pApplicationInfo = pApplicationInfo;
self
}
pub fn enabledLayerCount(mut self, enabledLayerCount : u32) -> Self {
self.enabledLayerCount = enabledLayerCount;
self
}
pub fn ppEnabledLayerNames(mut self, ppEnabledLayerNames : *const *const i8) -> Self {
self.ppEnabledLayerNames = ppEnabledLayerNames;
self
}
pub fn enabledExtensionCount(mut self, enabledExtensionCount : u32) -> Self {
self.enabledExtensionCount = enabledExtensionCount;
self
}
pub fn ppEnabledExtensionNames(mut self, ppEnabledExtensionNames : *const *const i8) -> Self {
self.ppEnabledExtensionNames = ppEnabledExtensionNames;
self
}
}
impl AllocationCallbacks {
pub fn new() -> Self {
Self::default()
}
pub fn pUserData(mut self, pUserData : *mut void) -> Self {
self.pUserData = pUserData;
self
}
pub fn pfnAllocation(mut self, pfnAllocation : u64) -> Self {
self.pfnAllocation = pfnAllocation;
self
}
pub fn pfnReallocation(mut self, pfnReallocation : u64) -> Self {
self.pfnReallocation = pfnReallocation;
self
}
pub fn pfnFree(mut self, pfnFree : u64) -> Self {
self.pfnFree = pfnFree;
self
}
pub fn pfnInternalAllocation(mut self, pfnInternalAllocation : u64) -> Self {
self.pfnInternalAllocation = pfnInternalAllocation;
self
}
pub fn pfnInternalFree(mut self, pfnInternalFree : u64) -> Self {
self.pfnInternalFree = pfnInternalFree;
self
}
}
impl PhysicalDeviceFeatures {
pub fn new() -> Self {
Self::default()
}
pub fn robustBufferAccess(mut self, robustBufferAccess : Bool32) -> Self {
self.robustBufferAccess = robustBufferAccess;
self
}
pub fn fullDrawIndexUint32(mut self, fullDrawIndexUint32 : Bool32) -> Self {
self.fullDrawIndexUint32 = fullDrawIndexUint32;
self
}
pub fn imageCubeArray(mut self, imageCubeArray : Bool32) -> Self {
self.imageCubeArray = imageCubeArray;
self
}
pub fn independentBlend(mut self, independentBlend : Bool32) -> Self {
self.independentBlend = independentBlend;
self
}
pub fn geometryShader(mut self, geometryShader : Bool32) -> Self {
self.geometryShader = geometryShader;
self
}
pub fn tessellationShader(mut self, tessellationShader : Bool32) -> Self {
self.tessellationShader = tessellationShader;
self
}
pub fn sampleRateShading(mut self, sampleRateShading : Bool32) -> Self {
self.sampleRateShading = sampleRateShading;
self
}
pub fn dualSrcBlend(mut self, dualSrcBlend : Bool32) -> Self {
self.dualSrcBlend = dualSrcBlend;
self
}
pub fn logicOp(mut self, logicOp : Bool32) -> Self {
self.logicOp = logicOp;
self
}
pub fn multiDrawIndirect(mut self, multiDrawIndirect : Bool32) -> Self {
self.multiDrawIndirect = multiDrawIndirect;
self
}
pub fn drawIndirectFirstInstance(mut self, drawIndirectFirstInstance : Bool32) -> Self {
self.drawIndirectFirstInstance = drawIndirectFirstInstance;
self
}
pub fn depthClamp(mut self, depthClamp : Bool32) -> Self {
self.depthClamp = depthClamp;
self
}
pub fn depthBiasClamp(mut self, depthBiasClamp : Bool32) -> Self {
self.depthBiasClamp = depthBiasClamp;
self
}
pub fn fillModeNonSolid(mut self, fillModeNonSolid : Bool32) -> Self {
self.fillModeNonSolid = fillModeNonSolid;
self
}
pub fn depthBounds(mut self, depthBounds : Bool32) -> Self {
self.depthBounds = depthBounds;
self
}
pub fn wideLines(mut self, wideLines : Bool32) -> Self {
self.wideLines = wideLines;
self
}
pub fn largePoints(mut self, largePoints : Bool32) -> Self {
self.largePoints = largePoints;
self
}
pub fn alphaToOne(mut self, alphaToOne : Bool32) -> Self {
self.alphaToOne = alphaToOne;
self
}
pub fn multiViewport(mut self, multiViewport : Bool32) -> Self {
self.multiViewport = multiViewport;
self
}
pub fn samplerAnisotropy(mut self, samplerAnisotropy : Bool32) -> Self {
self.samplerAnisotropy = samplerAnisotropy;
self
}
pub fn textureCompressionETC2(mut self, textureCompressionETC2 : Bool32) -> Self {
self.textureCompressionETC2 = textureCompressionETC2;
self
}
pub fn textureCompressionASTC_LDR(mut self, textureCompressionASTC_LDR : Bool32) -> Self {
self.textureCompressionASTC_LDR = textureCompressionASTC_LDR;
self
}
pub fn textureCompressionBC(mut self, textureCompressionBC : Bool32) -> Self {
self.textureCompressionBC = textureCompressionBC;
self
}
pub fn occlusionQueryPrecise(mut self, occlusionQueryPrecise : Bool32) -> Self {
self.occlusionQueryPrecise = occlusionQueryPrecise;
self
}
pub fn pipelineStatisticsQuery(mut self, pipelineStatisticsQuery : Bool32) -> Self {
self.pipelineStatisticsQuery = pipelineStatisticsQuery;
self
}
pub fn vertexPipelineStoresAndAtomics(mut self, vertexPipelineStoresAndAtomics : Bool32) -> Self {
self.vertexPipelineStoresAndAtomics = vertexPipelineStoresAndAtomics;
self
}
pub fn fragmentStoresAndAtomics(mut self, fragmentStoresAndAtomics : Bool32) -> Self {
self.fragmentStoresAndAtomics = fragmentStoresAndAtomics;
self
}
pub fn shaderTessellationAndGeometryPointSize(mut self, shaderTessellationAndGeometryPointSize : Bool32) -> Self {
self.shaderTessellationAndGeometryPointSize = shaderTessellationAndGeometryPointSize;
self
}
pub fn shaderImageGatherExtended(mut self, shaderImageGatherExtended : Bool32) -> Self {
self.shaderImageGatherExtended = shaderImageGatherExtended;
self
}
pub fn shaderStorageImageExtendedFormats(mut self, shaderStorageImageExtendedFormats : Bool32) -> Self {
self.shaderStorageImageExtendedFormats = shaderStorageImageExtendedFormats;
self
}
pub fn shaderStorageImageMultisample(mut self, shaderStorageImageMultisample : Bool32) -> Self {
self.shaderStorageImageMultisample = shaderStorageImageMultisample;
self
}
pub fn shaderStorageImageReadWithoutFormat(mut self, shaderStorageImageReadWithoutFormat : Bool32) -> Self {
self.shaderStorageImageReadWithoutFormat = shaderStorageImageReadWithoutFormat;
self
}
pub fn shaderStorageImageWriteWithoutFormat(mut self, shaderStorageImageWriteWithoutFormat : Bool32) -> Self {
self.shaderStorageImageWriteWithoutFormat = shaderStorageImageWriteWithoutFormat;
self
}
pub fn shaderUniformBufferArrayDynamicIndexing(mut self, shaderUniformBufferArrayDynamicIndexing : Bool32) -> Self {
self.shaderUniformBufferArrayDynamicIndexing = shaderUniformBufferArrayDynamicIndexing;
self
}
pub fn shaderSampledImageArrayDynamicIndexing(mut self, shaderSampledImageArrayDynamicIndexing : Bool32) -> Self {
self.shaderSampledImageArrayDynamicIndexing = shaderSampledImageArrayDynamicIndexing;
self
}
pub fn shaderStorageBufferArrayDynamicIndexing(mut self, shaderStorageBufferArrayDynamicIndexing : Bool32) -> Self {
self.shaderStorageBufferArrayDynamicIndexing = shaderStorageBufferArrayDynamicIndexing;
self
}
pub fn shaderStorageImageArrayDynamicIndexing(mut self, shaderStorageImageArrayDynamicIndexing : Bool32) -> Self {
self.shaderStorageImageArrayDynamicIndexing = shaderStorageImageArrayDynamicIndexing;
self
}
pub fn shaderClipDistance(mut self, shaderClipDistance : Bool32) -> Self {
self.shaderClipDistance = shaderClipDistance;
self
}
pub fn shaderCullDistance(mut self, shaderCullDistance : Bool32) -> Self {
self.shaderCullDistance = shaderCullDistance;
self
}
pub fn shaderFloat64(mut self, shaderFloat64 : Bool32) -> Self {
self.shaderFloat64 = shaderFloat64;
self
}
pub fn shaderInt64(mut self, shaderInt64 : Bool32) -> Self {
self.shaderInt64 = shaderInt64;
self
}
pub fn shaderInt16(mut self, shaderInt16 : Bool32) -> Self {
self.shaderInt16 = shaderInt16;
self
}
pub fn shaderResourceResidency(mut self, shaderResourceResidency : Bool32) -> Self {
self.shaderResourceResidency = shaderResourceResidency;
self
}
pub fn shaderResourceMinLod(mut self, shaderResourceMinLod : Bool32) -> Self {
self.shaderResourceMinLod = shaderResourceMinLod;
self
}
pub fn sparseBinding(mut self, sparseBinding : Bool32) -> Self {
self.sparseBinding = sparseBinding;
self
}
pub fn sparseResidencyBuffer(mut self, sparseResidencyBuffer : Bool32) -> Self {
self.sparseResidencyBuffer = sparseResidencyBuffer;
self
}
pub fn sparseResidencyImage2D(mut self, sparseResidencyImage2D : Bool32) -> Self {
self.sparseResidencyImage2D = sparseResidencyImage2D;
self
}
pub fn sparseResidencyImage3D(mut self, sparseResidencyImage3D : Bool32) -> Self {
self.sparseResidencyImage3D = sparseResidencyImage3D;
self
}
pub fn sparseResidency2Samples(mut self, sparseResidency2Samples : Bool32) -> Self {
self.sparseResidency2Samples = sparseResidency2Samples;
self
}
pub fn sparseResidency4Samples(mut self, sparseResidency4Samples : Bool32) -> Self {
self.sparseResidency4Samples = sparseResidency4Samples;
self
}
pub fn sparseResidency8Samples(mut self, sparseResidency8Samples : Bool32) -> Self {
self.sparseResidency8Samples = sparseResidency8Samples;
self
}
pub fn sparseResidency16Samples(mut self, sparseResidency16Samples : Bool32) -> Self {
self.sparseResidency16Samples = sparseResidency16Samples;
self
}
pub fn sparseResidencyAliased(mut self, sparseResidencyAliased : Bool32) -> Self {
self.sparseResidencyAliased = sparseResidencyAliased;
self
}
pub fn variableMultisampleRate(mut self, variableMultisampleRate : Bool32) -> Self {
self.variableMultisampleRate = variableMultisampleRate;
self
}
pub fn inheritedQueries(mut self, inheritedQueries : Bool32) -> Self {
self.inheritedQueries = inheritedQueries;
self
}
}
impl FormatProperties {
pub fn new() -> Self {
Self::default()
}
pub fn linearTilingFeatures(mut self, linearTilingFeatures : FormatFeatureFlags) -> Self {
self.linearTilingFeatures = linearTilingFeatures;
self
}
pub fn optimalTilingFeatures(mut self, optimalTilingFeatures : FormatFeatureFlags) -> Self {
self.optimalTilingFeatures = optimalTilingFeatures;
self
}
pub fn bufferFeatures(mut self, bufferFeatures : FormatFeatureFlags) -> Self {
self.bufferFeatures = bufferFeatures;
self
}
}
impl Extent3D {
pub fn new() -> Self {
Self::default()
}
pub fn width(mut self, width : u32) -> Self {
self.width = width;
self
}
pub fn height(mut self, height : u32) -> Self {
self.height = height;
self
}
pub fn depth(mut self, depth : u32) -> Self {
self.depth = depth;
self
}
}
impl ImageFormatProperties {
pub fn new() -> Self {
Self::default()
}
pub fn maxExtent(mut self, maxExtent : Extent3D) -> Self {
self.maxExtent = maxExtent;
self
}
pub fn maxMipLevels(mut self, maxMipLevels : u32) -> Self {
self.maxMipLevels = maxMipLevels;
self
}
pub fn maxArrayLayers(mut self, maxArrayLayers : u32) -> Self {
self.maxArrayLayers = maxArrayLayers;
self
}
pub fn sampleCounts(mut self, sampleCounts : SampleCountFlags) -> Self {
self.sampleCounts = sampleCounts;
self
}
pub fn maxResourceSize(mut self, maxResourceSize : DeviceSize) -> Self {
self.maxResourceSize = maxResourceSize;
self
}
}
impl PhysicalDeviceLimits {
pub fn new() -> Self {
Self::default()
}
pub fn maxImageDimension1D(mut self, maxImageDimension1D : u32) -> Self {
self.maxImageDimension1D = maxImageDimension1D;
self
}
pub fn maxImageDimension2D(mut self, maxImageDimension2D : u32) -> Self {
self.maxImageDimension2D = maxImageDimension2D;
self
}
pub fn maxImageDimension3D(mut self, maxImageDimension3D : u32) -> Self {
self.maxImageDimension3D = maxImageDimension3D;
self
}
pub fn maxImageDimensionCube(mut self, maxImageDimensionCube : u32) -> Self {
self.maxImageDimensionCube = maxImageDimensionCube;
self
}
pub fn maxImageArrayLayers(mut self, maxImageArrayLayers : u32) -> Self {
self.maxImageArrayLayers = maxImageArrayLayers;
self
}
pub fn maxTexelBufferElements(mut self, maxTexelBufferElements : u32) -> Self {
self.maxTexelBufferElements = maxTexelBufferElements;
self
}
pub fn maxUniformBufferRange(mut self, maxUniformBufferRange : u32) -> Self {
self.maxUniformBufferRange = maxUniformBufferRange;
self
}
pub fn maxStorageBufferRange(mut self, maxStorageBufferRange : u32) -> Self {
self.maxStorageBufferRange = maxStorageBufferRange;
self
}
pub fn maxPushConstantsSize(mut self, maxPushConstantsSize : u32) -> Self {
self.maxPushConstantsSize = maxPushConstantsSize;
self
}
pub fn maxMemoryAllocationCount(mut self, maxMemoryAllocationCount : u32) -> Self {
self.maxMemoryAllocationCount = maxMemoryAllocationCount;
self
}
pub fn maxSamplerAllocationCount(mut self, maxSamplerAllocationCount : u32) -> Self {
self.maxSamplerAllocationCount = maxSamplerAllocationCount;
self
}
pub fn bufferImageGranularity(mut self, bufferImageGranularity : DeviceSize) -> Self {
self.bufferImageGranularity = bufferImageGranularity;
self
}
pub fn sparseAddressSpaceSize(mut self, sparseAddressSpaceSize : DeviceSize) -> Self {
self.sparseAddressSpaceSize = sparseAddressSpaceSize;
self
}
pub fn maxBoundDescriptorSets(mut self, maxBoundDescriptorSets : u32) -> Self {
self.maxBoundDescriptorSets = maxBoundDescriptorSets;
self
}
pub fn maxPerStageDescriptorSamplers(mut self, maxPerStageDescriptorSamplers : u32) -> Self {
self.maxPerStageDescriptorSamplers = maxPerStageDescriptorSamplers;
self
}
pub fn maxPerStageDescriptorUniformBuffers(mut self, maxPerStageDescriptorUniformBuffers : u32) -> Self {
self.maxPerStageDescriptorUniformBuffers = maxPerStageDescriptorUniformBuffers;
self
}
pub fn maxPerStageDescriptorStorageBuffers(mut self, maxPerStageDescriptorStorageBuffers : u32) -> Self {
self.maxPerStageDescriptorStorageBuffers = maxPerStageDescriptorStorageBuffers;
self
}
pub fn maxPerStageDescriptorSampledImages(mut self, maxPerStageDescriptorSampledImages : u32) -> Self {
self.maxPerStageDescriptorSampledImages = maxPerStageDescriptorSampledImages;
self
}
pub fn maxPerStageDescriptorStorageImages(mut self, maxPerStageDescriptorStorageImages : u32) -> Self {
self.maxPerStageDescriptorStorageImages = maxPerStageDescriptorStorageImages;
self
}
pub fn maxPerStageDescriptorInputAttachments(mut self, maxPerStageDescriptorInputAttachments : u32) -> Self {
self.maxPerStageDescriptorInputAttachments = maxPerStageDescriptorInputAttachments;
self
}
pub fn maxPerStageResources(mut self, maxPerStageResources : u32) -> Self {
self.maxPerStageResources = maxPerStageResources;
self
}
pub fn maxDescriptorSetSamplers(mut self, maxDescriptorSetSamplers : u32) -> Self {
self.maxDescriptorSetSamplers = maxDescriptorSetSamplers;
self
}
pub fn maxDescriptorSetUniformBuffers(mut self, maxDescriptorSetUniformBuffers : u32) -> Self {
self.maxDescriptorSetUniformBuffers = maxDescriptorSetUniformBuffers;
self
}
pub fn maxDescriptorSetUniformBuffersDynamic(mut self, maxDescriptorSetUniformBuffersDynamic : u32) -> Self {
self.maxDescriptorSetUniformBuffersDynamic = maxDescriptorSetUniformBuffersDynamic;
self
}
pub fn maxDescriptorSetStorageBuffers(mut self, maxDescriptorSetStorageBuffers : u32) -> Self {
self.maxDescriptorSetStorageBuffers = maxDescriptorSetStorageBuffers;
self
}
pub fn maxDescriptorSetStorageBuffersDynamic(mut self, maxDescriptorSetStorageBuffersDynamic : u32) -> Self {
self.maxDescriptorSetStorageBuffersDynamic = maxDescriptorSetStorageBuffersDynamic;
self
}
pub fn maxDescriptorSetSampledImages(mut self, maxDescriptorSetSampledImages : u32) -> Self {
self.maxDescriptorSetSampledImages = maxDescriptorSetSampledImages;
self
}
pub fn maxDescriptorSetStorageImages(mut self, maxDescriptorSetStorageImages : u32) -> Self {
self.maxDescriptorSetStorageImages = maxDescriptorSetStorageImages;
self
}
pub fn maxDescriptorSetInputAttachments(mut self, maxDescriptorSetInputAttachments : u32) -> Self {
self.maxDescriptorSetInputAttachments = maxDescriptorSetInputAttachments;
self
}
pub fn maxVertexInputAttributes(mut self, maxVertexInputAttributes : u32) -> Self {
self.maxVertexInputAttributes = maxVertexInputAttributes;
self
}
pub fn maxVertexInputBindings(mut self, maxVertexInputBindings : u32) -> Self {
self.maxVertexInputBindings = maxVertexInputBindings;
self
}
pub fn maxVertexInputAttributeOffset(mut self, maxVertexInputAttributeOffset : u32) -> Self {
self.maxVertexInputAttributeOffset = maxVertexInputAttributeOffset;
self
}
pub fn maxVertexInputBindingStride(mut self, maxVertexInputBindingStride : u32) -> Self {
self.maxVertexInputBindingStride = maxVertexInputBindingStride;
self
}
pub fn maxVertexOutputComponents(mut self, maxVertexOutputComponents : u32) -> Self {
self.maxVertexOutputComponents = maxVertexOutputComponents;
self
}
pub fn maxTessellationGenerationLevel(mut self, maxTessellationGenerationLevel : u32) -> Self {
self.maxTessellationGenerationLevel = maxTessellationGenerationLevel;
self
}
pub fn maxTessellationPatchSize(mut self, maxTessellationPatchSize : u32) -> Self {
self.maxTessellationPatchSize = maxTessellationPatchSize;
self
}
pub fn maxTessellationControlPerVertexInputComponents(mut self, maxTessellationControlPerVertexInputComponents : u32) -> Self {
self.maxTessellationControlPerVertexInputComponents = maxTessellationControlPerVertexInputComponents;
self
}
pub fn maxTessellationControlPerVertexOutputComponents(mut self, maxTessellationControlPerVertexOutputComponents : u32) -> Self {
self.maxTessellationControlPerVertexOutputComponents = maxTessellationControlPerVertexOutputComponents;
self
}
pub fn maxTessellationControlPerPatchOutputComponents(mut self, maxTessellationControlPerPatchOutputComponents : u32) -> Self {
self.maxTessellationControlPerPatchOutputComponents = maxTessellationControlPerPatchOutputComponents;
self
}
pub fn maxTessellationControlTotalOutputComponents(mut self, maxTessellationControlTotalOutputComponents : u32) -> Self {
self.maxTessellationControlTotalOutputComponents = maxTessellationControlTotalOutputComponents;
self
}
pub fn maxTessellationEvaluationInputComponents(mut self, maxTessellationEvaluationInputComponents : u32) -> Self {
self.maxTessellationEvaluationInputComponents = maxTessellationEvaluationInputComponents;
self
}
pub fn maxTessellationEvaluationOutputComponents(mut self, maxTessellationEvaluationOutputComponents : u32) -> Self {
self.maxTessellationEvaluationOutputComponents = maxTessellationEvaluationOutputComponents;
self
}
pub fn maxGeometryShaderInvocations(mut self, maxGeometryShaderInvocations : u32) -> Self {
self.maxGeometryShaderInvocations = maxGeometryShaderInvocations;
self
}
pub fn maxGeometryInputComponents(mut self, maxGeometryInputComponents : u32) -> Self {
self.maxGeometryInputComponents = maxGeometryInputComponents;
self
}
pub fn maxGeometryOutputComponents(mut self, maxGeometryOutputComponents : u32) -> Self {
self.maxGeometryOutputComponents = maxGeometryOutputComponents;
self
}
pub fn maxGeometryOutputVertices(mut self, maxGeometryOutputVertices : u32) -> Self {
self.maxGeometryOutputVertices = maxGeometryOutputVertices;
self
}
pub fn maxGeometryTotalOutputComponents(mut self, maxGeometryTotalOutputComponents : u32) -> Self {
self.maxGeometryTotalOutputComponents = maxGeometryTotalOutputComponents;
self
}
pub fn maxFragmentInputComponents(mut self, maxFragmentInputComponents : u32) -> Self {
self.maxFragmentInputComponents = maxFragmentInputComponents;
self
}
pub fn maxFragmentOutputAttachments(mut self, maxFragmentOutputAttachments : u32) -> Self {
self.maxFragmentOutputAttachments = maxFragmentOutputAttachments;
self
}
pub fn maxFragmentDualSrcAttachments(mut self, maxFragmentDualSrcAttachments : u32) -> Self {
self.maxFragmentDualSrcAttachments = maxFragmentDualSrcAttachments;
self
}
pub fn maxFragmentCombinedOutputResources(mut self, maxFragmentCombinedOutputResources : u32) -> Self {
self.maxFragmentCombinedOutputResources = maxFragmentCombinedOutputResources;
self
}
pub fn maxComputeSharedMemorySize(mut self, maxComputeSharedMemorySize : u32) -> Self {
self.maxComputeSharedMemorySize = maxComputeSharedMemorySize;
self
}
pub fn maxComputeWorkGroupCount(mut self, maxComputeWorkGroupCount : [u32;3]) -> Self {
self.maxComputeWorkGroupCount = maxComputeWorkGroupCount;
self
}
pub fn maxComputeWorkGroupInvocations(mut self, maxComputeWorkGroupInvocations : u32) -> Self {
self.maxComputeWorkGroupInvocations = maxComputeWorkGroupInvocations;
self
}
pub fn maxComputeWorkGroupSize(mut self, maxComputeWorkGroupSize : [u32;3]) -> Self {
self.maxComputeWorkGroupSize = maxComputeWorkGroupSize;
self
}
pub fn subPixelPrecisionBits(mut self, subPixelPrecisionBits : u32) -> Self {
self.subPixelPrecisionBits = subPixelPrecisionBits;
self
}
pub fn subTexelPrecisionBits(mut self, subTexelPrecisionBits : u32) -> Self {
self.subTexelPrecisionBits = subTexelPrecisionBits;
self
}
pub fn mipmapPrecisionBits(mut self, mipmapPrecisionBits : u32) -> Self {
self.mipmapPrecisionBits = mipmapPrecisionBits;
self
}
pub fn maxDrawIndexedIndexValue(mut self, maxDrawIndexedIndexValue : u32) -> Self {
self.maxDrawIndexedIndexValue = maxDrawIndexedIndexValue;
self
}
pub fn maxDrawIndirectCount(mut self, maxDrawIndirectCount : u32) -> Self {
self.maxDrawIndirectCount = maxDrawIndirectCount;
self
}
pub fn maxSamplerLodBias(mut self, maxSamplerLodBias : f32) -> Self {
self.maxSamplerLodBias = maxSamplerLodBias;
self
}
pub fn maxSamplerAnisotropy(mut self, maxSamplerAnisotropy : f32) -> Self {
self.maxSamplerAnisotropy = maxSamplerAnisotropy;
self
}
pub fn maxViewports(mut self, maxViewports : u32) -> Self {
self.maxViewports = maxViewports;
self
}
pub fn maxViewportDimensions(mut self, maxViewportDimensions : [u32;2]) -> Self {
self.maxViewportDimensions = maxViewportDimensions;
self
}
pub fn viewportBoundsRange(mut self, viewportBoundsRange : [f32;2]) -> Self {
self.viewportBoundsRange = viewportBoundsRange;
self
}
pub fn viewportSubPixelBits(mut self, viewportSubPixelBits : u32) -> Self {
self.viewportSubPixelBits = viewportSubPixelBits;
self
}
pub fn minMemoryMapAlignment(mut self, minMemoryMapAlignment : usize) -> Self {
self.minMemoryMapAlignment = minMemoryMapAlignment;
self
}
pub fn minTexelBufferOffsetAlignment(mut self, minTexelBufferOffsetAlignment : DeviceSize) -> Self {
self.minTexelBufferOffsetAlignment = minTexelBufferOffsetAlignment;
self
}
pub fn minUniformBufferOffsetAlignment(mut self, minUniformBufferOffsetAlignment : DeviceSize) -> Self {
self.minUniformBufferOffsetAlignment = minUniformBufferOffsetAlignment;
self
}
pub fn minStorageBufferOffsetAlignment(mut self, minStorageBufferOffsetAlignment : DeviceSize) -> Self {
self.minStorageBufferOffsetAlignment = minStorageBufferOffsetAlignment;
self
}
pub fn minTexelOffset(mut self, minTexelOffset : i32) -> Self {
self.minTexelOffset = minTexelOffset;
self
}
pub fn maxTexelOffset(mut self, maxTexelOffset : u32) -> Self {
self.maxTexelOffset = maxTexelOffset;
self
}
pub fn minTexelGatherOffset(mut self, minTexelGatherOffset : i32) -> Self {
self.minTexelGatherOffset = minTexelGatherOffset;
self
}
pub fn maxTexelGatherOffset(mut self, maxTexelGatherOffset : u32) -> Self {
self.maxTexelGatherOffset = maxTexelGatherOffset;
self
}
pub fn minInterpolationOffset(mut self, minInterpolationOffset : f32) -> Self {
self.minInterpolationOffset = minInterpolationOffset;
self
}
pub fn maxInterpolationOffset(mut self, maxInterpolationOffset : f32) -> Self {
self.maxInterpolationOffset = maxInterpolationOffset;
self
}
pub fn subPixelInterpolationOffsetBits(mut self, subPixelInterpolationOffsetBits : u32) -> Self {
self.subPixelInterpolationOffsetBits = subPixelInterpolationOffsetBits;
self
}
pub fn maxFramebufferWidth(mut self, maxFramebufferWidth : u32) -> Self {
self.maxFramebufferWidth = maxFramebufferWidth;
self
}
pub fn maxFramebufferHeight(mut self, maxFramebufferHeight : u32) -> Self {
self.maxFramebufferHeight = maxFramebufferHeight;
self
}
pub fn maxFramebufferLayers(mut self, maxFramebufferLayers : u32) -> Self {
self.maxFramebufferLayers = maxFramebufferLayers;
self
}
pub fn framebufferColorSampleCounts(mut self, framebufferColorSampleCounts : SampleCountFlags) -> Self {
self.framebufferColorSampleCounts = framebufferColorSampleCounts;
self
}
pub fn framebufferDepthSampleCounts(mut self, framebufferDepthSampleCounts : SampleCountFlags) -> Self {
self.framebufferDepthSampleCounts = framebufferDepthSampleCounts;
self
}
pub fn framebufferStencilSampleCounts(mut self, framebufferStencilSampleCounts : SampleCountFlags) -> Self {
self.framebufferStencilSampleCounts = framebufferStencilSampleCounts;
self
}
pub fn framebufferNoAttachmentsSampleCounts(mut self, framebufferNoAttachmentsSampleCounts : SampleCountFlags) -> Self {
self.framebufferNoAttachmentsSampleCounts = framebufferNoAttachmentsSampleCounts;
self
}
pub fn maxColorAttachments(mut self, maxColorAttachments : u32) -> Self {
self.maxColorAttachments = maxColorAttachments;
self
}
pub fn sampledImageColorSampleCounts(mut self, sampledImageColorSampleCounts : SampleCountFlags) -> Self {
self.sampledImageColorSampleCounts = sampledImageColorSampleCounts;
self
}
pub fn sampledImageIntegerSampleCounts(mut self, sampledImageIntegerSampleCounts : SampleCountFlags) -> Self {
self.sampledImageIntegerSampleCounts = sampledImageIntegerSampleCounts;
self
}
pub fn sampledImageDepthSampleCounts(mut self, sampledImageDepthSampleCounts : SampleCountFlags) -> Self {
self.sampledImageDepthSampleCounts = sampledImageDepthSampleCounts;
self
}
pub fn sampledImageStencilSampleCounts(mut self, sampledImageStencilSampleCounts : SampleCountFlags) -> Self {
self.sampledImageStencilSampleCounts = sampledImageStencilSampleCounts;
self
}
pub fn storageImageSampleCounts(mut self, storageImageSampleCounts : SampleCountFlags) -> Self {
self.storageImageSampleCounts = storageImageSampleCounts;
self
}
pub fn maxSampleMaskWords(mut self, maxSampleMaskWords : u32) -> Self {
self.maxSampleMaskWords = maxSampleMaskWords;
self
}
pub fn timestampComputeAndGraphics(mut self, timestampComputeAndGraphics : Bool32) -> Self {
self.timestampComputeAndGraphics = timestampComputeAndGraphics;
self
}
pub fn timestampPeriod(mut self, timestampPeriod : f32) -> Self {
self.timestampPeriod = timestampPeriod;
self
}
pub fn maxClipDistances(mut self, maxClipDistances : u32) -> Self {
self.maxClipDistances = maxClipDistances;
self
}
pub fn maxCullDistances(mut self, maxCullDistances : u32) -> Self {
self.maxCullDistances = maxCullDistances;
self
}
pub fn maxCombinedClipAndCullDistances(mut self, maxCombinedClipAndCullDistances : u32) -> Self {
self.maxCombinedClipAndCullDistances = maxCombinedClipAndCullDistances;
self
}
pub fn discreteQueuePriorities(mut self, discreteQueuePriorities : u32) -> Self {
self.discreteQueuePriorities = discreteQueuePriorities;
self
}
pub fn pointSizeRange(mut self, pointSizeRange : [f32;2]) -> Self {
self.pointSizeRange = pointSizeRange;
self
}
pub fn lineWidthRange(mut self, lineWidthRange : [f32;2]) -> Self {
self.lineWidthRange = lineWidthRange;
self
}
pub fn pointSizeGranularity(mut self, pointSizeGranularity : f32) -> Self {
self.pointSizeGranularity = pointSizeGranularity;
self
}
pub fn lineWidthGranularity(mut self, lineWidthGranularity : f32) -> Self {
self.lineWidthGranularity = lineWidthGranularity;
self
}
pub fn strictLines(mut self, strictLines : Bool32) -> Self {
self.strictLines = strictLines;
self
}
pub fn standardSampleLocations(mut self, standardSampleLocations : Bool32) -> Self {
self.standardSampleLocations = standardSampleLocations;
self
}
pub fn optimalBufferCopyOffsetAlignment(mut self, optimalBufferCopyOffsetAlignment : DeviceSize) -> Self {
self.optimalBufferCopyOffsetAlignment = optimalBufferCopyOffsetAlignment;
self
}
pub fn optimalBufferCopyRowPitchAlignment(mut self, optimalBufferCopyRowPitchAlignment : DeviceSize) -> Self {
self.optimalBufferCopyRowPitchAlignment = optimalBufferCopyRowPitchAlignment;
self
}
pub fn nonCoherentAtomSize(mut self, nonCoherentAtomSize : DeviceSize) -> Self {
self.nonCoherentAtomSize = nonCoherentAtomSize;
self
}
}
impl PhysicalDeviceSparseProperties {
pub fn new() -> Self {
Self::default()
}
pub fn residencyStandard2DBlockShape(mut self, residencyStandard2DBlockShape : Bool32) -> Self {
self.residencyStandard2DBlockShape = residencyStandard2DBlockShape;
self
}
pub fn residencyStandard2DMultisampleBlockShape(mut self, residencyStandard2DMultisampleBlockShape : Bool32) -> Self {
self.residencyStandard2DMultisampleBlockShape = residencyStandard2DMultisampleBlockShape;
self
}
pub fn residencyStandard3DBlockShape(mut self, residencyStandard3DBlockShape : Bool32) -> Self {
self.residencyStandard3DBlockShape = residencyStandard3DBlockShape;
self
}
pub fn residencyAlignedMipSize(mut self, residencyAlignedMipSize : Bool32) -> Self {
self.residencyAlignedMipSize = residencyAlignedMipSize;
self
}
pub fn residencyNonResidentStrict(mut self, residencyNonResidentStrict : Bool32) -> Self {
self.residencyNonResidentStrict = residencyNonResidentStrict;
self
}
}
impl PhysicalDeviceProperties {
pub fn new() -> Self {
Self::default()
}
pub fn apiVersion(mut self, apiVersion : u32) -> Self {
self.apiVersion = apiVersion;
self
}
pub fn driverVersion(mut self, driverVersion : u32) -> Self {
self.driverVersion = driverVersion;
self
}
pub fn vendorID(mut self, vendorID : u32) -> Self {
self.vendorID = vendorID;
self
}
pub fn deviceID(mut self, deviceID : u32) -> Self {
self.deviceID = deviceID;
self
}
pub fn deviceType(mut self, deviceType : PhysicalDeviceType) -> Self {
self.deviceType = deviceType;
self
}
pub fn deviceName(mut self, deviceName : [i8;MAX_PHYSICAL_DEVICE_NAME_SIZE]) -> Self {
self.deviceName = deviceName;
self
}
pub fn pipelineCacheUUID(mut self, pipelineCacheUUID : [u8;UUID_SIZE]) -> Self {
self.pipelineCacheUUID = pipelineCacheUUID;
self
}
pub fn limits(mut self, limits : PhysicalDeviceLimits) -> Self {
self.limits = limits;
self
}
pub fn sparseProperties(mut self, sparseProperties : PhysicalDeviceSparseProperties) -> Self {
self.sparseProperties = sparseProperties;
self
}
}
impl QueueFamilyProperties {
pub fn new() -> Self {
Self::default()
}
pub fn queueFlags(mut self, queueFlags : QueueFlags) -> Self {
self.queueFlags = queueFlags;
self
}
pub fn queueCount(mut self, queueCount : u32) -> Self {
self.queueCount = queueCount;
self
}
pub fn timestampValidBits(mut self, timestampValidBits : u32) -> Self {
self.timestampValidBits = timestampValidBits;
self
}
pub fn minImageTransferGranularity(mut self, minImageTransferGranularity : Extent3D) -> Self {
self.minImageTransferGranularity = minImageTransferGranularity;
self
}
}
impl MemoryType {
pub fn new() -> Self {
Self::default()
}
pub fn propertyFlags(mut self, propertyFlags : MemoryPropertyFlags) -> Self {
self.propertyFlags = propertyFlags;
self
}
pub fn heapIndex(mut self, heapIndex : u32) -> Self {
self.heapIndex = heapIndex;
self
}
}
impl MemoryHeap {
pub fn new() -> Self {
Self::default()
}
pub fn size(mut self, size : DeviceSize) -> Self {
self.size = size;
self
}
pub fn flags(mut self, flags : MemoryHeapFlags) -> Self {
self.flags = flags;
self
}
}
impl PhysicalDeviceMemoryProperties {
pub fn new() -> Self {
Self::default()
}
pub fn memoryTypeCount(mut self, memoryTypeCount : u32) -> Self {
self.memoryTypeCount = memoryTypeCount;
self
}
pub fn memoryTypes(mut self, memoryTypes : [MemoryType;MAX_MEMORY_TYPES]) -> Self {
self.memoryTypes = memoryTypes;
self
}
pub fn memoryHeapCount(mut self, memoryHeapCount : u32) -> Self {
self.memoryHeapCount = memoryHeapCount;
self
}
pub fn memoryHeaps(mut self, memoryHeaps : [MemoryHeap;MAX_MEMORY_HEAPS]) -> Self {
self.memoryHeaps = memoryHeaps;
self
}
}
impl DeviceQueueCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : DeviceQueueCreateFlags) -> Self {
self.flags = flags;
self
}
pub fn queueFamilyIndex(mut self, queueFamilyIndex : u32) -> Self {
self.queueFamilyIndex = queueFamilyIndex;
self
}
pub fn queueCount(mut self, queueCount : u32) -> Self {
self.queueCount = queueCount;
self
}
pub fn pQueuePriorities(mut self, pQueuePriorities : *const f32) -> Self {
self.pQueuePriorities = pQueuePriorities;
self
}
}
impl DeviceCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : DeviceCreateFlags) -> Self {
self.flags = flags;
self
}
pub fn queueCreateInfoCount(mut self, queueCreateInfoCount : u32) -> Self {
self.queueCreateInfoCount = queueCreateInfoCount;
self
}
pub fn pQueueCreateInfos(mut self, pQueueCreateInfos : *const DeviceQueueCreateInfo) -> Self {
self.pQueueCreateInfos = pQueueCreateInfos;
self
}
pub fn enabledLayerCount(mut self, enabledLayerCount : u32) -> Self {
self.enabledLayerCount = enabledLayerCount;
self
}
pub fn ppEnabledLayerNames(mut self, ppEnabledLayerNames : *const *const i8) -> Self {
self.ppEnabledLayerNames = ppEnabledLayerNames;
self
}
pub fn enabledExtensionCount(mut self, enabledExtensionCount : u32) -> Self {
self.enabledExtensionCount = enabledExtensionCount;
self
}
pub fn ppEnabledExtensionNames(mut self, ppEnabledExtensionNames : *const *const i8) -> Self {
self.ppEnabledExtensionNames = ppEnabledExtensionNames;
self
}
pub fn pEnabledFeatures(mut self, pEnabledFeatures : *const PhysicalDeviceFeatures) -> Self {
self.pEnabledFeatures = pEnabledFeatures;
self
}
}
impl ExtensionProperties {
pub fn new() -> Self {
Self::default()
}
pub fn extensionName(mut self, extensionName : [i8;MAX_EXTENSION_NAME_SIZE]) -> Self {
self.extensionName = extensionName;
self
}
pub fn specVersion(mut self, specVersion : u32) -> Self {
self.specVersion = specVersion;
self
}
}
impl LayerProperties {
pub fn new() -> Self {
Self::default()
}
pub fn layerName(mut self, layerName : [i8;MAX_EXTENSION_NAME_SIZE]) -> Self {
self.layerName = layerName;
self
}
pub fn specVersion(mut self, specVersion : u32) -> Self {
self.specVersion = specVersion;
self
}
pub fn implementationVersion(mut self, implementationVersion : u32) -> Self {
self.implementationVersion = implementationVersion;
self
}
pub fn description(mut self, description : [i8;MAX_DESCRIPTION_SIZE]) -> Self {
self.description = description;
self
}
}
impl SubmitInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn waitSemaphoreCount(mut self, waitSemaphoreCount : u32) -> Self {
self.waitSemaphoreCount = waitSemaphoreCount;
self
}
pub fn pWaitSemaphores(mut self, pWaitSemaphores : *const Semaphore) -> Self {
self.pWaitSemaphores = pWaitSemaphores;
self
}
pub fn pWaitDstStageMask(mut self, pWaitDstStageMask : *const PipelineStageFlags) -> Self {
self.pWaitDstStageMask = pWaitDstStageMask;
self
}
pub fn commandBufferCount(mut self, commandBufferCount : u32) -> Self {
self.commandBufferCount = commandBufferCount;
self
}
pub fn pCommandBuffers(mut self, pCommandBuffers : *const CommandBuffer) -> Self {
self.pCommandBuffers = pCommandBuffers;
self
}
pub fn signalSemaphoreCount(mut self, signalSemaphoreCount : u32) -> Self {
self.signalSemaphoreCount = signalSemaphoreCount;
self
}
pub fn pSignalSemaphores(mut self, pSignalSemaphores : *const Semaphore) -> Self {
self.pSignalSemaphores = pSignalSemaphores;
self
}
}
impl MemoryAllocateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn allocationSize(mut self, allocationSize : DeviceSize) -> Self {
self.allocationSize = allocationSize;
self
}
pub fn memoryTypeIndex(mut self, memoryTypeIndex : u32) -> Self {
self.memoryTypeIndex = memoryTypeIndex;
self
}
}
impl MappedMemoryRange {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn memory(mut self, memory : DeviceMemory) -> Self {
self.memory = memory;
self
}
pub fn offset(mut self, offset : DeviceSize) -> Self {
self.offset = offset;
self
}
pub fn size(mut self, size : DeviceSize) -> Self {
self.size = size;
self
}
}
impl MemoryRequirements {
pub fn new() -> Self {
Self::default()
}
pub fn size(mut self, size : DeviceSize) -> Self {
self.size = size;
self
}
pub fn alignment(mut self, alignment : DeviceSize) -> Self {
self.alignment = alignment;
self
}
pub fn memoryTypeBits(mut self, memoryTypeBits : u32) -> Self {
self.memoryTypeBits = memoryTypeBits;
self
}
}
impl SparseImageFormatProperties {
pub fn new() -> Self {
Self::default()
}
pub fn aspectMask(mut self, aspectMask : ImageAspectFlags) -> Self {
self.aspectMask = aspectMask;
self
}
pub fn imageGranularity(mut self, imageGranularity : Extent3D) -> Self {
self.imageGranularity = imageGranularity;
self
}
pub fn flags(mut self, flags : SparseImageFormatFlags) -> Self {
self.flags = flags;
self
}
}
impl SparseImageMemoryRequirements {
pub fn new() -> Self {
Self::default()
}
pub fn formatProperties(mut self, formatProperties : SparseImageFormatProperties) -> Self {
self.formatProperties = formatProperties;
self
}
pub fn imageMipTailFirstLod(mut self, imageMipTailFirstLod : u32) -> Self {
self.imageMipTailFirstLod = imageMipTailFirstLod;
self
}
pub fn imageMipTailSize(mut self, imageMipTailSize : DeviceSize) -> Self {
self.imageMipTailSize = imageMipTailSize;
self
}
pub fn imageMipTailOffset(mut self, imageMipTailOffset : DeviceSize) -> Self {
self.imageMipTailOffset = imageMipTailOffset;
self
}
pub fn imageMipTailStride(mut self, imageMipTailStride : DeviceSize) -> Self {
self.imageMipTailStride = imageMipTailStride;
self
}
}
impl SparseMemoryBind {
pub fn new() -> Self {
Self::default()
}
pub fn resourceOffset(mut self, resourceOffset : DeviceSize) -> Self {
self.resourceOffset = resourceOffset;
self
}
pub fn size(mut self, size : DeviceSize) -> Self {
self.size = size;
self
}
pub fn memory(mut self, memory : DeviceMemory) -> Self {
self.memory = memory;
self
}
pub fn memoryOffset(mut self, memoryOffset : DeviceSize) -> Self {
self.memoryOffset = memoryOffset;
self
}
pub fn flags(mut self, flags : SparseMemoryBindFlags) -> Self {
self.flags = flags;
self
}
}
impl SparseBufferMemoryBindInfo {
pub fn new() -> Self {
Self::default()
}
pub fn buffer(mut self, buffer : Buffer) -> Self {
self.buffer = buffer;
self
}
pub fn bindCount(mut self, bindCount : u32) -> Self {
self.bindCount = bindCount;
self
}
pub fn pBinds(mut self, pBinds : *const SparseMemoryBind) -> Self {
self.pBinds = pBinds;
self
}
}
impl SparseImageOpaqueMemoryBindInfo {
pub fn new() -> Self {
Self::default()
}
pub fn image(mut self, image : Image) -> Self {
self.image = image;
self
}
pub fn bindCount(mut self, bindCount : u32) -> Self {
self.bindCount = bindCount;
self
}
pub fn pBinds(mut self, pBinds : *const SparseMemoryBind) -> Self {
self.pBinds = pBinds;
self
}
}
impl ImageSubresource {
pub fn new() -> Self {
Self::default()
}
pub fn aspectMask(mut self, aspectMask : ImageAspectFlags) -> Self {
self.aspectMask = aspectMask;
self
}
pub fn mipLevel(mut self, mipLevel : u32) -> Self {
self.mipLevel = mipLevel;
self
}
pub fn arrayLayer(mut self, arrayLayer : u32) -> Self {
self.arrayLayer = arrayLayer;
self
}
}
impl Offset3D {
pub fn new() -> Self {
Self::default()
}
pub fn x(mut self, x : i32) -> Self {
self.x = x;
self
}
pub fn y(mut self, y : i32) -> Self {
self.y = y;
self
}
pub fn z(mut self, z : i32) -> Self {
self.z = z;
self
}
}
impl SparseImageMemoryBind {
pub fn new() -> Self {
Self::default()
}
pub fn subresource(mut self, subresource : ImageSubresource) -> Self {
self.subresource = subresource;
self
}
pub fn offset(mut self, offset : Offset3D) -> Self {
self.offset = offset;
self
}
pub fn extent(mut self, extent : Extent3D) -> Self {
self.extent = extent;
self
}
pub fn memory(mut self, memory : DeviceMemory) -> Self {
self.memory = memory;
self
}
pub fn memoryOffset(mut self, memoryOffset : DeviceSize) -> Self {
self.memoryOffset = memoryOffset;
self
}
pub fn flags(mut self, flags : SparseMemoryBindFlags) -> Self {
self.flags = flags;
self
}
}
impl SparseImageMemoryBindInfo {
pub fn new() -> Self {
Self::default()
}
pub fn image(mut self, image : Image) -> Self {
self.image = image;
self
}
pub fn bindCount(mut self, bindCount : u32) -> Self {
self.bindCount = bindCount;
self
}
pub fn pBinds(mut self, pBinds : *const SparseImageMemoryBind) -> Self {
self.pBinds = pBinds;
self
}
}
impl BindSparseInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn waitSemaphoreCount(mut self, waitSemaphoreCount : u32) -> Self {
self.waitSemaphoreCount = waitSemaphoreCount;
self
}
pub fn pWaitSemaphores(mut self, pWaitSemaphores : *const Semaphore) -> Self {
self.pWaitSemaphores = pWaitSemaphores;
self
}
pub fn bufferBindCount(mut self, bufferBindCount : u32) -> Self {
self.bufferBindCount = bufferBindCount;
self
}
pub fn pBufferBinds(mut self, pBufferBinds : *const SparseBufferMemoryBindInfo) -> Self {
self.pBufferBinds = pBufferBinds;
self
}
pub fn imageOpaqueBindCount(mut self, imageOpaqueBindCount : u32) -> Self {
self.imageOpaqueBindCount = imageOpaqueBindCount;
self
}
pub fn pImageOpaqueBinds(mut self, pImageOpaqueBinds : *const SparseImageOpaqueMemoryBindInfo) -> Self {
self.pImageOpaqueBinds = pImageOpaqueBinds;
self
}
pub fn imageBindCount(mut self, imageBindCount : u32) -> Self {
self.imageBindCount = imageBindCount;
self
}
pub fn pImageBinds(mut self, pImageBinds : *const SparseImageMemoryBindInfo) -> Self {
self.pImageBinds = pImageBinds;
self
}
pub fn signalSemaphoreCount(mut self, signalSemaphoreCount : u32) -> Self {
self.signalSemaphoreCount = signalSemaphoreCount;
self
}
pub fn pSignalSemaphores(mut self, pSignalSemaphores : *const Semaphore) -> Self {
self.pSignalSemaphores = pSignalSemaphores;
self
}
}
impl FenceCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : FenceCreateFlags) -> Self {
self.flags = flags;
self
}
}
impl SemaphoreCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : SemaphoreCreateFlags) -> Self {
self.flags = flags;
self
}
}
impl EventCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : EventCreateFlags) -> Self {
self.flags = flags;
self
}
}
impl QueryPoolCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : QueryPoolCreateFlags) -> Self {
self.flags = flags;
self
}
pub fn queryType(mut self, queryType : QueryType) -> Self {
self.queryType = queryType;
self
}
pub fn queryCount(mut self, queryCount : u32) -> Self {
self.queryCount = queryCount;
self
}
pub fn pipelineStatistics(mut self, pipelineStatistics : QueryPipelineStatisticFlags) -> Self {
self.pipelineStatistics = pipelineStatistics;
self
}
}
impl BufferCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : BufferCreateFlags) -> Self {
self.flags = flags;
self
}
pub fn size(mut self, size : DeviceSize) -> Self {
self.size = size;
self
}
pub fn usage(mut self, usage : BufferUsageFlags) -> Self {
self.usage = usage;
self
}
pub fn sharingMode(mut self, sharingMode : SharingMode) -> Self {
self.sharingMode = sharingMode;
self
}
pub fn queueFamilyIndexCount(mut self, queueFamilyIndexCount : u32) -> Self {
self.queueFamilyIndexCount = queueFamilyIndexCount;
self
}
pub fn pQueueFamilyIndices(mut self, pQueueFamilyIndices : *const u32) -> Self {
self.pQueueFamilyIndices = pQueueFamilyIndices;
self
}
}
impl BufferViewCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : BufferViewCreateFlags) -> Self {
self.flags = flags;
self
}
pub fn buffer(mut self, buffer : Buffer) -> Self {
self.buffer = buffer;
self
}
pub fn format(mut self, format : Format) -> Self {
self.format = format;
self
}
pub fn offset(mut self, offset : DeviceSize) -> Self {
self.offset = offset;
self
}
pub fn range(mut self, range : DeviceSize) -> Self {
self.range = range;
self
}
}
impl ImageCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : ImageCreateFlags) -> Self {
self.flags = flags;
self
}
pub fn imageType(mut self, imageType : ImageType) -> Self {
self.imageType = imageType;
self
}
pub fn format(mut self, format : Format) -> Self {
self.format = format;
self
}
pub fn extent(mut self, extent : Extent3D) -> Self {
self.extent = extent;
self
}
pub fn mipLevels(mut self, mipLevels : u32) -> Self {
self.mipLevels = mipLevels;
self
}
pub fn arrayLayers(mut self, arrayLayers : u32) -> Self {
self.arrayLayers = arrayLayers;
self
}
pub fn samples(mut self, samples : SampleCountFlagBits) -> Self {
self.samples = samples;
self
}
pub fn tiling(mut self, tiling : ImageTiling) -> Self {
self.tiling = tiling;
self
}
pub fn usage(mut self, usage : ImageUsageFlags) -> Self {
self.usage = usage;
self
}
pub fn sharingMode(mut self, sharingMode : SharingMode) -> Self {
self.sharingMode = sharingMode;
self
}
pub fn queueFamilyIndexCount(mut self, queueFamilyIndexCount : u32) -> Self {
self.queueFamilyIndexCount = queueFamilyIndexCount;
self
}
pub fn pQueueFamilyIndices(mut self, pQueueFamilyIndices : *const u32) -> Self {
self.pQueueFamilyIndices = pQueueFamilyIndices;
self
}
pub fn initialLayout(mut self, initialLayout : ImageLayout) -> Self {
self.initialLayout = initialLayout;
self
}
}
impl SubresourceLayout {
pub fn new() -> Self {
Self::default()
}
pub fn offset(mut self, offset : DeviceSize) -> Self {
self.offset = offset;
self
}
pub fn size(mut self, size : DeviceSize) -> Self {
self.size = size;
self
}
pub fn rowPitch(mut self, rowPitch : DeviceSize) -> Self {
self.rowPitch = rowPitch;
self
}
pub fn arrayPitch(mut self, arrayPitch : DeviceSize) -> Self {
self.arrayPitch = arrayPitch;
self
}
pub fn depthPitch(mut self, depthPitch : DeviceSize) -> Self {
self.depthPitch = depthPitch;
self
}
}
impl ComponentMapping {
pub fn new() -> Self {
Self::default()
}
pub fn r(mut self, r : ComponentSwizzle) -> Self {
self.r = r;
self
}
pub fn g(mut self, g : ComponentSwizzle) -> Self {
self.g = g;
self
}
pub fn b(mut self, b : ComponentSwizzle) -> Self {
self.b = b;
self
}
pub fn a(mut self, a : ComponentSwizzle) -> Self {
self.a = a;
self
}
}
impl ImageSubresourceRange {
pub fn new() -> Self {
Self::default()
}
pub fn aspectMask(mut self, aspectMask : ImageAspectFlags) -> Self {
self.aspectMask = aspectMask;
self
}
pub fn baseMipLevel(mut self, baseMipLevel : u32) -> Self {
self.baseMipLevel = baseMipLevel;
self
}
pub fn levelCount(mut self, levelCount : u32) -> Self {
self.levelCount = levelCount;
self
}
pub fn baseArrayLayer(mut self, baseArrayLayer : u32) -> Self {
self.baseArrayLayer = baseArrayLayer;
self
}
pub fn layerCount(mut self, layerCount : u32) -> Self {
self.layerCount = layerCount;
self
}
}
impl ImageViewCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : ImageViewCreateFlags) -> Self {
self.flags = flags;
self
}
pub fn image(mut self, image : Image) -> Self {
self.image = image;
self
}
pub fn viewType(mut self, viewType : ImageViewType) -> Self {
self.viewType = viewType;
self
}
pub fn format(mut self, format : Format) -> Self {
self.format = format;
self
}
pub fn components(mut self, components : ComponentMapping) -> Self {
self.components = components;
self
}
pub fn subresourceRange(mut self, subresourceRange : ImageSubresourceRange) -> Self {
self.subresourceRange = subresourceRange;
self
}
}
impl ShaderModuleCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : ShaderModuleCreateFlags) -> Self {
self.flags = flags;
self
}
pub fn codeSize(mut self, codeSize : usize) -> Self {
self.codeSize = codeSize;
self
}
pub fn pCode(mut self, pCode : *const u32) -> Self {
self.pCode = pCode;
self
}
}
impl PipelineCacheCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : PipelineCacheCreateFlags) -> Self {
self.flags = flags;
self
}
pub fn initialDataSize(mut self, initialDataSize : usize) -> Self {
self.initialDataSize = initialDataSize;
self
}
pub fn pInitialData(mut self, pInitialData : *const void) -> Self {
self.pInitialData = pInitialData;
self
}
}
impl SpecializationMapEntry {
pub fn new() -> Self {
Self::default()
}
pub fn constantID(mut self, constantID : u32) -> Self {
self.constantID = constantID;
self
}
pub fn offset(mut self, offset : u32) -> Self {
self.offset = offset;
self
}
pub fn size(mut self, size : usize) -> Self {
self.size = size;
self
}
}
impl SpecializationInfo {
pub fn new() -> Self {
Self::default()
}
pub fn mapEntryCount(mut self, mapEntryCount : u32) -> Self {
self.mapEntryCount = mapEntryCount;
self
}
pub fn pMapEntries(mut self, pMapEntries : *const SpecializationMapEntry) -> Self {
self.pMapEntries = pMapEntries;
self
}
pub fn dataSize(mut self, dataSize : usize) -> Self {
self.dataSize = dataSize;
self
}
pub fn pData(mut self, pData : *const void) -> Self {
self.pData = pData;
self
}
}
impl PipelineShaderStageCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : PipelineShaderStageCreateFlags) -> Self {
self.flags = flags;
self
}
pub fn stage(mut self, stage : ShaderStageFlagBits) -> Self {
self.stage = stage;
self
}
pub fn module(mut self, module : ShaderModule) -> Self {
self.module = module;
self
}
pub fn pName(mut self, pName : *const i8) -> Self {
self.pName = pName;
self
}
pub fn pSpecializationInfo(mut self, pSpecializationInfo : *const SpecializationInfo) -> Self {
self.pSpecializationInfo = pSpecializationInfo;
self
}
}
impl VertexInputBindingDescription {
pub fn new() -> Self {
Self::default()
}
pub fn binding(mut self, binding : u32) -> Self {
self.binding = binding;
self
}
pub fn stride(mut self, stride : u32) -> Self {
self.stride = stride;
self
}
pub fn inputRate(mut self, inputRate : VertexInputRate) -> Self {
self.inputRate = inputRate;
self
}
}
impl VertexInputAttributeDescription {
pub fn new() -> Self {
Self::default()
}
pub fn location(mut self, location : u32) -> Self {
self.location = location;
self
}
pub fn binding(mut self, binding : u32) -> Self {
self.binding = binding;
self
}
pub fn format(mut self, format : Format) -> Self {
self.format = format;
self
}
pub fn offset(mut self, offset : u32) -> Self {
self.offset = offset;
self
}
}
impl PipelineVertexInputStateCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : PipelineVertexInputStateCreateFlags) -> Self {
self.flags = flags;
self
}
pub fn vertexBindingDescriptionCount(mut self, vertexBindingDescriptionCount : u32) -> Self {
self.vertexBindingDescriptionCount = vertexBindingDescriptionCount;
self
}
pub fn pVertexBindingDescriptions(mut self, pVertexBindingDescriptions : *const VertexInputBindingDescription) -> Self {
self.pVertexBindingDescriptions = pVertexBindingDescriptions;
self
}
pub fn vertexAttributeDescriptionCount(mut self, vertexAttributeDescriptionCount : u32) -> Self {
self.vertexAttributeDescriptionCount = vertexAttributeDescriptionCount;
self
}
pub fn pVertexAttributeDescriptions(mut self, pVertexAttributeDescriptions : *const VertexInputAttributeDescription) -> Self {
self.pVertexAttributeDescriptions = pVertexAttributeDescriptions;
self
}
}
impl PipelineInputAssemblyStateCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : PipelineInputAssemblyStateCreateFlags) -> Self {
self.flags = flags;
self
}
pub fn topology(mut self, topology : PrimitiveTopology) -> Self {
self.topology = topology;
self
}
pub fn primitiveRestartEnable(mut self, primitiveRestartEnable : Bool32) -> Self {
self.primitiveRestartEnable = primitiveRestartEnable;
self
}
}
impl PipelineTessellationStateCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : PipelineTessellationStateCreateFlags) -> Self {
self.flags = flags;
self
}
pub fn patchControlPoints(mut self, patchControlPoints : u32) -> Self {
self.patchControlPoints = patchControlPoints;
self
}
}
impl Viewport {
pub fn new() -> Self {
Self::default()
}
pub fn x(mut self, x : f32) -> Self {
self.x = x;
self
}
pub fn y(mut self, y : f32) -> Self {
self.y = y;
self
}
pub fn width(mut self, width : f32) -> Self {
self.width = width;
self
}
pub fn height(mut self, height : f32) -> Self {
self.height = height;
self
}
pub fn minDepth(mut self, minDepth : f32) -> Self {
self.minDepth = minDepth;
self
}
pub fn maxDepth(mut self, maxDepth : f32) -> Self {
self.maxDepth = maxDepth;
self
}
}
impl Offset2D {
pub fn new() -> Self {
Self::default()
}
pub fn x(mut self, x : i32) -> Self {
self.x = x;
self
}
pub fn y(mut self, y : i32) -> Self {
self.y = y;
self
}
}
impl Extent2D {
pub fn new() -> Self {
Self::default()
}
pub fn width(mut self, width : u32) -> Self {
self.width = width;
self
}
pub fn height(mut self, height : u32) -> Self {
self.height = height;
self
}
}
impl Rect2D {
pub fn new() -> Self {
Self::default()
}
pub fn offset(mut self, offset : Offset2D) -> Self {
self.offset = offset;
self
}
pub fn extent(mut self, extent : Extent2D) -> Self {
self.extent = extent;
self
}
}
impl PipelineViewportStateCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : PipelineViewportStateCreateFlags) -> Self {
self.flags = flags;
self
}
pub fn viewportCount(mut self, viewportCount : u32) -> Self {
self.viewportCount = viewportCount;
self
}
pub fn pViewports(mut self, pViewports : *const Viewport) -> Self {
self.pViewports = pViewports;
self
}
pub fn scissorCount(mut self, scissorCount : u32) -> Self {
self.scissorCount = scissorCount;
self
}
pub fn pScissors(mut self, pScissors : *const Rect2D) -> Self {
self.pScissors = pScissors;
self
}
}
impl PipelineRasterizationStateCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : PipelineRasterizationStateCreateFlags) -> Self {
self.flags = flags;
self
}
pub fn depthClampEnable(mut self, depthClampEnable : Bool32) -> Self {
self.depthClampEnable = depthClampEnable;
self
}
pub fn rasterizerDiscardEnable(mut self, rasterizerDiscardEnable : Bool32) -> Self {
self.rasterizerDiscardEnable = rasterizerDiscardEnable;
self
}
pub fn polygonMode(mut self, polygonMode : PolygonMode) -> Self {
self.polygonMode = polygonMode;
self
}
pub fn cullMode(mut self, cullMode : CullModeFlags) -> Self {
self.cullMode = cullMode;
self
}
pub fn frontFace(mut self, frontFace : FrontFace) -> Self {
self.frontFace = frontFace;
self
}
pub fn depthBiasEnable(mut self, depthBiasEnable : Bool32) -> Self {
self.depthBiasEnable = depthBiasEnable;
self
}
pub fn depthBiasConstantFactor(mut self, depthBiasConstantFactor : f32) -> Self {
self.depthBiasConstantFactor = depthBiasConstantFactor;
self
}
pub fn depthBiasClamp(mut self, depthBiasClamp : f32) -> Self {
self.depthBiasClamp = depthBiasClamp;
self
}
pub fn depthBiasSlopeFactor(mut self, depthBiasSlopeFactor : f32) -> Self {
self.depthBiasSlopeFactor = depthBiasSlopeFactor;
self
}
pub fn lineWidth(mut self, lineWidth : f32) -> Self {
self.lineWidth = lineWidth;
self
}
}
impl PipelineMultisampleStateCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : PipelineMultisampleStateCreateFlags) -> Self {
self.flags = flags;
self
}
pub fn rasterizationSamples(mut self, rasterizationSamples : SampleCountFlagBits) -> Self {
self.rasterizationSamples = rasterizationSamples;
self
}
pub fn sampleShadingEnable(mut self, sampleShadingEnable : Bool32) -> Self {
self.sampleShadingEnable = sampleShadingEnable;
self
}
pub fn minSampleShading(mut self, minSampleShading : f32) -> Self {
self.minSampleShading = minSampleShading;
self
}
pub fn pSampleMask(mut self, pSampleMask : *const SampleMask) -> Self {
self.pSampleMask = pSampleMask;
self
}
pub fn alphaToCoverageEnable(mut self, alphaToCoverageEnable : Bool32) -> Self {
self.alphaToCoverageEnable = alphaToCoverageEnable;
self
}
pub fn alphaToOneEnable(mut self, alphaToOneEnable : Bool32) -> Self {
self.alphaToOneEnable = alphaToOneEnable;
self
}
}
impl StencilOpState {
pub fn new() -> Self {
Self::default()
}
pub fn failOp(mut self, failOp : StencilOp) -> Self {
self.failOp = failOp;
self
}
pub fn passOp(mut self, passOp : StencilOp) -> Self {
self.passOp = passOp;
self
}
pub fn depthFailOp(mut self, depthFailOp : StencilOp) -> Self {
self.depthFailOp = depthFailOp;
self
}
pub fn compareOp(mut self, compareOp : CompareOp) -> Self {
self.compareOp = compareOp;
self
}
pub fn compareMask(mut self, compareMask : u32) -> Self {
self.compareMask = compareMask;
self
}
pub fn writeMask(mut self, writeMask : u32) -> Self {
self.writeMask = writeMask;
self
}
pub fn reference(mut self, reference : u32) -> Self {
self.reference = reference;
self
}
}
impl PipelineDepthStencilStateCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : PipelineDepthStencilStateCreateFlags) -> Self {
self.flags = flags;
self
}
pub fn depthTestEnable(mut self, depthTestEnable : Bool32) -> Self {
self.depthTestEnable = depthTestEnable;
self
}
pub fn depthWriteEnable(mut self, depthWriteEnable : Bool32) -> Self {
self.depthWriteEnable = depthWriteEnable;
self
}
pub fn depthCompareOp(mut self, depthCompareOp : CompareOp) -> Self {
self.depthCompareOp = depthCompareOp;
self
}
pub fn depthBoundsTestEnable(mut self, depthBoundsTestEnable : Bool32) -> Self {
self.depthBoundsTestEnable = depthBoundsTestEnable;
self
}
pub fn stencilTestEnable(mut self, stencilTestEnable : Bool32) -> Self {
self.stencilTestEnable = stencilTestEnable;
self
}
pub fn front(mut self, front : StencilOpState) -> Self {
self.front = front;
self
}
pub fn back(mut self, back : StencilOpState) -> Self {
self.back = back;
self
}
pub fn minDepthBounds(mut self, minDepthBounds : f32) -> Self {
self.minDepthBounds = minDepthBounds;
self
}
pub fn maxDepthBounds(mut self, maxDepthBounds : f32) -> Self {
self.maxDepthBounds = maxDepthBounds;
self
}
}
impl PipelineColorBlendAttachmentState {
pub fn new() -> Self {
Self::default()
}
pub fn blendEnable(mut self, blendEnable : Bool32) -> Self {
self.blendEnable = blendEnable;
self
}
pub fn srcColorBlendFactor(mut self, srcColorBlendFactor : BlendFactor) -> Self {
self.srcColorBlendFactor = srcColorBlendFactor;
self
}
pub fn dstColorBlendFactor(mut self, dstColorBlendFactor : BlendFactor) -> Self {
self.dstColorBlendFactor = dstColorBlendFactor;
self
}
pub fn colorBlendOp(mut self, colorBlendOp : BlendOp) -> Self {
self.colorBlendOp = colorBlendOp;
self
}
pub fn srcAlphaBlendFactor(mut self, srcAlphaBlendFactor : BlendFactor) -> Self {
self.srcAlphaBlendFactor = srcAlphaBlendFactor;
self
}
pub fn dstAlphaBlendFactor(mut self, dstAlphaBlendFactor : BlendFactor) -> Self {
self.dstAlphaBlendFactor = dstAlphaBlendFactor;
self
}
pub fn alphaBlendOp(mut self, alphaBlendOp : BlendOp) -> Self {
self.alphaBlendOp = alphaBlendOp;
self
}
pub fn colorWriteMask(mut self, colorWriteMask : ColorComponentFlags) -> Self {
self.colorWriteMask = colorWriteMask;
self
}
}
impl PipelineColorBlendStateCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : PipelineColorBlendStateCreateFlags) -> Self {
self.flags = flags;
self
}
pub fn logicOpEnable(mut self, logicOpEnable : Bool32) -> Self {
self.logicOpEnable = logicOpEnable;
self
}
pub fn logicOp(mut self, logicOp : LogicOp) -> Self {
self.logicOp = logicOp;
self
}
pub fn attachmentCount(mut self, attachmentCount : u32) -> Self {
self.attachmentCount = attachmentCount;
self
}
pub fn pAttachments(mut self, pAttachments : *const PipelineColorBlendAttachmentState) -> Self {
self.pAttachments = pAttachments;
self
}
pub fn blendConstants(mut self, blendConstants : [f32;4]) -> Self {
self.blendConstants = blendConstants;
self
}
}
impl PipelineDynamicStateCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : PipelineDynamicStateCreateFlags) -> Self {
self.flags = flags;
self
}
pub fn dynamicStateCount(mut self, dynamicStateCount : u32) -> Self {
self.dynamicStateCount = dynamicStateCount;
self
}
pub fn pDynamicStates(mut self, pDynamicStates : *const DynamicState) -> Self {
self.pDynamicStates = pDynamicStates;
self
}
}
impl GraphicsPipelineCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : PipelineCreateFlags) -> Self {
self.flags = flags;
self
}
pub fn stageCount(mut self, stageCount : u32) -> Self {
self.stageCount = stageCount;
self
}
pub fn pStages(mut self, pStages : *const PipelineShaderStageCreateInfo) -> Self {
self.pStages = pStages;
self
}
pub fn pVertexInputState(mut self, pVertexInputState : *const PipelineVertexInputStateCreateInfo) -> Self {
self.pVertexInputState = pVertexInputState;
self
}
pub fn pInputAssemblyState(mut self, pInputAssemblyState : *const PipelineInputAssemblyStateCreateInfo) -> Self {
self.pInputAssemblyState = pInputAssemblyState;
self
}
pub fn pTessellationState(mut self, pTessellationState : *const PipelineTessellationStateCreateInfo) -> Self {
self.pTessellationState = pTessellationState;
self
}
pub fn pViewportState(mut self, pViewportState : *const PipelineViewportStateCreateInfo) -> Self {
self.pViewportState = pViewportState;
self
}
pub fn pRasterizationState(mut self, pRasterizationState : *const PipelineRasterizationStateCreateInfo) -> Self {
self.pRasterizationState = pRasterizationState;
self
}
pub fn pMultisampleState(mut self, pMultisampleState : *const PipelineMultisampleStateCreateInfo) -> Self {
self.pMultisampleState = pMultisampleState;
self
}
pub fn pDepthStencilState(mut self, pDepthStencilState : *const PipelineDepthStencilStateCreateInfo) -> Self {
self.pDepthStencilState = pDepthStencilState;
self
}
pub fn pColorBlendState(mut self, pColorBlendState : *const PipelineColorBlendStateCreateInfo) -> Self {
self.pColorBlendState = pColorBlendState;
self
}
pub fn pDynamicState(mut self, pDynamicState : *const PipelineDynamicStateCreateInfo) -> Self {
self.pDynamicState = pDynamicState;
self
}
pub fn layout(mut self, layout : PipelineLayout) -> Self {
self.layout = layout;
self
}
pub fn renderPass(mut self, renderPass : RenderPass) -> Self {
self.renderPass = renderPass;
self
}
pub fn subpass(mut self, subpass : u32) -> Self {
self.subpass = subpass;
self
}
pub fn basePipelineHandle(mut self, basePipelineHandle : Pipeline) -> Self {
self.basePipelineHandle = basePipelineHandle;
self
}
pub fn basePipelineIndex(mut self, basePipelineIndex : i32) -> Self {
self.basePipelineIndex = basePipelineIndex;
self
}
}
impl ComputePipelineCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : PipelineCreateFlags) -> Self {
self.flags = flags;
self
}
pub fn stage(mut self, stage : PipelineShaderStageCreateInfo) -> Self {
self.stage = stage;
self
}
pub fn layout(mut self, layout : PipelineLayout) -> Self {
self.layout = layout;
self
}
pub fn basePipelineHandle(mut self, basePipelineHandle : Pipeline) -> Self {
self.basePipelineHandle = basePipelineHandle;
self
}
pub fn basePipelineIndex(mut self, basePipelineIndex : i32) -> Self {
self.basePipelineIndex = basePipelineIndex;
self
}
}
impl PushConstantRange {
pub fn new() -> Self {
Self::default()
}
pub fn stageFlags(mut self, stageFlags : ShaderStageFlags) -> Self {
self.stageFlags = stageFlags;
self
}
pub fn offset(mut self, offset : u32) -> Self {
self.offset = offset;
self
}
pub fn size(mut self, size : u32) -> Self {
self.size = size;
self
}
}
impl PipelineLayoutCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : PipelineLayoutCreateFlags) -> Self {
self.flags = flags;
self
}
pub fn setLayoutCount(mut self, setLayoutCount : u32) -> Self {
self.setLayoutCount = setLayoutCount;
self
}
pub fn pSetLayouts(mut self, pSetLayouts : *const DescriptorSetLayout) -> Self {
self.pSetLayouts = pSetLayouts;
self
}
pub fn pushConstantRangeCount(mut self, pushConstantRangeCount : u32) -> Self {
self.pushConstantRangeCount = pushConstantRangeCount;
self
}
pub fn pPushConstantRanges(mut self, pPushConstantRanges : *const PushConstantRange) -> Self {
self.pPushConstantRanges = pPushConstantRanges;
self
}
}
impl SamplerCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : SamplerCreateFlags) -> Self {
self.flags = flags;
self
}
pub fn magFilter(mut self, magFilter : Filter) -> Self {
self.magFilter = magFilter;
self
}
pub fn minFilter(mut self, minFilter : Filter) -> Self {
self.minFilter = minFilter;
self
}
pub fn mipmapMode(mut self, mipmapMode : SamplerMipmapMode) -> Self {
self.mipmapMode = mipmapMode;
self
}
pub fn addressModeU(mut self, addressModeU : SamplerAddressMode) -> Self {
self.addressModeU = addressModeU;
self
}
pub fn addressModeV(mut self, addressModeV : SamplerAddressMode) -> Self {
self.addressModeV = addressModeV;
self
}
pub fn addressModeW(mut self, addressModeW : SamplerAddressMode) -> Self {
self.addressModeW = addressModeW;
self
}
pub fn mipLodBias(mut self, mipLodBias : f32) -> Self {
self.mipLodBias = mipLodBias;
self
}
pub fn anisotropyEnable(mut self, anisotropyEnable : Bool32) -> Self {
self.anisotropyEnable = anisotropyEnable;
self
}
pub fn maxAnisotropy(mut self, maxAnisotropy : f32) -> Self {
self.maxAnisotropy = maxAnisotropy;
self
}
pub fn compareEnable(mut self, compareEnable : Bool32) -> Self {
self.compareEnable = compareEnable;
self
}
pub fn compareOp(mut self, compareOp : CompareOp) -> Self {
self.compareOp = compareOp;
self
}
pub fn minLod(mut self, minLod : f32) -> Self {
self.minLod = minLod;
self
}
pub fn maxLod(mut self, maxLod : f32) -> Self {
self.maxLod = maxLod;
self
}
pub fn borderColor(mut self, borderColor : BorderColor) -> Self {
self.borderColor = borderColor;
self
}
pub fn unnormalizedCoordinates(mut self, unnormalizedCoordinates : Bool32) -> Self {
self.unnormalizedCoordinates = unnormalizedCoordinates;
self
}
}
impl DescriptorSetLayoutBinding {
pub fn new() -> Self {
Self::default()
}
pub fn binding(mut self, binding : u32) -> Self {
self.binding = binding;
self
}
pub fn descriptorType(mut self, descriptorType : DescriptorType) -> Self {
self.descriptorType = descriptorType;
self
}
pub fn descriptorCount(mut self, descriptorCount : u32) -> Self {
self.descriptorCount = descriptorCount;
self
}
pub fn stageFlags(mut self, stageFlags : ShaderStageFlags) -> Self {
self.stageFlags = stageFlags;
self
}
pub fn pImmutableSamplers(mut self, pImmutableSamplers : *const Sampler) -> Self {
self.pImmutableSamplers = pImmutableSamplers;
self
}
}
impl DescriptorSetLayoutCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : DescriptorSetLayoutCreateFlags) -> Self {
self.flags = flags;
self
}
pub fn bindingCount(mut self, bindingCount : u32) -> Self {
self.bindingCount = bindingCount;
self
}
pub fn pBindings(mut self, pBindings : *const DescriptorSetLayoutBinding) -> Self {
self.pBindings = pBindings;
self
}
}
impl DescriptorPoolSize {
pub fn new() -> Self {
Self::default()
}
pub fn r#type(mut self, r#type : DescriptorType) -> Self {
self.r#type = r#type;
self
}
pub fn descriptorCount(mut self, descriptorCount : u32) -> Self {
self.descriptorCount = descriptorCount;
self
}
}
impl DescriptorPoolCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : DescriptorPoolCreateFlags) -> Self {
self.flags = flags;
self
}
pub fn maxSets(mut self, maxSets : u32) -> Self {
self.maxSets = maxSets;
self
}
pub fn poolSizeCount(mut self, poolSizeCount : u32) -> Self {
self.poolSizeCount = poolSizeCount;
self
}
pub fn pPoolSizes(mut self, pPoolSizes : *const DescriptorPoolSize) -> Self {
self.pPoolSizes = pPoolSizes;
self
}
}
impl DescriptorSetAllocateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn descriptorPool(mut self, descriptorPool : DescriptorPool) -> Self {
self.descriptorPool = descriptorPool;
self
}
pub fn descriptorSetCount(mut self, descriptorSetCount : u32) -> Self {
self.descriptorSetCount = descriptorSetCount;
self
}
pub fn pSetLayouts(mut self, pSetLayouts : *const DescriptorSetLayout) -> Self {
self.pSetLayouts = pSetLayouts;
self
}
}
impl DescriptorImageInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sampler(mut self, sampler : Sampler) -> Self {
self.sampler = sampler;
self
}
pub fn imageView(mut self, imageView : ImageView) -> Self {
self.imageView = imageView;
self
}
pub fn imageLayout(mut self, imageLayout : ImageLayout) -> Self {
self.imageLayout = imageLayout;
self
}
}
impl DescriptorBufferInfo {
pub fn new() -> Self {
Self::default()
}
pub fn buffer(mut self, buffer : Buffer) -> Self {
self.buffer = buffer;
self
}
pub fn offset(mut self, offset : DeviceSize) -> Self {
self.offset = offset;
self
}
pub fn range(mut self, range : DeviceSize) -> Self {
self.range = range;
self
}
}
impl WriteDescriptorSet {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn dstSet(mut self, dstSet : DescriptorSet) -> Self {
self.dstSet = dstSet;
self
}
pub fn dstBinding(mut self, dstBinding : u32) -> Self {
self.dstBinding = dstBinding;
self
}
pub fn dstArrayElement(mut self, dstArrayElement : u32) -> Self {
self.dstArrayElement = dstArrayElement;
self
}
pub fn descriptorCount(mut self, descriptorCount : u32) -> Self {
self.descriptorCount = descriptorCount;
self
}
pub fn descriptorType(mut self, descriptorType : DescriptorType) -> Self {
self.descriptorType = descriptorType;
self
}
pub fn pImageInfo(mut self, pImageInfo : *const DescriptorImageInfo) -> Self {
self.pImageInfo = pImageInfo;
self
}
pub fn pBufferInfo(mut self, pBufferInfo : *const DescriptorBufferInfo) -> Self {
self.pBufferInfo = pBufferInfo;
self
}
pub fn pTexelBufferView(mut self, pTexelBufferView : *const BufferView) -> Self {
self.pTexelBufferView = pTexelBufferView;
self
}
}
impl CopyDescriptorSet {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn srcSet(mut self, srcSet : DescriptorSet) -> Self {
self.srcSet = srcSet;
self
}
pub fn srcBinding(mut self, srcBinding : u32) -> Self {
self.srcBinding = srcBinding;
self
}
pub fn srcArrayElement(mut self, srcArrayElement : u32) -> Self {
self.srcArrayElement = srcArrayElement;
self
}
pub fn dstSet(mut self, dstSet : DescriptorSet) -> Self {
self.dstSet = dstSet;
self
}
pub fn dstBinding(mut self, dstBinding : u32) -> Self {
self.dstBinding = dstBinding;
self
}
pub fn dstArrayElement(mut self, dstArrayElement : u32) -> Self {
self.dstArrayElement = dstArrayElement;
self
}
pub fn descriptorCount(mut self, descriptorCount : u32) -> Self {
self.descriptorCount = descriptorCount;
self
}
}
impl FramebufferCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : FramebufferCreateFlags) -> Self {
self.flags = flags;
self
}
pub fn renderPass(mut self, renderPass : RenderPass) -> Self {
self.renderPass = renderPass;
self
}
pub fn attachmentCount(mut self, attachmentCount : u32) -> Self {
self.attachmentCount = attachmentCount;
self
}
pub fn pAttachments(mut self, pAttachments : *const ImageView) -> Self {
self.pAttachments = pAttachments;
self
}
pub fn width(mut self, width : u32) -> Self {
self.width = width;
self
}
pub fn height(mut self, height : u32) -> Self {
self.height = height;
self
}
pub fn layers(mut self, layers : u32) -> Self {
self.layers = layers;
self
}
}
impl AttachmentDescription {
pub fn new() -> Self {
Self::default()
}
pub fn flags(mut self, flags : AttachmentDescriptionFlags) -> Self {
self.flags = flags;
self
}
pub fn format(mut self, format : Format) -> Self {
self.format = format;
self
}
pub fn samples(mut self, samples : SampleCountFlagBits) -> Self {
self.samples = samples;
self
}
pub fn loadOp(mut self, loadOp : AttachmentLoadOp) -> Self {
self.loadOp = loadOp;
self
}
pub fn storeOp(mut self, storeOp : AttachmentStoreOp) -> Self {
self.storeOp = storeOp;
self
}
pub fn stencilLoadOp(mut self, stencilLoadOp : AttachmentLoadOp) -> Self {
self.stencilLoadOp = stencilLoadOp;
self
}
pub fn stencilStoreOp(mut self, stencilStoreOp : AttachmentStoreOp) -> Self {
self.stencilStoreOp = stencilStoreOp;
self
}
pub fn initialLayout(mut self, initialLayout : ImageLayout) -> Self {
self.initialLayout = initialLayout;
self
}
pub fn finalLayout(mut self, finalLayout : ImageLayout) -> Self {
self.finalLayout = finalLayout;
self
}
}
impl AttachmentReference {
pub fn new() -> Self {
Self::default()
}
pub fn attachment(mut self, attachment : u32) -> Self {
self.attachment = attachment;
self
}
pub fn layout(mut self, layout : ImageLayout) -> Self {
self.layout = layout;
self
}
}
impl SubpassDescription {
pub fn new() -> Self {
Self::default()
}
pub fn flags(mut self, flags : SubpassDescriptionFlags) -> Self {
self.flags = flags;
self
}
pub fn pipelineBindPoint(mut self, pipelineBindPoint : PipelineBindPoint) -> Self {
self.pipelineBindPoint = pipelineBindPoint;
self
}
pub fn inputAttachmentCount(mut self, inputAttachmentCount : u32) -> Self {
self.inputAttachmentCount = inputAttachmentCount;
self
}
pub fn pInputAttachments(mut self, pInputAttachments : *const AttachmentReference) -> Self {
self.pInputAttachments = pInputAttachments;
self
}
pub fn colorAttachmentCount(mut self, colorAttachmentCount : u32) -> Self {
self.colorAttachmentCount = colorAttachmentCount;
self
}
pub fn pColorAttachments(mut self, pColorAttachments : *const AttachmentReference) -> Self {
self.pColorAttachments = pColorAttachments;
self
}
pub fn pResolveAttachments(mut self, pResolveAttachments : *const AttachmentReference) -> Self {
self.pResolveAttachments = pResolveAttachments;
self
}
pub fn pDepthStencilAttachment(mut self, pDepthStencilAttachment : *const AttachmentReference) -> Self {
self.pDepthStencilAttachment = pDepthStencilAttachment;
self
}
pub fn preserveAttachmentCount(mut self, preserveAttachmentCount : u32) -> Self {
self.preserveAttachmentCount = preserveAttachmentCount;
self
}
pub fn pPreserveAttachments(mut self, pPreserveAttachments : *const u32) -> Self {
self.pPreserveAttachments = pPreserveAttachments;
self
}
}
impl SubpassDependency {
pub fn new() -> Self {
Self::default()
}
pub fn srcSubpass(mut self, srcSubpass : u32) -> Self {
self.srcSubpass = srcSubpass;
self
}
pub fn dstSubpass(mut self, dstSubpass : u32) -> Self {
self.dstSubpass = dstSubpass;
self
}
pub fn srcStageMask(mut self, srcStageMask : PipelineStageFlags) -> Self {
self.srcStageMask = srcStageMask;
self
}
pub fn dstStageMask(mut self, dstStageMask : PipelineStageFlags) -> Self {
self.dstStageMask = dstStageMask;
self
}
pub fn srcAccessMask(mut self, srcAccessMask : AccessFlags) -> Self {
self.srcAccessMask = srcAccessMask;
self
}
pub fn dstAccessMask(mut self, dstAccessMask : AccessFlags) -> Self {
self.dstAccessMask = dstAccessMask;
self
}
pub fn dependencyFlags(mut self, dependencyFlags : DependencyFlags) -> Self {
self.dependencyFlags = dependencyFlags;
self
}
}
impl RenderPassCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : RenderPassCreateFlags) -> Self {
self.flags = flags;
self
}
pub fn attachmentCount(mut self, attachmentCount : u32) -> Self {
self.attachmentCount = attachmentCount;
self
}
pub fn pAttachments(mut self, pAttachments : *const AttachmentDescription) -> Self {
self.pAttachments = pAttachments;
self
}
pub fn subpassCount(mut self, subpassCount : u32) -> Self {
self.subpassCount = subpassCount;
self
}
pub fn pSubpasses(mut self, pSubpasses : *const SubpassDescription) -> Self {
self.pSubpasses = pSubpasses;
self
}
pub fn dependencyCount(mut self, dependencyCount : u32) -> Self {
self.dependencyCount = dependencyCount;
self
}
pub fn pDependencies(mut self, pDependencies : *const SubpassDependency) -> Self {
self.pDependencies = pDependencies;
self
}
}
impl CommandPoolCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : CommandPoolCreateFlags) -> Self {
self.flags = flags;
self
}
pub fn queueFamilyIndex(mut self, queueFamilyIndex : u32) -> Self {
self.queueFamilyIndex = queueFamilyIndex;
self
}
}
impl CommandBufferAllocateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn commandPool(mut self, commandPool : CommandPool) -> Self {
self.commandPool = commandPool;
self
}
pub fn level(mut self, level : CommandBufferLevel) -> Self {
self.level = level;
self
}
pub fn commandBufferCount(mut self, commandBufferCount : u32) -> Self {
self.commandBufferCount = commandBufferCount;
self
}
}
impl CommandBufferInheritanceInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn renderPass(mut self, renderPass : RenderPass) -> Self {
self.renderPass = renderPass;
self
}
pub fn subpass(mut self, subpass : u32) -> Self {
self.subpass = subpass;
self
}
pub fn framebuffer(mut self, framebuffer : Framebuffer) -> Self {
self.framebuffer = framebuffer;
self
}
pub fn occlusionQueryEnable(mut self, occlusionQueryEnable : Bool32) -> Self {
self.occlusionQueryEnable = occlusionQueryEnable;
self
}
pub fn queryFlags(mut self, queryFlags : QueryControlFlags) -> Self {
self.queryFlags = queryFlags;
self
}
pub fn pipelineStatistics(mut self, pipelineStatistics : QueryPipelineStatisticFlags) -> Self {
self.pipelineStatistics = pipelineStatistics;
self
}
}
impl CommandBufferBeginInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : CommandBufferUsageFlags) -> Self {
self.flags = flags;
self
}
pub fn pInheritanceInfo(mut self, pInheritanceInfo : *const CommandBufferInheritanceInfo) -> Self {
self.pInheritanceInfo = pInheritanceInfo;
self
}
}
impl BufferCopy {
pub fn new() -> Self {
Self::default()
}
pub fn srcOffset(mut self, srcOffset : DeviceSize) -> Self {
self.srcOffset = srcOffset;
self
}
pub fn dstOffset(mut self, dstOffset : DeviceSize) -> Self {
self.dstOffset = dstOffset;
self
}
pub fn size(mut self, size : DeviceSize) -> Self {
self.size = size;
self
}
}
impl ImageSubresourceLayers {
pub fn new() -> Self {
Self::default()
}
pub fn aspectMask(mut self, aspectMask : ImageAspectFlags) -> Self {
self.aspectMask = aspectMask;
self
}
pub fn mipLevel(mut self, mipLevel : u32) -> Self {
self.mipLevel = mipLevel;
self
}
pub fn baseArrayLayer(mut self, baseArrayLayer : u32) -> Self {
self.baseArrayLayer = baseArrayLayer;
self
}
pub fn layerCount(mut self, layerCount : u32) -> Self {
self.layerCount = layerCount;
self
}
}
impl ImageCopy {
pub fn new() -> Self {
Self::default()
}
pub fn srcSubresource(mut self, srcSubresource : ImageSubresourceLayers) -> Self {
self.srcSubresource = srcSubresource;
self
}
pub fn srcOffset(mut self, srcOffset : Offset3D) -> Self {
self.srcOffset = srcOffset;
self
}
pub fn dstSubresource(mut self, dstSubresource : ImageSubresourceLayers) -> Self {
self.dstSubresource = dstSubresource;
self
}
pub fn dstOffset(mut self, dstOffset : Offset3D) -> Self {
self.dstOffset = dstOffset;
self
}
pub fn extent(mut self, extent : Extent3D) -> Self {
self.extent = extent;
self
}
}
impl ImageBlit {
pub fn new() -> Self {
Self::default()
}
pub fn srcSubresource(mut self, srcSubresource : ImageSubresourceLayers) -> Self {
self.srcSubresource = srcSubresource;
self
}
pub fn srcOffsets(mut self, srcOffsets : [Offset3D;2]) -> Self {
self.srcOffsets = srcOffsets;
self
}
pub fn dstSubresource(mut self, dstSubresource : ImageSubresourceLayers) -> Self {
self.dstSubresource = dstSubresource;
self
}
pub fn dstOffsets(mut self, dstOffsets : [Offset3D;2]) -> Self {
self.dstOffsets = dstOffsets;
self
}
}
impl BufferImageCopy {
pub fn new() -> Self {
Self::default()
}
pub fn bufferOffset(mut self, bufferOffset : DeviceSize) -> Self {
self.bufferOffset = bufferOffset;
self
}
pub fn bufferRowLength(mut self, bufferRowLength : u32) -> Self {
self.bufferRowLength = bufferRowLength;
self
}
pub fn bufferImageHeight(mut self, bufferImageHeight : u32) -> Self {
self.bufferImageHeight = bufferImageHeight;
self
}
pub fn imageSubresource(mut self, imageSubresource : ImageSubresourceLayers) -> Self {
self.imageSubresource = imageSubresource;
self
}
pub fn imageOffset(mut self, imageOffset : Offset3D) -> Self {
self.imageOffset = imageOffset;
self
}
pub fn imageExtent(mut self, imageExtent : Extent3D) -> Self {
self.imageExtent = imageExtent;
self
}
}
impl ClearColorValue {
pub fn new() -> Self {
Self::default()
}
pub fn float32(mut self, float32 : [f32;4]) -> Self {
self.float32 = float32;
self
}
}
impl ClearDepthStencilValue {
pub fn new() -> Self {
Self::default()
}
pub fn depth(mut self, depth : f32) -> Self {
self.depth = depth;
self
}
pub fn stencil(mut self, stencil : u32) -> Self {
self.stencil = stencil;
self
}
}
impl ClearValue {
pub fn new() -> Self {
Self::default()
}
pub fn color(mut self, color : [f32;4]) -> Self {
self.color = color;
self
}
}
impl ClearAttachment {
pub fn new() -> Self {
Self::default()
}
pub fn aspectMask(mut self, aspectMask : ImageAspectFlags) -> Self {
self.aspectMask = aspectMask;
self
}
pub fn colorAttachment(mut self, colorAttachment : u32) -> Self {
self.colorAttachment = colorAttachment;
self
}
pub fn clearValue(mut self, clearValue : ClearValue) -> Self {
self.clearValue = clearValue;
self
}
}
impl ClearRect {
pub fn new() -> Self {
Self::default()
}
pub fn rect(mut self, rect : Rect2D) -> Self {
self.rect = rect;
self
}
pub fn baseArrayLayer(mut self, baseArrayLayer : u32) -> Self {
self.baseArrayLayer = baseArrayLayer;
self
}
pub fn layerCount(mut self, layerCount : u32) -> Self {
self.layerCount = layerCount;
self
}
}
impl ImageResolve {
pub fn new() -> Self {
Self::default()
}
pub fn srcSubresource(mut self, srcSubresource : ImageSubresourceLayers) -> Self {
self.srcSubresource = srcSubresource;
self
}
pub fn srcOffset(mut self, srcOffset : Offset3D) -> Self {
self.srcOffset = srcOffset;
self
}
pub fn dstSubresource(mut self, dstSubresource : ImageSubresourceLayers) -> Self {
self.dstSubresource = dstSubresource;
self
}
pub fn dstOffset(mut self, dstOffset : Offset3D) -> Self {
self.dstOffset = dstOffset;
self
}
pub fn extent(mut self, extent : Extent3D) -> Self {
self.extent = extent;
self
}
}
impl MemoryBarrier {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn srcAccessMask(mut self, srcAccessMask : AccessFlags) -> Self {
self.srcAccessMask = srcAccessMask;
self
}
pub fn dstAccessMask(mut self, dstAccessMask : AccessFlags) -> Self {
self.dstAccessMask = dstAccessMask;
self
}
}
impl BufferMemoryBarrier {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn srcAccessMask(mut self, srcAccessMask : AccessFlags) -> Self {
self.srcAccessMask = srcAccessMask;
self
}
pub fn dstAccessMask(mut self, dstAccessMask : AccessFlags) -> Self {
self.dstAccessMask = dstAccessMask;
self
}
pub fn srcQueueFamilyIndex(mut self, srcQueueFamilyIndex : u32) -> Self {
self.srcQueueFamilyIndex = srcQueueFamilyIndex;
self
}
pub fn dstQueueFamilyIndex(mut self, dstQueueFamilyIndex : u32) -> Self {
self.dstQueueFamilyIndex = dstQueueFamilyIndex;
self
}
pub fn buffer(mut self, buffer : Buffer) -> Self {
self.buffer = buffer;
self
}
pub fn offset(mut self, offset : DeviceSize) -> Self {
self.offset = offset;
self
}
pub fn size(mut self, size : DeviceSize) -> Self {
self.size = size;
self
}
}
impl ImageMemoryBarrier {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn srcAccessMask(mut self, srcAccessMask : AccessFlags) -> Self {
self.srcAccessMask = srcAccessMask;
self
}
pub fn dstAccessMask(mut self, dstAccessMask : AccessFlags) -> Self {
self.dstAccessMask = dstAccessMask;
self
}
pub fn oldLayout(mut self, oldLayout : ImageLayout) -> Self {
self.oldLayout = oldLayout;
self
}
pub fn newLayout(mut self, newLayout : ImageLayout) -> Self {
self.newLayout = newLayout;
self
}
pub fn srcQueueFamilyIndex(mut self, srcQueueFamilyIndex : u32) -> Self {
self.srcQueueFamilyIndex = srcQueueFamilyIndex;
self
}
pub fn dstQueueFamilyIndex(mut self, dstQueueFamilyIndex : u32) -> Self {
self.dstQueueFamilyIndex = dstQueueFamilyIndex;
self
}
pub fn image(mut self, image : Image) -> Self {
self.image = image;
self
}
pub fn subresourceRange(mut self, subresourceRange : ImageSubresourceRange) -> Self {
self.subresourceRange = subresourceRange;
self
}
}
impl RenderPassBeginInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn renderPass(mut self, renderPass : RenderPass) -> Self {
self.renderPass = renderPass;
self
}
pub fn framebuffer(mut self, framebuffer : Framebuffer) -> Self {
self.framebuffer = framebuffer;
self
}
pub fn renderArea(mut self, renderArea : Rect2D) -> Self {
self.renderArea = renderArea;
self
}
pub fn clearValueCount(mut self, clearValueCount : u32) -> Self {
self.clearValueCount = clearValueCount;
self
}
pub fn pClearValues(mut self, pClearValues : *const ClearValue) -> Self {
self.pClearValues = pClearValues;
self
}
}
impl DispatchIndirectCommand {
pub fn new() -> Self {
Self::default()
}
pub fn x(mut self, x : u32) -> Self {
self.x = x;
self
}
pub fn y(mut self, y : u32) -> Self {
self.y = y;
self
}
pub fn z(mut self, z : u32) -> Self {
self.z = z;
self
}
}
impl DrawIndexedIndirectCommand {
pub fn new() -> Self {
Self::default()
}
pub fn indexCount(mut self, indexCount : u32) -> Self {
self.indexCount = indexCount;
self
}
pub fn instanceCount(mut self, instanceCount : u32) -> Self {
self.instanceCount = instanceCount;
self
}
pub fn firstIndex(mut self, firstIndex : u32) -> Self {
self.firstIndex = firstIndex;
self
}
pub fn vertexOffset(mut self, vertexOffset : i32) -> Self {
self.vertexOffset = vertexOffset;
self
}
pub fn firstInstance(mut self, firstInstance : u32) -> Self {
self.firstInstance = firstInstance;
self
}
}
impl DrawIndirectCommand {
pub fn new() -> Self {
Self::default()
}
pub fn vertexCount(mut self, vertexCount : u32) -> Self {
self.vertexCount = vertexCount;
self
}
pub fn instanceCount(mut self, instanceCount : u32) -> Self {
self.instanceCount = instanceCount;
self
}
pub fn firstVertex(mut self, firstVertex : u32) -> Self {
self.firstVertex = firstVertex;
self
}
pub fn firstInstance(mut self, firstInstance : u32) -> Self {
self.firstInstance = firstInstance;
self
}
}
impl PhysicalDeviceSubgroupProperties {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn subgroupSize(mut self, subgroupSize : u32) -> Self {
self.subgroupSize = subgroupSize;
self
}
pub fn supportedStages(mut self, supportedStages : ShaderStageFlags) -> Self {
self.supportedStages = supportedStages;
self
}
pub fn supportedOperations(mut self, supportedOperations : SubgroupFeatureFlags) -> Self {
self.supportedOperations = supportedOperations;
self
}
pub fn quadOperationsInAllStages(mut self, quadOperationsInAllStages : Bool32) -> Self {
self.quadOperationsInAllStages = quadOperationsInAllStages;
self
}
}
impl BindBufferMemoryInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn buffer(mut self, buffer : Buffer) -> Self {
self.buffer = buffer;
self
}
pub fn memory(mut self, memory : DeviceMemory) -> Self {
self.memory = memory;
self
}
pub fn memoryOffset(mut self, memoryOffset : DeviceSize) -> Self {
self.memoryOffset = memoryOffset;
self
}
}
impl BindImageMemoryInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn image(mut self, image : Image) -> Self {
self.image = image;
self
}
pub fn memory(mut self, memory : DeviceMemory) -> Self {
self.memory = memory;
self
}
pub fn memoryOffset(mut self, memoryOffset : DeviceSize) -> Self {
self.memoryOffset = memoryOffset;
self
}
}
impl PhysicalDevice16BitStorageFeatures {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn storageBuffer16BitAccess(mut self, storageBuffer16BitAccess : Bool32) -> Self {
self.storageBuffer16BitAccess = storageBuffer16BitAccess;
self
}
pub fn uniformAndStorageBuffer16BitAccess(mut self, uniformAndStorageBuffer16BitAccess : Bool32) -> Self {
self.uniformAndStorageBuffer16BitAccess = uniformAndStorageBuffer16BitAccess;
self
}
pub fn storagePushConstant16(mut self, storagePushConstant16 : Bool32) -> Self {
self.storagePushConstant16 = storagePushConstant16;
self
}
pub fn storageInputOutput16(mut self, storageInputOutput16 : Bool32) -> Self {
self.storageInputOutput16 = storageInputOutput16;
self
}
}
impl MemoryDedicatedRequirements {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn prefersDedicatedAllocation(mut self, prefersDedicatedAllocation : Bool32) -> Self {
self.prefersDedicatedAllocation = prefersDedicatedAllocation;
self
}
pub fn requiresDedicatedAllocation(mut self, requiresDedicatedAllocation : Bool32) -> Self {
self.requiresDedicatedAllocation = requiresDedicatedAllocation;
self
}
}
impl MemoryDedicatedAllocateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn image(mut self, image : Image) -> Self {
self.image = image;
self
}
pub fn buffer(mut self, buffer : Buffer) -> Self {
self.buffer = buffer;
self
}
}
impl MemoryAllocateFlagsInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : MemoryAllocateFlags) -> Self {
self.flags = flags;
self
}
pub fn deviceMask(mut self, deviceMask : u32) -> Self {
self.deviceMask = deviceMask;
self
}
}
impl DeviceGroupRenderPassBeginInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn deviceMask(mut self, deviceMask : u32) -> Self {
self.deviceMask = deviceMask;
self
}
pub fn deviceRenderAreaCount(mut self, deviceRenderAreaCount : u32) -> Self {
self.deviceRenderAreaCount = deviceRenderAreaCount;
self
}
pub fn pDeviceRenderAreas(mut self, pDeviceRenderAreas : *const Rect2D) -> Self {
self.pDeviceRenderAreas = pDeviceRenderAreas;
self
}
}
impl DeviceGroupCommandBufferBeginInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn deviceMask(mut self, deviceMask : u32) -> Self {
self.deviceMask = deviceMask;
self
}
}
impl DeviceGroupSubmitInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn waitSemaphoreCount(mut self, waitSemaphoreCount : u32) -> Self {
self.waitSemaphoreCount = waitSemaphoreCount;
self
}
pub fn pWaitSemaphoreDeviceIndices(mut self, pWaitSemaphoreDeviceIndices : *const u32) -> Self {
self.pWaitSemaphoreDeviceIndices = pWaitSemaphoreDeviceIndices;
self
}
pub fn commandBufferCount(mut self, commandBufferCount : u32) -> Self {
self.commandBufferCount = commandBufferCount;
self
}
pub fn pCommandBufferDeviceMasks(mut self, pCommandBufferDeviceMasks : *const u32) -> Self {
self.pCommandBufferDeviceMasks = pCommandBufferDeviceMasks;
self
}
pub fn signalSemaphoreCount(mut self, signalSemaphoreCount : u32) -> Self {
self.signalSemaphoreCount = signalSemaphoreCount;
self
}
pub fn pSignalSemaphoreDeviceIndices(mut self, pSignalSemaphoreDeviceIndices : *const u32) -> Self {
self.pSignalSemaphoreDeviceIndices = pSignalSemaphoreDeviceIndices;
self
}
}
impl DeviceGroupBindSparseInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn resourceDeviceIndex(mut self, resourceDeviceIndex : u32) -> Self {
self.resourceDeviceIndex = resourceDeviceIndex;
self
}
pub fn memoryDeviceIndex(mut self, memoryDeviceIndex : u32) -> Self {
self.memoryDeviceIndex = memoryDeviceIndex;
self
}
}
impl BindBufferMemoryDeviceGroupInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn deviceIndexCount(mut self, deviceIndexCount : u32) -> Self {
self.deviceIndexCount = deviceIndexCount;
self
}
pub fn pDeviceIndices(mut self, pDeviceIndices : *const u32) -> Self {
self.pDeviceIndices = pDeviceIndices;
self
}
}
impl BindImageMemoryDeviceGroupInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn deviceIndexCount(mut self, deviceIndexCount : u32) -> Self {
self.deviceIndexCount = deviceIndexCount;
self
}
pub fn pDeviceIndices(mut self, pDeviceIndices : *const u32) -> Self {
self.pDeviceIndices = pDeviceIndices;
self
}
pub fn splitInstanceBindRegionCount(mut self, splitInstanceBindRegionCount : u32) -> Self {
self.splitInstanceBindRegionCount = splitInstanceBindRegionCount;
self
}
pub fn pSplitInstanceBindRegions(mut self, pSplitInstanceBindRegions : *const Rect2D) -> Self {
self.pSplitInstanceBindRegions = pSplitInstanceBindRegions;
self
}
}
impl PhysicalDeviceGroupProperties {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn physicalDeviceCount(mut self, physicalDeviceCount : u32) -> Self {
self.physicalDeviceCount = physicalDeviceCount;
self
}
pub fn physicalDevices(mut self, physicalDevices : [PhysicalDevice;MAX_DEVICE_GROUP_SIZE]) -> Self {
self.physicalDevices = physicalDevices;
self
}
pub fn subsetAllocation(mut self, subsetAllocation : Bool32) -> Self {
self.subsetAllocation = subsetAllocation;
self
}
}
impl DeviceGroupDeviceCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn physicalDeviceCount(mut self, physicalDeviceCount : u32) -> Self {
self.physicalDeviceCount = physicalDeviceCount;
self
}
pub fn pPhysicalDevices(mut self, pPhysicalDevices : *const PhysicalDevice) -> Self {
self.pPhysicalDevices = pPhysicalDevices;
self
}
}
impl BufferMemoryRequirementsInfo2 {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn buffer(mut self, buffer : Buffer) -> Self {
self.buffer = buffer;
self
}
}
impl ImageMemoryRequirementsInfo2 {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn image(mut self, image : Image) -> Self {
self.image = image;
self
}
}
impl ImageSparseMemoryRequirementsInfo2 {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn image(mut self, image : Image) -> Self {
self.image = image;
self
}
}
impl MemoryRequirements2 {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn memoryRequirements(mut self, memoryRequirements : MemoryRequirements) -> Self {
self.memoryRequirements = memoryRequirements;
self
}
}
impl SparseImageMemoryRequirements2 {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn memoryRequirements(mut self, memoryRequirements : SparseImageMemoryRequirements) -> Self {
self.memoryRequirements = memoryRequirements;
self
}
}
impl PhysicalDeviceFeatures2 {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn features(mut self, features : PhysicalDeviceFeatures) -> Self {
self.features = features;
self
}
}
impl PhysicalDeviceProperties2 {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn properties(mut self, properties : PhysicalDeviceProperties) -> Self {
self.properties = properties;
self
}
}
impl FormatProperties2 {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn formatProperties(mut self, formatProperties : FormatProperties) -> Self {
self.formatProperties = formatProperties;
self
}
}
impl ImageFormatProperties2 {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn imageFormatProperties(mut self, imageFormatProperties : ImageFormatProperties) -> Self {
self.imageFormatProperties = imageFormatProperties;
self
}
}
impl PhysicalDeviceImageFormatInfo2 {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn format(mut self, format : Format) -> Self {
self.format = format;
self
}
pub fn r#type(mut self, r#type : ImageType) -> Self {
self.r#type = r#type;
self
}
pub fn tiling(mut self, tiling : ImageTiling) -> Self {
self.tiling = tiling;
self
}
pub fn usage(mut self, usage : ImageUsageFlags) -> Self {
self.usage = usage;
self
}
pub fn flags(mut self, flags : ImageCreateFlags) -> Self {
self.flags = flags;
self
}
}
impl QueueFamilyProperties2 {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn queueFamilyProperties(mut self, queueFamilyProperties : QueueFamilyProperties) -> Self {
self.queueFamilyProperties = queueFamilyProperties;
self
}
}
impl PhysicalDeviceMemoryProperties2 {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn memoryProperties(mut self, memoryProperties : PhysicalDeviceMemoryProperties) -> Self {
self.memoryProperties = memoryProperties;
self
}
}
impl SparseImageFormatProperties2 {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn properties(mut self, properties : SparseImageFormatProperties) -> Self {
self.properties = properties;
self
}
}
impl PhysicalDeviceSparseImageFormatInfo2 {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn format(mut self, format : Format) -> Self {
self.format = format;
self
}
pub fn r#type(mut self, r#type : ImageType) -> Self {
self.r#type = r#type;
self
}
pub fn samples(mut self, samples : SampleCountFlagBits) -> Self {
self.samples = samples;
self
}
pub fn usage(mut self, usage : ImageUsageFlags) -> Self {
self.usage = usage;
self
}
pub fn tiling(mut self, tiling : ImageTiling) -> Self {
self.tiling = tiling;
self
}
}
impl PhysicalDevicePointClippingProperties {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn pointClippingBehavior(mut self, pointClippingBehavior : PointClippingBehavior) -> Self {
self.pointClippingBehavior = pointClippingBehavior;
self
}
}
impl InputAttachmentAspectReference {
pub fn new() -> Self {
Self::default()
}
pub fn subpass(mut self, subpass : u32) -> Self {
self.subpass = subpass;
self
}
pub fn inputAttachmentIndex(mut self, inputAttachmentIndex : u32) -> Self {
self.inputAttachmentIndex = inputAttachmentIndex;
self
}
pub fn aspectMask(mut self, aspectMask : ImageAspectFlags) -> Self {
self.aspectMask = aspectMask;
self
}
}
impl RenderPassInputAttachmentAspectCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn aspectReferenceCount(mut self, aspectReferenceCount : u32) -> Self {
self.aspectReferenceCount = aspectReferenceCount;
self
}
pub fn pAspectReferences(mut self, pAspectReferences : *const InputAttachmentAspectReference) -> Self {
self.pAspectReferences = pAspectReferences;
self
}
}
impl ImageViewUsageCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn usage(mut self, usage : ImageUsageFlags) -> Self {
self.usage = usage;
self
}
}
impl PipelineTessellationDomainOriginStateCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn domainOrigin(mut self, domainOrigin : TessellationDomainOrigin) -> Self {
self.domainOrigin = domainOrigin;
self
}
}
impl RenderPassMultiviewCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn subpassCount(mut self, subpassCount : u32) -> Self {
self.subpassCount = subpassCount;
self
}
pub fn pViewMasks(mut self, pViewMasks : *const u32) -> Self {
self.pViewMasks = pViewMasks;
self
}
pub fn dependencyCount(mut self, dependencyCount : u32) -> Self {
self.dependencyCount = dependencyCount;
self
}
pub fn pViewOffsets(mut self, pViewOffsets : *const i32) -> Self {
self.pViewOffsets = pViewOffsets;
self
}
pub fn correlationMaskCount(mut self, correlationMaskCount : u32) -> Self {
self.correlationMaskCount = correlationMaskCount;
self
}
pub fn pCorrelationMasks(mut self, pCorrelationMasks : *const u32) -> Self {
self.pCorrelationMasks = pCorrelationMasks;
self
}
}
impl PhysicalDeviceMultiviewFeatures {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn multiview(mut self, multiview : Bool32) -> Self {
self.multiview = multiview;
self
}
pub fn multiviewGeometryShader(mut self, multiviewGeometryShader : Bool32) -> Self {
self.multiviewGeometryShader = multiviewGeometryShader;
self
}
pub fn multiviewTessellationShader(mut self, multiviewTessellationShader : Bool32) -> Self {
self.multiviewTessellationShader = multiviewTessellationShader;
self
}
}
impl PhysicalDeviceMultiviewProperties {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn maxMultiviewViewCount(mut self, maxMultiviewViewCount : u32) -> Self {
self.maxMultiviewViewCount = maxMultiviewViewCount;
self
}
pub fn maxMultiviewInstanceIndex(mut self, maxMultiviewInstanceIndex : u32) -> Self {
self.maxMultiviewInstanceIndex = maxMultiviewInstanceIndex;
self
}
}
impl PhysicalDeviceVariablePointersFeatures {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn variablePointersStorageBuffer(mut self, variablePointersStorageBuffer : Bool32) -> Self {
self.variablePointersStorageBuffer = variablePointersStorageBuffer;
self
}
pub fn variablePointers(mut self, variablePointers : Bool32) -> Self {
self.variablePointers = variablePointers;
self
}
}
impl PhysicalDeviceProtectedMemoryFeatures {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn protectedMemory(mut self, protectedMemory : Bool32) -> Self {
self.protectedMemory = protectedMemory;
self
}
}
impl PhysicalDeviceProtectedMemoryProperties {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn protectedNoFault(mut self, protectedNoFault : Bool32) -> Self {
self.protectedNoFault = protectedNoFault;
self
}
}
impl DeviceQueueInfo2 {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : DeviceQueueCreateFlags) -> Self {
self.flags = flags;
self
}
pub fn queueFamilyIndex(mut self, queueFamilyIndex : u32) -> Self {
self.queueFamilyIndex = queueFamilyIndex;
self
}
pub fn queueIndex(mut self, queueIndex : u32) -> Self {
self.queueIndex = queueIndex;
self
}
}
impl ProtectedSubmitInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn protectedSubmit(mut self, protectedSubmit : Bool32) -> Self {
self.protectedSubmit = protectedSubmit;
self
}
}
impl SamplerYcbcrConversionCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn format(mut self, format : Format) -> Self {
self.format = format;
self
}
pub fn ycbcrModel(mut self, ycbcrModel : SamplerYcbcrModelConversion) -> Self {
self.ycbcrModel = ycbcrModel;
self
}
pub fn ycbcrRange(mut self, ycbcrRange : SamplerYcbcrRange) -> Self {
self.ycbcrRange = ycbcrRange;
self
}
pub fn components(mut self, components : ComponentMapping) -> Self {
self.components = components;
self
}
pub fn xChromaOffset(mut self, xChromaOffset : ChromaLocation) -> Self {
self.xChromaOffset = xChromaOffset;
self
}
pub fn yChromaOffset(mut self, yChromaOffset : ChromaLocation) -> Self {
self.yChromaOffset = yChromaOffset;
self
}
pub fn chromaFilter(mut self, chromaFilter : Filter) -> Self {
self.chromaFilter = chromaFilter;
self
}
pub fn forceExplicitReconstruction(mut self, forceExplicitReconstruction : Bool32) -> Self {
self.forceExplicitReconstruction = forceExplicitReconstruction;
self
}
}
impl SamplerYcbcrConversionInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn conversion(mut self, conversion : SamplerYcbcrConversion) -> Self {
self.conversion = conversion;
self
}
}
impl BindImagePlaneMemoryInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn planeAspect(mut self, planeAspect : ImageAspectFlagBits) -> Self {
self.planeAspect = planeAspect;
self
}
}
impl ImagePlaneMemoryRequirementsInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn planeAspect(mut self, planeAspect : ImageAspectFlagBits) -> Self {
self.planeAspect = planeAspect;
self
}
}
impl PhysicalDeviceSamplerYcbcrConversionFeatures {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn samplerYcbcrConversion(mut self, samplerYcbcrConversion : Bool32) -> Self {
self.samplerYcbcrConversion = samplerYcbcrConversion;
self
}
}
impl SamplerYcbcrConversionImageFormatProperties {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn combinedImageSamplerDescriptorCount(mut self, combinedImageSamplerDescriptorCount : u32) -> Self {
self.combinedImageSamplerDescriptorCount = combinedImageSamplerDescriptorCount;
self
}
}
impl DescriptorUpdateTemplateEntry {
pub fn new() -> Self {
Self::default()
}
pub fn dstBinding(mut self, dstBinding : u32) -> Self {
self.dstBinding = dstBinding;
self
}
pub fn dstArrayElement(mut self, dstArrayElement : u32) -> Self {
self.dstArrayElement = dstArrayElement;
self
}
pub fn descriptorCount(mut self, descriptorCount : u32) -> Self {
self.descriptorCount = descriptorCount;
self
}
pub fn descriptorType(mut self, descriptorType : DescriptorType) -> Self {
self.descriptorType = descriptorType;
self
}
pub fn offset(mut self, offset : usize) -> Self {
self.offset = offset;
self
}
pub fn stride(mut self, stride : usize) -> Self {
self.stride = stride;
self
}
}
impl DescriptorUpdateTemplateCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : DescriptorUpdateTemplateCreateFlags) -> Self {
self.flags = flags;
self
}
pub fn descriptorUpdateEntryCount(mut self, descriptorUpdateEntryCount : u32) -> Self {
self.descriptorUpdateEntryCount = descriptorUpdateEntryCount;
self
}
pub fn pDescriptorUpdateEntries(mut self, pDescriptorUpdateEntries : *const DescriptorUpdateTemplateEntry) -> Self {
self.pDescriptorUpdateEntries = pDescriptorUpdateEntries;
self
}
pub fn templateType(mut self, templateType : DescriptorUpdateTemplateType) -> Self {
self.templateType = templateType;
self
}
pub fn descriptorSetLayout(mut self, descriptorSetLayout : DescriptorSetLayout) -> Self {
self.descriptorSetLayout = descriptorSetLayout;
self
}
pub fn pipelineBindPoint(mut self, pipelineBindPoint : PipelineBindPoint) -> Self {
self.pipelineBindPoint = pipelineBindPoint;
self
}
pub fn pipelineLayout(mut self, pipelineLayout : PipelineLayout) -> Self {
self.pipelineLayout = pipelineLayout;
self
}
pub fn set(mut self, set : u32) -> Self {
self.set = set;
self
}
}
impl ExternalMemoryProperties {
pub fn new() -> Self {
Self::default()
}
pub fn externalMemoryFeatures(mut self, externalMemoryFeatures : ExternalMemoryFeatureFlags) -> Self {
self.externalMemoryFeatures = externalMemoryFeatures;
self
}
pub fn exportFromImportedHandleTypes(mut self, exportFromImportedHandleTypes : ExternalMemoryHandleTypeFlags) -> Self {
self.exportFromImportedHandleTypes = exportFromImportedHandleTypes;
self
}
pub fn compatibleHandleTypes(mut self, compatibleHandleTypes : ExternalMemoryHandleTypeFlags) -> Self {
self.compatibleHandleTypes = compatibleHandleTypes;
self
}
}
impl PhysicalDeviceExternalImageFormatInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn handleType(mut self, handleType : ExternalMemoryHandleTypeFlagBits) -> Self {
self.handleType = handleType;
self
}
}
impl ExternalImageFormatProperties {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn externalMemoryProperties(mut self, externalMemoryProperties : ExternalMemoryProperties) -> Self {
self.externalMemoryProperties = externalMemoryProperties;
self
}
}
impl PhysicalDeviceExternalBufferInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : BufferCreateFlags) -> Self {
self.flags = flags;
self
}
pub fn usage(mut self, usage : BufferUsageFlags) -> Self {
self.usage = usage;
self
}
pub fn handleType(mut self, handleType : ExternalMemoryHandleTypeFlagBits) -> Self {
self.handleType = handleType;
self
}
}
impl ExternalBufferProperties {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn externalMemoryProperties(mut self, externalMemoryProperties : ExternalMemoryProperties) -> Self {
self.externalMemoryProperties = externalMemoryProperties;
self
}
}
impl PhysicalDeviceIDProperties {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn deviceUUID(mut self, deviceUUID : [u8;UUID_SIZE]) -> Self {
self.deviceUUID = deviceUUID;
self
}
pub fn driverUUID(mut self, driverUUID : [u8;UUID_SIZE]) -> Self {
self.driverUUID = driverUUID;
self
}
pub fn deviceLUID(mut self, deviceLUID : [u8;LUID_SIZE]) -> Self {
self.deviceLUID = deviceLUID;
self
}
pub fn deviceNodeMask(mut self, deviceNodeMask : u32) -> Self {
self.deviceNodeMask = deviceNodeMask;
self
}
pub fn deviceLUIDValid(mut self, deviceLUIDValid : Bool32) -> Self {
self.deviceLUIDValid = deviceLUIDValid;
self
}
}
impl ExternalMemoryImageCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn handleTypes(mut self, handleTypes : ExternalMemoryHandleTypeFlags) -> Self {
self.handleTypes = handleTypes;
self
}
}
impl ExternalMemoryBufferCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn handleTypes(mut self, handleTypes : ExternalMemoryHandleTypeFlags) -> Self {
self.handleTypes = handleTypes;
self
}
}
impl ExportMemoryAllocateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn handleTypes(mut self, handleTypes : ExternalMemoryHandleTypeFlags) -> Self {
self.handleTypes = handleTypes;
self
}
}
impl PhysicalDeviceExternalFenceInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn handleType(mut self, handleType : ExternalFenceHandleTypeFlagBits) -> Self {
self.handleType = handleType;
self
}
}
impl ExternalFenceProperties {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn exportFromImportedHandleTypes(mut self, exportFromImportedHandleTypes : ExternalFenceHandleTypeFlags) -> Self {
self.exportFromImportedHandleTypes = exportFromImportedHandleTypes;
self
}
pub fn compatibleHandleTypes(mut self, compatibleHandleTypes : ExternalFenceHandleTypeFlags) -> Self {
self.compatibleHandleTypes = compatibleHandleTypes;
self
}
pub fn externalFenceFeatures(mut self, externalFenceFeatures : ExternalFenceFeatureFlags) -> Self {
self.externalFenceFeatures = externalFenceFeatures;
self
}
}
impl ExportFenceCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn handleTypes(mut self, handleTypes : ExternalFenceHandleTypeFlags) -> Self {
self.handleTypes = handleTypes;
self
}
}
impl ExportSemaphoreCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn handleTypes(mut self, handleTypes : ExternalSemaphoreHandleTypeFlags) -> Self {
self.handleTypes = handleTypes;
self
}
}
impl PhysicalDeviceExternalSemaphoreInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn handleType(mut self, handleType : ExternalSemaphoreHandleTypeFlagBits) -> Self {
self.handleType = handleType;
self
}
}
impl ExternalSemaphoreProperties {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn exportFromImportedHandleTypes(mut self, exportFromImportedHandleTypes : ExternalSemaphoreHandleTypeFlags) -> Self {
self.exportFromImportedHandleTypes = exportFromImportedHandleTypes;
self
}
pub fn compatibleHandleTypes(mut self, compatibleHandleTypes : ExternalSemaphoreHandleTypeFlags) -> Self {
self.compatibleHandleTypes = compatibleHandleTypes;
self
}
pub fn externalSemaphoreFeatures(mut self, externalSemaphoreFeatures : ExternalSemaphoreFeatureFlags) -> Self {
self.externalSemaphoreFeatures = externalSemaphoreFeatures;
self
}
}
impl PhysicalDeviceMaintenance3Properties {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn maxPerSetDescriptors(mut self, maxPerSetDescriptors : u32) -> Self {
self.maxPerSetDescriptors = maxPerSetDescriptors;
self
}
pub fn maxMemoryAllocationSize(mut self, maxMemoryAllocationSize : DeviceSize) -> Self {
self.maxMemoryAllocationSize = maxMemoryAllocationSize;
self
}
}
impl DescriptorSetLayoutSupport {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn supported(mut self, supported : Bool32) -> Self {
self.supported = supported;
self
}
}
impl PhysicalDeviceShaderDrawParametersFeatures {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn shaderDrawParameters(mut self, shaderDrawParameters : Bool32) -> Self {
self.shaderDrawParameters = shaderDrawParameters;
self
}
}
impl PhysicalDeviceVulkan11Features {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn storageBuffer16BitAccess(mut self, storageBuffer16BitAccess : Bool32) -> Self {
self.storageBuffer16BitAccess = storageBuffer16BitAccess;
self
}
pub fn uniformAndStorageBuffer16BitAccess(mut self, uniformAndStorageBuffer16BitAccess : Bool32) -> Self {
self.uniformAndStorageBuffer16BitAccess = uniformAndStorageBuffer16BitAccess;
self
}
pub fn storagePushConstant16(mut self, storagePushConstant16 : Bool32) -> Self {
self.storagePushConstant16 = storagePushConstant16;
self
}
pub fn storageInputOutput16(mut self, storageInputOutput16 : Bool32) -> Self {
self.storageInputOutput16 = storageInputOutput16;
self
}
pub fn multiview(mut self, multiview : Bool32) -> Self {
self.multiview = multiview;
self
}
pub fn multiviewGeometryShader(mut self, multiviewGeometryShader : Bool32) -> Self {
self.multiviewGeometryShader = multiviewGeometryShader;
self
}
pub fn multiviewTessellationShader(mut self, multiviewTessellationShader : Bool32) -> Self {
self.multiviewTessellationShader = multiviewTessellationShader;
self
}
pub fn variablePointersStorageBuffer(mut self, variablePointersStorageBuffer : Bool32) -> Self {
self.variablePointersStorageBuffer = variablePointersStorageBuffer;
self
}
pub fn variablePointers(mut self, variablePointers : Bool32) -> Self {
self.variablePointers = variablePointers;
self
}
pub fn protectedMemory(mut self, protectedMemory : Bool32) -> Self {
self.protectedMemory = protectedMemory;
self
}
pub fn samplerYcbcrConversion(mut self, samplerYcbcrConversion : Bool32) -> Self {
self.samplerYcbcrConversion = samplerYcbcrConversion;
self
}
pub fn shaderDrawParameters(mut self, shaderDrawParameters : Bool32) -> Self {
self.shaderDrawParameters = shaderDrawParameters;
self
}
}
impl PhysicalDeviceVulkan11Properties {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn deviceUUID(mut self, deviceUUID : [u8;UUID_SIZE]) -> Self {
self.deviceUUID = deviceUUID;
self
}
pub fn driverUUID(mut self, driverUUID : [u8;UUID_SIZE]) -> Self {
self.driverUUID = driverUUID;
self
}
pub fn deviceLUID(mut self, deviceLUID : [u8;LUID_SIZE]) -> Self {
self.deviceLUID = deviceLUID;
self
}
pub fn deviceNodeMask(mut self, deviceNodeMask : u32) -> Self {
self.deviceNodeMask = deviceNodeMask;
self
}
pub fn deviceLUIDValid(mut self, deviceLUIDValid : Bool32) -> Self {
self.deviceLUIDValid = deviceLUIDValid;
self
}
pub fn subgroupSize(mut self, subgroupSize : u32) -> Self {
self.subgroupSize = subgroupSize;
self
}
pub fn subgroupSupportedStages(mut self, subgroupSupportedStages : ShaderStageFlags) -> Self {
self.subgroupSupportedStages = subgroupSupportedStages;
self
}
pub fn subgroupSupportedOperations(mut self, subgroupSupportedOperations : SubgroupFeatureFlags) -> Self {
self.subgroupSupportedOperations = subgroupSupportedOperations;
self
}
pub fn subgroupQuadOperationsInAllStages(mut self, subgroupQuadOperationsInAllStages : Bool32) -> Self {
self.subgroupQuadOperationsInAllStages = subgroupQuadOperationsInAllStages;
self
}
pub fn pointClippingBehavior(mut self, pointClippingBehavior : PointClippingBehavior) -> Self {
self.pointClippingBehavior = pointClippingBehavior;
self
}
pub fn maxMultiviewViewCount(mut self, maxMultiviewViewCount : u32) -> Self {
self.maxMultiviewViewCount = maxMultiviewViewCount;
self
}
pub fn maxMultiviewInstanceIndex(mut self, maxMultiviewInstanceIndex : u32) -> Self {
self.maxMultiviewInstanceIndex = maxMultiviewInstanceIndex;
self
}
pub fn protectedNoFault(mut self, protectedNoFault : Bool32) -> Self {
self.protectedNoFault = protectedNoFault;
self
}
pub fn maxPerSetDescriptors(mut self, maxPerSetDescriptors : u32) -> Self {
self.maxPerSetDescriptors = maxPerSetDescriptors;
self
}
pub fn maxMemoryAllocationSize(mut self, maxMemoryAllocationSize : DeviceSize) -> Self {
self.maxMemoryAllocationSize = maxMemoryAllocationSize;
self
}
}
impl PhysicalDeviceVulkan12Features {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn samplerMirrorClampToEdge(mut self, samplerMirrorClampToEdge : Bool32) -> Self {
self.samplerMirrorClampToEdge = samplerMirrorClampToEdge;
self
}
pub fn drawIndirectCount(mut self, drawIndirectCount : Bool32) -> Self {
self.drawIndirectCount = drawIndirectCount;
self
}
pub fn storageBuffer8BitAccess(mut self, storageBuffer8BitAccess : Bool32) -> Self {
self.storageBuffer8BitAccess = storageBuffer8BitAccess;
self
}
pub fn uniformAndStorageBuffer8BitAccess(mut self, uniformAndStorageBuffer8BitAccess : Bool32) -> Self {
self.uniformAndStorageBuffer8BitAccess = uniformAndStorageBuffer8BitAccess;
self
}
pub fn storagePushConstant8(mut self, storagePushConstant8 : Bool32) -> Self {
self.storagePushConstant8 = storagePushConstant8;
self
}
pub fn shaderBufferInt64Atomics(mut self, shaderBufferInt64Atomics : Bool32) -> Self {
self.shaderBufferInt64Atomics = shaderBufferInt64Atomics;
self
}
pub fn shaderSharedInt64Atomics(mut self, shaderSharedInt64Atomics : Bool32) -> Self {
self.shaderSharedInt64Atomics = shaderSharedInt64Atomics;
self
}
pub fn shaderFloat16(mut self, shaderFloat16 : Bool32) -> Self {
self.shaderFloat16 = shaderFloat16;
self
}
pub fn shaderInt8(mut self, shaderInt8 : Bool32) -> Self {
self.shaderInt8 = shaderInt8;
self
}
pub fn descriptorIndexing(mut self, descriptorIndexing : Bool32) -> Self {
self.descriptorIndexing = descriptorIndexing;
self
}
pub fn shaderInputAttachmentArrayDynamicIndexing(mut self, shaderInputAttachmentArrayDynamicIndexing : Bool32) -> Self {
self.shaderInputAttachmentArrayDynamicIndexing = shaderInputAttachmentArrayDynamicIndexing;
self
}
pub fn shaderUniformTexelBufferArrayDynamicIndexing(mut self, shaderUniformTexelBufferArrayDynamicIndexing : Bool32) -> Self {
self.shaderUniformTexelBufferArrayDynamicIndexing = shaderUniformTexelBufferArrayDynamicIndexing;
self
}
pub fn shaderStorageTexelBufferArrayDynamicIndexing(mut self, shaderStorageTexelBufferArrayDynamicIndexing : Bool32) -> Self {
self.shaderStorageTexelBufferArrayDynamicIndexing = shaderStorageTexelBufferArrayDynamicIndexing;
self
}
pub fn shaderUniformBufferArrayNonUniformIndexing(mut self, shaderUniformBufferArrayNonUniformIndexing : Bool32) -> Self {
self.shaderUniformBufferArrayNonUniformIndexing = shaderUniformBufferArrayNonUniformIndexing;
self
}
pub fn shaderSampledImageArrayNonUniformIndexing(mut self, shaderSampledImageArrayNonUniformIndexing : Bool32) -> Self {
self.shaderSampledImageArrayNonUniformIndexing = shaderSampledImageArrayNonUniformIndexing;
self
}
pub fn shaderStorageBufferArrayNonUniformIndexing(mut self, shaderStorageBufferArrayNonUniformIndexing : Bool32) -> Self {
self.shaderStorageBufferArrayNonUniformIndexing = shaderStorageBufferArrayNonUniformIndexing;
self
}
pub fn shaderStorageImageArrayNonUniformIndexing(mut self, shaderStorageImageArrayNonUniformIndexing : Bool32) -> Self {
self.shaderStorageImageArrayNonUniformIndexing = shaderStorageImageArrayNonUniformIndexing;
self
}
pub fn shaderInputAttachmentArrayNonUniformIndexing(mut self, shaderInputAttachmentArrayNonUniformIndexing : Bool32) -> Self {
self.shaderInputAttachmentArrayNonUniformIndexing = shaderInputAttachmentArrayNonUniformIndexing;
self
}
pub fn shaderUniformTexelBufferArrayNonUniformIndexing(mut self, shaderUniformTexelBufferArrayNonUniformIndexing : Bool32) -> Self {
self.shaderUniformTexelBufferArrayNonUniformIndexing = shaderUniformTexelBufferArrayNonUniformIndexing;
self
}
pub fn shaderStorageTexelBufferArrayNonUniformIndexing(mut self, shaderStorageTexelBufferArrayNonUniformIndexing : Bool32) -> Self {
self.shaderStorageTexelBufferArrayNonUniformIndexing = shaderStorageTexelBufferArrayNonUniformIndexing;
self
}
pub fn descriptorBindingUniformBufferUpdateAfterBind(mut self, descriptorBindingUniformBufferUpdateAfterBind : Bool32) -> Self {
self.descriptorBindingUniformBufferUpdateAfterBind = descriptorBindingUniformBufferUpdateAfterBind;
self
}
pub fn descriptorBindingSampledImageUpdateAfterBind(mut self, descriptorBindingSampledImageUpdateAfterBind : Bool32) -> Self {
self.descriptorBindingSampledImageUpdateAfterBind = descriptorBindingSampledImageUpdateAfterBind;
self
}
pub fn descriptorBindingStorageImageUpdateAfterBind(mut self, descriptorBindingStorageImageUpdateAfterBind : Bool32) -> Self {
self.descriptorBindingStorageImageUpdateAfterBind = descriptorBindingStorageImageUpdateAfterBind;
self
}
pub fn descriptorBindingStorageBufferUpdateAfterBind(mut self, descriptorBindingStorageBufferUpdateAfterBind : Bool32) -> Self {
self.descriptorBindingStorageBufferUpdateAfterBind = descriptorBindingStorageBufferUpdateAfterBind;
self
}
pub fn descriptorBindingUniformTexelBufferUpdateAfterBind(mut self, descriptorBindingUniformTexelBufferUpdateAfterBind : Bool32) -> Self {
self.descriptorBindingUniformTexelBufferUpdateAfterBind = descriptorBindingUniformTexelBufferUpdateAfterBind;
self
}
pub fn descriptorBindingStorageTexelBufferUpdateAfterBind(mut self, descriptorBindingStorageTexelBufferUpdateAfterBind : Bool32) -> Self {
self.descriptorBindingStorageTexelBufferUpdateAfterBind = descriptorBindingStorageTexelBufferUpdateAfterBind;
self
}
pub fn descriptorBindingUpdateUnusedWhilePending(mut self, descriptorBindingUpdateUnusedWhilePending : Bool32) -> Self {
self.descriptorBindingUpdateUnusedWhilePending = descriptorBindingUpdateUnusedWhilePending;
self
}
pub fn descriptorBindingPartiallyBound(mut self, descriptorBindingPartiallyBound : Bool32) -> Self {
self.descriptorBindingPartiallyBound = descriptorBindingPartiallyBound;
self
}
pub fn descriptorBindingVariableDescriptorCount(mut self, descriptorBindingVariableDescriptorCount : Bool32) -> Self {
self.descriptorBindingVariableDescriptorCount = descriptorBindingVariableDescriptorCount;
self
}
pub fn runtimeDescriptorArray(mut self, runtimeDescriptorArray : Bool32) -> Self {
self.runtimeDescriptorArray = runtimeDescriptorArray;
self
}
pub fn samplerFilterMinmax(mut self, samplerFilterMinmax : Bool32) -> Self {
self.samplerFilterMinmax = samplerFilterMinmax;
self
}
pub fn scalarBlockLayout(mut self, scalarBlockLayout : Bool32) -> Self {
self.scalarBlockLayout = scalarBlockLayout;
self
}
pub fn imagelessFramebuffer(mut self, imagelessFramebuffer : Bool32) -> Self {
self.imagelessFramebuffer = imagelessFramebuffer;
self
}
pub fn uniformBufferStandardLayout(mut self, uniformBufferStandardLayout : Bool32) -> Self {
self.uniformBufferStandardLayout = uniformBufferStandardLayout;
self
}
pub fn shaderSubgroupExtendedTypes(mut self, shaderSubgroupExtendedTypes : Bool32) -> Self {
self.shaderSubgroupExtendedTypes = shaderSubgroupExtendedTypes;
self
}
pub fn separateDepthStencilLayouts(mut self, separateDepthStencilLayouts : Bool32) -> Self {
self.separateDepthStencilLayouts = separateDepthStencilLayouts;
self
}
pub fn hostQueryReset(mut self, hostQueryReset : Bool32) -> Self {
self.hostQueryReset = hostQueryReset;
self
}
pub fn timelineSemaphore(mut self, timelineSemaphore : Bool32) -> Self {
self.timelineSemaphore = timelineSemaphore;
self
}
pub fn bufferDeviceAddress(mut self, bufferDeviceAddress : Bool32) -> Self {
self.bufferDeviceAddress = bufferDeviceAddress;
self
}
pub fn bufferDeviceAddressCaptureReplay(mut self, bufferDeviceAddressCaptureReplay : Bool32) -> Self {
self.bufferDeviceAddressCaptureReplay = bufferDeviceAddressCaptureReplay;
self
}
pub fn bufferDeviceAddressMultiDevice(mut self, bufferDeviceAddressMultiDevice : Bool32) -> Self {
self.bufferDeviceAddressMultiDevice = bufferDeviceAddressMultiDevice;
self
}
pub fn vulkanMemoryModel(mut self, vulkanMemoryModel : Bool32) -> Self {
self.vulkanMemoryModel = vulkanMemoryModel;
self
}
pub fn vulkanMemoryModelDeviceScope(mut self, vulkanMemoryModelDeviceScope : Bool32) -> Self {
self.vulkanMemoryModelDeviceScope = vulkanMemoryModelDeviceScope;
self
}
pub fn vulkanMemoryModelAvailabilityVisibilityChains(mut self, vulkanMemoryModelAvailabilityVisibilityChains : Bool32) -> Self {
self.vulkanMemoryModelAvailabilityVisibilityChains = vulkanMemoryModelAvailabilityVisibilityChains;
self
}
pub fn shaderOutputViewportIndex(mut self, shaderOutputViewportIndex : Bool32) -> Self {
self.shaderOutputViewportIndex = shaderOutputViewportIndex;
self
}
pub fn shaderOutputLayer(mut self, shaderOutputLayer : Bool32) -> Self {
self.shaderOutputLayer = shaderOutputLayer;
self
}
pub fn subgroupBroadcastDynamicId(mut self, subgroupBroadcastDynamicId : Bool32) -> Self {
self.subgroupBroadcastDynamicId = subgroupBroadcastDynamicId;
self
}
}
impl ConformanceVersion {
pub fn new() -> Self {
Self::default()
}
pub fn major(mut self, major : u8) -> Self {
self.major = major;
self
}
pub fn minor(mut self, minor : u8) -> Self {
self.minor = minor;
self
}
pub fn subminor(mut self, subminor : u8) -> Self {
self.subminor = subminor;
self
}
pub fn patch(mut self, patch : u8) -> Self {
self.patch = patch;
self
}
}
impl PhysicalDeviceVulkan12Properties {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn driverID(mut self, driverID : DriverId) -> Self {
self.driverID = driverID;
self
}
pub fn driverName(mut self, driverName : [i8;MAX_DRIVER_NAME_SIZE]) -> Self {
self.driverName = driverName;
self
}
pub fn driverInfo(mut self, driverInfo : [i8;MAX_DRIVER_INFO_SIZE]) -> Self {
self.driverInfo = driverInfo;
self
}
pub fn conformanceVersion(mut self, conformanceVersion : ConformanceVersion) -> Self {
self.conformanceVersion = conformanceVersion;
self
}
pub fn denormBehaviorIndependence(mut self, denormBehaviorIndependence : ShaderFloatControlsIndependence) -> Self {
self.denormBehaviorIndependence = denormBehaviorIndependence;
self
}
pub fn roundingModeIndependence(mut self, roundingModeIndependence : ShaderFloatControlsIndependence) -> Self {
self.roundingModeIndependence = roundingModeIndependence;
self
}
pub fn shaderSignedZeroInfNanPreserveFloat16(mut self, shaderSignedZeroInfNanPreserveFloat16 : Bool32) -> Self {
self.shaderSignedZeroInfNanPreserveFloat16 = shaderSignedZeroInfNanPreserveFloat16;
self
}
pub fn shaderSignedZeroInfNanPreserveFloat32(mut self, shaderSignedZeroInfNanPreserveFloat32 : Bool32) -> Self {
self.shaderSignedZeroInfNanPreserveFloat32 = shaderSignedZeroInfNanPreserveFloat32;
self
}
pub fn shaderSignedZeroInfNanPreserveFloat64(mut self, shaderSignedZeroInfNanPreserveFloat64 : Bool32) -> Self {
self.shaderSignedZeroInfNanPreserveFloat64 = shaderSignedZeroInfNanPreserveFloat64;
self
}
pub fn shaderDenormPreserveFloat16(mut self, shaderDenormPreserveFloat16 : Bool32) -> Self {
self.shaderDenormPreserveFloat16 = shaderDenormPreserveFloat16;
self
}
pub fn shaderDenormPreserveFloat32(mut self, shaderDenormPreserveFloat32 : Bool32) -> Self {
self.shaderDenormPreserveFloat32 = shaderDenormPreserveFloat32;
self
}
pub fn shaderDenormPreserveFloat64(mut self, shaderDenormPreserveFloat64 : Bool32) -> Self {
self.shaderDenormPreserveFloat64 = shaderDenormPreserveFloat64;
self
}
pub fn shaderDenormFlushToZeroFloat16(mut self, shaderDenormFlushToZeroFloat16 : Bool32) -> Self {
self.shaderDenormFlushToZeroFloat16 = shaderDenormFlushToZeroFloat16;
self
}
pub fn shaderDenormFlushToZeroFloat32(mut self, shaderDenormFlushToZeroFloat32 : Bool32) -> Self {
self.shaderDenormFlushToZeroFloat32 = shaderDenormFlushToZeroFloat32;
self
}
pub fn shaderDenormFlushToZeroFloat64(mut self, shaderDenormFlushToZeroFloat64 : Bool32) -> Self {
self.shaderDenormFlushToZeroFloat64 = shaderDenormFlushToZeroFloat64;
self
}
pub fn shaderRoundingModeRTEFloat16(mut self, shaderRoundingModeRTEFloat16 : Bool32) -> Self {
self.shaderRoundingModeRTEFloat16 = shaderRoundingModeRTEFloat16;
self
}
pub fn shaderRoundingModeRTEFloat32(mut self, shaderRoundingModeRTEFloat32 : Bool32) -> Self {
self.shaderRoundingModeRTEFloat32 = shaderRoundingModeRTEFloat32;
self
}
pub fn shaderRoundingModeRTEFloat64(mut self, shaderRoundingModeRTEFloat64 : Bool32) -> Self {
self.shaderRoundingModeRTEFloat64 = shaderRoundingModeRTEFloat64;
self
}
pub fn shaderRoundingModeRTZFloat16(mut self, shaderRoundingModeRTZFloat16 : Bool32) -> Self {
self.shaderRoundingModeRTZFloat16 = shaderRoundingModeRTZFloat16;
self
}
pub fn shaderRoundingModeRTZFloat32(mut self, shaderRoundingModeRTZFloat32 : Bool32) -> Self {
self.shaderRoundingModeRTZFloat32 = shaderRoundingModeRTZFloat32;
self
}
pub fn shaderRoundingModeRTZFloat64(mut self, shaderRoundingModeRTZFloat64 : Bool32) -> Self {
self.shaderRoundingModeRTZFloat64 = shaderRoundingModeRTZFloat64;
self
}
pub fn maxUpdateAfterBindDescriptorsInAllPools(mut self, maxUpdateAfterBindDescriptorsInAllPools : u32) -> Self {
self.maxUpdateAfterBindDescriptorsInAllPools = maxUpdateAfterBindDescriptorsInAllPools;
self
}
pub fn shaderUniformBufferArrayNonUniformIndexingNative(mut self, shaderUniformBufferArrayNonUniformIndexingNative : Bool32) -> Self {
self.shaderUniformBufferArrayNonUniformIndexingNative = shaderUniformBufferArrayNonUniformIndexingNative;
self
}
pub fn shaderSampledImageArrayNonUniformIndexingNative(mut self, shaderSampledImageArrayNonUniformIndexingNative : Bool32) -> Self {
self.shaderSampledImageArrayNonUniformIndexingNative = shaderSampledImageArrayNonUniformIndexingNative;
self
}
pub fn shaderStorageBufferArrayNonUniformIndexingNative(mut self, shaderStorageBufferArrayNonUniformIndexingNative : Bool32) -> Self {
self.shaderStorageBufferArrayNonUniformIndexingNative = shaderStorageBufferArrayNonUniformIndexingNative;
self
}
pub fn shaderStorageImageArrayNonUniformIndexingNative(mut self, shaderStorageImageArrayNonUniformIndexingNative : Bool32) -> Self {
self.shaderStorageImageArrayNonUniformIndexingNative = shaderStorageImageArrayNonUniformIndexingNative;
self
}
pub fn shaderInputAttachmentArrayNonUniformIndexingNative(mut self, shaderInputAttachmentArrayNonUniformIndexingNative : Bool32) -> Self {
self.shaderInputAttachmentArrayNonUniformIndexingNative = shaderInputAttachmentArrayNonUniformIndexingNative;
self
}
pub fn robustBufferAccessUpdateAfterBind(mut self, robustBufferAccessUpdateAfterBind : Bool32) -> Self {
self.robustBufferAccessUpdateAfterBind = robustBufferAccessUpdateAfterBind;
self
}
pub fn quadDivergentImplicitLod(mut self, quadDivergentImplicitLod : Bool32) -> Self {
self.quadDivergentImplicitLod = quadDivergentImplicitLod;
self
}
pub fn maxPerStageDescriptorUpdateAfterBindSamplers(mut self, maxPerStageDescriptorUpdateAfterBindSamplers : u32) -> Self {
self.maxPerStageDescriptorUpdateAfterBindSamplers = maxPerStageDescriptorUpdateAfterBindSamplers;
self
}
pub fn maxPerStageDescriptorUpdateAfterBindUniformBuffers(mut self, maxPerStageDescriptorUpdateAfterBindUniformBuffers : u32) -> Self {
self.maxPerStageDescriptorUpdateAfterBindUniformBuffers = maxPerStageDescriptorUpdateAfterBindUniformBuffers;
self
}
pub fn maxPerStageDescriptorUpdateAfterBindStorageBuffers(mut self, maxPerStageDescriptorUpdateAfterBindStorageBuffers : u32) -> Self {
self.maxPerStageDescriptorUpdateAfterBindStorageBuffers = maxPerStageDescriptorUpdateAfterBindStorageBuffers;
self
}
pub fn maxPerStageDescriptorUpdateAfterBindSampledImages(mut self, maxPerStageDescriptorUpdateAfterBindSampledImages : u32) -> Self {
self.maxPerStageDescriptorUpdateAfterBindSampledImages = maxPerStageDescriptorUpdateAfterBindSampledImages;
self
}
pub fn maxPerStageDescriptorUpdateAfterBindStorageImages(mut self, maxPerStageDescriptorUpdateAfterBindStorageImages : u32) -> Self {
self.maxPerStageDescriptorUpdateAfterBindStorageImages = maxPerStageDescriptorUpdateAfterBindStorageImages;
self
}
pub fn maxPerStageDescriptorUpdateAfterBindInputAttachments(mut self, maxPerStageDescriptorUpdateAfterBindInputAttachments : u32) -> Self {
self.maxPerStageDescriptorUpdateAfterBindInputAttachments = maxPerStageDescriptorUpdateAfterBindInputAttachments;
self
}
pub fn maxPerStageUpdateAfterBindResources(mut self, maxPerStageUpdateAfterBindResources : u32) -> Self {
self.maxPerStageUpdateAfterBindResources = maxPerStageUpdateAfterBindResources;
self
}
pub fn maxDescriptorSetUpdateAfterBindSamplers(mut self, maxDescriptorSetUpdateAfterBindSamplers : u32) -> Self {
self.maxDescriptorSetUpdateAfterBindSamplers = maxDescriptorSetUpdateAfterBindSamplers;
self
}
pub fn maxDescriptorSetUpdateAfterBindUniformBuffers(mut self, maxDescriptorSetUpdateAfterBindUniformBuffers : u32) -> Self {
self.maxDescriptorSetUpdateAfterBindUniformBuffers = maxDescriptorSetUpdateAfterBindUniformBuffers;
self
}
pub fn maxDescriptorSetUpdateAfterBindUniformBuffersDynamic(mut self, maxDescriptorSetUpdateAfterBindUniformBuffersDynamic : u32) -> Self {
self.maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
self
}
pub fn maxDescriptorSetUpdateAfterBindStorageBuffers(mut self, maxDescriptorSetUpdateAfterBindStorageBuffers : u32) -> Self {
self.maxDescriptorSetUpdateAfterBindStorageBuffers = maxDescriptorSetUpdateAfterBindStorageBuffers;
self
}
pub fn maxDescriptorSetUpdateAfterBindStorageBuffersDynamic(mut self, maxDescriptorSetUpdateAfterBindStorageBuffersDynamic : u32) -> Self {
self.maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
self
}
pub fn maxDescriptorSetUpdateAfterBindSampledImages(mut self, maxDescriptorSetUpdateAfterBindSampledImages : u32) -> Self {
self.maxDescriptorSetUpdateAfterBindSampledImages = maxDescriptorSetUpdateAfterBindSampledImages;
self
}
pub fn maxDescriptorSetUpdateAfterBindStorageImages(mut self, maxDescriptorSetUpdateAfterBindStorageImages : u32) -> Self {
self.maxDescriptorSetUpdateAfterBindStorageImages = maxDescriptorSetUpdateAfterBindStorageImages;
self
}
pub fn maxDescriptorSetUpdateAfterBindInputAttachments(mut self, maxDescriptorSetUpdateAfterBindInputAttachments : u32) -> Self {
self.maxDescriptorSetUpdateAfterBindInputAttachments = maxDescriptorSetUpdateAfterBindInputAttachments;
self
}
pub fn supportedDepthResolveModes(mut self, supportedDepthResolveModes : ResolveModeFlags) -> Self {
self.supportedDepthResolveModes = supportedDepthResolveModes;
self
}
pub fn supportedStencilResolveModes(mut self, supportedStencilResolveModes : ResolveModeFlags) -> Self {
self.supportedStencilResolveModes = supportedStencilResolveModes;
self
}
pub fn independentResolveNone(mut self, independentResolveNone : Bool32) -> Self {
self.independentResolveNone = independentResolveNone;
self
}
pub fn independentResolve(mut self, independentResolve : Bool32) -> Self {
self.independentResolve = independentResolve;
self
}
pub fn filterMinmaxSingleComponentFormats(mut self, filterMinmaxSingleComponentFormats : Bool32) -> Self {
self.filterMinmaxSingleComponentFormats = filterMinmaxSingleComponentFormats;
self
}
pub fn filterMinmaxImageComponentMapping(mut self, filterMinmaxImageComponentMapping : Bool32) -> Self {
self.filterMinmaxImageComponentMapping = filterMinmaxImageComponentMapping;
self
}
pub fn maxTimelineSemaphoreValueDifference(mut self, maxTimelineSemaphoreValueDifference : u64) -> Self {
self.maxTimelineSemaphoreValueDifference = maxTimelineSemaphoreValueDifference;
self
}
pub fn framebufferIntegerColorSampleCounts(mut self, framebufferIntegerColorSampleCounts : SampleCountFlags) -> Self {
self.framebufferIntegerColorSampleCounts = framebufferIntegerColorSampleCounts;
self
}
}
impl ImageFormatListCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn viewFormatCount(mut self, viewFormatCount : u32) -> Self {
self.viewFormatCount = viewFormatCount;
self
}
pub fn pViewFormats(mut self, pViewFormats : *const Format) -> Self {
self.pViewFormats = pViewFormats;
self
}
}
impl AttachmentDescription2 {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : AttachmentDescriptionFlags) -> Self {
self.flags = flags;
self
}
pub fn format(mut self, format : Format) -> Self {
self.format = format;
self
}
pub fn samples(mut self, samples : SampleCountFlagBits) -> Self {
self.samples = samples;
self
}
pub fn loadOp(mut self, loadOp : AttachmentLoadOp) -> Self {
self.loadOp = loadOp;
self
}
pub fn storeOp(mut self, storeOp : AttachmentStoreOp) -> Self {
self.storeOp = storeOp;
self
}
pub fn stencilLoadOp(mut self, stencilLoadOp : AttachmentLoadOp) -> Self {
self.stencilLoadOp = stencilLoadOp;
self
}
pub fn stencilStoreOp(mut self, stencilStoreOp : AttachmentStoreOp) -> Self {
self.stencilStoreOp = stencilStoreOp;
self
}
pub fn initialLayout(mut self, initialLayout : ImageLayout) -> Self {
self.initialLayout = initialLayout;
self
}
pub fn finalLayout(mut self, finalLayout : ImageLayout) -> Self {
self.finalLayout = finalLayout;
self
}
}
impl AttachmentReference2 {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn attachment(mut self, attachment : u32) -> Self {
self.attachment = attachment;
self
}
pub fn layout(mut self, layout : ImageLayout) -> Self {
self.layout = layout;
self
}
pub fn aspectMask(mut self, aspectMask : ImageAspectFlags) -> Self {
self.aspectMask = aspectMask;
self
}
}
impl SubpassDescription2 {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : SubpassDescriptionFlags) -> Self {
self.flags = flags;
self
}
pub fn pipelineBindPoint(mut self, pipelineBindPoint : PipelineBindPoint) -> Self {
self.pipelineBindPoint = pipelineBindPoint;
self
}
pub fn viewMask(mut self, viewMask : u32) -> Self {
self.viewMask = viewMask;
self
}
pub fn inputAttachmentCount(mut self, inputAttachmentCount : u32) -> Self {
self.inputAttachmentCount = inputAttachmentCount;
self
}
pub fn pInputAttachments(mut self, pInputAttachments : *const AttachmentReference2) -> Self {
self.pInputAttachments = pInputAttachments;
self
}
pub fn colorAttachmentCount(mut self, colorAttachmentCount : u32) -> Self {
self.colorAttachmentCount = colorAttachmentCount;
self
}
pub fn pColorAttachments(mut self, pColorAttachments : *const AttachmentReference2) -> Self {
self.pColorAttachments = pColorAttachments;
self
}
pub fn pResolveAttachments(mut self, pResolveAttachments : *const AttachmentReference2) -> Self {
self.pResolveAttachments = pResolveAttachments;
self
}
pub fn pDepthStencilAttachment(mut self, pDepthStencilAttachment : *const AttachmentReference2) -> Self {
self.pDepthStencilAttachment = pDepthStencilAttachment;
self
}
pub fn preserveAttachmentCount(mut self, preserveAttachmentCount : u32) -> Self {
self.preserveAttachmentCount = preserveAttachmentCount;
self
}
pub fn pPreserveAttachments(mut self, pPreserveAttachments : *const u32) -> Self {
self.pPreserveAttachments = pPreserveAttachments;
self
}
}
impl SubpassDependency2 {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn srcSubpass(mut self, srcSubpass : u32) -> Self {
self.srcSubpass = srcSubpass;
self
}
pub fn dstSubpass(mut self, dstSubpass : u32) -> Self {
self.dstSubpass = dstSubpass;
self
}
pub fn srcStageMask(mut self, srcStageMask : PipelineStageFlags) -> Self {
self.srcStageMask = srcStageMask;
self
}
pub fn dstStageMask(mut self, dstStageMask : PipelineStageFlags) -> Self {
self.dstStageMask = dstStageMask;
self
}
pub fn srcAccessMask(mut self, srcAccessMask : AccessFlags) -> Self {
self.srcAccessMask = srcAccessMask;
self
}
pub fn dstAccessMask(mut self, dstAccessMask : AccessFlags) -> Self {
self.dstAccessMask = dstAccessMask;
self
}
pub fn dependencyFlags(mut self, dependencyFlags : DependencyFlags) -> Self {
self.dependencyFlags = dependencyFlags;
self
}
pub fn viewOffset(mut self, viewOffset : i32) -> Self {
self.viewOffset = viewOffset;
self
}
}
impl RenderPassCreateInfo2 {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : RenderPassCreateFlags) -> Self {
self.flags = flags;
self
}
pub fn attachmentCount(mut self, attachmentCount : u32) -> Self {
self.attachmentCount = attachmentCount;
self
}
pub fn pAttachments(mut self, pAttachments : *const AttachmentDescription2) -> Self {
self.pAttachments = pAttachments;
self
}
pub fn subpassCount(mut self, subpassCount : u32) -> Self {
self.subpassCount = subpassCount;
self
}
pub fn pSubpasses(mut self, pSubpasses : *const SubpassDescription2) -> Self {
self.pSubpasses = pSubpasses;
self
}
pub fn dependencyCount(mut self, dependencyCount : u32) -> Self {
self.dependencyCount = dependencyCount;
self
}
pub fn pDependencies(mut self, pDependencies : *const SubpassDependency2) -> Self {
self.pDependencies = pDependencies;
self
}
pub fn correlatedViewMaskCount(mut self, correlatedViewMaskCount : u32) -> Self {
self.correlatedViewMaskCount = correlatedViewMaskCount;
self
}
pub fn pCorrelatedViewMasks(mut self, pCorrelatedViewMasks : *const u32) -> Self {
self.pCorrelatedViewMasks = pCorrelatedViewMasks;
self
}
}
impl SubpassBeginInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn contents(mut self, contents : SubpassContents) -> Self {
self.contents = contents;
self
}
}
impl SubpassEndInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
}
impl PhysicalDevice8BitStorageFeatures {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn storageBuffer8BitAccess(mut self, storageBuffer8BitAccess : Bool32) -> Self {
self.storageBuffer8BitAccess = storageBuffer8BitAccess;
self
}
pub fn uniformAndStorageBuffer8BitAccess(mut self, uniformAndStorageBuffer8BitAccess : Bool32) -> Self {
self.uniformAndStorageBuffer8BitAccess = uniformAndStorageBuffer8BitAccess;
self
}
pub fn storagePushConstant8(mut self, storagePushConstant8 : Bool32) -> Self {
self.storagePushConstant8 = storagePushConstant8;
self
}
}
impl PhysicalDeviceDriverProperties {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn driverID(mut self, driverID : DriverId) -> Self {
self.driverID = driverID;
self
}
pub fn driverName(mut self, driverName : [i8;MAX_DRIVER_NAME_SIZE]) -> Self {
self.driverName = driverName;
self
}
pub fn driverInfo(mut self, driverInfo : [i8;MAX_DRIVER_INFO_SIZE]) -> Self {
self.driverInfo = driverInfo;
self
}
pub fn conformanceVersion(mut self, conformanceVersion : ConformanceVersion) -> Self {
self.conformanceVersion = conformanceVersion;
self
}
}
impl PhysicalDeviceShaderAtomicInt64Features {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn shaderBufferInt64Atomics(mut self, shaderBufferInt64Atomics : Bool32) -> Self {
self.shaderBufferInt64Atomics = shaderBufferInt64Atomics;
self
}
pub fn shaderSharedInt64Atomics(mut self, shaderSharedInt64Atomics : Bool32) -> Self {
self.shaderSharedInt64Atomics = shaderSharedInt64Atomics;
self
}
}
impl PhysicalDeviceShaderFloat16Int8Features {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn shaderFloat16(mut self, shaderFloat16 : Bool32) -> Self {
self.shaderFloat16 = shaderFloat16;
self
}
pub fn shaderInt8(mut self, shaderInt8 : Bool32) -> Self {
self.shaderInt8 = shaderInt8;
self
}
}
impl PhysicalDeviceFloatControlsProperties {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn denormBehaviorIndependence(mut self, denormBehaviorIndependence : ShaderFloatControlsIndependence) -> Self {
self.denormBehaviorIndependence = denormBehaviorIndependence;
self
}
pub fn roundingModeIndependence(mut self, roundingModeIndependence : ShaderFloatControlsIndependence) -> Self {
self.roundingModeIndependence = roundingModeIndependence;
self
}
pub fn shaderSignedZeroInfNanPreserveFloat16(mut self, shaderSignedZeroInfNanPreserveFloat16 : Bool32) -> Self {
self.shaderSignedZeroInfNanPreserveFloat16 = shaderSignedZeroInfNanPreserveFloat16;
self
}
pub fn shaderSignedZeroInfNanPreserveFloat32(mut self, shaderSignedZeroInfNanPreserveFloat32 : Bool32) -> Self {
self.shaderSignedZeroInfNanPreserveFloat32 = shaderSignedZeroInfNanPreserveFloat32;
self
}
pub fn shaderSignedZeroInfNanPreserveFloat64(mut self, shaderSignedZeroInfNanPreserveFloat64 : Bool32) -> Self {
self.shaderSignedZeroInfNanPreserveFloat64 = shaderSignedZeroInfNanPreserveFloat64;
self
}
pub fn shaderDenormPreserveFloat16(mut self, shaderDenormPreserveFloat16 : Bool32) -> Self {
self.shaderDenormPreserveFloat16 = shaderDenormPreserveFloat16;
self
}
pub fn shaderDenormPreserveFloat32(mut self, shaderDenormPreserveFloat32 : Bool32) -> Self {
self.shaderDenormPreserveFloat32 = shaderDenormPreserveFloat32;
self
}
pub fn shaderDenormPreserveFloat64(mut self, shaderDenormPreserveFloat64 : Bool32) -> Self {
self.shaderDenormPreserveFloat64 = shaderDenormPreserveFloat64;
self
}
pub fn shaderDenormFlushToZeroFloat16(mut self, shaderDenormFlushToZeroFloat16 : Bool32) -> Self {
self.shaderDenormFlushToZeroFloat16 = shaderDenormFlushToZeroFloat16;
self
}
pub fn shaderDenormFlushToZeroFloat32(mut self, shaderDenormFlushToZeroFloat32 : Bool32) -> Self {
self.shaderDenormFlushToZeroFloat32 = shaderDenormFlushToZeroFloat32;
self
}
pub fn shaderDenormFlushToZeroFloat64(mut self, shaderDenormFlushToZeroFloat64 : Bool32) -> Self {
self.shaderDenormFlushToZeroFloat64 = shaderDenormFlushToZeroFloat64;
self
}
pub fn shaderRoundingModeRTEFloat16(mut self, shaderRoundingModeRTEFloat16 : Bool32) -> Self {
self.shaderRoundingModeRTEFloat16 = shaderRoundingModeRTEFloat16;
self
}
pub fn shaderRoundingModeRTEFloat32(mut self, shaderRoundingModeRTEFloat32 : Bool32) -> Self {
self.shaderRoundingModeRTEFloat32 = shaderRoundingModeRTEFloat32;
self
}
pub fn shaderRoundingModeRTEFloat64(mut self, shaderRoundingModeRTEFloat64 : Bool32) -> Self {
self.shaderRoundingModeRTEFloat64 = shaderRoundingModeRTEFloat64;
self
}
pub fn shaderRoundingModeRTZFloat16(mut self, shaderRoundingModeRTZFloat16 : Bool32) -> Self {
self.shaderRoundingModeRTZFloat16 = shaderRoundingModeRTZFloat16;
self
}
pub fn shaderRoundingModeRTZFloat32(mut self, shaderRoundingModeRTZFloat32 : Bool32) -> Self {
self.shaderRoundingModeRTZFloat32 = shaderRoundingModeRTZFloat32;
self
}
pub fn shaderRoundingModeRTZFloat64(mut self, shaderRoundingModeRTZFloat64 : Bool32) -> Self {
self.shaderRoundingModeRTZFloat64 = shaderRoundingModeRTZFloat64;
self
}
}
impl DescriptorSetLayoutBindingFlagsCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn bindingCount(mut self, bindingCount : u32) -> Self {
self.bindingCount = bindingCount;
self
}
pub fn pBindingFlags(mut self, pBindingFlags : *const DescriptorBindingFlags) -> Self {
self.pBindingFlags = pBindingFlags;
self
}
}
impl PhysicalDeviceDescriptorIndexingFeatures {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn shaderInputAttachmentArrayDynamicIndexing(mut self, shaderInputAttachmentArrayDynamicIndexing : Bool32) -> Self {
self.shaderInputAttachmentArrayDynamicIndexing = shaderInputAttachmentArrayDynamicIndexing;
self
}
pub fn shaderUniformTexelBufferArrayDynamicIndexing(mut self, shaderUniformTexelBufferArrayDynamicIndexing : Bool32) -> Self {
self.shaderUniformTexelBufferArrayDynamicIndexing = shaderUniformTexelBufferArrayDynamicIndexing;
self
}
pub fn shaderStorageTexelBufferArrayDynamicIndexing(mut self, shaderStorageTexelBufferArrayDynamicIndexing : Bool32) -> Self {
self.shaderStorageTexelBufferArrayDynamicIndexing = shaderStorageTexelBufferArrayDynamicIndexing;
self
}
pub fn shaderUniformBufferArrayNonUniformIndexing(mut self, shaderUniformBufferArrayNonUniformIndexing : Bool32) -> Self {
self.shaderUniformBufferArrayNonUniformIndexing = shaderUniformBufferArrayNonUniformIndexing;
self
}
pub fn shaderSampledImageArrayNonUniformIndexing(mut self, shaderSampledImageArrayNonUniformIndexing : Bool32) -> Self {
self.shaderSampledImageArrayNonUniformIndexing = shaderSampledImageArrayNonUniformIndexing;
self
}
pub fn shaderStorageBufferArrayNonUniformIndexing(mut self, shaderStorageBufferArrayNonUniformIndexing : Bool32) -> Self {
self.shaderStorageBufferArrayNonUniformIndexing = shaderStorageBufferArrayNonUniformIndexing;
self
}
pub fn shaderStorageImageArrayNonUniformIndexing(mut self, shaderStorageImageArrayNonUniformIndexing : Bool32) -> Self {
self.shaderStorageImageArrayNonUniformIndexing = shaderStorageImageArrayNonUniformIndexing;
self
}
pub fn shaderInputAttachmentArrayNonUniformIndexing(mut self, shaderInputAttachmentArrayNonUniformIndexing : Bool32) -> Self {
self.shaderInputAttachmentArrayNonUniformIndexing = shaderInputAttachmentArrayNonUniformIndexing;
self
}
pub fn shaderUniformTexelBufferArrayNonUniformIndexing(mut self, shaderUniformTexelBufferArrayNonUniformIndexing : Bool32) -> Self {
self.shaderUniformTexelBufferArrayNonUniformIndexing = shaderUniformTexelBufferArrayNonUniformIndexing;
self
}
pub fn shaderStorageTexelBufferArrayNonUniformIndexing(mut self, shaderStorageTexelBufferArrayNonUniformIndexing : Bool32) -> Self {
self.shaderStorageTexelBufferArrayNonUniformIndexing = shaderStorageTexelBufferArrayNonUniformIndexing;
self
}
pub fn descriptorBindingUniformBufferUpdateAfterBind(mut self, descriptorBindingUniformBufferUpdateAfterBind : Bool32) -> Self {
self.descriptorBindingUniformBufferUpdateAfterBind = descriptorBindingUniformBufferUpdateAfterBind;
self
}
pub fn descriptorBindingSampledImageUpdateAfterBind(mut self, descriptorBindingSampledImageUpdateAfterBind : Bool32) -> Self {
self.descriptorBindingSampledImageUpdateAfterBind = descriptorBindingSampledImageUpdateAfterBind;
self
}
pub fn descriptorBindingStorageImageUpdateAfterBind(mut self, descriptorBindingStorageImageUpdateAfterBind : Bool32) -> Self {
self.descriptorBindingStorageImageUpdateAfterBind = descriptorBindingStorageImageUpdateAfterBind;
self
}
pub fn descriptorBindingStorageBufferUpdateAfterBind(mut self, descriptorBindingStorageBufferUpdateAfterBind : Bool32) -> Self {
self.descriptorBindingStorageBufferUpdateAfterBind = descriptorBindingStorageBufferUpdateAfterBind;
self
}
pub fn descriptorBindingUniformTexelBufferUpdateAfterBind(mut self, descriptorBindingUniformTexelBufferUpdateAfterBind : Bool32) -> Self {
self.descriptorBindingUniformTexelBufferUpdateAfterBind = descriptorBindingUniformTexelBufferUpdateAfterBind;
self
}
pub fn descriptorBindingStorageTexelBufferUpdateAfterBind(mut self, descriptorBindingStorageTexelBufferUpdateAfterBind : Bool32) -> Self {
self.descriptorBindingStorageTexelBufferUpdateAfterBind = descriptorBindingStorageTexelBufferUpdateAfterBind;
self
}
pub fn descriptorBindingUpdateUnusedWhilePending(mut self, descriptorBindingUpdateUnusedWhilePending : Bool32) -> Self {
self.descriptorBindingUpdateUnusedWhilePending = descriptorBindingUpdateUnusedWhilePending;
self
}
pub fn descriptorBindingPartiallyBound(mut self, descriptorBindingPartiallyBound : Bool32) -> Self {
self.descriptorBindingPartiallyBound = descriptorBindingPartiallyBound;
self
}
pub fn descriptorBindingVariableDescriptorCount(mut self, descriptorBindingVariableDescriptorCount : Bool32) -> Self {
self.descriptorBindingVariableDescriptorCount = descriptorBindingVariableDescriptorCount;
self
}
pub fn runtimeDescriptorArray(mut self, runtimeDescriptorArray : Bool32) -> Self {
self.runtimeDescriptorArray = runtimeDescriptorArray;
self
}
}
impl PhysicalDeviceDescriptorIndexingProperties {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn maxUpdateAfterBindDescriptorsInAllPools(mut self, maxUpdateAfterBindDescriptorsInAllPools : u32) -> Self {
self.maxUpdateAfterBindDescriptorsInAllPools = maxUpdateAfterBindDescriptorsInAllPools;
self
}
pub fn shaderUniformBufferArrayNonUniformIndexingNative(mut self, shaderUniformBufferArrayNonUniformIndexingNative : Bool32) -> Self {
self.shaderUniformBufferArrayNonUniformIndexingNative = shaderUniformBufferArrayNonUniformIndexingNative;
self
}
pub fn shaderSampledImageArrayNonUniformIndexingNative(mut self, shaderSampledImageArrayNonUniformIndexingNative : Bool32) -> Self {
self.shaderSampledImageArrayNonUniformIndexingNative = shaderSampledImageArrayNonUniformIndexingNative;
self
}
pub fn shaderStorageBufferArrayNonUniformIndexingNative(mut self, shaderStorageBufferArrayNonUniformIndexingNative : Bool32) -> Self {
self.shaderStorageBufferArrayNonUniformIndexingNative = shaderStorageBufferArrayNonUniformIndexingNative;
self
}
pub fn shaderStorageImageArrayNonUniformIndexingNative(mut self, shaderStorageImageArrayNonUniformIndexingNative : Bool32) -> Self {
self.shaderStorageImageArrayNonUniformIndexingNative = shaderStorageImageArrayNonUniformIndexingNative;
self
}
pub fn shaderInputAttachmentArrayNonUniformIndexingNative(mut self, shaderInputAttachmentArrayNonUniformIndexingNative : Bool32) -> Self {
self.shaderInputAttachmentArrayNonUniformIndexingNative = shaderInputAttachmentArrayNonUniformIndexingNative;
self
}
pub fn robustBufferAccessUpdateAfterBind(mut self, robustBufferAccessUpdateAfterBind : Bool32) -> Self {
self.robustBufferAccessUpdateAfterBind = robustBufferAccessUpdateAfterBind;
self
}
pub fn quadDivergentImplicitLod(mut self, quadDivergentImplicitLod : Bool32) -> Self {
self.quadDivergentImplicitLod = quadDivergentImplicitLod;
self
}
pub fn maxPerStageDescriptorUpdateAfterBindSamplers(mut self, maxPerStageDescriptorUpdateAfterBindSamplers : u32) -> Self {
self.maxPerStageDescriptorUpdateAfterBindSamplers = maxPerStageDescriptorUpdateAfterBindSamplers;
self
}
pub fn maxPerStageDescriptorUpdateAfterBindUniformBuffers(mut self, maxPerStageDescriptorUpdateAfterBindUniformBuffers : u32) -> Self {
self.maxPerStageDescriptorUpdateAfterBindUniformBuffers = maxPerStageDescriptorUpdateAfterBindUniformBuffers;
self
}
pub fn maxPerStageDescriptorUpdateAfterBindStorageBuffers(mut self, maxPerStageDescriptorUpdateAfterBindStorageBuffers : u32) -> Self {
self.maxPerStageDescriptorUpdateAfterBindStorageBuffers = maxPerStageDescriptorUpdateAfterBindStorageBuffers;
self
}
pub fn maxPerStageDescriptorUpdateAfterBindSampledImages(mut self, maxPerStageDescriptorUpdateAfterBindSampledImages : u32) -> Self {
self.maxPerStageDescriptorUpdateAfterBindSampledImages = maxPerStageDescriptorUpdateAfterBindSampledImages;
self
}
pub fn maxPerStageDescriptorUpdateAfterBindStorageImages(mut self, maxPerStageDescriptorUpdateAfterBindStorageImages : u32) -> Self {
self.maxPerStageDescriptorUpdateAfterBindStorageImages = maxPerStageDescriptorUpdateAfterBindStorageImages;
self
}
pub fn maxPerStageDescriptorUpdateAfterBindInputAttachments(mut self, maxPerStageDescriptorUpdateAfterBindInputAttachments : u32) -> Self {
self.maxPerStageDescriptorUpdateAfterBindInputAttachments = maxPerStageDescriptorUpdateAfterBindInputAttachments;
self
}
pub fn maxPerStageUpdateAfterBindResources(mut self, maxPerStageUpdateAfterBindResources : u32) -> Self {
self.maxPerStageUpdateAfterBindResources = maxPerStageUpdateAfterBindResources;
self
}
pub fn maxDescriptorSetUpdateAfterBindSamplers(mut self, maxDescriptorSetUpdateAfterBindSamplers : u32) -> Self {
self.maxDescriptorSetUpdateAfterBindSamplers = maxDescriptorSetUpdateAfterBindSamplers;
self
}
pub fn maxDescriptorSetUpdateAfterBindUniformBuffers(mut self, maxDescriptorSetUpdateAfterBindUniformBuffers : u32) -> Self {
self.maxDescriptorSetUpdateAfterBindUniformBuffers = maxDescriptorSetUpdateAfterBindUniformBuffers;
self
}
pub fn maxDescriptorSetUpdateAfterBindUniformBuffersDynamic(mut self, maxDescriptorSetUpdateAfterBindUniformBuffersDynamic : u32) -> Self {
self.maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
self
}
pub fn maxDescriptorSetUpdateAfterBindStorageBuffers(mut self, maxDescriptorSetUpdateAfterBindStorageBuffers : u32) -> Self {
self.maxDescriptorSetUpdateAfterBindStorageBuffers = maxDescriptorSetUpdateAfterBindStorageBuffers;
self
}
pub fn maxDescriptorSetUpdateAfterBindStorageBuffersDynamic(mut self, maxDescriptorSetUpdateAfterBindStorageBuffersDynamic : u32) -> Self {
self.maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
self
}
pub fn maxDescriptorSetUpdateAfterBindSampledImages(mut self, maxDescriptorSetUpdateAfterBindSampledImages : u32) -> Self {
self.maxDescriptorSetUpdateAfterBindSampledImages = maxDescriptorSetUpdateAfterBindSampledImages;
self
}
pub fn maxDescriptorSetUpdateAfterBindStorageImages(mut self, maxDescriptorSetUpdateAfterBindStorageImages : u32) -> Self {
self.maxDescriptorSetUpdateAfterBindStorageImages = maxDescriptorSetUpdateAfterBindStorageImages;
self
}
pub fn maxDescriptorSetUpdateAfterBindInputAttachments(mut self, maxDescriptorSetUpdateAfterBindInputAttachments : u32) -> Self {
self.maxDescriptorSetUpdateAfterBindInputAttachments = maxDescriptorSetUpdateAfterBindInputAttachments;
self
}
}
impl DescriptorSetVariableDescriptorCountAllocateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn descriptorSetCount(mut self, descriptorSetCount : u32) -> Self {
self.descriptorSetCount = descriptorSetCount;
self
}
pub fn pDescriptorCounts(mut self, pDescriptorCounts : *const u32) -> Self {
self.pDescriptorCounts = pDescriptorCounts;
self
}
}
impl DescriptorSetVariableDescriptorCountLayoutSupport {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn maxVariableDescriptorCount(mut self, maxVariableDescriptorCount : u32) -> Self {
self.maxVariableDescriptorCount = maxVariableDescriptorCount;
self
}
}
impl SubpassDescriptionDepthStencilResolve {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn depthResolveMode(mut self, depthResolveMode : ResolveModeFlagBits) -> Self {
self.depthResolveMode = depthResolveMode;
self
}
pub fn stencilResolveMode(mut self, stencilResolveMode : ResolveModeFlagBits) -> Self {
self.stencilResolveMode = stencilResolveMode;
self
}
pub fn pDepthStencilResolveAttachment(mut self, pDepthStencilResolveAttachment : *const AttachmentReference2) -> Self {
self.pDepthStencilResolveAttachment = pDepthStencilResolveAttachment;
self
}
}
impl PhysicalDeviceDepthStencilResolveProperties {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn supportedDepthResolveModes(mut self, supportedDepthResolveModes : ResolveModeFlags) -> Self {
self.supportedDepthResolveModes = supportedDepthResolveModes;
self
}
pub fn supportedStencilResolveModes(mut self, supportedStencilResolveModes : ResolveModeFlags) -> Self {
self.supportedStencilResolveModes = supportedStencilResolveModes;
self
}
pub fn independentResolveNone(mut self, independentResolveNone : Bool32) -> Self {
self.independentResolveNone = independentResolveNone;
self
}
pub fn independentResolve(mut self, independentResolve : Bool32) -> Self {
self.independentResolve = independentResolve;
self
}
}
impl PhysicalDeviceScalarBlockLayoutFeatures {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn scalarBlockLayout(mut self, scalarBlockLayout : Bool32) -> Self {
self.scalarBlockLayout = scalarBlockLayout;
self
}
}
impl ImageStencilUsageCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn stencilUsage(mut self, stencilUsage : ImageUsageFlags) -> Self {
self.stencilUsage = stencilUsage;
self
}
}
impl SamplerReductionModeCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn reductionMode(mut self, reductionMode : SamplerReductionMode) -> Self {
self.reductionMode = reductionMode;
self
}
}
impl PhysicalDeviceSamplerFilterMinmaxProperties {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn filterMinmaxSingleComponentFormats(mut self, filterMinmaxSingleComponentFormats : Bool32) -> Self {
self.filterMinmaxSingleComponentFormats = filterMinmaxSingleComponentFormats;
self
}
pub fn filterMinmaxImageComponentMapping(mut self, filterMinmaxImageComponentMapping : Bool32) -> Self {
self.filterMinmaxImageComponentMapping = filterMinmaxImageComponentMapping;
self
}
}
impl PhysicalDeviceVulkanMemoryModelFeatures {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn vulkanMemoryModel(mut self, vulkanMemoryModel : Bool32) -> Self {
self.vulkanMemoryModel = vulkanMemoryModel;
self
}
pub fn vulkanMemoryModelDeviceScope(mut self, vulkanMemoryModelDeviceScope : Bool32) -> Self {
self.vulkanMemoryModelDeviceScope = vulkanMemoryModelDeviceScope;
self
}
pub fn vulkanMemoryModelAvailabilityVisibilityChains(mut self, vulkanMemoryModelAvailabilityVisibilityChains : Bool32) -> Self {
self.vulkanMemoryModelAvailabilityVisibilityChains = vulkanMemoryModelAvailabilityVisibilityChains;
self
}
}
impl PhysicalDeviceImagelessFramebufferFeatures {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn imagelessFramebuffer(mut self, imagelessFramebuffer : Bool32) -> Self {
self.imagelessFramebuffer = imagelessFramebuffer;
self
}
}
impl FramebufferAttachmentImageInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : ImageCreateFlags) -> Self {
self.flags = flags;
self
}
pub fn usage(mut self, usage : ImageUsageFlags) -> Self {
self.usage = usage;
self
}
pub fn width(mut self, width : u32) -> Self {
self.width = width;
self
}
pub fn height(mut self, height : u32) -> Self {
self.height = height;
self
}
pub fn layerCount(mut self, layerCount : u32) -> Self {
self.layerCount = layerCount;
self
}
pub fn viewFormatCount(mut self, viewFormatCount : u32) -> Self {
self.viewFormatCount = viewFormatCount;
self
}
pub fn pViewFormats(mut self, pViewFormats : *const Format) -> Self {
self.pViewFormats = pViewFormats;
self
}
}
impl FramebufferAttachmentsCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn attachmentImageInfoCount(mut self, attachmentImageInfoCount : u32) -> Self {
self.attachmentImageInfoCount = attachmentImageInfoCount;
self
}
pub fn pAttachmentImageInfos(mut self, pAttachmentImageInfos : *const FramebufferAttachmentImageInfo) -> Self {
self.pAttachmentImageInfos = pAttachmentImageInfos;
self
}
}
impl RenderPassAttachmentBeginInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn attachmentCount(mut self, attachmentCount : u32) -> Self {
self.attachmentCount = attachmentCount;
self
}
pub fn pAttachments(mut self, pAttachments : *const ImageView) -> Self {
self.pAttachments = pAttachments;
self
}
}
impl PhysicalDeviceUniformBufferStandardLayoutFeatures {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn uniformBufferStandardLayout(mut self, uniformBufferStandardLayout : Bool32) -> Self {
self.uniformBufferStandardLayout = uniformBufferStandardLayout;
self
}
}
impl PhysicalDeviceShaderSubgroupExtendedTypesFeatures {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn shaderSubgroupExtendedTypes(mut self, shaderSubgroupExtendedTypes : Bool32) -> Self {
self.shaderSubgroupExtendedTypes = shaderSubgroupExtendedTypes;
self
}
}
impl PhysicalDeviceSeparateDepthStencilLayoutsFeatures {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn separateDepthStencilLayouts(mut self, separateDepthStencilLayouts : Bool32) -> Self {
self.separateDepthStencilLayouts = separateDepthStencilLayouts;
self
}
}
impl AttachmentReferenceStencilLayout {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn stencilLayout(mut self, stencilLayout : ImageLayout) -> Self {
self.stencilLayout = stencilLayout;
self
}
}
impl AttachmentDescriptionStencilLayout {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn stencilInitialLayout(mut self, stencilInitialLayout : ImageLayout) -> Self {
self.stencilInitialLayout = stencilInitialLayout;
self
}
pub fn stencilFinalLayout(mut self, stencilFinalLayout : ImageLayout) -> Self {
self.stencilFinalLayout = stencilFinalLayout;
self
}
}
impl PhysicalDeviceHostQueryResetFeatures {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn hostQueryReset(mut self, hostQueryReset : Bool32) -> Self {
self.hostQueryReset = hostQueryReset;
self
}
}
impl PhysicalDeviceTimelineSemaphoreFeatures {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn timelineSemaphore(mut self, timelineSemaphore : Bool32) -> Self {
self.timelineSemaphore = timelineSemaphore;
self
}
}
impl PhysicalDeviceTimelineSemaphoreProperties {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn maxTimelineSemaphoreValueDifference(mut self, maxTimelineSemaphoreValueDifference : u64) -> Self {
self.maxTimelineSemaphoreValueDifference = maxTimelineSemaphoreValueDifference;
self
}
}
impl SemaphoreTypeCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn semaphoreType(mut self, semaphoreType : SemaphoreType) -> Self {
self.semaphoreType = semaphoreType;
self
}
pub fn initialValue(mut self, initialValue : u64) -> Self {
self.initialValue = initialValue;
self
}
}
impl TimelineSemaphoreSubmitInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn waitSemaphoreValueCount(mut self, waitSemaphoreValueCount : u32) -> Self {
self.waitSemaphoreValueCount = waitSemaphoreValueCount;
self
}
pub fn pWaitSemaphoreValues(mut self, pWaitSemaphoreValues : *const u64) -> Self {
self.pWaitSemaphoreValues = pWaitSemaphoreValues;
self
}
pub fn signalSemaphoreValueCount(mut self, signalSemaphoreValueCount : u32) -> Self {
self.signalSemaphoreValueCount = signalSemaphoreValueCount;
self
}
pub fn pSignalSemaphoreValues(mut self, pSignalSemaphoreValues : *const u64) -> Self {
self.pSignalSemaphoreValues = pSignalSemaphoreValues;
self
}
}
impl SemaphoreWaitInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : SemaphoreWaitFlags) -> Self {
self.flags = flags;
self
}
pub fn semaphoreCount(mut self, semaphoreCount : u32) -> Self {
self.semaphoreCount = semaphoreCount;
self
}
pub fn pSemaphores(mut self, pSemaphores : *const Semaphore) -> Self {
self.pSemaphores = pSemaphores;
self
}
pub fn pValues(mut self, pValues : *const u64) -> Self {
self.pValues = pValues;
self
}
}
impl SemaphoreSignalInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn semaphore(mut self, semaphore : Semaphore) -> Self {
self.semaphore = semaphore;
self
}
pub fn value(mut self, value : u64) -> Self {
self.value = value;
self
}
}
impl PhysicalDeviceBufferDeviceAddressFeatures {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn bufferDeviceAddress(mut self, bufferDeviceAddress : Bool32) -> Self {
self.bufferDeviceAddress = bufferDeviceAddress;
self
}
pub fn bufferDeviceAddressCaptureReplay(mut self, bufferDeviceAddressCaptureReplay : Bool32) -> Self {
self.bufferDeviceAddressCaptureReplay = bufferDeviceAddressCaptureReplay;
self
}
pub fn bufferDeviceAddressMultiDevice(mut self, bufferDeviceAddressMultiDevice : Bool32) -> Self {
self.bufferDeviceAddressMultiDevice = bufferDeviceAddressMultiDevice;
self
}
}
impl BufferDeviceAddressInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn buffer(mut self, buffer : Buffer) -> Self {
self.buffer = buffer;
self
}
}
impl BufferOpaqueCaptureAddressCreateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn opaqueCaptureAddress(mut self, opaqueCaptureAddress : u64) -> Self {
self.opaqueCaptureAddress = opaqueCaptureAddress;
self
}
}
impl MemoryOpaqueCaptureAddressAllocateInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn opaqueCaptureAddress(mut self, opaqueCaptureAddress : u64) -> Self {
self.opaqueCaptureAddress = opaqueCaptureAddress;
self
}
}
impl DeviceMemoryOpaqueCaptureAddressInfo {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn memory(mut self, memory : DeviceMemory) -> Self {
self.memory = memory;
self
}
}
impl SurfaceCapabilitiesKHR {
pub fn new() -> Self {
Self::default()
}
pub fn minImageCount(mut self, minImageCount : u32) -> Self {
self.minImageCount = minImageCount;
self
}
pub fn maxImageCount(mut self, maxImageCount : u32) -> Self {
self.maxImageCount = maxImageCount;
self
}
pub fn currentExtent(mut self, currentExtent : Extent2D) -> Self {
self.currentExtent = currentExtent;
self
}
pub fn minImageExtent(mut self, minImageExtent : Extent2D) -> Self {
self.minImageExtent = minImageExtent;
self
}
pub fn maxImageExtent(mut self, maxImageExtent : Extent2D) -> Self {
self.maxImageExtent = maxImageExtent;
self
}
pub fn maxImageArrayLayers(mut self, maxImageArrayLayers : u32) -> Self {
self.maxImageArrayLayers = maxImageArrayLayers;
self
}
pub fn supportedTransforms(mut self, supportedTransforms : SurfaceTransformFlagsKHR) -> Self {
self.supportedTransforms = supportedTransforms;
self
}
pub fn currentTransform(mut self, currentTransform : SurfaceTransformFlagBitsKHR) -> Self {
self.currentTransform = currentTransform;
self
}
pub fn supportedCompositeAlpha(mut self, supportedCompositeAlpha : CompositeAlphaFlagsKHR) -> Self {
self.supportedCompositeAlpha = supportedCompositeAlpha;
self
}
pub fn supportedUsageFlags(mut self, supportedUsageFlags : ImageUsageFlags) -> Self {
self.supportedUsageFlags = supportedUsageFlags;
self
}
}
impl SurfaceFormatKHR {
pub fn new() -> Self {
Self::default()
}
pub fn format(mut self, format : Format) -> Self {
self.format = format;
self
}
pub fn colorSpace(mut self, colorSpace : ColorSpaceKHR) -> Self {
self.colorSpace = colorSpace;
self
}
}
impl SwapchainCreateInfoKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : SwapchainCreateFlagsKHR) -> Self {
self.flags = flags;
self
}
pub fn surface(mut self, surface : SurfaceKHR) -> Self {
self.surface = surface;
self
}
pub fn minImageCount(mut self, minImageCount : u32) -> Self {
self.minImageCount = minImageCount;
self
}
pub fn imageFormat(mut self, imageFormat : Format) -> Self {
self.imageFormat = imageFormat;
self
}
pub fn imageColorSpace(mut self, imageColorSpace : ColorSpaceKHR) -> Self {
self.imageColorSpace = imageColorSpace;
self
}
pub fn imageExtent(mut self, imageExtent : Extent2D) -> Self {
self.imageExtent = imageExtent;
self
}
pub fn imageArrayLayers(mut self, imageArrayLayers : u32) -> Self {
self.imageArrayLayers = imageArrayLayers;
self
}
pub fn imageUsage(mut self, imageUsage : ImageUsageFlags) -> Self {
self.imageUsage = imageUsage;
self
}
pub fn imageSharingMode(mut self, imageSharingMode : SharingMode) -> Self {
self.imageSharingMode = imageSharingMode;
self
}
pub fn queueFamilyIndexCount(mut self, queueFamilyIndexCount : u32) -> Self {
self.queueFamilyIndexCount = queueFamilyIndexCount;
self
}
pub fn pQueueFamilyIndices(mut self, pQueueFamilyIndices : *const u32) -> Self {
self.pQueueFamilyIndices = pQueueFamilyIndices;
self
}
pub fn preTransform(mut self, preTransform : SurfaceTransformFlagBitsKHR) -> Self {
self.preTransform = preTransform;
self
}
pub fn compositeAlpha(mut self, compositeAlpha : CompositeAlphaFlagBitsKHR) -> Self {
self.compositeAlpha = compositeAlpha;
self
}
pub fn presentMode(mut self, presentMode : PresentModeKHR) -> Self {
self.presentMode = presentMode;
self
}
pub fn clipped(mut self, clipped : Bool32) -> Self {
self.clipped = clipped;
self
}
pub fn oldSwapchain(mut self, oldSwapchain : SwapchainKHR) -> Self {
self.oldSwapchain = oldSwapchain;
self
}
}
impl PresentInfoKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn waitSemaphoreCount(mut self, waitSemaphoreCount : u32) -> Self {
self.waitSemaphoreCount = waitSemaphoreCount;
self
}
pub fn pWaitSemaphores(mut self, pWaitSemaphores : *const Semaphore) -> Self {
self.pWaitSemaphores = pWaitSemaphores;
self
}
pub fn swapchainCount(mut self, swapchainCount : u32) -> Self {
self.swapchainCount = swapchainCount;
self
}
pub fn pSwapchains(mut self, pSwapchains : *const SwapchainKHR) -> Self {
self.pSwapchains = pSwapchains;
self
}
pub fn pImageIndices(mut self, pImageIndices : *const i32) -> Self {
self.pImageIndices = pImageIndices;
self
}
pub fn pResults(mut self, pResults : *mut VkResult) -> Self {
self.pResults = pResults;
self
}
}
impl ImageSwapchainCreateInfoKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn swapchain(mut self, swapchain : SwapchainKHR) -> Self {
self.swapchain = swapchain;
self
}
}
impl BindImageMemorySwapchainInfoKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn swapchain(mut self, swapchain : SwapchainKHR) -> Self {
self.swapchain = swapchain;
self
}
pub fn imageIndex(mut self, imageIndex : u32) -> Self {
self.imageIndex = imageIndex;
self
}
}
impl AcquireNextImageInfoKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn swapchain(mut self, swapchain : SwapchainKHR) -> Self {
self.swapchain = swapchain;
self
}
pub fn timeout(mut self, timeout : u64) -> Self {
self.timeout = timeout;
self
}
pub fn semaphore(mut self, semaphore : Semaphore) -> Self {
self.semaphore = semaphore;
self
}
pub fn fence(mut self, fence : Fence) -> Self {
self.fence = fence;
self
}
pub fn deviceMask(mut self, deviceMask : u32) -> Self {
self.deviceMask = deviceMask;
self
}
}
impl DeviceGroupPresentCapabilitiesKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn presentMask(mut self, presentMask : [u32;MAX_DEVICE_GROUP_SIZE]) -> Self {
self.presentMask = presentMask;
self
}
pub fn modes(mut self, modes : DeviceGroupPresentModeFlagsKHR) -> Self {
self.modes = modes;
self
}
}
impl DeviceGroupPresentInfoKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn swapchainCount(mut self, swapchainCount : u32) -> Self {
self.swapchainCount = swapchainCount;
self
}
pub fn pDeviceMasks(mut self, pDeviceMasks : *const u32) -> Self {
self.pDeviceMasks = pDeviceMasks;
self
}
pub fn mode(mut self, mode : DeviceGroupPresentModeFlagBitsKHR) -> Self {
self.mode = mode;
self
}
}
impl DeviceGroupSwapchainCreateInfoKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn modes(mut self, modes : DeviceGroupPresentModeFlagsKHR) -> Self {
self.modes = modes;
self
}
}
impl DisplayPropertiesKHR {
pub fn new() -> Self {
Self::default()
}
pub fn display(mut self, display : DisplayKHR) -> Self {
self.display = display;
self
}
pub fn displayName(mut self, displayName : *const i8) -> Self {
self.displayName = displayName;
self
}
pub fn physicalDimensions(mut self, physicalDimensions : Extent2D) -> Self {
self.physicalDimensions = physicalDimensions;
self
}
pub fn physicalResolution(mut self, physicalResolution : Extent2D) -> Self {
self.physicalResolution = physicalResolution;
self
}
pub fn supportedTransforms(mut self, supportedTransforms : SurfaceTransformFlagsKHR) -> Self {
self.supportedTransforms = supportedTransforms;
self
}
pub fn planeReorderPossible(mut self, planeReorderPossible : Bool32) -> Self {
self.planeReorderPossible = planeReorderPossible;
self
}
pub fn persistentContent(mut self, persistentContent : Bool32) -> Self {
self.persistentContent = persistentContent;
self
}
}
impl DisplayModeParametersKHR {
pub fn new() -> Self {
Self::default()
}
pub fn visibleRegion(mut self, visibleRegion : Extent2D) -> Self {
self.visibleRegion = visibleRegion;
self
}
pub fn refreshRate(mut self, refreshRate : u32) -> Self {
self.refreshRate = refreshRate;
self
}
}
impl DisplayModePropertiesKHR {
pub fn new() -> Self {
Self::default()
}
pub fn displayMode(mut self, displayMode : DisplayModeKHR) -> Self {
self.displayMode = displayMode;
self
}
pub fn parameters(mut self, parameters : DisplayModeParametersKHR) -> Self {
self.parameters = parameters;
self
}
}
impl DisplayModeCreateInfoKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : DisplayModeCreateFlagsKHR) -> Self {
self.flags = flags;
self
}
pub fn parameters(mut self, parameters : DisplayModeParametersKHR) -> Self {
self.parameters = parameters;
self
}
}
impl DisplayPlaneCapabilitiesKHR {
pub fn new() -> Self {
Self::default()
}
pub fn supportedAlpha(mut self, supportedAlpha : DisplayPlaneAlphaFlagsKHR) -> Self {
self.supportedAlpha = supportedAlpha;
self
}
pub fn minSrcPosition(mut self, minSrcPosition : Offset2D) -> Self {
self.minSrcPosition = minSrcPosition;
self
}
pub fn maxSrcPosition(mut self, maxSrcPosition : Offset2D) -> Self {
self.maxSrcPosition = maxSrcPosition;
self
}
pub fn minSrcExtent(mut self, minSrcExtent : Extent2D) -> Self {
self.minSrcExtent = minSrcExtent;
self
}
pub fn maxSrcExtent(mut self, maxSrcExtent : Extent2D) -> Self {
self.maxSrcExtent = maxSrcExtent;
self
}
pub fn minDstPosition(mut self, minDstPosition : Offset2D) -> Self {
self.minDstPosition = minDstPosition;
self
}
pub fn maxDstPosition(mut self, maxDstPosition : Offset2D) -> Self {
self.maxDstPosition = maxDstPosition;
self
}
pub fn minDstExtent(mut self, minDstExtent : Extent2D) -> Self {
self.minDstExtent = minDstExtent;
self
}
pub fn maxDstExtent(mut self, maxDstExtent : Extent2D) -> Self {
self.maxDstExtent = maxDstExtent;
self
}
}
impl DisplayPlanePropertiesKHR {
pub fn new() -> Self {
Self::default()
}
pub fn currentDisplay(mut self, currentDisplay : DisplayKHR) -> Self {
self.currentDisplay = currentDisplay;
self
}
pub fn currentStackIndex(mut self, currentStackIndex : u32) -> Self {
self.currentStackIndex = currentStackIndex;
self
}
}
impl DisplaySurfaceCreateInfoKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : DisplaySurfaceCreateFlagsKHR) -> Self {
self.flags = flags;
self
}
pub fn displayMode(mut self, displayMode : DisplayModeKHR) -> Self {
self.displayMode = displayMode;
self
}
pub fn planeIndex(mut self, planeIndex : u32) -> Self {
self.planeIndex = planeIndex;
self
}
pub fn planeStackIndex(mut self, planeStackIndex : u32) -> Self {
self.planeStackIndex = planeStackIndex;
self
}
pub fn transform(mut self, transform : SurfaceTransformFlagBitsKHR) -> Self {
self.transform = transform;
self
}
pub fn globalAlpha(mut self, globalAlpha : f32) -> Self {
self.globalAlpha = globalAlpha;
self
}
pub fn alphaMode(mut self, alphaMode : DisplayPlaneAlphaFlagBitsKHR) -> Self {
self.alphaMode = alphaMode;
self
}
pub fn imageExtent(mut self, imageExtent : Extent2D) -> Self {
self.imageExtent = imageExtent;
self
}
}
impl DisplayPresentInfoKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn srcRect(mut self, srcRect : Rect2D) -> Self {
self.srcRect = srcRect;
self
}
pub fn dstRect(mut self, dstRect : Rect2D) -> Self {
self.dstRect = dstRect;
self
}
pub fn persistent(mut self, persistent : Bool32) -> Self {
self.persistent = persistent;
self
}
}
impl ImportMemoryFdInfoKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn handleType(mut self, handleType : ExternalMemoryHandleTypeFlagBits) -> Self {
self.handleType = handleType;
self
}
pub fn fd(mut self, fd : i32) -> Self {
self.fd = fd;
self
}
}
impl MemoryFdPropertiesKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn memoryTypeBits(mut self, memoryTypeBits : u32) -> Self {
self.memoryTypeBits = memoryTypeBits;
self
}
}
impl MemoryGetFdInfoKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn memory(mut self, memory : DeviceMemory) -> Self {
self.memory = memory;
self
}
pub fn handleType(mut self, handleType : ExternalMemoryHandleTypeFlagBits) -> Self {
self.handleType = handleType;
self
}
}
impl ImportSemaphoreFdInfoKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn semaphore(mut self, semaphore : Semaphore) -> Self {
self.semaphore = semaphore;
self
}
pub fn flags(mut self, flags : SemaphoreImportFlags) -> Self {
self.flags = flags;
self
}
pub fn handleType(mut self, handleType : ExternalSemaphoreHandleTypeFlagBits) -> Self {
self.handleType = handleType;
self
}
pub fn fd(mut self, fd : i32) -> Self {
self.fd = fd;
self
}
}
impl SemaphoreGetFdInfoKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn semaphore(mut self, semaphore : Semaphore) -> Self {
self.semaphore = semaphore;
self
}
pub fn handleType(mut self, handleType : ExternalSemaphoreHandleTypeFlagBits) -> Self {
self.handleType = handleType;
self
}
}
impl PhysicalDevicePushDescriptorPropertiesKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn maxPushDescriptors(mut self, maxPushDescriptors : u32) -> Self {
self.maxPushDescriptors = maxPushDescriptors;
self
}
}
impl RectLayerKHR {
pub fn new() -> Self {
Self::default()
}
pub fn offset(mut self, offset : Offset2D) -> Self {
self.offset = offset;
self
}
pub fn extent(mut self, extent : Extent2D) -> Self {
self.extent = extent;
self
}
pub fn layer(mut self, layer : u32) -> Self {
self.layer = layer;
self
}
}
impl PresentRegionKHR {
pub fn new() -> Self {
Self::default()
}
pub fn rectangleCount(mut self, rectangleCount : u32) -> Self {
self.rectangleCount = rectangleCount;
self
}
pub fn pRectangles(mut self, pRectangles : *const RectLayerKHR) -> Self {
self.pRectangles = pRectangles;
self
}
}
impl PresentRegionsKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn swapchainCount(mut self, swapchainCount : u32) -> Self {
self.swapchainCount = swapchainCount;
self
}
pub fn pRegions(mut self, pRegions : *const PresentRegionKHR) -> Self {
self.pRegions = pRegions;
self
}
}
impl SharedPresentSurfaceCapabilitiesKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn sharedPresentSupportedUsageFlags(mut self, sharedPresentSupportedUsageFlags : ImageUsageFlags) -> Self {
self.sharedPresentSupportedUsageFlags = sharedPresentSupportedUsageFlags;
self
}
}
impl ImportFenceFdInfoKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn fence(mut self, fence : Fence) -> Self {
self.fence = fence;
self
}
pub fn flags(mut self, flags : FenceImportFlags) -> Self {
self.flags = flags;
self
}
pub fn handleType(mut self, handleType : ExternalFenceHandleTypeFlagBits) -> Self {
self.handleType = handleType;
self
}
pub fn fd(mut self, fd : i32) -> Self {
self.fd = fd;
self
}
}
impl FenceGetFdInfoKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn fence(mut self, fence : Fence) -> Self {
self.fence = fence;
self
}
pub fn handleType(mut self, handleType : ExternalFenceHandleTypeFlagBits) -> Self {
self.handleType = handleType;
self
}
}
impl PhysicalDevicePerformanceQueryFeaturesKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn performanceCounterQueryPools(mut self, performanceCounterQueryPools : Bool32) -> Self {
self.performanceCounterQueryPools = performanceCounterQueryPools;
self
}
pub fn performanceCounterMultipleQueryPools(mut self, performanceCounterMultipleQueryPools : Bool32) -> Self {
self.performanceCounterMultipleQueryPools = performanceCounterMultipleQueryPools;
self
}
}
impl PhysicalDevicePerformanceQueryPropertiesKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn allowCommandBufferQueryCopies(mut self, allowCommandBufferQueryCopies : Bool32) -> Self {
self.allowCommandBufferQueryCopies = allowCommandBufferQueryCopies;
self
}
}
impl PerformanceCounterKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn unit(mut self, unit : PerformanceCounterUnitKHR) -> Self {
self.unit = unit;
self
}
pub fn scope(mut self, scope : PerformanceCounterScopeKHR) -> Self {
self.scope = scope;
self
}
pub fn storage(mut self, storage : PerformanceCounterStorageKHR) -> Self {
self.storage = storage;
self
}
pub fn uuid(mut self, uuid : [u8;UUID_SIZE]) -> Self {
self.uuid = uuid;
self
}
}
impl PerformanceCounterDescriptionKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : PerformanceCounterDescriptionFlagsKHR) -> Self {
self.flags = flags;
self
}
pub fn name(mut self, name : [i8;MAX_DESCRIPTION_SIZE]) -> Self {
self.name = name;
self
}
pub fn category(mut self, category : [i8;MAX_DESCRIPTION_SIZE]) -> Self {
self.category = category;
self
}
pub fn description(mut self, description : [i8;MAX_DESCRIPTION_SIZE]) -> Self {
self.description = description;
self
}
}
impl QueryPoolPerformanceCreateInfoKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn queueFamilyIndex(mut self, queueFamilyIndex : u32) -> Self {
self.queueFamilyIndex = queueFamilyIndex;
self
}
pub fn counterIndexCount(mut self, counterIndexCount : u32) -> Self {
self.counterIndexCount = counterIndexCount;
self
}
pub fn pCounterIndices(mut self, pCounterIndices : *const u32) -> Self {
self.pCounterIndices = pCounterIndices;
self
}
}
impl AcquireProfilingLockInfoKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : AcquireProfilingLockFlagsKHR) -> Self {
self.flags = flags;
self
}
pub fn timeout(mut self, timeout : u64) -> Self {
self.timeout = timeout;
self
}
}
impl PerformanceQuerySubmitInfoKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn counterPassIndex(mut self, counterPassIndex : u32) -> Self {
self.counterPassIndex = counterPassIndex;
self
}
}
impl PhysicalDeviceSurfaceInfo2KHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn surface(mut self, surface : SurfaceKHR) -> Self {
self.surface = surface;
self
}
}
impl SurfaceCapabilities2KHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn surfaceCapabilities(mut self, surfaceCapabilities : SurfaceCapabilitiesKHR) -> Self {
self.surfaceCapabilities = surfaceCapabilities;
self
}
}
impl SurfaceFormat2KHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn surfaceFormat(mut self, surfaceFormat : SurfaceFormatKHR) -> Self {
self.surfaceFormat = surfaceFormat;
self
}
}
impl DisplayProperties2KHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn displayProperties(mut self, displayProperties : DisplayPropertiesKHR) -> Self {
self.displayProperties = displayProperties;
self
}
}
impl DisplayPlaneProperties2KHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn displayPlaneProperties(mut self, displayPlaneProperties : DisplayPlanePropertiesKHR) -> Self {
self.displayPlaneProperties = displayPlaneProperties;
self
}
}
impl DisplayModeProperties2KHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn displayModeProperties(mut self, displayModeProperties : DisplayModePropertiesKHR) -> Self {
self.displayModeProperties = displayModeProperties;
self
}
}
impl DisplayPlaneInfo2KHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn mode(mut self, mode : DisplayModeKHR) -> Self {
self.mode = mode;
self
}
pub fn planeIndex(mut self, planeIndex : u32) -> Self {
self.planeIndex = planeIndex;
self
}
}
impl DisplayPlaneCapabilities2KHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn capabilities(mut self, capabilities : DisplayPlaneCapabilitiesKHR) -> Self {
self.capabilities = capabilities;
self
}
}
impl PhysicalDeviceShaderClockFeaturesKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn shaderSubgroupClock(mut self, shaderSubgroupClock : Bool32) -> Self {
self.shaderSubgroupClock = shaderSubgroupClock;
self
}
pub fn shaderDeviceClock(mut self, shaderDeviceClock : Bool32) -> Self {
self.shaderDeviceClock = shaderDeviceClock;
self
}
}
impl SurfaceProtectedCapabilitiesKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn supportsProtected(mut self, supportsProtected : Bool32) -> Self {
self.supportsProtected = supportsProtected;
self
}
}
impl PhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn pipelineExecutableInfo(mut self, pipelineExecutableInfo : Bool32) -> Self {
self.pipelineExecutableInfo = pipelineExecutableInfo;
self
}
}
impl PipelineInfoKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn pipeline(mut self, pipeline : Pipeline) -> Self {
self.pipeline = pipeline;
self
}
}
impl PipelineExecutablePropertiesKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn stages(mut self, stages : ShaderStageFlags) -> Self {
self.stages = stages;
self
}
pub fn name(mut self, name : [i8;MAX_DESCRIPTION_SIZE]) -> Self {
self.name = name;
self
}
pub fn description(mut self, description : [i8;MAX_DESCRIPTION_SIZE]) -> Self {
self.description = description;
self
}
pub fn subgroupSize(mut self, subgroupSize : u32) -> Self {
self.subgroupSize = subgroupSize;
self
}
}
impl PipelineExecutableInfoKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn pipeline(mut self, pipeline : Pipeline) -> Self {
self.pipeline = pipeline;
self
}
pub fn executableIndex(mut self, executableIndex : u32) -> Self {
self.executableIndex = executableIndex;
self
}
}
impl PipelineExecutableInternalRepresentationKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn name(mut self, name : [i8;MAX_DESCRIPTION_SIZE]) -> Self {
self.name = name;
self
}
pub fn description(mut self, description : [i8;MAX_DESCRIPTION_SIZE]) -> Self {
self.description = description;
self
}
pub fn isText(mut self, isText : Bool32) -> Self {
self.isText = isText;
self
}
pub fn dataSize(mut self, dataSize : usize) -> Self {
self.dataSize = dataSize;
self
}
pub fn pData(mut self, pData : *mut void) -> Self {
self.pData = pData;
self
}
}
impl DebugReportCallbackCreateInfoEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : DebugReportFlagsEXT) -> Self {
self.flags = flags;
self
}
pub fn pfnCallback(mut self, pfnCallback : u64) -> Self {
self.pfnCallback = pfnCallback;
self
}
pub fn pUserData(mut self, pUserData : *mut void) -> Self {
self.pUserData = pUserData;
self
}
}
impl PipelineRasterizationStateRasterizationOrderAMD {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn rasterizationOrder(mut self, rasterizationOrder : RasterizationOrderAMD) -> Self {
self.rasterizationOrder = rasterizationOrder;
self
}
}
impl DebugMarkerObjectNameInfoEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn objectType(mut self, objectType : DebugReportObjectTypeEXT) -> Self {
self.objectType = objectType;
self
}
pub fn object(mut self, object : u64) -> Self {
self.object = object;
self
}
pub fn pObjectName(mut self, pObjectName : *const i8) -> Self {
self.pObjectName = pObjectName;
self
}
}
impl DebugMarkerObjectTagInfoEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn objectType(mut self, objectType : DebugReportObjectTypeEXT) -> Self {
self.objectType = objectType;
self
}
pub fn object(mut self, object : u64) -> Self {
self.object = object;
self
}
pub fn tagName(mut self, tagName : u64) -> Self {
self.tagName = tagName;
self
}
pub fn tagSize(mut self, tagSize : usize) -> Self {
self.tagSize = tagSize;
self
}
pub fn pTag(mut self, pTag : *const void) -> Self {
self.pTag = pTag;
self
}
}
impl DebugMarkerMarkerInfoEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn pMarkerName(mut self, pMarkerName : *const i8) -> Self {
self.pMarkerName = pMarkerName;
self
}
pub fn color(mut self, color : [f32;4]) -> Self {
self.color = color;
self
}
}
impl DedicatedAllocationImageCreateInfoNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn dedicatedAllocation(mut self, dedicatedAllocation : Bool32) -> Self {
self.dedicatedAllocation = dedicatedAllocation;
self
}
}
impl DedicatedAllocationBufferCreateInfoNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn dedicatedAllocation(mut self, dedicatedAllocation : Bool32) -> Self {
self.dedicatedAllocation = dedicatedAllocation;
self
}
}
impl DedicatedAllocationMemoryAllocateInfoNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn image(mut self, image : Image) -> Self {
self.image = image;
self
}
pub fn buffer(mut self, buffer : Buffer) -> Self {
self.buffer = buffer;
self
}
}
impl PhysicalDeviceTransformFeedbackFeaturesEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn transformFeedback(mut self, transformFeedback : Bool32) -> Self {
self.transformFeedback = transformFeedback;
self
}
pub fn geometryStreams(mut self, geometryStreams : Bool32) -> Self {
self.geometryStreams = geometryStreams;
self
}
}
impl PhysicalDeviceTransformFeedbackPropertiesEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn maxTransformFeedbackStreams(mut self, maxTransformFeedbackStreams : u32) -> Self {
self.maxTransformFeedbackStreams = maxTransformFeedbackStreams;
self
}
pub fn maxTransformFeedbackBuffers(mut self, maxTransformFeedbackBuffers : u32) -> Self {
self.maxTransformFeedbackBuffers = maxTransformFeedbackBuffers;
self
}
pub fn maxTransformFeedbackBufferSize(mut self, maxTransformFeedbackBufferSize : DeviceSize) -> Self {
self.maxTransformFeedbackBufferSize = maxTransformFeedbackBufferSize;
self
}
pub fn maxTransformFeedbackStreamDataSize(mut self, maxTransformFeedbackStreamDataSize : u32) -> Self {
self.maxTransformFeedbackStreamDataSize = maxTransformFeedbackStreamDataSize;
self
}
pub fn maxTransformFeedbackBufferDataSize(mut self, maxTransformFeedbackBufferDataSize : u32) -> Self {
self.maxTransformFeedbackBufferDataSize = maxTransformFeedbackBufferDataSize;
self
}
pub fn maxTransformFeedbackBufferDataStride(mut self, maxTransformFeedbackBufferDataStride : u32) -> Self {
self.maxTransformFeedbackBufferDataStride = maxTransformFeedbackBufferDataStride;
self
}
pub fn transformFeedbackQueries(mut self, transformFeedbackQueries : Bool32) -> Self {
self.transformFeedbackQueries = transformFeedbackQueries;
self
}
pub fn transformFeedbackStreamsLinesTriangles(mut self, transformFeedbackStreamsLinesTriangles : Bool32) -> Self {
self.transformFeedbackStreamsLinesTriangles = transformFeedbackStreamsLinesTriangles;
self
}
pub fn transformFeedbackRasterizationStreamSelect(mut self, transformFeedbackRasterizationStreamSelect : Bool32) -> Self {
self.transformFeedbackRasterizationStreamSelect = transformFeedbackRasterizationStreamSelect;
self
}
pub fn transformFeedbackDraw(mut self, transformFeedbackDraw : Bool32) -> Self {
self.transformFeedbackDraw = transformFeedbackDraw;
self
}
}
impl PipelineRasterizationStateStreamCreateInfoEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : PipelineRasterizationStateStreamCreateFlagsEXT) -> Self {
self.flags = flags;
self
}
pub fn rasterizationStream(mut self, rasterizationStream : u32) -> Self {
self.rasterizationStream = rasterizationStream;
self
}
}
impl ImageViewHandleInfoNVX {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn imageView(mut self, imageView : ImageView) -> Self {
self.imageView = imageView;
self
}
pub fn descriptorType(mut self, descriptorType : DescriptorType) -> Self {
self.descriptorType = descriptorType;
self
}
pub fn sampler(mut self, sampler : Sampler) -> Self {
self.sampler = sampler;
self
}
}
impl ImageViewAddressPropertiesNVX {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn deviceAddress(mut self, deviceAddress : DeviceAddress) -> Self {
self.deviceAddress = deviceAddress;
self
}
pub fn size(mut self, size : DeviceSize) -> Self {
self.size = size;
self
}
}
impl TextureLODGatherFormatPropertiesAMD {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn supportsTextureGatherLODBiasAMD(mut self, supportsTextureGatherLODBiasAMD : Bool32) -> Self {
self.supportsTextureGatherLODBiasAMD = supportsTextureGatherLODBiasAMD;
self
}
}
impl ShaderResourceUsageAMD {
pub fn new() -> Self {
Self::default()
}
pub fn numUsedVgprs(mut self, numUsedVgprs : u32) -> Self {
self.numUsedVgprs = numUsedVgprs;
self
}
pub fn numUsedSgprs(mut self, numUsedSgprs : u32) -> Self {
self.numUsedSgprs = numUsedSgprs;
self
}
pub fn ldsSizePerLocalWorkGroup(mut self, ldsSizePerLocalWorkGroup : u32) -> Self {
self.ldsSizePerLocalWorkGroup = ldsSizePerLocalWorkGroup;
self
}
pub fn ldsUsageSizeInBytes(mut self, ldsUsageSizeInBytes : usize) -> Self {
self.ldsUsageSizeInBytes = ldsUsageSizeInBytes;
self
}
pub fn scratchMemUsageInBytes(mut self, scratchMemUsageInBytes : usize) -> Self {
self.scratchMemUsageInBytes = scratchMemUsageInBytes;
self
}
}
impl ShaderStatisticsInfoAMD {
pub fn new() -> Self {
Self::default()
}
pub fn shaderStageMask(mut self, shaderStageMask : ShaderStageFlags) -> Self {
self.shaderStageMask = shaderStageMask;
self
}
pub fn resourceUsage(mut self, resourceUsage : ShaderResourceUsageAMD) -> Self {
self.resourceUsage = resourceUsage;
self
}
pub fn numPhysicalVgprs(mut self, numPhysicalVgprs : u32) -> Self {
self.numPhysicalVgprs = numPhysicalVgprs;
self
}
pub fn numPhysicalSgprs(mut self, numPhysicalSgprs : u32) -> Self {
self.numPhysicalSgprs = numPhysicalSgprs;
self
}
pub fn numAvailableVgprs(mut self, numAvailableVgprs : u32) -> Self {
self.numAvailableVgprs = numAvailableVgprs;
self
}
pub fn numAvailableSgprs(mut self, numAvailableSgprs : u32) -> Self {
self.numAvailableSgprs = numAvailableSgprs;
self
}
pub fn computeWorkGroupSize(mut self, computeWorkGroupSize : [u32;3]) -> Self {
self.computeWorkGroupSize = computeWorkGroupSize;
self
}
}
impl PhysicalDeviceCornerSampledImageFeaturesNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn cornerSampledImage(mut self, cornerSampledImage : Bool32) -> Self {
self.cornerSampledImage = cornerSampledImage;
self
}
}
impl ExternalImageFormatPropertiesNV {
pub fn new() -> Self {
Self::default()
}
pub fn imageFormatProperties(mut self, imageFormatProperties : ImageFormatProperties) -> Self {
self.imageFormatProperties = imageFormatProperties;
self
}
pub fn externalMemoryFeatures(mut self, externalMemoryFeatures : ExternalMemoryFeatureFlagsNV) -> Self {
self.externalMemoryFeatures = externalMemoryFeatures;
self
}
pub fn exportFromImportedHandleTypes(mut self, exportFromImportedHandleTypes : ExternalMemoryHandleTypeFlagsNV) -> Self {
self.exportFromImportedHandleTypes = exportFromImportedHandleTypes;
self
}
pub fn compatibleHandleTypes(mut self, compatibleHandleTypes : ExternalMemoryHandleTypeFlagsNV) -> Self {
self.compatibleHandleTypes = compatibleHandleTypes;
self
}
}
impl ExternalMemoryImageCreateInfoNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn handleTypes(mut self, handleTypes : ExternalMemoryHandleTypeFlagsNV) -> Self {
self.handleTypes = handleTypes;
self
}
}
impl ExportMemoryAllocateInfoNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn handleTypes(mut self, handleTypes : ExternalMemoryHandleTypeFlagsNV) -> Self {
self.handleTypes = handleTypes;
self
}
}
impl ValidationFlagsEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn disabledValidationCheckCount(mut self, disabledValidationCheckCount : u32) -> Self {
self.disabledValidationCheckCount = disabledValidationCheckCount;
self
}
pub fn pDisabledValidationChecks(mut self, pDisabledValidationChecks : *const ValidationCheckEXT) -> Self {
self.pDisabledValidationChecks = pDisabledValidationChecks;
self
}
}
impl PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn textureCompressionASTC_HDR(mut self, textureCompressionASTC_HDR : Bool32) -> Self {
self.textureCompressionASTC_HDR = textureCompressionASTC_HDR;
self
}
}
impl ImageViewASTCDecodeModeEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn decodeMode(mut self, decodeMode : Format) -> Self {
self.decodeMode = decodeMode;
self
}
}
impl PhysicalDeviceASTCDecodeFeaturesEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn decodeModeSharedExponent(mut self, decodeModeSharedExponent : Bool32) -> Self {
self.decodeModeSharedExponent = decodeModeSharedExponent;
self
}
}
impl ConditionalRenderingBeginInfoEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn buffer(mut self, buffer : Buffer) -> Self {
self.buffer = buffer;
self
}
pub fn offset(mut self, offset : DeviceSize) -> Self {
self.offset = offset;
self
}
pub fn flags(mut self, flags : ConditionalRenderingFlagsEXT) -> Self {
self.flags = flags;
self
}
}
impl PhysicalDeviceConditionalRenderingFeaturesEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn conditionalRendering(mut self, conditionalRendering : Bool32) -> Self {
self.conditionalRendering = conditionalRendering;
self
}
pub fn inheritedConditionalRendering(mut self, inheritedConditionalRendering : Bool32) -> Self {
self.inheritedConditionalRendering = inheritedConditionalRendering;
self
}
}
impl CommandBufferInheritanceConditionalRenderingInfoEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn conditionalRenderingEnable(mut self, conditionalRenderingEnable : Bool32) -> Self {
self.conditionalRenderingEnable = conditionalRenderingEnable;
self
}
}
impl ViewportWScalingNV {
pub fn new() -> Self {
Self::default()
}
pub fn xcoeff(mut self, xcoeff : f32) -> Self {
self.xcoeff = xcoeff;
self
}
pub fn ycoeff(mut self, ycoeff : f32) -> Self {
self.ycoeff = ycoeff;
self
}
}
impl PipelineViewportWScalingStateCreateInfoNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn viewportWScalingEnable(mut self, viewportWScalingEnable : Bool32) -> Self {
self.viewportWScalingEnable = viewportWScalingEnable;
self
}
pub fn viewportCount(mut self, viewportCount : u32) -> Self {
self.viewportCount = viewportCount;
self
}
pub fn pViewportWScalings(mut self, pViewportWScalings : *const ViewportWScalingNV) -> Self {
self.pViewportWScalings = pViewportWScalings;
self
}
}
impl SurfaceCapabilities2EXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn minImageCount(mut self, minImageCount : u32) -> Self {
self.minImageCount = minImageCount;
self
}
pub fn maxImageCount(mut self, maxImageCount : u32) -> Self {
self.maxImageCount = maxImageCount;
self
}
pub fn currentExtent(mut self, currentExtent : Extent2D) -> Self {
self.currentExtent = currentExtent;
self
}
pub fn minImageExtent(mut self, minImageExtent : Extent2D) -> Self {
self.minImageExtent = minImageExtent;
self
}
pub fn maxImageExtent(mut self, maxImageExtent : Extent2D) -> Self {
self.maxImageExtent = maxImageExtent;
self
}
pub fn maxImageArrayLayers(mut self, maxImageArrayLayers : u32) -> Self {
self.maxImageArrayLayers = maxImageArrayLayers;
self
}
pub fn supportedTransforms(mut self, supportedTransforms : SurfaceTransformFlagsKHR) -> Self {
self.supportedTransforms = supportedTransforms;
self
}
pub fn currentTransform(mut self, currentTransform : SurfaceTransformFlagBitsKHR) -> Self {
self.currentTransform = currentTransform;
self
}
pub fn supportedCompositeAlpha(mut self, supportedCompositeAlpha : CompositeAlphaFlagsKHR) -> Self {
self.supportedCompositeAlpha = supportedCompositeAlpha;
self
}
pub fn supportedUsageFlags(mut self, supportedUsageFlags : ImageUsageFlags) -> Self {
self.supportedUsageFlags = supportedUsageFlags;
self
}
pub fn supportedSurfaceCounters(mut self, supportedSurfaceCounters : SurfaceCounterFlagsEXT) -> Self {
self.supportedSurfaceCounters = supportedSurfaceCounters;
self
}
}
impl DisplayPowerInfoEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn powerState(mut self, powerState : DisplayPowerStateEXT) -> Self {
self.powerState = powerState;
self
}
}
impl DeviceEventInfoEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn deviceEvent(mut self, deviceEvent : DeviceEventTypeEXT) -> Self {
self.deviceEvent = deviceEvent;
self
}
}
impl DisplayEventInfoEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn displayEvent(mut self, displayEvent : DisplayEventTypeEXT) -> Self {
self.displayEvent = displayEvent;
self
}
}
impl SwapchainCounterCreateInfoEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn surfaceCounters(mut self, surfaceCounters : SurfaceCounterFlagsEXT) -> Self {
self.surfaceCounters = surfaceCounters;
self
}
}
impl RefreshCycleDurationGOOGLE {
pub fn new() -> Self {
Self::default()
}
pub fn refreshDuration(mut self, refreshDuration : u64) -> Self {
self.refreshDuration = refreshDuration;
self
}
}
impl PastPresentationTimingGOOGLE {
pub fn new() -> Self {
Self::default()
}
pub fn presentID(mut self, presentID : u32) -> Self {
self.presentID = presentID;
self
}
pub fn desiredPresentTime(mut self, desiredPresentTime : u64) -> Self {
self.desiredPresentTime = desiredPresentTime;
self
}
pub fn actualPresentTime(mut self, actualPresentTime : u64) -> Self {
self.actualPresentTime = actualPresentTime;
self
}
pub fn earliestPresentTime(mut self, earliestPresentTime : u64) -> Self {
self.earliestPresentTime = earliestPresentTime;
self
}
pub fn presentMargin(mut self, presentMargin : u64) -> Self {
self.presentMargin = presentMargin;
self
}
}
impl PresentTimeGOOGLE {
pub fn new() -> Self {
Self::default()
}
pub fn presentID(mut self, presentID : u32) -> Self {
self.presentID = presentID;
self
}
pub fn desiredPresentTime(mut self, desiredPresentTime : u64) -> Self {
self.desiredPresentTime = desiredPresentTime;
self
}
}
impl PresentTimesInfoGOOGLE {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn swapchainCount(mut self, swapchainCount : u32) -> Self {
self.swapchainCount = swapchainCount;
self
}
pub fn pTimes(mut self, pTimes : *const PresentTimeGOOGLE) -> Self {
self.pTimes = pTimes;
self
}
}
impl PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn perViewPositionAllComponents(mut self, perViewPositionAllComponents : Bool32) -> Self {
self.perViewPositionAllComponents = perViewPositionAllComponents;
self
}
}
impl ViewportSwizzleNV {
pub fn new() -> Self {
Self::default()
}
pub fn x(mut self, x : ViewportCoordinateSwizzleNV) -> Self {
self.x = x;
self
}
pub fn y(mut self, y : ViewportCoordinateSwizzleNV) -> Self {
self.y = y;
self
}
pub fn z(mut self, z : ViewportCoordinateSwizzleNV) -> Self {
self.z = z;
self
}
pub fn w(mut self, w : ViewportCoordinateSwizzleNV) -> Self {
self.w = w;
self
}
}
impl PipelineViewportSwizzleStateCreateInfoNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : PipelineViewportSwizzleStateCreateFlagsNV) -> Self {
self.flags = flags;
self
}
pub fn viewportCount(mut self, viewportCount : u32) -> Self {
self.viewportCount = viewportCount;
self
}
pub fn pViewportSwizzles(mut self, pViewportSwizzles : *const ViewportSwizzleNV) -> Self {
self.pViewportSwizzles = pViewportSwizzles;
self
}
}
impl PhysicalDeviceDiscardRectanglePropertiesEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn maxDiscardRectangles(mut self, maxDiscardRectangles : u32) -> Self {
self.maxDiscardRectangles = maxDiscardRectangles;
self
}
}
impl PipelineDiscardRectangleStateCreateInfoEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : PipelineDiscardRectangleStateCreateFlagsEXT) -> Self {
self.flags = flags;
self
}
pub fn discardRectangleMode(mut self, discardRectangleMode : DiscardRectangleModeEXT) -> Self {
self.discardRectangleMode = discardRectangleMode;
self
}
pub fn discardRectangleCount(mut self, discardRectangleCount : u32) -> Self {
self.discardRectangleCount = discardRectangleCount;
self
}
pub fn pDiscardRectangles(mut self, pDiscardRectangles : *const Rect2D) -> Self {
self.pDiscardRectangles = pDiscardRectangles;
self
}
}
impl PhysicalDeviceConservativeRasterizationPropertiesEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn primitiveOverestimationSize(mut self, primitiveOverestimationSize : f32) -> Self {
self.primitiveOverestimationSize = primitiveOverestimationSize;
self
}
pub fn maxExtraPrimitiveOverestimationSize(mut self, maxExtraPrimitiveOverestimationSize : f32) -> Self {
self.maxExtraPrimitiveOverestimationSize = maxExtraPrimitiveOverestimationSize;
self
}
pub fn extraPrimitiveOverestimationSizeGranularity(mut self, extraPrimitiveOverestimationSizeGranularity : f32) -> Self {
self.extraPrimitiveOverestimationSizeGranularity = extraPrimitiveOverestimationSizeGranularity;
self
}
pub fn primitiveUnderestimation(mut self, primitiveUnderestimation : Bool32) -> Self {
self.primitiveUnderestimation = primitiveUnderestimation;
self
}
pub fn conservativePointAndLineRasterization(mut self, conservativePointAndLineRasterization : Bool32) -> Self {
self.conservativePointAndLineRasterization = conservativePointAndLineRasterization;
self
}
pub fn degenerateTrianglesRasterized(mut self, degenerateTrianglesRasterized : Bool32) -> Self {
self.degenerateTrianglesRasterized = degenerateTrianglesRasterized;
self
}
pub fn degenerateLinesRasterized(mut self, degenerateLinesRasterized : Bool32) -> Self {
self.degenerateLinesRasterized = degenerateLinesRasterized;
self
}
pub fn fullyCoveredFragmentShaderInputVariable(mut self, fullyCoveredFragmentShaderInputVariable : Bool32) -> Self {
self.fullyCoveredFragmentShaderInputVariable = fullyCoveredFragmentShaderInputVariable;
self
}
pub fn conservativeRasterizationPostDepthCoverage(mut self, conservativeRasterizationPostDepthCoverage : Bool32) -> Self {
self.conservativeRasterizationPostDepthCoverage = conservativeRasterizationPostDepthCoverage;
self
}
}
impl PipelineRasterizationConservativeStateCreateInfoEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : PipelineRasterizationConservativeStateCreateFlagsEXT) -> Self {
self.flags = flags;
self
}
pub fn conservativeRasterizationMode(mut self, conservativeRasterizationMode : ConservativeRasterizationModeEXT) -> Self {
self.conservativeRasterizationMode = conservativeRasterizationMode;
self
}
pub fn extraPrimitiveOverestimationSize(mut self, extraPrimitiveOverestimationSize : f32) -> Self {
self.extraPrimitiveOverestimationSize = extraPrimitiveOverestimationSize;
self
}
}
impl PhysicalDeviceDepthClipEnableFeaturesEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn depthClipEnable(mut self, depthClipEnable : Bool32) -> Self {
self.depthClipEnable = depthClipEnable;
self
}
}
impl PipelineRasterizationDepthClipStateCreateInfoEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : PipelineRasterizationDepthClipStateCreateFlagsEXT) -> Self {
self.flags = flags;
self
}
pub fn depthClipEnable(mut self, depthClipEnable : Bool32) -> Self {
self.depthClipEnable = depthClipEnable;
self
}
}
impl XYColorEXT {
pub fn new() -> Self {
Self::default()
}
pub fn x(mut self, x : f32) -> Self {
self.x = x;
self
}
pub fn y(mut self, y : f32) -> Self {
self.y = y;
self
}
}
impl HdrMetadataEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn displayPrimaryRed(mut self, displayPrimaryRed : XYColorEXT) -> Self {
self.displayPrimaryRed = displayPrimaryRed;
self
}
pub fn displayPrimaryGreen(mut self, displayPrimaryGreen : XYColorEXT) -> Self {
self.displayPrimaryGreen = displayPrimaryGreen;
self
}
pub fn displayPrimaryBlue(mut self, displayPrimaryBlue : XYColorEXT) -> Self {
self.displayPrimaryBlue = displayPrimaryBlue;
self
}
pub fn whitePoint(mut self, whitePoint : XYColorEXT) -> Self {
self.whitePoint = whitePoint;
self
}
pub fn maxLuminance(mut self, maxLuminance : f32) -> Self {
self.maxLuminance = maxLuminance;
self
}
pub fn minLuminance(mut self, minLuminance : f32) -> Self {
self.minLuminance = minLuminance;
self
}
pub fn maxContentLightLevel(mut self, maxContentLightLevel : f32) -> Self {
self.maxContentLightLevel = maxContentLightLevel;
self
}
pub fn maxFrameAverageLightLevel(mut self, maxFrameAverageLightLevel : f32) -> Self {
self.maxFrameAverageLightLevel = maxFrameAverageLightLevel;
self
}
}
impl DebugUtilsLabelEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn pLabelName(mut self, pLabelName : *const i8) -> Self {
self.pLabelName = pLabelName;
self
}
pub fn color(mut self, color : [f32;4]) -> Self {
self.color = color;
self
}
}
impl DebugUtilsObjectNameInfoEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn objectType(mut self, objectType : ObjectType) -> Self {
self.objectType = objectType;
self
}
pub fn objectHandle(mut self, objectHandle : u64) -> Self {
self.objectHandle = objectHandle;
self
}
pub fn pObjectName(mut self, pObjectName : *const i8) -> Self {
self.pObjectName = pObjectName;
self
}
}
impl DebugUtilsMessengerCallbackDataEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : DebugUtilsMessengerCallbackDataFlagsEXT) -> Self {
self.flags = flags;
self
}
pub fn pMessageIdName(mut self, pMessageIdName : *const i8) -> Self {
self.pMessageIdName = pMessageIdName;
self
}
pub fn messageIdNumber(mut self, messageIdNumber : i32) -> Self {
self.messageIdNumber = messageIdNumber;
self
}
pub fn pMessage(mut self, pMessage : *const i8) -> Self {
self.pMessage = pMessage;
self
}
pub fn queueLabelCount(mut self, queueLabelCount : u32) -> Self {
self.queueLabelCount = queueLabelCount;
self
}
pub fn pQueueLabels(mut self, pQueueLabels : *const DebugUtilsLabelEXT) -> Self {
self.pQueueLabels = pQueueLabels;
self
}
pub fn cmdBufLabelCount(mut self, cmdBufLabelCount : u32) -> Self {
self.cmdBufLabelCount = cmdBufLabelCount;
self
}
pub fn pCmdBufLabels(mut self, pCmdBufLabels : *const DebugUtilsLabelEXT) -> Self {
self.pCmdBufLabels = pCmdBufLabels;
self
}
pub fn objectCount(mut self, objectCount : u32) -> Self {
self.objectCount = objectCount;
self
}
pub fn pObjects(mut self, pObjects : *const DebugUtilsObjectNameInfoEXT) -> Self {
self.pObjects = pObjects;
self
}
}
impl DebugUtilsObjectTagInfoEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn objectType(mut self, objectType : ObjectType) -> Self {
self.objectType = objectType;
self
}
pub fn objectHandle(mut self, objectHandle : u64) -> Self {
self.objectHandle = objectHandle;
self
}
pub fn tagName(mut self, tagName : u64) -> Self {
self.tagName = tagName;
self
}
pub fn tagSize(mut self, tagSize : usize) -> Self {
self.tagSize = tagSize;
self
}
pub fn pTag(mut self, pTag : *const void) -> Self {
self.pTag = pTag;
self
}
}
impl DebugUtilsMessengerCreateInfoEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : DebugUtilsMessengerCreateFlagsEXT) -> Self {
self.flags = flags;
self
}
pub fn messageSeverity(mut self, messageSeverity : DebugUtilsMessageSeverityFlagsEXT) -> Self {
self.messageSeverity = messageSeverity;
self
}
pub fn messageType(mut self, messageType : DebugUtilsMessageTypeFlagsEXT) -> Self {
self.messageType = messageType;
self
}
pub fn pfnUserCallback(mut self, pfnUserCallback : u64) -> Self {
self.pfnUserCallback = pfnUserCallback;
self
}
pub fn pUserData(mut self, pUserData : *mut void) -> Self {
self.pUserData = pUserData;
self
}
}
impl PhysicalDeviceInlineUniformBlockFeaturesEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn inlineUniformBlock(mut self, inlineUniformBlock : Bool32) -> Self {
self.inlineUniformBlock = inlineUniformBlock;
self
}
pub fn descriptorBindingInlineUniformBlockUpdateAfterBind(mut self, descriptorBindingInlineUniformBlockUpdateAfterBind : Bool32) -> Self {
self.descriptorBindingInlineUniformBlockUpdateAfterBind = descriptorBindingInlineUniformBlockUpdateAfterBind;
self
}
}
impl PhysicalDeviceInlineUniformBlockPropertiesEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn maxInlineUniformBlockSize(mut self, maxInlineUniformBlockSize : u32) -> Self {
self.maxInlineUniformBlockSize = maxInlineUniformBlockSize;
self
}
pub fn maxPerStageDescriptorInlineUniformBlocks(mut self, maxPerStageDescriptorInlineUniformBlocks : u32) -> Self {
self.maxPerStageDescriptorInlineUniformBlocks = maxPerStageDescriptorInlineUniformBlocks;
self
}
pub fn maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks(mut self, maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks : u32) -> Self {
self.maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks = maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
self
}
pub fn maxDescriptorSetInlineUniformBlocks(mut self, maxDescriptorSetInlineUniformBlocks : u32) -> Self {
self.maxDescriptorSetInlineUniformBlocks = maxDescriptorSetInlineUniformBlocks;
self
}
pub fn maxDescriptorSetUpdateAfterBindInlineUniformBlocks(mut self, maxDescriptorSetUpdateAfterBindInlineUniformBlocks : u32) -> Self {
self.maxDescriptorSetUpdateAfterBindInlineUniformBlocks = maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
self
}
}
impl WriteDescriptorSetInlineUniformBlockEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn dataSize(mut self, dataSize : u32) -> Self {
self.dataSize = dataSize;
self
}
pub fn pData(mut self, pData : *const void) -> Self {
self.pData = pData;
self
}
}
impl DescriptorPoolInlineUniformBlockCreateInfoEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn maxInlineUniformBlockBindings(mut self, maxInlineUniformBlockBindings : u32) -> Self {
self.maxInlineUniformBlockBindings = maxInlineUniformBlockBindings;
self
}
}
impl SampleLocationEXT {
pub fn new() -> Self {
Self::default()
}
pub fn x(mut self, x : f32) -> Self {
self.x = x;
self
}
pub fn y(mut self, y : f32) -> Self {
self.y = y;
self
}
}
impl SampleLocationsInfoEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn sampleLocationsPerPixel(mut self, sampleLocationsPerPixel : SampleCountFlagBits) -> Self {
self.sampleLocationsPerPixel = sampleLocationsPerPixel;
self
}
pub fn sampleLocationGridSize(mut self, sampleLocationGridSize : Extent2D) -> Self {
self.sampleLocationGridSize = sampleLocationGridSize;
self
}
pub fn sampleLocationsCount(mut self, sampleLocationsCount : u32) -> Self {
self.sampleLocationsCount = sampleLocationsCount;
self
}
pub fn pSampleLocations(mut self, pSampleLocations : *const SampleLocationEXT) -> Self {
self.pSampleLocations = pSampleLocations;
self
}
}
impl AttachmentSampleLocationsEXT {
pub fn new() -> Self {
Self::default()
}
pub fn attachmentIndex(mut self, attachmentIndex : u32) -> Self {
self.attachmentIndex = attachmentIndex;
self
}
pub fn sampleLocationsInfo(mut self, sampleLocationsInfo : SampleLocationsInfoEXT) -> Self {
self.sampleLocationsInfo = sampleLocationsInfo;
self
}
}
impl SubpassSampleLocationsEXT {
pub fn new() -> Self {
Self::default()
}
pub fn subpassIndex(mut self, subpassIndex : u32) -> Self {
self.subpassIndex = subpassIndex;
self
}
pub fn sampleLocationsInfo(mut self, sampleLocationsInfo : SampleLocationsInfoEXT) -> Self {
self.sampleLocationsInfo = sampleLocationsInfo;
self
}
}
impl RenderPassSampleLocationsBeginInfoEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn attachmentInitialSampleLocationsCount(mut self, attachmentInitialSampleLocationsCount : u32) -> Self {
self.attachmentInitialSampleLocationsCount = attachmentInitialSampleLocationsCount;
self
}
pub fn pAttachmentInitialSampleLocations(mut self, pAttachmentInitialSampleLocations : *const AttachmentSampleLocationsEXT) -> Self {
self.pAttachmentInitialSampleLocations = pAttachmentInitialSampleLocations;
self
}
pub fn postSubpassSampleLocationsCount(mut self, postSubpassSampleLocationsCount : u32) -> Self {
self.postSubpassSampleLocationsCount = postSubpassSampleLocationsCount;
self
}
pub fn pPostSubpassSampleLocations(mut self, pPostSubpassSampleLocations : *const SubpassSampleLocationsEXT) -> Self {
self.pPostSubpassSampleLocations = pPostSubpassSampleLocations;
self
}
}
impl PipelineSampleLocationsStateCreateInfoEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn sampleLocationsEnable(mut self, sampleLocationsEnable : Bool32) -> Self {
self.sampleLocationsEnable = sampleLocationsEnable;
self
}
pub fn sampleLocationsInfo(mut self, sampleLocationsInfo : SampleLocationsInfoEXT) -> Self {
self.sampleLocationsInfo = sampleLocationsInfo;
self
}
}
impl PhysicalDeviceSampleLocationsPropertiesEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn sampleLocationSampleCounts(mut self, sampleLocationSampleCounts : SampleCountFlags) -> Self {
self.sampleLocationSampleCounts = sampleLocationSampleCounts;
self
}
pub fn maxSampleLocationGridSize(mut self, maxSampleLocationGridSize : Extent2D) -> Self {
self.maxSampleLocationGridSize = maxSampleLocationGridSize;
self
}
pub fn sampleLocationCoordinateRange(mut self, sampleLocationCoordinateRange : [f32;2]) -> Self {
self.sampleLocationCoordinateRange = sampleLocationCoordinateRange;
self
}
pub fn sampleLocationSubPixelBits(mut self, sampleLocationSubPixelBits : u32) -> Self {
self.sampleLocationSubPixelBits = sampleLocationSubPixelBits;
self
}
pub fn variableSampleLocations(mut self, variableSampleLocations : Bool32) -> Self {
self.variableSampleLocations = variableSampleLocations;
self
}
}
impl MultisamplePropertiesEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn maxSampleLocationGridSize(mut self, maxSampleLocationGridSize : Extent2D) -> Self {
self.maxSampleLocationGridSize = maxSampleLocationGridSize;
self
}
}
impl PhysicalDeviceBlendOperationAdvancedFeaturesEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn advancedBlendCoherentOperations(mut self, advancedBlendCoherentOperations : Bool32) -> Self {
self.advancedBlendCoherentOperations = advancedBlendCoherentOperations;
self
}
}
impl PhysicalDeviceBlendOperationAdvancedPropertiesEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn advancedBlendMaxColorAttachments(mut self, advancedBlendMaxColorAttachments : u32) -> Self {
self.advancedBlendMaxColorAttachments = advancedBlendMaxColorAttachments;
self
}
pub fn advancedBlendIndependentBlend(mut self, advancedBlendIndependentBlend : Bool32) -> Self {
self.advancedBlendIndependentBlend = advancedBlendIndependentBlend;
self
}
pub fn advancedBlendNonPremultipliedSrcColor(mut self, advancedBlendNonPremultipliedSrcColor : Bool32) -> Self {
self.advancedBlendNonPremultipliedSrcColor = advancedBlendNonPremultipliedSrcColor;
self
}
pub fn advancedBlendNonPremultipliedDstColor(mut self, advancedBlendNonPremultipliedDstColor : Bool32) -> Self {
self.advancedBlendNonPremultipliedDstColor = advancedBlendNonPremultipliedDstColor;
self
}
pub fn advancedBlendCorrelatedOverlap(mut self, advancedBlendCorrelatedOverlap : Bool32) -> Self {
self.advancedBlendCorrelatedOverlap = advancedBlendCorrelatedOverlap;
self
}
pub fn advancedBlendAllOperations(mut self, advancedBlendAllOperations : Bool32) -> Self {
self.advancedBlendAllOperations = advancedBlendAllOperations;
self
}
}
impl PipelineColorBlendAdvancedStateCreateInfoEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn srcPremultiplied(mut self, srcPremultiplied : Bool32) -> Self {
self.srcPremultiplied = srcPremultiplied;
self
}
pub fn dstPremultiplied(mut self, dstPremultiplied : Bool32) -> Self {
self.dstPremultiplied = dstPremultiplied;
self
}
pub fn blendOverlap(mut self, blendOverlap : BlendOverlapEXT) -> Self {
self.blendOverlap = blendOverlap;
self
}
}
impl PipelineCoverageToColorStateCreateInfoNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : PipelineCoverageToColorStateCreateFlagsNV) -> Self {
self.flags = flags;
self
}
pub fn coverageToColorEnable(mut self, coverageToColorEnable : Bool32) -> Self {
self.coverageToColorEnable = coverageToColorEnable;
self
}
pub fn coverageToColorLocation(mut self, coverageToColorLocation : u32) -> Self {
self.coverageToColorLocation = coverageToColorLocation;
self
}
}
impl PipelineCoverageModulationStateCreateInfoNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : PipelineCoverageModulationStateCreateFlagsNV) -> Self {
self.flags = flags;
self
}
pub fn coverageModulationMode(mut self, coverageModulationMode : CoverageModulationModeNV) -> Self {
self.coverageModulationMode = coverageModulationMode;
self
}
pub fn coverageModulationTableEnable(mut self, coverageModulationTableEnable : Bool32) -> Self {
self.coverageModulationTableEnable = coverageModulationTableEnable;
self
}
pub fn coverageModulationTableCount(mut self, coverageModulationTableCount : u32) -> Self {
self.coverageModulationTableCount = coverageModulationTableCount;
self
}
pub fn pCoverageModulationTable(mut self, pCoverageModulationTable : *const f32) -> Self {
self.pCoverageModulationTable = pCoverageModulationTable;
self
}
}
impl PhysicalDeviceShaderSMBuiltinsPropertiesNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn shaderSMCount(mut self, shaderSMCount : u32) -> Self {
self.shaderSMCount = shaderSMCount;
self
}
pub fn shaderWarpsPerSM(mut self, shaderWarpsPerSM : u32) -> Self {
self.shaderWarpsPerSM = shaderWarpsPerSM;
self
}
}
impl PhysicalDeviceShaderSMBuiltinsFeaturesNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn shaderSMBuiltins(mut self, shaderSMBuiltins : Bool32) -> Self {
self.shaderSMBuiltins = shaderSMBuiltins;
self
}
}
impl DrmFormatModifierPropertiesEXT {
pub fn new() -> Self {
Self::default()
}
pub fn drmFormatModifier(mut self, drmFormatModifier : u64) -> Self {
self.drmFormatModifier = drmFormatModifier;
self
}
pub fn drmFormatModifierPlaneCount(mut self, drmFormatModifierPlaneCount : u32) -> Self {
self.drmFormatModifierPlaneCount = drmFormatModifierPlaneCount;
self
}
pub fn drmFormatModifierTilingFeatures(mut self, drmFormatModifierTilingFeatures : FormatFeatureFlags) -> Self {
self.drmFormatModifierTilingFeatures = drmFormatModifierTilingFeatures;
self
}
}
impl DrmFormatModifierPropertiesListEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn drmFormatModifierCount(mut self, drmFormatModifierCount : u32) -> Self {
self.drmFormatModifierCount = drmFormatModifierCount;
self
}
pub fn pDrmFormatModifierProperties(mut self, pDrmFormatModifierProperties : *mut DrmFormatModifierPropertiesEXT) -> Self {
self.pDrmFormatModifierProperties = pDrmFormatModifierProperties;
self
}
}
impl PhysicalDeviceImageDrmFormatModifierInfoEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn drmFormatModifier(mut self, drmFormatModifier : u64) -> Self {
self.drmFormatModifier = drmFormatModifier;
self
}
pub fn sharingMode(mut self, sharingMode : SharingMode) -> Self {
self.sharingMode = sharingMode;
self
}
pub fn queueFamilyIndexCount(mut self, queueFamilyIndexCount : u32) -> Self {
self.queueFamilyIndexCount = queueFamilyIndexCount;
self
}
pub fn pQueueFamilyIndices(mut self, pQueueFamilyIndices : *const u32) -> Self {
self.pQueueFamilyIndices = pQueueFamilyIndices;
self
}
}
impl ImageDrmFormatModifierListCreateInfoEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn drmFormatModifierCount(mut self, drmFormatModifierCount : u32) -> Self {
self.drmFormatModifierCount = drmFormatModifierCount;
self
}
pub fn pDrmFormatModifiers(mut self, pDrmFormatModifiers : *const u64) -> Self {
self.pDrmFormatModifiers = pDrmFormatModifiers;
self
}
}
impl ImageDrmFormatModifierExplicitCreateInfoEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn drmFormatModifier(mut self, drmFormatModifier : u64) -> Self {
self.drmFormatModifier = drmFormatModifier;
self
}
pub fn drmFormatModifierPlaneCount(mut self, drmFormatModifierPlaneCount : u32) -> Self {
self.drmFormatModifierPlaneCount = drmFormatModifierPlaneCount;
self
}
pub fn pPlaneLayouts(mut self, pPlaneLayouts : *const SubresourceLayout) -> Self {
self.pPlaneLayouts = pPlaneLayouts;
self
}
}
impl ImageDrmFormatModifierPropertiesEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn drmFormatModifier(mut self, drmFormatModifier : u64) -> Self {
self.drmFormatModifier = drmFormatModifier;
self
}
}
impl ValidationCacheCreateInfoEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : ValidationCacheCreateFlagsEXT) -> Self {
self.flags = flags;
self
}
pub fn initialDataSize(mut self, initialDataSize : usize) -> Self {
self.initialDataSize = initialDataSize;
self
}
pub fn pInitialData(mut self, pInitialData : *const void) -> Self {
self.pInitialData = pInitialData;
self
}
}
impl ShaderModuleValidationCacheCreateInfoEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn validationCache(mut self, validationCache : ValidationCacheEXT) -> Self {
self.validationCache = validationCache;
self
}
}
impl ShadingRatePaletteNV {
pub fn new() -> Self {
Self::default()
}
pub fn shadingRatePaletteEntryCount(mut self, shadingRatePaletteEntryCount : u32) -> Self {
self.shadingRatePaletteEntryCount = shadingRatePaletteEntryCount;
self
}
pub fn pShadingRatePaletteEntries(mut self, pShadingRatePaletteEntries : *const ShadingRatePaletteEntryNV) -> Self {
self.pShadingRatePaletteEntries = pShadingRatePaletteEntries;
self
}
}
impl PipelineViewportShadingRateImageStateCreateInfoNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn shadingRateImageEnable(mut self, shadingRateImageEnable : Bool32) -> Self {
self.shadingRateImageEnable = shadingRateImageEnable;
self
}
pub fn viewportCount(mut self, viewportCount : u32) -> Self {
self.viewportCount = viewportCount;
self
}
pub fn pShadingRatePalettes(mut self, pShadingRatePalettes : *const ShadingRatePaletteNV) -> Self {
self.pShadingRatePalettes = pShadingRatePalettes;
self
}
}
impl PhysicalDeviceShadingRateImageFeaturesNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn shadingRateImage(mut self, shadingRateImage : Bool32) -> Self {
self.shadingRateImage = shadingRateImage;
self
}
pub fn shadingRateCoarseSampleOrder(mut self, shadingRateCoarseSampleOrder : Bool32) -> Self {
self.shadingRateCoarseSampleOrder = shadingRateCoarseSampleOrder;
self
}
}
impl PhysicalDeviceShadingRateImagePropertiesNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn shadingRateTexelSize(mut self, shadingRateTexelSize : Extent2D) -> Self {
self.shadingRateTexelSize = shadingRateTexelSize;
self
}
pub fn shadingRatePaletteSize(mut self, shadingRatePaletteSize : u32) -> Self {
self.shadingRatePaletteSize = shadingRatePaletteSize;
self
}
pub fn shadingRateMaxCoarseSamples(mut self, shadingRateMaxCoarseSamples : u32) -> Self {
self.shadingRateMaxCoarseSamples = shadingRateMaxCoarseSamples;
self
}
}
impl CoarseSampleLocationNV {
pub fn new() -> Self {
Self::default()
}
pub fn pixelX(mut self, pixelX : u32) -> Self {
self.pixelX = pixelX;
self
}
pub fn pixelY(mut self, pixelY : u32) -> Self {
self.pixelY = pixelY;
self
}
pub fn sample(mut self, sample : u32) -> Self {
self.sample = sample;
self
}
}
impl CoarseSampleOrderCustomNV {
pub fn new() -> Self {
Self::default()
}
pub fn shadingRate(mut self, shadingRate : ShadingRatePaletteEntryNV) -> Self {
self.shadingRate = shadingRate;
self
}
pub fn sampleCount(mut self, sampleCount : u32) -> Self {
self.sampleCount = sampleCount;
self
}
pub fn sampleLocationCount(mut self, sampleLocationCount : u32) -> Self {
self.sampleLocationCount = sampleLocationCount;
self
}
pub fn pSampleLocations(mut self, pSampleLocations : *const CoarseSampleLocationNV) -> Self {
self.pSampleLocations = pSampleLocations;
self
}
}
impl PipelineViewportCoarseSampleOrderStateCreateInfoNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn sampleOrderType(mut self, sampleOrderType : CoarseSampleOrderTypeNV) -> Self {
self.sampleOrderType = sampleOrderType;
self
}
pub fn customSampleOrderCount(mut self, customSampleOrderCount : u32) -> Self {
self.customSampleOrderCount = customSampleOrderCount;
self
}
pub fn pCustomSampleOrders(mut self, pCustomSampleOrders : *const CoarseSampleOrderCustomNV) -> Self {
self.pCustomSampleOrders = pCustomSampleOrders;
self
}
}
impl RayTracingShaderGroupCreateInfoNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn r#type(mut self, r#type : RayTracingShaderGroupTypeKHR) -> Self {
self.r#type = r#type;
self
}
pub fn generalShader(mut self, generalShader : u32) -> Self {
self.generalShader = generalShader;
self
}
pub fn closestHitShader(mut self, closestHitShader : u32) -> Self {
self.closestHitShader = closestHitShader;
self
}
pub fn anyHitShader(mut self, anyHitShader : u32) -> Self {
self.anyHitShader = anyHitShader;
self
}
pub fn intersectionShader(mut self, intersectionShader : u32) -> Self {
self.intersectionShader = intersectionShader;
self
}
}
impl RayTracingPipelineCreateInfoNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : PipelineCreateFlags) -> Self {
self.flags = flags;
self
}
pub fn stageCount(mut self, stageCount : u32) -> Self {
self.stageCount = stageCount;
self
}
pub fn pStages(mut self, pStages : *const PipelineShaderStageCreateInfo) -> Self {
self.pStages = pStages;
self
}
pub fn groupCount(mut self, groupCount : u32) -> Self {
self.groupCount = groupCount;
self
}
pub fn pGroups(mut self, pGroups : *const RayTracingShaderGroupCreateInfoNV) -> Self {
self.pGroups = pGroups;
self
}
pub fn maxRecursionDepth(mut self, maxRecursionDepth : u32) -> Self {
self.maxRecursionDepth = maxRecursionDepth;
self
}
pub fn layout(mut self, layout : PipelineLayout) -> Self {
self.layout = layout;
self
}
pub fn basePipelineHandle(mut self, basePipelineHandle : Pipeline) -> Self {
self.basePipelineHandle = basePipelineHandle;
self
}
pub fn basePipelineIndex(mut self, basePipelineIndex : i32) -> Self {
self.basePipelineIndex = basePipelineIndex;
self
}
}
impl GeometryTrianglesNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn vertexData(mut self, vertexData : Buffer) -> Self {
self.vertexData = vertexData;
self
}
pub fn vertexOffset(mut self, vertexOffset : DeviceSize) -> Self {
self.vertexOffset = vertexOffset;
self
}
pub fn vertexCount(mut self, vertexCount : u32) -> Self {
self.vertexCount = vertexCount;
self
}
pub fn vertexStride(mut self, vertexStride : DeviceSize) -> Self {
self.vertexStride = vertexStride;
self
}
pub fn vertexFormat(mut self, vertexFormat : Format) -> Self {
self.vertexFormat = vertexFormat;
self
}
pub fn indexData(mut self, indexData : Buffer) -> Self {
self.indexData = indexData;
self
}
pub fn indexOffset(mut self, indexOffset : DeviceSize) -> Self {
self.indexOffset = indexOffset;
self
}
pub fn indexCount(mut self, indexCount : u32) -> Self {
self.indexCount = indexCount;
self
}
pub fn indexType(mut self, indexType : IndexType) -> Self {
self.indexType = indexType;
self
}
pub fn transformData(mut self, transformData : Buffer) -> Self {
self.transformData = transformData;
self
}
pub fn transformOffset(mut self, transformOffset : DeviceSize) -> Self {
self.transformOffset = transformOffset;
self
}
}
impl GeometryAABBNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn aabbData(mut self, aabbData : Buffer) -> Self {
self.aabbData = aabbData;
self
}
pub fn numAABBs(mut self, numAABBs : u32) -> Self {
self.numAABBs = numAABBs;
self
}
pub fn stride(mut self, stride : u32) -> Self {
self.stride = stride;
self
}
pub fn offset(mut self, offset : DeviceSize) -> Self {
self.offset = offset;
self
}
}
impl GeometryDataNV {
pub fn new() -> Self {
Self::default()
}
pub fn triangles(mut self, triangles : GeometryTrianglesNV) -> Self {
self.triangles = triangles;
self
}
pub fn aabbs(mut self, aabbs : GeometryAABBNV) -> Self {
self.aabbs = aabbs;
self
}
}
impl GeometryNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn geometryType(mut self, geometryType : GeometryTypeKHR) -> Self {
self.geometryType = geometryType;
self
}
pub fn geometry(mut self, geometry : GeometryDataNV) -> Self {
self.geometry = geometry;
self
}
pub fn flags(mut self, flags : GeometryFlagsKHR) -> Self {
self.flags = flags;
self
}
}
impl AccelerationStructureInfoNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn r#type(mut self, r#type : AccelerationStructureTypeNV) -> Self {
self.r#type = r#type;
self
}
pub fn flags(mut self, flags : BuildAccelerationStructureFlagsNV) -> Self {
self.flags = flags;
self
}
pub fn instanceCount(mut self, instanceCount : u32) -> Self {
self.instanceCount = instanceCount;
self
}
pub fn geometryCount(mut self, geometryCount : u32) -> Self {
self.geometryCount = geometryCount;
self
}
pub fn pGeometries(mut self, pGeometries : *const GeometryNV) -> Self {
self.pGeometries = pGeometries;
self
}
}
impl AccelerationStructureCreateInfoNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn compactedSize(mut self, compactedSize : DeviceSize) -> Self {
self.compactedSize = compactedSize;
self
}
pub fn info(mut self, info : AccelerationStructureInfoNV) -> Self {
self.info = info;
self
}
}
impl BindAccelerationStructureMemoryInfoKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn accelerationStructure(mut self, accelerationStructure : AccelerationStructureKHR) -> Self {
self.accelerationStructure = accelerationStructure;
self
}
pub fn memory(mut self, memory : DeviceMemory) -> Self {
self.memory = memory;
self
}
pub fn memoryOffset(mut self, memoryOffset : DeviceSize) -> Self {
self.memoryOffset = memoryOffset;
self
}
pub fn deviceIndexCount(mut self, deviceIndexCount : u32) -> Self {
self.deviceIndexCount = deviceIndexCount;
self
}
pub fn pDeviceIndices(mut self, pDeviceIndices : *const u32) -> Self {
self.pDeviceIndices = pDeviceIndices;
self
}
}
impl WriteDescriptorSetAccelerationStructureKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn accelerationStructureCount(mut self, accelerationStructureCount : u32) -> Self {
self.accelerationStructureCount = accelerationStructureCount;
self
}
pub fn pAccelerationStructures(mut self, pAccelerationStructures : *const AccelerationStructureKHR) -> Self {
self.pAccelerationStructures = pAccelerationStructures;
self
}
}
impl AccelerationStructureMemoryRequirementsInfoNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn r#type(mut self, r#type : AccelerationStructureMemoryRequirementsTypeNV) -> Self {
self.r#type = r#type;
self
}
pub fn accelerationStructure(mut self, accelerationStructure : AccelerationStructureNV) -> Self {
self.accelerationStructure = accelerationStructure;
self
}
}
impl PhysicalDeviceRayTracingPropertiesNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn shaderGroupHandleSize(mut self, shaderGroupHandleSize : u32) -> Self {
self.shaderGroupHandleSize = shaderGroupHandleSize;
self
}
pub fn maxRecursionDepth(mut self, maxRecursionDepth : u32) -> Self {
self.maxRecursionDepth = maxRecursionDepth;
self
}
pub fn maxShaderGroupStride(mut self, maxShaderGroupStride : u32) -> Self {
self.maxShaderGroupStride = maxShaderGroupStride;
self
}
pub fn shaderGroupBaseAlignment(mut self, shaderGroupBaseAlignment : u32) -> Self {
self.shaderGroupBaseAlignment = shaderGroupBaseAlignment;
self
}
pub fn maxGeometryCount(mut self, maxGeometryCount : u64) -> Self {
self.maxGeometryCount = maxGeometryCount;
self
}
pub fn maxInstanceCount(mut self, maxInstanceCount : u64) -> Self {
self.maxInstanceCount = maxInstanceCount;
self
}
pub fn maxTriangleCount(mut self, maxTriangleCount : u64) -> Self {
self.maxTriangleCount = maxTriangleCount;
self
}
pub fn maxDescriptorSetAccelerationStructures(mut self, maxDescriptorSetAccelerationStructures : u32) -> Self {
self.maxDescriptorSetAccelerationStructures = maxDescriptorSetAccelerationStructures;
self
}
}
impl TransformMatrixKHR {
pub fn new() -> Self {
Self::default()
}
pub fn matrix(mut self, matrix : [f32;12]) -> Self {
self.matrix = matrix;
self
}
}
impl AabbPositionsKHR {
pub fn new() -> Self {
Self::default()
}
pub fn minX(mut self, minX : f32) -> Self {
self.minX = minX;
self
}
pub fn minY(mut self, minY : f32) -> Self {
self.minY = minY;
self
}
pub fn minZ(mut self, minZ : f32) -> Self {
self.minZ = minZ;
self
}
pub fn maxX(mut self, maxX : f32) -> Self {
self.maxX = maxX;
self
}
pub fn maxY(mut self, maxY : f32) -> Self {
self.maxY = maxY;
self
}
pub fn maxZ(mut self, maxZ : f32) -> Self {
self.maxZ = maxZ;
self
}
}
impl PhysicalDeviceRepresentativeFragmentTestFeaturesNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn representativeFragmentTest(mut self, representativeFragmentTest : Bool32) -> Self {
self.representativeFragmentTest = representativeFragmentTest;
self
}
}
impl PipelineRepresentativeFragmentTestStateCreateInfoNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn representativeFragmentTestEnable(mut self, representativeFragmentTestEnable : Bool32) -> Self {
self.representativeFragmentTestEnable = representativeFragmentTestEnable;
self
}
}
impl PhysicalDeviceImageViewImageFormatInfoEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn imageViewType(mut self, imageViewType : ImageViewType) -> Self {
self.imageViewType = imageViewType;
self
}
}
impl FilterCubicImageViewImageFormatPropertiesEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn filterCubic(mut self, filterCubic : Bool32) -> Self {
self.filterCubic = filterCubic;
self
}
pub fn filterCubicMinmax(mut self, filterCubicMinmax : Bool32) -> Self {
self.filterCubicMinmax = filterCubicMinmax;
self
}
}
impl DeviceQueueGlobalPriorityCreateInfoEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn globalPriority(mut self, globalPriority : QueueGlobalPriorityEXT) -> Self {
self.globalPriority = globalPriority;
self
}
}
impl ImportMemoryHostPointerInfoEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn handleType(mut self, handleType : ExternalMemoryHandleTypeFlagBits) -> Self {
self.handleType = handleType;
self
}
pub fn pHostPointer(mut self, pHostPointer : *mut void) -> Self {
self.pHostPointer = pHostPointer;
self
}
}
impl MemoryHostPointerPropertiesEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn memoryTypeBits(mut self, memoryTypeBits : u32) -> Self {
self.memoryTypeBits = memoryTypeBits;
self
}
}
impl PhysicalDeviceExternalMemoryHostPropertiesEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn minImportedHostPointerAlignment(mut self, minImportedHostPointerAlignment : DeviceSize) -> Self {
self.minImportedHostPointerAlignment = minImportedHostPointerAlignment;
self
}
}
impl PipelineCompilerControlCreateInfoAMD {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn compilerControlFlags(mut self, compilerControlFlags : PipelineCompilerControlFlagsAMD) -> Self {
self.compilerControlFlags = compilerControlFlags;
self
}
}
impl CalibratedTimestampInfoEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn timeDomain(mut self, timeDomain : TimeDomainEXT) -> Self {
self.timeDomain = timeDomain;
self
}
}
impl PhysicalDeviceShaderCorePropertiesAMD {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn shaderEngineCount(mut self, shaderEngineCount : u32) -> Self {
self.shaderEngineCount = shaderEngineCount;
self
}
pub fn shaderArraysPerEngineCount(mut self, shaderArraysPerEngineCount : u32) -> Self {
self.shaderArraysPerEngineCount = shaderArraysPerEngineCount;
self
}
pub fn computeUnitsPerShaderArray(mut self, computeUnitsPerShaderArray : u32) -> Self {
self.computeUnitsPerShaderArray = computeUnitsPerShaderArray;
self
}
pub fn simdPerComputeUnit(mut self, simdPerComputeUnit : u32) -> Self {
self.simdPerComputeUnit = simdPerComputeUnit;
self
}
pub fn wavefrontsPerSimd(mut self, wavefrontsPerSimd : u32) -> Self {
self.wavefrontsPerSimd = wavefrontsPerSimd;
self
}
pub fn wavefrontSize(mut self, wavefrontSize : u32) -> Self {
self.wavefrontSize = wavefrontSize;
self
}
pub fn sgprsPerSimd(mut self, sgprsPerSimd : u32) -> Self {
self.sgprsPerSimd = sgprsPerSimd;
self
}
pub fn minSgprAllocation(mut self, minSgprAllocation : u32) -> Self {
self.minSgprAllocation = minSgprAllocation;
self
}
pub fn maxSgprAllocation(mut self, maxSgprAllocation : u32) -> Self {
self.maxSgprAllocation = maxSgprAllocation;
self
}
pub fn sgprAllocationGranularity(mut self, sgprAllocationGranularity : u32) -> Self {
self.sgprAllocationGranularity = sgprAllocationGranularity;
self
}
pub fn vgprsPerSimd(mut self, vgprsPerSimd : u32) -> Self {
self.vgprsPerSimd = vgprsPerSimd;
self
}
pub fn minVgprAllocation(mut self, minVgprAllocation : u32) -> Self {
self.minVgprAllocation = minVgprAllocation;
self
}
pub fn maxVgprAllocation(mut self, maxVgprAllocation : u32) -> Self {
self.maxVgprAllocation = maxVgprAllocation;
self
}
pub fn vgprAllocationGranularity(mut self, vgprAllocationGranularity : u32) -> Self {
self.vgprAllocationGranularity = vgprAllocationGranularity;
self
}
}
impl DeviceMemoryOverallocationCreateInfoAMD {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn overallocationBehavior(mut self, overallocationBehavior : MemoryOverallocationBehaviorAMD) -> Self {
self.overallocationBehavior = overallocationBehavior;
self
}
}
impl PhysicalDeviceVertexAttributeDivisorPropertiesEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn maxVertexAttribDivisor(mut self, maxVertexAttribDivisor : u32) -> Self {
self.maxVertexAttribDivisor = maxVertexAttribDivisor;
self
}
}
impl VertexInputBindingDivisorDescriptionEXT {
pub fn new() -> Self {
Self::default()
}
pub fn binding(mut self, binding : u32) -> Self {
self.binding = binding;
self
}
pub fn divisor(mut self, divisor : u32) -> Self {
self.divisor = divisor;
self
}
}
impl PipelineVertexInputDivisorStateCreateInfoEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn vertexBindingDivisorCount(mut self, vertexBindingDivisorCount : u32) -> Self {
self.vertexBindingDivisorCount = vertexBindingDivisorCount;
self
}
pub fn pVertexBindingDivisors(mut self, pVertexBindingDivisors : *const VertexInputBindingDivisorDescriptionEXT) -> Self {
self.pVertexBindingDivisors = pVertexBindingDivisors;
self
}
}
impl PhysicalDeviceVertexAttributeDivisorFeaturesEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn vertexAttributeInstanceRateDivisor(mut self, vertexAttributeInstanceRateDivisor : Bool32) -> Self {
self.vertexAttributeInstanceRateDivisor = vertexAttributeInstanceRateDivisor;
self
}
pub fn vertexAttributeInstanceRateZeroDivisor(mut self, vertexAttributeInstanceRateZeroDivisor : Bool32) -> Self {
self.vertexAttributeInstanceRateZeroDivisor = vertexAttributeInstanceRateZeroDivisor;
self
}
}
impl PipelineCreationFeedbackEXT {
pub fn new() -> Self {
Self::default()
}
pub fn flags(mut self, flags : PipelineCreationFeedbackFlagsEXT) -> Self {
self.flags = flags;
self
}
pub fn duration(mut self, duration : u64) -> Self {
self.duration = duration;
self
}
}
impl PipelineCreationFeedbackCreateInfoEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn pPipelineCreationFeedback(mut self, pPipelineCreationFeedback : *mut PipelineCreationFeedbackEXT) -> Self {
self.pPipelineCreationFeedback = pPipelineCreationFeedback;
self
}
pub fn pipelineStageCreationFeedbackCount(mut self, pipelineStageCreationFeedbackCount : u32) -> Self {
self.pipelineStageCreationFeedbackCount = pipelineStageCreationFeedbackCount;
self
}
pub fn pPipelineStageCreationFeedbacks(mut self, pPipelineStageCreationFeedbacks : *mut PipelineCreationFeedbackEXT) -> Self {
self.pPipelineStageCreationFeedbacks = pPipelineStageCreationFeedbacks;
self
}
}
impl PhysicalDeviceComputeShaderDerivativesFeaturesNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn computeDerivativeGroupQuads(mut self, computeDerivativeGroupQuads : Bool32) -> Self {
self.computeDerivativeGroupQuads = computeDerivativeGroupQuads;
self
}
pub fn computeDerivativeGroupLinear(mut self, computeDerivativeGroupLinear : Bool32) -> Self {
self.computeDerivativeGroupLinear = computeDerivativeGroupLinear;
self
}
}
impl PhysicalDeviceMeshShaderFeaturesNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn taskShader(mut self, taskShader : Bool32) -> Self {
self.taskShader = taskShader;
self
}
pub fn meshShader(mut self, meshShader : Bool32) -> Self {
self.meshShader = meshShader;
self
}
}
impl PhysicalDeviceMeshShaderPropertiesNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn maxDrawMeshTasksCount(mut self, maxDrawMeshTasksCount : u32) -> Self {
self.maxDrawMeshTasksCount = maxDrawMeshTasksCount;
self
}
pub fn maxTaskWorkGroupInvocations(mut self, maxTaskWorkGroupInvocations : u32) -> Self {
self.maxTaskWorkGroupInvocations = maxTaskWorkGroupInvocations;
self
}
pub fn maxTaskWorkGroupSize(mut self, maxTaskWorkGroupSize : [u32;3]) -> Self {
self.maxTaskWorkGroupSize = maxTaskWorkGroupSize;
self
}
pub fn maxTaskTotalMemorySize(mut self, maxTaskTotalMemorySize : u32) -> Self {
self.maxTaskTotalMemorySize = maxTaskTotalMemorySize;
self
}
pub fn maxTaskOutputCount(mut self, maxTaskOutputCount : u32) -> Self {
self.maxTaskOutputCount = maxTaskOutputCount;
self
}
pub fn maxMeshWorkGroupInvocations(mut self, maxMeshWorkGroupInvocations : u32) -> Self {
self.maxMeshWorkGroupInvocations = maxMeshWorkGroupInvocations;
self
}
pub fn maxMeshWorkGroupSize(mut self, maxMeshWorkGroupSize : [u32;3]) -> Self {
self.maxMeshWorkGroupSize = maxMeshWorkGroupSize;
self
}
pub fn maxMeshTotalMemorySize(mut self, maxMeshTotalMemorySize : u32) -> Self {
self.maxMeshTotalMemorySize = maxMeshTotalMemorySize;
self
}
pub fn maxMeshOutputVertices(mut self, maxMeshOutputVertices : u32) -> Self {
self.maxMeshOutputVertices = maxMeshOutputVertices;
self
}
pub fn maxMeshOutputPrimitives(mut self, maxMeshOutputPrimitives : u32) -> Self {
self.maxMeshOutputPrimitives = maxMeshOutputPrimitives;
self
}
pub fn maxMeshMultiviewViewCount(mut self, maxMeshMultiviewViewCount : u32) -> Self {
self.maxMeshMultiviewViewCount = maxMeshMultiviewViewCount;
self
}
pub fn meshOutputPerVertexGranularity(mut self, meshOutputPerVertexGranularity : u32) -> Self {
self.meshOutputPerVertexGranularity = meshOutputPerVertexGranularity;
self
}
pub fn meshOutputPerPrimitiveGranularity(mut self, meshOutputPerPrimitiveGranularity : u32) -> Self {
self.meshOutputPerPrimitiveGranularity = meshOutputPerPrimitiveGranularity;
self
}
}
impl DrawMeshTasksIndirectCommandNV {
pub fn new() -> Self {
Self::default()
}
pub fn taskCount(mut self, taskCount : u32) -> Self {
self.taskCount = taskCount;
self
}
pub fn firstTask(mut self, firstTask : u32) -> Self {
self.firstTask = firstTask;
self
}
}
impl PhysicalDeviceFragmentShaderBarycentricFeaturesNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn fragmentShaderBarycentric(mut self, fragmentShaderBarycentric : Bool32) -> Self {
self.fragmentShaderBarycentric = fragmentShaderBarycentric;
self
}
}
impl PhysicalDeviceShaderImageFootprintFeaturesNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn imageFootprint(mut self, imageFootprint : Bool32) -> Self {
self.imageFootprint = imageFootprint;
self
}
}
impl PipelineViewportExclusiveScissorStateCreateInfoNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn exclusiveScissorCount(mut self, exclusiveScissorCount : u32) -> Self {
self.exclusiveScissorCount = exclusiveScissorCount;
self
}
pub fn pExclusiveScissors(mut self, pExclusiveScissors : *const Rect2D) -> Self {
self.pExclusiveScissors = pExclusiveScissors;
self
}
}
impl PhysicalDeviceExclusiveScissorFeaturesNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn exclusiveScissor(mut self, exclusiveScissor : Bool32) -> Self {
self.exclusiveScissor = exclusiveScissor;
self
}
}
impl QueueFamilyCheckpointPropertiesNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn checkpointExecutionStageMask(mut self, checkpointExecutionStageMask : PipelineStageFlags) -> Self {
self.checkpointExecutionStageMask = checkpointExecutionStageMask;
self
}
}
impl CheckpointDataNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn stage(mut self, stage : PipelineStageFlagBits) -> Self {
self.stage = stage;
self
}
pub fn pCheckpointMarker(mut self, pCheckpointMarker : *mut void) -> Self {
self.pCheckpointMarker = pCheckpointMarker;
self
}
}
impl PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn shaderIntegerFunctions2(mut self, shaderIntegerFunctions2 : Bool32) -> Self {
self.shaderIntegerFunctions2 = shaderIntegerFunctions2;
self
}
}
impl InitializePerformanceApiInfoINTEL {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn pUserData(mut self, pUserData : *mut void) -> Self {
self.pUserData = pUserData;
self
}
}
impl QueryPoolPerformanceQueryCreateInfoINTEL {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn performanceCountersSampling(mut self, performanceCountersSampling : QueryPoolSamplingModeINTEL) -> Self {
self.performanceCountersSampling = performanceCountersSampling;
self
}
}
impl PerformanceMarkerInfoINTEL {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn marker(mut self, marker : u64) -> Self {
self.marker = marker;
self
}
}
impl PerformanceStreamMarkerInfoINTEL {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn marker(mut self, marker : u32) -> Self {
self.marker = marker;
self
}
}
impl PerformanceOverrideInfoINTEL {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn r#type(mut self, r#type : PerformanceOverrideTypeINTEL) -> Self {
self.r#type = r#type;
self
}
pub fn enable(mut self, enable : Bool32) -> Self {
self.enable = enable;
self
}
pub fn parameter(mut self, parameter : u64) -> Self {
self.parameter = parameter;
self
}
}
impl PerformanceConfigurationAcquireInfoINTEL {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn r#type(mut self, r#type : PerformanceConfigurationTypeINTEL) -> Self {
self.r#type = r#type;
self
}
}
impl PhysicalDevicePCIBusInfoPropertiesEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn pciDomain(mut self, pciDomain : u32) -> Self {
self.pciDomain = pciDomain;
self
}
pub fn pciBus(mut self, pciBus : u32) -> Self {
self.pciBus = pciBus;
self
}
pub fn pciDevice(mut self, pciDevice : u32) -> Self {
self.pciDevice = pciDevice;
self
}
pub fn pciFunction(mut self, pciFunction : u32) -> Self {
self.pciFunction = pciFunction;
self
}
}
impl DisplayNativeHdrSurfaceCapabilitiesAMD {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn localDimmingSupport(mut self, localDimmingSupport : Bool32) -> Self {
self.localDimmingSupport = localDimmingSupport;
self
}
}
impl SwapchainDisplayNativeHdrCreateInfoAMD {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn localDimmingEnable(mut self, localDimmingEnable : Bool32) -> Self {
self.localDimmingEnable = localDimmingEnable;
self
}
}
impl PhysicalDeviceFragmentDensityMapFeaturesEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn fragmentDensityMap(mut self, fragmentDensityMap : Bool32) -> Self {
self.fragmentDensityMap = fragmentDensityMap;
self
}
pub fn fragmentDensityMapDynamic(mut self, fragmentDensityMapDynamic : Bool32) -> Self {
self.fragmentDensityMapDynamic = fragmentDensityMapDynamic;
self
}
pub fn fragmentDensityMapNonSubsampledImages(mut self, fragmentDensityMapNonSubsampledImages : Bool32) -> Self {
self.fragmentDensityMapNonSubsampledImages = fragmentDensityMapNonSubsampledImages;
self
}
}
impl PhysicalDeviceFragmentDensityMapPropertiesEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn minFragmentDensityTexelSize(mut self, minFragmentDensityTexelSize : Extent2D) -> Self {
self.minFragmentDensityTexelSize = minFragmentDensityTexelSize;
self
}
pub fn maxFragmentDensityTexelSize(mut self, maxFragmentDensityTexelSize : Extent2D) -> Self {
self.maxFragmentDensityTexelSize = maxFragmentDensityTexelSize;
self
}
pub fn fragmentDensityInvocations(mut self, fragmentDensityInvocations : Bool32) -> Self {
self.fragmentDensityInvocations = fragmentDensityInvocations;
self
}
}
impl RenderPassFragmentDensityMapCreateInfoEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn fragmentDensityMapAttachment(mut self, fragmentDensityMapAttachment : AttachmentReference) -> Self {
self.fragmentDensityMapAttachment = fragmentDensityMapAttachment;
self
}
}
impl PhysicalDeviceSubgroupSizeControlFeaturesEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn subgroupSizeControl(mut self, subgroupSizeControl : Bool32) -> Self {
self.subgroupSizeControl = subgroupSizeControl;
self
}
pub fn computeFullSubgroups(mut self, computeFullSubgroups : Bool32) -> Self {
self.computeFullSubgroups = computeFullSubgroups;
self
}
}
impl PhysicalDeviceSubgroupSizeControlPropertiesEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn minSubgroupSize(mut self, minSubgroupSize : u32) -> Self {
self.minSubgroupSize = minSubgroupSize;
self
}
pub fn maxSubgroupSize(mut self, maxSubgroupSize : u32) -> Self {
self.maxSubgroupSize = maxSubgroupSize;
self
}
pub fn maxComputeWorkgroupSubgroups(mut self, maxComputeWorkgroupSubgroups : u32) -> Self {
self.maxComputeWorkgroupSubgroups = maxComputeWorkgroupSubgroups;
self
}
pub fn requiredSubgroupSizeStages(mut self, requiredSubgroupSizeStages : ShaderStageFlags) -> Self {
self.requiredSubgroupSizeStages = requiredSubgroupSizeStages;
self
}
}
impl PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn requiredSubgroupSize(mut self, requiredSubgroupSize : u32) -> Self {
self.requiredSubgroupSize = requiredSubgroupSize;
self
}
}
impl PhysicalDeviceShaderCoreProperties2AMD {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn shaderCoreFeatures(mut self, shaderCoreFeatures : ShaderCorePropertiesFlagsAMD) -> Self {
self.shaderCoreFeatures = shaderCoreFeatures;
self
}
pub fn activeComputeUnitCount(mut self, activeComputeUnitCount : u32) -> Self {
self.activeComputeUnitCount = activeComputeUnitCount;
self
}
}
impl PhysicalDeviceCoherentMemoryFeaturesAMD {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn deviceCoherentMemory(mut self, deviceCoherentMemory : Bool32) -> Self {
self.deviceCoherentMemory = deviceCoherentMemory;
self
}
}
impl PhysicalDeviceMemoryBudgetPropertiesEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn heapBudget(mut self, heapBudget : [DeviceSize;MAX_MEMORY_HEAPS]) -> Self {
self.heapBudget = heapBudget;
self
}
pub fn heapUsage(mut self, heapUsage : [DeviceSize;MAX_MEMORY_HEAPS]) -> Self {
self.heapUsage = heapUsage;
self
}
}
impl PhysicalDeviceMemoryPriorityFeaturesEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn memoryPriority(mut self, memoryPriority : Bool32) -> Self {
self.memoryPriority = memoryPriority;
self
}
}
impl MemoryPriorityAllocateInfoEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn priority(mut self, priority : f32) -> Self {
self.priority = priority;
self
}
}
impl PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn dedicatedAllocationImageAliasing(mut self, dedicatedAllocationImageAliasing : Bool32) -> Self {
self.dedicatedAllocationImageAliasing = dedicatedAllocationImageAliasing;
self
}
}
impl PhysicalDeviceBufferDeviceAddressFeaturesEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn bufferDeviceAddress(mut self, bufferDeviceAddress : Bool32) -> Self {
self.bufferDeviceAddress = bufferDeviceAddress;
self
}
pub fn bufferDeviceAddressCaptureReplay(mut self, bufferDeviceAddressCaptureReplay : Bool32) -> Self {
self.bufferDeviceAddressCaptureReplay = bufferDeviceAddressCaptureReplay;
self
}
pub fn bufferDeviceAddressMultiDevice(mut self, bufferDeviceAddressMultiDevice : Bool32) -> Self {
self.bufferDeviceAddressMultiDevice = bufferDeviceAddressMultiDevice;
self
}
}
impl BufferDeviceAddressCreateInfoEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn deviceAddress(mut self, deviceAddress : DeviceAddress) -> Self {
self.deviceAddress = deviceAddress;
self
}
}
impl PhysicalDeviceToolPropertiesEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn name(mut self, name : [i8;MAX_EXTENSION_NAME_SIZE]) -> Self {
self.name = name;
self
}
pub fn version(mut self, version : [i8;MAX_EXTENSION_NAME_SIZE]) -> Self {
self.version = version;
self
}
pub fn purposes(mut self, purposes : ToolPurposeFlagsEXT) -> Self {
self.purposes = purposes;
self
}
pub fn description(mut self, description : [i8;MAX_DESCRIPTION_SIZE]) -> Self {
self.description = description;
self
}
pub fn layer(mut self, layer : [i8;MAX_EXTENSION_NAME_SIZE]) -> Self {
self.layer = layer;
self
}
}
impl ValidationFeaturesEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn enabledValidationFeatureCount(mut self, enabledValidationFeatureCount : u32) -> Self {
self.enabledValidationFeatureCount = enabledValidationFeatureCount;
self
}
pub fn pEnabledValidationFeatures(mut self, pEnabledValidationFeatures : *const ValidationFeatureEnableEXT) -> Self {
self.pEnabledValidationFeatures = pEnabledValidationFeatures;
self
}
pub fn disabledValidationFeatureCount(mut self, disabledValidationFeatureCount : u32) -> Self {
self.disabledValidationFeatureCount = disabledValidationFeatureCount;
self
}
pub fn pDisabledValidationFeatures(mut self, pDisabledValidationFeatures : *const ValidationFeatureDisableEXT) -> Self {
self.pDisabledValidationFeatures = pDisabledValidationFeatures;
self
}
}
impl CooperativeMatrixPropertiesNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn MSize(mut self, MSize : u32) -> Self {
self.MSize = MSize;
self
}
pub fn NSize(mut self, NSize : u32) -> Self {
self.NSize = NSize;
self
}
pub fn KSize(mut self, KSize : u32) -> Self {
self.KSize = KSize;
self
}
pub fn AType(mut self, AType : ComponentTypeNV) -> Self {
self.AType = AType;
self
}
pub fn BType(mut self, BType : ComponentTypeNV) -> Self {
self.BType = BType;
self
}
pub fn CType(mut self, CType : ComponentTypeNV) -> Self {
self.CType = CType;
self
}
pub fn DType(mut self, DType : ComponentTypeNV) -> Self {
self.DType = DType;
self
}
pub fn scope(mut self, scope : ScopeNV) -> Self {
self.scope = scope;
self
}
}
impl PhysicalDeviceCooperativeMatrixFeaturesNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn cooperativeMatrix(mut self, cooperativeMatrix : Bool32) -> Self {
self.cooperativeMatrix = cooperativeMatrix;
self
}
pub fn cooperativeMatrixRobustBufferAccess(mut self, cooperativeMatrixRobustBufferAccess : Bool32) -> Self {
self.cooperativeMatrixRobustBufferAccess = cooperativeMatrixRobustBufferAccess;
self
}
}
impl PhysicalDeviceCooperativeMatrixPropertiesNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn cooperativeMatrixSupportedStages(mut self, cooperativeMatrixSupportedStages : ShaderStageFlags) -> Self {
self.cooperativeMatrixSupportedStages = cooperativeMatrixSupportedStages;
self
}
}
impl PhysicalDeviceCoverageReductionModeFeaturesNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn coverageReductionMode(mut self, coverageReductionMode : Bool32) -> Self {
self.coverageReductionMode = coverageReductionMode;
self
}
}
impl PipelineCoverageReductionStateCreateInfoNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : PipelineCoverageReductionStateCreateFlagsNV) -> Self {
self.flags = flags;
self
}
pub fn coverageReductionMode(mut self, coverageReductionMode : CoverageReductionModeNV) -> Self {
self.coverageReductionMode = coverageReductionMode;
self
}
}
impl FramebufferMixedSamplesCombinationNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn coverageReductionMode(mut self, coverageReductionMode : CoverageReductionModeNV) -> Self {
self.coverageReductionMode = coverageReductionMode;
self
}
pub fn rasterizationSamples(mut self, rasterizationSamples : SampleCountFlagBits) -> Self {
self.rasterizationSamples = rasterizationSamples;
self
}
pub fn depthStencilSamples(mut self, depthStencilSamples : SampleCountFlags) -> Self {
self.depthStencilSamples = depthStencilSamples;
self
}
pub fn colorSamples(mut self, colorSamples : SampleCountFlags) -> Self {
self.colorSamples = colorSamples;
self
}
}
impl PhysicalDeviceFragmentShaderInterlockFeaturesEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn fragmentShaderSampleInterlock(mut self, fragmentShaderSampleInterlock : Bool32) -> Self {
self.fragmentShaderSampleInterlock = fragmentShaderSampleInterlock;
self
}
pub fn fragmentShaderPixelInterlock(mut self, fragmentShaderPixelInterlock : Bool32) -> Self {
self.fragmentShaderPixelInterlock = fragmentShaderPixelInterlock;
self
}
pub fn fragmentShaderShadingRateInterlock(mut self, fragmentShaderShadingRateInterlock : Bool32) -> Self {
self.fragmentShaderShadingRateInterlock = fragmentShaderShadingRateInterlock;
self
}
}
impl PhysicalDeviceYcbcrImageArraysFeaturesEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn ycbcrImageArrays(mut self, ycbcrImageArrays : Bool32) -> Self {
self.ycbcrImageArrays = ycbcrImageArrays;
self
}
}
impl HeadlessSurfaceCreateInfoEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : HeadlessSurfaceCreateFlagsEXT) -> Self {
self.flags = flags;
self
}
}
impl PhysicalDeviceLineRasterizationFeaturesEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn rectangularLines(mut self, rectangularLines : Bool32) -> Self {
self.rectangularLines = rectangularLines;
self
}
pub fn bresenhamLines(mut self, bresenhamLines : Bool32) -> Self {
self.bresenhamLines = bresenhamLines;
self
}
pub fn smoothLines(mut self, smoothLines : Bool32) -> Self {
self.smoothLines = smoothLines;
self
}
pub fn stippledRectangularLines(mut self, stippledRectangularLines : Bool32) -> Self {
self.stippledRectangularLines = stippledRectangularLines;
self
}
pub fn stippledBresenhamLines(mut self, stippledBresenhamLines : Bool32) -> Self {
self.stippledBresenhamLines = stippledBresenhamLines;
self
}
pub fn stippledSmoothLines(mut self, stippledSmoothLines : Bool32) -> Self {
self.stippledSmoothLines = stippledSmoothLines;
self
}
}
impl PhysicalDeviceLineRasterizationPropertiesEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn lineSubPixelPrecisionBits(mut self, lineSubPixelPrecisionBits : u32) -> Self {
self.lineSubPixelPrecisionBits = lineSubPixelPrecisionBits;
self
}
}
impl PipelineRasterizationLineStateCreateInfoEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn lineRasterizationMode(mut self, lineRasterizationMode : LineRasterizationModeEXT) -> Self {
self.lineRasterizationMode = lineRasterizationMode;
self
}
pub fn stippledLineEnable(mut self, stippledLineEnable : Bool32) -> Self {
self.stippledLineEnable = stippledLineEnable;
self
}
pub fn lineStippleFactor(mut self, lineStippleFactor : u32) -> Self {
self.lineStippleFactor = lineStippleFactor;
self
}
pub fn lineStipplePattern(mut self, lineStipplePattern : u16) -> Self {
self.lineStipplePattern = lineStipplePattern;
self
}
}
impl PhysicalDeviceIndexTypeUint8FeaturesEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn indexTypeUint8(mut self, indexTypeUint8 : Bool32) -> Self {
self.indexTypeUint8 = indexTypeUint8;
self
}
}
impl PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn shaderDemoteToHelperInvocation(mut self, shaderDemoteToHelperInvocation : Bool32) -> Self {
self.shaderDemoteToHelperInvocation = shaderDemoteToHelperInvocation;
self
}
}
impl PhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn maxGraphicsShaderGroupCount(mut self, maxGraphicsShaderGroupCount : u32) -> Self {
self.maxGraphicsShaderGroupCount = maxGraphicsShaderGroupCount;
self
}
pub fn maxIndirectSequenceCount(mut self, maxIndirectSequenceCount : u32) -> Self {
self.maxIndirectSequenceCount = maxIndirectSequenceCount;
self
}
pub fn maxIndirectCommandsTokenCount(mut self, maxIndirectCommandsTokenCount : u32) -> Self {
self.maxIndirectCommandsTokenCount = maxIndirectCommandsTokenCount;
self
}
pub fn maxIndirectCommandsStreamCount(mut self, maxIndirectCommandsStreamCount : u32) -> Self {
self.maxIndirectCommandsStreamCount = maxIndirectCommandsStreamCount;
self
}
pub fn maxIndirectCommandsTokenOffset(mut self, maxIndirectCommandsTokenOffset : u32) -> Self {
self.maxIndirectCommandsTokenOffset = maxIndirectCommandsTokenOffset;
self
}
pub fn maxIndirectCommandsStreamStride(mut self, maxIndirectCommandsStreamStride : u32) -> Self {
self.maxIndirectCommandsStreamStride = maxIndirectCommandsStreamStride;
self
}
pub fn minSequencesCountBufferOffsetAlignment(mut self, minSequencesCountBufferOffsetAlignment : u32) -> Self {
self.minSequencesCountBufferOffsetAlignment = minSequencesCountBufferOffsetAlignment;
self
}
pub fn minSequencesIndexBufferOffsetAlignment(mut self, minSequencesIndexBufferOffsetAlignment : u32) -> Self {
self.minSequencesIndexBufferOffsetAlignment = minSequencesIndexBufferOffsetAlignment;
self
}
pub fn minIndirectCommandsBufferOffsetAlignment(mut self, minIndirectCommandsBufferOffsetAlignment : u32) -> Self {
self.minIndirectCommandsBufferOffsetAlignment = minIndirectCommandsBufferOffsetAlignment;
self
}
}
impl PhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn deviceGeneratedCommands(mut self, deviceGeneratedCommands : Bool32) -> Self {
self.deviceGeneratedCommands = deviceGeneratedCommands;
self
}
}
impl GraphicsShaderGroupCreateInfoNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn stageCount(mut self, stageCount : u32) -> Self {
self.stageCount = stageCount;
self
}
pub fn pStages(mut self, pStages : *const PipelineShaderStageCreateInfo) -> Self {
self.pStages = pStages;
self
}
pub fn pVertexInputState(mut self, pVertexInputState : *const PipelineVertexInputStateCreateInfo) -> Self {
self.pVertexInputState = pVertexInputState;
self
}
pub fn pTessellationState(mut self, pTessellationState : *const PipelineTessellationStateCreateInfo) -> Self {
self.pTessellationState = pTessellationState;
self
}
}
impl GraphicsPipelineShaderGroupsCreateInfoNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn groupCount(mut self, groupCount : u32) -> Self {
self.groupCount = groupCount;
self
}
pub fn pGroups(mut self, pGroups : *const GraphicsShaderGroupCreateInfoNV) -> Self {
self.pGroups = pGroups;
self
}
pub fn pipelineCount(mut self, pipelineCount : u32) -> Self {
self.pipelineCount = pipelineCount;
self
}
pub fn pPipelines(mut self, pPipelines : *const Pipeline) -> Self {
self.pPipelines = pPipelines;
self
}
}
impl BindShaderGroupIndirectCommandNV {
pub fn new() -> Self {
Self::default()
}
pub fn groupIndex(mut self, groupIndex : u32) -> Self {
self.groupIndex = groupIndex;
self
}
}
impl BindIndexBufferIndirectCommandNV {
pub fn new() -> Self {
Self::default()
}
pub fn bufferAddress(mut self, bufferAddress : DeviceAddress) -> Self {
self.bufferAddress = bufferAddress;
self
}
pub fn size(mut self, size : u32) -> Self {
self.size = size;
self
}
pub fn indexType(mut self, indexType : IndexType) -> Self {
self.indexType = indexType;
self
}
}
impl BindVertexBufferIndirectCommandNV {
pub fn new() -> Self {
Self::default()
}
pub fn bufferAddress(mut self, bufferAddress : DeviceAddress) -> Self {
self.bufferAddress = bufferAddress;
self
}
pub fn size(mut self, size : u32) -> Self {
self.size = size;
self
}
pub fn stride(mut self, stride : u32) -> Self {
self.stride = stride;
self
}
}
impl SetStateFlagsIndirectCommandNV {
pub fn new() -> Self {
Self::default()
}
pub fn data(mut self, data : u32) -> Self {
self.data = data;
self
}
}
impl IndirectCommandsStreamNV {
pub fn new() -> Self {
Self::default()
}
pub fn buffer(mut self, buffer : Buffer) -> Self {
self.buffer = buffer;
self
}
pub fn offset(mut self, offset : DeviceSize) -> Self {
self.offset = offset;
self
}
}
impl IndirectCommandsLayoutTokenNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn tokenType(mut self, tokenType : IndirectCommandsTokenTypeNV) -> Self {
self.tokenType = tokenType;
self
}
pub fn stream(mut self, stream : u32) -> Self {
self.stream = stream;
self
}
pub fn offset(mut self, offset : u32) -> Self {
self.offset = offset;
self
}
pub fn vertexBindingUnit(mut self, vertexBindingUnit : u32) -> Self {
self.vertexBindingUnit = vertexBindingUnit;
self
}
pub fn vertexDynamicStride(mut self, vertexDynamicStride : Bool32) -> Self {
self.vertexDynamicStride = vertexDynamicStride;
self
}
pub fn pushconstantPipelineLayout(mut self, pushconstantPipelineLayout : PipelineLayout) -> Self {
self.pushconstantPipelineLayout = pushconstantPipelineLayout;
self
}
pub fn pushconstantShaderStageFlags(mut self, pushconstantShaderStageFlags : ShaderStageFlags) -> Self {
self.pushconstantShaderStageFlags = pushconstantShaderStageFlags;
self
}
pub fn pushconstantOffset(mut self, pushconstantOffset : u32) -> Self {
self.pushconstantOffset = pushconstantOffset;
self
}
pub fn pushconstantSize(mut self, pushconstantSize : u32) -> Self {
self.pushconstantSize = pushconstantSize;
self
}
pub fn indirectStateFlags(mut self, indirectStateFlags : IndirectStateFlagsNV) -> Self {
self.indirectStateFlags = indirectStateFlags;
self
}
pub fn indexTypeCount(mut self, indexTypeCount : u32) -> Self {
self.indexTypeCount = indexTypeCount;
self
}
pub fn pIndexTypes(mut self, pIndexTypes : *const IndexType) -> Self {
self.pIndexTypes = pIndexTypes;
self
}
pub fn pIndexTypeValues(mut self, pIndexTypeValues : *const u32) -> Self {
self.pIndexTypeValues = pIndexTypeValues;
self
}
}
impl IndirectCommandsLayoutCreateInfoNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : IndirectCommandsLayoutUsageFlagsNV) -> Self {
self.flags = flags;
self
}
pub fn pipelineBindPoint(mut self, pipelineBindPoint : PipelineBindPoint) -> Self {
self.pipelineBindPoint = pipelineBindPoint;
self
}
pub fn tokenCount(mut self, tokenCount : u32) -> Self {
self.tokenCount = tokenCount;
self
}
pub fn pTokens(mut self, pTokens : *const IndirectCommandsLayoutTokenNV) -> Self {
self.pTokens = pTokens;
self
}
pub fn streamCount(mut self, streamCount : u32) -> Self {
self.streamCount = streamCount;
self
}
pub fn pStreamStrides(mut self, pStreamStrides : *const u32) -> Self {
self.pStreamStrides = pStreamStrides;
self
}
}
impl GeneratedCommandsInfoNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn pipelineBindPoint(mut self, pipelineBindPoint : PipelineBindPoint) -> Self {
self.pipelineBindPoint = pipelineBindPoint;
self
}
pub fn pipeline(mut self, pipeline : Pipeline) -> Self {
self.pipeline = pipeline;
self
}
pub fn indirectCommandsLayout(mut self, indirectCommandsLayout : IndirectCommandsLayoutNV) -> Self {
self.indirectCommandsLayout = indirectCommandsLayout;
self
}
pub fn streamCount(mut self, streamCount : u32) -> Self {
self.streamCount = streamCount;
self
}
pub fn pStreams(mut self, pStreams : *const IndirectCommandsStreamNV) -> Self {
self.pStreams = pStreams;
self
}
pub fn sequencesCount(mut self, sequencesCount : u32) -> Self {
self.sequencesCount = sequencesCount;
self
}
pub fn preprocessBuffer(mut self, preprocessBuffer : Buffer) -> Self {
self.preprocessBuffer = preprocessBuffer;
self
}
pub fn preprocessOffset(mut self, preprocessOffset : DeviceSize) -> Self {
self.preprocessOffset = preprocessOffset;
self
}
pub fn preprocessSize(mut self, preprocessSize : DeviceSize) -> Self {
self.preprocessSize = preprocessSize;
self
}
pub fn sequencesCountBuffer(mut self, sequencesCountBuffer : Buffer) -> Self {
self.sequencesCountBuffer = sequencesCountBuffer;
self
}
pub fn sequencesCountOffset(mut self, sequencesCountOffset : DeviceSize) -> Self {
self.sequencesCountOffset = sequencesCountOffset;
self
}
pub fn sequencesIndexBuffer(mut self, sequencesIndexBuffer : Buffer) -> Self {
self.sequencesIndexBuffer = sequencesIndexBuffer;
self
}
pub fn sequencesIndexOffset(mut self, sequencesIndexOffset : DeviceSize) -> Self {
self.sequencesIndexOffset = sequencesIndexOffset;
self
}
}
impl GeneratedCommandsMemoryRequirementsInfoNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn pipelineBindPoint(mut self, pipelineBindPoint : PipelineBindPoint) -> Self {
self.pipelineBindPoint = pipelineBindPoint;
self
}
pub fn pipeline(mut self, pipeline : Pipeline) -> Self {
self.pipeline = pipeline;
self
}
pub fn indirectCommandsLayout(mut self, indirectCommandsLayout : IndirectCommandsLayoutNV) -> Self {
self.indirectCommandsLayout = indirectCommandsLayout;
self
}
pub fn maxSequencesCount(mut self, maxSequencesCount : u32) -> Self {
self.maxSequencesCount = maxSequencesCount;
self
}
}
impl PhysicalDeviceTexelBufferAlignmentFeaturesEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn texelBufferAlignment(mut self, texelBufferAlignment : Bool32) -> Self {
self.texelBufferAlignment = texelBufferAlignment;
self
}
}
impl PhysicalDeviceTexelBufferAlignmentPropertiesEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn storageTexelBufferOffsetAlignmentBytes(mut self, storageTexelBufferOffsetAlignmentBytes : DeviceSize) -> Self {
self.storageTexelBufferOffsetAlignmentBytes = storageTexelBufferOffsetAlignmentBytes;
self
}
pub fn storageTexelBufferOffsetSingleTexelAlignment(mut self, storageTexelBufferOffsetSingleTexelAlignment : Bool32) -> Self {
self.storageTexelBufferOffsetSingleTexelAlignment = storageTexelBufferOffsetSingleTexelAlignment;
self
}
pub fn uniformTexelBufferOffsetAlignmentBytes(mut self, uniformTexelBufferOffsetAlignmentBytes : DeviceSize) -> Self {
self.uniformTexelBufferOffsetAlignmentBytes = uniformTexelBufferOffsetAlignmentBytes;
self
}
pub fn uniformTexelBufferOffsetSingleTexelAlignment(mut self, uniformTexelBufferOffsetSingleTexelAlignment : Bool32) -> Self {
self.uniformTexelBufferOffsetSingleTexelAlignment = uniformTexelBufferOffsetSingleTexelAlignment;
self
}
}
impl RenderPassTransformBeginInfoQCOM {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn transform(mut self, transform : SurfaceTransformFlagBitsKHR) -> Self {
self.transform = transform;
self
}
}
impl CommandBufferInheritanceRenderPassTransformInfoQCOM {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn transform(mut self, transform : SurfaceTransformFlagBitsKHR) -> Self {
self.transform = transform;
self
}
pub fn renderArea(mut self, renderArea : Rect2D) -> Self {
self.renderArea = renderArea;
self
}
}
impl PhysicalDeviceRobustness2FeaturesEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn robustBufferAccess2(mut self, robustBufferAccess2 : Bool32) -> Self {
self.robustBufferAccess2 = robustBufferAccess2;
self
}
pub fn robustImageAccess2(mut self, robustImageAccess2 : Bool32) -> Self {
self.robustImageAccess2 = robustImageAccess2;
self
}
pub fn nullDescriptor(mut self, nullDescriptor : Bool32) -> Self {
self.nullDescriptor = nullDescriptor;
self
}
}
impl PhysicalDeviceRobustness2PropertiesEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn robustStorageBufferAccessSizeAlignment(mut self, robustStorageBufferAccessSizeAlignment : DeviceSize) -> Self {
self.robustStorageBufferAccessSizeAlignment = robustStorageBufferAccessSizeAlignment;
self
}
pub fn robustUniformBufferAccessSizeAlignment(mut self, robustUniformBufferAccessSizeAlignment : DeviceSize) -> Self {
self.robustUniformBufferAccessSizeAlignment = robustUniformBufferAccessSizeAlignment;
self
}
}
impl SamplerCustomBorderColorCreateInfoEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn customBorderColor(mut self, customBorderColor : ClearColorValue) -> Self {
self.customBorderColor = customBorderColor;
self
}
pub fn format(mut self, format : Format) -> Self {
self.format = format;
self
}
}
impl PhysicalDeviceCustomBorderColorPropertiesEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn maxCustomBorderColorSamplers(mut self, maxCustomBorderColorSamplers : u32) -> Self {
self.maxCustomBorderColorSamplers = maxCustomBorderColorSamplers;
self
}
}
impl PhysicalDeviceCustomBorderColorFeaturesEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn customBorderColors(mut self, customBorderColors : Bool32) -> Self {
self.customBorderColors = customBorderColors;
self
}
pub fn customBorderColorWithoutFormat(mut self, customBorderColorWithoutFormat : Bool32) -> Self {
self.customBorderColorWithoutFormat = customBorderColorWithoutFormat;
self
}
}
impl PhysicalDevicePrivateDataFeaturesEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn privateData(mut self, privateData : Bool32) -> Self {
self.privateData = privateData;
self
}
}
impl DevicePrivateDataCreateInfoEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn privateDataSlotRequestCount(mut self, privateDataSlotRequestCount : u32) -> Self {
self.privateDataSlotRequestCount = privateDataSlotRequestCount;
self
}
}
impl PrivateDataSlotCreateInfoEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : PrivateDataSlotCreateFlagsEXT) -> Self {
self.flags = flags;
self
}
}
impl PhysicalDevicePipelineCreationCacheControlFeaturesEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn pipelineCreationCacheControl(mut self, pipelineCreationCacheControl : Bool32) -> Self {
self.pipelineCreationCacheControl = pipelineCreationCacheControl;
self
}
}
impl PhysicalDeviceDiagnosticsConfigFeaturesNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn diagnosticsConfig(mut self, diagnosticsConfig : Bool32) -> Self {
self.diagnosticsConfig = diagnosticsConfig;
self
}
}
impl DeviceDiagnosticsConfigCreateInfoNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : DeviceDiagnosticsConfigFlagsNV) -> Self {
self.flags = flags;
self
}
}
impl Win32SurfaceCreateInfoKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : Win32SurfaceCreateFlagsKHR) -> Self {
self.flags = flags;
self
}
pub fn hinstance(mut self, hinstance : HINSTANCE) -> Self {
self.hinstance = hinstance;
self
}
pub fn hwnd(mut self, hwnd : HWND) -> Self {
self.hwnd = hwnd;
self
}
}
impl ImportMemoryWin32HandleInfoKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn handleType(mut self, handleType : ExternalMemoryHandleTypeFlagBits) -> Self {
self.handleType = handleType;
self
}
pub fn handle(mut self, handle : HANDLE) -> Self {
self.handle = handle;
self
}
pub fn name(mut self, name : LPCWSTR) -> Self {
self.name = name;
self
}
}
impl ExportMemoryWin32HandleInfoKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn pAttributes(mut self, pAttributes : LPSECURITY_ATTRIBUTES) -> Self {
self.pAttributes = pAttributes;
self
}
pub fn dwAccess(mut self, dwAccess : DWORD) -> Self {
self.dwAccess = dwAccess;
self
}
pub fn name(mut self, name : LPCWSTR) -> Self {
self.name = name;
self
}
}
impl MemoryWin32HandlePropertiesKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn memoryTypeBits(mut self, memoryTypeBits : u32) -> Self {
self.memoryTypeBits = memoryTypeBits;
self
}
}
impl MemoryGetWin32HandleInfoKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn memory(mut self, memory : DeviceMemory) -> Self {
self.memory = memory;
self
}
pub fn handleType(mut self, handleType : ExternalMemoryHandleTypeFlagBits) -> Self {
self.handleType = handleType;
self
}
}
impl Win32KeyedMutexAcquireReleaseInfoKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn acquireCount(mut self, acquireCount : u32) -> Self {
self.acquireCount = acquireCount;
self
}
pub fn pAcquireSyncs(mut self, pAcquireSyncs : *const DeviceMemory) -> Self {
self.pAcquireSyncs = pAcquireSyncs;
self
}
pub fn pAcquireKeys(mut self, pAcquireKeys : *const u64) -> Self {
self.pAcquireKeys = pAcquireKeys;
self
}
pub fn pAcquireTimeouts(mut self, pAcquireTimeouts : *const u32) -> Self {
self.pAcquireTimeouts = pAcquireTimeouts;
self
}
pub fn releaseCount(mut self, releaseCount : u32) -> Self {
self.releaseCount = releaseCount;
self
}
pub fn pReleaseSyncs(mut self, pReleaseSyncs : *const DeviceMemory) -> Self {
self.pReleaseSyncs = pReleaseSyncs;
self
}
pub fn pReleaseKeys(mut self, pReleaseKeys : *const u64) -> Self {
self.pReleaseKeys = pReleaseKeys;
self
}
}
impl ImportSemaphoreWin32HandleInfoKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn semaphore(mut self, semaphore : Semaphore) -> Self {
self.semaphore = semaphore;
self
}
pub fn flags(mut self, flags : SemaphoreImportFlags) -> Self {
self.flags = flags;
self
}
pub fn handleType(mut self, handleType : ExternalSemaphoreHandleTypeFlagBits) -> Self {
self.handleType = handleType;
self
}
pub fn handle(mut self, handle : HANDLE) -> Self {
self.handle = handle;
self
}
pub fn name(mut self, name : LPCWSTR) -> Self {
self.name = name;
self
}
}
impl ExportSemaphoreWin32HandleInfoKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn pAttributes(mut self, pAttributes : LPSECURITY_ATTRIBUTES) -> Self {
self.pAttributes = pAttributes;
self
}
pub fn dwAccess(mut self, dwAccess : DWORD) -> Self {
self.dwAccess = dwAccess;
self
}
pub fn name(mut self, name : LPCWSTR) -> Self {
self.name = name;
self
}
}
impl D3D12FenceSubmitInfoKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn waitSemaphoreValuesCount(mut self, waitSemaphoreValuesCount : u32) -> Self {
self.waitSemaphoreValuesCount = waitSemaphoreValuesCount;
self
}
pub fn pWaitSemaphoreValues(mut self, pWaitSemaphoreValues : *const u64) -> Self {
self.pWaitSemaphoreValues = pWaitSemaphoreValues;
self
}
pub fn signalSemaphoreValuesCount(mut self, signalSemaphoreValuesCount : u32) -> Self {
self.signalSemaphoreValuesCount = signalSemaphoreValuesCount;
self
}
pub fn pSignalSemaphoreValues(mut self, pSignalSemaphoreValues : *const u64) -> Self {
self.pSignalSemaphoreValues = pSignalSemaphoreValues;
self
}
}
impl SemaphoreGetWin32HandleInfoKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn semaphore(mut self, semaphore : Semaphore) -> Self {
self.semaphore = semaphore;
self
}
pub fn handleType(mut self, handleType : ExternalSemaphoreHandleTypeFlagBits) -> Self {
self.handleType = handleType;
self
}
}
impl ImportFenceWin32HandleInfoKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn fence(mut self, fence : Fence) -> Self {
self.fence = fence;
self
}
pub fn flags(mut self, flags : FenceImportFlags) -> Self {
self.flags = flags;
self
}
pub fn handleType(mut self, handleType : ExternalFenceHandleTypeFlagBits) -> Self {
self.handleType = handleType;
self
}
pub fn handle(mut self, handle : HANDLE) -> Self {
self.handle = handle;
self
}
pub fn name(mut self, name : LPCWSTR) -> Self {
self.name = name;
self
}
}
impl ExportFenceWin32HandleInfoKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn pAttributes(mut self, pAttributes : LPSECURITY_ATTRIBUTES) -> Self {
self.pAttributes = pAttributes;
self
}
pub fn dwAccess(mut self, dwAccess : DWORD) -> Self {
self.dwAccess = dwAccess;
self
}
pub fn name(mut self, name : LPCWSTR) -> Self {
self.name = name;
self
}
}
impl FenceGetWin32HandleInfoKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn fence(mut self, fence : Fence) -> Self {
self.fence = fence;
self
}
pub fn handleType(mut self, handleType : ExternalFenceHandleTypeFlagBits) -> Self {
self.handleType = handleType;
self
}
}
impl ImportMemoryWin32HandleInfoNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn handleType(mut self, handleType : ExternalMemoryHandleTypeFlagsNV) -> Self {
self.handleType = handleType;
self
}
pub fn handle(mut self, handle : HANDLE) -> Self {
self.handle = handle;
self
}
}
impl ExportMemoryWin32HandleInfoNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn pAttributes(mut self, pAttributes : LPSECURITY_ATTRIBUTES) -> Self {
self.pAttributes = pAttributes;
self
}
pub fn dwAccess(mut self, dwAccess : DWORD) -> Self {
self.dwAccess = dwAccess;
self
}
}
impl Win32KeyedMutexAcquireReleaseInfoNV {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn acquireCount(mut self, acquireCount : u32) -> Self {
self.acquireCount = acquireCount;
self
}
pub fn pAcquireSyncs(mut self, pAcquireSyncs : *const DeviceMemory) -> Self {
self.pAcquireSyncs = pAcquireSyncs;
self
}
pub fn pAcquireKeys(mut self, pAcquireKeys : *const u64) -> Self {
self.pAcquireKeys = pAcquireKeys;
self
}
pub fn pAcquireTimeoutMilliseconds(mut self, pAcquireTimeoutMilliseconds : *const u32) -> Self {
self.pAcquireTimeoutMilliseconds = pAcquireTimeoutMilliseconds;
self
}
pub fn releaseCount(mut self, releaseCount : u32) -> Self {
self.releaseCount = releaseCount;
self
}
pub fn pReleaseSyncs(mut self, pReleaseSyncs : *const DeviceMemory) -> Self {
self.pReleaseSyncs = pReleaseSyncs;
self
}
pub fn pReleaseKeys(mut self, pReleaseKeys : *const u64) -> Self {
self.pReleaseKeys = pReleaseKeys;
self
}
}
impl SurfaceFullScreenExclusiveInfoEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn fullScreenExclusive(mut self, fullScreenExclusive : FullScreenExclusiveEXT) -> Self {
self.fullScreenExclusive = fullScreenExclusive;
self
}
}
impl SurfaceCapabilitiesFullScreenExclusiveEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn fullScreenExclusiveSupported(mut self, fullScreenExclusiveSupported : Bool32) -> Self {
self.fullScreenExclusiveSupported = fullScreenExclusiveSupported;
self
}
}
impl SurfaceFullScreenExclusiveWin32InfoEXT {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn hmonitor(mut self, hmonitor : HMONITOR) -> Self {
self.hmonitor = hmonitor;
self
}
}
impl XlibSurfaceCreateInfoKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : XlibSurfaceCreateFlagsKHR) -> Self {
self.flags = flags;
self
}
pub fn dpy(mut self, dpy : u64) -> Self {
self.dpy = dpy;
self
}
pub fn window(mut self, window : u64) -> Self {
self.window = window;
self
}
}
impl XcbSurfaceCreateInfoKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : XcbSurfaceCreateFlagsKHR) -> Self {
self.flags = flags;
self
}
pub fn connection(mut self, connection : u64) -> Self {
self.connection = connection;
self
}
pub fn window(mut self, window : u64) -> Self {
self.window = window;
self
}
}
impl WaylandSurfaceCreateInfoKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : WaylandSurfaceCreateFlagsKHR) -> Self {
self.flags = flags;
self
}
pub fn display(mut self, display : u64) -> Self {
self.display = display;
self
}
pub fn surface(mut self, surface : u64) -> Self {
self.surface = surface;
self
}
}
impl AndroidSurfaceCreateInfoKHR {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn flags(mut self, flags : AndroidSurfaceCreateFlagsKHR) -> Self {
self.flags = flags;
self
}
pub fn window(mut self, window : u64) -> Self {
self.window = window;
self
}
}
impl AndroidHardwareBufferUsageANDROID {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn androidHardwareBufferUsage(mut self, androidHardwareBufferUsage : u64) -> Self {
self.androidHardwareBufferUsage = androidHardwareBufferUsage;
self
}
}
impl AndroidHardwareBufferPropertiesANDROID {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn allocationSize(mut self, allocationSize : DeviceSize) -> Self {
self.allocationSize = allocationSize;
self
}
pub fn memoryTypeBits(mut self, memoryTypeBits : u32) -> Self {
self.memoryTypeBits = memoryTypeBits;
self
}
}
impl AndroidHardwareBufferFormatPropertiesANDROID {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn format(mut self, format : Format) -> Self {
self.format = format;
self
}
pub fn externalFormat(mut self, externalFormat : u64) -> Self {
self.externalFormat = externalFormat;
self
}
pub fn formatFeatures(mut self, formatFeatures : FormatFeatureFlags) -> Self {
self.formatFeatures = formatFeatures;
self
}
pub fn samplerYcbcrConversionComponents(mut self, samplerYcbcrConversionComponents : ComponentMapping) -> Self {
self.samplerYcbcrConversionComponents = samplerYcbcrConversionComponents;
self
}
pub fn suggestedYcbcrModel(mut self, suggestedYcbcrModel : SamplerYcbcrModelConversion) -> Self {
self.suggestedYcbcrModel = suggestedYcbcrModel;
self
}
pub fn suggestedYcbcrRange(mut self, suggestedYcbcrRange : SamplerYcbcrRange) -> Self {
self.suggestedYcbcrRange = suggestedYcbcrRange;
self
}
pub fn suggestedXChromaOffset(mut self, suggestedXChromaOffset : ChromaLocation) -> Self {
self.suggestedXChromaOffset = suggestedXChromaOffset;
self
}
pub fn suggestedYChromaOffset(mut self, suggestedYChromaOffset : ChromaLocation) -> Self {
self.suggestedYChromaOffset = suggestedYChromaOffset;
self
}
}
impl ImportAndroidHardwareBufferInfoANDROID {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn buffer(mut self, buffer : u64) -> Self {
self.buffer = buffer;
self
}
}
impl MemoryGetAndroidHardwareBufferInfoANDROID {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *const void) -> Self {
self.pNext = pNext;
self
}
pub fn memory(mut self, memory : DeviceMemory) -> Self {
self.memory = memory;
self
}
}
impl ExternalFormatANDROID {
pub fn new() -> Self {
Self::default()
}
pub fn sType(mut self, sType : StructureType) -> Self {
self.sType = sType;
self
}
pub fn pNext(mut self, pNext : *mut void) -> Self {
self.pNext = pNext;
self
}
pub fn externalFormat(mut self, externalFormat : u64) -> Self {
self.externalFormat = externalFormat;
self
}
}