aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/gpubuffer.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/gpubuffer.rs')
-rw-r--r--components/script/dom/gpubuffer.rs41
1 files changed, 19 insertions, 22 deletions
diff --git a/components/script/dom/gpubuffer.rs b/components/script/dom/gpubuffer.rs
index 0a7689cdb5a..1182e247a4a 100644
--- a/components/script/dom/gpubuffer.rs
+++ b/components/script/dom/gpubuffer.rs
@@ -12,7 +12,7 @@ use dom_struct::dom_struct;
use ipc_channel::ipc::IpcSharedMemory;
use js::typedarray::{ArrayBuffer, ArrayBufferU8};
use webgpu::wgc::device::HostMap;
-use webgpu::{WebGPU, WebGPUBuffer, WebGPURequest, WebGPUResponse, WebGPUResponseResult};
+use webgpu::{WebGPU, WebGPUBuffer, WebGPURequest, WebGPUResponse};
use super::bindings::buffer_source::{create_new_external_array_buffer, HeapBufferSource};
use crate::dom::bindings::cell::DomRefCell;
@@ -350,29 +350,26 @@ impl GPUBufferMethods for GPUBuffer {
}
impl AsyncWGPUListener for GPUBuffer {
- fn handle_response(&self, response: Option<WebGPUResponseResult>, promise: &Rc<Promise>) {
+ fn handle_response(&self, response: WebGPUResponse, promise: &Rc<Promise>) {
match response {
- Some(response) => match response {
- Ok(WebGPUResponse::BufferMapAsync(bytes)) => {
- *self
- .map_info
- .borrow_mut()
- .as_mut()
- .unwrap()
- .mapping
- .lock()
- .unwrap()
- .as_mut() = bytes.to_vec();
- promise.resolve_native(&());
- self.state.set(GPUBufferState::Mapped);
- },
- Err(e) => {
- warn!("Could not map buffer({:?})", e);
- promise.reject_error(Error::Abort);
- },
- Ok(_) => unreachable!("GPUBuffer received wrong WebGPUResponse"),
+ WebGPUResponse::BufferMapAsync(Ok(bytes)) => {
+ *self
+ .map_info
+ .borrow_mut()
+ .as_mut()
+ .unwrap()
+ .mapping
+ .lock()
+ .unwrap()
+ .as_mut() = bytes.to_vec();
+ promise.resolve_native(&());
+ self.state.set(GPUBufferState::Mapped);
},
- None => unreachable!("Failed to get a response for BufferMapAsync"),
+ WebGPUResponse::BufferMapAsync(Err(e)) => {
+ warn!("Could not map buffer({:?})", e);
+ promise.reject_error(Error::Abort);
+ },
+ _ => unreachable!("GPUBuffer received wrong WebGPUResponse"),
}
*self.map_promise.borrow_mut() = None;
}