black surface in desktop shell fullscreen mode

Bill Spitzak spitzak at gmail.com
Thu Oct 1 12:27:21 PDT 2015


On Thu, Oct 1, 2015 at 12:50 AM, Pekka Paalanen <ppaalanen at gmail.com> wrote:

>
> A fullscreen window with show-through parts is kind of an odd concept,
> IMHO. For maximized I might understand.
>

It seems partially-transparent fullscreen terminals are really popular.

Pad repeat? That requires application awareness to actually set the
> edge pixels. This may be very hard e.g. for video players that just
> push the decoded video frame out to screen, and expect the compositor
> to add black bars as necessary. You are often dealing with
> hardware-acceleration capable buffers, which causes all kinds of
> complications.
>

Yes you are probably right that this is difficult and expensive.

For the video player it would have to use a subsurface and make a surface
with the background color that is 1 pixel larger on all sides, and then the
compositor would have to detect this setup and still produce whatever the
fast method of displaying the window is. That seems pretty painful.

If a client really wants to use the transparency, and does not want opaque
black bars, it can be the client's responsibility to produce a buffer that
can fill the screen.

The black blanket surface behind the window OTOH allows for direct
> scanout. If black bars are not visible and the client buffer is
> completely opaque, it is possible to scan it out without composition by
> rendering.
>

There should be some way to detect if the buffer is opaque, in which case
these optimizations could be done.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/wayland-devel/attachments/20151001/a9f01284/attachment.html>


More information about the wayland-devel mailing list