linuxOS_AP05/buildroot/package/weston/0075-gl-renderer-Clear-RGB-when-alpha-is-zero-in-fast-pat.patch
2025-06-02 13:59:07 +08:00

33 lines
957 B
Diff

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