Ray Strode 0165cb6974 wayland: release buffer after processing commit
When a client is ready for the compositor to read a surface's
shared memory buffer, it tells the compositor via
wl_surface_commit.

From that point forward, the baton is given to the compositor:
it knows it can read the buffer without worring about the client
making changes out from under it.

After the compositor has uploaded the pixel contents to the video
card it is supposed to release the buffer back to the client so that
the client can reuse it for future use.

At the moment, mutter only releases the buffer when a new buffer
is attached.  This is problematic, since it means the client has
to have a second buffer prepared before the compositor gives the
first one back.  Preparing the second buffer potentially involves
copying megabytes of pixel data, so that's suboptimal, and there's
no reason mutter couldn't release the buffer earlier.

This commit changes mutter to release a surface's buffer as soon
as it's done processing the commit request.

https://bugzilla.gnome.org/show_bug.cgi?id=761312
2016-02-01 14:16:17 -05:00
2015-11-09 10:25:40 -05:00
2015-07-06 00:52:18 -07:00
2016-01-12 22:35:05 +02:00
2014-03-18 20:37:35 -04:00
2015-12-14 15:17:40 -08:00
2016-01-21 23:04:22 +01:00
2015-07-06 00:52:18 -07:00
2014-07-31 17:50:28 +02:00
2016-01-21 23:04:22 +01:00
Description
94 MiB
Languages
C 98.9%
Meson 0.7%
Python 0.3%