Skip to content

Commit 4a381b6

Browse files
committed
Use Scratch in asset extraction
This was the whole motivation for this code.
1 parent 718c9f9 commit 4a381b6

2 files changed

Lines changed: 8 additions & 7 deletions

File tree

crates/bevy_render/src/erased_render_asset.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@ use crate::{
55
use bevy_app::{App, Plugin, SubApp};
66
use bevy_asset::RenderAssetUsages;
77
use bevy_asset::{Asset, AssetEvent, AssetId, Assets, UntypedAssetId};
8+
use bevy_ecs::system::Scratch;
89
use bevy_ecs::{
9-
prelude::{Commands, IntoScheduleConfigs, Local, MessageReader, ResMut, Resource},
10+
prelude::{Commands, IntoScheduleConfigs, MessageReader, ResMut, Resource},
1011
schedule::{ScheduleConfigs, SystemSet},
1112
system::{ScheduleSystem, StaticSystemParam, SystemParam, SystemParamItem, SystemState},
1213
world::{FromWorld, Mut},
@@ -281,13 +282,12 @@ pub(crate) fn extract_erased_render_asset<A: ErasedRenderAsset>(
281282
mut to_reextract: Option<ResMut<ErasedRenderAssetsToReExtract<A>>>,
282283
mut extracted_assets: ResMut<ExtractedAssets<A>>,
283284
mut main_world: ResMut<MainWorld>,
284-
mut needs_extracting: Local<HashSet<AssetId<A::SourceAsset>>>,
285+
mut needs_extracting: Scratch<HashSet<AssetId<A::SourceAsset>>>,
285286
) {
286287
extracted_assets.extracted.clear();
287288
extracted_assets.removed.clear();
288289
extracted_assets.modified.clear();
289290
extracted_assets.added.clear();
290-
needs_extracting.clear();
291291

292292
let reextract_ids = to_reextract
293293
.as_mut()

crates/bevy_render/src/render_asset.rs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,11 @@ use crate::{
55
use bevy_app::{App, Plugin, SubApp};
66
use bevy_asset::{Asset, AssetEvent, AssetId, Assets, RenderAssetUsages};
77
use bevy_ecs::{
8-
prelude::{Commands, IntoScheduleConfigs, Local, MessageReader, ResMut, Resource},
8+
prelude::{Commands, IntoScheduleConfigs, MessageReader, ResMut, Resource},
99
schedule::{ScheduleConfigs, SystemSet},
10-
system::{ScheduleSystem, StaticSystemParam, SystemParam, SystemParamItem, SystemState},
10+
system::{
11+
ScheduleSystem, Scratch, StaticSystemParam, SystemParam, SystemParamItem, SystemState,
12+
},
1113
world::{FromWorld, Mut},
1214
};
1315
use bevy_log::{debug, error};
@@ -281,13 +283,12 @@ pub(crate) fn extract_render_asset<A: RenderAsset>(
281283
mut to_reextract: Option<ResMut<RenderAssetsToReExtract<A>>>,
282284
mut extracted_assets: ResMut<ExtractedAssets<A>>,
283285
mut main_world: ResMut<MainWorld>,
284-
mut needs_extracting: Local<HashSet<AssetId<A::SourceAsset>>>,
286+
mut needs_extracting: Scratch<HashSet<AssetId<A::SourceAsset>>>,
285287
) {
286288
extracted_assets.extracted.clear();
287289
extracted_assets.removed.clear();
288290
extracted_assets.modified.clear();
289291
extracted_assets.added.clear();
290-
needs_extracting.clear();
291292

292293
let reextract_ids = to_reextract
293294
.as_mut()

0 commit comments

Comments
 (0)