Enum
VkImageUsageFlagBits
Bitmask specifying intended usage of an image
Bits which can be set in
- VkImageViewUsageCreateInfo::
usage
- VkImageStencilUsageCreateInfo::
stencilUsage
- VkImageCreateInfo::
usage
specify intended usage of an image, and are:
typedef enum VkImageUsageFlagBits {
VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001,
VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002,
VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004,
VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008,
VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010,
VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020,
VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040,
VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080,
} VkImageUsageFlagBits;
VK_IMAGE_USAGE_TRANSFER_SRC_BIT
specifies that the image can be used as the source of a transfer command.VK_IMAGE_USAGE_TRANSFER_DST_BIT
specifies that the image can be used as the destination of a transfer command.VK_IMAGE_USAGE_SAMPLED_BIT
specifies that the image can be used to create aVkImageView
suitable for occupying aVkDescriptorSet
slot either of typeVK_DESCRIPTOR_TYPE_SAMPLED_IMAGE
orVK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER
, and be sampled by a shader.VK_IMAGE_USAGE_STORAGE_BIT
specifies that the image can be used to create aVkImageView
suitable for occupying aVkDescriptorSet
slot of typeVK_DESCRIPTOR_TYPE_STORAGE_IMAGE
.VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT
specifies that the image can be used to create aVkImageView
suitable for use as a color or resolve attachment in aVkFramebuffer
.VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
specifies that the image can be used to create aVkImageView
suitable for use as a depth/stencil or depth/stencil resolve attachment in aVkFramebuffer
.VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT
specifies that implementations may support using memory allocations with theVK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT
to back an image with this usage. This bit can be set for any image that can be used to create aVkImageView
suitable for use as a color, resolve, depth/stencil, or input attachment.VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT
specifies that the image can be used to create aVkImageView
suitable for occupyingVkDescriptorSet
slot 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_FRAGMENT_DENSITY_MAP_BIT_EXT
specifies that the image can be used to create aVkImageView
suitable for use as a fragment density map image.VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
specifies that the image can be used to create aVkImageView
suitable for use as a fragment shading rate attachment or shading rate imageVK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR
specifies that the image can be used as a decode output picture in a video decode operation.VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR
is reserved for future use.VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR
specifies that the image can be used as an output reconstructed picture or an input reference picture in a video decode operation.VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR
is reserved for future use.VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR
specifies that the image can be used as an encode input picture in a video encode operation.VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR
specifies that the image can be used as an output reconstructed picture or an input reference picture in a video encode operation.VK_IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT
specifies that the image can be transitioned to theVK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT
layout to be used as a color or depth/stencil attachment in aVkFramebuffer
and/or as a read-only input resource in a shader (sampled image, combined image sampler or input attachment) in the same render pass.VK_IMAGE_USAGE_HOST_TRANSFER_BIT_EXT
specifies that the image can be used with host copy commands and host layout transitions.