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 just 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.
Implementations
impl ImageUsage
[src]
impl ImageUsage
[src]pub fn all() -> ImageUsage
[src]
pub 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.
pub fn none() -> ImageUsage
[src]
pub 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() };
pub fn color_attachment() -> ImageUsage
[src]
pub fn color_attachment() -> ImageUsage
[src]Builds a ImageUsage with color_attachment set to true and the rest to false.
pub fn depth_stencil_attachment() -> ImageUsage
[src]
pub fn depth_stencil_attachment() -> ImageUsage
[src]Builds a ImageUsage with depth_stencil_attachment set to true and the rest to false.
pub fn transient_color_attachment() -> ImageUsage
[src]
pub fn transient_color_attachment() -> ImageUsage
[src]Builds a ImageUsage with color_attachment and transient_attachment set to true and the rest to false.
pub fn transient_depth_stencil_attachment() -> ImageUsage
[src]
pub fn transient_depth_stencil_attachment() -> ImageUsage
[src]Builds a ImageUsage with depth_stencil_attachment and transient_attachment set to true and the rest to false.
Trait Implementations
impl BitOr<ImageUsage> for ImageUsage
[src]
impl BitOr<ImageUsage> for ImageUsage
[src]impl Clone for ImageUsage
[src]
impl Clone for ImageUsage
[src]fn clone(&self) -> 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]
fn clone_from(&mut self, source: &Self)
1.0.0[src]Performs copy-assignment from source
. Read more
impl Debug for ImageUsage
[src]
impl Debug for ImageUsage
[src]impl From<u32> for ImageUsage
[src]
impl From<u32> for ImageUsage
[src]fn from(val: ImageUsageFlags) -> ImageUsage
[src]
fn from(val: ImageUsageFlags) -> ImageUsage
[src]Performs the conversion.
impl Hash for ImageUsage
[src]
impl Hash for ImageUsage
[src]impl PartialEq<ImageUsage> for ImageUsage
[src]
impl PartialEq<ImageUsage> for ImageUsage
[src]fn eq(&self, other: &ImageUsage) -> bool
[src]
fn eq(&self, other: &ImageUsage) -> bool
[src]This method tests for self
and other
values to be equal, and is used
by ==
. Read more
fn ne(&self, other: &ImageUsage) -> bool
[src]
fn ne(&self, other: &ImageUsage) -> bool
[src]This method tests for !=
.
impl Copy for ImageUsage
[src]
impl Eq for ImageUsage
[src]
impl StructuralEq for ImageUsage
[src]
impl StructuralPartialEq for ImageUsage
[src]
Auto Trait Implementations
impl RefUnwindSafe for ImageUsage
impl Send for ImageUsage
impl Sync for ImageUsage
impl Unpin for ImageUsage
impl UnwindSafe for ImageUsage
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> Content for T
[src]
impl<T> Content for T
[src]pub fn ref_from_ptr(*mut c_void, usize) -> Option<*mut T>
[src]
pub fn ref_from_ptr(*mut c_void, usize) -> Option<*mut T>
[src]Builds a pointer to this type from a raw pointer.
pub fn is_size_suitable(usize) -> bool
[src]
pub fn is_size_suitable(usize) -> bool
[src]Returns true if the size is suitable to store a type like this.
pub fn indiv_size() -> usize
[src]
pub fn indiv_size() -> usize
[src]Returns the size of an individual element.
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more