mirror of
https://github.com/gfx-rs/wgpu.git
synced 2025-12-08 21:26:17 +00:00
Don't panic on pipeline creation errors
This commit is contained in:
parent
37dbe5e32e
commit
4f7cd45ea7
@ -1932,15 +1932,16 @@ impl<B: GfxBackend> Device<B> {
|
|||||||
parent,
|
parent,
|
||||||
};
|
};
|
||||||
|
|
||||||
let raw = match unsafe { self.raw.create_compute_pipeline(&pipeline_desc, None) } {
|
let raw =
|
||||||
Ok(pipeline) => pipeline,
|
unsafe { self.raw.create_compute_pipeline(&pipeline_desc, None) }.map_err(|err| {
|
||||||
Err(hal::pso::CreationError::OutOfMemory(_)) => {
|
match err {
|
||||||
return Err(pipeline::CreateComputePipelineError::Device(
|
hal::pso::CreationError::OutOfMemory(_) => DeviceError::OutOfMemory,
|
||||||
DeviceError::OutOfMemory,
|
_ => {
|
||||||
))
|
tracing::error!("failed to create compute pipeline: {}", err);
|
||||||
|
DeviceError::OutOfMemory
|
||||||
}
|
}
|
||||||
other => panic!("Compute pipeline creation error: {:?}", other),
|
}
|
||||||
};
|
})?;
|
||||||
|
|
||||||
let pipeline = pipeline::ComputePipeline {
|
let pipeline = pipeline::ComputePipeline {
|
||||||
raw,
|
raw,
|
||||||
@ -2366,14 +2367,16 @@ impl<B: GfxBackend> Device<B> {
|
|||||||
parent,
|
parent,
|
||||||
};
|
};
|
||||||
// TODO: cache
|
// TODO: cache
|
||||||
let raw = unsafe {
|
let raw =
|
||||||
self.raw
|
unsafe { self.raw.create_graphics_pipeline(&pipeline_desc, None) }.map_err(|err| {
|
||||||
.create_graphics_pipeline(&pipeline_desc, None)
|
match err {
|
||||||
.map_err(|err| match err {
|
|
||||||
hal::pso::CreationError::OutOfMemory(_) => DeviceError::OutOfMemory,
|
hal::pso::CreationError::OutOfMemory(_) => DeviceError::OutOfMemory,
|
||||||
_ => panic!("failed to create graphics pipeline: {}", err),
|
_ => {
|
||||||
})?
|
tracing::error!("failed to create graphics pipeline: {}", err);
|
||||||
};
|
DeviceError::OutOfMemory
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})?;
|
||||||
|
|
||||||
let pass_context = RenderPassContext {
|
let pass_context = RenderPassContext {
|
||||||
attachments: AttachmentData {
|
attachments: AttachmentData {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user