[][src]Trait vulkano::framebuffer::RenderPassDesc

pub unsafe trait RenderPassDesc: RenderPassDescClearValues<Vec<ClearValue>> {
    fn num_attachments(&self) -> usize;
fn attachment_desc(&self, num: usize) -> Option<AttachmentDescription>;
fn num_subpasses(&self) -> usize;
fn subpass_desc(&self, num: usize) -> Option<PassDescription>;
fn num_dependencies(&self) -> usize;
fn dependency_desc(&self, num: usize) -> Option<PassDependencyDescription>; fn attachment_descs(&self) -> RenderPassDescAttachments<'_, Self>

Notable traits for RenderPassDescAttachments<'a, R>

impl<'a, R: ?Sized + 'a> Iterator for RenderPassDescAttachments<'a, R> where
    R: RenderPassDesc
type Item = AttachmentDescription;

    where
        Self: Sized
, { ... }
fn subpass_descs(&self) -> RenderPassDescSubpasses<'_, Self>

Notable traits for RenderPassDescSubpasses<'a, R>

impl<'a, R: ?Sized + 'a> Iterator for RenderPassDescSubpasses<'a, R> where
    R: RenderPassDesc
type Item = PassDescription;

    where
        Self: Sized
, { ... }
fn dependency_descs(&self) -> RenderPassDescDependencies<'_, Self>

Notable traits for RenderPassDescDependencies<'a, R>

impl<'a, R: ?Sized + 'a> Iterator for RenderPassDescDependencies<'a, R> where
    R: RenderPassDesc
type Item = PassDependencyDescription;

    where
        Self: Sized
, { ... }
fn is_compatible_with<T: ?Sized>(&self, other: &T) -> bool
    where
        Self: Sized,
        T: RenderPassDesc
, { ... }
fn build_render_pass(
        self,
        device: Arc<Device>
    ) -> Result<RenderPass<Self>, RenderPassCreationError>
    where
        Self: Sized
, { ... }
fn num_color_attachments(&self, subpass: u32) -> Option<u32> { ... }
fn num_samples(&self, subpass: u32) -> Option<u32> { ... }
fn has_depth_stencil_attachment(&self, subpass: u32) -> Option<(bool, bool)> { ... }
fn has_depth(&self, subpass: u32) -> Option<bool> { ... }
fn has_writable_depth(&self, subpass: u32) -> Option<bool> { ... }
fn has_stencil(&self, subpass: u32) -> Option<bool> { ... }
fn has_writable_stencil(&self, subpass: u32) -> Option<bool> { ... } }

Trait for objects that contain the description of a render pass.

See also all the traits whose name start with RenderPassDesc (eg. RenderPassDescAttachments or TODO: rename existing traits to match this). They are extensions to this trait.

Safety

TODO: finish this section

Required methods

fn num_attachments(&self) -> usize

Returns the number of attachments of the render pass.

fn attachment_desc(&self, num: usize) -> Option<AttachmentDescription>

Returns the description of an attachment.

Returns None if num is greater than or equal to num_attachments().

fn num_subpasses(&self) -> usize

Returns the number of subpasses of the render pass.

fn subpass_desc(&self, num: usize) -> Option<PassDescription>

Returns the description of a subpass.

Returns None if num is greater than or equal to num_subpasses().

fn num_dependencies(&self) -> usize

Returns the number of dependencies of the render pass.

fn dependency_desc(&self, num: usize) -> Option<PassDependencyDescription>

Returns the description of a dependency.

Returns None if num is greater than or equal to num_dependencies().

Loading content...

Provided methods

fn attachment_descs(&self) -> RenderPassDescAttachments<'_, Self>

Notable traits for RenderPassDescAttachments<'a, R>

impl<'a, R: ?Sized + 'a> Iterator for RenderPassDescAttachments<'a, R> where
    R: RenderPassDesc
type Item = AttachmentDescription;
where
    Self: Sized

Returns an iterator to the list of attachments.

fn subpass_descs(&self) -> RenderPassDescSubpasses<'_, Self>

Notable traits for RenderPassDescSubpasses<'a, R>

impl<'a, R: ?Sized + 'a> Iterator for RenderPassDescSubpasses<'a, R> where
    R: RenderPassDesc
type Item = PassDescription;
where
    Self: Sized

Returns an iterator to the list of subpasses.

fn dependency_descs(&self) -> RenderPassDescDependencies<'_, Self>

Notable traits for RenderPassDescDependencies<'a, R>

impl<'a, R: ?Sized + 'a> Iterator for RenderPassDescDependencies<'a, R> where
    R: RenderPassDesc
type Item = PassDependencyDescription;
where
    Self: Sized

Returns an iterator to the list of dependencies.

fn is_compatible_with<T: ?Sized>(&self, other: &T) -> bool where
    Self: Sized,
    T: RenderPassDesc

Returns true if this render pass is compatible with another render pass.

Two render passes that contain one subpass are compatible if they are identical. Two render passes that contain more than one subpass are compatible if they are identical except for the load/store operations and the image layouts.

This function is just a shortcut for the RenderPassCompatible trait.

fn build_render_pass(
    self,
    device: Arc<Device>
) -> Result<RenderPass<Self>, RenderPassCreationError> where
    Self: Sized

Builds a render pass from this description.

Note: This function is just a shortcut for RenderPass::new.

fn num_color_attachments(&self, subpass: u32) -> Option<u32>

Returns the number of color attachments of a subpass. Returns None if out of range.

fn num_samples(&self, subpass: u32) -> Option<u32>

Returns the number of samples of the attachments of a subpass. Returns None if out of range or if the subpass has no attachment. TODO: return an enum instead?

fn has_depth_stencil_attachment(&self, subpass: u32) -> Option<(bool, bool)>

Returns a tuple whose first element is true if there's a depth attachment, and whose second element is true if there's a stencil attachment. Returns None if out of range.

fn has_depth(&self, subpass: u32) -> Option<bool>

Returns true if a subpass has a depth attachment or a depth-stencil attachment.

fn has_writable_depth(&self, subpass: u32) -> Option<bool>

Returns true if a subpass has a depth attachment or a depth-stencil attachment whose layout is not DepthStencilReadOnlyOptimal.

fn has_stencil(&self, subpass: u32) -> Option<bool>

Returns true if a subpass has a stencil attachment or a depth-stencil attachment.

fn has_writable_stencil(&self, subpass: u32) -> Option<bool>

Returns true if a subpass has a stencil attachment or a depth-stencil attachment whose layout is not DepthStencilReadOnlyOptimal.

Loading content...

Implementors

impl RenderPassDesc for EmptySinglePassRenderPassDesc[src]

impl<D> RenderPassDesc for RenderPass<D> where
    D: RenderPassDesc
[src]

impl<Mv, L, Rp> RenderPassDesc for GraphicsPipeline<Mv, L, Rp> where
    Rp: RenderPassDesc
[src]

impl<Rp, A> RenderPassDesc for Framebuffer<Rp, A> where
    Rp: RenderPassDesc
[src]

impl<T> RenderPassDesc for T where
    T: SafeDeref,
    T::Target: RenderPassDesc
[src]

Loading content...