diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 01:14:29 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 01:14:29 +0000 |
commit | fbaf0bb26397aa498eb9156f06d5a6fe34dd7dd8 (patch) | |
tree | 4c1ccaf5486d4f2009f9a338a98a83e886e29c97 /third_party/rust/wgpu-hal/src/auxil/dxgi/result.rs | |
parent | Releasing progress-linux version 124.0.1-1~progress7.99u1. (diff) | |
download | firefox-fbaf0bb26397aa498eb9156f06d5a6fe34dd7dd8.tar.xz firefox-fbaf0bb26397aa498eb9156f06d5a6fe34dd7dd8.zip |
Merging upstream version 125.0.1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'third_party/rust/wgpu-hal/src/auxil/dxgi/result.rs')
-rw-r--r-- | third_party/rust/wgpu-hal/src/auxil/dxgi/result.rs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/third_party/rust/wgpu-hal/src/auxil/dxgi/result.rs b/third_party/rust/wgpu-hal/src/auxil/dxgi/result.rs index db013d2dec..2ac4464568 100644 --- a/third_party/rust/wgpu-hal/src/auxil/dxgi/result.rs +++ b/third_party/rust/wgpu-hal/src/auxil/dxgi/result.rs @@ -21,8 +21,26 @@ impl HResult<()> for i32 { Err(Cow::Borrowed(description)) } fn into_device_result(self, description: &str) -> Result<(), crate::DeviceError> { + #![allow(unreachable_code)] + self.into_result().map_err(|err| { log::error!("{} failed: {}", description, err); + + match self { + winerror::E_OUTOFMEMORY => { + #[cfg(feature = "oom_panic")] + panic!("{description} failed: Out of memory"); + } + winerror::DXGI_ERROR_DEVICE_RESET | winerror::DXGI_ERROR_DEVICE_REMOVED => { + #[cfg(feature = "device_lost_panic")] + panic!("{description} failed: Device lost ({err})"); + } + _ => { + #[cfg(feature = "internal_error_panic")] + panic!("{description} failed: {err}"); + } + } + if self == winerror::E_OUTOFMEMORY { crate::DeviceError::OutOfMemory } else { |