# Enum Class VulkanAccessFlag

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

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

public enum VulkanAccessFlag extends Enum<VulkanAccessFlag> implements VulkanEnumBitmaskType
Bitmask specifying memory access types that will participate in a memory dependency.

See Also:
  - "VkAccessFlagBits"

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from class java.lang.Enum

  `Enum.EnumDesc<E extends Enum<E>>`

- ## Enum Constant Summary

  Enum Constants
  Enum Constant
  Description
  `VK_ACCESS_COLOR_ATTACHMENT_READ_BIT`
  VK_ACCESS_COLOR_ATTACHMENT_READ_BIT specifies read access to a color attachment, such as via blending, logic operations, or via certain subpass load operations.
  `VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT`
  VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT is similar to VK_ACCESS_COLOR_ATTACHMENT_READ_BIT, but also includes advanced blend operations.
  `VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT`
  VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT specifies write access to a color or resolve attachment during a render pass or via certain subpass load and store operations.
  `VK_ACCESS_COMMAND_PROCESS_READ_BIT_NVX`
  VK_ACCESS_COMMAND_PROCESS_READ_BIT_NVX specifies reads from VkBuffer inputs to vkCmdProcessCommandsNVX.
  `VK_ACCESS_COMMAND_PROCESS_WRITE_BIT_NVX`
  VK_ACCESS_COMMAND_PROCESS_WRITE_BIT_NVX specifies writes to the target command buffer in vkCmdProcessCommandsNVX.
  `VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT`
  VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT specifies read access to a depth/stencil attachment, via depth or stencil operations or via certain subpass load operations.
  `VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT`
  VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT specifies write access to a depth/stencil attachment, via depth or stencil operations or via certain subpass load and store operations.
  `VK_ACCESS_HOST_READ_BIT`
  VK_ACCESS_HOST_READ_BIT specifies read access by a host operation.
  `VK_ACCESS_HOST_WRITE_BIT`
  VK_ACCESS_HOST_WRITE_BIT specifies write access by a host operation.
  `VK_ACCESS_INDEX_READ_BIT`
  VK_ACCESS_INDEX_READ_BIT specifies read access to an index buffer as part of an indexed drawing command, bound by vkCmdBindIndexBuffer.
  `VK_ACCESS_INDIRECT_COMMAND_READ_BIT`
  VK_ACCESS_INDIRECT_COMMAND_READ_BIT specifies read access to an indirect command structure read as part of an indirect drawing or dispatch command.
  `VK_ACCESS_INPUT_ATTACHMENT_READ_BIT`
  VK_ACCESS_INPUT_ATTACHMENT_READ_BIT specifies read access to an input attachment within a render pass during fragment shading.
  `VK_ACCESS_MEMORY_READ_BIT`
  VK_ACCESS_MEMORY_READ_BIT specifies read access via non-specific entities.
  `VK_ACCESS_MEMORY_WRITE_BIT`
  VK_ACCESS_MEMORY_WRITE_BIT specifies write access via non-specific entities.
  `VK_ACCESS_SHADER_READ_BIT`
  VK_ACCESS_SHADER_READ_BIT specifies read access to a storage buffer, uniform texel buffer, storage texel buffer, sampled image, or storage image.
  `VK_ACCESS_SHADER_WRITE_BIT`
  VK_ACCESS_SHADER_WRITE_BIT specifies write access to a storage buffer, storage texel buffer, or storage image.
  `VK_ACCESS_TRANSFER_READ_BIT`
  VK_ACCESS_TRANSFER_READ_BIT specifies read access to an image or buffer in a copy operation.
  `VK_ACCESS_TRANSFER_WRITE_BIT`
  VK_ACCESS_TRANSFER_WRITE_BIT specifies write access to an image or buffer in a clear or copy operation.
  `VK_ACCESS_UNIFORM_READ_BIT`
  VK_ACCESS_UNIFORM_READ_BIT specifies read access to a uniform buffer.
  `VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT`
  VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT specifies read access to a vertex buffer as part of a drawing command, bound by vkCmdBindVertexBuffers.

- ## Method Summary

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

  ### Methods inherited from class java.lang.Enum

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

  ### Methods inherited from class java.lang.Object

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

