From 30b6987c571fc838077d39c036a4fe8ce57cde5b Mon Sep 17 00:00:00 2001
|
From: Jeffy Chen <jeffy.chen@rock-chips.com>
|
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 <jeffy.chen@rock-chips.com>
|
---
|
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
|