Trait wgpu_core::hub::Access [−][src]
pub trait Access<B> { }
Type system for enforcing the lock order on shared HUB structures.
If type A implements Access<B>
, that means we are allowed to proceed
with locking resource B
after we lock A
.
The implenentations basically describe the edges in a directed graph of lock transitions. As long as it doesn’t have loops, we can have multiple concurrent paths on this graph (from multiple threads) without deadlocks, i.e. there is always a path whose next resource is not locked by some other path, at any time.
Implementors
impl<B: Backend> Access<BindGroup<B>> for BindGroupLayout<B>
[src]
impl<B: Backend> Access<BindGroup<B>> for BindGroupLayout<B>
[src]impl<B: Backend> Access<BindGroup<B>> for PipelineLayout<B>
[src]
impl<B: Backend> Access<BindGroup<B>> for PipelineLayout<B>
[src]impl<B: Backend> Access<BindGroup<B>> for CommandBuffer<B>
[src]
impl<B: Backend> Access<BindGroup<B>> for CommandBuffer<B>
[src]impl<B: Backend> Access<BindGroupLayout<B>> for Root
[src]
impl<B: Backend> Access<BindGroupLayout<B>> for Root
[src]impl<B: Backend> Access<BindGroupLayout<B>> for PipelineLayout<B>
[src]
impl<B: Backend> Access<BindGroupLayout<B>> for PipelineLayout<B>
[src]impl<B: Backend> Access<BindGroupLayout<B>> for Device<B>
[src]
impl<B: Backend> Access<BindGroupLayout<B>> for Device<B>
[src]impl<B: Backend> Access<PipelineLayout<B>> for Root
[src]
impl<B: Backend> Access<PipelineLayout<B>> for Root
[src]impl<B: Backend> Access<PipelineLayout<B>> for RenderBundle
[src]
impl<B: Backend> Access<PipelineLayout<B>> for RenderBundle
[src]impl<B: Backend> Access<PipelineLayout<B>> for Device<B>
[src]
impl<B: Backend> Access<PipelineLayout<B>> for Device<B>
[src]impl<B: Backend> Access<CommandBuffer<B>> for Root
[src]
impl<B: Backend> Access<CommandBuffer<B>> for Root
[src]impl<B: Backend> Access<CommandBuffer<B>> for Device<B>
[src]
impl<B: Backend> Access<CommandBuffer<B>> for Device<B>
[src]impl<B: Backend> Access<CommandBuffer<B>> for SwapChain<B>
[src]
impl<B: Backend> Access<CommandBuffer<B>> for SwapChain<B>
[src]impl<B: Backend> Access<RenderBundle> for CommandBuffer<B>
[src]
impl<B: Backend> Access<RenderBundle> for CommandBuffer<B>
[src]impl<B: Backend> Access<RenderBundle> for Device<B>
[src]
impl<B: Backend> Access<RenderBundle> for Device<B>
[src]impl<B: Backend> Access<ComputePipeline<B>> for BindGroup<B>
[src]
impl<B: Backend> Access<ComputePipeline<B>> for BindGroup<B>
[src]impl<B: Backend> Access<ComputePipeline<B>> for Device<B>
[src]
impl<B: Backend> Access<ComputePipeline<B>> for Device<B>
[src]impl<B: Backend> Access<RenderPipeline<B>> for BindGroup<B>
[src]
impl<B: Backend> Access<RenderPipeline<B>> for BindGroup<B>
[src]impl<B: Backend> Access<RenderPipeline<B>> for Device<B>
[src]
impl<B: Backend> Access<RenderPipeline<B>> for Device<B>
[src]impl<B: Backend> Access<RenderPipeline<B>> for ComputePipeline<B>
[src]
impl<B: Backend> Access<RenderPipeline<B>> for ComputePipeline<B>
[src]impl<B: Backend> Access<ShaderModule<B>> for BindGroupLayout<B>
[src]
impl<B: Backend> Access<ShaderModule<B>> for BindGroupLayout<B>
[src]impl<B: Backend> Access<ShaderModule<B>> for Device<B>
[src]
impl<B: Backend> Access<ShaderModule<B>> for Device<B>
[src]impl<B: Backend> Access<Buffer<B>> for BindGroupLayout<B>
[src]
impl<B: Backend> Access<Buffer<B>> for BindGroupLayout<B>
[src]impl<B: Backend> Access<Buffer<B>> for CommandBuffer<B>
[src]
impl<B: Backend> Access<Buffer<B>> for CommandBuffer<B>
[src]impl<B: Backend> Access<Buffer<B>> for ComputePipeline<B>
[src]
impl<B: Backend> Access<Buffer<B>> for ComputePipeline<B>
[src]impl<B: Backend> Access<Buffer<B>> for RenderPipeline<B>
[src]
impl<B: Backend> Access<Buffer<B>> for RenderPipeline<B>
[src]impl<B: Backend> Access<QuerySet<B>> for CommandBuffer<B>
[src]
impl<B: Backend> Access<QuerySet<B>> for CommandBuffer<B>
[src]impl<B: Backend> Access<QuerySet<B>> for ComputePipeline<B>
[src]
impl<B: Backend> Access<QuerySet<B>> for ComputePipeline<B>
[src]impl<B: Backend> Access<QuerySet<B>> for RenderPipeline<B>
[src]
impl<B: Backend> Access<QuerySet<B>> for RenderPipeline<B>
[src]impl<B: Backend> Access<Sampler<B>> for TextureView<B>
[src]
impl<B: Backend> Access<Sampler<B>> for TextureView<B>
[src]impl<B: Backend> Access<TextureView<B>> for Root
[src]
impl<B: Backend> Access<TextureView<B>> for Root
[src]impl<B: Backend> Access<TextureView<B>> for Device<B>
[src]
impl<B: Backend> Access<TextureView<B>> for Device<B>
[src]impl<B: Backend> Access<TextureView<B>> for Texture<B>
[src]
impl<B: Backend> Access<TextureView<B>> for Texture<B>
[src]impl<B: Backend> Access<TextureView<B>> for SwapChain<B>
[src]
impl<B: Backend> Access<TextureView<B>> for SwapChain<B>
[src]