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/device/struct.Device.html

77 lines
39 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 `Device` struct in crate `vulkano`."><meta name="keywords" content="rust, rustlang, rust-lang, Device"><title>vulkano::device::Device - 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 Device</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#methods">Methods</a><div class="sidebar-links"><a href="#method.active_queue_families">active_queue_families</a><a href="#method.enabled_features">enabled_features</a><a href="#method.instance">instance</a><a href="#method.loaded_extensions">loaded_extensions</a><a href="#method.new">new</a><a href="#method.physical_device">physical_device</a><a href="#method.set_object_name">set_object_name</a><a href="#method.set_object_name_raw">set_object_name_raw</a><a href="#method.standard_command_pool">standard_command_pool</a><a href="#method.standard_descriptor_pool">standard_descriptor_pool</a><a href="#method.standard_pool">standard_pool</a><a href="#method.wait">wait</a></div><a class="sidebar-title" href="#implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Debug">Debug</a><a href="#impl-Drop">Drop</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-VulkanObject">VulkanObject</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-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-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'>device</a></p><script>window.sidebarCurrent = {name: 'Device', 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/device/mod.rs.html#129-145' title='goto source code'>[src]</a></span><span class='in-band'>Struct <a href='../index.html'>vulkano</a>::<wbr><a href='index.html'>device</a>::<wbr><a class="struct" href=''>Device</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class='rust struct'>pub struct Device { /* fields omitted */ }</pre></div><div class='docblock'><p>Represents a Vulkan context.</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 <a class="struct" href="../../vulkano/device/struct.Device.html" title="struct vulkano::device::Device">Device</a></code><a href='#impl' class='anchor'></a><a class='srclink' href='../../src/vulkano/device/mod.rs.html#154-508' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.new' class="method"><code id='new.v'>pub fn <a href='#method.new' class='fnname'>new</a>&lt;'a, I, Ext&gt;(<br>&nbsp;&nbsp;&nbsp;&nbsp;phys: <a class="struct" href="../../vulkano/instance/struct.PhysicalDevice.html" title="struct vulkano::instance::PhysicalDevice">PhysicalDevice</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;requested_features: &amp;<a class="struct" href="../../vulkano/device/struct.Features.html" title="struct vulkano::device::Features">Features</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;extensions: Ext, <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="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><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;, <a class="struct" href="../../vulkano/device/struct.QueuesIter.html" title="struct vulkano::device::QueuesIter">QueuesIter</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, <a class="enum" href="../../vulkano/device/enum.DeviceCreationError.html" title="enum vulkano::device::DeviceCreationError">DeviceCreationError</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="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="struct" href="../../vulkano/instance/struct.QueueFamily.html" title="struct vulkano::instance::QueueFamily">QueueFamily</a>&lt;'a&gt;, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f32.html">f32</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;Ext: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="struct" href="../../vulkano/device/struct.RawDeviceExtensions.html" title="struct vulkano::device::RawDeviceExtensions">RawDeviceExtensions</a>&gt;,&nbsp;</span></code><a class='srclink' href='../../src/vulkano/device/mod.rs.html#175-340' title='goto source code'>[src]</a></h4><div class='docblock'><p>Builds a new Vulkan device for the given physical device.</p>
<p>You must pass two things when creating a logical device:</p>
<ul>
<li>
<p>A list of optional Vulkan features that must be enabled on the device. Note that if a
feature is not enabled at device creation, you can't use it later even it it's supported
by the physical device.</p>
</li>
<li>
<p>An iterator to a list of queues to create. Each element of the iterator must indicate
the family whose queue belongs to and a priority between 0.0 and 1.0 to assign to it.
A queue with a higher value indicates that the commands will execute faster than on a
queue with a lower value. Note however that no guarantee can be made on the way the
priority value is handled by the implementation.</p>
</li>
</ul>
<h1 id="panic" class="section-header"><a href="#panic">Panic</a></h1>
<ul>
<li>Panics if one of the queue families doesn't belong to the given device.</li>
</ul>
</div><h4 id='method.wait' class="method"><code id='wait.v'>pub unsafe fn <a href='#method.wait' class='fnname'>wait</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="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../vulkano/enum.OomError.html" title="enum vulkano::OomError">OomError</a>&gt;</code><a class='srclink' href='../../src/vulkano/device/mod.rs.html#359-362' title='goto source code'>[src]</a></h4><div class='docblock'><p>Waits until all work on this device has finished. You should never need to call
this function, but it can be useful for debugging or benchmarking purposes.</p>
<blockquote>
<p><strong>Note</strong>: This is the Vulkan equivalent of OpenGL's <code>glFinish</code>.</p>
</blockquote>
<h1 id="safety" class="section-header"><a href="#safety">Safety</a></h1>
<p>This function is not thread-safe. You must not submit anything to any of the queue
of the device (either explicitly or implicitly, for example with a future's destructor)
while this function is waiting.</p>
</div><h4 id='method.instance' class="method"><code id='instance.v'>pub fn <a href='#method.instance' class='fnname'>instance</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/instance/struct.Instance.html" title="struct vulkano::instance::Instance">Instance</a>&gt;</code><a class='srclink' href='../../src/vulkano/device/mod.rs.html#366-368' title='goto source code'>[src]</a></h4><div class='docblock'><p>Returns the instance used to create this device.</p>
</div><h4 id='method.physical_device' class="method"><code id='physical_device.v'>pub fn <a href='#method.physical_device' class='fnname'>physical_device</a>(&amp;self) -&gt; <a class="struct" href="../../vulkano/instance/struct.PhysicalDevice.html" title="struct vulkano::instance::PhysicalDevice">PhysicalDevice</a></code><a class='srclink' href='../../src/vulkano/device/mod.rs.html#372-374' title='goto source code'>[src]</a></h4><div class='docblock'><p>Returns the physical device that was used to create this device.</p>
</div><h4 id='method.active_queue_families' class="method"><code id='active_queue_families.v'>pub fn <a href='#method.active_queue_families' class='fnname'>active_queue_families</a>&lt;'a&gt;(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;'a self<br>) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <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 = <a class="struct" href="../../vulkano/instance/struct.QueueFamily.html" title="struct vulkano::instance::QueueFamily">QueueFamily</a>&lt;'a&gt;&gt; + 'a&gt;</code><a class='srclink' href='../../src/vulkano/device/mod.rs.html#381-387' title='goto source code'>[src]</a></h4><div class='docblock'><p>Returns an iterator to the list of queues families that this device uses.</p>
<blockquote>
<p><strong>Note</strong>: Will return <code>-&gt; impl ExactSizeIterator&lt;Item = QueueFamily&gt;</code> in the future.</p>
</blockquote>
</div><h4 id='method.enabled_features' class="method"><code id='enabled_features.v'>pub fn <a href='#method.enabled_features' class='fnname'>enabled_features</a>(&amp;self) -&gt; &amp;<a class="struct" href="../../vulkano/device/struct.Features.html" title="struct vulkano::device::Features">Features</a></code><a class='srclink' href='../../src/vulkano/device/mod.rs.html#391-393' title='goto source code'>[src]</a></h4><div class='docblock'><p>Returns the features that are enabled in the device.</p>
</div><h4 id='method.loaded_extensions' class="method"><code id='loaded_extensions.v'>pub fn <a href='#method.loaded_extensions' class='fnname'>loaded_extensions</a>(&amp;self) -&gt; &amp;<a class="struct" href="../../vulkano/device/struct.DeviceExtensions.html" title="struct vulkano::device::DeviceExtensions">DeviceExtensions</a></code><a class='srclink' href='../../src/vulkano/device/mod.rs.html#397-399' title='goto source code'>[src]</a></h4><div class='docblock'><p>Returns the list of extensions that have been loaded.</p>
</div><h4 id='method.standard_pool' class="method"><code id='standard_pool.v'>pub fn <a href='#method.standard_pool' class='fnname'>standard_pool</a>(me: &amp;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self&gt;) -&gt; <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/memory/pool/struct.StdMemoryPool.html" title="struct vulkano::memory::pool::StdMemoryPool">StdMemoryPool</a>&gt;</code><a class='srclink' href='../../src/vulkano/device/mod.rs.html#402-413' title='goto source code'>[src]</a></h4><div class='docblock'><p>Returns the standard memory pool used by default if you don't provide any other pool.</p>
</div><h4 id='method.standard_descriptor_pool' class="method"><code id='standard_descriptor_pool.v'>pub fn <a href='#method.standard_descriptor_pool' class='fnname'>standard_descriptor_pool</a>(me: &amp;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self&gt;) -&gt; <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/descriptor/descriptor_set/struct.StdDescriptorPool.html" title="struct vulkano::descriptor::descriptor_set::StdDescriptorPool">StdDescriptorPool</a>&gt;</code><a class='srclink' href='../../src/vulkano/device/mod.rs.html#416-427' title='goto source code'>[src]</a></h4><div class='docblock'><p>Returns the standard descriptor pool used by default if you don't provide any other pool.</p>
</div><h4 id='method.standard_command_pool' class="method"><code id='standard_command_pool.v'>pub fn <a href='#method.standard_command_pool' class='fnname'>standard_command_pool</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;me: &amp;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;queue: <a class="struct" href="../../vulkano/instance/struct.QueueFamily.html" title="struct vulkano::instance::QueueFamily">QueueFamily</a><br>) -&gt; <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/command_buffer/pool/standard/struct.StandardCommandPool.html" title="struct vulkano::command_buffer::pool::standard::StandardCommandPool">StandardCommandPool</a>&gt;</code><a class='srclink' href='../../src/vulkano/device/mod.rs.html#436-455' title='goto source code'>[src]</a></h4><div class='docblock'><p>Returns the standard command buffer pool used by default if you don't provide any other
pool.</p>
<h1 id="panic-1" class="section-header"><a href="#panic-1">Panic</a></h1>
<ul>
<li>Panics if the device and the queue family don't belong to the same physical device.</li>
</ul>
</div><h4 id='method.set_object_name' class="method"><code id='set_object_name.v'>pub fn <a href='#method.set_object_name' class='fnname'>set_object_name</a>&lt;T:&nbsp;<a class="trait" href="../../vulkano/trait.VulkanObject.html" title="trait vulkano::VulkanObject">VulkanObject</a> + <a class="trait" href="../../vulkano/device/trait.DeviceOwned.html" title="trait vulkano::device::DeviceOwned">DeviceOwned</a>&gt;(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self, <br>&nbsp;&nbsp;&nbsp;&nbsp;object: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;</a>T, <br>&nbsp;&nbsp;&nbsp;&nbsp;name: &amp;<a class="struct" href="https://doc.rust-lang.org/nightly/std/ffi/c_str/struct.CStr.html" title="struct std::ffi::c_str::CStr">CStr</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/enum.OomError.html" title="enum vulkano::OomError">OomError</a>&gt;</code><a class='srclink' href='../../src/vulkano/device/mod.rs.html#485-488' title='goto source code'>[src]</a></h4><div class='docblock'><p>Assigns a human-readable name to <code>object</code> for debugging purposes.</p>
<h1 id="panics" class="section-header"><a href="#panics">Panics</a></h1>
<ul>
<li>If the <code>VK_EXT_debug_marker</code> device extension is not loaded.</li>
<li>If <code>object</code> is not owned by this device.</li>
</ul>
</div><h4 id='method.set_object_name_raw' class="method"><code id='set_object_name_raw.v'>pub unsafe fn <a href='#method.set_object_name_raw' class='fnname'>set_object_name_raw</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self, <br>&nbsp;&nbsp;&nbsp;&nbsp;ty: <a class="type" href="../../vk_sys/type.DebugReportObjectTypeEXT.html" title="type vk_sys::DebugReportObjectTypeEXT">DebugReportObjectTypeEXT</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;object: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;name: &amp;<a class="struct" href="https://doc.rust-lang.org/nightly/std/ffi/c_str/struct.CStr.html" title="struct std::ffi::c_str::CStr">CStr</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/enum.OomError.html" title="enum vulkano::OomError">OomError</a>&gt;</code><a class='srclink' href='../../src/vulkano/device/mod.rs.html#497-507' title='goto source code'>[src]</a></h4><div class='docblock'><p>Assigns a human-readable name to <code>object</code> for debugging purposes.</p>
<h1 id="panics-1" class="section-header"><a href="#panics-1">Panics</a></h1>
<ul>
<li>If the <code>VK_EXT_debug_marker</code> device extension is not loaded.</li>
</ul>
<h1 id="safety-1" class="section-header"><a href="#safety-1">Safety</a></h1>
<p><code>object</code> must be a Vulkan handle owned by this device, and its type must be accurately described by <code>ty</code>.</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-VulkanObject' class='impl'><code class='in-band'>impl <a class="trait" href="../../vulkano/trait.VulkanObject.html" title="trait vulkano::VulkanObject">VulkanObject</a> for <a class="struct" href="../../vulkano/device/struct.Device.html" title="struct vulkano::device::Device">Device</a></code><a href='#impl-VulkanObject' class='anchor'></a><a class='srclink' href='../../src/vulkano/device/mod.rs.html#517-526' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.Object' class="type"><code id='Object.t'>type <a href='../../vulkano/trait.VulkanObject.html#associatedtype.Object' class="type">Object</a> = <a class="type" href="../../vk_sys/type.Device.html" title="type vk_sys::Device">Device</a></code></h4><div class='docblock'><p>The type of the object.</p>
</div><h4 id='associatedconstant.TYPE' class="associatedconstant hidden"><code id='TYPE.v'>const <a href='../../vulkano/trait.VulkanObject.html#associatedconstant.TYPE' class="constant"><b>TYPE</b></a>: <a class="type" href="../../vk_sys/type.DebugReportObjectTypeEXT.html" title="type vk_sys::DebugReportObjectTypeEXT">DebugReportObjectTypeEXT</a></code><a class='srclink' href='../../src/vulkano/device/mod.rs.html#520' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>The <code>DebugReportObjectTypeEXT</code> of the internal Vulkan handle.</p>
</div><h4 id='method.internal_object' class="method hidden"><code id='internal_object.v'>fn <a href='../../vulkano/trait.VulkanObject.html#tymethod.internal_object' class='fnname'>internal_object</a>(&amp;self) -&gt; <a class="type" href="../../vk_sys/type.Device.html" title="type vk_sys::Device">Device</a></code><a class='srclink' href='../../src/vulkano/device/mod.rs.html#523-525' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Returns a reference to the object.</p>
</div></div><h3 id='impl-Send' class='impl'><code class='in-band'>impl <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/device/struct.Device.html" title="struct vulkano::device::Device">Device</a></code><a href='#impl-Send' class='anchor'></a><a class='srclink' href='../../src/vulkano/device/mod.rs.html#149-150' title='goto source code'>[src]</a></h3><div class='impl-items'></div><h3 id='impl-Drop' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html" title="trait core::ops::drop::Drop">Drop</a> for <a class="struct" href="../../vulkano/device/struct.Device.html" title="struct vulkano::device::Device">Device</a></code><a href='#impl-Drop' class='anchor'></a><a class='srclink' href='../../src/vulkano/device/mod.rs.html#528-544' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.drop' class="method hidden"><code id='drop.v'>fn <a href='https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html#tymethod.drop' class='fnname'>drop</a>(&amp;mut self)</code><a class='srclink' href='../../src/vulkano/device/mod.rs.html#530-543' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Executes the destructor for this type. <a href="https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html#tymethod.drop">Read more</a></p>
</div></div><h3 id='impl-Sync' class='impl'><code class='in-band'>impl <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/device/struct.Device.html" title="struct vulkano::device::Device">Device</a></code><a href='#impl-Sync' class='anchor'></a><a class='srclink' href='../../src/vulkano/device/mod.rs.html#151-152' title='goto source code'>[src]</a></h3><div class='impl-items'></div><h3 id='impl-Debug' class='impl'><code class='in-band'>impl <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/device/struct.Device.html" title="struct vulkano::device::Device">Device</a></code><a href='#impl-Debug' class='anchor'></a><a class='srclink' href='../../src/vulkano/device/mod.rs.html#510-515' 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, fmt: &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="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="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>&gt;</code><a class='srclink' href='../../src/vulkano/device/mod.rs.html#512-514' 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-Unpin' class='impl'><code class='in-band'>impl <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/device/struct.Device.html" title="struct vulkano::device::Device">Device</a></code><a href='#impl-Unpin' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-UnwindSafe' class='impl'><code class='in-band'>impl <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/device/struct.Device.html" title="struct vulkano::device::Device">Device</a></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 <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/device/struct.Device.html" title="struct vulkano::device::Device">Device</a></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-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>