aboutsummaryrefslogtreecommitdiffstats
path: root/components/webgpu/ipc_messages/to_dom.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/webgpu/ipc_messages/to_dom.rs')
-rw-r--r--components/webgpu/ipc_messages/to_dom.rs12
1 files changed, 11 insertions, 1 deletions
diff --git a/components/webgpu/ipc_messages/to_dom.rs b/components/webgpu/ipc_messages/to_dom.rs
index b38e21c3038..8525a46d78c 100644
--- a/components/webgpu/ipc_messages/to_dom.rs
+++ b/components/webgpu/ipc_messages/to_dom.rs
@@ -4,10 +4,13 @@
//! IPC messages that are send to WebGPU DOM objects.
+use std::ops::Range;
+
use ipc_channel::ipc::IpcSharedMemory;
use serde::{Deserialize, Serialize};
use wgc::id;
use wgc::pipeline::CreateShaderModuleError;
+use wgpu_core::device::HostMap;
use wgpu_core::instance::{RequestAdapterError, RequestDeviceError};
use wgpu_core::resource::BufferAccessError;
pub use {wgpu_core as wgc, wgpu_types as wgt};
@@ -73,6 +76,13 @@ pub struct Pipeline<T: std::fmt::Debug + Serialize> {
}
#[derive(Debug, Deserialize, Serialize)]
+pub struct Mapping {
+ pub data: IpcSharedMemory,
+ pub mode: HostMap,
+ pub range: Range<u64>,
+}
+
+#[derive(Debug, Deserialize, Serialize)]
#[allow(clippy::large_enum_variant)]
pub enum WebGPUResponse {
/// WebGPU is disabled
@@ -85,7 +95,7 @@ pub enum WebGPUResponse {
Result<wgt::DeviceDescriptor<Option<String>>, RequestDeviceError>,
),
),
- BufferMapAsync(Result<IpcSharedMemory, BufferAccessError>),
+ BufferMapAsync(Result<Mapping, BufferAccessError>),
SubmittedWorkDone,
PoppedErrorScope(Result<Option<Error>, PopError>),
CompilationInfo(Option<ShaderCompilationInfo>),