[−][src]Struct vulkano::image::ImageUsage
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]
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]
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 BitOr<ImageUsage> for ImageUsage
[src]
type Output = Self
The resulting type after applying the |
operator.
fn bitor(self, rhs: Self) -> Self
[src]
impl Clone for ImageUsage
[src]
fn clone(&self) -> ImageUsage
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Copy for ImageUsage
[src]
impl Debug for ImageUsage
[src]
impl Eq for ImageUsage
[src]
impl Hash for ImageUsage
[src]
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl PartialEq<ImageUsage> for ImageUsage
[src]
fn eq(&self, other: &ImageUsage) -> bool
[src]
fn ne(&self, other: &ImageUsage) -> bool
[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> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Content for T
[src]
fn ref_from_ptr(*mut c_void, usize) -> Option<*mut T>
[src]
fn is_size_suitable(usize) -> bool
[src]
fn indiv_size() -> usize
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,