summaryrefslogtreecommitdiffstats
path: root/recipes-graphics/wayland/weston/0017-MGS-2343-ccc-XWLD-T3DStressTest_Wayland-displays-abn.patch
blob: d0b82aa421c17edbb5d6adcc6b49bfb79d00de8f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
From 0cc335a411127feb05e16cbf2803058b2db1b405 Mon Sep 17 00:00:00 2001
From: Meng Mingming <mingming.meng@nxp.com>
Date: Thu, 27 Oct 2016 17:00:24 +0800
Subject: [PATCH 1/2] MGS-2343 [#ccc] XWLD: T3DStressTest_Wayland displays
 abnormally while using G2D compositor

It need add g2d_finish after repaint_region and before copy to framebuffer.
Because if using dual dpu cores, the tasks on each core will be executed
sequently, but it can't ensure one task splited on dual cores can be finished
synchronously by hardware.

Upstream-Status: Inappropriate [i.MX specific]

Date: Oct 27, 2016
Signed-off-by: Meng Mingming <mingming.meng@nxp.com>
---
 src/g2d-renderer.c | 1 +
 1 file changed, 1 insertion(+)

Index: weston-1.11.0/src/g2d-renderer.c
===================================================================
--- weston-1.11.0.orig/src/g2d-renderer.c	2017-01-12 14:58:11.923607788 -0600
+++ weston-1.11.0/src/g2d-renderer.c	2017-01-12 18:08:33.328243476 -0600
@@ -679,6 +679,8 @@
 			     pixman_region32_t *output_damage)
 {
 	struct g2d_output_state *go = get_output_state(output);
+	struct weston_compositor *compositor = output->compositor;
+	struct g2d_renderer *gr = get_renderer(compositor);
 	int i;
 
 	use_output(output);
@@ -691,6 +693,7 @@
 			      &go->buffer_damage[go->current_buffer]);
 
 	repaint_views(output, output_damage);
+	g2d_finish(gr->handle);
 
 	pixman_region32_copy(&output->previous_damage, output_damage);
 	wl_signal_emit(&output->frame_signal, output);