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