Struct vulkano::image::ImageUsage
[−]
[src]
pub struct ImageUsage { pub transfer_source: bool, pub transfer_destination: bool, pub sampled: bool, pub storage: bool, pub color_attachment: bool, pub depth_stencil_attachment: bool, pub transient_attachment: bool, pub input_attachment: bool, }
Describes how an image is going to be used. This is not an optimization.
If you try to use an image in a way that you didn't declare, a panic will happen.
If transient_attachment
is true, then only color_attachment
, depth_stencil_attachment
and input_attachment
can be true as well. The rest must be false or an error will be returned
when creating the image.
Fields
transfer_source: bool
Can be used as a source for transfers. Includes blits.
transfer_destination: bool
Can be used as a destination for transfers. Includes blits.
sampled: bool
Can be sampled from a shader.
storage: bool
Can be used as an image storage in a shader.
color_attachment: bool
Can be attached as a color attachment to a framebuffer.
depth_stencil_attachment: bool
Can be attached as a depth, stencil or depth-stencil attachment to a framebuffer.
transient_attachment: bool
Indicates that this image will only ever be used as a temporary framebuffer attachment. As soon as you leave a render pass, the content of transient images becomes undefined.
This is a hint to the Vulkan implementation that it may not need allocate any memory for this image if the image can live entirely in some cache.
input_attachment: bool
Can be used as an input attachment. In other words, you can draw to it in a subpass then read from it in a following pass.
Methods
impl ImageUsage
[src]
fn all() -> ImageUsage
[src]
Builds a ImageUsage
with all values set to true. Note that using the returned value will
produce an error because of transient_attachment
being true.
fn none() -> ImageUsage
[src]
Builds a ImageUsage
with all values set to false. Useful as a default value.
Example
use vulkano::image::ImageUsage as ImageUsage; let _usage = ImageUsage { transfer_destination: true, sampled: true, .. ImageUsage::none() };
Trait Implementations
impl Debug for ImageUsage
[src]
impl Copy for ImageUsage
[src]
impl Clone for ImageUsage
[src]
fn clone(&self) -> ImageUsage
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl PartialEq for ImageUsage
[src]
fn eq(&self, __arg_0: &ImageUsage) -> bool
[src]
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &ImageUsage) -> bool
[src]
This method tests for !=
.
impl Eq for ImageUsage
[src]
impl Hash for ImageUsage
[src]
fn hash<__H: Hasher>(&self, __arg_0: &mut __H)
[src]
Feeds this value into the given [Hasher
]. Read more
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
Feeds a slice of this type into the given [Hasher
]. Read more