1From 73fc5e13c266d83b46bae30b984b249ea337b965 Mon Sep 17 00:00:00 2001
2From: Jeffy Chen <jeffy.chen@rock-chips.com>
3Date: Mon, 19 Apr 2021 09:40:10 +0800
4Subject: [PATCH 46/79] HACK: gl-renderer: Fix random hang during hotplug
5
6Try to bind to a valid output before attaching buffers for mali.
7
8Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
9---
10 libweston/renderer-gl/gl-renderer.c | 5 +++++
11 1 file changed, 5 insertions(+)
12
13diff --git a/libweston/renderer-gl/gl-renderer.c b/libweston/renderer-gl/gl-renderer.c
14index 0947efd..15b2292 100644
15--- a/libweston/renderer-gl/gl-renderer.c
16+++ b/libweston/renderer-gl/gl-renderer.c
17@@ -1913,6 +1913,7 @@ gl_renderer_flush_damage(struct weston_surface *surface)
18 	const struct weston_testsuite_quirks *quirks =
19 		&surface->compositor->test_data.test_quirks;
20 	struct gl_surface_state *gs = get_surface_state(surface);
21+	struct gl_renderer *gr = get_renderer(surface->compositor);
22 	struct weston_buffer *buffer = gs->buffer_ref.buffer;
23 	struct weston_view *view;
24 	bool texture_used;
25@@ -1934,6 +1935,10 @@ gl_renderer_flush_damage(struct weston_surface *surface)
26 	texture_used = false;
27 	wl_list_for_each(view, &surface->views, surface_link) {
28 		if (view->plane == &surface->compositor->primary_plane) {
29+			/* HACK: Mali needs a valid context for uploading */
30+			if (gr->is_mali_egl && view->output)
31+				use_output(view->output);
32+
33 			texture_used = true;
34 			break;
35 		}
36--
372.20.1
38
39