Support GPU recovery in gl renderer of drm backend
- Mar 01, 2025
-
-
Trigger Huang authored
For testing GPU recovery of gl renderer Signed-off-by:
Trigger Huang <Trigger.Huang@amd.com>
-
During GPU recovery process, scanout fb will be destroied by eglDestroySurface(). Explicitly set them to NULL to prevent these invalid fbs from being further processed. Signed-off-by:
Wei Zhao <Wei.Zhao@amd.com> Signed-off-by:
Trigger Huang <Trigger.Huang@amd.com>
-
Trigger Huang authored
Restore all the dma buffers in GPU recovery, then the applications which created dam buffers will not be terminated. Signed-off-by:
Trigger Huang <Trigger.Huang@amd.com>
-
Trigger Huang authored
Save all the DMA buffers for restore. Signed-off-by:
Trigger Huang <Trigger.Huang@amd.com>
-
Trigger Huang authored
Mark all the SHM buffer as dirty to avoid garbage caused by original damage information in GPU recovery Signed-off-by:
Trigger Huang <Trigger.Huang@amd.com>
-
Trigger Huang authored
Call gl_renderer_attach_shm() to recreate all the SHM buffer states in the new EGL context Signed-off-by:
Trigger Huang <Trigger.Huang@amd.com>
-
Trigger Huang authored
Save all SHM buffers properly so that they can be restored during GPU recovery Signed-off-by:
Trigger Huang <Trigger.Huang@amd.com>
-
Trigger Huang authored
For each frame, if the ERROR_RENDERER_LOST error occurs, we destroy the context (which has already become invalid due to a GPU reset) and all associated resources, then recreate them to ensure validity within the new context. Signed-off-by:
Trigger Huang <Trigger.Huang@amd.com>
-
Trigger Huang authored
Return RENDERER_LOST if GPU reset happened in function gl_renderer_repaint_output() for further process Signed-off-by:
Trigger Huang <Trigger.Huang@amd.com>
-
Trigger Huang authored
Supports returning an error code during the repaint process of renderer Signed-off-by:
Trigger Huang <Trigger.Huang@amd.com>
-
Trigger Huang authored
When reinitializing the renderer, skip non-GL steps in gl_renderer_destroy() and gl_renderer_display_create(). All the GL & EGL related resources will be recreated Signed-off-by:
Trigger Huang <Trigger.Huang@amd.com>
-
Trigger Huang authored
Split the renderer init/destroy into two parts: one to init/destroy (E)GL, and one to init/destroy the renderer state around it. Introduce the following two new helper functions to centralize the handling of GL-related operations - gl_renderer_init_gl_egl_context - gl_renderer_destroy_gl_egl_context Signed-off-by:
Trigger Huang <Trigger.Huang@amd.com>
-
Trigger Huang authored
Tell the gl renderer if the compositor is reinitializing the renderer. Signed-off-by:
Trigger Huang <Trigger.Huang@amd.com>
-
Trigger Huang authored
Import API glGetGraphicsResetStatusEXT to get GPU reset status if supported Signed-off-by:
Trigger Huang <Trigger.Huang@amd.com>
-
Trigger Huang authored
Enable robust context when creating the EGL context, this will make sure that weston will not be killed by the GL driver after a GPU reset has happened. Signed-off-by:
Trigger Huang <Trigger.Huang@amd.com>
-