Struct wgpu_core::device::Device [−][src]
pub struct Device<B: Backend> { /* fields omitted */ }
Expand description
Structure describing a logical device. Some members are internally mutable,
stored behind mutexes.
TODO: establish clear order of locking for these:
mem_allocator
, desc_allocator
, life_tracke
, trackers
,
render_passes
, pending_writes
, trace
.
Currently, the rules are:
life_tracker
is locked afterhub.devices
, enforced by the type systemself.trackers
is locked last (unenforced)self.trace
is locked last (unenforced)
Implementations
Trait Implementations
Auto Trait Implementations
impl<B> !RefUnwindSafe for Device<B>
impl<B> Unpin for Device<B> where
<B as Backend>::Buffer: Unpin,
<B as Backend>::CommandBuffer: Unpin,
<B as Backend>::CommandPool: Unpin,
<B as Backend>::ComputePipeline: Unpin,
<B as Backend>::DescriptorPool: Unpin,
<B as Backend>::DescriptorSet: Unpin,
<B as Backend>::DescriptorSetLayout: Unpin,
<B as Backend>::Device: Unpin,
<B as Backend>::Fence: Unpin,
<B as Backend>::Framebuffer: Unpin,
<B as Backend>::GraphicsPipeline: Unpin,
<B as Backend>::Image: Unpin,
<B as Backend>::ImageView: Unpin,
<B as Backend>::Memory: Unpin,
<B as Backend>::PipelineLayout: Unpin,
<B as Backend>::QueryPool: Unpin,
<B as Backend>::Queue: Unpin,
<B as Backend>::RenderPass: Unpin,
<B as Backend>::Sampler: Unpin,
impl<B> !UnwindSafe for Device<B>