desktop-shell: How to enable really alpha blending of weston background?
ppaalanen at gmail.com
Tue Mar 15 09:02:48 UTC 2016
On Mon, 14 Mar 2016 14:44:34 +0200
Pekka Paalanen <ppaalanen at gmail.com> wrote:
> On Sat, 12 Mar 2016 11:33:40 -0800
> "Jasper St. Pierre" <jstpierre at mecheye.net> wrote:
> > I have to bring this up, because it's not necessarily true. There's
> > something you're missing. After working on embedded SoCs, I realize
> > that a lot of them put the YUV video plane *behind* the main RGB
> > plane. This allows them to do subtitles and OSD controls over the
> > video without stacking it RGB -> YUV -> RGB, as you might imagine.
> Oh my.
> > Thankfully, some of these systems allow you to put the video on top of
> > RGB, but not all. Some even just have two YUV planes (for
> > picture-in-picture) and one RGB plane on top, not even a cursor plane.
> > On embedded systems where they have fullscreen control, they simply
> > render alpha-graphics into the RGB window, and then stack a YUV plane
> > behind it to blend against.
> > Wayland, in its current subsurface architecture, can't support this
> > system, unfortunately. The best thing I could think of here was to
> > have Wayland consider a punch-through when it sees a YUV plane stacked
> > under an RGB one from the same client, and it knows the scanout is
> > ARGB. But maybe that's too auto-magical.
> > I think that could work, but the implementation would need to be
> > tricky about all the special cases, if we cared enough to make those
> > work, e.g. surfaces under the punch-through need to be knocked out,
> > but surfaces above can't be, since they're stacked on top. And that
> > implies surfaces under the punch-through can't themselves use
> > overlays, etc.
> I don't think it should be *that* hard, but of course I'm only talking
> from Weston implementation point of view.
I've filed https://phabricator.freedesktop.org/T7351
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 811 bytes
Desc: OpenPGP digital signature
More information about the wayland-devel