mirror of
https://github.com/servo/servo.git
synced 2025-07-22 23:03:42 +01:00
webgpu: Move errorscopes to WGPU thread (#32304)
* Prepare errorscopes logic in wgpu_thread * remove scope_id from ipc * new GPUErrors per spec * remove cotent timeline error_scope * fixup poperrorscope types * device_scope -> gpu_error and nice errors * Handle errors detection more elegantly * good expectations * new expectations * Make error_scope.errors Vec as per spec
This commit is contained in:
parent
9f32809671
commit
794110ebe5
37 changed files with 3401 additions and 725 deletions
|
@ -2398,16 +2398,6 @@ impl ScriptThread {
|
|||
WebGPUMsg::FreeTexture(id) => self.gpu_id_hub.lock().kill_texture_id(id),
|
||||
WebGPUMsg::FreeTextureView(id) => self.gpu_id_hub.lock().kill_texture_view_id(id),
|
||||
WebGPUMsg::Exit => *self.webgpu_port.borrow_mut() = None,
|
||||
WebGPUMsg::WebGPUOpResult {
|
||||
device,
|
||||
scope_id,
|
||||
pipeline_id,
|
||||
result,
|
||||
} => {
|
||||
let global = self.documents.borrow().find_global(pipeline_id).unwrap();
|
||||
let _ac = enter_realm(&*global);
|
||||
global.handle_wgpu_msg(device, scope_id, result);
|
||||
},
|
||||
WebGPUMsg::CleanDevice {
|
||||
pipeline_id,
|
||||
device,
|
||||
|
@ -2415,6 +2405,15 @@ impl ScriptThread {
|
|||
let global = self.documents.borrow().find_global(pipeline_id).unwrap();
|
||||
global.remove_gpu_device(device);
|
||||
},
|
||||
WebGPUMsg::UncapturedError {
|
||||
device,
|
||||
pipeline_id,
|
||||
error,
|
||||
} => {
|
||||
let global = self.documents.borrow().find_global(pipeline_id).unwrap();
|
||||
let _ac = enter_realm(&*global);
|
||||
global.handle_uncaptured_gpu_error(device, error);
|
||||
},
|
||||
_ => {},
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue