#![allow(
non_camel_case_types,
non_snake_case,
clippy::bad_bit_mask,
clippy::let_unit_value,
clippy::missing_safety_doc,
clippy::too_many_arguments,
clippy::type_complexity,
clippy::unnecessary_cast,
clippy::upper_case_acronyms,
clippy::useless_transmute
)]
use bitflags::bitflags;
use crate::{Flags, Flags64};
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct AccelerationStructureCreateFlagsKHR: Flags {
const DEVICE_ADDRESS_CAPTURE_REPLAY = 1;
const MOTION_NV = 1 << 2;
const DESCRIPTOR_BUFFER_CAPTURE_REPLAY_EXT = 1 << 3;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct AccelerationStructureMotionInfoFlagsNV: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct AccelerationStructureMotionInstanceFlagsNV: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct AccessFlags: Flags {
const INDIRECT_COMMAND_READ = 1;
const INDEX_READ = 1 << 1;
const VERTEX_ATTRIBUTE_READ = 1 << 2;
const UNIFORM_READ = 1 << 3;
const INPUT_ATTACHMENT_READ = 1 << 4;
const SHADER_READ = 1 << 5;
const SHADER_WRITE = 1 << 6;
const COLOR_ATTACHMENT_READ = 1 << 7;
const COLOR_ATTACHMENT_WRITE = 1 << 8;
const DEPTH_STENCIL_ATTACHMENT_READ = 1 << 9;
const DEPTH_STENCIL_ATTACHMENT_WRITE = 1 << 10;
const TRANSFER_READ = 1 << 11;
const TRANSFER_WRITE = 1 << 12;
const HOST_READ = 1 << 13;
const HOST_WRITE = 1 << 14;
const MEMORY_READ = 1 << 15;
const MEMORY_WRITE = 1 << 16;
const COMMAND_PREPROCESS_READ_NV = 1 << 17;
const COMMAND_PREPROCESS_WRITE_NV = 1 << 18;
const COLOR_ATTACHMENT_READ_NONCOHERENT_EXT = 1 << 19;
const CONDITIONAL_RENDERING_READ_EXT = 1 << 20;
const ACCELERATION_STRUCTURE_READ_KHR = 1 << 21;
const ACCELERATION_STRUCTURE_WRITE_KHR = 1 << 22;
const FRAGMENT_SHADING_RATE_ATTACHMENT_READ_KHR = 1 << 23;
const FRAGMENT_DENSITY_MAP_READ_EXT = 1 << 24;
const TRANSFORM_FEEDBACK_WRITE_EXT = 1 << 25;
const TRANSFORM_FEEDBACK_COUNTER_READ_EXT = 1 << 26;
const TRANSFORM_FEEDBACK_COUNTER_WRITE_EXT = 1 << 27;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct AccessFlags2: Flags64 {
const NONE = 0;
const INDIRECT_COMMAND_READ = 1;
const INDEX_READ = 1 << 1;
const VERTEX_ATTRIBUTE_READ = 1 << 2;
const UNIFORM_READ = 1 << 3;
const INPUT_ATTACHMENT_READ = 1 << 4;
const SHADER_READ = 1 << 5;
const SHADER_WRITE = 1 << 6;
const COLOR_ATTACHMENT_READ = 1 << 7;
const COLOR_ATTACHMENT_WRITE = 1 << 8;
const DEPTH_STENCIL_ATTACHMENT_READ = 1 << 9;
const DEPTH_STENCIL_ATTACHMENT_WRITE = 1 << 10;
const TRANSFER_READ = 1 << 11;
const TRANSFER_WRITE = 1 << 12;
const HOST_READ = 1 << 13;
const HOST_WRITE = 1 << 14;
const MEMORY_READ = 1 << 15;
const MEMORY_WRITE = 1 << 16;
const COMMAND_PREPROCESS_READ_NV = 1 << 17;
const COMMAND_PREPROCESS_WRITE_NV = 1 << 18;
const COLOR_ATTACHMENT_READ_NONCOHERENT_EXT = 1 << 19;
const CONDITIONAL_RENDERING_READ_EXT = 1 << 20;
const ACCELERATION_STRUCTURE_READ_KHR = 1 << 21;
const ACCELERATION_STRUCTURE_WRITE_KHR = 1 << 22;
const FRAGMENT_SHADING_RATE_ATTACHMENT_READ_KHR = 1 << 23;
const FRAGMENT_DENSITY_MAP_READ_EXT = 1 << 24;
const TRANSFORM_FEEDBACK_WRITE_EXT = 1 << 25;
const TRANSFORM_FEEDBACK_COUNTER_READ_EXT = 1 << 26;
const TRANSFORM_FEEDBACK_COUNTER_WRITE_EXT = 1 << 27;
const SHADER_SAMPLED_READ = 1 << 32;
const SHADER_STORAGE_READ = 1 << 33;
const SHADER_STORAGE_WRITE = 1 << 34;
const INVOCATION_MASK_READ_HUAWEI = 1 << 39;
const SHADER_BINDING_TABLE_READ_KHR = 1 << 40;
const DESCRIPTOR_BUFFER_READ_EXT = 1 << 41;
const OPTICAL_FLOW_READ_NV = 1 << 42;
const OPTICAL_FLOW_WRITE_NV = 1 << 43;
const MICROMAP_READ_EXT = 1 << 44;
const MICROMAP_WRITE_EXT = 1 << 45;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct AcquireProfilingLockFlagsKHR: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct AndroidSurfaceCreateFlagsKHR: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct AttachmentDescriptionFlags: Flags {
const MAY_ALIAS = 1;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct BufferCreateFlags: Flags {
const SPARSE_BINDING = 1;
const SPARSE_RESIDENCY = 1 << 1;
const SPARSE_ALIASED = 1 << 2;
const PROTECTED = 1 << 3;
const DEVICE_ADDRESS_CAPTURE_REPLAY = 1 << 4;
const DESCRIPTOR_BUFFER_CAPTURE_REPLAY_EXT = 1 << 5;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct BufferUsageFlags: Flags {
const TRANSFER_SRC = 1;
const TRANSFER_DST = 1 << 1;
const UNIFORM_TEXEL_BUFFER = 1 << 2;
const STORAGE_TEXEL_BUFFER = 1 << 3;
const UNIFORM_BUFFER = 1 << 4;
const STORAGE_BUFFER = 1 << 5;
const INDEX_BUFFER = 1 << 6;
const VERTEX_BUFFER = 1 << 7;
const INDIRECT_BUFFER = 1 << 8;
const CONDITIONAL_RENDERING_EXT = 1 << 9;
const SHADER_BINDING_TABLE_KHR = 1 << 10;
const TRANSFORM_FEEDBACK_BUFFER_EXT = 1 << 11;
const TRANSFORM_FEEDBACK_COUNTER_BUFFER_EXT = 1 << 12;
const SHADER_DEVICE_ADDRESS = 1 << 17;
const ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_KHR = 1 << 19;
const ACCELERATION_STRUCTURE_STORAGE_KHR = 1 << 20;
const SAMPLER_DESCRIPTOR_BUFFER_EXT = 1 << 21;
const RESOURCE_DESCRIPTOR_BUFFER_EXT = 1 << 22;
const MICROMAP_BUILD_INPUT_READ_ONLY_EXT = 1 << 23;
const MICROMAP_STORAGE_EXT = 1 << 24;
const EXECUTION_GRAPH_SCRATCH_AMDX = 1 << 25;
const PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_EXT = 1 << 26;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct BufferUsageFlags2KHR: Flags {
const TRANSFER_SRC = 1;
const TRANSFER_DST = 1 << 1;
const UNIFORM_TEXEL_BUFFER = 1 << 2;
const STORAGE_TEXEL_BUFFER = 1 << 3;
const UNIFORM_BUFFER = 1 << 4;
const STORAGE_BUFFER = 1 << 5;
const INDEX_BUFFER = 1 << 6;
const VERTEX_BUFFER = 1 << 7;
const INDIRECT_BUFFER = 1 << 8;
const CONDITIONAL_RENDERING_EXT = 1 << 9;
const SHADER_BINDING_TABLE = 1 << 10;
const TRANSFORM_FEEDBACK_BUFFER_EXT = 1 << 11;
const TRANSFORM_FEEDBACK_COUNTER_BUFFER_EXT = 1 << 12;
const VIDEO_DECODE_SRC = 1 << 13;
const VIDEO_DECODE_DST = 1 << 14;
const VIDEO_ENCODE_DST = 1 << 15;
const VIDEO_ENCODE_SRC = 1 << 16;
const SHADER_DEVICE_ADDRESS = 1 << 17;
const ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY = 1 << 19;
const ACCELERATION_STRUCTURE_STORAGE = 1 << 20;
const SAMPLER_DESCRIPTOR_BUFFER_EXT = 1 << 21;
const RESOURCE_DESCRIPTOR_BUFFER_EXT = 1 << 22;
const MICROMAP_BUILD_INPUT_READ_ONLY_EXT = 1 << 23;
const MICROMAP_STORAGE_EXT = 1 << 24;
const EXECUTION_GRAPH_SCRATCH_AMDX = 1 << 25;
const PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_EXT = 1 << 26;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct BufferViewCreateFlags: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct BuildAccelerationStructureFlagsKHR: Flags {
const ALLOW_UPDATE = 1;
const ALLOW_COMPACTION = 1 << 1;
const PREFER_FAST_TRACE = 1 << 2;
const PREFER_FAST_BUILD = 1 << 3;
const LOW_MEMORY = 1 << 4;
const MOTION_NV = 1 << 5;
const ALLOW_OPACITY_MICROMAP_UPDATE_EXT = 1 << 6;
const ALLOW_DISABLE_OPACITY_MICROMAPS_EXT = 1 << 7;
const ALLOW_OPACITY_MICROMAP_DATA_UPDATE_EXT = 1 << 8;
const ALLOW_DISPLACEMENT_MICROMAP_UPDATE_NV = 1 << 9;
const ALLOW_DATA_ACCESS = 1 << 11;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct BuildMicromapFlagsEXT: Flags {
const PREFER_FAST_TRACE = 1;
const PREFER_FAST_BUILD = 1 << 1;
const ALLOW_COMPACTION = 1 << 2;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct ColorComponentFlags: Flags {
const R = 1;
const G = 1 << 1;
const B = 1 << 2;
const A = 1 << 3;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct CommandBufferResetFlags: Flags {
const RELEASE_RESOURCES = 1;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct CommandBufferUsageFlags: Flags {
const ONE_TIME_SUBMIT = 1;
const RENDER_PASS_CONTINUE = 1 << 1;
const SIMULTANEOUS_USE = 1 << 2;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct CommandPoolCreateFlags: Flags {
const TRANSIENT = 1;
const RESET_COMMAND_BUFFER = 1 << 1;
const PROTECTED = 1 << 2;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct CommandPoolResetFlags: Flags {
const RELEASE_RESOURCES = 1;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct CommandPoolTrimFlags: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct CompositeAlphaFlagsKHR: Flags {
const OPAQUE = 1;
const PRE_MULTIPLIED = 1 << 1;
const POST_MULTIPLIED = 1 << 2;
const INHERIT = 1 << 3;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct ConditionalRenderingFlagsEXT: Flags {
const INVERTED = 1;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct CullModeFlags: Flags {
const NONE = 0;
const FRONT = 1;
const BACK = 1 << 1;
const FRONT_AND_BACK = Self::FRONT.bits | Self::BACK.bits;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct DebugReportFlagsEXT: Flags {
const INFORMATION = 1;
const WARNING = 1 << 1;
const PERFORMANCE_WARNING = 1 << 2;
const ERROR = 1 << 3;
const DEBUG = 1 << 4;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct DebugUtilsMessageSeverityFlagsEXT: Flags {
const VERBOSE = 1;
const INFO = 1 << 4;
const WARNING = 1 << 8;
const ERROR = 1 << 12;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct DebugUtilsMessageTypeFlagsEXT: Flags {
const GENERAL = 1;
const VALIDATION = 1 << 1;
const PERFORMANCE = 1 << 2;
const DEVICE_ADDRESS_BINDING = 1 << 3;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct DebugUtilsMessengerCallbackDataFlagsEXT: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct DebugUtilsMessengerCreateFlagsEXT: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct DependencyFlags: Flags {
const BY_REGION = 1;
const VIEW_LOCAL = 1 << 1;
const DEVICE_GROUP = 1 << 2;
const FEEDBACK_LOOP_EXT = 1 << 3;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct DescriptorBindingFlags: Flags {
const UPDATE_AFTER_BIND = 1;
const UPDATE_UNUSED_WHILE_PENDING = 1 << 1;
const PARTIALLY_BOUND = 1 << 2;
const VARIABLE_DESCRIPTOR_COUNT = 1 << 3;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct DescriptorPoolCreateFlags: Flags {
const FREE_DESCRIPTOR_SET = 1;
const UPDATE_AFTER_BIND = 1 << 1;
const HOST_ONLY_EXT = 1 << 2;
const ALLOW_OVERALLOCATION_SETS_NV = 1 << 3;
const ALLOW_OVERALLOCATION_POOLS_NV = 1 << 4;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct DescriptorPoolResetFlags: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct DescriptorSetLayoutCreateFlags: Flags {
const PUSH_DESCRIPTOR_KHR = 1;
const UPDATE_AFTER_BIND_POOL = 1 << 1;
const HOST_ONLY_POOL_EXT = 1 << 2;
const DESCRIPTOR_BUFFER_EXT = 1 << 4;
const EMBEDDED_IMMUTABLE_SAMPLERS_EXT = 1 << 5;
const INDIRECT_BINDABLE_NV = 1 << 7;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct DescriptorUpdateTemplateCreateFlags: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct DeviceAddressBindingFlagsEXT: Flags {
const INTERNAL_OBJECT = 1;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct DeviceCreateFlags: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct DeviceDiagnosticsConfigFlagsNV: Flags {
const ENABLE_SHADER_DEBUG_INFO = 1;
const ENABLE_RESOURCE_TRACKING = 1 << 1;
const ENABLE_AUTOMATIC_CHECKPOINTS = 1 << 2;
const ENABLE_SHADER_ERROR_REPORTING = 1 << 3;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct DeviceGroupPresentModeFlagsKHR: Flags {
const LOCAL = 1;
const REMOTE = 1 << 1;
const SUM = 1 << 2;
const LOCAL_MULTI_DEVICE = 1 << 3;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct DeviceMemoryReportFlagsEXT: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct DeviceQueueCreateFlags: Flags {
const PROTECTED = 1;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct DirectDriverLoadingFlagsLUNARG: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct DirectFBSurfaceCreateFlagsEXT: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct DisplayModeCreateFlagsKHR: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct DisplayPlaneAlphaFlagsKHR: Flags {
const OPAQUE = 1;
const GLOBAL = 1 << 1;
const PER_PIXEL = 1 << 2;
const PER_PIXEL_PREMULTIPLIED = 1 << 3;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct DisplaySurfaceCreateFlagsKHR: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct EventCreateFlags: Flags {
const DEVICE_ONLY = 1;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct ExportMetalObjectTypeFlagsEXT: Flags {
const METAL_DEVICE = 1;
const METAL_COMMAND_QUEUE = 1 << 1;
const METAL_BUFFER = 1 << 2;
const METAL_TEXTURE = 1 << 3;
const METAL_IOSURFACE = 1 << 4;
const METAL_SHARED_EVENT = 1 << 5;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct ExternalFenceFeatureFlags: Flags {
const EXPORTABLE = 1;
const IMPORTABLE = 1 << 1;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct ExternalFenceHandleTypeFlags: Flags {
const OPAQUE_FD = 1;
const OPAQUE_WIN32 = 1 << 1;
const OPAQUE_WIN32_KMT = 1 << 2;
const SYNC_FD = 1 << 3;
const SCI_SYNC_OBJ_NV = 1 << 4;
const SCI_SYNC_FENCE_NV = 1 << 5;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct ExternalMemoryFeatureFlags: Flags {
const DEDICATED_ONLY = 1;
const EXPORTABLE = 1 << 1;
const IMPORTABLE = 1 << 2;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct ExternalMemoryFeatureFlagsNV: Flags {
const DEDICATED_ONLY = 1;
const EXPORTABLE = 1 << 1;
const IMPORTABLE = 1 << 2;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct ExternalMemoryHandleTypeFlags: Flags {
const OPAQUE_FD = 1;
const OPAQUE_WIN32 = 1 << 1;
const OPAQUE_WIN32_KMT = 1 << 2;
const D3D11_TEXTURE = 1 << 3;
const D3D11_TEXTURE_KMT = 1 << 4;
const D3D12_HEAP = 1 << 5;
const D3D12_RESOURCE = 1 << 6;
const HOST_ALLOCATION_EXT = 1 << 7;
const HOST_MAPPED_FOREIGN_MEMORY_EXT = 1 << 8;
const DMA_BUF_EXT = 1 << 9;
const ANDROID_HARDWARE_BUFFER_ANDROID = 1 << 10;
const ZIRCON_VMO_FUCHSIA = 1 << 11;
const RDMA_ADDRESS_NV = 1 << 12;
const SCI_BUF_NV = 1 << 13;
const SCREEN_BUFFER_QNX = 1 << 14;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct ExternalMemoryHandleTypeFlagsNV: Flags {
const OPAQUE_WIN32 = 1;
const OPAQUE_WIN32_KMT = 1 << 1;
const D3D11_IMAGE = 1 << 2;
const D3D11_IMAGE_KMT = 1 << 3;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct ExternalSemaphoreFeatureFlags: Flags {
const EXPORTABLE = 1;
const IMPORTABLE = 1 << 1;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct ExternalSemaphoreHandleTypeFlags: Flags {
const OPAQUE_FD = 1;
const OPAQUE_WIN32 = 1 << 1;
const OPAQUE_WIN32_KMT = 1 << 2;
const D3D12_FENCE = 1 << 3;
const SYNC_FD = 1 << 4;
const SCI_SYNC_OBJ_NV = 1 << 5;
const ZIRCON_EVENT_FUCHSIA = 1 << 7;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct FenceCreateFlags: Flags {
const SIGNALED = 1;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct FenceImportFlags: Flags {
const TEMPORARY = 1;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct FormatFeatureFlags: Flags {
const SAMPLED_IMAGE = 1;
const STORAGE_IMAGE = 1 << 1;
const STORAGE_IMAGE_ATOMIC = 1 << 2;
const UNIFORM_TEXEL_BUFFER = 1 << 3;
const STORAGE_TEXEL_BUFFER = 1 << 4;
const STORAGE_TEXEL_BUFFER_ATOMIC = 1 << 5;
const VERTEX_BUFFER = 1 << 6;
const COLOR_ATTACHMENT = 1 << 7;
const COLOR_ATTACHMENT_BLEND = 1 << 8;
const DEPTH_STENCIL_ATTACHMENT = 1 << 9;
const BLIT_SRC = 1 << 10;
const BLIT_DST = 1 << 11;
const SAMPLED_IMAGE_FILTER_LINEAR = 1 << 12;
const SAMPLED_IMAGE_FILTER_CUBIC_EXT = 1 << 13;
const TRANSFER_SRC = 1 << 14;
const TRANSFER_DST = 1 << 15;
const SAMPLED_IMAGE_FILTER_MINMAX = 1 << 16;
const MIDPOINT_CHROMA_SAMPLES = 1 << 17;
const SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER = 1 << 18;
const SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER = 1 << 19;
const SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT = 1 << 20;
const SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE = 1 << 21;
const DISJOINT = 1 << 22;
const COSITED_CHROMA_SAMPLES = 1 << 23;
const FRAGMENT_DENSITY_MAP_EXT = 1 << 24;
const ACCELERATION_STRUCTURE_VERTEX_BUFFER_KHR = 1 << 29;
const FRAGMENT_SHADING_RATE_ATTACHMENT_KHR = 1 << 30;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct FormatFeatureFlags2: Flags64 {
const SAMPLED_IMAGE = 1;
const STORAGE_IMAGE = 1 << 1;
const STORAGE_IMAGE_ATOMIC = 1 << 2;
const UNIFORM_TEXEL_BUFFER = 1 << 3;
const STORAGE_TEXEL_BUFFER = 1 << 4;
const STORAGE_TEXEL_BUFFER_ATOMIC = 1 << 5;
const VERTEX_BUFFER = 1 << 6;
const COLOR_ATTACHMENT = 1 << 7;
const COLOR_ATTACHMENT_BLEND = 1 << 8;
const DEPTH_STENCIL_ATTACHMENT = 1 << 9;
const BLIT_SRC = 1 << 10;
const BLIT_DST = 1 << 11;
const SAMPLED_IMAGE_FILTER_LINEAR = 1 << 12;
const SAMPLED_IMAGE_FILTER_CUBIC = 1 << 13;
const TRANSFER_SRC = 1 << 14;
const TRANSFER_DST = 1 << 15;
const SAMPLED_IMAGE_FILTER_MINMAX = 1 << 16;
const MIDPOINT_CHROMA_SAMPLES = 1 << 17;
const SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER = 1 << 18;
const SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER = 1 << 19;
const SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT = 1 << 20;
const SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE = 1 << 21;
const DISJOINT = 1 << 22;
const COSITED_CHROMA_SAMPLES = 1 << 23;
const FRAGMENT_DENSITY_MAP_EXT = 1 << 24;
const ACCELERATION_STRUCTURE_VERTEX_BUFFER_KHR = 1 << 29;
const FRAGMENT_SHADING_RATE_ATTACHMENT_KHR = 1 << 30;
const STORAGE_READ_WITHOUT_FORMAT = 1 << 31;
const STORAGE_WRITE_WITHOUT_FORMAT = 1 << 32;
const SAMPLED_IMAGE_DEPTH_COMPARISON = 1 << 33;
const WEIGHT_IMAGE_QCOM = 1 << 34;
const WEIGHT_SAMPLED_IMAGE_QCOM = 1 << 35;
const BLOCK_MATCHING_QCOM = 1 << 36;
const BOX_FILTER_SAMPLED_QCOM = 1 << 37;
const LINEAR_COLOR_ATTACHMENT_NV = 1 << 38;
const OPTICAL_FLOW_IMAGE_NV = 1 << 40;
const OPTICAL_FLOW_VECTOR_NV = 1 << 41;
const OPTICAL_FLOW_COST_NV = 1 << 42;
const HOST_IMAGE_TRANSFER_EXT = 1 << 46;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct FrameBoundaryFlagsEXT: Flags {
const FRAME_END = 1;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct FramebufferCreateFlags: Flags {
const IMAGELESS = 1;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct GeometryFlagsKHR: Flags {
const OPAQUE = 1;
const NO_DUPLICATE_ANY_HIT_INVOCATION = 1 << 1;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct GeometryInstanceFlagsKHR: Flags {
const TRIANGLE_FACING_CULL_DISABLE = 1;
const TRIANGLE_FLIP_FACING = 1 << 1;
const FORCE_OPAQUE = 1 << 2;
const FORCE_NO_OPAQUE = 1 << 3;
const FORCE_OPACITY_MICROMAP_2_STATE_EXT = 1 << 4;
const DISABLE_OPACITY_MICROMAPS_EXT = 1 << 5;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct GraphicsPipelineLibraryFlagsEXT: Flags {
const VERTEX_INPUT_INTERFACE = 1;
const PRE_RASTERIZATION_SHADERS = 1 << 1;
const FRAGMENT_SHADER = 1 << 2;
const FRAGMENT_OUTPUT_INTERFACE = 1 << 3;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct HeadlessSurfaceCreateFlagsEXT: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct HostImageCopyFlagsEXT: Flags {
const MEMCPY = 1;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct IOSSurfaceCreateFlagsMVK: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct ImageAspectFlags: Flags {
const COLOR = 1;
const DEPTH = 1 << 1;
const STENCIL = 1 << 2;
const METADATA = 1 << 3;
const PLANE_0 = 1 << 4;
const PLANE_1 = 1 << 5;
const PLANE_2 = 1 << 6;
const MEMORY_PLANE_0_EXT = 1 << 7;
const MEMORY_PLANE_1_EXT = 1 << 8;
const MEMORY_PLANE_2_EXT = 1 << 9;
const MEMORY_PLANE_3_EXT = 1 << 10;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct ImageCompressionFixedRateFlagsEXT: Flags {
const NONE = 0;
const _1BPC = 1;
const _2BPC = 1 << 1;
const _3BPC = 1 << 2;
const _4BPC = 1 << 3;
const _5BPC = 1 << 4;
const _6BPC = 1 << 5;
const _7BPC = 1 << 6;
const _8BPC = 1 << 7;
const _9BPC = 1 << 8;
const _10BPC = 1 << 9;
const _11BPC = 1 << 10;
const _12BPC = 1 << 11;
const _13BPC = 1 << 12;
const _14BPC = 1 << 13;
const _15BPC = 1 << 14;
const _16BPC = 1 << 15;
const _17BPC = 1 << 16;
const _18BPC = 1 << 17;
const _19BPC = 1 << 18;
const _20BPC = 1 << 19;
const _21BPC = 1 << 20;
const _22BPC = 1 << 21;
const _23BPC = 1 << 22;
const _24BPC = 1 << 23;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct ImageCompressionFlagsEXT: Flags {
const DEFAULT = 0;
const FIXED_RATE_DEFAULT = 1;
const FIXED_RATE_EXPLICIT = 1 << 1;
const DISABLED = 1 << 2;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct ImageConstraintsInfoFlagsFUCHSIA: Flags {
const CPU_READ_RARELY = 1;
const CPU_READ_OFTEN = 1 << 1;
const CPU_WRITE_RARELY = 1 << 2;
const CPU_WRITE_OFTEN = 1 << 3;
const PROTECTED_OPTIONAL = 1 << 4;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct ImageCreateFlags: Flags {
const SPARSE_BINDING = 1;
const SPARSE_RESIDENCY = 1 << 1;
const SPARSE_ALIASED = 1 << 2;
const MUTABLE_FORMAT = 1 << 3;
const CUBE_COMPATIBLE = 1 << 4;
const _2D_ARRAY_COMPATIBLE = 1 << 5;
const SPLIT_INSTANCE_BIND_REGIONS = 1 << 6;
const BLOCK_TEXEL_VIEW_COMPATIBLE = 1 << 7;
const EXTENDED_USAGE = 1 << 8;
const DISJOINT = 1 << 9;
const ALIAS = 1 << 10;
const PROTECTED = 1 << 11;
const SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_EXT = 1 << 12;
const CORNER_SAMPLED_NV = 1 << 13;
const SUBSAMPLED_EXT = 1 << 14;
const FRAGMENT_DENSITY_MAP_OFFSET_QCOM = 1 << 15;
const DESCRIPTOR_BUFFER_CAPTURE_REPLAY_EXT = 1 << 16;
const _2D_VIEW_COMPATIBLE_EXT = 1 << 17;
const MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_EXT = 1 << 18;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct ImageFormatConstraintsFlagsFUCHSIA: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct ImagePipeSurfaceCreateFlagsFUCHSIA: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct ImageUsageFlags: Flags {
const TRANSFER_SRC = 1;
const TRANSFER_DST = 1 << 1;
const SAMPLED = 1 << 2;
const STORAGE = 1 << 3;
const COLOR_ATTACHMENT = 1 << 4;
const DEPTH_STENCIL_ATTACHMENT = 1 << 5;
const TRANSIENT_ATTACHMENT = 1 << 6;
const INPUT_ATTACHMENT = 1 << 7;
const FRAGMENT_SHADING_RATE_ATTACHMENT_KHR = 1 << 8;
const FRAGMENT_DENSITY_MAP_EXT = 1 << 9;
const INVOCATION_MASK_HUAWEI = 1 << 18;
const ATTACHMENT_FEEDBACK_LOOP_EXT = 1 << 19;
const SAMPLE_WEIGHT_QCOM = 1 << 20;
const SAMPLE_BLOCK_MATCH_QCOM = 1 << 21;
const HOST_TRANSFER_EXT = 1 << 22;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct ImageViewCreateFlags: Flags {
const FRAGMENT_DENSITY_MAP_DYNAMIC_EXT = 1;
const FRAGMENT_DENSITY_MAP_DEFERRED_EXT = 1 << 1;
const DESCRIPTOR_BUFFER_CAPTURE_REPLAY_EXT = 1 << 2;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct IndirectCommandsLayoutUsageFlagsNV: Flags {
const EXPLICIT_PREPROCESS = 1;
const INDEXED_SEQUENCES = 1 << 1;
const UNORDERED_SEQUENCES = 1 << 2;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct IndirectStateFlagsNV: Flags {
const FLAG_FRONTFACE = 1;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct InstanceCreateFlags: Flags {
const ENUMERATE_PORTABILITY_KHR = 1;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct MacOSSurfaceCreateFlagsMVK: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct MemoryAllocateFlags: Flags {
const DEVICE_MASK = 1;
const DEVICE_ADDRESS = 1 << 1;
const DEVICE_ADDRESS_CAPTURE_REPLAY = 1 << 2;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct MemoryDecompressionMethodFlagsNV: Flags {
const GDEFLATE_1_0 = 1;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct MemoryHeapFlags: Flags {
const DEVICE_LOCAL = 1;
const MULTI_INSTANCE = 1 << 1;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct MemoryMapFlags: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct MemoryPropertyFlags: Flags {
const DEVICE_LOCAL = 1;
const HOST_VISIBLE = 1 << 1;
const HOST_COHERENT = 1 << 2;
const HOST_CACHED = 1 << 3;
const LAZILY_ALLOCATED = 1 << 4;
const PROTECTED = 1 << 5;
const DEVICE_COHERENT_AMD = 1 << 6;
const DEVICE_UNCACHED_AMD = 1 << 7;
const RDMA_CAPABLE_NV = 1 << 8;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct MemoryUnmapFlagsKHR: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct MetalSurfaceCreateFlagsEXT: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct MicromapCreateFlagsEXT: Flags {
const DEVICE_ADDRESS_CAPTURE_REPLAY = 1;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct OpticalFlowExecuteFlagsNV: Flags {
const DISABLE_TEMPORAL_HINTS = 1;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct OpticalFlowGridSizeFlagsNV: Flags {
const UNKNOWN = 0;
const _1X1 = 1;
const _2X2 = 1 << 1;
const _4X4 = 1 << 2;
const _8X8 = 1 << 3;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct OpticalFlowSessionCreateFlagsNV: Flags {
const ENABLE_HINT = 1;
const ENABLE_COST = 1 << 1;
const ENABLE_GLOBAL_FLOW = 1 << 2;
const ALLOW_REGIONS = 1 << 3;
const BOTH_DIRECTIONS = 1 << 4;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct OpticalFlowUsageFlagsNV: Flags {
const UNKNOWN = 0;
const INPUT = 1;
const OUTPUT = 1 << 1;
const HINT = 1 << 2;
const COST = 1 << 3;
const GLOBAL_FLOW = 1 << 4;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct PeerMemoryFeatureFlags: Flags {
const COPY_SRC = 1;
const COPY_DST = 1 << 1;
const GENERIC_SRC = 1 << 2;
const GENERIC_DST = 1 << 3;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct PerformanceCounterDescriptionFlagsKHR: Flags {
const PERFORMANCE_IMPACTING = 1;
const CONCURRENTLY_IMPACTED = 1 << 1;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct PipelineCacheCreateFlags: Flags {
const EXTERNALLY_SYNCHRONIZED = 1;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct PipelineColorBlendStateCreateFlags: Flags {
const RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXT = 1;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct PipelineCompilerControlFlagsAMD: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct PipelineCoverageModulationStateCreateFlagsNV: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct PipelineCoverageReductionStateCreateFlagsNV: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct PipelineCoverageToColorStateCreateFlagsNV: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct PipelineCreateFlags: Flags {
const DISABLE_OPTIMIZATION = 1;
const ALLOW_DERIVATIVES = 1 << 1;
const DERIVATIVE = 1 << 2;
const VIEW_INDEX_FROM_DEVICE_INDEX = 1 << 3;
const DISPATCH_BASE = 1 << 4;
const DEFER_COMPILE_NV = 1 << 5;
const CAPTURE_STATISTICS_KHR = 1 << 6;
const CAPTURE_INTERNAL_REPRESENTATIONS_KHR = 1 << 7;
const FAIL_ON_PIPELINE_COMPILE_REQUIRED = 1 << 8;
const EARLY_RETURN_ON_FAILURE = 1 << 9;
const LINK_TIME_OPTIMIZATION_EXT = 1 << 10;
const LIBRARY_KHR = 1 << 11;
const RAY_TRACING_SKIP_TRIANGLES_KHR = 1 << 12;
const RAY_TRACING_SKIP_AABBS_KHR = 1 << 13;
const RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_KHR = 1 << 14;
const RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_KHR = 1 << 15;
const RAY_TRACING_NO_NULL_MISS_SHADERS_KHR = 1 << 16;
const RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_KHR = 1 << 17;
const INDIRECT_BINDABLE_NV = 1 << 18;
const RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_KHR = 1 << 19;
const RAY_TRACING_ALLOW_MOTION_NV = 1 << 20;
const RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_KHR = 1 << 21;
const RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_EXT = 1 << 22;
const RETAIN_LINK_TIME_OPTIMIZATION_INFO_EXT = 1 << 23;
const RAY_TRACING_OPACITY_MICROMAP_EXT = 1 << 24;
const COLOR_ATTACHMENT_FEEDBACK_LOOP_EXT = 1 << 25;
const DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_EXT = 1 << 26;
const NO_PROTECTED_ACCESS_EXT = 1 << 27;
const RAY_TRACING_DISPLACEMENT_MICROMAP_NV = 1 << 28;
const DESCRIPTOR_BUFFER_EXT = 1 << 29;
const PROTECTED_ACCESS_ONLY_EXT = 1 << 30;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct PipelineCreateFlags2KHR: Flags {
const DISABLE_OPTIMIZATION = 1;
const ALLOW_DERIVATIVES = 1 << 1;
const DERIVATIVE = 1 << 2;
const VIEW_INDEX_FROM_DEVICE_INDEX = 1 << 3;
const DISPATCH_BASE = 1 << 4;
const DEFER_COMPILE_NV = 1 << 5;
const CAPTURE_STATISTICS = 1 << 6;
const CAPTURE_INTERNAL_REPRESENTATIONS = 1 << 7;
const FAIL_ON_PIPELINE_COMPILE_REQUIRED = 1 << 8;
const EARLY_RETURN_ON_FAILURE = 1 << 9;
const LINK_TIME_OPTIMIZATION_EXT = 1 << 10;
const LIBRARY = 1 << 11;
const RAY_TRACING_SKIP_TRIANGLES = 1 << 12;
const RAY_TRACING_SKIP_AABBS = 1 << 13;
const RAY_TRACING_NO_NULL_ANY_HIT_SHADERS = 1 << 14;
const RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS = 1 << 15;
const RAY_TRACING_NO_NULL_MISS_SHADERS = 1 << 16;
const RAY_TRACING_NO_NULL_INTERSECTION_SHADERS = 1 << 17;
const INDIRECT_BINDABLE_NV = 1 << 18;
const RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY = 1 << 19;
const RAY_TRACING_ALLOW_MOTION_NV = 1 << 20;
const RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT = 1 << 21;
const RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_EXT = 1 << 22;
const RETAIN_LINK_TIME_OPTIMIZATION_INFO_EXT = 1 << 23;
const RAY_TRACING_OPACITY_MICROMAP_EXT = 1 << 24;
const COLOR_ATTACHMENT_FEEDBACK_LOOP_EXT = 1 << 25;
const DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_EXT = 1 << 26;
const NO_PROTECTED_ACCESS_EXT = 1 << 27;
const RAY_TRACING_DISPLACEMENT_MICROMAP_NV = 1 << 28;
const DESCRIPTOR_BUFFER_EXT = 1 << 29;
const PROTECTED_ACCESS_ONLY_EXT = 1 << 30;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct PipelineCreationFeedbackFlags: Flags {
const VALID = 1;
const APPLICATION_PIPELINE_CACHE_HIT = 1 << 1;
const BASE_PIPELINE_ACCELERATION = 1 << 2;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct PipelineDepthStencilStateCreateFlags: Flags {
const RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_EXT = 1;
const RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_EXT = 1 << 1;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct PipelineDiscardRectangleStateCreateFlagsEXT: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct PipelineDynamicStateCreateFlags: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct PipelineInputAssemblyStateCreateFlags: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct PipelineLayoutCreateFlags: Flags {
const INDEPENDENT_SETS_EXT = 1 << 1;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct PipelineMultisampleStateCreateFlags: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct PipelineRasterizationConservativeStateCreateFlagsEXT: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct PipelineRasterizationDepthClipStateCreateFlagsEXT: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct PipelineRasterizationStateCreateFlags: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct PipelineRasterizationStateStreamCreateFlagsEXT: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct PipelineShaderStageCreateFlags: Flags {
const ALLOW_VARYING_SUBGROUP_SIZE = 1;
const REQUIRE_FULL_SUBGROUPS = 1 << 1;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct PipelineStageFlags: Flags {
const TOP_OF_PIPE = 1;
const DRAW_INDIRECT = 1 << 1;
const VERTEX_INPUT = 1 << 2;
const VERTEX_SHADER = 1 << 3;
const TESSELLATION_CONTROL_SHADER = 1 << 4;
const TESSELLATION_EVALUATION_SHADER = 1 << 5;
const GEOMETRY_SHADER = 1 << 6;
const FRAGMENT_SHADER = 1 << 7;
const EARLY_FRAGMENT_TESTS = 1 << 8;
const LATE_FRAGMENT_TESTS = 1 << 9;
const COLOR_ATTACHMENT_OUTPUT = 1 << 10;
const COMPUTE_SHADER = 1 << 11;
const TRANSFER = 1 << 12;
const BOTTOM_OF_PIPE = 1 << 13;
const HOST = 1 << 14;
const ALL_GRAPHICS = 1 << 15;
const ALL_COMMANDS = 1 << 16;
const COMMAND_PREPROCESS_NV = 1 << 17;
const CONDITIONAL_RENDERING_EXT = 1 << 18;
const TASK_SHADER_EXT = 1 << 19;
const MESH_SHADER_EXT = 1 << 20;
const RAY_TRACING_SHADER_KHR = 1 << 21;
const FRAGMENT_SHADING_RATE_ATTACHMENT_KHR = 1 << 22;
const FRAGMENT_DENSITY_PROCESS_EXT = 1 << 23;
const TRANSFORM_FEEDBACK_EXT = 1 << 24;
const ACCELERATION_STRUCTURE_BUILD_KHR = 1 << 25;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct PipelineStageFlags2: Flags64 {
const NONE = 0;
const TOP_OF_PIPE = 1;
const DRAW_INDIRECT = 1 << 1;
const VERTEX_INPUT = 1 << 2;
const VERTEX_SHADER = 1 << 3;
const TESSELLATION_CONTROL_SHADER = 1 << 4;
const TESSELLATION_EVALUATION_SHADER = 1 << 5;
const GEOMETRY_SHADER = 1 << 6;
const FRAGMENT_SHADER = 1 << 7;
const EARLY_FRAGMENT_TESTS = 1 << 8;
const LATE_FRAGMENT_TESTS = 1 << 9;
const COLOR_ATTACHMENT_OUTPUT = 1 << 10;
const COMPUTE_SHADER = 1 << 11;
const ALL_TRANSFER = 1 << 12;
const BOTTOM_OF_PIPE = 1 << 13;
const HOST = 1 << 14;
const ALL_GRAPHICS = 1 << 15;
const ALL_COMMANDS = 1 << 16;
const COMMAND_PREPROCESS_NV = 1 << 17;
const CONDITIONAL_RENDERING_EXT = 1 << 18;
const TASK_SHADER_EXT = 1 << 19;
const MESH_SHADER_EXT = 1 << 20;
const RAY_TRACING_SHADER_KHR = 1 << 21;
const FRAGMENT_SHADING_RATE_ATTACHMENT_KHR = 1 << 22;
const FRAGMENT_DENSITY_PROCESS_EXT = 1 << 23;
const TRANSFORM_FEEDBACK_EXT = 1 << 24;
const ACCELERATION_STRUCTURE_BUILD_KHR = 1 << 25;
const ACCELERATION_STRUCTURE_COPY_KHR = 1 << 28;
const OPTICAL_FLOW_NV = 1 << 29;
const MICROMAP_BUILD_EXT = 1 << 30;
const COPY = 1 << 32;
const RESOLVE = 1 << 33;
const BLIT = 1 << 34;
const CLEAR = 1 << 35;
const INDEX_INPUT = 1 << 36;
const VERTEX_ATTRIBUTE_INPUT = 1 << 37;
const PRE_RASTERIZATION_SHADERS = 1 << 38;
const SUBPASS_SHADER_HUAWEI = 1 << 39;
const INVOCATION_MASK_HUAWEI = 1 << 40;
const CLUSTER_CULLING_SHADER_HUAWEI = 1 << 41;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct PipelineTessellationStateCreateFlags: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct PipelineVertexInputStateCreateFlags: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct PipelineViewportStateCreateFlags: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct PipelineViewportSwizzleStateCreateFlagsNV: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct PresentGravityFlagsEXT: Flags {
const MIN = 1;
const MAX = 1 << 1;
const CENTERED = 1 << 2;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct PresentScalingFlagsEXT: Flags {
const ONE_TO_ONE = 1;
const ASPECT_RATIO_STRETCH = 1 << 1;
const STRETCH = 1 << 2;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct PrivateDataSlotCreateFlags: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct QueryControlFlags: Flags {
const PRECISE = 1;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct QueryPipelineStatisticFlags: Flags {
const INPUT_ASSEMBLY_VERTICES = 1;
const INPUT_ASSEMBLY_PRIMITIVES = 1 << 1;
const VERTEX_SHADER_INVOCATIONS = 1 << 2;
const GEOMETRY_SHADER_INVOCATIONS = 1 << 3;
const GEOMETRY_SHADER_PRIMITIVES = 1 << 4;
const CLIPPING_INVOCATIONS = 1 << 5;
const CLIPPING_PRIMITIVES = 1 << 6;
const FRAGMENT_SHADER_INVOCATIONS = 1 << 7;
const TESSELLATION_CONTROL_SHADER_PATCHES = 1 << 8;
const TESSELLATION_EVALUATION_SHADER_INVOCATIONS = 1 << 9;
const COMPUTE_SHADER_INVOCATIONS = 1 << 10;
const TASK_SHADER_INVOCATIONS_EXT = 1 << 11;
const MESH_SHADER_INVOCATIONS_EXT = 1 << 12;
const CLUSTER_CULLING_SHADER_INVOCATIONS_HUAWEI = 1 << 13;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct QueryPoolCreateFlags: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct QueryResultFlags: Flags {
const _64 = 1;
const WAIT = 1 << 1;
const WITH_AVAILABILITY = 1 << 2;
const PARTIAL = 1 << 3;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct QueueFlags: Flags {
const GRAPHICS = 1;
const COMPUTE = 1 << 1;
const TRANSFER = 1 << 2;
const SPARSE_BINDING = 1 << 3;
const PROTECTED = 1 << 4;
const OPTICAL_FLOW_NV = 1 << 8;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct RefreshObjectFlagsKHR: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct RenderPassCreateFlags: Flags {
const TRANSFORM_QCOM = 1 << 1;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct RenderingFlags: Flags {
const CONTENTS_SECONDARY_COMMAND_BUFFERS = 1;
const SUSPENDING = 1 << 1;
const RESUMING = 1 << 2;
const ENABLE_LEGACY_DITHERING_EXT = 1 << 3;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct ResolveModeFlags: Flags {
const NONE = 0;
const SAMPLE_ZERO = 1;
const AVERAGE = 1 << 1;
const MIN = 1 << 2;
const MAX = 1 << 3;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct SampleCountFlags: Flags {
const _1 = 1;
const _2 = 1 << 1;
const _4 = 1 << 2;
const _8 = 1 << 3;
const _16 = 1 << 4;
const _32 = 1 << 5;
const _64 = 1 << 6;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct SamplerCreateFlags: Flags {
const SUBSAMPLED_EXT = 1;
const SUBSAMPLED_COARSE_RECONSTRUCTION_EXT = 1 << 1;
const NON_SEAMLESS_CUBE_MAP_EXT = 1 << 2;
const DESCRIPTOR_BUFFER_CAPTURE_REPLAY_EXT = 1 << 3;
const IMAGE_PROCESSING_QCOM = 1 << 4;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct ScreenSurfaceCreateFlagsQNX: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct SemaphoreCreateFlags: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct SemaphoreImportFlags: Flags {
const TEMPORARY = 1;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct SemaphoreWaitFlags: Flags {
const ANY = 1;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct ShaderCorePropertiesFlagsAMD: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct ShaderCreateFlagsEXT: Flags {
const LINK_STAGE = 1;
const ALLOW_VARYING_SUBGROUP_SIZE = 1 << 1;
const REQUIRE_FULL_SUBGROUPS = 1 << 2;
const NO_TASK_SHADER = 1 << 3;
const DISPATCH_BASE = 1 << 4;
const FRAGMENT_SHADING_RATE_ATTACHMENT = 1 << 5;
const FRAGMENT_DENSITY_MAP_ATTACHMENT = 1 << 6;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct ShaderModuleCreateFlags: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct ShaderStageFlags: Flags {
const VERTEX = 1;
const TESSELLATION_CONTROL = 1 << 1;
const TESSELLATION_EVALUATION = 1 << 2;
const GEOMETRY = 1 << 3;
const FRAGMENT = 1 << 4;
const ALL_GRAPHICS = Self::VERTEX.bits | Self::TESSELLATION_CONTROL.bits | Self::TESSELLATION_EVALUATION.bits | Self::GEOMETRY.bits | Self::FRAGMENT.bits;
const COMPUTE = 1 << 5;
const TASK_EXT = 1 << 6;
const MESH_EXT = 1 << 7;
const RAYGEN_KHR = 1 << 8;
const ANY_HIT_KHR = 1 << 9;
const CLOSEST_HIT_KHR = 1 << 10;
const MISS_KHR = 1 << 11;
const INTERSECTION_KHR = 1 << 12;
const CALLABLE_KHR = 1 << 13;
const SUBPASS_SHADING_HUAWEI = 1 << 14;
const CLUSTER_CULLING_HUAWEI = 1 << 19;
const ALL = i32::MAX as u32;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct SparseImageFormatFlags: Flags {
const SINGLE_MIPTAIL = 1;
const ALIGNED_MIP_SIZE = 1 << 1;
const NONSTANDARD_BLOCK_SIZE = 1 << 2;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct SparseMemoryBindFlags: Flags {
const METADATA = 1;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct StencilFaceFlags: Flags {
const FRONT = 1;
const BACK = 1 << 1;
const FRONT_AND_BACK = Self::FRONT.bits | Self::BACK.bits;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct StreamDescriptorSurfaceCreateFlagsGGP: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct SubgroupFeatureFlags: Flags {
const BASIC = 1;
const VOTE = 1 << 1;
const ARITHMETIC = 1 << 2;
const BALLOT = 1 << 3;
const SHUFFLE = 1 << 4;
const SHUFFLE_RELATIVE = 1 << 5;
const CLUSTERED = 1 << 6;
const QUAD = 1 << 7;
const PARTITIONED_NV = 1 << 8;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct SubmitFlags: Flags {
const PROTECTED = 1;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct SubpassDescriptionFlags: Flags {
const PER_VIEW_ATTRIBUTES_NVX = 1;
const PER_VIEW_POSITION_X_ONLY_NVX = 1 << 1;
const FRAGMENT_REGION_QCOM = 1 << 2;
const SHADER_RESOLVE_QCOM = 1 << 3;
const RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_EXT = 1 << 4;
const RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_EXT = 1 << 5;
const RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_EXT = 1 << 6;
const ENABLE_LEGACY_DITHERING_EXT = 1 << 7;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct SurfaceCounterFlagsEXT: Flags {
const VBLANK = 1;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct SurfaceTransformFlagsKHR: Flags {
const IDENTITY = 1;
const ROTATE_90 = 1 << 1;
const ROTATE_180 = 1 << 2;
const ROTATE_270 = 1 << 3;
const HORIZONTAL_MIRROR = 1 << 4;
const HORIZONTAL_MIRROR_ROTATE_90 = 1 << 5;
const HORIZONTAL_MIRROR_ROTATE_180 = 1 << 6;
const HORIZONTAL_MIRROR_ROTATE_270 = 1 << 7;
const INHERIT = 1 << 8;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct SwapchainCreateFlagsKHR: Flags {
const SPLIT_INSTANCE_BIND_REGIONS = 1;
const PROTECTED = 1 << 1;
const MUTABLE_FORMAT = 1 << 2;
const DEFERRED_MEMORY_ALLOCATION_EXT = 1 << 3;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct ToolPurposeFlags: Flags {
const VALIDATION = 1;
const PROFILING = 1 << 1;
const TRACING = 1 << 2;
const ADDITIONAL_FEATURES = 1 << 3;
const MODIFYING_FEATURES = 1 << 4;
const DEBUG_REPORTING_EXT = 1 << 5;
const DEBUG_MARKERS_EXT = 1 << 6;
}
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct ValidationCacheCreateFlagsEXT: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct ViSurfaceCreateFlagsNN: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct WaylandSurfaceCreateFlagsKHR: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct Win32SurfaceCreateFlagsKHR: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct XcbSurfaceCreateFlagsKHR: Flags { }
}
bitflags! {
#[repr(transparent)]
#[derive(Default)]
pub struct XlibSurfaceCreateFlagsKHR: Flags { }
}
pub type AccessFlags2KHR = AccessFlags2;
pub type BuildAccelerationStructureFlagsNV = BuildAccelerationStructureFlagsKHR;
pub type CommandPoolTrimFlagsKHR = CommandPoolTrimFlags;
pub type DescriptorBindingFlagsEXT = DescriptorBindingFlags;
pub type DescriptorUpdateTemplateCreateFlagsKHR = DescriptorUpdateTemplateCreateFlags;
pub type ExternalFenceFeatureFlagsKHR = ExternalFenceFeatureFlags;
pub type ExternalFenceHandleTypeFlagsKHR = ExternalFenceHandleTypeFlags;
pub type ExternalMemoryFeatureFlagsKHR = ExternalMemoryFeatureFlags;
pub type ExternalMemoryHandleTypeFlagsKHR = ExternalMemoryHandleTypeFlags;
pub type ExternalSemaphoreFeatureFlagsKHR = ExternalSemaphoreFeatureFlags;
pub type ExternalSemaphoreHandleTypeFlagsKHR = ExternalSemaphoreHandleTypeFlags;
pub type FenceImportFlagsKHR = FenceImportFlags;
pub type FormatFeatureFlags2KHR = FormatFeatureFlags2;
pub type GeometryFlagsNV = GeometryFlagsKHR;
pub type GeometryInstanceFlagsNV = GeometryInstanceFlagsKHR;
pub type MemoryAllocateFlagsKHR = MemoryAllocateFlags;
pub type PeerMemoryFeatureFlagsKHR = PeerMemoryFeatureFlags;
pub type PipelineCreationFeedbackFlagsEXT = PipelineCreationFeedbackFlags;
pub type PipelineStageFlags2KHR = PipelineStageFlags2;
pub type PrivateDataSlotCreateFlagsEXT = PrivateDataSlotCreateFlags;
pub type RenderingFlagsKHR = RenderingFlags;
pub type ResolveModeFlagsKHR = ResolveModeFlags;
pub type SemaphoreImportFlagsKHR = SemaphoreImportFlags;
pub type SemaphoreWaitFlagsKHR = SemaphoreWaitFlags;
pub type SubmitFlagsKHR = SubmitFlags;
pub type ToolPurposeFlagsEXT = ToolPurposeFlags;