On Tue, 10 May 2016 17:42:59 +0800 Jonas Ådahl <[email protected]> wrote:
> On Tue, May 10, 2016 at 11:19:29AM +0300, Pekka Paalanen wrote: > > On Mon, 9 May 2016 07:58:32 -0500 > > Yong Bakos <[email protected]> wrote: > > > > > Hi Pekka, > > > Two minor nits in the description, noted inline below. > > > > > > yong > > > > > > On May 9, 2016, at 6:45 AM, Pekka Paalanen <[email protected]> wrote: > > > > > > > > From: Pekka Paalanen <[email protected]> > > > > > > > > The existing specification was not explicitly clear on when > > > > wl_subcompositor.get_subsurface request actually adds the sub-surface to > > > > the parent in the compositor's scenegraph. The implicit assumption was > > > > that this happens immediately, but it was not written anywhere. > > > > > > > > If it happens immediately, the client doing things in a wrong order may > > > > cause a glitch on screen. Particularly, if the wl_surface B that is > > > > going to be a sub-surface for wl_surface A (the parent) already has a > > > > buffer committed, and the parent surface is mapped, then get_subsurface > > > > will (may?) cause wl_surface B to become mapped immediately. That leaves > > > > no time to set up the sub-surface z-order or position before mapping, > > > > hence there can be a visible glitch. > > > > > > > > The way to avoid that, given that the parent surface is mapped, is to > > > > not commit a buffer to wl_surface B until all the sub-surface setup is > > > > done. > > > > > > > > However, doing the sub-surface setup always requires a wl_surface.commit > > > > on the parent surface unless the defaults happen to be correct. > > > > > > > > To make setting up a subsurface slightly easier by removing one > > > > possibility for a glitch, this patch amends the specification to require > > > > a wl_surface.commit on the parent surface for get_subsurface to > > > > complete. The sub-surface cannot become mapped before a parent commit. > > > > > > > > This change may break existing clients that relied on the glitchy > > > > sequence to not need a parent surface commit to map the sub-surface. > > > > However, presumably all uses would at least issue a > > > > wl_subsurface.set_position, which requires a parent surface commit to > > > > apply. That would guarantee that there is a parent surface commit after > > > > get_subsurface, and so reduces the chances of breaking anything. > > > > > > > > In other cases, this change may simply remove a possibility for the > > > > glitch. > > > > > > > > This patch also adds a note about changing wl_surface.commit behaviour > > > > on wl_subcompositor.get_subsurface. (That could be a separate patch.) > > > > + > > > > + This request modifies the behaviour of wl_surface.commit > > > > request on > > > > > > requests > > > > "request" is used as a noun here and there is only one, so I think it's > > correct as is. > > > > Or which one did you mean? I think the latter is also singular, but I > > was thinking in interface terms, not as "from now on commits will > > behave differently" which would be true too, thinking in runtime terms. > > > > Alternative suggestions? > > It seems to be missing a 'the', as in, it should be: > > "This request modifies the behaviour of the wl_surface.commit request > on the sub-surface.." > > or simply without the second "request" at all, as in: > > "This request modifies the behaviour of wl_surface.commit on the > sub-surface, ..." I'll go with the latter one, thanks, pq > > > Jonas > > > > > > > Thanks, > > pq > > > > > > + the sub-surface, see the documentation on wl_subsurface > > > > interface. > > > > </description> > > > >
pgpAj2IjY_a_e.pgp
Description: OpenPGP digital signature
_______________________________________________ wayland-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/wayland-devel
