mutter/examples
Neil Roberts 5334547c00 cogland: Update to the Wayland 1.0 API
This updates Cogland example compositor to use the stable Wayland 1.0
API.

• When the client attaches a new buffer to a surface it is now added
  to a struct contaning pending the state instead of immediately
  switching to the new buffer. This state is then flushed when the
  surface is committed.

• The frame callbacks are now queued in a pending list and only added
  to the compositor's main list when the surface is committed. Both
  lists are now a wl_list instead of a GQueue because it makes it
  easier to remove the callback without knowing which list it is in.

• When the buffer is destroyed for a surface the resource for the
  buffer is now sent a release event.

• It now flushes the clients in the prepare for the for the Wayland
  event GSource. This is part of the multi-threaded API in this
  Wayland patch:

  http://cgit.freedesktop.org/wayland/wayland/commit/?id=53d24713a31d59

• Implements a dummy wl_region interface. The only interfaces that
  actually use regions (the opaque and input regions) are ignored but
  we need the interface to create a resource.

• Most the of the SHM interface is now implemented directly in
  libwayland-server except that it still needs to copy the data to the
  subregion of the texture when the damage region is committed.

• The callback list for when a resource is destroyed has been unified
  into a generic wl_signal implementation so the signature for the
  functions has been changed.

  http://cgit.freedesktop.org/wayland/wayland/commit/?h=6802eaa68af9022

• The wl_buffer struct no longer has a user_data parameter so we can't
  attach our own CoglandBuffer data to it. Instead the CoglandSurface
  now just keeps track of the wl_buffer directly.

• The Cogland example is now unconditionally built instead of checking
  the Wayland version number in the configure script. It looks like
  this check was broken anyway because it was checking the version of
  the gbm package rather than a Wayland package.

Reviewed-by: Robert Bragg <robert@linux.intel.com>

(cherry picked from commit 4cbbc0f8e3de1fd44dee08b487f1c3f97dda8ede)

Conflicts:
	examples/Makefile.am
	examples/cogland.c
2013-03-22 00:13:32 +00:00
..
android/hello Adds CoglError api 2013-01-22 17:47:39 +00:00
cogl-crate.c cogl-crate: use new _add_frame_callback api 2013-01-30 20:09:49 +00:00
cogl-gles2-context.c avoid redundant idle if using FRAME_SYNC to throttle 2013-02-15 17:44:49 +00:00
cogl-gles2-gears.c avoid redundant idle if using FRAME_SYNC to throttle 2013-02-15 17:44:49 +00:00
cogl-hello.c avoid redundant idle if using FRAME_SYNC to throttle 2013-02-15 17:44:49 +00:00
cogl-info.c renderer: expose CoglOutputs 2013-01-30 19:57:22 +00:00
cogl-msaa.c Adds CoglError api 2013-01-22 17:47:39 +00:00
cogl-sdl2-hello.c Convert the two SDL examples to use the frame callback 2013-01-31 16:56:08 +00:00
cogl-sdl-hello.c Convert the two SDL examples to use the frame callback 2013-01-31 16:56:08 +00:00
cogl-x11-foreign.c Adds CoglError api 2013-01-22 17:47:39 +00:00
cogl-x11-tfp.c Adds CoglError api 2013-01-22 17:47:39 +00:00
cogland.c cogland: Update to the Wayland 1.0 API 2013-03-22 00:13:32 +00:00
crate.jpg Adds another example that draws a 3D crate 2011-06-30 14:33:11 +01:00
Makefile.am cogland: Update to the Wayland 1.0 API 2013-03-22 00:13:32 +00:00