You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Trac3r-rust/doc/vulkano/framebuffer/trait.RenderPassDesc.html

79 lines
60 KiB

5 years ago
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `RenderPassDesc` trait in crate `vulkano`."><meta name="keywords" content="rust, rustlang, rust-lang, RenderPassDesc"><title>vulkano::framebuffer::RenderPassDesc - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="shortcut icon" href="../../favicon.ico"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">&#9776;</div><a href='../../vulkano/index.html'><div class='logo-container'><img src='https://raw.githubusercontent.com/vulkano-rs/vulkano/master/logo.png' alt='logo'></div></a><p class='location'>Trait RenderPassDesc</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.attachment_desc">attachment_desc</a><a href="#tymethod.dependency_desc">dependency_desc</a><a href="#tymethod.num_attachments">num_attachments</a><a href="#tymethod.num_dependencies">num_dependencies</a><a href="#tymethod.num_subpasses">num_subpasses</a><a href="#tymethod.subpass_desc">subpass_desc</a></div><a class="sidebar-title" href="#provided-methods">Provided Methods</a><div class="sidebar-links"><a href="#method.attachment_descs">attachment_descs</a><a href="#method.build_render_pass">build_render_pass</a><a href="#method.dependency_descs">dependency_descs</a><a href="#method.has_depth">has_depth</a><a href="#method.has_depth_stencil_attachment">has_depth_stencil_attachment</a><a href="#method.has_stencil">has_stencil</a><a href="#method.has_writable_depth">has_writable_depth</a><a href="#method.has_writable_stencil">has_writable_stencil</a><a href="#method.is_compatible_with">is_compatible_with</a><a href="#method.num_color_attachments">num_color_attachments</a><a href="#method.num_samples">num_samples</a><a href="#method.subpass_descs">subpass_descs</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class='location'><a href='../index.html'>vulkano</a>::<wbr><a href='index.html'>framebuffer</a></p><script>window.sidebarCurrent = {name: 'RenderPassDesc', ty: 'trait', relpath: ''};</script><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form js-only"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>&#x2212;</span>]</a></span><a class='srclink' href='../../src/vulkano/framebuffer/desc.rs.html#45-311' title='goto source code'>[src]</a></span><span class='in-band'>Trait <a href='../index.html'>vulkano</a>::<wbr><a href='index.ht
fn <a href='#tymethod.num_attachments' class='fnname'>num_attachments</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>;
<div class='item-spacer'></div> fn <a href='#tymethod.attachment_desc' class='fnname'>attachment_desc</a>(&amp;self, num: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../vulkano/framebuffer/struct.AttachmentDescription.html" title="struct vulkano::framebuffer::AttachmentDescription">AttachmentDescription</a>&gt;;
<div class='item-spacer'></div> fn <a href='#tymethod.num_subpasses' class='fnname'>num_subpasses</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>;
<div class='item-spacer'></div> fn <a href='#tymethod.subpass_desc' class='fnname'>subpass_desc</a>(&amp;self, num: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../vulkano/framebuffer/struct.PassDescription.html" title="struct vulkano::framebuffer::PassDescription">PassDescription</a>&gt;;
<div class='item-spacer'></div> fn <a href='#tymethod.num_dependencies' class='fnname'>num_dependencies</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>;
<div class='item-spacer'></div> fn <a href='#tymethod.dependency_desc' class='fnname'>dependency_desc</a>(&amp;self, num: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../vulkano/framebuffer/struct.PassDependencyDescription.html" title="struct vulkano::framebuffer::PassDependencyDescription">PassDependencyDescription</a>&gt;;
fn <a href='#method.attachment_descs' class='fnname'>attachment_descs</a>(&amp;self) -&gt; <a class="struct" href="../../vulkano/framebuffer/struct.RenderPassDescAttachments.html" title="struct vulkano::framebuffer::RenderPassDescAttachments">RenderPassDescAttachments</a>&lt;Self&gt;<br>&nbsp;&nbsp;&nbsp; <span class="where">where<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a></span>,
{ ... }
<div class='item-spacer'></div> fn <a href='#method.subpass_descs' class='fnname'>subpass_descs</a>(&amp;self) -&gt; <a class="struct" href="../../vulkano/framebuffer/struct.RenderPassDescSubpasses.html" title="struct vulkano::framebuffer::RenderPassDescSubpasses">RenderPassDescSubpasses</a>&lt;Self&gt;<br>&nbsp;&nbsp;&nbsp; <span class="where">where<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a></span>,
{ ... }
<div class='item-spacer'></div> fn <a href='#method.dependency_descs' class='fnname'>dependency_descs</a>(&amp;self) -&gt; <a class="struct" href="../../vulkano/framebuffer/struct.RenderPassDescDependencies.html" title="struct vulkano::framebuffer::RenderPassDescDependencies">RenderPassDescDependencies</a>&lt;Self&gt;<br>&nbsp;&nbsp;&nbsp; <span class="where">where<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a></span>,
{ ... }
<div class='item-spacer'></div> fn <a href='#method.is_compatible_with' class='fnname'>is_compatible_with</a>&lt;T:&nbsp;?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>&gt;(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;</a>T) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><br>&nbsp;&nbsp;&nbsp; <span class="where">where<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="../../vulkano/framebuffer/trait.RenderPassDesc.html" title="trait vulkano::framebuffer::RenderPassDesc">RenderPassDesc</a></span>,
{ ... }
<div class='item-spacer'></div> fn <a href='#method.build_render_pass' class='fnname'>build_render_pass</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;device: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a class="struct" href="../../vulkano/device/struct.Device.html" title="struct vulkano::device::Device">Device</a>&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../../vulkano/framebuffer/struct.RenderPass.html" title="struct vulkano::framebuffer::RenderPass">RenderPass</a>&lt;Self&gt;, <a class="enum" href="../../vulkano/framebuffer/enum.RenderPassCreationError.html" title="enum vulkano::framebuffer::RenderPassCreationError">RenderPassCreationError</a>&gt;<br>&nbsp;&nbsp;&nbsp; <span class="where">where<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a></span>,
{ ... }
<div class='item-spacer'></div> fn <a href='#method.num_color_attachments' class='fnname'>num_color_attachments</a>(&amp;self, subpass: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>&gt; { ... }
<div class='item-spacer'></div> fn <a href='#method.num_samples' class='fnname'>num_samples</a>(&amp;self, subpass: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>&gt; { ... }
<div class='item-spacer'></div> fn <a href='#method.has_depth_stencil_attachment' class='fnname'>has_depth_stencil_attachment</a>(&amp;self, subpass: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>&gt; { ... }
<div class='item-spacer'></div> fn <a href='#method.has_depth' class='fnname'>has_depth</a>(&amp;self, subpass: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>&gt; { ... }
<div class='item-spacer'></div> fn <a href='#method.has_writable_depth' class='fnname'>has_writable_depth</a>(&amp;self, subpass: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>&gt; { ... }
<div class='item-spacer'></div> fn <a href='#method.has_stencil' class='fnname'>has_stencil</a>(&amp;self, subpass: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>&gt; { ... }
<div class='item-spacer'></div> fn <a href='#method.has_writable_stencil' class='fnname'>has_writable_stencil</a>(&amp;self, subpass: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>&gt; { ... }
}</pre></div><div class='docblock'><p>Trait for objects that contain the description of a render pass.</p>
<p>See also all the traits whose name start with <code>RenderPassDesc</code> (eg. <code>RenderPassDescAttachments</code>
or TODO: rename existing traits to match this). They are extensions to this trait.</p>
<h1 id="safety" class="section-header"><a href="#safety">Safety</a></h1>
<p>TODO: finish this section</p>
<ul>
<li>All color and depth/stencil attachments used by any given subpass must have the same number
of samples.</li>
<li>The trait methods should always return the same values, unless you modify the description
through a mutable borrow. Once you pass the <code>RenderPassDesc</code> object to vulkano, you can still
access it through the <code>RenderPass::desc()</code> method that returns a shared borrow to the
description. It must not be possible for a shared borrow to modify the description in such a
way that the description changes.</li>
<li>The provided methods shouldn't be overridden with fancy implementations. For example
<code>build_render_pass</code> must build a render pass from the description and not a different one.</li>
</ul>
</div>
<h2 id='required-methods' class='small-section-header'>Required methods<a href='#required-methods' class='anchor'></a></h2><div class='methods'><h3 id='tymethod.num_attachments' class='method'><code id='num_attachments.v'>fn <a href='#tymethod.num_attachments' class='fnname'>num_attachments</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h3><div class='docblock'><p>Returns the number of attachments of the render pass.</p>
</div><h3 id='tymethod.attachment_desc' class='method'><code id='attachment_desc.v'>fn <a href='#tymethod.attachment_desc' class='fnname'>attachment_desc</a>(&amp;self, num: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../vulkano/framebuffer/struct.AttachmentDescription.html" title="struct vulkano::framebuffer::AttachmentDescription">AttachmentDescription</a>&gt;</code></h3><div class='docblock'><p>Returns the description of an attachment.</p>
<p>Returns <code>None</code> if <code>num</code> is greater than or equal to <code>num_attachments()</code>.</p>
</div><h3 id='tymethod.num_subpasses' class='method'><code id='num_subpasses.v'>fn <a href='#tymethod.num_subpasses' class='fnname'>num_subpasses</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h3><div class='docblock'><p>Returns the number of subpasses of the render pass.</p>
</div><h3 id='tymethod.subpass_desc' class='method'><code id='subpass_desc.v'>fn <a href='#tymethod.subpass_desc' class='fnname'>subpass_desc</a>(&amp;self, num: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../vulkano/framebuffer/struct.PassDescription.html" title="struct vulkano::framebuffer::PassDescription">PassDescription</a>&gt;</code></h3><div class='docblock'><p>Returns the description of a subpass.</p>
<p>Returns <code>None</code> if <code>num</code> is greater than or equal to <code>num_subpasses()</code>.</p>
</div><h3 id='tymethod.num_dependencies' class='method'><code id='num_dependencies.v'>fn <a href='#tymethod.num_dependencies' class='fnname'>num_dependencies</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h3><div class='docblock'><p>Returns the number of dependencies of the render pass.</p>
</div><h3 id='tymethod.dependency_desc' class='method'><code id='dependency_desc.v'>fn <a href='#tymethod.dependency_desc' class='fnname'>dependency_desc</a>(&amp;self, num: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../vulkano/framebuffer/struct.PassDependencyDescription.html" title="struct vulkano::framebuffer::PassDependencyDescription">PassDependencyDescription</a>&gt;</code></h3><div class='docblock'><p>Returns the description of a dependency.</p>
<p>Returns <code>None</code> if <code>num</code> is greater than or equal to <code>num_dependencies()</code>.</p>
</div></div><span class='loading-content'>Loading content...</span>
<h2 id='provided-methods' class='small-section-header'>Provided methods<a href='#provided-methods' class='anchor'></a></h2><div class='methods'><h3 id='method.attachment_descs' class='method'><div class="important-traits"><div class='tooltip'><span class='tooltiptext'>Important traits for <a class="struct" href="../../vulkano/framebuffer/struct.RenderPassDescAttachments.html" title="struct vulkano::framebuffer::RenderPassDescAttachments">RenderPassDescAttachments</a>&lt;'a, R&gt;</span></div><div class="content hidden"><h3 class="important">Important traits for <a class="struct" href="../../vulkano/framebuffer/struct.RenderPassDescAttachments.html" title="struct vulkano::framebuffer::RenderPassDescAttachments">RenderPassDescAttachments</a>&lt;'a, R&gt;</h3><code class="content"><span class="where fmt-newline">impl&lt;'a, R:&nbsp;?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + 'a&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a> for <a class="struct" href="../../vulkano/framebuffer/struct.RenderPassDescAttachments.html" title="struct vulkano::framebuffer::RenderPassDescAttachments">RenderPassDescAttachments</a>&lt;'a, R&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;R: <a class="trait" href="../../vulkano/framebuffer/trait.RenderPassDesc.html" title="trait vulkano::framebuffer::RenderPassDesc">RenderPassDesc</a>,&nbsp;</span></span><span class="where fmt-newline"> type <a href='https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item' class="type">Item</a> = <a class="struct" href="../../vulkano/framebuffer/struct.AttachmentDescription.html" title="struct vulkano::framebuffer::AttachmentDescription">AttachmentDescription</a>;</span></code></div></div><code id='attachment_descs.v'>fn <a href='#method.attachment_descs' class='fnname'>attachment_descs</a>(&amp;self) -&gt; <a class="struct" href="../../vulkano/framebuffer/struct.RenderPassDescAttachments.html" title="struct vulkano::framebuffer::RenderPassDescAttachments">RenderPassDescAttachments</a>&lt;Self&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code></h3><div class='docblock'><p>Returns an iterator to the list of attachments.</p>
</div><h3 id='method.subpass_descs' class='method'><div class="important-traits"><div class='tooltip'><span class='tooltiptext'>Important traits for <a class="struct" href="../../vulkano/framebuffer/struct.RenderPassDescSubpasses.html" title="struct vulkano::framebuffer::RenderPassDescSubpasses">RenderPassDescSubpasses</a>&lt;'a, R&gt;</span></div><div class="content hidden"><h3 class="important">Important traits for <a class="struct" href="../../vulkano/framebuffer/struct.RenderPassDescSubpasses.html" title="struct vulkano::framebuffer::RenderPassDescSubpasses">RenderPassDescSubpasses</a>&lt;'a, R&gt;</h3><code class="content"><span class="where fmt-newline">impl&lt;'a, R:&nbsp;?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + 'a&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a> for <a class="struct" href="../../vulkano/framebuffer/struct.RenderPassDescSubpasses.html" title="struct vulkano::framebuffer::RenderPassDescSubpasses">RenderPassDescSubpasses</a>&lt;'a, R&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;R: <a class="trait" href="../../vulkano/framebuffer/trait.RenderPassDesc.html" title="trait vulkano::framebuffer::RenderPassDesc">RenderPassDesc</a>,&nbsp;</span></span><span class="where fmt-newline"> type <a href='https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item' class="type">Item</a> = <a class="struct" href="../../vulkano/framebuffer/struct.PassDescription.html" title="struct vulkano::framebuffer::PassDescription">PassDescription</a>;</span></code></div></div><code id='subpass_descs.v'>fn <a href='#method.subpass_descs' class='fnname'>subpass_descs</a>(&amp;self) -&gt; <a class="struct" href="../../vulkano/framebuffer/struct.RenderPassDescSubpasses.html" title="struct vulkano::framebuffer::RenderPassDescSubpasses">RenderPassDescSubpasses</a>&lt;Self&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code></h3><div class='docblock'><p>Returns an iterator to the list of subpasses.</p>
</div><h3 id='method.dependency_descs' class='method'><div class="important-traits"><div class='tooltip'><span class='tooltiptext'>Important traits for <a class="struct" href="../../vulkano/framebuffer/struct.RenderPassDescDependencies.html" title="struct vulkano::framebuffer::RenderPassDescDependencies">RenderPassDescDependencies</a>&lt;'a, R&gt;</span></div><div class="content hidden"><h3 class="important">Important traits for <a class="struct" href="../../vulkano/framebuffer/struct.RenderPassDescDependencies.html" title="struct vulkano::framebuffer::RenderPassDescDependencies">RenderPassDescDependencies</a>&lt;'a, R&gt;</h3><code class="content"><span class="where fmt-newline">impl&lt;'a, R:&nbsp;?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + 'a&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a> for <a class="struct" href="../../vulkano/framebuffer/struct.RenderPassDescDependencies.html" title="struct vulkano::framebuffer::RenderPassDescDependencies">RenderPassDescDependencies</a>&lt;'a, R&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;R: <a class="trait" href="../../vulkano/framebuffer/trait.RenderPassDesc.html" title="trait vulkano::framebuffer::RenderPassDesc">RenderPassDesc</a>,&nbsp;</span></span><span class="where fmt-newline"> type <a href='https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item' class="type">Item</a> = <a class="struct" href="../../vulkano/framebuffer/struct.PassDependencyDescription.html" title="struct vulkano::framebuffer::PassDependencyDescription">PassDependencyDescription</a>;</span></code></div></div><code id='dependency_descs.v'>fn <a href='#method.dependency_descs' class='fnname'>dependency_descs</a>(&amp;self) -&gt; <a class="struct" href="../../vulkano/framebuffer/struct.RenderPassDescDependencies.html" title="struct vulkano::framebuffer::RenderPassDescDependencies">RenderPassDescDependencies</a>&lt;Self&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code></h3><div class='docblock'><p>Returns an iterator to the list of dependencies.</p>
</div><h3 id='method.is_compatible_with' class='method'><code id='is_compatible_with.v'>fn <a href='#method.is_compatible_with' class='fnname'>is_compatible_with</a>&lt;T:&nbsp;?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>&gt;(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;</a>T) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="../../vulkano/framebuffer/trait.RenderPassDesc.html" title="trait vulkano::framebuffer::RenderPassDesc">RenderPassDesc</a>,&nbsp;</span></code></h3><div class='docblock'><p>Returns true if this render pass is compatible with another render pass.</p>
<p>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.</p>
<p>This function is just a shortcut for the <code>RenderPassCompatible</code> trait.</p>
</div><h3 id='method.build_render_pass' class='method'><code id='build_render_pass.v'>fn <a href='#method.build_render_pass' class='fnname'>build_render_pass</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;self, <br>&nbsp;&nbsp;&nbsp;&nbsp;device: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a class="struct" href="../../vulkano/device/struct.Device.html" title="struct vulkano::device::Device">Device</a>&gt;<br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../../vulkano/framebuffer/struct.RenderPass.html" title="struct vulkano::framebuffer::RenderPass">RenderPass</a>&lt;Self&gt;, <a class="enum" href="../../vulkano/framebuffer/enum.RenderPassCreationError.html" title="enum vulkano::framebuffer::RenderPassCreationError">RenderPassCreationError</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code></h3><div class='docblock'><p>Builds a render pass from this description.</p>
<blockquote>
<p><strong>Note</strong>: This function is just a shortcut for <code>RenderPass::new</code>.</p>
</blockquote>
</div><h3 id='method.num_color_attachments' class='method'><code id='num_color_attachments.v'>fn <a href='#method.num_color_attachments' class='fnname'>num_color_attachments</a>(&amp;self, subpass: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>&gt;</code></h3><div class='docblock'><p>Returns the number of color attachments of a subpass. Returns <code>None</code> if out of range.</p>
</div><h3 id='method.num_samples' class='method'><code id='num_samples.v'>fn <a href='#method.num_samples' class='fnname'>num_samples</a>(&amp;self, subpass: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>&gt;</code></h3><div class='docblock'><p>Returns the number of samples of the attachments of a subpass. Returns <code>None</code> if out of
range or if the subpass has no attachment. TODO: return an enum instead?</p>
</div><h3 id='method.has_depth_stencil_attachment' class='method'><code id='has_depth_stencil_attachment.v'>fn <a href='#method.has_depth_stencil_attachment' class='fnname'>has_depth_stencil_attachment</a>(&amp;self, subpass: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>&gt;</code></h3><div class='docblock'><p>Returns a tuple whose first element is <code>true</code> if there's a depth attachment, and whose
second element is <code>true</code> if there's a stencil attachment. Returns <code>None</code> if out of range.</p>
</div><h3 id='method.has_depth' class='method'><code id='has_depth.v'>fn <a href='#method.has_depth' class='fnname'>has_depth</a>(&amp;self, subpass: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>&gt;</code></h3><div class='docblock'><p>Returns true if a subpass has a depth attachment or a depth-stencil attachment.</p>
</div><h3 id='method.has_writable_depth' class='method'><code id='has_writable_depth.v'>fn <a href='#method.has_writable_depth' class='fnname'>has_writable_depth</a>(&amp;self, subpass: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>&gt;</code></h3><div class='docblock'><p>Returns true if a subpass has a depth attachment or a depth-stencil attachment whose
layout is not <code>DepthStencilReadOnlyOptimal</code>.</p>
</div><h3 id='method.has_stencil' class='method'><code id='has_stencil.v'>fn <a href='#method.has_stencil' class='fnname'>has_stencil</a>(&amp;self, subpass: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>&gt;</code></h3><div class='docblock'><p>Returns true if a subpass has a stencil attachment or a depth-stencil attachment.</p>
</div><h3 id='method.has_writable_stencil' class='method'><code id='has_writable_stencil.v'>fn <a href='#method.has_writable_stencil' class='fnname'>has_writable_stencil</a>(&amp;self, subpass: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>&gt;</code></h3><div class='docblock'><p>Returns true if a subpass has a stencil attachment or a depth-stencil attachment whose
layout is not <code>DepthStencilReadOnlyOptimal</code>.</p>
</div></div><span class='loading-content'>Loading content...</span>
<h2 id='implementors' class='small-section-header'>Implementors<a href='#implementors' class='anchor'></a></h2><div class='item-list' id='implementors-list'><h3 id='impl-RenderPassDesc' class='impl'><code class='in-band'>impl RenderPassDesc for <a class="struct" href="../../vulkano/framebuffer/struct.EmptySinglePassRenderPassDesc.html" title="struct vulkano::framebuffer::EmptySinglePassRenderPassDesc">EmptySinglePassRenderPassDesc</a></code><a href='#impl-RenderPassDesc' class='anchor'></a><a class='srclink' href='../../src/vulkano/framebuffer/empty.rs.html#35-114' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.num_attachments' class="method hidden"><code id='num_attachments.v-1'>fn <a href='#method.num_attachments' class='fnname'>num_attachments</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a class='srclink' href='../../src/vulkano/framebuffer/empty.rs.html#37-39' title='goto source code'>[src]</a></h4><h4 id='method.attachment_desc' class="method hidden"><code id='attachment_desc.v-1'>fn <a href='#method.attachment_desc' class='fnname'>attachment_desc</a>(&amp;self, _: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../vulkano/framebuffer/struct.AttachmentDescription.html" title="struct vulkano::framebuffer::AttachmentDescription">AttachmentDescription</a>&gt;</code><a class='srclink' href='../../src/vulkano/framebuffer/empty.rs.html#42-44' title='goto source code'>[src]</a></h4><h4 id='method.num_subpasses' class="method hidden"><code id='num_subpasses.v-1'>fn <a href='#method.num_subpasses' class='fnname'>num_subpasses</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a class='srclink' href='../../src/vulkano/framebuffer/empty.rs.html#47-49' title='goto source code'>[src]</a></h4><h4 id='method.subpass_desc' class="method hidden"><code id='subpass_desc.v-1'>fn <a href='#method.subpass_desc' class='fnname'>subpass_desc</a>(&amp;self, num: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../vulkano/framebuffer/struct.PassDescription.html" title="struct vulkano::framebuffer::PassDescription">PassDescription</a>&gt;</code><a class='srclink' href='../../src/vulkano/framebuffer/empty.rs.html#52-64' title='goto source code'>[src]</a></h4><h4 id='method.num_dependencies' class="method hidden"><code id='num_dependencies.v-1'>fn <a href='#method.num_dependencies' class='fnname'>num_dependencies</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a class='srclink' href='../../src/vulkano/framebuffer/empty.rs.html#67-69' title='goto source code'>[src]</a></h4><h4 id='method.dependency_desc' class="method hidden"><code id='dependency_desc.v-1'>fn <a href='#method.dependency_desc' class='fnname'>dependency_desc</a>(&amp;self, _: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../vulkano/framebuffer/struct.PassDependencyDescription.html" title="struct vulkano::framebuffer::PassDependencyDescription">PassDependencyDescription</a>&gt;</code><a class='srclink' href='../../src/vulkano/framebuffer/empty.rs.html#72-74' title='goto source code'>[src]</a></h4><h4 id='method.num_color_attachments-1' class="method hidden"><code id='num_color_attachments.v-1'>fn <a href='#method.num_color_attachments-1' class='fnname'>num_color_attachments
src="../../implementors/vulkano/framebuffer/trait.RenderPassDesc.js">
</script></section><section id="search" class="content hidden"></section><section class="footer"></section><aside id="help" class="hidden"><div><h1 class="hidden">Help</h1><div class="shortcuts"><h2>Keyboard Shortcuts</h2><dl><dt><kbd>?</kbd></dt><dd>Show this help dialog</dd><dt><kbd>S</kbd></dt><dd>Focus the search field</dd><dt><kbd></kbd></dt><dd>Move up in search results</dd><dt><kbd></kbd></dt><dd>Move down in search results</dd><dt><kbd></kbd></dt><dd>Switch tab</dd><dt><kbd>&#9166;</kbd></dt><dd>Go to active search result</dd><dt><kbd>+</kbd></dt><dd>Expand all sections</dd><dt><kbd>-</kbd></dt><dd>Collapse all sections</dd></dl></div><div class="infos"><h2>Search Tricks</h2><p>Prefix searches with a type followed by a colon (e.g., <code>fn:</code>) to restrict the search to a given type.</p><p>Accepted types are: <code>fn</code>, <code>mod</code>, <code>struct</code>, <code>enum</code>, <code>trait</code>, <code>type</code>, <code>macro</code>, and <code>const</code>.</p><p>Search functions by type signature (e.g., <code>vec -> usize</code> or <code>* -> vec</code>)</p><p>Search multiple things at once by splitting your query with comma (e.g., <code>str,u8</code> or <code>String,struct:Vec,test</code>)</p></div></div></aside><script>window.rootPath = "../../";window.currentCrate = "vulkano";</script><script src="../../aliases.js"></script><script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>