Struct vulkano::sync::AccessFlags
source · pub struct AccessFlags {Show 37 fields
pub indirect_command_read: bool,
pub index_read: bool,
pub vertex_attribute_read: bool,
pub uniform_read: bool,
pub input_attachment_read: bool,
pub shader_read: bool,
pub shader_write: bool,
pub color_attachment_read: bool,
pub color_attachment_write: bool,
pub depth_stencil_attachment_read: bool,
pub depth_stencil_attachment_write: bool,
pub transfer_read: bool,
pub transfer_write: bool,
pub host_read: bool,
pub host_write: bool,
pub memory_read: bool,
pub memory_write: bool,
pub shader_sampled_read: bool,
pub shader_storage_read: bool,
pub shader_storage_write: bool,
pub video_decode_read: bool,
pub video_decode_write: bool,
pub video_encode_read: bool,
pub video_encode_write: bool,
pub transform_feedback_write: bool,
pub transform_feedback_counter_read: bool,
pub transform_feedback_counter_write: bool,
pub conditional_rendering_read: bool,
pub command_preprocess_read: bool,
pub command_preprocess_write: bool,
pub fragment_shading_rate_attachment_read: bool,
pub acceleration_structure_read: bool,
pub acceleration_structure_write: bool,
pub fragment_density_map_read: bool,
pub color_attachment_read_noncoherent: bool,
pub invocation_mask_read: bool,
pub _ne: NonExhaustive,
}
Expand description
A set of memory access types that are included in a memory dependency.
Fields
indirect_command_read: bool
Read access to an indirect buffer.
index_read: bool
Read access to an index buffer.
vertex_attribute_read: bool
Read access to a vertex buffer.
uniform_read: bool
Read access to a uniform buffer in a shader.
input_attachment_read: bool
Read access to an input attachment in a fragment shader, within a render pass.
shader_read: bool
Read access to a buffer or image in a shader.
It is currently equivalent to setting all of the following flags, but automatically omitting any that are not supported in a given context. It also implicitly includes future flags that are added to Vulkan, if they are not yet supported by Vulkano.
uniform_read
shader_sampled_read
shader_storage_read
shader_write: bool
Write access to a buffer or image in a shader.
It is currently equivalent to shader_storage_write
. It also implicitly includes future
flags that are added to Vulkan, if they are not yet supported by Vulkano.
color_attachment_read: bool
Read access to a color attachment during blending, logic operations or subpass load operations.
color_attachment_write: bool
Write access to a color, resolve or depth/stencil resolve attachment during a render pass or subpass store operations.
depth_stencil_attachment_read: bool
Read access to a depth/stencil attachment during depth/stencil operations or subpass load operations.
depth_stencil_attachment_write: bool
Write access to a depth/stencil attachment during depth/stencil operations or subpass store operations.
transfer_read: bool
Read access to a buffer or image during a copy, blit or resolve command.
transfer_write: bool
Write access to a buffer or image during a copy, blit, resolve or clear command.
host_read: bool
Read access performed by the host.
host_write: bool
Write access performed by the host.
memory_read: bool
Any type of read access.
This is equivalent to setting all _read
flags that are allowed in the given context.
memory_write: bool
Any type of write access.
This is equivalent to setting all _write
flags that are allowed in the given context.
shader_sampled_read: bool
Read access to a uniform texel buffer or sampled image in a shader.
shader_storage_read: bool
Read access to a storage buffer, storage texel buffer or storage image in a shader.
shader_storage_write: bool
Write access to a storage buffer, storage texel buffer or storage image in a shader.
video_decode_read: bool
Read access to an image or buffer as part of a video decode operation.
video_decode_write: bool
Write access to an image or buffer as part of a video decode operation.
video_encode_read: bool
Read access to an image or buffer as part of a video encode operation.
video_encode_write: bool
Write access to an image or buffer as part of a video encode operation.
transform_feedback_write: bool
Write access to a transform feedback buffer during transform feedback operations.
transform_feedback_counter_read: bool
Read access to a transform feedback counter buffer during transform feedback operations.
transform_feedback_counter_write: bool
Write access to a transform feedback counter buffer during transform feedback operations.
conditional_rendering_read: bool
Read access to a predicate during conditional rendering.
command_preprocess_read: bool
Read access to preprocess buffers input to preprocess_generated_commands
.
command_preprocess_write: bool
Read access to sequences buffers output by preprocess_generated_commands
.
fragment_shading_rate_attachment_read: bool
Read access to a fragment shading rate attachment during rasterization.
acceleration_structure_read: bool
Read access to an acceleration structure or acceleration structure scratch buffer during trace, build or copy commands.
acceleration_structure_write: bool
Write access to an acceleration structure or acceleration structure scratch buffer during trace, build or copy commands.
fragment_density_map_read: bool
Read access to a fragment density map attachment during dynamic fragment density map operations.
color_attachment_read_noncoherent: bool
Read access to color attachments when performing advanced blend operations.
invocation_mask_read: bool
Read access to an invocation mask image.
_ne: NonExhaustive
Implementations
sourceimpl AccessFlags
impl AccessFlags
sourcepub const fn none() -> Self
👎Deprecated since 0.31.0: Use empty
instead.
pub const fn none() -> Self
empty
instead.Returns a AccessFlags
with none of the flags set.
sourcepub const fn intersects(&self, other: &Self) -> bool
pub const fn intersects(&self, other: &Self) -> bool
Returns whether any flags are set in both self
and other
.
sourcepub const fn contains(&self, other: &Self) -> bool
pub const fn contains(&self, other: &Self) -> bool
Returns whether all flags in other
are set in self
.
sourcepub const fn intersection(&self, other: &Self) -> Self
pub const fn intersection(&self, other: &Self) -> Self
Returns the intersection of self
and other
.
sourcepub const fn difference(&self, other: &Self) -> Self
pub const fn difference(&self, other: &Self) -> Self
Returns self
without the flags set in other
.
sourcepub const fn symmetric_difference(&self, other: &Self) -> Self
pub const fn symmetric_difference(&self, other: &Self) -> Self
Returns the flags set in self
or other
, but not both.
Trait Implementations
sourceimpl BitAnd<AccessFlags> for AccessFlags
impl BitAnd<AccessFlags> for AccessFlags
type Output = AccessFlags
type Output = AccessFlags
&
operator.sourceimpl BitAndAssign<AccessFlags> for AccessFlags
impl BitAndAssign<AccessFlags> for AccessFlags
sourcefn bitand_assign(&mut self, rhs: Self)
fn bitand_assign(&mut self, rhs: Self)
&=
operation. Read moresourceimpl BitOr<AccessFlags> for AccessFlags
impl BitOr<AccessFlags> for AccessFlags
type Output = AccessFlags
type Output = AccessFlags
|
operator.sourceimpl BitOrAssign<AccessFlags> for AccessFlags
impl BitOrAssign<AccessFlags> for AccessFlags
sourcefn bitor_assign(&mut self, rhs: Self)
fn bitor_assign(&mut self, rhs: Self)
|=
operation. Read moresourceimpl BitXor<AccessFlags> for AccessFlags
impl BitXor<AccessFlags> for AccessFlags
type Output = AccessFlags
type Output = AccessFlags
^
operator.sourceimpl BitXorAssign<AccessFlags> for AccessFlags
impl BitXorAssign<AccessFlags> for AccessFlags
sourcefn bitxor_assign(&mut self, rhs: Self)
fn bitxor_assign(&mut self, rhs: Self)
^=
operation. Read moresourceimpl Clone for AccessFlags
impl Clone for AccessFlags
sourcefn clone(&self) -> AccessFlags
fn clone(&self) -> AccessFlags
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresourceimpl Debug for AccessFlags
impl Debug for AccessFlags
sourceimpl Default for AccessFlags
impl Default for AccessFlags
sourceimpl From<AccessFlags> for AccessFlags
impl From<AccessFlags> for AccessFlags
sourcefn from(val: AccessFlags) -> Self
fn from(val: AccessFlags) -> Self
sourceimpl From<AccessFlags> for AccessFlags2
impl From<AccessFlags> for AccessFlags2
sourcefn from(val: AccessFlags) -> Self
fn from(val: AccessFlags) -> Self
sourceimpl From<AccessFlags2> for AccessFlags
impl From<AccessFlags2> for AccessFlags
sourcefn from(val: AccessFlags2) -> Self
fn from(val: AccessFlags2) -> Self
sourceimpl Hash for AccessFlags
impl Hash for AccessFlags
sourceimpl PartialEq<AccessFlags> for AccessFlags
impl PartialEq<AccessFlags> for AccessFlags
sourcefn eq(&self, other: &AccessFlags) -> bool
fn eq(&self, other: &AccessFlags) -> bool
sourceimpl Sub<AccessFlags> for AccessFlags
impl Sub<AccessFlags> for AccessFlags
type Output = AccessFlags
type Output = AccessFlags
-
operator.sourceimpl SubAssign<AccessFlags> for AccessFlags
impl SubAssign<AccessFlags> for AccessFlags
sourcefn sub_assign(&mut self, rhs: Self)
fn sub_assign(&mut self, rhs: Self)
-=
operation. Read more