C Specification
Flags which can be set for a VkAccessFlags2KHR mask are:
// Provided by VK_KHR_synchronization2
// Flag bits for VkAccessFlags2KHR
static const VkAccessFlags2KHR VK_ACCESS_2_NONE_KHR = 0;
static const VkAccessFlags2KHR VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR = 0x00000001;
static const VkAccessFlags2KHR VK_ACCESS_2_INDEX_READ_BIT_KHR = 0x00000002;
static const VkAccessFlags2KHR VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR = 0x00000004;
static const VkAccessFlags2KHR VK_ACCESS_2_UNIFORM_READ_BIT_KHR = 0x00000008;
static const VkAccessFlags2KHR VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR = 0x00000010;
static const VkAccessFlags2KHR VK_ACCESS_2_SHADER_READ_BIT_KHR = 0x00000020;
static const VkAccessFlags2KHR VK_ACCESS_2_SHADER_WRITE_BIT_KHR = 0x00000040;
static const VkAccessFlags2KHR VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR = 0x00000080;
static const VkAccessFlags2KHR VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR = 0x00000100;
static const VkAccessFlags2KHR VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR = 0x00000200;
static const VkAccessFlags2KHR VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR = 0x00000400;
static const VkAccessFlags2KHR VK_ACCESS_2_TRANSFER_READ_BIT_KHR = 0x00000800;
static const VkAccessFlags2KHR VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR = 0x00001000;
static const VkAccessFlags2KHR VK_ACCESS_2_HOST_READ_BIT_KHR = 0x00002000;
static const VkAccessFlags2KHR VK_ACCESS_2_HOST_WRITE_BIT_KHR = 0x00004000;
static const VkAccessFlags2KHR VK_ACCESS_2_MEMORY_READ_BIT_KHR = 0x00008000;
static const VkAccessFlags2KHR VK_ACCESS_2_MEMORY_WRITE_BIT_KHR = 0x00010000;
static const VkAccessFlags2KHR VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR = 0x100000000ULL;
static const VkAccessFlags2KHR VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR = 0x200000000ULL;
static const VkAccessFlags2KHR VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR = 0x400000000ULL;
static const VkAccessFlags2KHR VK_ACCESS_2_RESERVED_READ_35_BIT_KHR = 0x800000000ULL;
static const VkAccessFlags2KHR VK_ACCESS_2_RESERVED_WRITE_36_BIT_KHR = 0x1000000000ULL;
static const VkAccessFlags2KHR VK_ACCESS_2_RESERVED_READ_37_BIT_KHR = 0x2000000000ULL;
static const VkAccessFlags2KHR VK_ACCESS_2_RESERVED_WRITE_38_BIT_KHR = 0x4000000000ULL;
// Provided by VK_KHR_synchronization2 with VK_EXT_transform_feedback
static const VkAccessFlags2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000;
// Provided by VK_KHR_synchronization2 with VK_EXT_transform_feedback
static const VkAccessFlags2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000;
// Provided by VK_KHR_synchronization2 with VK_EXT_transform_feedback
static const VkAccessFlags2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000;
// Provided by VK_KHR_synchronization2 with VK_EXT_conditional_rendering
static const VkAccessFlags2KHR VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000;
// Provided by VK_KHR_synchronization2 with VK_NV_device_generated_commands
static const VkAccessFlags2KHR VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000;
// Provided by VK_KHR_synchronization2 with VK_NV_device_generated_commands
static const VkAccessFlags2KHR VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000;
// Provided by VK_KHR_synchronization2 with VK_KHR_fragment_shading_rate
static const VkAccessFlags2KHR VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000;
// Provided by VK_KHR_synchronization2 with VK_NV_shading_rate_image
static const VkAccessFlags2KHR VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000;
// Provided by VK_KHR_synchronization2 with VK_KHR_acceleration_structure
static const VkAccessFlags2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000;
// Provided by VK_KHR_synchronization2 with VK_KHR_acceleration_structure
static const VkAccessFlags2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000;
// Provided by VK_KHR_synchronization2 with VK_NV_ray_tracing
static const VkAccessFlags2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV = 0x00200000;
// Provided by VK_KHR_synchronization2 with VK_NV_ray_tracing
static const VkAccessFlags2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 0x00400000;
// Provided by VK_KHR_synchronization2 with VK_EXT_fragment_density_map
static const VkAccessFlags2KHR VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000;
// Provided by VK_KHR_synchronization2 with VK_EXT_blend_operation_advanced
static const VkAccessFlags2KHR VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000;
Description
-
VK_ACCESS_2_NONE_KHR
specifies no accesses. -
VK_ACCESS_2_MEMORY_READ_BIT_KHR
specifies all read accesses. It is always valid in any access mask, and is treated as equivalent to setting allREAD
access flags that are valid where it is used. -
VK_ACCESS_2_MEMORY_WRITE_BIT_KHR
specifies all write accesses. It is always valid in any access mask, and is treated as equivalent to setting allWRITE
access flags that are valid where it is used. -
VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR
specifies read access to indirect buffers in theVK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR
pipeline stage. -
VK_ACCESS_2_INDEX_READ_BIT_KHR
specifies read access to an index buffer in theVK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR
pipeline stage. -
VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR
specifies read access to a vertex buffer in theVK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR
pipeline stage. -
VK_ACCESS_2_UNIFORM_READ_BIT_KHR
specifies read access to a uniform buffer in any shader pipeline stage. -
VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR
specifies read access to an input attachment in theVK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR
pipeline stage. -
VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR
specifies read access to a uniform texel buffer or sampled image in any shader pipeline stage. -
VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR
specifies read access to a storage buffer, physical storage buffer, storage texel buffer, or storage image in any shader pipeline stage. -
VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR
specifies write access to a storage buffer, physical storage buffer, storage texel buffer, or storage image in any shader pipeline stage. -
VK_ACCESS_2_SHADER_READ_BIT_KHR
is equivalent to the logical OR of:-
VK_ACCESS_2_UNIFORM_READ_BIT_KHR
-
VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR
-
VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR
-
-
VK_ACCESS_2_SHADER_WRITE_BIT_KHR
is equivalent toVK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR
. -
VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR
specifies read access to a color attachment (excluding advanced blend operations) in theVK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR
pipeline stage. -
VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR
specifies write access to a color or resolve attachment in theVK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR
pipeline stage. -
VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR
specifies read access to a depth/stencil attachment in theVK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR
orVK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR
pipeline stages. -
VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR
specifies write access to a depth/stencil attachment in theVK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR
orVK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR
pipeline stages. -
VK_ACCESS_2_TRANSFER_READ_BIT_KHR
specifies read access to an image or buffer in theVK_PIPELINE_STAGE_2_COPY_BIT_KHR
,VK_PIPELINE_STAGE_2_BLIT_BIT_KHR
, orVK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR
pipeline stages. -
VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR
specifies write access to an image or buffer in theVK_PIPELINE_STAGE_2_COPY_BIT_KHR
,VK_PIPELINE_STAGE_2_BLIT_BIT_KHR
,VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR
, orVK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR
pipeline stages. -
VK_ACCESS_2_HOST_READ_BIT_KHR
specifies read access to memory in theVK_PIPELINE_STAGE_2_HOST_BIT_KHR
pipeline stage. -
VK_ACCESS_2_HOST_WRITE_BIT_KHR
specifies write access to memory in theVK_PIPELINE_STAGE_2_HOST_BIT_KHR
pipeline stage. -
VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT
specifies read access to a predicate in theVK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT
pipeline stage. -
VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT
specifies write access to a transform feedback buffer in theVK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT
pipeline stage. -
VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT
specifies read access to a transform feedback counter buffer in theVK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT
pipeline stage. -
VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT
specifies write access to a transform feedback counter buffer in theVK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT
pipeline stage. -
VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV
specifies reads fromVkBuffer
inputs to vkCmdPreprocessGeneratedCommandsNV in theVK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV
pipeline stage. -
VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV
specifies writes to the target command buffer in theVK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV
pipeline stage. -
VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT
specifies read access to color attachments, including advanced blend operations, in theVK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR
pipeline stage. -
VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV
specifies read access to a shading rate image in theVK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV
pipeline stage. -
VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR
specifies read access to an acceleration structure in theVK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR
orVK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR
pipeline stages. -
VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR
specifies write access to an acceleration structure in theVK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR
pipeline stage. -
VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT
specifies read access to a fragment density map attachment in theVK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT
pipeline stage.
Note
In situations where an application wishes to select all access types for a
given set of pipeline stages, |
Note
The |
Document Notes
For more information, see the Vulkan Specification
This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.