diff options
author | Pekka Paalanen <pekka.paalanen@collabora.com> | 2021-02-08 16:54:12 +0200 |
---|---|---|
committer | Pekka Paalanen <pekka.paalanen@collabora.com> | 2021-02-25 14:36:46 +0200 |
commit | 054ba37084dfcb461decad759c9462cba6769aae (patch) | |
tree | e62b40f72beaa5987463c5d842f3a6544ca6e5f2 | |
parent | a8d5ef4a04aeee5ce54fff26c293c32b74052e98 (diff) | |
download | weston-054ba37084dfcb461decad759c9462cba6769aae.tar.gz |
gl-renderer: move alpha pre-mult from YUV to RGB
Mathematically the result is the same, while multiplying RGB with alpha
is easier to understand as correct than the earlier form.
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
-rw-r--r-- | libweston/renderer-gl/fragment.glsl | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/libweston/renderer-gl/fragment.glsl b/libweston/renderer-gl/fragment.glsl index a321e2b1..6064e1d1 100644 --- a/libweston/renderer-gl/fragment.glsl +++ b/libweston/renderer-gl/fragment.glsl @@ -57,12 +57,11 @@ yuva2rgba(float y, float u, float v, float a) { vec4 color_out; - y *= a; - u *= a; - v *= a; color_out.r = y + 1.59602678 * v; color_out.g = y - 0.39176229 * u - 0.81296764 * v; color_out.b = y + 2.01723214 * u; + + color_out.rgb *= a; color_out.a = a; return color_out; |