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/buffer/cpu_access/struct.CpuAccessibleBuffer....

53 lines
60 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!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 `CpuAccessibleBuffer` struct in crate `vulkano`."><meta name="keywords" content="rust, rustlang, rust-lang, CpuAccessibleBuffer"><title>vulkano::buffer::cpu_access::CpuAccessibleBuffer - 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 struct"><!--[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'>Struct CpuAccessibleBuffer</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#methods">Methods</a><div class="sidebar-links"><a href="#method.from_data">from_data</a><a href="#method.from_iter">from_iter</a><a href="#method.queue_families">queue_families</a><a href="#method.raw">raw</a><a href="#method.read">read</a><a href="#method.uninitialized">uninitialized</a><a href="#method.uninitialized_array">uninitialized_array</a><a href="#method.write">write</a></div><a class="sidebar-title" href="#implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-BufferAccess">BufferAccess</a><a href="#impl-Debug">Debug</a><a href="#impl-DeviceOwned">DeviceOwned</a><a href="#impl-TypedBufferAccess">TypedBufferAccess</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow&lt;T&gt;</a><a href="#impl-BorrowMut%3CT%3E">BorrowMut&lt;T&gt;</a><a href="#impl-Content">Content</a><a href="#impl-DeviceOwned">DeviceOwned</a><a href="#impl-From%3CT%3E">From&lt;T&gt;</a><a href="#impl-Into%3CU%3E">Into&lt;U&gt;</a><a href="#impl-TryFrom%3CU%3E">TryFrom&lt;U&gt;</a><a href="#impl-TryInto%3CU%3E">TryInto&lt;U&gt;</a></div></div><p class='location'><a href='../../index.html'>vulkano</a>::<wbr><a href='../index.html'>buffer</a>::<wbr><a href='index.html'>cpu_access</a></p><script>window.sidebarCurrent = {name: 'CpuAccessibleBuffer', ty: 'struct', 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/buffer/cpu_access.rs.html#63-81' title='goto source code'>[src]</a></span><span class='in-band'>Struct <a href='../../index.html'>vulkano</a>::<wbr><a href='../index.html'>buffer</a>::<wbr><a href='index.html'>cpu_access</a>::<wbr><a class="struct" href=''>CpuAccessibleBuffer</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class='rust struct'>pub struct CpuAccessibleBuffer&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>, A&nbsp;=&nbsp;<a class="enum" href="../../../vulkano/memory/pool/enum.PotentialDedicatedAllocation.html" title="enum vulkano::memory::pool::PotentialDedicatedAllocation">PotentialDedicatedAllocation</a>&lt;<a class="struct" href="../../../vulkano/memory/pool/struct.StdMemoryPoolAlloc.html" title="struct vulkano::memory::pool::StdMemoryPoolAlloc">StdMemoryPoolAlloc</a>&gt;&gt; { /* fields omitted */ }</pre></div><div class='docblock'><p>Buffer whose content is accessible by the CPU.</p>
</div><h2 id='methods' class='small-section-header'>Methods<a href='#methods' class='anchor'></a></h2><h3 id='impl' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="struct" href="../../../vulkano/buffer/cpu_access/struct.CpuAccessibleBuffer.html" title="struct vulkano::buffer::cpu_access::CpuAccessibleBuffer">CpuAccessibleBuffer</a>&lt;T&gt;</code><a href='#impl' class='anchor'></a><a class='srclink' href='../../../src/vulkano/buffer/cpu_access.rs.html#95-124' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.from_data' class="method"><code id='from_data.v'>pub fn <a href='#method.from_data' class='fnname'>from_data</a>(<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>&nbsp;&nbsp;&nbsp;&nbsp;usage: <a class="struct" href="../../../vulkano/buffer/struct.BufferUsage.html" title="struct vulkano::buffer::BufferUsage">BufferUsage</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;data: T<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="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a class="struct" href="../../../vulkano/buffer/cpu_access/struct.CpuAccessibleBuffer.html" title="struct vulkano::buffer::cpu_access::CpuAccessibleBuffer">CpuAccessibleBuffer</a>&lt;T&gt;&gt;, <a class="enum" href="../../../vulkano/memory/enum.DeviceMemoryAllocError.html" title="enum vulkano::memory::DeviceMemoryAllocError">DeviceMemoryAllocError</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="../../../vulkano/memory/trait.Content.html" title="trait vulkano::memory::Content">Content</a> + 'static,&nbsp;</span></code><a class='srclink' href='../../../src/vulkano/buffer/cpu_access.rs.html#97-116' title='goto source code'>[src]</a></h4><div class='docblock'><p>Builds a new buffer with some data in it. Only allowed for sized data.</p>
</div><h4 id='method.uninitialized' class="method"><code id='uninitialized.v'>pub unsafe fn <a href='#method.uninitialized' class='fnname'>uninitialized</a>(<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>&nbsp;&nbsp;&nbsp;&nbsp;usage: <a class="struct" href="../../../vulkano/buffer/struct.BufferUsage.html" title="struct vulkano::buffer::BufferUsage">BufferUsage</a><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="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a class="struct" href="../../../vulkano/buffer/cpu_access/struct.CpuAccessibleBuffer.html" title="struct vulkano::buffer::cpu_access::CpuAccessibleBuffer">CpuAccessibleBuffer</a>&lt;T&gt;&gt;, <a class="enum" href="../../../vulkano/memory/enum.DeviceMemoryAllocError.html" title="enum vulkano::memory::DeviceMemoryAllocError">DeviceMemoryAllocError</a>&gt;</code><a class='srclink' href='../../../src/vulkano/buffer/cpu_access.rs.html#120-123' title='goto source code'>[src]</a></h4><div class='docblock'><p>Builds a new uninitialized buffer. Only allowed for sized data.</p>
</div></div><h3 id='impl-1' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="struct" href="../../../vulkano/buffer/cpu_access/struct.CpuAccessibleBuffer.html" title="struct vulkano::buffer::cpu_access::CpuAccessibleBuffer">CpuAccessibleBuffer</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[</a>T<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>&gt;</code><a href='#impl-1' class='anchor'></a><a class='srclink' href='../../../src/vulkano/buffer/cpu_access.rs.html#126-161' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.from_iter' class="method"><code id='from_iter.v'>pub fn <a href='#method.from_iter' class='fnname'>from_iter</a>&lt;I&gt;(<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>&nbsp;&nbsp;&nbsp;&nbsp;usage: <a class="struct" href="../../../vulkano/buffer/struct.BufferUsage.html" title="struct vulkano::buffer::BufferUsage">BufferUsage</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;data: I<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="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a class="struct" href="../../../vulkano/buffer/cpu_access/struct.CpuAccessibleBuffer.html" title="struct vulkano::buffer::cpu_access::CpuAccessibleBuffer">CpuAccessibleBuffer</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[</a>T<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>&gt;&gt;, <a class="enum" href="../../../vulkano/memory/enum.DeviceMemoryAllocError.html" title="enum vulkano::memory::DeviceMemoryAllocError">DeviceMemoryAllocError</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/exact_size/trait.ExactSizeIterator.html" title="trait core::iter::traits::exact_size::ExactSizeIterator">ExactSizeIterator</a>&lt;Item = T&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="../../../vulkano/memory/trait.Content.html" title="trait vulkano::memory::Content">Content</a> + 'static,&nbsp;</span></code><a class='srclink' href='../../../src/vulkano/buffer/cpu_access.rs.html#129-152' title='goto source code'>[src]</a></h4><div class='docblock'><p>Builds a new buffer that contains an array <code>T</code>. The initial data comes from an iterator
that produces that list of Ts.</p>
</div><h4 id='method.uninitialized_array' class="method"><code id='uninitialized_array.v'>pub unsafe fn <a href='#method.uninitialized_array' class='fnname'>uninitialized_array</a>(<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>&nbsp;&nbsp;&nbsp;&nbsp;len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;usage: <a class="struct" href="../../../vulkano/buffer/struct.BufferUsage.html" title="struct vulkano::buffer::BufferUsage">BufferUsage</a><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="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a class="struct" href="../../../vulkano/buffer/cpu_access/struct.CpuAccessibleBuffer.html" title="struct vulkano::buffer::cpu_access::CpuAccessibleBuffer">CpuAccessibleBuffer</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[</a>T<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>&gt;&gt;, <a class="enum" href="../../../vulkano/memory/enum.DeviceMemoryAllocError.html" title="enum vulkano::memory::DeviceMemoryAllocError">DeviceMemoryAllocError</a>&gt;</code><a class='srclink' href='../../../src/vulkano/buffer/cpu_access.rs.html#156-160' title='goto source code'>[src]</a></h4><div class='docblock'><p>Builds a new buffer. Can be used for arrays.</p>
</div></div><h3 id='impl-2' class='impl'><code class='in-band'>impl&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; <a class="struct" href="../../../vulkano/buffer/cpu_access/struct.CpuAccessibleBuffer.html" title="struct vulkano::buffer::cpu_access::CpuAccessibleBuffer">CpuAccessibleBuffer</a>&lt;T&gt;</code><a href='#impl-2' class='anchor'></a><a class='srclink' href='../../../src/vulkano/buffer/cpu_access.rs.html#163-215' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.raw' class="method"><code id='raw.v'>pub unsafe fn <a href='#method.raw' class='fnname'>raw</a>&lt;'a, I&gt;(<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>&nbsp;&nbsp;&nbsp;&nbsp;size: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;usage: <a class="struct" href="../../../vulkano/buffer/struct.BufferUsage.html" title="struct vulkano::buffer::BufferUsage">BufferUsage</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;queue_families: I<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="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;<a class="struct" href="../../../vulkano/buffer/cpu_access/struct.CpuAccessibleBuffer.html" title="struct vulkano::buffer::cpu_access::CpuAccessibleBuffer">CpuAccessibleBuffer</a>&lt;T&gt;&gt;, <a class="enum" href="../../../vulkano/memory/enum.DeviceMemoryAllocError.html" title="enum vulkano::memory::DeviceMemoryAllocError">DeviceMemoryAllocError</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = <a class="struct" href="../../../vulkano/instance/struct.QueueFamily.html" title="struct vulkano::instance::QueueFamily">QueueFamily</a>&lt;'a&gt;&gt;,&nbsp;</span></code><a class='srclink' href='../../../src/vulkano/buffer/cpu_access.rs.html#170-214' title='goto source code'>[src]</a></h4><div class='docblock'><p>Builds a new buffer without checking the size.</p>
<h1 id="safety" class="section-header"><a href="#safety">Safety</a></h1>
<p>You must ensure that the size that you pass is correct for <code>T</code>.</p>
</div></div><h3 id='impl-3' class='impl'><code class='in-band'>impl&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>, A&gt; <a class="struct" href="../../../vulkano/buffer/cpu_access/struct.CpuAccessibleBuffer.html" title="struct vulkano::buffer::cpu_access::CpuAccessibleBuffer">CpuAccessibleBuffer</a>&lt;T, A&gt;</code><a href='#impl-3' class='anchor'></a><a class='srclink' href='../../../src/vulkano/buffer/cpu_access.rs.html#217-232' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.queue_families' class="method"><code id='queue_families.v'>pub fn <a href='#method.queue_families' class='fnname'>queue_families</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="../../../vulkano/instance/struct.QueueFamily.html" title="struct vulkano::instance::QueueFamily">QueueFamily</a>&gt;</code><a class='srclink' href='../../../src/vulkano/buffer/cpu_access.rs.html#221-231' title='goto source code'>[src]</a></h4><div class='docblock'><p>Returns the queue families this buffer can be used on.</p>
</div></div><h3 id='impl-4' class='impl'><code class='in-band'>impl&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>, A&gt; <a class="struct" href="../../../vulkano/buffer/cpu_access/struct.CpuAccessibleBuffer.html" title="struct vulkano::buffer::cpu_access::CpuAccessibleBuffer">CpuAccessibleBuffer</a>&lt;T, A&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="../../../vulkano/memory/trait.Content.html" title="trait vulkano::memory::Content">Content</a> + 'static,<br>&nbsp;&nbsp;&nbsp;&nbsp;A: <a class="trait" href="../../../vulkano/memory/pool/trait.MemoryPoolAlloc.html" title="trait vulkano::memory::pool::MemoryPoolAlloc">MemoryPoolAlloc</a>,&nbsp;</span></code><a href='#impl-4' class='anchor'></a><a class='srclink' href='../../../src/vulkano/buffer/cpu_access.rs.html#234-302' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.read' class="method"><code id='read.v'>pub fn <a href='#method.read' class='fnname'>read</a>(&amp;self) -&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/buffer/cpu_access/struct.ReadLock.html" title="struct vulkano::buffer::cpu_access::ReadLock">ReadLock</a>&lt;T&gt;, <a class="enum" href="../../../vulkano/buffer/cpu_access/enum.ReadLockError.html" title="enum vulkano::buffer::cpu_access::ReadLockError">ReadLockError</a>&gt;</code><a class='srclink' href='../../../src/vulkano/buffer/cpu_access.rs.html#248-268' title='goto source code'>[src]</a></h4><div class='docblock'><p>Locks the buffer in order to read its content from the CPU.</p>
<p>If the buffer is currently used in exclusive mode by the GPU, this function will return
an error. Similarly if you called <code>write()</code> on the buffer and haven't dropped the lock,
this function will return an error as well.</p>
<p>After this function successfully locks the buffer, any attempt to submit a command buffer
that uses it in exclusive mode will fail. You can still submit this buffer for non-exclusive
accesses (ie. reads).</p>
</div><h4 id='method.write' class="method"><code id='write.v'>pub fn <a href='#method.write' class='fnname'>write</a>(&amp;self) -&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/buffer/cpu_access/struct.WriteLock.html" title="struct vulkano::buffer::cpu_access::WriteLock">WriteLock</a>&lt;T&gt;, <a class="enum" href="../../../vulkano/buffer/cpu_access/enum.WriteLockError.html" title="enum vulkano::buffer::cpu_access::WriteLockError">WriteLockError</a>&gt;</code><a class='srclink' href='../../../src/vulkano/buffer/cpu_access.rs.html#279-301' title='goto source code'>[src]</a></h4><div class='docblock'><p>Locks the buffer in order to write its content from the CPU.</p>
<p>If the buffer is currently in use by the GPU, this function will return an error. Similarly
if you called <code>read()</code> on the buffer and haven't dropped the lock, this function will
return an error as well.</p>
<p>After this function successfully locks the buffer, any attempt to submit a command buffer
that uses it and any attempt to call <code>read()</code> will return an error.</p>
</div></div><h2 id='implementations' class='small-section-header'>Trait Implementations<a href='#implementations' class='anchor'></a></h2><div id='implementations-list'><h3 id='impl-BufferAccess' class='impl'><code class='in-band'>impl&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>, A&gt; <a class="trait" href="../../../vulkano/buffer/trait.BufferAccess.html" title="trait vulkano::buffer::BufferAccess">BufferAccess</a> for <a class="struct" href="../../../vulkano/buffer/cpu_access/struct.CpuAccessibleBuffer.html" title="struct vulkano::buffer::cpu_access::CpuAccessibleBuffer">CpuAccessibleBuffer</a>&lt;T, A&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'static + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,&nbsp;</span></code><a href='#impl-BufferAccess' class='anchor'></a><a class='srclink' href='../../../src/vulkano/buffer/cpu_access.rs.html#304-428' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.inner' class="method hidden"><code id='inner.v'>fn <a href='../../../vulkano/buffer/trait.BufferAccess.html#tymethod.inner' class='fnname'>inner</a>(&amp;self) -&gt; <a class="struct" href="../../../vulkano/buffer/struct.BufferInner.html" title="struct vulkano::buffer::BufferInner">BufferInner</a></code><a class='srclink' href='../../../src/vulkano/buffer/cpu_access.rs.html#308-313' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Returns the inner information about this buffer.</p>
</div><h4 id='method.size' class="method hidden"><code id='size.v'>fn <a href='../../../vulkano/buffer/trait.BufferAccess.html#tymethod.size' class='fnname'>size</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/buffer/cpu_access.rs.html#316-318' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Returns the size of the buffer in bytes.</p>
</div><h4 id='method.conflicts_buffer' class="method hidden"><code id='conflicts_buffer.v'>fn <a href='../../../vulkano/buffer/trait.BufferAccess.html#tymethod.conflicts_buffer' class='fnname'>conflicts_buffer</a>(&amp;self, other: &amp;dyn <a class="trait" href="../../../vulkano/buffer/trait.BufferAccess.html" title="trait vulkano::buffer::BufferAccess">BufferAccess</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class='srclink' href='../../../src/vulkano/buffer/cpu_access.rs.html#321-323' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Returns true if an access to <code>self</code> potentially overlaps the same memory as an access to <code>other</code>. <a href="../../../vulkano/buffer/trait.BufferAccess.html#tymethod.conflicts_buffer">Read more</a></p>
</div><h4 id='method.conflicts_image' class="method hidden"><code id='conflicts_image.v'>fn <a href='../../../vulkano/buffer/trait.BufferAccess.html#tymethod.conflicts_image' class='fnname'>conflicts_image</a>(&amp;self, other: &amp;dyn <a class="trait" href="../../../vulkano/image/traits/trait.ImageAccess.html" title="trait vulkano::image::traits::ImageAccess">ImageAccess</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class='srclink' href='../../../src/vulkano/buffer/cpu_access.rs.html#326-328' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Returns true if an access to <code>self</code> potentially overlaps the same memory as an access to <code>other</code>. <a href="../../../vulkano/buffer/trait.BufferAccess.html#tymethod.conflicts_image">Read more</a></p>
</div><h4 id='method.conflict_key' class="method hidden"><code id='conflict_key.v'>fn <a href='../../../vulkano/buffer/trait.BufferAccess.html#tymethod.conflict_key' class='fnname'>conflict_key</a>(&amp;self) -&gt; <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.u64.html">u64</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a></code><a class='srclink' href='../../../src/vulkano/buffer/cpu_access.rs.html#331-333' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Returns a key that uniquely identifies the buffer. Two buffers or images that potentially overlap in memory must return the same key. <a href="../../../vulkano/buffer/trait.BufferAccess.html#tymethod.conflict_key">Read more</a></p>
</div><h4 id='method.try_gpu_lock' class="method hidden"><code id='try_gpu_lock.v'>fn <a href='../../../vulkano/buffer/trait.BufferAccess.html#tymethod.try_gpu_lock' class='fnname'>try_gpu_lock</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self, <br>&nbsp;&nbsp;&nbsp;&nbsp;exclusive_access: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;_: &amp;<a class="struct" href="../../../vulkano/device/struct.Queue.html" title="struct vulkano::device::Queue">Queue</a><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="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../vulkano/sync/enum.AccessError.html" title="enum vulkano::sync::AccessError">AccessError</a>&gt;</code><a class='srclink' href='../../../src/vulkano/buffer/cpu_access.rs.html#336-366' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Locks the resource for usage on the GPU. Returns an error if the lock can't be acquired. <a href="../../../vulkano/buffer/trait.BufferAccess.html#tymethod.try_gpu_lock">Read more</a></p>
</div><h4 id='method.increase_gpu_lock' class="method hidden"><code id='increase_gpu_lock.v'>unsafe fn <a href='../../../vulkano/buffer/trait.BufferAccess.html#tymethod.increase_gpu_lock' class='fnname'>increase_gpu_lock</a>(&amp;self)</code><a class='srclink' href='../../../src/vulkano/buffer/cpu_access.rs.html#369-393' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Locks the resource for usage on the GPU. Supposes that the resource is already locked, and simply increases the lock by one. <a href="../../../vulkano/buffer/trait.BufferAccess.html#tymethod.increase_gpu_lock">Read more</a></p>
</div><h4 id='method.unlock' class="method hidden"><code id='unlock.v'>unsafe fn <a href='../../../vulkano/buffer/trait.BufferAccess.html#tymethod.unlock' class='fnname'>unlock</a>(&amp;self)</code><a class='srclink' href='../../../src/vulkano/buffer/cpu_access.rs.html#396-427' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Unlocks the resource previously acquired with <code>try_gpu_lock</code> or <code>increase_gpu_lock</code>. <a href="../../../vulkano/buffer/trait.BufferAccess.html#tymethod.unlock">Read more</a></p>
</div><h4 id='method.as_buffer_slice' class="method hidden"><code id='as_buffer_slice.v'>fn <a href='../../../vulkano/buffer/trait.BufferAccess.html#method.as_buffer_slice' class='fnname'>as_buffer_slice</a>(&amp;self) -&gt; <a class="struct" href="../../../vulkano/buffer/struct.BufferSlice.html" title="struct vulkano::buffer::BufferSlice">BufferSlice</a>&lt;Self::<a class="type" href="../../../vulkano/buffer/trait.TypedBufferAccess.html#associatedtype.Content" title="type vulkano::buffer::TypedBufferAccess::Content">Content</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;</a>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> + <a class="trait" href="../../../vulkano/buffer/trait.TypedBufferAccess.html" title="trait vulkano::buffer::TypedBufferAccess">TypedBufferAccess</a>,&nbsp;</span></code><a class='srclink' href='../../../src/vulkano/buffer/traits.rs.html#35-39' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Builds a <code>BufferSlice</code> object holding the buffer by reference.</p>
</div><h4 id='method.slice' class="method hidden"><code id='slice.v'>fn <a href='../../../vulkano/buffer/trait.BufferAccess.html#method.slice' class='fnname'>slice</a>&lt;T&gt;(&amp;self, range: <a class="struct" href="https://doc.rust-lang.org/nightly/core/ops/range/struct.Range.html" title="struct core::ops::range::Range">Range</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;) -&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/buffer/struct.BufferSlice.html" title="struct vulkano::buffer::BufferSlice">BufferSlice</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[</a>T<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;</a>Self&gt;&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> + <a class="trait" href="../../../vulkano/buffer/trait.TypedBufferAccess.html" title="trait vulkano::buffer::TypedBufferAccess">TypedBufferAccess</a>&lt;Content = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[</a>T<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>&gt;,&nbsp;</span></code><a class='srclink' href='../../../src/vulkano/buffer/traits.rs.html#50-54' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Builds a <code>BufferSlice</code> object holding part of the buffer by reference. <a href="../../../vulkano/buffer/trait.BufferAccess.html#method.slice">Read more</a></p>
</div><h4 id='method.into_buffer_slice' class="method hidden"><code id='into_buffer_slice.v'>fn <a href='../../../vulkano/buffer/trait.BufferAccess.html#method.into_buffer_slice' class='fnname'>into_buffer_slice</a>(self) -&gt; <a class="struct" href="../../../vulkano/buffer/struct.BufferSlice.html" title="struct vulkano::buffer::BufferSlice">BufferSlice</a>&lt;Self::<a class="type" href="../../../vulkano/buffer/trait.TypedBufferAccess.html#associatedtype.Content" title="type vulkano::buffer::TypedBufferAccess::Content">Content</a>, 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> + <a class="trait" href="../../../vulkano/buffer/trait.TypedBufferAccess.html" title="trait vulkano::buffer::TypedBufferAccess">TypedBufferAccess</a>,&nbsp;</span></code><a class='srclink' href='../../../src/vulkano/buffer/traits.rs.html#58-62' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Builds a <code>BufferSlice</code> object holding the buffer by value.</p>
</div><h4 id='method.index' class="method hidden"><code id='index.v'>fn <a href='../../../vulkano/buffer/trait.BufferAccess.html#method.index' class='fnname'>index</a>&lt;T&gt;(&amp;self, index: <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/buffer/struct.BufferSlice.html" title="struct vulkano::buffer::BufferSlice">BufferSlice</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[</a>T<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;</a>Self&gt;&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> + <a class="trait" href="../../../vulkano/buffer/trait.TypedBufferAccess.html" title="trait vulkano::buffer::TypedBufferAccess">TypedBufferAccess</a>&lt;Content = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[</a>T<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>&gt;,&nbsp;</span></code><a class='srclink' href='../../../src/vulkano/buffer/traits.rs.html#73-77' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Builds a <code>BufferSlice</code> object holding part of the buffer by reference. <a href="../../../vulkano/buffer/trait.BufferAccess.html#method.index">Read more</a></p>
</div></div><h3 id='impl-TypedBufferAccess' class='impl'><code class='in-band'>impl&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>, A&gt; <a class="trait" href="../../../vulkano/buffer/trait.TypedBufferAccess.html" title="trait vulkano::buffer::TypedBufferAccess">TypedBufferAccess</a> for <a class="struct" href="../../../vulkano/buffer/cpu_access/struct.CpuAccessibleBuffer.html" title="struct vulkano::buffer::cpu_access::CpuAccessibleBuffer">CpuAccessibleBuffer</a>&lt;T, A&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'static + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,&nbsp;</span></code><a href='#impl-TypedBufferAccess' class='anchor'></a><a class='srclink' href='../../../src/vulkano/buffer/cpu_access.rs.html#430-434' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.Content' class="type"><code id='Content.t'>type <a href='../../../vulkano/buffer/trait.TypedBufferAccess.html#associatedtype.Content' class="type">Content</a> = T</code></h4><div class='docblock'><p>The type of the content.</p>
</div><h4 id='method.len' class="method hidden"><code id='len.v'>fn <a href='../../../vulkano/buffer/trait.TypedBufferAccess.html#method.len' class='fnname'>len</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a> <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self::<a class="type" href="../../../vulkano/buffer/trait.TypedBufferAccess.html#associatedtype.Content" title="type vulkano::buffer::TypedBufferAccess::Content">Content</a>: <a class="trait" href="../../../vulkano/memory/trait.Content.html" title="trait vulkano::memory::Content">Content</a>,&nbsp;</span></code><a class='srclink' href='../../../src/vulkano/buffer/traits.rs.html#205-207' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Returns the length of the buffer in number of elements. <a href="../../../vulkano/buffer/trait.TypedBufferAccess.html#method.len">Read more</a></p>
</div></div><h3 id='impl-DeviceOwned' class='impl'><code class='in-band'>impl&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>, A&gt; <a class="trait" href="../../../vulkano/device/trait.DeviceOwned.html" title="trait vulkano::device::DeviceOwned">DeviceOwned</a> for <a class="struct" href="../../../vulkano/buffer/cpu_access/struct.CpuAccessibleBuffer.html" title="struct vulkano::buffer::cpu_access::CpuAccessibleBuffer">CpuAccessibleBuffer</a>&lt;T, A&gt;</code><a href='#impl-DeviceOwned' class='anchor'></a><a class='srclink' href='../../../src/vulkano/buffer/cpu_access.rs.html#436-441' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.device' class="method hidden"><code id='device.v'>fn <a href='../../../vulkano/device/trait.DeviceOwned.html#tymethod.device' class='fnname'>device</a>(&amp;self) -&gt; &amp;<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;</code><a class='srclink' href='../../../src/vulkano/buffer/cpu_access.rs.html#438-440' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Returns the device that owns <code>Self</code>.</p>
</div></div><h3 id='impl-Debug' class='impl'><code class='in-band'>impl&lt;T:&nbsp;<a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, A:&nbsp;<a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../vulkano/buffer/cpu_access/struct.CpuAccessibleBuffer.html" title="struct vulkano::buffer::cpu_access::CpuAccessibleBuffer">CpuAccessibleBuffer</a>&lt;T, A&gt;</code><a href='#impl-Debug' class='anchor'></a><a class='srclink' href='../../../src/vulkano/buffer/cpu_access.rs.html#62' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.fmt' class="method hidden"><code id='fmt.v'>fn <a href='https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt' class='fnname'>fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class='srclink' href='../../../src/vulkano/buffer/cpu_access.rs.html#62' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
</div></div></div><h2 id='synthetic-implementations' class='small-section-header'>Auto Trait Implementations<a href='#synthetic-implementations' class='anchor'></a></h2><div id='synthetic-implementations-list'><h3 id='impl-Send' class='impl'><code class='in-band'>impl&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>, A&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../vulkano/buffer/cpu_access/struct.CpuAccessibleBuffer.html" title="struct vulkano::buffer::cpu_access::CpuAccessibleBuffer">CpuAccessibleBuffer</a>&lt;T, A&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,&nbsp;</span></code><a href='#impl-Send' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-Unpin' class='impl'><code class='in-band'>impl&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>, A&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../vulkano/buffer/cpu_access/struct.CpuAccessibleBuffer.html" title="struct vulkano::buffer::cpu_access::CpuAccessibleBuffer">CpuAccessibleBuffer</a>&lt;T, A&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,&nbsp;</span></code><a href='#impl-Unpin' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-Sync' class='impl'><code class='in-band'>impl&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>, A&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../vulkano/buffer/cpu_access/struct.CpuAccessibleBuffer.html" title="struct vulkano::buffer::cpu_access::CpuAccessibleBuffer">CpuAccessibleBuffer</a>&lt;T, A&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,&nbsp;</span></code><a href='#impl-Sync' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-UnwindSafe' class='impl'><code class='in-band'>impl&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>, A&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../vulkano/buffer/cpu_access/struct.CpuAccessibleBuffer.html" title="struct vulkano::buffer::cpu_access::CpuAccessibleBuffer">CpuAccessibleBuffer</a>&lt;T, A&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;A: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a>,&nbsp;</span></code><a href='#impl-UnwindSafe' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-RefUnwindSafe' class='impl'><code class='in-band'>impl&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>, A&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../vulkano/buffer/cpu_access/struct.CpuAccessibleBuffer.html" title="struct vulkano::buffer::cpu_access::CpuAccessibleBuffer">CpuAccessibleBuffer</a>&lt;T, A&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;A: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a>,&nbsp;</span></code><a href='#impl-RefUnwindSafe' class='anchor'></a></h3><div class='impl-items'></div></div><h2 id='blanket-implementations' class='small-section-header'>Blanket Implementations<a href='#blanket-implementations' class='anchor'></a></h2><div id='blanket-implementations-list'><h3 id='impl-DeviceOwned-1' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="../../../vulkano/device/trait.DeviceOwned.html" title="trait vulkano::device::DeviceOwned">DeviceOwned</a> for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a>&gt;::<a class="type" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#associatedtype.Target" title="type core::ops::deref::Deref::Target">Target</a>: <a class="trait" href="../../../vulkano/device/trait.DeviceOwned.html" title="trait vulkano::device::DeviceOwned">DeviceOwned</a>,&nbsp;</span></code><a href='#impl-DeviceOwned-1' class='anchor'></a><a class='srclink' href='../../../src/vulkano/device/mod.rs.html#557-565' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.device-1' class="method hidden"><code id='device.v-1'>fn <a href='../../../vulkano/device/trait.DeviceOwned.html#tymethod.device' class='fnname'>device</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;</a>Self) -&gt; &amp;<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;</code><a class='srclink' href='../../../src/vulkano/device/mod.rs.html#562-564' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Returns the device that owns <code>Self</code>.</p>
</div></div><h3 id='impl-Content' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="../../../vulkano/memory/trait.Content.html" title="trait vulkano::memory::Content">Content</a> for T</code><a href='#impl-Content' class='anchor'></a><a class='srclink' href='../../../src/vulkano/memory/mod.rs.html#171-190' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.ref_from_ptr' class="method hidden"><code id='ref_from_ptr.v'>fn <a href='../../../vulkano/memory/trait.Content.html#tymethod.ref_from_ptr' class='fnname'>ref_from_ptr</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html">*mut </a><a class="enum" href="https://doc.rust-lang.org/nightly/core/ffi/enum.c_void.html" title="enum core::ffi::c_void">c_void</a>, <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="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html">*mut T</a>&gt;</code><a class='srclink' href='../../../src/vulkano/memory/mod.rs.html#173-179' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Builds a pointer to this type from a raw pointer.</p>
</div><h4 id='method.is_size_suitable' class="method hidden"><code id='is_size_suitable.v'>fn <a href='../../../vulkano/memory/trait.Content.html#tymethod.is_size_suitable' class='fnname'>is_size_suitable</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class='srclink' href='../../../src/vulkano/memory/mod.rs.html#182-184' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Returns true if the size is suitable to store a type like this.</p>
</div><h4 id='method.indiv_size' class="method hidden"><code id='indiv_size.v'>fn <a href='../../../vulkano/memory/trait.Content.html#tymethod.indiv_size' class='fnname'>indiv_size</a>() -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a class='srclink' href='../../../src/vulkano/memory/mod.rs.html#187-189' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Returns the size of an individual element.</p>
</div></div><h3 id='impl-Into%3CU%3E' class='impl'><code class='in-band'>impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,&nbsp;</span></code><a href='#impl-Into%3CU%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#544-549' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.into' class="method hidden"><code id='into.v'>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into' class='fnname'>into</a>(self) -&gt; U</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#546-548' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3 id='impl-From%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</code><a href='#impl-From%3CT%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#553-555' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.from' class="method hidden"><code id='from.v'>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from' class='fnname'>from</a>(t: T) -&gt; T</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#554' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3 id='impl-TryFrom%3CU%3E' class='impl'><code class='in-band'>impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,&nbsp;</span></code><a href='#impl-TryFrom%3CU%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#572-578' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.Error' class="type"><code id='Error.t'>type <a href='https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error' class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
</div><h4 id='method.try_from' class="method hidden"><code id='try_from.v'>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from' class='fnname'>try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#575-577' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3 id='impl-TryInto%3CU%3E' class='impl'><code class='in-band'>impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,&nbsp;</span></code><a href='#impl-TryInto%3CU%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#560-567' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.Error-1' class="type"><code id='Error.t-1'>type <a href='https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error' class="type">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
</div><h4 id='method.try_into' class="method hidden"><code id='try_into.v'>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into' class='fnname'>try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#564-566' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3 id='impl-BorrowMut%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<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><a href='#impl-BorrowMut%3CT%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#218-220' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.borrow_mut' class="method hidden"><code id='borrow_mut.v'>fn <a href='https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut' class='fnname'>borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut </a>T</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#219' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
</div></div><h3 id='impl-Borrow%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<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><a href='#impl-Borrow%3CT%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#213-215' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.borrow' class="method hidden"><code id='borrow.v'>fn <a href='https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow' class='fnname'>borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;</a>T</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#214' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
</div></div><h3 id='impl-Any' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'static + ?<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><a href='#impl-Any' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/any.rs.html#100-102' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.type_id' class="method hidden"><code id='type_id.v'>fn <a href='https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id' class='fnname'>type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/any.rs.html#101' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
</div></div></div></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>