WebGPU: always send exit message to script before exiting (#30989)

* webgpu: always send exit message to script before exiting

* Update expectations

---------

Co-authored-by: sagudev <16504129+sagudev@users.noreply.github.com>
This commit is contained in:
Gregory Terzian 2024-01-04 01:19:50 +08:00 committed by GitHub
parent 65cbc95d38
commit f44ff83c20
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 334 additions and 10 deletions

View file

@ -831,13 +831,10 @@ impl<'a> WGPU<'a> {
gfx_select!(texture => global.texture_drop(texture, true));
},
WebGPURequest::Exit(sender) => {
if let Err(e) = self.script_sender.send(WebGPUMsg::Exit) {
warn!("Failed to send WebGPUMsg::Exit to script ({})", e);
}
if let Err(e) = sender.send(()) {
warn!("Failed to send response to WebGPURequest::Exit ({})", e)
}
return;
break;
},
WebGPURequest::FreeCommandBuffer(command_buffer_id) => {
self.error_command_encoders
@ -888,7 +885,7 @@ impl<'a> WGPU<'a> {
e
)
}
return;
break;
},
};
let adapter = WebGPUAdapter(adapter_id);
@ -943,7 +940,7 @@ impl<'a> WGPU<'a> {
w
)
}
return;
break;
},
};
let device = WebGPUDevice(id);
@ -1249,6 +1246,9 @@ impl<'a> WGPU<'a> {
}
}
}
if let Err(e) = self.script_sender.send(WebGPUMsg::Exit) {
warn!("Failed to send WebGPUMsg::Exit to script ({})", e);
}
}
fn send_result<U, T: std::fmt::Debug>(