- ## Enum Constant Details

  - ### VK_ACCESS_INDIRECT_COMMAND_READ_BIT

    public static final VulkanAccessFlag VK_ACCESS_INDIRECT_COMMAND_READ_BIT
    VK_ACCESS_INDIRECT_COMMAND_READ_BIT specifies read access to an indirect command structure read as part of an indirect drawing or dispatch command.

  - ### VK_ACCESS_INDEX_READ_BIT

    public static final VulkanAccessFlag VK_ACCESS_INDEX_READ_BIT
    VK_ACCESS_INDEX_READ_BIT specifies read access to an index buffer as part of an indexed drawing command, bound by vkCmdBindIndexBuffer.

  - ### VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT

    public static final VulkanAccessFlag VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT
    VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT specifies read access to a vertex buffer as part of a drawing command, bound by vkCmdBindVertexBuffers.

  - ### VK_ACCESS_UNIFORM_READ_BIT

    public static final VulkanAccessFlag VK_ACCESS_UNIFORM_READ_BIT
    VK_ACCESS_UNIFORM_READ_BIT specifies read access to a uniform buffer.

  - ### VK_ACCESS_INPUT_ATTACHMENT_READ_BIT

    public static final VulkanAccessFlag VK_ACCESS_INPUT_ATTACHMENT_READ_BIT
    VK_ACCESS_INPUT_ATTACHMENT_READ_BIT specifies read access to an input attachment within a render pass during fragment shading.

  - ### VK_ACCESS_SHADER_READ_BIT

    public static final VulkanAccessFlag VK_ACCESS_SHADER_READ_BIT
    VK_ACCESS_SHADER_READ_BIT specifies read access to a storage buffer, uniform texel buffer, storage texel buffer, sampled image, or storage image.

  - ### VK_ACCESS_SHADER_WRITE_BIT

    public static final VulkanAccessFlag VK_ACCESS_SHADER_WRITE_BIT
    VK_ACCESS_SHADER_WRITE_BIT specifies write access to a storage buffer, storage texel buffer, or storage image.

  - ### VK_ACCESS_COLOR_ATTACHMENT_READ_BIT

    public static final VulkanAccessFlag VK_ACCESS_COLOR_ATTACHMENT_READ_BIT
    VK_ACCESS_COLOR_ATTACHMENT_READ_BIT specifies read access to a color attachment, such as via blending, logic operations, or via certain subpass load operations. It does not include advanced blend operations.

  - ### VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT

    public static final VulkanAccessFlag VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT
    VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT specifies write access to a color or resolve attachment during a render pass or via certain subpass load and store operations.

  - ### VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT

    public static final VulkanAccessFlag VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT
    VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT specifies read access to a depth/stencil attachment, via depth or stencil operations or via certain subpass load operations.

  - ### VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT

    public static final VulkanAccessFlag VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT
    VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT specifies write access to a depth/stencil attachment, via depth or stencil operations or via certain subpass load and store operations.

  - ### VK_ACCESS_TRANSFER_READ_BIT

    public static final VulkanAccessFlag VK_ACCESS_TRANSFER_READ_BIT
    VK_ACCESS_TRANSFER_READ_BIT specifies read access to an image or buffer in a copy operation.

  - ### VK_ACCESS_TRANSFER_WRITE_BIT

    public static final VulkanAccessFlag VK_ACCESS_TRANSFER_WRITE_BIT
    VK_ACCESS_TRANSFER_WRITE_BIT specifies write access to an image or buffer in a clear or copy operation.

  - ### VK_ACCESS_HOST_READ_BIT

    public static final VulkanAccessFlag VK_ACCESS_HOST_READ_BIT
    VK_ACCESS_HOST_READ_BIT specifies read access by a host operation. Accesses of this type are not performed through a resource, but directly on memory.

  - ### VK_ACCESS_HOST_WRITE_BIT

    public static final VulkanAccessFlag VK_ACCESS_HOST_WRITE_BIT
    VK_ACCESS_HOST_WRITE_BIT specifies write access by a host operation. Accesses of this type are not performed through a resource, but directly on memory.

  - ### VK_ACCESS_MEMORY_READ_BIT

    public static final VulkanAccessFlag VK_ACCESS_MEMORY_READ_BIT
    VK_ACCESS_MEMORY_READ_BIT specifies read access via non-specific entities. These entities include the Vulkan device and host, but may also include entities external to the Vulkan device or otherwise not part of the core Vulkan pipeline. When included in a destination access mask, makes all available writes visible to all future read accesses on entities known to the Vulkan device.

  - ### VK_ACCESS_MEMORY_WRITE_BIT

    public static final VulkanAccessFlag VK_ACCESS_MEMORY_WRITE_BIT
    VK_ACCESS_MEMORY_WRITE_BIT specifies write access via non-specific entities. These entities include the Vulkan device and host, but may also include entities external to the Vulkan device or otherwise not part of the core Vulkan pipeline. When included in a source access mask, all writes that are performed by entities known to the Vulkan device are made available. When included in a destination access mask, makes all available writes visible to all future write accesses on entities known to the Vulkan device.

  - ### VK_ACCESS_COMMAND_PROCESS_READ_BIT_NVX

    public static final VulkanAccessFlag VK_ACCESS_COMMAND_PROCESS_READ_BIT_NVX
    VK_ACCESS_COMMAND_PROCESS_READ_BIT_NVX specifies reads from VkBuffer inputs to vkCmdProcessCommandsNVX.

  - ### VK_ACCESS_COMMAND_PROCESS_WRITE_BIT_NVX

    public static final VulkanAccessFlag VK_ACCESS_COMMAND_PROCESS_WRITE_BIT_NVX
    VK_ACCESS_COMMAND_PROCESS_WRITE_BIT_NVX specifies writes to the target command buffer in vkCmdProcessCommandsNVX.

  - ### VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT

    public static final VulkanAccessFlag VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT
    VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT is similar to VK_ACCESS_COLOR_ATTACHMENT_READ_BIT, but also includes advanced blend operations.

- ## Method Details

  - ### values

    public static VulkanAccessFlag[] 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 VulkanAccessFlag 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