1From f896699c8cdac55e0460c506ba633d22b9086626 Mon Sep 17 00:00:00 2001
2From: Jeffy Chen <jeffy.chen@rock-chips.com>
3Date: Fri, 5 Aug 2022 11:27:54 +0800
4Subject: [PATCH 75/79] gl-renderer: Clear RGB when alpha is zero in fast path
5
6Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
7---
8 libweston/renderer-gl/fragment.glsl | 8 ++++++--
9 1 file changed, 6 insertions(+), 2 deletions(-)
10
11diff --git a/libweston/renderer-gl/fragment.glsl b/libweston/renderer-gl/fragment.glsl
12index 4414b63..a90cbfa 100644
13--- a/libweston/renderer-gl/fragment.glsl
14+++ b/libweston/renderer-gl/fragment.glsl
15@@ -253,8 +253,12 @@ main()
16 		/* Fast path for disabled color management */
17
18 		if (c_input_is_premult) {
19-			/* View alpha (opacity) */
20-			color *= alpha;
21+			if (color.a == 0.0) {
22+				color.rgb = vec3(0, 0, 0);
23+			} else {
24+				/* View alpha (opacity) */
25+				color *= alpha;
26+			}
27 		} else {
28 			/* View alpha (opacity) */
29 			color.a *= alpha;
30--
312.20.1
32
33