Enum sierra::Layout[][src]

pub enum Layout {
    General,
    ColorAttachmentOptimal,
    DepthStencilAttachmentOptimal,
    DepthStencilReadOnlyOptimal,
    ShaderReadOnlyOptimal,
    TransferSrcOptimal,
    TransferDstOptimal,
    Present,
}

Image layout defines how texels are placed in memory. Operations can be used in one or more layouts. User is responsible to insert layout transition commands to ensure that the image is in valid layout for each operation. Pipeline barriers can be used to change layouts. Additionally render pass can change layout of its attachments.

Variants

General

Can be used with all device operations. Only presentation is not possible in this layout. Operations may perform slower in this layout.

ColorAttachmentOptimal

Can be used for color attachments.

DepthStencilAttachmentOptimal

Can be used for depth-stencil attachments.

DepthStencilReadOnlyOptimal

Can be used for depth-stencil attachments without writes.

ShaderReadOnlyOptimal

Can be used for images accessed from shaders without writes.

TransferSrcOptimal

Can be used for copy, blit and other transferring operations on source image.

TransferDstOptimal

Can be used for copy, blit and other transferring operations on destination image.

Present

Layout for swapchain images presentation. Should not be used if presentation feature is not enabled.

Trait Implementations

impl Clone for Layout[src]

impl Copy for Layout[src]

impl Debug for Layout[src]

impl Eq for Layout[src]

impl Hash for Layout[src]

impl PartialEq<Layout> for Layout[src]

impl StructuralEq for Layout[src]

impl StructuralPartialEq for Layout[src]

Auto Trait Implementations

impl RefUnwindSafe for Layout

impl Send for Layout

impl Sync for Layout

impl Unpin for Layout

impl UnwindSafe for Layout

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.