From 30b6987c571fc838077d39c036a4fe8ce57cde5b Mon Sep 17 00:00:00 2001 From: Jeffy Chen Date: Mon, 19 Apr 2021 09:40:10 +0800 Subject: [PATCH 46/74] HACK: gl-renderer: Fix random hang during hotplug Try to bind to a valid output before attaching buffers for mali. Signed-off-by: Jeffy Chen --- libweston/renderer-gl/gl-renderer.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libweston/renderer-gl/gl-renderer.c b/libweston/renderer-gl/gl-renderer.c index 0947efd..15b2292 100644 --- a/libweston/renderer-gl/gl-renderer.c +++ b/libweston/renderer-gl/gl-renderer.c @@ -1913,6 +1913,7 @@ gl_renderer_flush_damage(struct weston_surface *surface) const struct weston_testsuite_quirks *quirks = &surface->compositor->test_data.test_quirks; struct gl_surface_state *gs = get_surface_state(surface); + struct gl_renderer *gr = get_renderer(surface->compositor); struct weston_buffer *buffer = gs->buffer_ref.buffer; struct weston_view *view; bool texture_used; @@ -1934,6 +1935,10 @@ gl_renderer_flush_damage(struct weston_surface *surface) texture_used = false; wl_list_for_each(view, &surface->views, surface_link) { if (view->plane == &surface->compositor->primary_plane) { + /* HACK: Mali needs a valid context for uploading */ + if (gr->is_mali_egl && view->output) + use_output(view->output); + texture_used = true; break; } -- 2.20.1