diff --git a/wgpu-core/src/device/mod.rs b/wgpu-core/src/device/mod.rs index 80d7ea3502..39b7264299 100644 --- a/wgpu-core/src/device/mod.rs +++ b/wgpu-core/src/device/mod.rs @@ -448,7 +448,8 @@ impl Device { let mut flags = Uf::empty(); let map_flags = desc.usage & (Bu::MAP_READ | Bu::MAP_WRITE); - if !(desc.usage - map_flags).is_empty() { + let map_copy_flags = desc.usage & (Bu::MAP_READ | Bu::MAP_WRITE | Bu::COPY_SRC | Bu::COPY_DST); + if map_flags.is_empty() || !(desc.usage - map_copy_flags).is_empty() { flags |= Uf::FAST_DEVICE_ACCESS; } if transient {