Enum
VkImageUsageFlagBits2KHR
Bitmask specifying intended use of an image
Bits which can be set in
VkImageUsageFlags2CreateInfoKHR::usage, specifying intended
usage of an image, are:
typedef enum VkImageUsageFlagBits2KHR {
VK_IMAGE_USAGE_2_TRANSFER_SRC_BIT_KHR = 0x00000001ULL,
VK_IMAGE_USAGE_2_TRANSFER_DST_BIT_KHR = 0x00000002ULL,
VK_IMAGE_USAGE_2_SAMPLED_BIT_KHR = 0x00000004ULL,
VK_IMAGE_USAGE_2_STORAGE_BIT_KHR = 0x00000008ULL,
VK_IMAGE_USAGE_2_COLOR_ATTACHMENT_BIT_KHR = 0x00000010ULL,
VK_IMAGE_USAGE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR = 0x00000020ULL,
VK_IMAGE_USAGE_2_TRANSIENT_ATTACHMENT_BIT_KHR = 0x00000040ULL,
VK_IMAGE_USAGE_2_INPUT_ATTACHMENT_BIT_KHR = 0x00000080ULL,
// Provided by extensions
VK_IMAGE_USAGE_2_RESERVED_31_BIT_EXT = 0x80000000ULL,
VK_IMAGE_USAGE_2_RESERVED_24_BIT_COREAVI = 0x01000000ULL,
VK_IMAGE_USAGE_2_RESERVED_28_BIT_EXT = 0x10000000ULL,
VK_IMAGE_USAGE_2_RESERVED_29_BIT_KHR = 0x20000000ULL,
VK_IMAGE_USAGE_2_RESERVED_30_BIT_KHR = 0x40000000ULL,
VK_IMAGE_USAGE_2_RESERVED_16_BIT_HUAWEI = 0x00010000ULL,
VK_IMAGE_USAGE_2_RESERVED_27_BIT_HUAWEI = 0x00020000ULL,
VK_IMAGE_USAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00000100ULL,
VK_IMAGE_USAGE_2_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200ULL,
VK_IMAGE_USAGE_2_VIDEO_DECODE_DST_BIT_KHR = 0x00000400ULL,
VK_IMAGE_USAGE_2_VIDEO_DECODE_SRC_BIT_KHR = 0x00000800ULL,
VK_IMAGE_USAGE_2_VIDEO_DECODE_DPB_BIT_KHR = 0x00001000ULL,
VK_IMAGE_USAGE_2_VIDEO_ENCODE_DST_BIT_KHR = 0x00002000ULL,
VK_IMAGE_USAGE_2_VIDEO_ENCODE_SRC_BIT_KHR = 0x00004000ULL,
VK_IMAGE_USAGE_2_VIDEO_ENCODE_DPB_BIT_KHR = 0x00008000ULL,
VK_IMAGE_USAGE_2_INVOCATION_MASK_BIT_HUAWEI = 0x00040000ULL,
VK_IMAGE_USAGE_2_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x00080000ULL,
VK_IMAGE_USAGE_2_SAMPLE_WEIGHT_BIT_QCOM = 0x00100000ULL,
VK_IMAGE_USAGE_2_SAMPLE_BLOCK_MATCH_BIT_QCOM = 0x00200000ULL,
VK_IMAGE_USAGE_2_HOST_TRANSFER_BIT_KHR = 0x00400000ULL,
VK_IMAGE_USAGE_2_TENSOR_ALIASING_BIT_ARM = 0x00800000ULL,
VK_IMAGE_USAGE_2_VIDEO_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR = 0x02000000ULL,
VK_IMAGE_USAGE_2_VIDEO_ENCODE_EMPHASIS_MAP_BIT_KHR = 0x04000000ULL,
VK_IMAGE_USAGE_2_TILE_MEMORY_BIT_QCOM = 0x08000000ULL,
} VkImageUsageFlagBits2KHR;
pub struct ImageUsageFlagBits2KHR(u64);
impl ImageUsageFlagBits2KHR {
pub const TRANSFER_SRC: Self = 0x00000001;
pub const TRANSFER_DST: Self = 0x00000002;
pub const SAMPLED: Self = 0x00000004;
pub const STORAGE: Self = 0x00000008;
pub const COLOR_ATTACHMENT: Self = 0x00000010;
pub const DEPTH_STENCIL_ATTACHMENT: Self = 0x00000020;
pub const TRANSIENT_ATTACHMENT: Self = 0x00000040;
pub const INPUT_ATTACHMENT: Self = 0x00000080;
pub const RESERVED_31_EXT: Self = 0x80000000;
pub const RESERVED_24_COREAVI: Self = 0x01000000;
pub const RESERVED_28_EXT: Self = 0x10000000;
pub const RESERVED_29: Self = 0x20000000;
pub const RESERVED_30: Self = 0x40000000;
pub const RESERVED_16_HUAWEI: Self = 0x00010000;
pub const RESERVED_27_HUAWEI: Self = 0x00020000;
pub const FRAGMENT_SHADING_RATE_ATTACHMENT: Self = 0x00000100;
pub const FRAGMENT_DENSITY_MAP_EXT: Self = 0x00000200;
pub const VIDEO_DECODE_DST: Self = 0x00000400;
pub const VIDEO_DECODE_SRC: Self = 0x00000800;
pub const VIDEO_DECODE_DPB: Self = 0x00001000;
pub const VIDEO_ENCODE_DST: Self = 0x00002000;
pub const VIDEO_ENCODE_SRC: Self = 0x00004000;
pub const VIDEO_ENCODE_DPB: Self = 0x00008000;
pub const INVOCATION_MASK_HUAWEI: Self = 0x00040000;
pub const ATTACHMENT_FEEDBACK_LOOP_EXT: Self = 0x00080000;
pub const SAMPLE_WEIGHT_QCOM: Self = 0x00100000;
pub const SAMPLE_BLOCK_MATCH_QCOM: Self = 0x00200000;
pub const HOST_TRANSFER: Self = 0x00400000;
pub const TENSOR_ALIASING_ARM: Self = 0x00800000;
pub const VIDEO_ENCODE_QUANTIZATION_DELTA_MAP: Self = 0x02000000;
pub const VIDEO_ENCODE_EMPHASIS_MAP: Self = 0x04000000;
pub const TILE_MEMORY_QCOM: Self = 0x08000000;
}
VK_IMAGE_USAGE_2_TRANSFER_SRC_BIT_KHRspecifies that the image can be used as the source of a transfer command.VK_IMAGE_USAGE_2_TRANSFER_DST_BIT_KHRspecifies that the image can be used as the destination of a transfer command.VK_IMAGE_USAGE_2_SAMPLED_BIT_KHRspecifies that the image can be used to create aVkImageViewsuitable for occupying aVkDescriptorSetslot either of typeVK_DESCRIPTOR_TYPE_SAMPLED_IMAGEorVK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, and be sampled by a shader.VK_IMAGE_USAGE_2_STORAGE_BIT_KHRspecifies that the image can be used to create aVkImageViewsuitable for occupying aVkDescriptorSetslot of typeVK_DESCRIPTOR_TYPE_STORAGE_IMAGE.VK_IMAGE_USAGE_2_COLOR_ATTACHMENT_BIT_KHRspecifies that the image can be used to create aVkImageViewsuitable for use as a color or resolve attachment in aVkFramebuffer.VK_IMAGE_USAGE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHRspecifies that the image can be used to create aVkImageViewsuitable for use as a depth/stencil or depth/stencil resolve attachment in aVkFramebuffer.VK_IMAGE_USAGE_2_TRANSIENT_ATTACHMENT_BIT_KHRspecifies that implementations may support using memory allocations with theVK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BITto back an image with this usage. This bit can be set for any image that can be used to create aVkImageViewsuitable for use as a color, resolve, depth/stencil, or input attachment.VK_IMAGE_USAGE_2_INPUT_ATTACHMENT_BIT_KHRspecifies that the image can be used to create aVkImageViewsuitable for occupyingVkDescriptorSetslot of typeVK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT; be read from a shader as an input attachment; and be used as an input attachment in a framebuffer.VK_IMAGE_USAGE_2_FRAGMENT_DENSITY_MAP_BIT_EXTspecifies that the image can be used to create aVkImageViewsuitable for use as a fragment density map image.VK_IMAGE_USAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHRspecifies that the image can be used to create aVkImageViewsuitable for use as a fragment shading rate attachment or shading rate imageVK_IMAGE_USAGE_2_VIDEO_DECODE_DST_BIT_KHRspecifies that the image can be used as a decode output picture in a video decode operation.VK_IMAGE_USAGE_2_VIDEO_DECODE_SRC_BIT_KHRis reserved for future use.VK_IMAGE_USAGE_2_VIDEO_DECODE_DPB_BIT_KHRspecifies that the image can be used as an output reconstructed picture or an input reference picture in a video decode operation.VK_IMAGE_USAGE_2_VIDEO_ENCODE_DST_BIT_KHRis reserved for future use.VK_IMAGE_USAGE_2_VIDEO_ENCODE_SRC_BIT_KHRspecifies that the image can be used as an encode input picture in a video encode operation.VK_IMAGE_USAGE_2_VIDEO_ENCODE_DPB_BIT_KHRspecifies that the image can be used as an output reconstructed picture or an input reference picture in a video encode operation.VK_IMAGE_USAGE_2_ATTACHMENT_FEEDBACK_LOOP_BIT_EXTspecifies that the image can be used as a color or depth/stencil attachment with feedback loop enabled.VK_IMAGE_USAGE_2_TILE_MEMORY_BIT_QCOMspecifies that the image can be bound toVkDeviceMemoryallocated from a VkMemoryHeap with theVK_MEMORY_HEAP_TILE_MEMORY_BIT_QCOMproperty.VK_IMAGE_USAGE_2_HOST_TRANSFER_BIT_KHRspecifies that the image can be used with host copy commands and host layout transitions.VK_IMAGE_USAGE_2_VIDEO_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHRspecifies that the image can be used as a quantization delta map in a video encode operation.VK_IMAGE_USAGE_2_VIDEO_ENCODE_EMPHASIS_MAP_BIT_KHRspecifies that the image can be used as an emphasis map in a video encode operation.VK_IMAGE_USAGE_2_TENSOR_ALIASING_BIT_ARMspecifies that the image can be transitioned to theVK_IMAGE_LAYOUT_TENSOR_ALIASING_ARMlayout. See Memory Aliasing for a complete set of rules for tensor/image aliasing.
Parent
VK_KHR_extended_flagsType
Enum