From 84ba4e5461fd1f305f8591cb086c40a488fbdb71 Mon Sep 17 00:00:00 2001 From: John-John Tedro Date: Thu, 1 Feb 2024 14:03:46 +0100 Subject: [PATCH] Remove another unused A: HalApi parameter (#5181) --- wgpu-core/src/track/buffer.rs | 18 +++++++++--------- wgpu-core/src/track/metadata.rs | 20 +++++++------------- wgpu-core/src/track/mod.rs | 20 ++++++++++---------- wgpu-core/src/track/stateless.rs | 13 +++++-------- wgpu-core/src/track/texture.rs | 18 +++++++++--------- 5 files changed, 40 insertions(+), 49 deletions(-) diff --git a/wgpu-core/src/track/buffer.rs b/wgpu-core/src/track/buffer.rs index a9d61f9e00..4c831c4f94 100644 --- a/wgpu-core/src/track/buffer.rs +++ b/wgpu-core/src/track/buffer.rs @@ -109,7 +109,7 @@ impl BufferBindGroupState { pub(crate) struct BufferUsageScope { state: Vec, - metadata: ResourceMetadata>, + metadata: ResourceMetadata>, } impl BufferUsageScope { @@ -287,7 +287,7 @@ pub(crate) struct BufferTracker { start: Vec, end: Vec, - metadata: ResourceMetadata>, + metadata: ResourceMetadata>, temp: Vec>, } @@ -653,11 +653,11 @@ impl BufferStateProvider<'_> { unsafe fn insert_or_merge( start_states: Option<&mut [BufferUses]>, current_states: &mut [BufferUses], - resource_metadata: &mut ResourceMetadata>, + resource_metadata: &mut ResourceMetadata>, index32: u32, index: usize, state_provider: BufferStateProvider<'_>, - metadata_provider: ResourceMetadataProvider<'_, A, Buffer>, + metadata_provider: ResourceMetadataProvider<'_, Buffer>, ) -> Result<(), UsageConflict> { let currently_owned = unsafe { resource_metadata.contains_unchecked(index) }; @@ -708,11 +708,11 @@ unsafe fn insert_or_merge( unsafe fn insert_or_barrier_update( start_states: Option<&mut [BufferUses]>, current_states: &mut [BufferUses], - resource_metadata: &mut ResourceMetadata>, + resource_metadata: &mut ResourceMetadata>, index: usize, start_state_provider: BufferStateProvider<'_>, end_state_provider: Option>, - metadata_provider: ResourceMetadataProvider<'_, A, Buffer>, + metadata_provider: ResourceMetadataProvider<'_, Buffer>, barriers: &mut Vec>, ) { let currently_owned = unsafe { resource_metadata.contains_unchecked(index) }; @@ -742,11 +742,11 @@ unsafe fn insert_or_barrier_update( unsafe fn insert( start_states: Option<&mut [BufferUses]>, current_states: &mut [BufferUses], - resource_metadata: &mut ResourceMetadata>, + resource_metadata: &mut ResourceMetadata>, index: usize, start_state_provider: BufferStateProvider<'_>, end_state_provider: Option>, - metadata_provider: ResourceMetadataProvider<'_, A, Buffer>, + metadata_provider: ResourceMetadataProvider<'_, Buffer>, ) { let new_start_state = unsafe { start_state_provider.get_state(index) }; let new_end_state = @@ -776,7 +776,7 @@ unsafe fn merge( index32: u32, index: usize, state_provider: BufferStateProvider<'_>, - metadata_provider: ResourceMetadataProvider<'_, A, Buffer>, + metadata_provider: ResourceMetadataProvider<'_, Buffer>, ) -> Result<(), UsageConflict> { let current_state = unsafe { current_states.get_unchecked_mut(index) }; let new_state = unsafe { state_provider.get_state(index) }; diff --git a/wgpu-core/src/track/metadata.rs b/wgpu-core/src/track/metadata.rs index 76f6582061..e5f4d5e969 100644 --- a/wgpu-core/src/track/metadata.rs +++ b/wgpu-core/src/track/metadata.rs @@ -1,8 +1,8 @@ //! The `ResourceMetadata` type. -use crate::{hal_api::HalApi, resource::Resource, Epoch}; +use crate::{resource::Resource, Epoch}; use bit_vec::BitVec; -use std::{borrow::Cow, marker::PhantomData, mem, sync::Arc}; +use std::{borrow::Cow, mem, sync::Arc}; use wgt::strict_assert; /// A set of resources, holding a `Arc` and epoch for each member. @@ -13,23 +13,19 @@ use wgt::strict_assert; /// members, but a bit vector tracks occupancy, so iteration touches /// only occupied elements. #[derive(Debug)] -pub(super) struct ResourceMetadata { +pub(super) struct ResourceMetadata { /// If the resource with index `i` is a member, `owned[i]` is `true`. owned: BitVec, /// A vector holding clones of members' `T`s. resources: Vec>>, - - /// This tells Rust that this type should be covariant with `A`. - _phantom: PhantomData, } -impl ResourceMetadata { +impl ResourceMetadata { pub(super) fn new() -> Self { Self { owned: BitVec::default(), resources: Vec::new(), - _phantom: PhantomData, } } @@ -172,15 +168,13 @@ impl ResourceMetadata { /// /// This is used to abstract over the various places /// trackers can get new resource metadata from. -pub(super) enum ResourceMetadataProvider<'a, A: HalApi, T: Resource> { +pub(super) enum ResourceMetadataProvider<'a, T: Resource> { /// Comes directly from explicit values. Direct { resource: Cow<'a, Arc> }, /// Comes from another metadata tracker. - Indirect { - metadata: &'a ResourceMetadata, - }, + Indirect { metadata: &'a ResourceMetadata }, } -impl ResourceMetadataProvider<'_, A, T> { +impl ResourceMetadataProvider<'_, T> { /// Get the epoch and an owned refcount from this. /// /// # Safety diff --git a/wgpu-core/src/track/mod.rs b/wgpu-core/src/track/mod.rs index 68975c931e..a437f95ece 100644 --- a/wgpu-core/src/track/mod.rs +++ b/wgpu-core/src/track/mod.rs @@ -352,9 +352,9 @@ pub(crate) struct RenderBundleScope { pub buffers: RwLock>, pub textures: RwLock>, // Don't need to track views and samplers, they are never used directly, only by bind groups. - pub bind_groups: RwLock>>, - pub render_pipelines: RwLock>>, - pub query_sets: RwLock>>, + pub bind_groups: RwLock>>, + pub render_pipelines: RwLock>>, + pub query_sets: RwLock>>, } impl RenderBundleScope { @@ -489,13 +489,13 @@ where pub(crate) struct Tracker { pub buffers: BufferTracker, pub textures: TextureTracker, - pub views: StatelessTracker>, - pub samplers: StatelessTracker>, - pub bind_groups: StatelessTracker>, - pub compute_pipelines: StatelessTracker>, - pub render_pipelines: StatelessTracker>, - pub bundles: StatelessTracker>, - pub query_sets: StatelessTracker>, + pub views: StatelessTracker>, + pub samplers: StatelessTracker>, + pub bind_groups: StatelessTracker>, + pub compute_pipelines: StatelessTracker>, + pub render_pipelines: StatelessTracker>, + pub bundles: StatelessTracker>, + pub query_sets: StatelessTracker>, } impl Tracker { diff --git a/wgpu-core/src/track/stateless.rs b/wgpu-core/src/track/stateless.rs index c1380e1248..6b1533fd41 100644 --- a/wgpu-core/src/track/stateless.rs +++ b/wgpu-core/src/track/stateless.rs @@ -8,10 +8,7 @@ use std::sync::Arc; use parking_lot::Mutex; -use crate::{ - hal_api::HalApi, id::Id, resource::Resource, resource_log, storage::Storage, - track::ResourceMetadata, -}; +use crate::{id::Id, resource::Resource, resource_log, storage::Storage, track::ResourceMetadata}; use super::ResourceTracker; @@ -73,11 +70,11 @@ impl StatelessBindGroupSate { /// Stores all resource state within a command buffer or device. #[derive(Debug)] -pub(crate) struct StatelessTracker { - metadata: ResourceMetadata, +pub(crate) struct StatelessTracker { + metadata: ResourceMetadata, } -impl ResourceTracker for StatelessTracker { +impl ResourceTracker for StatelessTracker { /// Try to remove the given resource from the tracker iff we have the last reference to the /// resource and the epoch matches. /// @@ -120,7 +117,7 @@ impl ResourceTracker for StatelessTracker { } } -impl StatelessTracker { +impl StatelessTracker { pub fn new() -> Self { Self { metadata: ResourceMetadata::new(), diff --git a/wgpu-core/src/track/texture.rs b/wgpu-core/src/track/texture.rs index f42740bf46..a0cfe8ab75 100644 --- a/wgpu-core/src/track/texture.rs +++ b/wgpu-core/src/track/texture.rs @@ -231,7 +231,7 @@ impl TextureStateSet { #[derive(Debug)] pub(crate) struct TextureUsageScope { set: TextureStateSet, - metadata: ResourceMetadata>, + metadata: ResourceMetadata>, } impl TextureUsageScope { @@ -386,7 +386,7 @@ pub(crate) struct TextureTracker { start_set: TextureStateSet, end_set: TextureStateSet, - metadata: ResourceMetadata>, + metadata: ResourceMetadata>, temp: Vec>, @@ -863,10 +863,10 @@ impl<'a> TextureStateProvider<'a> { unsafe fn insert_or_merge( texture_selector: &TextureSelector, current_state_set: &mut TextureStateSet, - resource_metadata: &mut ResourceMetadata>, + resource_metadata: &mut ResourceMetadata>, index: usize, state_provider: TextureStateProvider<'_>, - metadata_provider: ResourceMetadataProvider<'_, A, Texture>, + metadata_provider: ResourceMetadataProvider<'_, Texture>, ) -> Result<(), UsageConflict> { let currently_owned = unsafe { resource_metadata.contains_unchecked(index) }; @@ -919,11 +919,11 @@ unsafe fn insert_or_barrier_update( texture_selector: &TextureSelector, start_state: Option<&mut TextureStateSet>, current_state_set: &mut TextureStateSet, - resource_metadata: &mut ResourceMetadata>, + resource_metadata: &mut ResourceMetadata>, index: usize, start_state_provider: TextureStateProvider<'_>, end_state_provider: Option>, - metadata_provider: ResourceMetadataProvider<'_, A, Texture>, + metadata_provider: ResourceMetadataProvider<'_, Texture>, barriers: &mut Vec>, ) { let currently_owned = unsafe { resource_metadata.contains_unchecked(index) }; @@ -972,11 +972,11 @@ unsafe fn insert( texture_selector: Option<&TextureSelector>, start_state: Option<&mut TextureStateSet>, end_state: &mut TextureStateSet, - resource_metadata: &mut ResourceMetadata>, + resource_metadata: &mut ResourceMetadata>, index: usize, start_state_provider: TextureStateProvider<'_>, end_state_provider: Option>, - metadata_provider: ResourceMetadataProvider<'_, A, Texture>, + metadata_provider: ResourceMetadataProvider<'_, Texture>, ) { let start_layers = unsafe { start_state_provider.get_state(texture_selector, index) }; match start_layers { @@ -1059,7 +1059,7 @@ unsafe fn merge( current_state_set: &mut TextureStateSet, index: usize, state_provider: TextureStateProvider<'_>, - metadata_provider: ResourceMetadataProvider<'_, A, Texture>, + metadata_provider: ResourceMetadataProvider<'_, Texture>, ) -> Result<(), UsageConflict> { let current_simple = unsafe { current_state_set.simple.get_unchecked_mut(index) }; let current_state = if *current_simple == TextureUses::COMPLEX {