Struct vulkano::framebuffer::PassDescription
source · 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
anddepth_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
sourceimpl Clone for PassDescription
impl Clone for PassDescription
sourcefn clone(&self) -> PassDescription
fn clone(&self) -> PassDescription
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto Trait Implementations
impl RefUnwindSafe for PassDescription
impl Send for PassDescription
impl Sync for PassDescription
impl Unpin for PassDescription
impl UnwindSafe for PassDescription
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Content for T
impl<T> Content for T
sourcefn ref_from_ptr<'a>(ptr: *mut c_void, size: usize) -> Option<*mut T>
fn ref_from_ptr<'a>(ptr: *mut c_void, size: usize) -> Option<*mut T>
Builds a pointer to this type from a raw pointer.
sourcefn is_size_suitable(size: usize) -> bool
fn is_size_suitable(size: usize) -> bool
Returns true if the size is suitable to store a type like this.
sourcefn indiv_size() -> usize
fn indiv_size() -> usize
Returns the size of an individual element.