summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPekka Paalanen <pekka.paalanen@collabora.com>2021-02-08 16:54:12 +0200
committerPekka Paalanen <pekka.paalanen@collabora.com>2021-02-25 14:36:46 +0200
commit054ba37084dfcb461decad759c9462cba6769aae (patch)
treee62b40f72beaa5987463c5d842f3a6544ca6e5f2
parenta8d5ef4a04aeee5ce54fff26c293c32b74052e98 (diff)
downloadweston-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.glsl5
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;