gst-plugins-rs/video
Sebastian Dröge 803550111a gtk4: Improve handling of RGBA GL textures in GTK
GTK 4.14 comes with a new GL renderer that does not support GL shader
nodes anymore, so the conversion from non-premultiplied alpha to
premultiplied alpha has to happen differently.

For GTK 4.14 or newer we use the correct format directly when building the
texture, but only if a GLES3+ context is used. In that case the NGL renderer is
used by GTK, which supports non-premultiplied formats correctly and fast.

For GTK 4.10-4.12, or 4.14 and newer if a GLES2 context is used, we use a
self-mask to pre-multiply the alpha.

For GTK before 4.10, we use a GL shader and hope that it works.

Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/488

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1452>
2024-02-08 12:35:26 +02:00
..
cdg Drop direct muldiv dependency 2024-02-05 15:34:31 +01:00
closedcaption Use workspace features for crates metadata/deps 2024-02-05 15:34:31 +01:00
dav1d Use workspace features for crates metadata/deps 2024-02-05 15:34:31 +01:00
ffv1 Use workspace features for crates metadata/deps 2024-02-05 15:34:31 +01:00
gif Use workspace features for crates metadata/deps 2024-02-05 15:34:31 +01:00
gtk4 gtk4: Improve handling of RGBA GL textures in GTK 2024-02-08 12:35:26 +02:00
hsv Use workspace features for crates metadata/deps 2024-02-05 15:34:31 +01:00
png Use workspace features for crates metadata/deps 2024-02-05 15:34:31 +01:00
rav1e Use workspace features for crates metadata/deps 2024-02-05 15:34:31 +01:00
videofx Use workspace features for crates metadata/deps 2024-02-05 15:34:31 +01:00
webp Use workspace features for crates metadata/deps 2024-02-05 15:34:31 +01:00