hc
2023-11-20 2e7bd41e4e8ab3d1efdabd9e263a2f7fe79bff8c
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
From cf62deea98faf7e7e8a31c05d4d44c7d308374db Mon Sep 17 00:00:00 2001
From: Jeffy Chen <jeffy.chen@rock-chips.com>
Date: Fri, 5 Aug 2022 11:27:54 +0800
Subject: [PATCH 75/76] gl-renderer: Clear RGB when alpha is zero in fast path
 
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
---
 libweston/renderer-gl/fragment.glsl | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
 
diff --git a/libweston/renderer-gl/fragment.glsl b/libweston/renderer-gl/fragment.glsl
index 4414b63..a90cbfa 100644
--- a/libweston/renderer-gl/fragment.glsl
+++ b/libweston/renderer-gl/fragment.glsl
@@ -253,8 +253,12 @@ main()
         /* Fast path for disabled color management */
 
         if (c_input_is_premult) {
-            /* View alpha (opacity) */
-            color *= alpha;
+            if (color.a == 0.0) {
+                color.rgb = vec3(0, 0, 0);
+            } else {
+                /* View alpha (opacity) */
+                color *= alpha;
+            }
         } else {
             /* View alpha (opacity) */
             color.a *= alpha;
-- 
2.20.1