Handle secondary GPU reset

On a multi-gpu setup, a reset of the secondary GPU was detected
but not properly handled. This fixes that by recreating the mgpu renderer.
This commit is contained in:
Abilio Costa 2024-06-08 18:47:10 +01:00 committed by Abílio Costa
parent 213bd88b4c
commit 6aca7f9151
6 changed files with 26 additions and 6 deletions

View file

@ -255,6 +255,7 @@ struct wlr_gles2_render_pass *begin_gles2_buffer_pass(struct wlr_gles2_buffer *b
GLenum status = renderer->procs.glGetGraphicsResetStatusKHR();
if (status != GL_NO_ERROR) {
wlr_log(WLR_ERROR, "GPU reset (%s)", reset_status_str(status));
renderer->wlr_renderer.lost = true;
wl_signal_emit_mutable(&renderer->wlr_renderer.events.lost, NULL);
return NULL;
}