pub struct PassDescription {
    pub color_attachments: Vec<(usize, ImageLayout)>,
    pub depth_stencil: Option<(usize, ImageLayout)>,
    pub input_attachments: Vec<(usize, ImageLayout)>,
    pub resolve_attachments: Vec<(usize, ImageLayout)>,
    pub preserve_attachments: Vec<usize>,
}
Expand description

Describes one of the passes of a render pass.

Restrictions

All these restrictions are checked when the RenderPass object is created. TODO: that’s not the case ^

  • The number of color attachments must be less than the limit of the physical device.
  • All the attachments in color_attachments and depth_stencil must have the same samples count.
  • If any attachment is used as both an input attachment and a color or depth/stencil attachment, then each use must use the same layout.
  • Elements of preserve_attachments must not be used in any of the other members.
  • If resolve_attachments is not empty, then all the resolve attachments must be attachments with 1 sample and all the color attachments must have more than 1 sample.
  • If resolve_attachments is not empty, all the resolve attachments must have the same format as the color attachments.
  • If the first use of an attachment in this renderpass is as an input attachment and the attachment is not also used as a color or depth/stencil attachment in the same subpass, then the loading operation must not be Clear.

Fields

color_attachments: Vec<(usize, ImageLayout)>

Indices and layouts of attachments to use as color attachments.

depth_stencil: Option<(usize, ImageLayout)>

Index and layout of the attachment to use as depth-stencil attachment.

input_attachments: Vec<(usize, ImageLayout)>

Indices and layouts of attachments to use as input attachments.

resolve_attachments: Vec<(usize, ImageLayout)>

If not empty, each color attachment will be resolved into each corresponding entry of this list.

If this value is not empty, it must be the same length as color_attachments.

preserve_attachments: Vec<usize>

Indices of attachments that will be preserved during this pass.

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
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.

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.