[PATCH v2 weston 0/7] Server side wl_buffer.release

Pekka Paalanen ppaalanen at gmail.com
Thu Dec 6 23:47:34 PST 2012


On Thu, 6 Dec 2012 16:59:06 -0500
Kristian Høgsberg <hoegsberg at gmail.com> wrote:

> On Tue, Dec 04, 2012 at 03:58:09PM +0200, Pekka Paalanen wrote:
> > Hi Kristian,
> > 
> > this is the rebased and modifed version of the server side
> > wl_buffer.release series.
> > 
> > Changes since v1:
> > - rebased
> > - added struct weston_buffer_reference to consolidate
> > the destroy handler functions
> > - shm flush on destroy is now a separate patch instead of in
> > the gl patch
> > - compositor-drm patch is squashed
> > - clients: destroy wl_registry on exit has been left to be
> > sent on its own
> > - preserve and comment on gs->pitch initialisation, I missed
> > it the last time
> 
> I applied the entire series.  I'm still not a fan of es->keep_buffer,
> I'd rather we just unconditionally unref'ed the buffer (if
> buffer_ref.buffer is not already NULL) in the accumulate_damage loop.
> If a backend or renderer needs the buffer they've had the chance to
> take a ref at this point.

Yes, I agree, but that means we need to add renderer-like API for
backends to be notified about all wl_surface.attach requests, so that
the backend can release its reference on the old buffer, and the old
buffer actually becomes released to the client. Otherwise we may miss
some expected releasing, because the surface list passed in to
assign_planes() hook does not necessarily contain all surfaces.


Thanks,
pq


More information about the wayland-devel mailing list