Bug 1629739 - Fix WebGPU buffer unmap warning r=jgilbert

it was a bogus warning that erroneously fire when Gecko flushed mapped contents

Differential Revision: https://phabricator.services.mozilla.com/D70789

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Dzmitry Malyshau 2020-04-14 21:09:17 +00:00
parent 28098bb7a3
commit 86ff5eeab6

View File

@ -142,14 +142,6 @@ fn map_buffer<B: hal::Backend>(
}
fn unmap_buffer<B: hal::Backend>(raw: &B::Device, buffer: &mut resource::Buffer<B>) {
match buffer.map_state {
resource::BufferMapState::Idle => {
log::error!("Buffer already unmapped");
return;
}
_ => buffer.map_state = resource::BufferMapState::Idle,
}
if !buffer.mapped_write_segments.is_empty() {
unsafe {
raw.flush_mapped_memory_ranges(
@ -2142,6 +2134,14 @@ impl<G: GlobalIdentityHandlerFactory> Global<G> {
let buffer = &mut buffer_guard[buffer_id];
log::debug!("Buffer {:?} map state -> Idle", buffer_id);
unmap_buffer(&device_guard[buffer.device_id.value].raw, buffer);
match buffer.map_state {
resource::BufferMapState::Idle => {
log::error!("Buffer already unmapped");
}
_ => {
buffer.map_state = resource::BufferMapState::Idle;
unmap_buffer(&device_guard[buffer.device_id.value].raw, buffer);
}
}
}
}