Struct vulkano::image::sys::Usage [] [src]

pub struct Usage {
    pub transfer_source: bool,
    pub transfer_dest: 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

Can be used a source for transfers. Includes blits.

Can be used a destination for transfers. Includes blits.

Can be sampled from a shader.

Can be used as an image storage in a shader.

Can be attached as a color attachment to a framebuffer.

Can be attached as a depth, stencil or depth-stencil attachment to a framebuffer.

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.

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 Usage
[src]

Builds a Usage with all values set to true. Note that using the returned value will produce an error because of transient_attachment being true.

Builds a Usage with all values set to false. Useful as a default value.

Example

use vulkano::image::Usage as ImageUsage;

let _usage = ImageUsage {
    transfer_dest: true,
    sampled: true,
    .. ImageUsage::none()
};

Trait Implementations

impl Debug for Usage
[src]

Formats the value using the given formatter.

impl Copy for Usage
[src]

impl Clone for Usage
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl PartialEq for Usage
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl Eq for Usage
[src]

impl Hash for Usage
[src]

Feeds this value into the state given, updating the hasher as necessary.

Feeds a slice of this type into the state provided.