Struct wgpu_core::device::Device [−][src]
pub struct Device<B: Backend> { /* fields omitted */ }
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
impl<B: Backend> Device<B>
[src]
impl<B: Backend> Device<B>
[src]pub fn borrow_pending_writes(&mut self) -> &mut B::CommandBuffer
[src]
Trait Implementations
impl<B: Backend> Access<BindGroup<B>> for Device<B>
[src]
impl<B: Backend> Access<BindGroupLayout<B>> for Device<B>
[src]
impl<B: Backend> Access<Buffer<B>> for Device<B>
[src]
impl<B: Backend> Access<CommandBuffer<B>> for Device<B>
[src]
impl<B: Backend> Access<ComputePipeline<B>> for Device<B>
[src]
impl<B: Backend> Access<Device<B>> for Root
[src]
impl<B: Backend> Access<Device<B>> for Surface
[src]
impl<B: Backend> Access<Device<B>> for Adapter<B>
[src]
impl<B: Backend> Access<PipelineLayout<B>> for Device<B>
[src]
impl<B: Backend> Access<QuerySet<B>> for Device<B>
[src]
impl<B: Backend> Access<RenderBundle> for Device<B>
[src]
impl<B: Backend> Access<RenderPipeline<B>> for Device<B>
[src]
impl<B: Backend> Access<Sampler<B>> for Device<B>
[src]
impl<B: Backend> Access<ShaderModule<B>> for Device<B>
[src]
impl<B: Backend> Access<SwapChain<B>> for Device<B>
[src]
impl<B: Backend> Access<Texture<B>> for Device<B>
[src]
impl<B: Backend> Access<TextureView<B>> for Device<B>
[src]
Auto Trait Implementations
impl<B> !RefUnwindSafe for Device<B>
impl<B> Send for Device<B>
impl<B> Sync 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,
<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>
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more