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,
}
Expand description
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
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.
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()
};
Builds a ImageUsage with color_attachment set to true and the rest to false.
Builds a ImageUsage with depth_stencil_attachment set to true and the rest to false.
Builds a ImageUsage with color_attachment and transient_attachment set to true and the rest to false.
Builds a ImageUsage with depth_stencil_attachment and transient_attachment set to true and the rest to false.
Trait Implementations
Performs the conversion.
Performs the conversion.
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
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
Mutably borrows from an owned value. Read more
Builds a pointer to this type from a raw pointer.
Returns true if the size is suitable to store a type like this.
Returns the size of an individual element.