# Enum Class VulkanFormatFeatureFlag

java.lang.Object
java.lang.Enum<VulkanFormatFeatureFlag>
com.io7m.jcoronado.api.VulkanFormatFeatureFlag

All Implemented Interfaces:
  `VulkanEnumBitmaskType, Serializable, Comparable<VulkanFormatFeatureFlag>, Constable`

public enum VulkanFormatFeatureFlag extends Enum<VulkanFormatFeatureFlag> implements VulkanEnumBitmaskType

See Also:
  - "VkFormatFeatureFlagBits"

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from class Enum

  `Enum.EnumDesc<E>`

- ## Enum Constant Summary

  Enum Constants
  Enum Constant
  Description
  `VK_FORMAT_FEATURE_BLIT_DST_BIT`
  Specifies that an image can be used as dstImage for the vkCmdBlitImage command.
  `VK_FORMAT_FEATURE_BLIT_SRC_BIT`
  Specifies that an image can be used as srcImage for the vkCmdBlitImage command.
  `VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT`
  Specifies that an image view can be used as a framebuffer color attachment and as an input attachment.
  `VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT`
  Specifies that an image view can be used as a framebuffer color attachment that supports blending and as an input attachment.
  `VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT`
  Specifies that an application can define a sampler Y’CBCR conversion using this format as a source, and that an image of this format can be used with a VkSamplerYcbcrConversionCreateInfo xChromaOffset and/or yChromaOffset of VK_CHROMA_LOCATION_COSITED_EVEN.
  `VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT`
  Specifies that an image view can be used as a framebuffer depth/stencil attachment and as an input attachment.
  `VK_FORMAT_FEATURE_DISJOINT_BIT`
  Specifies that a multi-planar image can have the VK_IMAGE_CREATE_DISJOINT_BIT set during image creation.
  `VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT`
  Specifies that an image view can be used as a fragment density map attachment.
  `VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT`
  Specifies that an application can define a sampler Y’CBCR conversion using this format as a source, and that an image of this format can be used with a VkSamplerYcbcrConversionCreateInfo xChromaOffset and/or yChromaOffset of VK_CHROMA_LOCATION_MIDPOINT.
  `VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT`
  Specifies that an image view can be sampled from.
  `VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG`
  Specifies that VkImage can be used with a sampler that has either of magFilter or minFilter set to VK_FILTER_CUBIC_IMG, or be the source image for a blit with filter set to VK_FILTER_CUBIC_IMG.
  `VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT`
  Specifies that if VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT is also set, an image view can be used with a sampler that has either of magFilter or minFilter set to VK_FILTER_LINEAR, or mipmapMode set to VK_SAMPLER_MIPMAP_MODE_LINEAR.
  `VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT`
  Specifies VkImage can be used as a sampled image with a min or max VkSamplerReductionModeEXT.
  `VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT`
  Specifies that an image view can be used as storage image that supports atomic operations.
  `VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT`
  Specifies that an image view can be used as a storage images.
  `VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT`
  Specifies that atomic operations are supported on VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER with this format.
  `VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT`
  Specifies that the format can be used to create a buffer view that can be bound to a VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER descriptor.
  `VK_FORMAT_FEATURE_TRANSFER_DST_BIT`
  Specifies that an image can be used as a destination image for copy commands and clear commands.
  `VK_FORMAT_FEATURE_TRANSFER_SRC_BIT`
  Specifies that an image can be used as a source image for copy commands.
  `VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT`
  Specifies that the format can be used to create a buffer view that can be bound to a VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER descriptor.
  `VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT`
  Specifies that the format can be used as a vertex attribute format.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `value()`
  `static VulkanFormatFeatureFlag`
  `valueOf(String name)`
  Returns the enum constant of this class with the specified name.
  `static VulkanFormatFeatureFlag[]`
  `values()`
  Returns an array containing the constants of this enum class, in the order they are declared.

  ### Methods inherited from class Enum

  `clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

  ### Methods inherited from class Object

  `getClass, notify, notifyAll, wait, wait, wait`

- ## Enum Constant Details

  - ### VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT

    public static final VulkanFormatFeatureFlag VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
    Specifies that an image view can be sampled from.

  - ### VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT

    public static final VulkanFormatFeatureFlag VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT
    Specifies that an image view can be used as a storage images.

  - ### VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT

    public static final VulkanFormatFeatureFlag VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT
    Specifies that an image view can be used as storage image that supports atomic operations.

  - ### VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT

    public static final VulkanFormatFeatureFlag VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT
    Specifies that an image view can be used as a framebuffer color attachment and as an input attachment.

  - ### VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT

    public static final VulkanFormatFeatureFlag VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT
    Specifies that an image view can be used as a framebuffer color attachment that supports blending and as an input attachment.

  - ### VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT

    public static final VulkanFormatFeatureFlag VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT
    Specifies that an image view can be used as a framebuffer depth/stencil attachment and as an input attachment.

  - ### VK_FORMAT_FEATURE_BLIT_SRC_BIT

    public static final VulkanFormatFeatureFlag VK_FORMAT_FEATURE_BLIT_SRC_BIT
    Specifies that an image can be used as srcImage for the vkCmdBlitImage command.

  - ### VK_FORMAT_FEATURE_BLIT_DST_BIT

    public static final VulkanFormatFeatureFlag VK_FORMAT_FEATURE_BLIT_DST_BIT
    Specifies that an image can be used as dstImage for the vkCmdBlitImage command.

  - ### VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT

    public static final VulkanFormatFeatureFlag VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
    Specifies that if VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT is also set, an image view can be used with a sampler that has either of magFilter or minFilter set to VK_FILTER_LINEAR, or mipmapMode set to VK_SAMPLER_MIPMAP_MODE_LINEAR. If VK_FORMAT_FEATURE_BLIT_SRC_BIT is also set, an image can be used as the srcImage to vkCmdBlitImage with a filter of VK_FILTER_LINEAR. This bit must only be exposed for formats that also support the VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT or VK_FORMAT_FEATURE_BLIT_SRC_BIT. If the format being queried is a depth/stencil format, this bit only specifies that the depth aspect (not the stencil aspect) of an image of this format supports linear filtering, and that linear filtering of the depth aspect is supported whether depth compare is enabled in the sampler or not. If this bit is not present, linear filtering with depth compare disabled is unsupported and linear filtering with depth compare enabled is supported, but may compute the filtered value in an implementation-dependent manner which differs from the normal rules of linear filtering. The resulting value must be in the range [0,1] and should be proportional to, or a weighted average of, the number of comparison passes or failures.

  - ### VK_FORMAT_FEATURE_TRANSFER_SRC_BIT

    public static final VulkanFormatFeatureFlag VK_FORMAT_FEATURE_TRANSFER_SRC_BIT
    Specifies that an image can be used as a source image for copy commands.

  - ### VK_FORMAT_FEATURE_TRANSFER_DST_BIT

    public static final VulkanFormatFeatureFlag VK_FORMAT_FEATURE_TRANSFER_DST_BIT
    Specifies that an image can be used as a destination image for copy commands and clear commands.

  - ### VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT

    public static final VulkanFormatFeatureFlag VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT
    Specifies VkImage can be used as a sampled image with a min or max VkSamplerReductionModeEXT. This bit must only be exposed for formats that also support the VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT.

  - ### VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG

    public static final VulkanFormatFeatureFlag VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG
    Specifies that VkImage can be used with a sampler that has either of magFilter or minFilter set to VK_FILTER_CUBIC_IMG, or be the source image for a blit with filter set to VK_FILTER_CUBIC_IMG. This bit must only be exposed for formats that also support the VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT. If the format being queried is a depth/stencil format, this only specifies that the depth aspect is cubic filterable.

  - ### VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT

    public static final VulkanFormatFeatureFlag VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT
    Specifies that an application can define a sampler Y’CBCR conversion using this format as a source, and that an image of this format can be used with a VkSamplerYcbcrConversionCreateInfo xChromaOffset and/or yChromaOffset of VK_CHROMA_LOCATION_MIDPOINT. Otherwise both xChromaOffset and yChromaOffset must be VK_CHROMA_LOCATION_COSITED_EVEN. If a format does not incorporate chroma downsampling (it is not a “422” or “420” format) but the implementation supports sampler Y’CBCR conversion for this format, the implementation must set VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT.

  - ### VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT

    public static final VulkanFormatFeatureFlag VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT
    Specifies that an application can define a sampler Y’CBCR conversion using this format as a source, and that an image of this format can be used with a VkSamplerYcbcrConversionCreateInfo xChromaOffset and/or yChromaOffset of VK_CHROMA_LOCATION_COSITED_EVEN. Otherwise both xChromaOffset and yChromaOffset must be VK_CHROMA_LOCATION_MIDPOINT. If neither VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT nor VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT is set, the application must not define a sampler Y’CBCR conversion using this format as a source.

  - ### VK_FORMAT_FEATURE_DISJOINT_BIT

    public static final VulkanFormatFeatureFlag VK_FORMAT_FEATURE_DISJOINT_BIT
    Specifies that a multi-planar image can have the VK_IMAGE_CREATE_DISJOINT_BIT set during image creation. An implementation must not set VK_FORMAT_FEATURE_DISJOINT_BIT for single-plane formats.

  - ### VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT

    public static final VulkanFormatFeatureFlag VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT
    Specifies that an image view can be used as a fragment density map attachment.

  - ### VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT

    public static final VulkanFormatFeatureFlag VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT
    Specifies that the format can be used to create a buffer view that can be bound to a VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER descriptor.

  - ### VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT

    public static final VulkanFormatFeatureFlag VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT
    Specifies that the format can be used to create a buffer view that can be bound to a VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER descriptor.

  - ### VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT

    public static final VulkanFormatFeatureFlag VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT
    Specifies that atomic operations are supported on VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER with this format.

  - ### VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT

    public static final VulkanFormatFeatureFlag VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT
    Specifies that the format can be used as a vertex attribute format.

- ## Method Details

  - ### values

    public static VulkanFormatFeatureFlag[] values()
    Returns an array containing the constants of this enum class, in the order they are declared.
    Returns:
      an array containing the constants of this enum class, in the order they are declared

  - ### valueOf

    public static VulkanFormatFeatureFlag valueOf(String name)
    Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
    Parameters:
      `name` - the name of the enum constant to be returned.
    Returns:
      the enum constant with the specified name
    Throws:
      `IllegalArgumentException` - if this enum class has no constant with the specified name
      `NullPointerException` - if the argument is null

  - ### value

    public int value()
    Specified by:
      `value` in interface `VulkanEnumBitmaskType`
    Returns:
      The integer value of the constant