summaryrefslogtreecommitdiff
path: root/ext/webgpu/src/error.rs
diff options
context:
space:
mode:
authorLeo Kettmeir <crowlkats@toaxl.com>2023-01-30 15:14:16 +0100
committerGitHub <noreply@github.com>2023-01-30 15:14:16 +0100
commit3035dee9f14402f57d42ff0b362152140b4dca13 (patch)
treeb9a3d3d36e368b3585970ffe00127c90e16b7a09 /ext/webgpu/src/error.rs
parent266915d5ce354fde12b20f8f5ceb5ffdfacb7983 (diff)
chore: update webgpu (#17534)
Diffstat (limited to 'ext/webgpu/src/error.rs')
-rw-r--r--ext/webgpu/src/error.rs14
1 files changed, 10 insertions, 4 deletions
diff --git a/ext/webgpu/src/error.rs b/ext/webgpu/src/error.rs
index 55ef223a1..41d7d6cf3 100644
--- a/ext/webgpu/src/error.rs
+++ b/ext/webgpu/src/error.rs
@@ -5,7 +5,6 @@ use serde::Serialize;
use std::convert::From;
use std::error::Error;
use std::fmt;
-use std::fmt::Write;
use wgpu_core::binding_model::CreateBindGroupError;
use wgpu_core::binding_model::CreateBindGroupLayoutError;
use wgpu_core::binding_model::CreatePipelineLayoutError;
@@ -24,6 +23,8 @@ use wgpu_core::device::DeviceError;
use wgpu_core::pipeline::CreateComputePipelineError;
use wgpu_core::pipeline::CreateRenderPipelineError;
use wgpu_core::pipeline::CreateShaderModuleError;
+#[cfg(feature = "surface")]
+use wgpu_core::present::ConfigureSurfaceError;
use wgpu_core::resource::BufferAccessError;
use wgpu_core::resource::CreateBufferError;
use wgpu_core::resource::CreateQuerySetError;
@@ -36,9 +37,7 @@ fn fmt_err(err: &(dyn Error + 'static)) -> String {
let mut e = err.source();
while let Some(source) = e {
- // No error possible, unwrap is fine here.
- // https://github.com/rust-lang/rust/blob/1.47.0/library/alloc/src/string.rs#L2414-L2427
- write!(output, ": {source}").unwrap();
+ output.push_str(&format!(": {source}"));
e = source.source();
}
@@ -281,6 +280,13 @@ impl From<ClearError> for WebGpuError {
}
}
+#[cfg(feature = "surface")]
+impl From<ConfigureSurfaceError> for WebGpuError {
+ fn from(err: ConfigureSurfaceError) -> Self {
+ WebGpuError::Validation(fmt_err(&err))
+ }
+}
+
#[derive(Debug)]
pub struct DomExceptionOperationError {
pub msg: String,