Kai-Uwe Behrmann wrote:

However, we had seen quite some objections around subwindows at that time.
Did something substancial change on that matter?
I don't see anything there that applies to Wayland. The link to the
original proposal is also dead.

the old thread starter from Tomas for reference: http://www.spinics.net/lists/xorg/msg35268.html

I think the objection is that under X11 a subwindow allocates an entire new drawing buffer. This is a pain for toolkits and applications that now have to manage these multiple buffers and "switch drawing contexts" (which loses things like the current clip and transform) to draw this portion of their display. It also wastes memory for the unused part of the main window image buffer.

However it sounds like Wayland will allow a client to define a subsurface that reuses the same image buffer as the main surface, by indicating that a subrectangle of that image buffer is the subsurface contents. This means the client can just draw this area mixed in any way it wants with the drawing of everything else in the main window.

The only problem with this idea is that there cannot be any partial transparency in the area with a different color correction, since the result is that it will be composited atop the same image drawn with the normal color correction. Since the main reason for this is to show images and videos which are opaque I would think this is not a big problem. It may also be possible to indicate that a subsurface "holes" the parent surface, the compositor would then not draw that area of the parent (which the current compositor is already doing when an overlapping surface is known to be opaque).

I like the idea of reusing existing wayland data structures and for this reason I think using subsurfaces for this will work very well.

_______________________________________________
wayland-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to