summaryrefslogtreecommitdiffstats
path: root/third_party/rust/wgpu-core/src/command/clear.rs
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/rust/wgpu-core/src/command/clear.rs')
-rw-r--r--third_party/rust/wgpu-core/src/command/clear.rs7
1 files changed, 5 insertions, 2 deletions
diff --git a/third_party/rust/wgpu-core/src/command/clear.rs b/third_party/rust/wgpu-core/src/command/clear.rs
index e404fabb14..72c923f82e 100644
--- a/third_party/rust/wgpu-core/src/command/clear.rs
+++ b/third_party/rust/wgpu-core/src/command/clear.rs
@@ -12,6 +12,7 @@ use crate::{
id::{BufferId, CommandEncoderId, DeviceId, TextureId},
init_tracker::{MemoryInitKind, TextureInitRange},
resource::{Resource, Texture, TextureClearMode},
+ snatch::SnatchGuard,
track::{TextureSelector, TextureTracker},
};
@@ -239,6 +240,7 @@ impl Global {
}
let (encoder, tracker) = cmd_buf_data.open_encoder_and_tracker()?;
+ let snatch_guard = device.snatchable_lock.read();
clear_texture(
&dst_texture,
TextureInitRange {
@@ -249,6 +251,7 @@ impl Global {
&mut tracker.textures,
&device.alignments,
device.zero_buffer.as_ref().unwrap(),
+ &snatch_guard,
)
}
}
@@ -260,10 +263,10 @@ pub(crate) fn clear_texture<A: HalApi>(
texture_tracker: &mut TextureTracker<A>,
alignments: &hal::Alignments,
zero_buffer: &A::Buffer,
+ snatch_guard: &SnatchGuard<'_>,
) -> Result<(), ClearError> {
- let snatch_guard = dst_texture.device.snatchable_lock.read();
let dst_raw = dst_texture
- .raw(&snatch_guard)
+ .raw(snatch_guard)
.ok_or_else(|| ClearError::InvalidTexture(dst_texture.as_info().id()))?;
// Issue the right barrier.