# Generated by configure.  Do not edit.

spec=1.7.0..
commit 3bc30603a968d7b04347eeb2d9754c045978483c
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Jul 1 15:03:34 2011 +0100

    Release 1.7.2 (snapshot)

 configure.ac |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit 636f177a3a0b2d795e76647bcde5762ce85c4676
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Jul 1 14:58:56 2011 +0100

    NEWS: Update for the 1.7.2 release
    
    This adds the new features and bugfixes in preparation for the 1.7.2
    release.

 NEWS |   40 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 40 insertions(+), 0 deletions(-)

commit cfe5a0a28589d11287544533e2784dc49f0abe5f
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Jul 1 15:34:49 2011 +0100

    releasing: Fix the check for an even micro version number
    
    The check for the version number was checking against the 2.0.0 micro
    version number which isn't expected to change for a long time so the
    test was useless.

 build/autotools/Makefile.am.release |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit b11f6c9e11b4f15c846d56259ef8d879d5d3d2f7
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Jul 1 16:20:32 2011 +0100

    README: Fix the required version number replacements
    
    The README file is generated by the configure script so that it can
    include the required dependency version numbers. However there was no
    corresponding AC_SUBST calls for the versions so the README would be
    left with @THESE_MARKERS@.

 README.in    |    2 +-
 configure.ac |   28 +++++++++++++++++++---------
 2 files changed, 20 insertions(+), 10 deletions(-)

commit 50287dadffad6d96160e5233f7077e245cfa8c91
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Jul 1 15:48:40 2011 +0100

    release: Fix the release mail template
    
    The release template had the wrong version number and download URL and
    the subject was slightly different from what we used in the previous
    release. Also the parts split out from the README were including the
    -- separator. These have been removed using tail -n +1. The
    documentation section is updated to match the message used for the
    1.7.0 release. There is now a note about the release being a
    development snapshot that only gets added depending on
    COGL_RELEASE_STATUS.

 build/autotools/Makefile.am.release |   41 ++++++++++++++++++++++------------
 1 files changed, 26 insertions(+), 15 deletions(-)

commit a517242087b6ed641cc80e969f06e79196a5212e
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Jul 1 14:30:59 2011 +0100

    gles: Fix the name of the GLeglImageOES type
    
    The function declarations for the GL_OES_EGL_image extension were
    using the wrong name for the GLeglImageOES type so it was getting
    build errors when compiling for GLES.

 cogl/driver/gles/cogl-feature-functions-gles.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit f0366907d3c878e1b0e172cb9a91f82e0cd35323
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Jun 30 15:00:58 2011 +0100

    build: egl fix typo introduced by 3b64a439f0
    
    The XEvent argument for event_filter_cb was named "event" but the rest
    of the function is expecting a variable named "xevent".

 cogl/winsys/cogl-winsys-egl.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 5dff6f6aa1976068bc2b11a80cd8f668dbc60bdd
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Jun 28 16:06:45 2011 +0100

    renderer: split win32 api out into separate header
    
    This adds a cogl-win32-renderer.h for the win32 specific cogl-renderer
    API instead of having #ifdef guards in cogl-renderer.h
    
    Signed-off-by: Neil Roberts <neil@linux.intel.com>

 cogl/Makefile.am           |    3 +
 cogl/cogl-renderer.h       |   62 ----------------------------
 cogl/cogl-win32-renderer.h |   97 ++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 100 insertions(+), 62 deletions(-)

commit cd6e1d183de0f8c85f0e957609e965675c4b280d
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Jun 28 14:57:05 2011 +0100

    Updates wayland symbol names to be consistent
    
    This updates the public wayland symbols to follow the pattern
    cogl_wayland_blah instead of cogl_blah_wayland.
    
    Signed-off-by: Neil Roberts <neil@linux.intel.com>

 cogl/Makefile.am                                   |    3 +
 cogl/cogl-renderer.h                               |   28 ---------
 cogl/cogl-wayland-renderer.h                       |   62 ++++++++++++++++++++
 cogl/cogl.h                                        |    3 +
 cogl/winsys/cogl-winsys-egl.c                      |    8 +-
 .../cogl-2.0-experimental/cogl-sections.txt        |    8 +-
 6 files changed, 76 insertions(+), 36 deletions(-)

commit 89562dda73bdd69d2f09affd98d605fb2b9318d3
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Jun 28 14:16:24 2011 +0100

    work towards consistent platform file/symbol naming
    
    we've got into a bit of a mess with how we name platform specific
    symbols and files, so this is a first pass at trying to tidy that up.
    
    All platform specific symbols should be named like
    cogl_<platform>_symbol_name and similarly files should be named like
    cogl-<platform>-filename.c
    
    This patch tackles the X11 specific renderer/display APIs as a start.
    
    Signed-off-by: Neil Roberts <neil@linux.intel.com>

 cogl/Makefile.am                                   |   15 +-
 cogl/cogl-display-glx-private.h                    |   57 -----
 cogl/cogl-display-xlib-private.h                   |   35 ---
 cogl/cogl-glx-display-private.h                    |   57 +++++
 cogl/cogl-glx-renderer-private.h                   |   61 ++++++
 cogl/cogl-renderer-glx-private.h                   |   61 ------
 cogl/cogl-renderer-x11-private.h                   |   32 ---
 cogl/cogl-renderer-xlib-private.h                  |   77 -------
 cogl/cogl-renderer-xlib.c                          |  226 --------------------
 cogl/cogl-renderer.c                               |    4 +-
 cogl/cogl-renderer.h                               |   95 --------
 cogl/cogl-x11-renderer-private.h                   |   32 +++
 cogl/cogl-xlib-display-private.h                   |   35 +++
 cogl/cogl-xlib-renderer-private.h                  |   77 +++++++
 cogl/cogl-xlib-renderer.c                          |  226 ++++++++++++++++++++
 cogl/cogl-xlib-renderer.h                          |  127 +++++++++++
 cogl/cogl-xlib.c                                   |    8 +-
 cogl/cogl.h                                        |    1 +
 cogl/winsys/cogl-winsys-egl.c                      |   42 ++--
 cogl/winsys/cogl-winsys-glx.c                      |  132 ++++++------
 .../cogl-2.0-experimental/cogl-sections.txt        |    4 +-
 examples/x11-foreign.c                             |    2 +-
 22 files changed, 721 insertions(+), 685 deletions(-)

commit 3b64a439f08dd9fceebfdf5243c434334c9e61c2
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Jun 28 13:38:50 2011 +0100

    replace public native_event APIs with typesafe APIs
    
    This adds Xlib and Win32 typesafe replacements for
    cogl_renderer_handle_native_event, cogl_renderer_add_native_filter,
    cogl_renderer_remove_native_filter. The old functions are kept as an
    implementation detail so we can share code.
    
    Signed-off-by: Neil Roberts <neil@linux.intel.com>

 cogl/Makefile.am                                   |    1 +
 cogl/cogl-renderer-private.h                       |   17 +++
 cogl/cogl-renderer-xlib.c                          |   26 ++++
 cogl/cogl-renderer.c                               |   16 ++--
 cogl/cogl-renderer.h                               |  123 +++++++++++++++----
 cogl/cogl-types.h                                  |   22 ----
 cogl/cogl-win32-renderer.c                         |   58 +++++++++
 cogl/cogl-xlib.c                                   |    2 +-
 cogl/winsys/cogl-texture-pixmap-x11.c              |   15 +--
 cogl/winsys/cogl-winsys-egl.c                      |   15 +--
 cogl/winsys/cogl-winsys-glx.c                      |   15 +--
 cogl/winsys/cogl-winsys-wgl.c                      |   20 ++--
 .../cogl-2.0-experimental/cogl-sections.txt        |   13 ++-
 examples/x11-foreign.c                             |    3 +-
 14 files changed, 250 insertions(+), 96 deletions(-)

commit f0a28f4287d509be8e9a320ad4c29ec2319490da
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Jun 28 12:43:01 2011 +0100

    attribute: cleanup some sentinel array left over logic
    
    It used to be that we passed around NULL terminated arrays of
    attributes, but since 3c1e83c7f we now explicitly pass an n_attributes
    count instead. There were some leftovers of the old approach in the
    cogl_vdraw_[indexed]_attributes functions and also there was an
    off-by-one error with the n_attributes values passed on which was
    causing crashes.
    
    Signed-off-by: Neil Roberts <neil@linux.intel.com>

 cogl/cogl-attribute.c |    8 +++-----
 1 files changed, 3 insertions(+), 5 deletions(-)

commit 098a19380215104f4dcf3474b4155f2d1b04f03d
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Jun 27 21:09:27 2011 +0100

    pipeline: Avoid reseting texture target for NULL textures
    
    When setting a NULL texture on a CoglPipeline we would also reset the
    texture target to a dummy value of 0. Reseting the target also had the
    effect of making fragends discard any associated program. In cases where
    the NULL texture was only transient until a replacement texture could be
    set we were re-running lots of redundant codegen and shader
    compilations.
    
    Signed-off-by: Neil Roberts <neil@linux.intel.com>

 cogl/cogl-pipeline.c |   16 ++++++++++------
 1 files changed, 10 insertions(+), 6 deletions(-)

commit 256274bfcc7d41721ea343e8215a8ac5a5a6ea37
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Jun 27 11:50:48 2011 +0100

    pipeline: fix layer change notify mutex rule
    
    There is a documented rule that layer changes should only be notified to
    the fragend once; either as a pipeline change or as a layer change. When
    the number of layers associated with a material changes then that should
    get notified against the pipeline. All other layer changes get notified
    against the layer.
    
    There was a mistake in the _cogl_pipeline_add/remove_layer_difference
    functions, in that we weren't using the 'inc/dec_n_layers' boolean to
    determine if the fragend should be notified of the change.
    
    It was also noticed that the logic of _cogl_pipeline_prune_to_n_layers
    would also break this rule, by failing to notify some changes at all.
    
    Signed-off-by: Neil Roberts <neil@linux.intel.com>

 cogl/cogl-pipeline.c |  159 ++++++++++++++++++++-----------------------------
 1 files changed, 65 insertions(+), 94 deletions(-)

commit 34fd07a8fa7d46cec25bb9fcf1e9c402a85afcdd
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Jun 27 11:19:15 2011 +0100

    2.0 reference: make various fixups in cogl-sections.txt
    
    This does some minor gardening in cogl-sections.txt, tweaking some of
    the section titles and removing some stale api references.
    
    Signed-off-by: Neil Roberts <neil@linux.intel.com>

 doc/reference/cogl-2.0-experimental/Makefile.am    |    2 +
 .../cogl-2.0-experimental/cogl-sections.txt        |   58 ++++++--------------
 2 files changed, 20 insertions(+), 40 deletions(-)

commit b9d7181f03e4656a841d2a015c3b6f16b50c2f82
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Jun 27 11:16:21 2011 +0100

    buffer: Improve the CoglBuffer API description
    
    This improves the gtk-doc overview for the CoglBuffer interface.
    
    Signed-off-by: Neil Roberts <neil@linux.intel.com>

 cogl/cogl-buffer.h |   19 ++++++++++++++++---
 1 files changed, 16 insertions(+), 3 deletions(-)

commit 407fdcf3bc9ba4f62ea35b87badd08a732a7dc67
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Jun 20 17:35:29 2011 +0100

    docs: Adds cogl-index/attribute-buffer syms to 2.0 reference
    
    Signed-off-by: Neil Roberts <neil@linux.intel.com>

 .../cogl-2.0-experimental/cogl-sections.txt        |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)

commit 45f9f56b3e70ada201a9d94d97e339736c5a467d
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Jun 20 17:34:21 2011 +0100

    docs: fix stale include links
    
    Signed-off-by: Neil Roberts <neil@linux.intel.com>

 .../cogl-2.0-experimental/cogl-docs.xml.in         |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 871e9aa2fe8d50016d756939ab9706cec6c80db0
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Jun 20 14:07:07 2011 +0100

    docs: Fix typo to avoid duplicate section name
    
    Signed-off-by: Neil Roberts <neil@linux.intel.com>

 .../cogl-2.0-experimental/cogl-docs.xml.in         |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 8bb28d6f22e285f49b6dc15b8ea015d0aacddc74
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Jun 20 13:54:26 2011 +0100

    docs: Add swap-chain/onscreen-template to 2.0 reference
    
    This adds the cogl_swap_chain and cogl_onscreen_template symbols to the
    experimental 2.0 reference manual.
    
    Signed-off-by: Neil Roberts <neil@linux.intel.com>

 .../cogl-2.0-experimental/cogl-sections.txt        |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)

commit 51bc27cbf16378db30d589ff602794bf12359456
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Jun 20 13:50:34 2011 +0100

    docs: Adds CoglDisplay symbols to 2.0 reference
    
    Adds the cogl_display symbols to the experimental 2.0 reference manual.
    
    Signed-off-by: Neil Roberts <neil@linux.intel.com>

 .../cogl-2.0-experimental/cogl-sections.txt        |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

commit 8c5594d8e7d322da239327bb9f9aa70bc48457c0
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Jun 20 13:45:26 2011 +0100

    docs: Add CoglRenderer documentation to 2.0 reference
    
    This lists the cogl_renderer symbols in the cogl-sections.txt for the
    experimental 2.0 reference manual.
    
    Signed-off-by: Neil Roberts <neil@linux.intel.com>

 .../cogl-2.0-experimental/cogl-sections.txt        |   22 ++++++++++++++++++++
 1 files changed, 22 insertions(+), 0 deletions(-)

commit b3a105c576a00fdecd27982811ef6b085009291a
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Jun 20 13:29:12 2011 +0100

    renderer: Expose winsys ID setter/getters
    
    This adds API to let you override the choice of Cogl's winsys backend.
    Previously it was only possible to override the winsys using the
    COGL_RENDERER environment variable, but it's useful for something like
    Clutter to be able to control the winsys via API without needing
    environment variable tricks. This also adds API to query back the
    winsys chosen by Cogl, in case you don't set an explicit override.
    
    Signed-off-by: Neil Roberts <neil@linux.intel.com>

 cogl/cogl-renderer-private.h      |    1 +
 cogl/cogl-renderer.c              |   31 +++++++++++++++++++--
 cogl/cogl-renderer.h              |   55 +++++++++++++++++++++++++++++++++++++
 cogl/winsys/cogl-winsys-egl.c     |    1 +
 cogl/winsys/cogl-winsys-glx.c     |    1 +
 cogl/winsys/cogl-winsys-private.h |    4 +++
 cogl/winsys/cogl-winsys-stub.c    |    1 +
 cogl/winsys/cogl-winsys-wgl.c     |    1 +
 8 files changed, 92 insertions(+), 3 deletions(-)

commit c4eb869bd737b2b27c95f1bf9123e34343e80741
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Jun 15 00:06:29 2011 +0100

    framebuffer: expose viewport getters/setters
    
    This exposes experimental cogl_framebuffer APIs for getting and setting
    a viewport without having to refer to the implicit CoglContext. It adds
    the following experimental API:
    
      cogl_framebuffer_set_viewport
      cogl_framebuffer_get_viewport4fv
      cogl_framebuffer_get_viewport_x
      cogl_framebuffer_get_viewport_y
      cogl_framebuffer_get_viewport_width
      cogl_framebuffer_get_viewport_height
    
    Signed-off-by: Neil Roberts <neil@linux.intel.com>

 cogl/cogl-framebuffer-private.h |   22 ----------------------
 cogl/cogl-framebuffer.c         |   22 +++++++++++-----------
 cogl/cogl-framebuffer.h         |   29 +++++++++++++++++++++++++++++
 cogl/cogl-journal.c             |    3 +--
 cogl/cogl-texture.c             |    2 +-
 cogl/cogl.c                     |   12 ++++++------
 6 files changed, 48 insertions(+), 42 deletions(-)

commit 716b88b0c87f3a862d799d0817c85372e1b30cd9
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed May 11 16:37:09 2011 +0100

    Adds another example that draws a 3D crate
    
    Based on the Cogl example we had on wiki.clutter-project.org this shows
    how to use the primitive API to draw a simple spinning crate.
    
    Signed-off-by: Neil Roberts <neil@linux.intel.com>

 examples/Makefile.am |   11 ++-
 examples/crate.c     |  275 ++++++++++++++++++++++++++++++++++++++++++++++++++
 examples/crate.jpg   |  Bin 0 -> 171588 bytes
 3 files changed, 285 insertions(+), 1 deletions(-)

commit a1234ee8d14a6f5d11bf9b5c67d95aac5d94256e
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Jun 14 22:33:44 2011 +0100

    Add internal _cogl_init() function
    
    This adds a _cogl_init function for Cogl that we expect to be the first
    thing called before anything else is done with Cogl. It's not a public
    API so it's expected that all entry points for Cogl that might be the
    first function used should call _cogl_init().
    
    We currently call _cogl_init() in these functions:
      cogl_renderer_new
      cogl_display_new
      cogl_context_new
      cogl_android_set_native_window
    
    _cogl_init() can be called multiple times, and only the first call has
    any affect.
    
    For example _cogl_init() gives us a place check and parse the COGL_DEBUG
    environment variable.
    
    Since we don't have any need to parse command line arguments (we can
    always get user configuration options from the environment) our init
    function doesn't require argc/argv pointers.
    
    By saying up front that we aren't interested in command line arguments
    that means we can avoid the mess that is GOption based library
    initialization which is extremely fragile due to its lack of dependency
    tracking between modules.
    
    Signed-off-by: Neil Roberts <neil@linux.intel.com>

 cogl/cogl-context.c           |    2 ++
 cogl/cogl-debug.c             |   26 +++++++++++++++++---------
 cogl/cogl-debug.h             |    3 +++
 cogl/cogl-display.c           |    3 +++
 cogl/cogl-private.h           |    3 +++
 cogl/cogl-renderer.c          |    3 +++
 cogl/cogl.c                   |   14 ++++++++++++++
 cogl/winsys/cogl-winsys-egl.c |    2 ++
 8 files changed, 47 insertions(+), 9 deletions(-)

commit e5c4c1ce7c6bc1c06c6fce5d516cca2e76cc5620
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Jun 29 13:50:11 2011 +0100

    doc/RELEASING: Fix the check for diffs from origin/master
    
    The recommended command to check for differences from master to the
    remote master was using git log with a range from the local master to
    the remote master but this wouldn't work if the local master is ahead
    of the remote master because the range is backwards. This patch
    changes it to recommend git diff --stat instead because then the
    command would work even if the two branches have diverged.

 doc/RELEASING |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 38a728b45a3718d9db71c9dc46535ca188368627
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Jun 29 10:12:47 2011 +0100

    build: Do not define "default" in m4
    
    The "default" m4 conflicts with one of libtool's internal symbols, one
    that is used to determine whether the -fPIC argument should be used;
    this breaks compilation onf 64bit platforms.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=653615
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
    Signed-off-by: Neil Roberts <neil@linux.intel.com>

 configure.ac |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

commit 5496a6464dc81376db8debba7b95c88946a79088
Author: Adam Jackson <ajax@redhat.com>
Date:   Wed Jun 15 13:51:03 2011 -0400

    Typo fix in cogl-framebuffer
    
    Signed-off-by: Adam Jackson <ajax@redhat.com>
    
    https://bugzilla.gnome.org/show_bug.cgi?id=652672

 cogl/cogl-framebuffer.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit c2bbf90c2ea7fe0dcd63a4a940b2c10ec8a3dae8
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Jun 15 14:52:21 2011 +0100

    examples: pass COGL_DEP_LIBS as ldflags when linking
    
    To be sure our examples link with all the libraries required, we now
    simply pass the $(COGL_DEP_LIBS) as ldflags when linking them.

 examples/Makefile.am |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit 2f000c3c12ed8f454d86e6b92e388dad703ae189
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Jun 14 20:16:47 2011 +0100

    Post-release version bump to 1.7.1

 configure.ac |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

spec=1.6.0..1.7.0
commit 5b0661ccd550efef46b529c67cb87cfbfb88cd40
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Jun 13 11:03:04 2011 +0100

    Release 1.7.0 (snapshot)

 configure.ac |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit 4c0f8136083b33ef97d980c08f7a363a02ed4246
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Jun 14 13:38:48 2011 +0100

    README: Updates in preparation for 1.7.0 release

 README.in |  104 +++++++++++++++++++++++++++++++++---------------------------
 1 files changed, 57 insertions(+), 47 deletions(-)

commit 5f3173e2d10c88d2a91aab43f808fbba5aae8499
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri Jun 10 11:58:27 2011 +0100

    Adds NEWS in preparation for 1.7.0 release

 NEWS |   57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 57 insertions(+), 0 deletions(-)

commit ec62acfd6a6c96a71a193264d487129e45cef564
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Jun 14 15:08:17 2011 +0100

    configure: pass tar-ustar as automake init option
    
    So that our released tarballs can contain filenames longer than 99
    characters we tell automake to create tarballs using the ustar format.
    This is newer than the default v7 format but still old enough to be
    considered widely portable.

 configure.ac |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 5a6fbf7e5240c467a7192cd7b626249a9743edc7
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Jun 14 14:52:08 2011 +0100

    Ensure we use --enable-profile during make distcheck

 Makefile.am |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit 0e5df1776109c1c532f3959ba8882161b5192c8f
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Jun 14 16:07:43 2011 +0100

    doc: Fix EXTRA_DIST variable setup
    
    Since gtk-doc is an optional dependency for Cogl then we need to special
    case how EXTRA_DIST is initialized. It shouldn't be set when using
    gtk-doc since gtk-doc.make expects to initialize EXTRA_DIST.  If we
    aren't using gtk-doc then it should be initialized to an empty value
    instead of including gtk-doc.make so that the later lines that append
    various extra png files to EXTRA_DIST won't fail.

 doc/reference/cogl-2.0-experimental/Makefile.am |   10 +++-------
 doc/reference/cogl/Makefile.am                  |   10 +++-------
 2 files changed, 6 insertions(+), 14 deletions(-)

commit 57d76e315fef5acdca641b8dd0f64e6d411471e5
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Jun 13 12:42:25 2011 +0100

    Fixes for make distcheck

 cogl/Makefile.am    |    4 +++-
 cogl/cogl-context.c |    2 +-
 configure.ac        |    2 +-
 3 files changed, 5 insertions(+), 3 deletions(-)

commit 036c5bf572a3474f7d334b3f97cc2b6dee2c3537
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Jun 13 18:52:20 2011 +0100

    include required cogl-context.h in cogl-texture-2d.h

 cogl/cogl-texture-2d.h |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit 7a0a4de69154a281947b7b4103ea214572960843
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Jun 13 18:51:33 2011 +0100

    Fix some gtk-doc annotations in cogl-depth-state.h

 cogl/cogl-depth-state.h |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

commit 6396006bb8429de3e2bbacdf7210bb67989d9bc9
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Jun 13 11:37:28 2011 +0100

    doc: Adds doc/RELEASING
    
    This adds some notes for maintainers about how to make a Cogl release.

 doc/RELEASING |   86 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 86 insertions(+), 0 deletions(-)

commit 800f5e6d6e864bc6f120416927d30f6f5adda9ff
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Jun 13 10:30:49 2011 +0100

    profile: Adds a --enable-profile option
    
    This adds a --enable-profile option which enables uprof based profiling.
    It was also necessary to fixup a CLUTTER_ENABLE_PROFILING #ifdef in
    cogl-context.c to renamed COGL_ENABLE_PROFILING instead. By default Cogl
    doesn't output uprof reports directly, instead it assumes a higher level
    toolkit will output a report. If you want a report from Cogl you can
    export COGL_PROFILE_OUTPUT_REPORT=1 before running your app.
    
    The latest version of uprof can be fetched from:
    git://github.com/rib/UProf.git

 cogl/Makefile.am    |    2 +-
 cogl/cogl-context.c |    2 +-
 configure.ac        |   24 ++++++++++++++++++++++++
 3 files changed, 26 insertions(+), 2 deletions(-)

commit 44e4b13324d9ae7e462e071ebf28ae4d29cb4606
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Jun 13 10:29:05 2011 +0100

    x11-foreign: Updates to forward X Events to Cogl
    
    This update the x11-foreign test so that it checks for events on its X
    display and forwards them on to Cogl. It will now also quit if any key
    of button is pressed.

 examples/x11-foreign.c |   37 ++++++++++++++++++++++++++++++++++---
 1 files changed, 34 insertions(+), 3 deletions(-)

commit 3729bf27697308142dbadcb9eea1b1d59b28e65d
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri Jun 10 18:47:12 2011 +0100

    Make it clearer that the 2.0 API is experimental
    
    This explicitly renames the cogl-2.0 reference manual to
    cogl-2.0-experimental and renames the cogl-2.0 pkg-config file to
    cogl-2.0-experimental.pc. Hopefully this should avoid
    miss-understandings.

 .gitignore                                         |   26 +-
 build/autotools/Makefile.am.release                |    8 +-
 cogl-pango/Makefile.am                             |    2 +-
 cogl-pango/cogl-pango-2.0-experimental.pc.in       |   13 +
 cogl/Makefile.am                                   |    2 +-
 cogl/cogl-2.0-experimental.pc.in                   |   13 +
 cogl/cogl.pc.in                                    |   13 -
 configure.ac                                       |    8 +-
 doc/reference/Makefile.am                          |    2 +-
 doc/reference/cogl-2.0-experimental/Makefile.am    |  158 ++++++
 .../cogl-2.0-experimental/blend-strings.xml        |  129 +++++
 .../cogl-2.0-experimental/cogl-docs.xml.in         |  196 +++++++
 .../cogl-2.0-experimental/cogl-sections.txt        |  537 ++++++++++++++++++++
 doc/reference/cogl-2.0-experimental/cogl_ortho.png |  Bin 0 -> 12650 bytes
 .../cogl-2.0-experimental/fill-rule-even-odd.png   |  Bin 0 -> 3121 bytes
 .../cogl-2.0-experimental/fill-rule-non-zero.png   |  Bin 0 -> 3143 bytes
 .../cogl-2.0-experimental/quad-indices-order.png   |  Bin 0 -> 2620 bytes
 .../quad-indices-triangles.png                     |  Bin 0 -> 8018 bytes
 doc/reference/cogl-2.0/Makefile.am                 |  158 ------
 doc/reference/cogl-2.0/blend-strings.xml           |  129 -----
 doc/reference/cogl-2.0/cogl-docs.xml.in            |  196 -------
 doc/reference/cogl-2.0/cogl-sections.txt           |  537 --------------------
 doc/reference/cogl-2.0/cogl_ortho.png              |  Bin 12650 -> 0 bytes
 doc/reference/cogl-2.0/fill-rule-even-odd.png      |  Bin 3121 -> 0 bytes
 doc/reference/cogl-2.0/fill-rule-non-zero.png      |  Bin 3143 -> 0 bytes
 doc/reference/cogl-2.0/quad-indices-order.png      |  Bin 2620 -> 0 bytes
 doc/reference/cogl-2.0/quad-indices-triangles.png  |  Bin 8018 -> 0 bytes
 27 files changed, 1071 insertions(+), 1056 deletions(-)

commit 250373a0f1a6c305932c178dbd604d95c358089f
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Jun 8 14:34:00 2011 +0100

    Adds build/autotools/Makefile.am.changelog/release
    
    This adds some convenience rules to help manage releases

 Makefile.am                           |    8 ++
 build/autotools/Makefile.am.changelog |   78 ++++++++++++++++
 build/autotools/Makefile.am.release   |  156 +++++++++++++++++++++++++++++++++
 3 files changed, 242 insertions(+), 0 deletions(-)

commit a9643f38e6b874348155867b412fe3a75e794360
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Jun 8 11:52:15 2011 +0100

    x11-foreign: explicitly pass -lX11 ldflag
    
    The x11-foreign example directly uses the X11 API at it seems that more
    recent versions of binutils complain if we don't directly link the test
    with libX11 as opposed to relying on indirect linkage via cogl.

 examples/Makefile.am |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit e86543cd7d1db7fe1d88b6875a8662e377c9e9df
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Jun 14 14:40:27 2011 +0100

    Revert "Do not use "near" and "far" variables"
    
    This reverts commit 3d2564df8f71d6030d9496b7f8e57a27905a4b5a.
    
    Since 01e1260aa the 'near' and 'far' defines are now undef'd on
    Windows so we no longer have to remember not to use them in Cogl code.

 cogl/cogl-depth-state.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

commit 01e1260aa0a659776961e7ade5eab571374d2a6a
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Jun 13 13:09:47 2011 +0100

    configure: Force #undef of 'near' and 'far' on Windows
    
    This adds an extra header that gets included from config.h where we
    can add configuration defines. This is used to #undef 'near' and 'far'
    when building for Windows so that we don't have to avoid using them as
    variable names in the Cogl code.

 Makefile.am     |    4 +++-
 config-custom.h |   35 +++++++++++++++++++++++++++++++++++
 configure.ac    |    1 +
 3 files changed, 39 insertions(+), 1 deletions(-)

commit 5dc42284a5174d6cb451d0f5956801e67da3e627
Author: Lionel Landwerlin <lionel.g.landwerlin@linux.intel.com>
Date:   Fri Jun 10 18:44:09 2011 +0100

    cogl-debug: add instrumentation to track the number of objects
    
    This allows to track the number of objects allocated by Cogl. The
    results are displayed on the standard output by calling :
    
    cogl_debug_print_instances ();
    
    Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@linux.intel.com>
    Signed-off-by: Neil Roberts <neil@linux.intel.com>

 cogl/cogl-debug.c          |    1 +
 cogl/cogl-debug.h          |    1 +
 cogl/cogl-object-private.h |  123 ++++++++++++++++++++++++++++----------------
 cogl/cogl-object.c         |   32 +++++++++++
 cogl/cogl-object.h         |   73 ++++++++++++++++++++++++++
 5 files changed, 185 insertions(+), 45 deletions(-)

commit c603dc67ca13d26e3909196500da693a92654dee
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Jun 8 17:52:28 2011 +0100

    cogl-vertex-buffer: make sure to unref weak pipelines
    
    When validating a user pipeline before drawing with a CoglVertexBuffer
    we sometimes find we have to make some overrides and we handle that by
    creating a pipeline which is a weak copy of the user pipeline. The weak
    pipeline gets associated with the original pipeline so if that pipeline
    is used multiple times then we can re-use the same override pipeline and
    skip validation. Because it's a weak pipeline we get notified when the
    original material is destroyed or changed so we know our weak pipeline
    is now invalid.
    
    When we get notified that the weak material is invalid we should unref
    it, but instead we were just discarding our reference to it. This was
    resulting in leaking weak materials and in some cases those materials
    referenced textures which would then also be leaked.

 cogl/cogl-vertex-buffer.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

commit 3d2564df8f71d6030d9496b7f8e57a27905a4b5a
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Sun Jun 12 10:40:20 2011 +0100

    Do not use "near" and "far" variables
    
    They collide with existing symbols when compiling on Windows.
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2667

 cogl/cogl-depth-state.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

commit 6d1371e0e9291a10404a34992322ed698333f738
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Jun 10 18:43:56 2011 +0100

    cogl-texture-pixmap-x11: Fix the can_hardware_repeat wrapper
    
    The wrapper for the can_hardware_repeat had a cut and paste error so
    it would call the wrong function on the child texture.
    
    Many thanks to Owen Taylor for finding this bug.

 cogl/winsys/cogl-texture-pixmap-x11.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit db954565d4e9ffeb848a1b1554f1ed568a29b55f
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Jun 10 14:03:50 2011 +0100

    cogl-pango-render: Use the glyph size for unknown glyphs
    
    When rendering a box for an unknown glyph it would previously just use
    the average glyph size for the font. This causes problems because the
    size calculations for the layout assume a different size so it can end
    up rendering outside of the expected ink rectangle. This patch changes
    it to query the size of the glyph in the font. Pango should end up
    reporting the size of what would be the hex box which should be the
    same as the sized used for the extents calculation.
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2599

 cogl-pango/cogl-pango-render.c |   21 ++++++++++-----------
 1 files changed, 10 insertions(+), 11 deletions(-)

commit abb3631e71c47e8491e036bc5fbe5b7ed960e7a4
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Jun 9 16:23:58 2011 +0100

    po: Fix up pl.po

 po/pl.po |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

commit 552761f3a83f13d00aa00f4925661463388f48e8
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Jun 9 16:21:15 2011 +0100

    Remove G_CONST_RETURN
    
    It is going to be deprecated by GLib, see bug:
    
      https://bugzilla.gnome.org/show_bug.cgi?id=644611

 cogl/cogl-material-compat.c  |    2 +-
 cogl/cogl-material-compat.h  |    2 +-
 cogl/cogl-matrix.h           |    2 +-
 cogl/cogl-pipeline-private.h |    2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

commit c56d5436d08cb55b529f00dbb29a2b3b44db2692
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Jun 9 16:19:44 2011 +0100

    Fix introspection annotations for CoglPango

 cogl-pango/cogl-pango-fontmap.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit c3c080481952b33737bea0b5b1c62b6d3b5763f5
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Jun 8 18:03:58 2011 +0100

    Implement COGL_DEBUG=disable-texturing for ARBFp and GLSL fragends
    
    The COGL_DEBUG=disable-texturing debug variable disables texturing in
    the fixed function fragend by not bothering to enable the texture
    targets. This wasn't working for the programmable fragends because the
    texture targets don't need to be enabled to use them. This patch
    modifies the two programmable backends to generate a constant value
    for the texture lookups in the shader when the debug variable is
    given.

 cogl/cogl-pipeline-fragend-arbfp.c |   25 ++++++++++++++++---------
 cogl/cogl-pipeline-fragend-glsl.c  |    9 +++++++++
 2 files changed, 25 insertions(+), 9 deletions(-)

commit bbfe8b8ec445bda7832e13f495e31ac0ca93aca1
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Jun 1 18:49:18 2011 +0100

    gir: pass dep cflags to gobject introspection scanner
    
    The gobject introspection scanner was failing to find EGL headers so we
    now pass the COGL_DEP_CFLAGS to Cogl_1_0_gir_CFLAGS.

 cogl/Makefile.am |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 5022ec54d2dfea28d5b4edbe0183cd6312035f93
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri May 27 12:30:23 2011 +0100

    replace _xlib_add_filter use with _cogl_renderer API
    
    Instead of using _cogl_xlib_add/remove_filter we now use
    _cogl_renderer_add/remove_native_filter. The _cogl_xlib_add_filter API
    was only required as a stop gap while EGL support was still in Clutter
    because in that case we were using the stub winsys and didn't have a
    CoglRenderer.

 cogl/cogl-renderer.h                  |    6 +++---
 cogl/cogl-xlib-private.h              |   21 ---------------------
 cogl/cogl-xlib.c                      |   18 ------------------
 cogl/winsys/cogl-texture-pixmap-x11.c |   20 ++++++++++++++------
 4 files changed, 17 insertions(+), 48 deletions(-)

commit 8c35a6bb7c1a52d5be3950365f4ffa5e25debfc1
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed May 25 22:23:06 2011 +0100

    remove _cogl_xlib_trap/untrap_errors wrappers
    
    This removes the redundant _cogl_xlib_trap/untrap_errors functions that
    simply wrap equivalent functions in the _cogl_renderer_xlib namespace.
    These were originally only required while the EGL winsys was being
    handled in clutter and so there wasn't a CoglRenderer in all cases.

 cogl/cogl-renderer-xlib-private.h |   17 +++++++++--------
 cogl/cogl-xlib-private.h          |    6 ------
 cogl/cogl-xlib.c                  |   17 -----------------
 cogl/winsys/cogl-winsys-egl.c     |    5 +++--
 cogl/winsys/cogl-winsys-glx.c     |   11 ++++++-----
 5 files changed, 18 insertions(+), 38 deletions(-)

commit 43c4b21a1dc161d60796f701f817a6e0b122bfc6
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed May 25 19:27:10 2011 +0100

    Adds an example cogl wayland compositor
    
    This adds an example cogl compositor to test the
    _cogl_wayland_texture_2d_new_from_buffer API. The compositor emulates 4
    output displays but doesn't support input since Cogl doesn't deal with
    input. It's quite a minimal example of what it takes to write a wayland
    compositor so could be interesting to anyone learning about wayland.

 examples/Makefile.am |    6 +
 examples/cogland.c   |  543 ++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 549 insertions(+), 0 deletions(-)

commit 4a97fc0a1e8ab4a59bb907d4a212d2bab285fb4a
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed May 25 01:57:20 2011 +0100

    egl: fix some #ifdef guards
    
    In the winsys vtable .xlib_get_visual_info and
    .onscreen_x11_get_window_xid should be guarded by the
    COGL_HAS_EGL_PLATFORM_POWERVR_X11_SUPPORT because they need to be there
    if cogl is configured with --enable-xlib-egl-platform but not if just
    configured with --enable-xlib.

 cogl/winsys/cogl-winsys-egl.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit b934859dde06f0e01d0089e8ba242e3fedf02028
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed May 25 01:49:44 2011 +0100

    renderer: set winsys on renderer before ->renderer_connect
    
    When iterating through all the possible window systems trying to find
    one we can successfully connect we now associated the current winsys
    vtable with the renderer before calling winsys->renderer_connect in case
    the implementation calls some other Cogl API that expects to be able to
    determine the current winsys. For example calling _cogl_get_proc_address
    when querying winsys extensions as part of a successful connect will
    need to get at the current winsys vtable.

 cogl/cogl-renderer.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

commit 656f28de2f657ab4ca9a6c933d7fbd15671e4ea9
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed May 25 01:47:34 2011 +0100

    glx: make sure _cogl_winsys_get_proc_address is static
    
    Make sure not to export _cogl_winsys_get_proc_address outside of
    cogl-winsys-glx.c

 cogl/winsys/cogl-winsys-glx.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit a29a76dbabf8e68febc50288465fccdfd8d1313f
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed May 25 01:37:56 2011 +0100

    Adds  _cogl_wayland_texture_2d_new_from_buffer API
    
    This adds internal API to be able to wrap a wayland buffer as a
    CoglTexture2D. There is a --enable-wayland-egl-server option to decide
    if Cogl should support this feature and potentially any EGL based winsys
    could support this through the EGL_KHR_image_base and
    EGL_WL_bind_display extensions.

 cogl/cogl-display-private.h                     |    7 ++
 cogl/cogl-display.c                             |   10 +++
 cogl/cogl-display.h                             |    6 ++
 cogl/cogl-internal.h                            |    5 +-
 cogl/cogl-texture-2d.c                          |   69 +++++++++++++++++++++++
 cogl/cogl-texture-2d.h                          |   35 ++++++++++++
 cogl/winsys/cogl-winsys-egl-feature-functions.h |   11 ++++
 cogl/winsys/cogl-winsys-egl.c                   |   12 ++++
 configure.ac                                    |   16 +++++
 9 files changed, 169 insertions(+), 2 deletions(-)

commit 8714d99300ff6da1fba7959278b321f5eea94844
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue May 24 23:15:37 2011 +0100

    egl: Add x11 texture-from-pixmap support
    
    By using the EGL_KHR_image_base/pixmap extensions this adds support for
    wrapping X11 pixmaps as CoglTexture2D textures. Clutter will
    automatically take advantage of this if using the
    ClutterX11TexturePixmap actor.

 cogl/cogl-internal.h                            |    3 +-
 cogl/winsys/cogl-winsys-egl-feature-functions.h |    5 +
 cogl/winsys/cogl-winsys-egl.c                   |  127 +++++++++++++++++++++++
 3 files changed, 134 insertions(+), 1 deletions(-)

commit 60b25615fd76716d99998bf6755a246c3ea495e6
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue May 24 22:34:10 2011 +0100

    Add _cogl_egl_texture_2d_new_from_image API
    
    This adds an internal texture_2d constructor that can wrap an EGLImage
    as a CoglTexture2D. The plan is to utilize this for texture-from-pixmap
    support with EGL as well as creating textures from wayland buffers.

 cogl/Makefile.am                                |   15 +++++--
 cogl/cogl-context-private.h                     |    1 +
 cogl/cogl-context.c                             |    1 +
 cogl/cogl-defines.h.in                          |    3 +
 cogl/cogl-internal.h                            |    5 ++
 cogl/cogl-renderer.c                            |    4 +-
 cogl/cogl-texture-2d-private.h                  |   13 ++++++
 cogl/cogl-texture-2d.c                          |   48 +++++++++++++++++++++++
 cogl/cogl-texture.h                             |    3 +-
 cogl/driver/gl/cogl-feature-functions-gl.h      |   12 ++++++
 cogl/driver/gl/cogl-gl.c                        |    7 +++-
 cogl/driver/gles/cogl-feature-functions-gles.h  |   12 ++++++
 cogl/driver/gles/cogl-gles.c                    |    7 +++-
 cogl/winsys/cogl-winsys-egl-feature-functions.h |   17 ++++++++
 cogl/winsys/cogl-winsys-egl-private.h           |   46 ++++++++++++++++++++++
 cogl/winsys/cogl-winsys-egl.c                   |   31 +++++++++++++++
 16 files changed, 214 insertions(+), 11 deletions(-)

commit c9f1541de008cea64dd61f3bfd37451c47e55408
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue May 24 21:33:22 2011 +0100

    egl: check or EGL/eglext.h
    
    While running configure we now check for EGL/eglext.h and if found we
    will substitute an inclusion in cogl-defines.h.

 cogl/cogl-defines.h.in |    7 +------
 configure.ac           |   24 +++++++++++++++++-------
 2 files changed, 18 insertions(+), 13 deletions(-)

commit 52aada844283aa64136e15ab2682d5cfe44ffa4a
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue May 24 17:21:28 2011 +0100

    egl: Check EGL extension as early as possible
    
    Instead of waiting until initializing a CoglContext we now check EGL
    extensions after calling eglInitialize.

 cogl/cogl-feature-private.h                     |    5 +-
 cogl/winsys/cogl-winsys-egl-feature-functions.h |    8 +--
 cogl/winsys/cogl-winsys-egl.c                   |   73 ++++++++++++++---------
 3 files changed, 49 insertions(+), 37 deletions(-)

commit be15bf75e44bcab213e840f26b0347f6eb50f393
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue May 24 01:38:48 2011 +0100

    Add internal _cogl_get_proc_address
    
    This adds an internal _cogl_get_proc_address that doesn't need a
    CoglContext. This will enable us to check driver features earlier.

 cogl/cogl-feature-private.c       |   35 ++++++++++++++++-------------------
 cogl/cogl-feature-private.h       |    3 ++-
 cogl/cogl.c                       |   22 +---------------------
 cogl/driver/gl/cogl-gl.c          |   19 ++-----------------
 cogl/driver/gles/cogl-gles.c      |   19 ++-----------------
 cogl/winsys/cogl-winsys-egl.c     |   21 ++-------------------
 cogl/winsys/cogl-winsys-glx.c     |   21 ++-------------------
 cogl/winsys/cogl-winsys-private.h |    4 ++++
 cogl/winsys/cogl-winsys-wgl.c     |    3 ++-
 cogl/winsys/cogl-winsys.c         |   31 +++++++++++++++++++++++++++++++
 10 files changed, 64 insertions(+), 114 deletions(-)

commit 32e7c93aff3d1b396bd7c63008212acd63e9eb94
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri May 27 13:59:29 2011 +0100

    configure.ac: move the --enable-cairo check
    
    This moves the --enable-cairo check because it was put in the middle of
    the logic that handles the --enable-debug option. This moves the
    --enable-cairo check down after the --enable-debug logic and adds a
    comment header to delimit the option like we have for other options.

 configure.ac |   46 ++++++++++++++++++++++++++--------------------
 1 files changed, 26 insertions(+), 20 deletions(-)

commit b380fed23d61688d1ea199ac28ff4bfba0a32985
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue May 17 15:00:38 2011 +0100

    Make stub winsys into a proper winsys backend
    
    Instead of the stub winsys being a special case set of #ifdef'd code
    used when COGL_HAS_FULL_WINSYS wasn't defined, the stub winsys now
    implements a CoglWinsysVtable like all other winsys backends (it's just
    that everything is a NOP). This way we can get rid of the
    COGL_HAS_FULL_WINSYS define and also the stub winsys can be runtime
    selected whereas before it was incompatible with all other winsys
    backends.

 cogl/Makefile.am                       |    5 +-
 cogl/cogl-clutter.c                    |    3 +-
 cogl/cogl-context-private.h            |    1 -
 cogl/cogl-context.c                    |   19 +----
 cogl/cogl-display.c                    |    4 -
 cogl/cogl-framebuffer.c                |    2 -
 cogl/cogl-renderer.c                   |   18 +----
 cogl/cogl.c                            |    4 -
 cogl/winsys/cogl-winsys-stub-private.h |   30 +++++++
 cogl/winsys/cogl-winsys-stub.c         |  137 +++++++++++++++++++++-----------
 configure.ac                           |   40 ---------
 11 files changed, 130 insertions(+), 133 deletions(-)

commit 1ec852551013c556d7edcdea92cfc33627900662
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri May 27 13:48:55 2011 +0100

    cogl-xlib: remove special cases for stub winsys
    
    Since we no longer have any xlib based backends in Clutter that depend
    on the stub winsys in Cogl we can now remove all the special case code
    we had for this in cogl-xlib.c

 cogl/cogl-xlib.c |   57 ++++++-----------------------------------------------
 1 files changed, 7 insertions(+), 50 deletions(-)

commit ee7cc9e7889498c7ed3574b85e7294fff1bb45b1
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue May 17 00:05:54 2011 +0100

    Make CoglTexture2D public as experimental API
    
    This exposes a CoglTexture2D typedef and adds the following experimental
    API:
        cogl_is_texture_2d
        cogl_texture_2d_new_with_size
        cogl_texture_2d_new_from_data
        cogl_texture_2d_new_from_foreign
    
    Since this is experimental API you need to define
    COGL_ENABLE_EXPERIMENTAL_API before including cogl.h.
    
    Note: With these new entrypoints we now expect a CoglContext pointer to
    be passed in, instead of assuming there is a default context. The aim is
    that for Cogl 2.0 we won't have a default context so this is a step in
    that direction.

 cogl/Makefile.am                     |    1 +
 cogl/cogl-atlas.c                    |   12 ++-
 cogl/cogl-blit.c                     |    2 +-
 cogl/cogl-texture-2d-private.h       |   22 +----
 cogl/cogl-texture-2d-sliced.c        |   12 ++-
 cogl/cogl-texture-2d.c               |   96 ++++++++++++++----
 cogl/cogl-texture-2d.h               |  184 ++++++++++++++++++++++++++++++++++
 cogl/cogl-texture.c                  |   28 ++++-
 cogl/cogl-texture.h                  |   27 +++++
 cogl/cogl.h                          |    1 +
 cogl/winsys/cogl-winsys-glx.c        |    9 +-
 doc/reference/cogl/cogl-sections.txt |   10 ++
 12 files changed, 348 insertions(+), 56 deletions(-)

commit 80e7e0ef49dfc4b9143a9191d8f862055b5b9998
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Jun 1 14:30:09 2011 +0100

    configure: remove the --enable-quartz option
    
    Until we have a standalone quartz winsys we don't want to define a
    winsys name called "quartz" which is what the current --enable-quartz
    option does. For now anyone building for OSX needs to use the stub
    winsys and setup their own GL context.

 configure.ac |   23 -----------------------
 1 files changed, 0 insertions(+), 23 deletions(-)

commit 1e3f4f62e090ae0e93f18c7e45febeacbde20dc1
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri May 27 12:21:26 2011 +0100

    framebuffer: validate width/height in _set_viewport
    
    This validates that the viewport width and height arguments are positive
    values in _cogl_framebuffer_set_viewport. In addition, just before
    calling glViewport we also assert that something else hasn't gone amiss
    and that the internal viewport width/height values we track are still
    positive before passing to glViewport which generates an error for
    negative values.

 cogl/cogl-framebuffer.c |   13 ++++++++-----
 1 files changed, 8 insertions(+), 5 deletions(-)

commit 5a9b92a4a5f02f08661c8d241a41d82395745ab8
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Jun 1 13:45:42 2011 +0100

    Revert "Initial build of a Quartz winsys stub"
    
    This reverts commit b2e41f1bfa53fe316bd42228fa26fc1d6dab5e9e.
    
    We are backing out the quartz specific stub winsys since we can simply
    use the generic stub winsys on quartz until we develop a standalone
    winsys. Since we plan on removing all special cases for the stub winsys
    by handling with a winsys vtable like all the others it's better if we
    don't introduce a quartz specific stub.

 cogl/Makefile.am                 |   10 ----
 cogl/winsys/cogl-winsys-quartz.c |  112 --------------------------------------
 2 files changed, 0 insertions(+), 122 deletions(-)

commit 891a9c33c581ff9c66da792fbe61b4fbcdb50f7b
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Jun 1 13:42:35 2011 +0100

    Revert "quartz: Remove X11 ifdefs"
    
    This reverts commit eb81ec945c073bc87dc622d8b27906270953df8b.
    
    We are backing out the quartz specific stub winsys since we can simply
    use the generic stub winsys on quartz until we develop a standalone
    winsys. Since we plan on removing all special cases for the stub winsys
    by handling with a winsys vtable like all the others it's better if we
    don't introduce a quartz specific stub.

 cogl/winsys/cogl-winsys-quartz.c |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

commit cb321e0e5f13cd0535f1a8260ae2ca6aafb0d26e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Jun 1 16:44:57 2011 +0100

    build: Don't use bash string substitution in configure.ac
    
    Use the shell-neutral version.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=651256

 configure.ac |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit efadc439a46206252c279a1cef72cdaab673107c
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Jun 1 14:30:45 2011 +0100

    cogl-journal: Use a pool of vertex arrays
    
    Previously whenever the journal is flushed a new vertex array would be
    created to contain the vertices. To avoid the overhead of reallocating
    a buffer every time, this patch makes it use a pool of 8 buffers which
    are cycled in turn. The buffers are never destroyed but instead the
    data is replaced. The journal should only ever be using one buffer at
    a time but we cache more than one buffer anyway in case the GL driver
    is internally using the buffer in which case mapping the buffer may
    cause it to create a new buffer anyway.

 cogl/cogl-journal-private.h |   12 +++++++++
 cogl/cogl-journal.c         |   58 +++++++++++++++++++++++++++++++++++++-----
 2 files changed, 63 insertions(+), 7 deletions(-)

commit 54f94a0ed07e2d01e719f21120cb92ea3e492269
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue May 24 16:37:11 2011 +0100

    cogl-pipeline-fragend-fixed: Fix enabling texture targets
    
    When flushing a pipeline that has more layers than the previous
    pipeline, the fixed function fragend is supposed to detect that the
    texture unit previously had no texture target enabled and then enable
    it. However the logic for checking whether the unit was enabled was
    broken due to a typing failure when unit->enabled and
    unit->current_gl_target were combined into one value in commit
    6b7139b0. This was breaking some of the conformance tests when the
    fixed function fragend is used.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=650979

 cogl/cogl-pipeline-fragend-fixed.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit d8df30cb9cf818bba9c6f65090fc6722c3ddc418
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue May 24 13:23:13 2011 +0100

    cogl-pipeline-opengl: Don't use number of tex units on fixed-function
    
    The CoglPipeline code uses a combination of GL_MAX_TEXTURE_COORDS,
    GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS and GL_MAX_TEXTURE_UNITS to
    determine the maximum number of layers to allow in a pipeline. However
    on fixed function hardware that doesn't advertise either GLSL or ARBfp
    it was still using the first two enums which will probably just return
    0 and set a GLerror. This meant that we effectively didn't support
    using any layers on purely fixed function hardware. This patch changes
    it to only use those two enums if the appropriate extensions are
    advertised and to always use GL_MAX_TEXTURE_UNITS except on GLES2
    where there is no fixed function.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=650966

 cogl/cogl-pipeline-opengl.c |   69 +++++++++++++++++++++++++++++++------------
 1 files changed, 50 insertions(+), 19 deletions(-)

commit 19e1dcff23fd925240d40c2cf0ed555a6388d244
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Wed May 25 16:49:09 2011 +0100

    framebuffer: Bail out if the viewport has negative size

 cogl/cogl-framebuffer.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

commit eb81ec945c073bc87dc622d8b27906270953df8b
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Wed May 25 16:47:38 2011 +0100

    quartz: Remove X11 ifdefs

 cogl/winsys/cogl-winsys-quartz.c |   18 ------------------
 1 files changed, 0 insertions(+), 18 deletions(-)

commit b2e41f1bfa53fe316bd42228fa26fc1d6dab5e9e
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Tue May 24 22:59:58 2011 +0100

    Initial build of a Quartz winsys stub

 cogl/Makefile.am                 |   10 ++++
 cogl/winsys/cogl-winsys-quartz.c |  112 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 122 insertions(+), 0 deletions(-)

commit df688ad0c8774f87bb82618c01c0e508642d87ec
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Tue May 24 22:29:42 2011 +0100

    build: Fix platform detection for Quartz/OSX
    
    The location of the header files for GL and the linker flags are
    different on Mac OS X than other Unices.

 configure.ac |   38 +++++++++++++++++++++++++++++++++++---
 1 files changed, 35 insertions(+), 3 deletions(-)

commit 97abcda1a2771df13228da92dc6b975088d86bd6
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Wed May 18 14:14:28 2011 +0100

    build: Fix generation of the documentation Makefiles
    
    Automake seems a bit fragile when trying to do cunning things like
    including a file with "-include". It does not recurse into that file (if
    it exists) to generate the final Makefiles.
    
    Let's add a if BUILD_GTK_DOC guard around the gtk-doc.make inclusion
    instead, hopefully should work as intended.

 doc/reference/cogl-2.0/Makefile.am |    4 +++-
 doc/reference/cogl/Makefile.am     |    4 +++-
 2 files changed, 6 insertions(+), 2 deletions(-)

commit 57db73873eb210f4ec51ae71852f533bc5640e68
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed May 18 11:50:56 2011 +0100

    pipeline: Fix argument checking in set_depth_state()

 cogl/cogl-pipeline.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 8680e3bfeb8d064ce898e8fb07853c199b87e836
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Tue May 17 15:06:53 2011 +0100

    android: Expose the only android specific symbol as experimental

 cogl/cogl-context.h |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 8e949ff5606d4eb5a2f0c1658dca60b816203a05
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Mon May 16 18:08:49 2011 +0100

    build: Allow to forcefully disable the usage cairo
    
    Provide an option to disable cairo usage in the debugging code even if
    we find the pc file.

 configure.ac |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)

commit e157971cd887a367746fa210077325befc03795a
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Mon May 16 17:50:49 2011 +0100

    debug: Allow to compile a debug Cogl without cairo
    
    For people still wanting the debugging code, but don't have or don't
    want to compile cairo for their platform.

 cogl/cogl-rectangle-map.c |   12 ++++++++----
 configure.ac              |   10 +++++++++-
 2 files changed, 17 insertions(+), 5 deletions(-)

commit aa27ec56df51f9ce72769d69af44b4f833927b5d
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Mon May 16 17:26:05 2011 +0100

    android: Add a port of the Cogl hello world example

 examples/android/hello/.gitignore             |    8 +
 examples/android/hello/AndroidManifest.xml    |   30 ++++
 examples/android/hello/jni/Android.mk         |   19 +++
 examples/android/hello/jni/Application.mk     |    1 +
 examples/android/hello/jni/main.c             |  188 +++++++++++++++++++++++++
 examples/android/hello/res/values/strings.xml |    4 +
 6 files changed, 250 insertions(+), 0 deletions(-)

commit f4365821148f1885ca2bbecedbf0270aa5af3edf
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Mon May 16 16:43:30 2011 +0100

    android: Add support for an EGL/Android winsys
    
    The native window type of the EGL/Android winsys is ANativeWinow*. The
    Android NDK gives you a pointer to this ANativeWindow and you just need
    to configure that window using the EGLConfig you are choosing when
    creating the context.
    
    This means you have to know the ANativeWindow* window before creating
    the context. This is solved here by just having a global variable you
    can set with cogl_android_set_native_window() before creating the
    context. This is a bit ugly though, and it conceptually belongs to the
    OnScreen creation to know which ANativeWindow* to use. This would need a
    "lazy context creation" mechanism, waiting for the user to create the
    OnScreen to initialize the GL context.

 cogl/Makefile.am              |    4 ++
 cogl/cogl-context.h           |    8 ++++
 cogl/winsys/cogl-winsys-egl.c |   75 +++++++++++++++++++++++++++++++++++++++--
 configure.ac                  |   21 +++++++++++
 4 files changed, 105 insertions(+), 3 deletions(-)

commit bde6979c066c60639f05749a2de73c8554eeecc9
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Mon May 16 16:12:00 2011 +0100

    framebuffer: Checks if glBindFramebuffer() exists when using GLES1
    
    With GLES 1, frame buffers are a optional extensions. We need to make
    sure the pointer exist before calling the function and do that by just
    checkout the corresponding feature.

 cogl/cogl-framebuffer.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

commit d384466a580108b6163de5beb77dfc3c143fa2d4
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Mon May 16 16:04:33 2011 +0100

    winsys-egl: Use g_clear_error() between two context creation tries
    
    When try_create_context() returns saying that it has to be run again to
    try to create a context with an alternate configuration, it might not
    have a GError set (and in fact it does not right now).
    g_clear_error() handles that case where error is still NULL;

 cogl/winsys/cogl-winsys-egl.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

commit 051e6da8875b9547a3b2281be2f6c25071653b3d
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Fri May 13 08:11:57 2011 +0100

    misc: Add the single include guard to cogl-define.h
    
    This is a generated file and maybe the reason why it was not included
    the first time?

 cogl/cogl-defines.h.in |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

commit dd5a1c888b68e3d8a4f41212cb257c1e8dc3833b
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Fri May 13 08:04:47 2011 +0100

    gles1: Include GLES/egl.h or EGL/egl.h depending on the implementation
    
    Early implementations provided only a GLES/egl.h while Khronos's
    implementer guide now states EGL/egl.h is the One. Some implementations
    keep a GLES/egl.h wrapper around EGL/egl.h for backward compatibility
    while others provide EGL/egl.h only.
    
    Also took the opportunity to factorize a bit this inclusion in
    cogl-defines.h.

 cogl/cogl-context.h           |   12 +-----------
 cogl/cogl-defines.h.in        |   11 +++++++++++
 cogl/winsys/cogl-winsys-egl.c |   16 ----------------
 configure.ac                  |   13 +++++++++++++
 4 files changed, 25 insertions(+), 27 deletions(-)

commit 1d6c6f0dad79e73fa719eb4b91d0f6455f6d921c
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Thu May 12 16:00:35 2011 +0100

    build: Fix the Win32 platform test for GLES2
    
    The error message has a small typo (copy and paste from the GLES1
    detection code) and the check was reversed.

 configure.ac |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 780c6fe05ddc4b70cdff853927446d9c73624420
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Thu May 12 15:51:01 2011 +0100

    build: Ensure EGL related variables are defined even when EGL_CHECKED=yes
    
    When checking for EGL earlier in the configure script (ie EGL_CHECKED is
    "yes"), we did not execute some EGL code. Let's split that code in two:
      - A first part that has a last change to check for EGL
      - A second one that defines variables and that should always been run
        in an EGL build

 configure.ac |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

commit 3530354d5d5da1248cc6636dbf3837294f0a2121
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Thu May 12 14:59:44 2011 +0100

    build: Fix the GLES headers check
    
    GLES/glext.h and GLES2/gl2ext.h need to include GLES/gl.h and
    GLES2/gl2.h respectively to get the GL types.
    
    This used to work as autoconf used to only do a preprocessor pass in
    AC_CHECK_HEADER(S), but now it also tries to compile a small test
    program and thus the test failed.

 configure.ac |   28 ++++++++++++++++++++--------
 1 files changed, 20 insertions(+), 8 deletions(-)

commit 0ac8135b873c80c73cf5468dd2d2e01118bc29e7
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Thu May 12 14:26:54 2011 +0100

    build: Fix the Win32 platform test for GLES1
    
    We want to bail out if trying to configure Cogl with GLES1 on Windows.
    Not the opposite.

 configure.ac |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 25cd2e12f9be9af077d8350549877210fe46d0e0
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Thu May 12 14:29:38 2011 +0100

    misc: Add a .vimrc file
    
    For people using per project vimrc files, provide a vim config file that
    describes Cogl's coding style.

 .vimrc |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

commit cb7433cce98ce4c692dd7063d7307f5c41ef6ef2
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon May 16 18:45:51 2011 +0100

    Adds missing cogl-depth-state-private.h
    
    This file was accidentally missed in the last commit

 cogl/cogl-depth-state-private.h |   32 ++++++++++++++++++++++++++++++++
 1 files changed, 32 insertions(+), 0 deletions(-)

commit 07c0b9f89ffc64175befb9cf40a07f499169ed67
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Apr 14 18:12:03 2011 +0100

    Add CoglDepthState API
    
    Instead of simply extending the cogl_pipeline_ namespace to add api for
    controlling the depth testing state we now break the api out. This adds
    a CoglDepthState type that can be stack allocated. The members of the
    structure are private but we have the following API to setup the state:
    
        cogl_depth_state_init
        cogl_depth_state_set_test_enabled
        cogl_depth_state_get_test_enabled
        cogl_depth_state_set_test_function
        cogl_depth_state_get_test_function
        cogl_depth_state_set_writing_enabled
        cogl_depth_state_get_writing_enabled
        cogl_depth_state_set_range
        cogl_depth_state_get_range
    
    This removes the following experimental API which is now superseded:
    
        cogl_material_set_depth_test_enabled
        cogl_material_get_depth_test_enabled
        cogl_material_set_depth_test_function
        cogl_material_get_depth_test_function
        cogl_material_set_depth_writing_enabled
        cogl_material_get_depth_writing_enabled
        cogl_material_set_depth_range
        cogl_material_get_depth_range
    
    Once a CoglDepthState structure is setup it can be set on a pipeline
    using cogl_pipeline_set_depth_state().

 cogl/Makefile.am                         |    3 +
 cogl/cogl-depth-state.c                  |  108 ++++++++++++
 cogl/cogl-depth-state.h                  |  261 ++++++++++++++++++++++++++++++
 cogl/cogl-material-compat.c              |   65 ++------
 cogl/cogl-material-compat.h              |  166 +++----------------
 cogl/cogl-pipeline-opengl.c              |   38 +++---
 cogl/cogl-pipeline-private.h             |   11 +--
 cogl/cogl-pipeline.c                     |  236 +++++++--------------------
 cogl/cogl-pipeline.h                     |  161 +++----------------
 cogl/cogl.h                              |    1 +
 cogl/driver/gl/cogl-gl.c                 |    3 +-
 cogl/driver/gles/cogl-gles.c             |    1 +
 doc/reference/cogl-2.0/Makefile.am       |    1 +
 doc/reference/cogl-2.0/cogl-sections.txt |   14 ++
 doc/reference/cogl/Makefile.am           |    1 +
 doc/reference/cogl/cogl-sections.txt     |   22 ++-
 16 files changed, 541 insertions(+), 551 deletions(-)

commit eb109e6cc09e9024ad5303f02e34bc2de00ad8e7
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon May 16 16:34:48 2011 +0100

    cogl-primitive: Fix some broken changes for removal of NULL terminator
    
    Commit 3c1e83c7 changed uses of arrays of CoglAttributes to take a
    length instead of being NULL terminated. In cogl_primitive_new it was
    still adding the NULL terminator to the array it passes to
    cogl_primitive_new_with_attributes but then it was also including this
    terminator in the count so it would just segfault when it tries to ref
    the NULL pointer. Also _cogl_primitive_new_with_attributes_unref was
    still trying to detect the NULL terminator so it would also crash.

 cogl/cogl-primitive.c |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)

commit f23a387359fd6634169383ca4555813f2464780b
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon May 16 17:28:55 2011 +0100

    pango: ensure g-ir-compiler can find Cogl-1.0.gir
    
    This uses INTROSPECTION_COMPILER_ARGS to pass
    --includedir=$(top_builddir)/cogl so when building the CoglPango typelib
    the compiler can find the required Cogl-1.0.gir file.

 cogl-pango/Makefile.am |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit 47da69cc3ebaa68a826491c6f8235d60102523b0
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon May 16 16:21:35 2011 +0100

    doc: fix the name of the cogl_quaternion_equal args

 cogl/cogl-quaternion.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit a466dc272b28f8caaad4de369b57e37481415064
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon May 16 15:41:25 2011 +0100

    Don't include cogl-pango.h when scanning introspection data
    
    cogl/cogl-pango.h can't be included unless the include directory for
    Pango is given in the compiler flags. In an application, it is
    expected that if they are using this header then they would pull in
    cogl-pango-1.0.pc which would provide this. However when building Cogl
    itself we might be building without Pango support so the Makefile
    can't rely on PANGO_CFLAGS. This was breaking building the
    introspection data because cogl-pango.h was listed as one of the files
    to scan but it can't be included.

 cogl/Makefile.am |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 3c1e83c7f5df6e41aa9b2b0eec8df76af93ea0b0
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Mar 3 01:02:12 2011 +0000

    Don't pass around NULL terminated CoglAttribute arrays
    
    For the first iteration of the CoglAttribute API several of the new
    functions accepted a pointer to a NULL terminated list of CoglAttribute
    pointers - probably as a way to reduce the number of arguments required.
    This style isn't consistent with existing Cogl APIs though and so we now
    explicitly pass n_attributes arguments and don't require the NULL
    termination.

 cogl/cogl-attribute-private.h |   24 ++++---
 cogl/cogl-attribute.c         |  136 ++++++++++++++++++++++-------------------
 cogl/cogl-attribute.h         |   28 +++++----
 cogl/cogl-journal.c           |   43 +++++++------
 cogl/cogl-primitive.c         |  118 +++++++++++++++++++-----------------
 cogl/cogl-primitive.h         |   11 ++--
 cogl/cogl-primitives.c        |   28 ++++----
 cogl/cogl-vertex-buffer.c     |    6 +-
 cogl/cogl2-path.c             |   28 ++++-----
 9 files changed, 222 insertions(+), 200 deletions(-)

commit bf7653ac93e0797a1b3378f0259a00c730560b20
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Mar 2 23:31:19 2011 +0000

    Rename CoglIndexArray to CoglIndexBuffer
    
    This is part of a broader cleanup of some of the experimental Cogl API.
    One of the reasons for this particular rename is to switch away from
    using the term "Array" which implies a regular, indexable layout which
    isn't the case. We also want to strongly imply a relationship between
    CoglBuffers and CoglIndexBuffers and be consistent with the
    CoglAttributeBuffer and CoglPixelBuffer APIs.

 cogl/Makefile.am                 |    6 +-
 cogl/cogl-attribute.c            |   24 ++++----
 cogl/cogl-buffer-private.h       |    4 +-
 cogl/cogl-buffer.c               |    2 +-
 cogl/cogl-index-array-private.h  |   39 -----------
 cogl/cogl-index-array.c          |  132 --------------------------------------
 cogl/cogl-index-array.h          |   79 -----------------------
 cogl/cogl-index-buffer-private.h |   38 +++++++++++
 cogl/cogl-index-buffer.c         |  117 +++++++++++++++++++++++++++++++++
 cogl/cogl-index-buffer.h         |   79 +++++++++++++++++++++++
 cogl/cogl-indices-private.h      |    4 +-
 cogl/cogl-indices.c              |   34 +++++-----
 cogl/cogl-indices.h              |   14 ++--
 cogl/cogl.h                      |    2 +-
 doc/reference/cogl/Makefile.am   |    2 +-
 15 files changed, 280 insertions(+), 296 deletions(-)

commit c328e0608ff7c92b39524dfd3efa3e858b7260e0
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Mar 2 15:19:57 2011 +0000

    Rename CoglPixelArray to CoglPixelBuffer
    
    This is part of a broader cleanup of some of the experimental Cogl API.
    One of the reasons for this particular rename is to switch away from
    using the term "Array" which implies a regular, indexable layout which
    isn't the case. We also want to strongly imply a relationship between
    CoglBuffers and CoglPixelBuffers and be consistent with the
    CoglAttributeBuffer and CoglIndexBuffer APIs.

 cogl/Makefile.am                 |    6 +-
 cogl/cogl-buffer.c               |    2 +-
 cogl/cogl-index-array.c          |    2 +-
 cogl/cogl-pixel-array-private.h  |   55 --------------
 cogl/cogl-pixel-array.c          |  148 --------------------------------------
 cogl/cogl-pixel-array.h          |  131 ---------------------------------
 cogl/cogl-pixel-buffer-private.h |   55 ++++++++++++++
 cogl/cogl-pixel-buffer.c         |  148 ++++++++++++++++++++++++++++++++++++++
 cogl/cogl-pixel-buffer.h         |  131 +++++++++++++++++++++++++++++++++
 cogl/cogl-texture.c              |   14 ++--
 cogl/cogl.h                      |    2 +-
 doc/reference/cogl/Makefile.am   |    2 +-
 12 files changed, 348 insertions(+), 348 deletions(-)

commit ce7c06dc039189f8d7ebe971864bf3d109fa6324
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Mar 2 15:01:41 2011 +0000

    Rename CoglVertexArray to CoglAttributeBuffer
    
    This is part of a broader cleanup of some of the experimental Cogl API.
    One of the reasons for this particular rename is to switch away from
    using the term "Array" which implies a regular, indexable layout which
    isn't the case. We also want to have a strongly implied relationship
    between CoglAttributes and CoglAttributeBuffers.

 cogl/Makefile.am                     |    6 +-
 cogl/cogl-attribute-buffer-private.h |   38 ++++++++++++
 cogl/cogl-attribute-buffer.c         |   77 +++++++++++++++++++++++
 cogl/cogl-attribute-buffer.h         |   82 +++++++++++++++++++++++++
 cogl/cogl-attribute-private.h        |    2 +-
 cogl/cogl-attribute.c                |   49 ++++++++-------
 cogl/cogl-attribute.h                |   11 ++--
 cogl/cogl-buffer-private.h           |    4 +-
 cogl/cogl-buffer.c                   |    2 +-
 cogl/cogl-index-array.c              |    7 +-
 cogl/cogl-journal.c                  |   32 +++++-----
 cogl/cogl-path-private.h             |   10 ++--
 cogl/cogl-primitive-private.h        |    2 +-
 cogl/cogl-primitive.c                |   80 ++++++++++++------------
 cogl/cogl-primitive.h                |   16 +++---
 cogl/cogl-primitives.c               |   21 +++---
 cogl/cogl-vertex-array-private.h     |   39 ------------
 cogl/cogl-vertex-array.c             |   77 -----------------------
 cogl/cogl-vertex-array.h             |   82 -------------------------
 cogl/cogl-vertex-buffer-private.h    |    4 +-
 cogl/cogl-vertex-buffer.c            |   41 ++++++------
 cogl/cogl.h                          |    2 +-
 cogl/cogl2-path.c                    |  112 +++++++++++++++++-----------------
 23 files changed, 401 insertions(+), 395 deletions(-)

commit 2da24ab86301ff75670beb4150b56d9339e590d1
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri May 13 17:30:08 2011 +0100

    Add compile time checks for size of public structs
    
    To help catch accidental changes to the size of public structs that can
    be allocated on the stack this patch adds compile time checks that our
    struct sizes haven't changed.

 cogl/cogl-euler.h      |    1 +
 cogl/cogl-matrix.h     |    1 +
 cogl/cogl-quaternion.h |    1 +
 cogl/cogl-types.h      |   12 ++++++++++++
 4 files changed, 15 insertions(+), 0 deletions(-)

commit df1915d95735f4d13489f955235f5e532161494a
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Feb 25 01:40:29 2010 +0000

    math: Adds an experimental euler API
    
    This adds an experimental CoglEuler data type and the following new
    functions:
    
        cogl_euler_init
        cogl_euler_init_from_matrix
        cogl_euler_init_from_quaternion
        cogl_euler_equal
        cogl_euler_copy
        cogl_euler_free
        cogl_quaternion_init_from_euler
    
    Since this is experimental API you need to define
    COGL_ENABLE_EXPERIMENTAL_API before including cogl.h

 cogl/Makefile.am                         |    2 +
 cogl/cogl-euler.c                        |  183 ++++++++++++++++++++++
 cogl/cogl-euler.h                        |  252 ++++++++++++++++++++++++++++++
 cogl/cogl-quaternion.c                   |   37 +++++
 cogl/cogl-quaternion.h                   |    6 +
 cogl/cogl-types.h                        |    8 +
 cogl/cogl.h                              |    1 +
 doc/reference/cogl-2.0/cogl-sections.txt |   11 ++
 doc/reference/cogl/cogl-sections.txt     |   12 ++
 9 files changed, 512 insertions(+), 0 deletions(-)

commit d1434d1c335755955c41df0366478986e81ad650
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Feb 25 01:40:29 2010 +0000

    math: Adds an experimental quaternion API
    
    This adds an experimental quaternion utility API. It's not yet fully
    documented but it's complete enough that people can start to experiment
    with using it. It adds the following functions:
    
        cogl_quaternion_init_identity
        cogl_quaternion_init
        cogl_quaternion_init_from_angle_vector
        cogl_quaternion_init_from_array
        cogl_quaternion_init_from_x_rotation
        cogl_quaternion_init_from_y_rotation
        cogl_quaternion_init_from_z_rotation
        cogl_quaternion_equal
        cogl_quaternion_copy
        cogl_quaternion_free
        cogl_quaternion_get_rotation_angle
        cogl_quaternion_get_rotation_axis
        cogl_quaternion_normalize
        cogl_quaternion_dot_product
        cogl_quaternion_invert
        cogl_quaternion_multiply
        cogl_quaternion_pow
        cogl_quaternion_slerp
        cogl_quaternion_nlerp
        cogl_quaternion_squad
        cogl_get_static_identity_quaternion
        cogl_get_static_zero_quaternion
    
    Since it's experimental API you'll need to define
    COGL_ENABLE_EXPERIMENTAL_API before including cogl.h.

 cogl/Makefile.am                         |    2 +
 cogl/cogl-matrix-mesa.c                  |   38 ++
 cogl/cogl-matrix-mesa.h                  |    5 +
 cogl/cogl-matrix.c                       |    9 +
 cogl/cogl-matrix.h                       |   21 +-
 cogl/cogl-quaternion-private.h           |   39 ++
 cogl/cogl-quaternion.c                   |  617 ++++++++++++++++++++++++++++++
 cogl/cogl-quaternion.h                   |  486 +++++++++++++++++++++++
 cogl/cogl-types.h                        |    4 +
 cogl/cogl.h                              |    1 +
 doc/reference/cogl-2.0/cogl-docs.xml.in  |    1 +
 doc/reference/cogl-2.0/cogl-sections.txt |   28 ++
 doc/reference/cogl/cogl-docs.xml.in      |    1 +
 doc/reference/cogl/cogl-sections.txt     |   28 ++
 14 files changed, 1278 insertions(+), 2 deletions(-)

commit b316241612c43b24867c0be6c77b70087ead72be
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed May 11 17:21:07 2011 +0100

    deprecate #include <cogl/cogl-pango.h>
    
    cogl-pango is conceptually a separate library so it doesn't seem
    appropriate to bundle the headers with all the other cogl headers. Also
    in-tree the headers live in a cogl-pango directory so if we want
    examples that can include cogl-pango consistently when built in or out
    of tree using the convention #include <cogl-pango/cogl-pango.h> makes
    that easy.
    
    This adds a compatibility cogl/cogl-pango.h header that's will redirect
    to cogl-pango/cogl-pango.h with a warning, or result in an error if
    COGL_ENABLE_EXPERIMENTAL_2_0_API is defined.

 cogl-pango/Makefile.am |    4 ++--
 cogl/Makefile.am       |    1 +
 cogl/cogl-pango.h      |   33 +++++++++++++++++++++++++++++++++
 3 files changed, 36 insertions(+), 2 deletions(-)

commit a789107860d7d70138219dc4dc679e564fcf0f92
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Thu May 12 11:43:27 2011 +0100

    build: Only allow GLX when finding the x11 pc file
    
    You can refine earlier the ALLOW_GLX variable when enabling OpenGL builds:
    No x11.pc? no GLX!

 configure.ac |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit 0da07b4e3de41f268301f8759b699ae132a0dc71
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Thu May 12 12:59:22 2011 +0100

    build: Fix gtkdocize as it needs to parse the GTK_DOC_CHECK line

 configure.ac |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

commit 5ad1869a3df2fdd2d487bb46fc40a275676672eb
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Thu May 12 11:11:07 2011 +0100

    gitignore: Ignore *.exe files

 .gitignore |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit dc5d3785f6f0f00f39b25285d9c54f17582e4063
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Thu May 12 11:07:30 2011 +0100

    build: Allow to compile a git checkout without gtk-doc
    
    Gtk-doc can be hard to install on Windows. This patch enables people wanting to
    hack on Cogl itself from a Windows system to do so without the hassle to get
    gtk-doc installed first.

 autogen.sh                         |   13 +++++++------
 configure.ac                       |    3 ++-
 doc/reference/cogl-2.0/Makefile.am |    3 ++-
 doc/reference/cogl/Makefile.am     |    3 ++-
 4 files changed, 13 insertions(+), 9 deletions(-)

commit 1127ab61a1c0020823bdd5a394ea35d5b181425e
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed May 11 16:51:10 2011 +0100

    don't add -Wshadow to MAINTAINER_CFLAGS
    
    The semantics of shadowing global variables is well defined and it gets
    quite annoying to avoid them completely since there are too many
    standard APIs with very poor namespacing.

 configure.ac |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 89e46a472ffcb48a78ba5ab0ee77812299c9275f
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed May 11 14:11:31 2011 +0100

    framebuffer: check we have a draw/read_buffer before freeing
    
    When freeing a framebuffer stack it's possible to have entries with NULL
    draw or read buffers so we should check that before calling
    cogl_onscreen/offscreen_free. This fixes a crash with the wayland
    backend when running conformance tests such as cogl-test-object which
    never push a framebuffer.

 cogl/cogl-framebuffer.c |   22 ++++++++++++++--------
 1 files changed, 14 insertions(+), 8 deletions(-)

commit 2282455f27341fb4074144e5ff830d7aa02f0cb6
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed May 11 14:07:02 2011 +0100

    wayland: Allow setting foreign display/compositor
    
    To support toolkits targeting wayland and using Cogl we allow toolkits
    to be responsible for connecting to a wayland display and asking Cogl to
    use the toolkit owned display and compositor object. Note: eventually
    the plan is that wayland will allow retrospective querying of objects so
    we won't need the foreign compositor API when Cogl can simply query it
    from the foreign display.

 cogl/cogl-framebuffer.h       |    9 +++++
 cogl/cogl-renderer.h          |   16 ++++----
 cogl/winsys/cogl-winsys-egl.c |   76 +++++++++++++++++++++++++++++++++++++++++
 3 files changed, 93 insertions(+), 8 deletions(-)

commit 653d59af04326bf987c32623e86225a97f4c72d7
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue May 10 22:28:13 2011 +0100

    Explicitly set EGL_PLATFORM=wayland for wayland winsys
    
    The EGL API doesn't provide for a way to explicitly select a platform
    when the driver can support multiple. Mesa allows selection using an
    EGL_PLATFORM environment variable though so we set that to "wayland"
    when we know that's what we want.

 cogl/winsys/cogl-winsys-egl.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

commit a54aa40dbef26455bbab9fddb84c737fac3ac8d2
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed May 11 16:39:10 2011 +0100

    don't call cogl_set_default_context in hello.c
    
    Actually calling cogl_set_default_context isn't required because
    cogl_context_new implicitly sets the new context to be the default
    context. Since we want to eventually get rid of the concept of a default
    context we'd rather not pollute the example with the concept.

 examples/hello.c |    3 ---
 1 files changed, 0 insertions(+), 3 deletions(-)

commit 442d4586b721afc404354de654ed53e9cca093a4
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed May 11 15:20:59 2011 +0100

    win32: Use the right macro name for COGL_HAS_WIN32_SUPPORT
    
    Some places were using COGL_HAS_WIN32 but the only macro defined is
    COGL_HAS_WIN32_SUPPORT. The similar macros such as COGL_HAS_XLIB are
    only defined for compatibility with existing code but COGL_HAS_WIN32
    was never defined so there's no need to support it.
    
    One of the places was including the non-existant cogl-win32.h. This
    has been removed because the file only temporarily existed during
    development of the backend.

 cogl/cogl-framebuffer.h |    4 ++--
 cogl/cogl.h             |    3 ---
 2 files changed, 2 insertions(+), 5 deletions(-)

commit a075f4498b3c49d7a349bec09758af2c2be67aaf
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed May 11 13:50:32 2011 +0100

    cogl-pipeline-fragend-arbfp: Fix the comparison for dot3 arguments
    
    There was a typo in fragend_arbfp_args_equal so that it wasn't
    comparing the constants correctly.
    
    Thomas Wood found this bug with static analysis.

 cogl/cogl-pipeline-fragend-arbfp.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit cdfad9cdbe65ec9fcf92ff70ef8ecdd2732a627e
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed May 11 13:43:02 2011 +0100

    cogl-vertex-buffer: Fix the size of the array of attribute pointers
    
    In update_primitive_attributes it tries to fill in an array of
    pointers with a NULL terminator. However it was only allocating enough
    space for a pointer for each of the attributes plus one byte instead
    of plus enough bytes for another pointer.
    
    Thomas Wood found this bug with static analysis.

 cogl/cogl-vertex-buffer.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 463603f1a09d3eabe68b69659a4f7e10840515e1
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue May 10 20:23:39 2011 +0100

    cogl-winsys: Fix freeing a CoglOnscreen
    
    All of the winsys backends didn't handle cleaning up the CoglOnscreen
    properly so that they would assert in cogl_onscreen_free because the
    winsys pointer is never freed. They also didn't cope if deinit is
    called before init (which will be the case if an onscreen is created
    and freed without being allocated).

 cogl/winsys/cogl-winsys-egl.c |    7 +++++++
 cogl/winsys/cogl-winsys-glx.c |    7 +++++++
 cogl/winsys/cogl-winsys-wgl.c |    7 +++++++
 3 files changed, 21 insertions(+), 0 deletions(-)

commit 6654533e40da87858d5f73f6db594f37a1abbce2
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue May 10 19:53:00 2011 +0100

    cogl-winsys-wgl: Plug leak on error from SetPixelFormat
    
    When SetPixelFormat fails, the DC would get released but none of the
    other resources would be freed. This patch makes it call
    _cogl_winsys_onscreen_deinit on failure to clean up all of the
    resources. The patch looks big because it moves the onscreen_deinit
    and onscreen_bind functions.

 cogl/winsys/cogl-winsys-wgl.c |  133 +++++++++++++++++++++--------------------
 1 files changed, 69 insertions(+), 64 deletions(-)

commit 6788c803420e6c26616d2ce202f082c0b9841b02
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon May 9 17:48:50 2011 +0100

    Add a WGL winsys
    
    This adds a full winsys to handle WGL and Win32.

 cogl/Makefile.am                                |    5 +
 cogl/cogl-framebuffer-private.h                 |    8 +
 cogl/cogl-framebuffer.c                         |   29 +
 cogl/cogl-framebuffer.h                         |   15 +
 cogl/cogl-renderer.c                            |    8 +-
 cogl/cogl.h                                     |    3 +
 cogl/winsys/cogl-winsys-private.h               |    5 +
 cogl/winsys/cogl-winsys-wgl-feature-functions.h |   38 +
 cogl/winsys/cogl-winsys-wgl.c                   |  838 +++++++++++++++++++++++
 configure.ac                                    |   26 +
 10 files changed, 974 insertions(+), 1 deletions(-)

commit 14d1303259e5deee7004d9f228cbab98a04214d0
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue May 10 13:51:41 2011 +0100

    cogl-winsys: Explicitly comment which vfuncs are optional
    
    Some of the virtual functions in CoglWinsysVtable only need to be
    implemented for specific backends or when a specific feature is
    advertised. This splits the vtable struct into two commented sections
    marking which are optional and which are required. Wherever an
    optional function is used there is now a g_return_if_fail to ensure
    there is an implementation.

 cogl/cogl-clutter.c               |    3 +++
 cogl/cogl-context.c               |    4 ++++
 cogl/cogl-framebuffer.c           |   27 +++++++++++++++++++++++++--
 cogl/winsys/cogl-winsys-egl.c     |   20 --------------------
 cogl/winsys/cogl-winsys-private.h |   36 ++++++++++++++++++++----------------
 5 files changed, 52 insertions(+), 38 deletions(-)

commit 614efb190b3d4a9de51c1927ac8a45f317ee4345
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue May 10 13:45:15 2011 +0100

    cogl-winsys: Remove the get_vsync_counter virtual
    
    This function is only used internally within the GLX winsys so there
    doesn't seem to be much point in it being a virtual winsys backend
    function.

 cogl/winsys/cogl-winsys-egl.c     |    8 --------
 cogl/winsys/cogl-winsys-glx.c     |    1 -
 cogl/winsys/cogl-winsys-private.h |    3 ---
 3 files changed, 0 insertions(+), 12 deletions(-)

commit f2a37b27f902bdc26f20bb7e0e9952cabe747bcf
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue May 10 13:14:48 2011 +0100

    CoglWinsysVtable: Remove 'has_feature'
    
    This virtual function is no longer used or defined anywhere since the
    function was moved to the common backend code in 16bfa27d43.

 cogl/winsys/cogl-winsys-private.h |    3 ---
 1 files changed, 0 insertions(+), 3 deletions(-)

commit e8b83f2880f4837d3e5138b12431e24845ccef84
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Mar 17 19:31:34 2011 +0000

    Adds wayland support to the cogl EGL winsys
    
    Wayland now supports integration via standard eglSurfaces which makes it
    possible to share more code with other EGL platforms. (though at some
    point cogl-winsys-egl.c really needs to gain a more formal
    CoglEGLPlatform abstraction so we can rein back on the amount of #ifdefs
    we have.)

 cogl/Makefile.am              |    4 +
 cogl/cogl-renderer-private.h  |    8 ++
 cogl/cogl-renderer.h          |   28 ++++
 cogl/winsys/cogl-winsys-egl.c |  281 ++++++++++++++++++++++++++++++++++++++---
 configure.ac                  |   25 ++++
 5 files changed, 329 insertions(+), 17 deletions(-)

commit 4b6169267ca39764a3ce267e8c8064ca5818247c
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue May 10 16:22:34 2011 +0100

    winsys-egl: fix typo in _cogl_winsys_onscreen_init
    
    We were trying to set attr.event_mask instead of xattr.event mask which
    was causing a compilation error.

 cogl/winsys/cogl-winsys-egl.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit ef6097925866812c34f459aa100f1701e02aa71e
Author: Robert Bragg <robert@linux.intel.com>
Date:   Sun May 8 23:23:44 2011 +0100

    Adds experimental cogl 2.0 reference
    
    This pulls in the experimental cogl 2.0 reference manual from the
    clutter repository since it wasn't included in the filter-branch when we
    split cogl out.

 configure.ac                                      |    2 +
 doc/reference/Makefile.am                         |    2 +-
 doc/reference/cogl-2.0/Makefile.am                |  154 +++++++
 doc/reference/cogl-2.0/blend-strings.xml          |  129 ++++++
 doc/reference/cogl-2.0/cogl-docs.xml.in           |  195 +++++++++
 doc/reference/cogl-2.0/cogl-sections.txt          |  484 +++++++++++++++++++++
 doc/reference/cogl-2.0/cogl_ortho.png             |  Bin 0 -> 12650 bytes
 doc/reference/cogl-2.0/fill-rule-even-odd.png     |  Bin 0 -> 3121 bytes
 doc/reference/cogl-2.0/fill-rule-non-zero.png     |  Bin 0 -> 3143 bytes
 doc/reference/cogl-2.0/quad-indices-order.png     |  Bin 0 -> 2620 bytes
 doc/reference/cogl-2.0/quad-indices-triangles.png |  Bin 0 -> 8018 bytes
 11 files changed, 965 insertions(+), 1 deletions(-)

commit e6c98ae6ae1044c2cc9a420f55fce52655bef8d3
Author: Piotr Drąg <piotrdrag@gmail.com>
Date:   Sun May 8 21:31:46 2011 +0200

    Updated Polish translation

 po/pl.po |   39 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 39 insertions(+), 0 deletions(-)

commit 39943228f015b45861bfc885ca8394f05c78ed2a
Author: Piotr Drąg <piotrdrag@gmail.com>
Date:   Sun May 8 21:27:37 2011 +0200

    Updated POTFILES.in

 po/POTFILES.in |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit ed97d871dfb4d01d5a39c83408dd5f2d8c5b7384
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Fri May 6 18:34:36 2011 +0100

    build: Distribute CODING_STYLE

 doc/Makefile.am |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit c310dbbc722c5de412dff71dcc55649db6379683
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Fri May 6 18:21:00 2011 +0100

    build: Make sure to build examples, doc and po last
    
    It seems more natural to compile examples after optional libraries as
    you could have an example illustrating one of those libraries.
    
    Build the docs and po files at the end too, trying to group the
    compilation of C files together.

 Makefile.am |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

commit d093c1b38996bf6a3a71936ad64cc571baeec8fb
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri May 6 18:29:38 2011 +0100

    cogl-pango-render: Add the atlas reorg callback to the right cache
    
    When creating a new display list the pango renderer tries to add a
    callback to the glyph cache so that it can be notified whenever the
    atlas is reorganized. However it was always registering the callback
    for the glyph cache which doesn't use mipmapping so if mipmapping is
    enabled then it wouldn't work correctly.
    
    This patch moves the two sets of caches (pipeline cache and glyph
    cache) into one struct so that it's a little bit easier to determine
    which pair to use in the code.

 cogl-pango/cogl-pango-render.c |   87 ++++++++++++++++++++++-----------------
 1 files changed, 49 insertions(+), 38 deletions(-)

commit 0bd87220b31c0631f204d464cb1569e7ed36a5f2
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri May 6 18:23:04 2011 +0100

    cogl-pango/Makefile.am: Add $(top_builddir) to INCLUDES
    
    Some of the sources need to include <cogl/cogl-defines.h> which is in
    the build directory. I think this directory gets added to the include
    flags anyway by something so the actual building works but when
    building the introspection data out of tree it was not included so it
    failed to scan.

 cogl-pango/Makefile.am |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit 8d4a6f4d4c9db2b3dfcb8460cd7a318d812ab6a4
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Fri May 6 17:59:00 2011 +0100

    build: Enable building the documentation again
    
    At least the 1.6.0 documentation. The 2.0 one has been missed by the
    filter-branch and will be re-added later.

 Makefile.am                         |    2 +-
 configure.ac                        |    7 ++++++-
 doc/Makefile.am                     |    7 +++++++
 doc/reference/Makefile.am           |    1 +
 doc/reference/cogl/Makefile.am      |   12 ++++++------
 doc/reference/cogl/cogl-docs.xml.in |    2 +-
 6 files changed, 22 insertions(+), 9 deletions(-)

commit 3919f3e97eca078e6bdbbeb1e45886de161d839e
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri May 6 17:21:30 2011 +0100

    configure.ac: Add the check for the ffs function
    
    When Cogl was sharing Clutter's configure script, it had a check for
    the ffs function of libc so that it can provide a fallback if it is
    not available. This fallback was missed in the split out so Cogl would
    end up always using the fallback.

 configure.ac |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

commit 0d5b38c8bfdd80f72a251ddfc9ffdf8899eb8c57
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri May 6 17:34:49 2011 +0100

    build: Don't make cogl-pango-1.0 depend on cogl-2.0

 cogl-pango/cogl-pango-1.0.pc.in |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 800954e3391d6a9031514fcfd8b2520293634125
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri May 6 17:14:17 2011 +0100

    po: Fix xgettext complaining about a missing bug address

 po/Makevars |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 5c131e61e5cc3a292700710d9c0d76628ad43213
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri May 6 17:13:56 2011 +0100

    build: Generate CoglPango introspection data

 cogl-pango/Makefile.am |   51 +++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 46 insertions(+), 5 deletions(-)

commit 62b7ea59729e83605e685aeb4e9da0fd190431d5
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Fri May 6 17:10:42 2011 +0100

    build: Fix make distcheck
    
    Some header files were split but never included in the list of source
    files and thus not distributed.

 cogl/Makefile.am |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

commit 48c9157e97a49a2a1b469fe820cff2ad3c8ab4cb
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri May 6 16:53:43 2011 +0100

    build: Compile the introspection data
    
    The compilation step for the introspection data was missing.

 cogl/Makefile.am |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

commit f02ec9fc46e9ee5a64c53cd649e43c19fe771330
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Fri May 6 16:23:13 2011 +0100

    gitignore: Update .gitignore to make git status silent again

 .gitignore |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

commit 8b4ee0964bdadf0b89a79f3fa0cd9d303b142c0b
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri May 6 12:36:39 2011 +0100

    Remove all the options for building cogl standalone
    
    This removes all the remnants from being able to build Cogl standalone
    while it was part of the Clutter repository. Now that Cogl has been
    split out then standalone builds are the only option.

 Makefile.am                 |    6 +-----
 cogl-pango/Makefile.am      |   18 ------------------
 cogl/Makefile.am            |   26 --------------------------
 cogl/cogl-1.0-clutter.pc.in |   17 -----------------
 configure.ac                |    2 --
 5 files changed, 1 insertions(+), 68 deletions(-)

commit 102d174a2a22070a6fceec1ce880d3535bd21aef
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri May 6 12:26:15 2011 +0100

    Adds an initial README to the repo

 Makefile.am  |    2 +
 README.in    |  154 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 configure.ac |    1 +
 3 files changed, 157 insertions(+), 0 deletions(-)

commit bf4c64e1903f2cdbc511f96e040a8b9d8bf4b324
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri May 6 11:01:38 2011 +0100

    Adds an initial .gitignore
    
    This adds a .gitignore file to the top of the repo

 .gitignore |   85 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 85 insertions(+), 0 deletions(-)

commit 00e157e8c94117595c525d8fdf45dc5a75781326
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu May 5 22:37:57 2011 +0100

    Adds an initial cogl.doap file
    
    This adds an initial doap file for Cogl.

 cogl.doap |   46 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 46 insertions(+), 0 deletions(-)

commit 6f2193545ef67db60fc7e7ab1548a82e5a8b8348
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu May 5 22:04:07 2011 +0100

    consistently refer to cogl-pango as "cogl-pango"
    
    This renames the pango directory to cogl-pango and it renames the
    installed library to libcogl-pango instead of libcoglpango.

 Makefile.am                            |    2 +-
 cogl-pango/Makefile.am                 |   64 +++
 cogl-pango/cogl-pango-1.0.pc.in        |   13 +
 cogl-pango/cogl-pango-display-list.c   |  444 +++++++++++++++++
 cogl-pango/cogl-pango-display-list.h   |   69 +++
 cogl-pango/cogl-pango-fontmap.c        |  209 ++++++++
 cogl-pango/cogl-pango-glyph-cache.c    |  414 ++++++++++++++++
 cogl-pango/cogl-pango-glyph-cache.h    |   93 ++++
 cogl-pango/cogl-pango-pipeline-cache.c |  238 +++++++++
 cogl-pango/cogl-pango-pipeline-cache.h |   53 ++
 cogl-pango/cogl-pango-private.h        |   38 ++
 cogl-pango/cogl-pango-render.c         |  836 ++++++++++++++++++++++++++++++++
 cogl-pango/cogl-pango.h                |   85 ++++
 cogl-pango/cogl-pango.pc.in            |   13 +
 cogl/Makefile.am                       |    2 +-
 configure.ac                           |    6 +-
 examples/Makefile.am                   |    3 +-
 pango/Makefile.am                      |   64 ---
 pango/cogl-pango-1.0.pc.in             |   13 -
 pango/cogl-pango-display-list.c        |  444 -----------------
 pango/cogl-pango-display-list.h        |   69 ---
 pango/cogl-pango-fontmap.c             |  209 --------
 pango/cogl-pango-glyph-cache.c         |  414 ----------------
 pango/cogl-pango-glyph-cache.h         |   93 ----
 pango/cogl-pango-pipeline-cache.c      |  238 ---------
 pango/cogl-pango-pipeline-cache.h      |   53 --
 pango/cogl-pango-private.h             |   38 --
 pango/cogl-pango-render.c              |  836 --------------------------------
 pango/cogl-pango.h                     |   85 ----
 pango/cogl-pango.pc.in                 |   13 -
 30 files changed, 2575 insertions(+), 2576 deletions(-)

commit fbda52d21b66c517252c4989659f8ff297ae4702
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu May 5 21:52:40 2011 +0100

    Give cogl-pango it's own pkg-config file
    
    We now install cogl-pango-1.0 and cogl-pango-2.0 pkg-config files that
    applications should optionally depend on if they want to use the
    cogl_pango API.

 cogl/cogl-1.0-clutter.pc.in |    2 +-
 cogl/cogl-1.0.pc.in         |    2 +-
 configure.ac                |    2 ++
 pango/Makefile.am           |    8 ++++++++
 pango/cogl-pango-1.0.pc.in  |   13 +++++++++++++
 pango/cogl-pango.pc.in      |   13 +++++++++++++
 6 files changed, 38 insertions(+), 2 deletions(-)

commit 4211462eb246aa423496a84b36a27605111bf0eb
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu May 5 21:39:40 2011 +0100

    Make building cogl-pango optional
    
    When building for platforms that don't use pango for handling text
    you may not need the cogl-pango library.

 Makefile.am  |    6 +++++-
 configure.ac |   21 ++++++++++++++++++++-
 2 files changed, 25 insertions(+), 2 deletions(-)

commit b6ebbc366e5570366a6037fc47ff727672cb9fe9
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu May 5 21:27:11 2011 +0100

    Adds a COPYING file
    
    This adds a COPYFILE detailing the LGPL v2.1

 COPYING |  504 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 504 insertions(+), 0 deletions(-)

commit a7541e0911c85d683f80b8aeb2f5bbe36152f265
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu May 5 21:20:47 2011 +0100

    Adds mingw dependency fetching script
    
    This adds a script to simplify fetching the dependencies for
    cross-compiling Cogl for windows using a mingw gcc compiler.

 build/mingw/Makefile.am                 |    1 +
 build/mingw/README                      |    5 +
 build/mingw/mingw-fetch-dependencies.sh |  336 +++++++++++++++++++++++++++++++
 3 files changed, 342 insertions(+), 0 deletions(-)

commit 680c173947c5ff001b9fa780b39b39c21a31c884
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu May 5 20:41:01 2011 +0100

    framebuffer: in onscreen_x11_get_xid return foreign xids
    
    If a foreign xid has been set on a CoglOnscreen then
    cogl_onscreen_x11_get_window_xid doesn't need to defer to the winsys to
    get the underlying window xid. This also means it's possible to read
    back the xid before the framebuffer is allocated which fixes a crash in
    the x11-foreign example app.

 cogl/cogl-framebuffer.c |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

commit ccd0079b57bee5aa0da0f6a9f4b48561bb9b6264
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu May 5 20:38:13 2011 +0100

    fix a /XDisplay/Display/ typo in x11-foreign.c
    
    This removes a spurious X prefix that was causing a compilation error.

 examples/x11-foreign.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 3a4d0a735b6a14f0cd05db30c81eb9cabb824d28
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu May 5 20:34:54 2011 +0100

    Export some private symbols from libcogl for coglpango
    
    Ideally we wouldn't have any private symbols exported, but for now there
    are some APIs that coglpango needs access to that aren't public so we
    have ensure they are exported. The aim is to get rid of this need at
    some point.

 cogl/Makefile.am |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 14ed963b050c93c2cad8668290dfb6014cea06e8
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Mar 30 16:39:38 2011 +0100

    cogl-debug: Add an option to disable atlasing sharing
    
    If COGL_DEBUG contains disable-shared-atlas Cogl will not try to share
    the atlas between glyphs and images.

 cogl/cogl-debug-options.h      |    6 ++++++
 cogl/cogl-debug.c              |    1 +
 cogl/cogl-debug.h              |    1 +
 pango/cogl-pango-glyph-cache.c |    3 +++
 4 files changed, 11 insertions(+), 0 deletions(-)

commit 184527580e38c0227db87011fb38a1b830719fb4
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Mar 30 16:33:04 2011 +0100

    cogl_pipeline_equal: Handle COGL_WRAP_MODE_AUTOMATIC better
    
    When comparing the wrap modes of two pipeline layers it now considers
    COGL_WRAP_MODE_AUTOMATIC to be equivalent to CLAMP_TO_EDGE. By the
    time the pipeline is in the journal, the upper primitive code is
    expected to have overridden this wrap mode with something else if it
    wants any other behaviour. This is important for getting text to batch
    together with textures because the text explicitly sets the wrap mode
    to CLAMP_TO_EDGE on its pipeline.

 cogl/cogl-pipeline.c |   29 ++++++++++++++++++++++++++---
 1 files changed, 26 insertions(+), 3 deletions(-)

commit 66c54e04de83b7a5333f9bc1930598a494ac6236
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Feb 26 13:01:54 2010 +0000

    cogl-pango: Don't set the special combine function for atlased textures
    
    The material cache will now only set the special combine mode if the
    texture only has an alpha component. The atlased textures will have
    all four components so it will leave the combine functions at the
    default. This increases the chances of batching between glyphs and
    images.
    
    When using the global atlas, the glyph from cairo is now rendered into
    an ARGB surface rather than an alpha-only surface.

 pango/cogl-pango-pipeline-cache.c |   61 ++++++++++++++++++++++++++----------
 pango/cogl-pango-render.c         |   28 ++++++++++++++++-
 2 files changed, 70 insertions(+), 19 deletions(-)

commit cbf011dcd03f7e0fb385691d99b6ed633d646470
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Feb 26 12:38:22 2010 +0000

    cogl-pango: Use a seperate cache of pipelines
    
    Instead of creating just two materials (one for texturing and one for
    solid primitives) the pango renderer now maintains a cache of
    pipelines. The display list can request a pipeline for a texture from
    the cache. The same pipeline cache is used by all display lists so
    that the pipelines can be shared. This avoids changing the texture on
    the material during a paint run.

 pango/Makefile.am                 |   16 ++--
 pango/cogl-pango-display-list.c   |   68 +++++++-----
 pango/cogl-pango-display-list.h   |    7 +-
 pango/cogl-pango-pipeline-cache.c |  211 +++++++++++++++++++++++++++++++++++++
 pango/cogl-pango-pipeline-cache.h |   53 +++++++++
 pango/cogl-pango-render.c         |   77 ++++----------
 6 files changed, 338 insertions(+), 94 deletions(-)

commit b83069f3b29e61fb8a119cb0fe4aad4e8789f956
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Feb 22 16:40:49 2010 +0000

    cogl-pango-glyph-cache: Don't put zero-sized glyphs in the cache
    
    It now avoids trying to reserve space for zero-sized glyphs. That
    happens for example when the layout contains a space. This was causing
    the regular glyph cache to be used because the global atlas does not
    support zero-sized images. That would then break up the
    batching. Instead it now still reserves an entry in the cache but
    leaves the texture as COGL_INVALID_HANDLE.

 pango/cogl-pango-glyph-cache.c |   39 ++++++++++++++++++++++++---------------
 pango/cogl-pango-render.c      |    7 ++++++-
 2 files changed, 30 insertions(+), 16 deletions(-)

commit f098f8fdec4dfd75700bf5a6abe6dc4fa422504f
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu May 5 16:09:22 2011 +0100

    Revert "cogl-pango-display-list: Don't use VBOs if the texture can't handle it"
    
    This reverts commit 32c91793e46e0625a19c0d2bc98d6cd147dff702.
    
    This commit is no longer needed since the display list will now only
    have primitive textures in it.

 pango/cogl-pango-display-list.c |    6 +-----
 1 files changed, 1 insertions(+), 5 deletions(-)

commit 3f1e0c701e7662bb3aef04b6f50cc3b240bb56ca
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Mar 30 13:48:34 2011 +0100

    cogl-pango-render: Add the base texture to the display list
    
    When rendering a glyph from a texture, instead of adding the glyph's
    texture handle to the display list it now retrieves the base texture
    using _cogl_texture_foreach_subtexture_in_region and adds that
    instead. That way the display can recognise that glyphs in the global
    atlas are sharing the same texture and combine them into one VBO.

 pango/cogl-pango-render.c |   62 +++++++++++++++++++++++++++++++++++++--------
 1 files changed, 51 insertions(+), 11 deletions(-)

commit a7aad27212b2667361d1bdba6d1cc48de8f3aef3
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Mar 30 13:46:46 2011 +0100

    cogl-bitmap-private.h: Include cogl-bitmap.h
    
    There was a header dependency problem which meant that
    cogl-texture-private.h couldn't be included without first including
    cogl-bitmap.h

 cogl/cogl-bitmap-private.h |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 28b0f76cc90045913d617020fba20554c5a0bc5e
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Mar 30 12:56:09 2011 +0100

    cogl-pango-glyph-cache: Notify of reorg for global atlased glyphs
    
    Whenever the glyph cache puts a glyph in the global atlas it will now
    register for notifications of reorganisation of the global
    atlases. When this happens it will forward this on as a notification
    of reorganisation of the glyph cache.

 pango/cogl-pango-glyph-cache.c |   36 ++++++++++++++++++++++++++++--------
 1 files changed, 28 insertions(+), 8 deletions(-)

commit 239614a3752368502c69598a08b0c7ae6b96bb73
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Mar 30 12:53:50 2011 +0100

    cogl-atlas-texture: Add a callback for when any atlas reorganizes
    
    This adds cogl_atlas_texture_* functions to register a callback that
    will get invoked whenever any of the CoglAtlas's the textures use get
    reorganized. The callback is global and is not tied to any particular
    atlas texture.

 cogl/cogl-atlas-texture-private.h |    8 ++++++++
 cogl/cogl-atlas-texture.c         |   36 ++++++++++++++++++++++++++++++++++++
 cogl/cogl-context-private.h       |    1 +
 cogl/cogl-context.c               |    2 ++
 4 files changed, 47 insertions(+), 0 deletions(-)

commit 25c36c452f2dda2bb0ec6e03c137068f84944aef
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Feb 18 17:35:14 2010 +0000

    pango-glyph-cache: Try to put glyphs in the global atlas
    
    If mipmapping is disabled, it will now try to create a standalone
    atlas texture for a glyph rather than putting it in the atlas.
    
    If the atlas texture can't be created then it will fallback to the
    glyph cache.

 pango/cogl-pango-glyph-cache.c |  139 +++++++++++++++++++++++++++++-----------
 1 files changed, 102 insertions(+), 37 deletions(-)

commit c76a4f8e2467645741ecf20bc78ea4ce1de15580
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Feb 18 16:33:12 2010 +0000

    cogl-atlas-texture: Split out new_from_bitmap to new_with_size
    
    This adds a new function called _cogl_atlas_texture_new_with_size. The
    old new_from_bitmap function now just calls this and updates the
    texture with the data.

 cogl/cogl-atlas-texture-private.h |    6 +++
 cogl/cogl-atlas-texture.c         |   81 +++++++++++++++++++++++--------------
 2 files changed, 57 insertions(+), 30 deletions(-)

commit a2d9ad21ef6f4319867700c0940065f1a6974930
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Feb 18 15:04:06 2010 +0000

    cogl-pango-display-list: Don't use VBOs if the texture can't handle it
    
    If the texture can't be hardware repeated (ie, if it is sliced or it
    has waste) then Cogl will reject the layer when rendering with a
    VBO. In this case we should always fall back to rendering with
    cogl_rectangle.
    
    This commit is only needed temporarily because Cogl will end up
    putting atlas textures in the display list. A later commit in the
    series will make it so that the display list always has primitive
    textures in it so this commit can be reverted.

 pango/cogl-pango-display-list.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

commit 12b751a8e1ee5ed533140d1e5ba6c8b473423c75
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Feb 18 14:30:44 2010 +0000

    cogl-pango: Use a separate glyph cache for mipmapped rendering
    
    This reverts the changes in 54d8aadf which combined the two glyph
    caches into one. We want to start using separate caches again so that
    we can non-mipmapped textures into the global atlas.

 pango/cogl-pango-glyph-cache.c |    2 +-
 pango/cogl-pango-glyph-cache.h |    2 +-
 pango/cogl-pango-render.c      |   77 +++++++++++++++++++++++++++------------
 3 files changed, 55 insertions(+), 26 deletions(-)

commit 6c23f27801249095fee3e13fffed1a96e59cb0b5
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed May 4 17:02:04 2011 +0100

    Adds a way for Cogl to control event_mask of foreign wins
    
    This extends cogl_onscreen_x11_set_foreign_xid to take a callback to a
    function that details the event mask the Cogl requires the application
    to select on foreign windows. This is required because Cogl, for
    example, needs to track size changes of a window and may also in the
    future want other notifications such as map/unmap.
    
    Most applications wont need to use the foreign xwindow apis, but those
    that do are required to pass a valid callback and update the event mask
    of their window according to Cogl's requirements.

 cogl/cogl-framebuffer-private.h |    2 +
 cogl/cogl-framebuffer.c         |   10 ++++++-
 cogl/cogl-framebuffer.h         |   58 ++++++++++++++++++++++++++++++++++++++-
 cogl/winsys/cogl-winsys-egl.c   |   11 +++++++-
 cogl/winsys/cogl-winsys-glx.c   |   11 +++++++-
 examples/x11-foreign.c          |   22 ++++++++++++++-
 6 files changed, 109 insertions(+), 5 deletions(-)

commit 97243ad9ac3fd47f6e1a5df2ec9a755a2082e550
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed May 4 11:10:54 2011 +0100

    Adds cogl_onscreen_show/hide functions
    
    This adds Cogl API to show and hide onscreen framebuffers. We don't want
    to go too far down the road of abstracting window system APIs with Cogl
    since that would be out of its scope but the previous idea that we would
    automatically map framebuffers on allocation except for those made from
    foreign windows wasn't good enough. The problem is that we don't want to
    make Clutter always create stages from foreign windows but with the
    automatic map semantics then Clutter doesn't get an opportunity to
    select for all the events it requires before mapping. This meant that we
    wouldn't be delivered a mouse enter event for windows mapped underneath
    the cursor which would break Clutters handling of button press events.

 cogl/cogl-framebuffer.c           |   31 ++++++++++++++++++++++
 cogl/cogl-framebuffer.h           |   52 +++++++++++++++++++++++++++++++++++++
 cogl/winsys/cogl-winsys-egl.c     |   21 +++++++++++++-
 cogl/winsys/cogl-winsys-glx.c     |   17 ++++++++++-
 cogl/winsys/cogl-winsys-private.h |    4 +++
 examples/hello.c                  |    2 +
 6 files changed, 123 insertions(+), 4 deletions(-)

commit 2a150003ad578b22fa12dd2a3175c2a6dbe29f2f
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed May 4 00:16:50 2011 +0100

    add missing name mangle for cogl_onscreen_set_swap_throttled
    
    We weren't mangling cogl_onscreen_set_swap_throttled to give it an _EXP
    postfix to clarify that it is an experimental symbol.

 cogl/cogl-framebuffer.h |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit ad56c00f7aa56cdf208a3034649f6c4f9d6eb2bf
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue May 3 21:00:00 2011 +0100

    Add missing _cogl_winsys_has_feature prototype
    
    This adds a private prototype for _cogl_winsys_has_feature in
    cogl-winsys-private.h to avoid compilation warnings.

 cogl/winsys/cogl-winsys-private.h |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

commit b44bde00c57b1b7f77472c9aa7eeb0ef18dfd6f4
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Apr 19 17:48:40 2011 +0100

    cogl/pango/Makefile.am pass EXTRA_LDFLAGS for linking
    
    When building on windows for example we need to ensure we pass
    -no-undefined to the linker. Although we were substituting a
    COGL_EXTRA_LDFLAGS variable from our configure.ac we forgot to
    reference that when linking cogl-pango.

 pango/Makefile.am |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit d2e74d3a94b90cd2e2378ad858218e67e2840e94
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Apr 19 17:47:57 2011 +0100

    cogl/configure.ac: AC_SUBST an empty MAINTAINER_CFLAGS
    
    For compatibility with the way we build Cogl as part of Clutter we now
    substitute an empty MAINTAINER_CFLAGS variable. When building Cogl
    standalone all our extra CFLAGS go through COGL_EXTRA_CFLAGS so the
    separate MAINTAINER_CFLAGS aren't used, but automake will get confused
    if a substitution isn't made.

 configure.ac |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

commit a14e400dc99f1a64fb898dc9f0cd3305828dd2c0
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Apr 19 17:45:26 2011 +0100

    cogl/configure.ac: check when building for win32
    
    This adds a check for when building on win32 so we can skip pkg-config
    checks for opengl and can add appropriate flags to
    COGL_EXTRA_{LD,C}FLAGS.

 configure.ac |   47 +++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 39 insertions(+), 8 deletions(-)

commit e815928a5f8574d700d75aff9656bb407462db98
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Apr 19 17:42:48 2011 +0100

    cogl/configure.ac: fix pkg-config checks
    
    This fixes the gdk-pixbuf check to not mistakenly check for the "xi"
    package instead of gdk-pixbuf and remove a spurious listing "gl" in
    COGL_PKG_REQUIRES which should only be there when we are using using
    opengl not if we are using gles.

 configure.ac |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

commit 195cfa7814aaacd07ae7de4e1c1a3e4f2430c4d0
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Apr 19 17:40:57 2011 +0100

    cogl/Makefile.am: pass EXTRA_LDFLAGS for linking
    
    When building on windows for example we need to ensure we pass
    -no-undefined to the linker. Although we were substituting a
    COGL_EXTRA_LDFLAGS variable from our configure.ac we forgot to
    reference that when linking cogl.

 cogl/Makefile.am |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit b3a7ee59308b817cfc181d433d431fec17d626d6
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Apr 18 17:45:36 2011 +0100

    cogl: remove OSX/WIN32 specific bits in favour of a stub winsys
    
    Until Cogl gains native win32/OSX support this remove the osx and win32
    winsys files and instead we'll just rely on the stub-winsys.c to handle
    these platforms. Since the only thing the platform specific files were
    providing anyway was a get_proc_address function; it was trivial to
    simply update the clutter backend code to handle this directly for now.

 cogl/Makefile.am                |    8 +-------
 cogl/winsys/cogl-winsys-osx.c   |   35 -----------------------------------
 cogl/winsys/cogl-winsys-stub.c  |    5 +++++
 cogl/winsys/cogl-winsys-win32.c |   35 -----------------------------------
 configure.ac                    |    6 +-----
 5 files changed, 7 insertions(+), 82 deletions(-)

commit a8c7f43a7c8eddcae8d7372917ffb9be0c98fdaf
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Apr 18 17:35:15 2011 +0100

    cogl-gl.c: remove really_enable_npot hack for OSX
    
    This is a workaround for a bug on OSX for some radeon hardware that
    we can't verify and the referenced bug link is no longer valid.
    
    If this is really still a problem then a new bug should be opened and we
    can look at putting the fix in some more appropriate place than
    cogl-gl.c

 cogl/driver/gl/cogl-gl.c |   37 ++++---------------------------------
 1 files changed, 4 insertions(+), 33 deletions(-)

commit 0f7fce7e2b987516806d68dc3f89e282d9021930
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Apr 18 17:17:21 2011 +0100

    cogl/configure.ac: Adds --enable-stub-winsys option
    
    We want to be able to split Cogl out as a standalone project but there
    are still some window systems that aren't natively supported by Cogl.
    This allows Clutter to support those window systems directly but still
    work with a standalone Cogl library.
    
    This also ensures we set the SUPPORT_STUB conditional in clutter's
    configure.ac when building for win32/osx and wayland.

 configure.ac |   33 ++++++++++++++++++++++++++++++++-
 1 files changed, 32 insertions(+), 1 deletions(-)

commit cd6d561f6f781849e31475deb4f818564654ebc1
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Apr 18 16:26:17 2011 +0100

    winsys-glx: map X window automatically if not foreign
    
    For now we are going for the semantics that when a CoglOnscreen is first
    allocated then it will automatically be mapped. This is for convenience
    and if you don't want that behaviour then it is possible to instead
    create an Onscreen from a foreign X window and in that case it wont be
    mapped automatically.
    
    This approach means that Cogl doesn't need onscreen_map/unmap functions
    but it's possible we'll decide later that we can't avoid adding such
    functions and we'll have to change these semantics.

 cogl/winsys/cogl-winsys-glx.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit 4bf868c0eb9c7951d91ef84574c5b16b12408e92
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Apr 18 15:57:32 2011 +0100

    cogl/configure.ac: make COGL_HAS_xyz defines public
    
    Instead of using AC_DEFINE for the various COGL_HAS_PLATFORM defines
    this now adds them to the COGL_DEFINES_SYMBOLS variable which gets
    substituted into the public cogl-defines.h header.

 configure.ac |   12 +++---------
 1 files changed, 3 insertions(+), 9 deletions(-)

commit f5bb20212bf24d0173c038bcb72e3a93c311e1d8
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Mar 17 19:32:54 2011 +0000

    Adds Cogl Hello World and "X11 foreign" example applications
    
    This adds a simple standalone Cogl application that can be used to
    smoke test a standalone build of Cogl without Clutter.
    
    This also adds an x11-foreign app that shows how a toolkit can ask Cogl
    to draw to an X Window that it owns instead of Cogl being responsible
    for automatically creating and mapping an X Window for CoglOnscreen.

 Makefile.am            |    2 +-
 configure.ac           |    1 +
 examples/Makefile.am   |   31 +++++++++++
 examples/hello.c       |   47 +++++++++++++++++
 examples/x11-foreign.c |  136 ++++++++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 216 insertions(+), 1 deletions(-)

commit 711d035f44243d7ac0db27384974767911210588
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Mar 10 15:15:08 2011 +0000

    cogl/configure.ac: add options to control driver/egl platform
    
    This allows more detailed control over the driver and winsys features
    that Cogl should have. Cogl is designed so it can support multiple
    window systems simultaneously so we have enable/disable options for
    the drivers (gl vs gles1 vs gles2) and options for the individual window
    systems; currently glx and egl. Egl is broken down into an option
    for each platform.

 cogl/cogl-1.0-clutter.pc.in |    8 +-
 configure.ac                |  358 ++++++++++++++++++++++++++++++++++++-------
 2 files changed, 310 insertions(+), 56 deletions(-)

commit 7037812ae615abe1329184f786e705124244675b
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri Mar 4 12:50:39 2011 +0000

    EGL: Updates GDL platform support
    
    The GDL API is used for example on intel ce4100 (aka Sodaville) based
    systems as a way to allocate memory that can be composited using the
    platforms overlay hardware. This updates the Cogl EGL winsys and the
    support in Clutter so we can continue to support these platforms.

 cogl/Makefile.am               |    2 +-
 cogl/cogl-display-private.h    |    5 ++
 cogl/cogl-display.c            |   12 ++++
 cogl/cogl-display.h            |   12 ++++
 cogl/cogl-swap-chain-private.h |    1 +
 cogl/cogl-swap-chain.c         |    8 +++
 cogl/cogl-swap-chain.h         |    5 ++
 cogl/winsys/cogl-winsys-egl.c  |  131 +++++++++++++++++++++++++++++++++++++++-
 configure.ac                   |    2 +-
 9 files changed, 175 insertions(+), 3 deletions(-)

commit ce2da7944055fd104e145da100ee3eaba259206b
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Mar 2 11:02:50 2011 +0000

    Don't reference GL_STACK_OVERFLOW/UNDERFLOW for GLES
    
    These symbols aren't available when building with GLES so only reference
    them when building with OpenGL.

 cogl/cogl.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit 31ee65784d2828b538fc2c7f37a6dca985155478
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Apr 18 16:24:51 2011 +0100

    winsys: Expose environment variable to choose winsys
    
    This makes it possible to override the winsys that cogl uses by setting
    the COGL_RENDERER environment variable e.g. to "GLX" or "EGL"

 cogl/cogl-renderer.c              |    8 ++++++++
 cogl/winsys/cogl-winsys-egl.c     |    1 +
 cogl/winsys/cogl-winsys-glx.c     |    1 +
 cogl/winsys/cogl-winsys-private.h |    2 ++
 4 files changed, 12 insertions(+), 0 deletions(-)

commit dc7383b7148abe4bd0736042aafe3981e8313b31
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri Feb 25 11:29:08 2011 +0000

    Add a vtable of indirection to the winsys code
    
    So that we can dynamically select what winsys backend to use at runtime
    we need to have some indirection to how code accesses the winsys instead
    of simply calling _cogl_winsys* functions that would collide if we
    wanted to compile more than one backend into Cogl.

 cogl/cogl-clutter.c                   |    8 +-
 cogl/cogl-context-private.h           |    3 +
 cogl/cogl-context.c                   |   19 +++-
 cogl/cogl-display.c                   |   14 ++-
 cogl/cogl-framebuffer.c               |   71 +++++++++---
 cogl/cogl-renderer-private.h          |    2 +
 cogl/cogl-renderer.c                  |   76 ++++++++++++-
 cogl/cogl.c                           |    9 ++
 cogl/winsys/cogl-texture-pixmap-x11.c |   42 ++++++-
 cogl/winsys/cogl-winsys-egl.c         |  162 +++++++++++++++-------------
 cogl/winsys/cogl-winsys-glx.c         |  194 +++++++++++++++++++++------------
 cogl/winsys/cogl-winsys-private.h     |  122 ++++++++++----------
 12 files changed, 482 insertions(+), 240 deletions(-)

commit d52e3f0cc2360febbbebf70262d2cf65dd46a8f3
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Mar 1 14:43:43 2011 +0000

    texture-pixmap-x11: Move GLX code to cogl-winsys-glx.c
    
    This moves the GLX specific code from cogl-texture-pixmap-x11.c into
    cogl-winsys-glx.c. If we want the winsys components to by dynamically
    loadable then we can't have GLX code scattered outside of
    cogl-winsys-glx.c. This also sets us up for supporting the
    EGL_texture_from_pixmap extension which is almost identical to the
    GLX_texture_from_pixmap extension.

 cogl/winsys/cogl-texture-pixmap-x11-private.h |   15 +-
 cogl/winsys/cogl-texture-pixmap-x11.c         |  530 +-----------------------
 cogl/winsys/cogl-winsys-egl.c                 |   35 ++
 cogl/winsys/cogl-winsys-glx.c                 |  549 +++++++++++++++++++++++++
 cogl/winsys/cogl-winsys-private.h             |   22 +
 5 files changed, 632 insertions(+), 519 deletions(-)

commit d5d11f18786b5e567f394359966a556cac7697a8
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri Feb 25 00:31:41 2011 +0000

    Moves all EGL code down from Clutter to Cogl
    
    As was recently done for the GLX window system code, this commit moves
    the EGL window system code down from the Clutter backend code into a
    Cogl winsys.
    
    Note: currently the cogl/configure.ac is hard coded to only build the GLX
    winsys so currently this is only available when building Cogl as part
    of Clutter.

 cogl/Makefile.am                                |    9 +-
 cogl/cogl-context.c                             |    9 +
 cogl/cogl-context.h                             |   17 +
 cogl/winsys/cogl-winsys-egl-feature-functions.h |   57 ++
 cogl/winsys/cogl-winsys-egl.c                   | 1048 ++++++++++++++++++++++-
 cogl/winsys/cogl-winsys-private.h               |    5 +
 6 files changed, 1133 insertions(+), 12 deletions(-)

commit 8399f5e61cd63960d154e2bc1c88c6cd7eb92a8c
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri Feb 25 00:49:07 2011 +0000

    remove references to unused DRM_SURFACELESS EGL platform
    
    The "DRM_SURFACELESS" EGL platform was invented when we were adding the
    wayland backend to Clutter but in the end we added a dedicated backend
    instead of extending the EGL backend so actually the platform name isn't
    used.

 cogl/Makefile.am |    5 -----
 configure.ac     |    1 -
 2 files changed, 0 insertions(+), 6 deletions(-)

commit d832172988270013bf30145a60dd2ff24dba10ac
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Apr 21 16:44:15 2011 +0100

    cogl-context: Initialize context->stub_winsys
    
    If Cogl is built using a full Winsys then it wasn't initialising
    context->stub_winsys which sometimes made it crash later on.

 cogl/cogl-context.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 14b6c0459fd488edeb960f5a2ec7d9f1b37b4927
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Apr 20 18:43:02 2011 +0100

    cogl-winsys-stub: Remove _cogl_winsys_has_feature
    
    Commit b061f737 moved _cogl_winsys_has_feature to the common winsys
    code so there's no need to define it in the stub winsys any more. This
    was breaking builds for backends using the stub winsys.

 cogl/winsys/cogl-winsys-stub.c |    7 -------
 1 files changed, 0 insertions(+), 7 deletions(-)

commit dcd23dc22026630edcf702c4060042c15a85c2f7
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Apr 20 17:50:38 2011 +0100

    cogl-winsys-glx: Fix the comparison in find_onscreen_for_xid
    
    The comparison for finding onscreen framebuffers in
    find_onscreen_for_xid had a small thinko so that it would ignore
    framebuffers when the negation of the type is onscreen. This ends up
    doing the right thing anyway because the onscreen type has the value 0
    and the offscreen type has the value 1 but presumably it would fail if
    we ever added any other framebuffer types.

 cogl/winsys/cogl-winsys-glx.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 16bfa27d43de753c2144f3b55df9254d83c3c9e4
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Apr 15 16:03:19 2011 +0100

    cogl-winsys: Move _cogl_winsys_has_feature to cogl-winsys.c
    
    The code for _cogl_winsys_has_feature will be identical in all of the
    winsys backends for the time being, so it seems to make sense to have
    it in the common cogl-winsys.c file.

 cogl/winsys/cogl-winsys-glx.c |    9 ---------
 cogl/winsys/cogl-winsys.c     |    9 +++++++++
 2 files changed, 9 insertions(+), 9 deletions(-)

commit 4a7762d6d744133ee2492900ffda6843624e2b78
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Apr 15 15:39:14 2011 +0100

    cogl-context: Store winsys features in an array of unsigned ints
    
    Previously the mask of available winsys features was stored in a
    CoglBitmask. That isn't the ideal type to use for this because it is
    intended for a growable array of bits so it can allocate extra memory
    if there are more than 31 flags set. For the winsys feature flags the
    highest used bit is known at compile time so it makes sense to
    allocate a fixed array instead. This is conceptually similar to the
    CoglDebugFlags which are stored in an array of integers with macros to
    test a bit in the array. This moves the macros used for CoglDebugFlags
    to cogl-flags.h and makes them more generic so they can be shared with
    CoglContext.

 cogl/Makefile.am              |    1 +
 cogl/cogl-bitmask.h           |    4 ++
 cogl/cogl-context-private.h   |    4 +-
 cogl/cogl-context.c           |    4 +-
 cogl/cogl-debug.c             |    4 +-
 cogl/cogl-debug.h             |   23 ++--------
 cogl/cogl-flags.h             |   89 +++++++++++++++++++++++++++++++++++++++++
 cogl/cogl-types.h             |    6 +-
 cogl/winsys/cogl-winsys-glx.c |   36 ++++++++--------
 9 files changed, 126 insertions(+), 45 deletions(-)

commit f6ae9decaa9367faaf74b8da22859ed5288b840d
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Apr 13 16:41:41 2011 +0100

    cogl-renderer: Move the XEvent filters to be generic for all renderers
    
    Instead of having cogl_renderer_xlib_add_filter and friends there is
    now cogl_renderer_add_native_filter which can be used regardless of
    the backend. The callback function for the filter now just takes a
    void pointer instead of an XEvent pointer which should be interpreted
    differently depending on the backend. For example, on Xlib it would
    still be an XEvent but on Windows it could be a MSG. This simplifies
    the code somewhat because the _cogl_xlib_add_filter no longer needs to
    have its own filter list when a stub renderer is used because there is
    always a renderer available.
    
    cogl_renderer_xlib_handle_event has also been renamed to
    cogl_renderer_handle_native_event. This just forwards the event on to
    all of the listeners. The backend renderer is expected to register its
    own event filter if it wants to process the events in some way.

 cogl/cogl-renderer-private.h          |    2 +
 cogl/cogl-renderer-xlib-private.h     |    2 -
 cogl/cogl-renderer-xlib.c             |   88 ---------------------------------
 cogl/cogl-renderer.c                  |   82 ++++++++++++++++++++++++++++++
 cogl/cogl-renderer.h                  |   86 +++++++++++++++++---------------
 cogl/cogl-types.h                     |   39 ++++++++-------
 cogl/cogl-xlib-private.h              |   10 +---
 cogl/cogl-xlib.c                      |   86 ++++++--------------------------
 cogl/cogl-xlib.h                      |    2 +-
 cogl/winsys/cogl-texture-pixmap-x11.c |    9 ++--
 cogl/winsys/cogl-winsys-glx.c         |   23 +++++----
 11 files changed, 187 insertions(+), 242 deletions(-)

commit cbbf76f280fc7a9b5815459f89ef78dfaed0b823
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Apr 18 15:53:25 2011 +0100

    cogl/glx: Silence a compiler warning

 cogl/winsys/cogl-winsys-glx.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit d0739ca0ba4d1b8c5961f4e38021d653edd5acc0
Author: James Athey <james.athey@unleashbts.com>
Date:   Mon Apr 11 14:26:45 2011 -0400

    GL_IMG_TEXTURE_NPOT extension enables TEXTURE_NPOT features on GLES
    
    Older drivers for PowerVR SGX hardware have the vendor-specific
    GL_IMG_TEXTURE_NPOT extension instead of the
    functionally-equivalent GL_OES_TEXTURE_NPOT extension.

 cogl/driver/gles/cogl-feature-functions-gles.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 5e530ca9bbe076abf1bc3111447d1d5825456a51
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Apr 12 21:02:14 2011 +0100

    Silence another compiler warning

 cogl/winsys/cogl-winsys-glx.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

commit 9840321501f10711fdd2e0e8e96b6934a75880c9
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Apr 12 20:35:31 2011 +0100

    Silence the compiler by removing unused variables

 cogl/winsys/cogl-winsys-glx.c |    9 +--------
 1 files changed, 1 insertions(+), 8 deletions(-)

commit 29e5531486c2fab470d71c802d9e644e124a6ecb
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Apr 12 20:28:36 2011 +0100

    glx: Protect GLX SwapEvent symbols
    
    We need to guard the usage of symbols related to the
    GLX_INTEL_swap_event extension, to avoid breaking on platforms and/or
    versions of Mesa that do not expose that extension.

 cogl/winsys/cogl-winsys-glx.c |   14 +++++++++++---
 1 files changed, 11 insertions(+), 3 deletions(-)

commit 2bbb0d895b6b1db2a06a8c52f0f181acc3edefbe
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Mar 1 23:12:18 2011 +0000

    Make cogl_framebuffer_get_width/height experimental public API
    
    It's generally useful to be able to query the width and height of a
    framebuffer and we expect to need this in Clutter when we move the
    eglnative backend code into Cogl since Clutter will need to read back
    the fixed size of the framebuffer when realizing the stage.

 cogl/cogl-clip-stack.c          |    2 +-
 cogl/cogl-framebuffer-private.h |    6 ------
 cogl/cogl-framebuffer.c         |    4 ++--
 cogl/cogl-framebuffer.h         |    8 ++++++++
 cogl/cogl.c                     |    2 +-
 cogl/winsys/cogl-winsys-glx.c   |    4 ++--
 6 files changed, 14 insertions(+), 12 deletions(-)

commit 1928f7ec0e7b20ef25a8edf0535d467a08dd7a8e
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Feb 24 12:05:15 2011 +0000

    backend: remove untested fruity backend
    
    This backend hasn't been used for years now and so because it is
    untested code and almost certainly doesn't work any more it would be a
    burdon to continue trying to maintain it. Considering that we are now
    looking at moving OpenGL window system integration code down from
    Clutter backends into Cogl that will be easier if we don't have to
    consider this backend.

 cogl/Makefile.am                 |    4 ----
 cogl/winsys/cogl-winsys-fruity.c |   35 -----------------------------------
 configure.ac                     |    2 --
 3 files changed, 0 insertions(+), 41 deletions(-)

commit efb570fdaea6b9a9d5cc9382a02705cf48006811
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Feb 10 02:32:11 2011 +0000

    Adds the ability to build Cogl standalone
    
    This adds an autogen.sh, configure.ac and build/autotool files etc under
    clutter/cogl and makes some corresponding Makefile.am changes that make
    it possible to build and install Cogl as a standalone library.
    
    Some notable things about this are:
    A standalone installation of Cogl installs 3 pkg-config files;
    cogl-1.0.pc, cogl-gl-1.0.pc and cogl-2.0.pc. The second is only for
    compatibility with what clutter installed though I'm not sure that
    anything uses it so maybe we could remove it. cogl-1.0.pc is what
    Clutter would use if it were updated to build against a standalone cogl
    library. cogl-2.0.pc is what you would use if you were writing a
    standalone Cogl application.
    
    A standalone installation results in two libraries currently, libcogl.so
    and libcogl-pango.so. Notably we don't include a major number in the
    sonames because libcogl supports two major API versions; 1.x as used by
    Clutter and the experimental 2.x API for standalone applications.
    Parallel installation of later versions e.g. 3.x and beyond will be
    supportable either with new sonames or if we can maintain ABI then we'll
    continue to share libcogl.so.
    
    The headers are similarly not installed into a directory with a major
    version number since the same headers are shared to export the 1.x and
    2.x APIs (The only difference is that cogl-2.0.pc ensures that
    -DCOGL_ENABLE_EXPERIMENTAL_2_0_API is used). Parallel installation of
    later versions is not precluded though since we can either continue
    sharing or later add a major version suffix.

 Makefile.am                         |    6 +
 autogen.sh                          |   73 ++++++
 build/autotools/Makefile.am.enums   |   51 ++++
 build/autotools/Makefile.am.silent  |   19 ++
 build/autotools/as-compiler-flag.m4 |   62 +++++
 build/autotools/as-linguas.m4       |   24 ++
 build/autotools/introspection.m4    |   94 +++++++
 cogl/Makefile.am                    |   96 +++++---
 cogl/cogl-1.0-clutter.pc.in         |   17 ++
 cogl/cogl-1.0.pc.in                 |   13 +
 cogl/cogl.pc.in                     |   18 +-
 configure.ac                        |  462 +++++++++++++++++++++++++++++++++++
 pango/Makefile.am                   |   27 ++-
 po/ChangeLog                        |   12 +
 po/Makevars                         |   41 +++
 po/POTFILES.in                      |    1 +
 po/Rules-quot                       |   47 ++++
 po/boldquot.sed                     |   10 +
 po/en@boldquot.header               |   25 ++
 po/en@quot.header                   |   22 ++
 po/insert-header.sin                |   23 ++
 po/quot.sed                         |    6 +
 po/remove-potcdate.sin              |   19 ++
 23 files changed, 1125 insertions(+), 43 deletions(-)

commit d40cdfa3e1c0fd43660002418ce5594b81d80bc1
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri Nov 5 12:28:33 2010 +0000

    Moves all GLX code down from Clutter to Cogl
    
    This migrates all the GLX window system code down from the Clutter
    backend code into a Cogl winsys. Moving OpenGL window system binding
    code down from Clutter into Cogl is the biggest blocker to having Cogl
    become a standalone 3D graphics library, so this is an important step in
    that direction.

 cogl/Makefile.am                                |   44 +-
 cogl/cogl-clutter.c                             |   14 +
 cogl/cogl-clutter.h                             |   10 +
 cogl/cogl-context-private.h                     |   34 +-
 cogl/cogl-context.c                             |  104 +-
 cogl/cogl-context.h                             |    7 +-
 cogl/cogl-debug.h                               |    1 +
 cogl/cogl-display-glx-private.h                 |   57 +
 cogl/cogl-display-xlib-private.h                |   35 +
 cogl/cogl-display.c                             |    5 +
 cogl/cogl-display.h                             |   12 +-
 cogl/cogl-feature-private.c                     |    5 +-
 cogl/cogl-feature-private.h                     |   20 +-
 cogl/cogl-framebuffer-private.h                 |   39 +-
 cogl/cogl-framebuffer.c                         |  235 ++++-
 cogl/cogl-framebuffer.h                         |  109 ++
 cogl/cogl-internal.h                            |  102 +--
 cogl/cogl-journal-private.h                     |    1 +
 cogl/cogl-private.h                             |    6 +
 cogl/cogl-renderer-glx-private.h                |   61 ++
 cogl/cogl-renderer-x11-private.h                |   32 +
 cogl/cogl-renderer-xlib-private.h               |   78 ++
 cogl/cogl-renderer-xlib.c                       |  288 ++++++
 cogl/cogl-renderer.c                            |   23 +
 cogl/cogl-types.h                               |   87 ++-
 cogl/cogl-util.c                                |    1 -
 cogl/cogl-xlib-private.h                        |   82 ++
 cogl/cogl-xlib.c                                |  238 +++++
 cogl/cogl-xlib.h                                |   84 ++
 cogl/cogl.c                                     |   10 +-
 cogl/cogl.h                                     |   52 +-
 cogl/driver/gl/cogl-context-driver-gl.h         |   53 +
 cogl/driver/gl/cogl-gl.c                        |   40 +-
 cogl/driver/gles/cogl-context-driver-gles.h     |   52 +
 cogl/driver/gles/cogl-gles.c                    |   46 +-
 cogl/winsys/cogl-context-winsys.c               |  152 ---
 cogl/winsys/cogl-context-winsys.h               |  118 ---
 cogl/winsys/cogl-texture-pixmap-x11.c           |  111 ++-
 cogl/winsys/cogl-winsys-feature-functions.h     |   45 -
 cogl/winsys/cogl-winsys-glx-feature-functions.h |  105 ++
 cogl/winsys/cogl-winsys-glx.c                   | 1262 ++++++++++++++++++++++-
 cogl/winsys/cogl-winsys-private.h               |   88 ++
 cogl/winsys/cogl-winsys-stub.c                  |  114 ++
 cogl/winsys/cogl-winsys-xlib.c                  |  170 ---
 cogl/winsys/cogl-winsys-xlib.h                  |   66 --
 cogl/winsys/cogl-winsys.c                       |   36 +
 46 files changed, 3428 insertions(+), 906 deletions(-)

commit bcd97f35ead2efc48b905e43ed981cd4d5850229
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri Feb 25 17:06:50 2011 +0000

    Adds renderer,display,onscreen-template and swap-chain stubs
    
    As part of the process of splitting Cogl out as a standalone graphics
    API we need to introduce some API concepts that will allow us to
    initialize a new CoglContext when Clutter isn't there to handle that for
    us...
    
    The new objects roughly in the order that they are (optionally) involved
    in constructing a context are: CoglRenderer, CoglOnscreenTemplate,
    CoglSwapChain and CoglDisplay.
    
    Conceptually a CoglRenderer represents a means for rendering.  Cogl
    supports rendering via OpenGL or OpenGL ES 1/2.0 and those APIs are
    accessed through a number of different windowing APIs such as GLX, EGL,
    SDL or WGL and more. Potentially in the future Cogl could render using
    D3D or even by using libdrm and directly banging the hardware. All these
    choices are wrapped up in the configuration of a CoglRenderer.
    
    Conceptually a CoglDisplay represents a display pipeline for a renderer.
    Although Cogl doesn't aim to provide a detailed abstraction of display
    hardware, on some platforms we can give control over multiple display
    planes (On TV platforms for instance video content may be on one plane
    and 3D would be on another so a CoglDisplay lets you select the plane
    up-front.)
    
    Another aspect of CoglDisplay is that it lets us negotiate a display
    pipeline that best supports the type of CoglOnscreen framebuffers we are
    planning to create. For instance if you want transparent CoglOnscreen
    framebuffers then we have to be sure the display pipeline wont discard
    the alpha component of your framebuffers. Or if you want to use
    double/tripple buffering that requires support from the display
    pipeline.
    
    CoglOnscreenTemplate and CoglSwapChain are how we describe our default
    CoglOnscreen framebuffer configuration which can affect the
    configuration of the display pipeline.
    
    The default/simple way we expect most CoglContexts to be constructed
    will be via something like:
    
     if (!cogl_context_new (NULL, &error))
       g_error ("Failed to construct a CoglContext: %s", error->message);
    
    Where that NULL is for an optional "display" parameter and NULL says to
    Cogl "please just try to do something sensible".
    
    If you want some more control though you can manually construct a
    CoglDisplay something like:
    
     display = cogl_display_new (NULL, NULL);
     cogl_gdl_display_set_plane (display, plane);
     if (!cogl_display_setup (display, &error))
       g_error ("Failed to setup a CoglDisplay: %s", error->message);
    
    And in a similar fashion to cogl_context_new() you can optionally pass
    a NULL "renderer" and/or a NULL "onscreen template" so Cogl will try to
    just do something sensible.
    
    If you need to change the CoglOnscreen defaults you can provide a
    template something like:
      chain = cogl_swap_chain_new ();
      cogl_swap_chain_set_has_alpha (chain, TRUE);
      cogl_swap_chain_set_length (chain, 3);
    
      onscreen_template = cogl_onscreen_template_new (chain);
      cogl_onscreen_template_set_pixel_format (onscreen_template,
                                               COGL_PIXEL_FORMAT_RGB565);
    
      display = cogl_display_new (NULL, onscreen_template);
      if (!cogl_display_setup (display, &error))
        g_error ("Failed to setup a CoglDisplay: %s", error->message);

 cogl/Makefile.am                      |   16 ++++
 cogl/cogl-context.c                   |   44 +++++++--
 cogl/cogl-display-private.h           |   43 +++++++++
 cogl/cogl-display.c                   |  106 ++++++++++++++++++++++
 cogl/cogl-onscreen-template-private.h |   37 ++++++++
 cogl/cogl-onscreen-template.c         |   62 +++++++++++++
 cogl/cogl-onscreen-template.h         |   48 ++++++++++
 cogl/cogl-renderer-private.h          |   43 +++++++++
 cogl/cogl-renderer.c                  |  106 ++++++++++++++++++++++
 cogl/cogl-renderer.h                  |  158 +++++++++++++++++++++++++++++++++
 cogl/cogl-swap-chain-private.h        |   37 ++++++++
 cogl/cogl-swap-chain.c                |   66 ++++++++++++++
 cogl/cogl-swap-chain.h                |   46 ++++++++++
 13 files changed, 802 insertions(+), 10 deletions(-)

commit e80a2b9b2fec899c7a2c20dd67f2493485305a1c
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Feb 22 20:08:16 2011 +0000

    rename winsys files to be more consistent
    
    This tries to make the naming style of files under cogl/winsys/
    consistent with other cogl source files. In particular private header
    files didn't have a '-private' infix.

 cogl/Makefile.am                      |   22 ++--
 cogl/winsys/cogl-egl.c                |   45 ---------
 cogl/winsys/cogl-fruity.c             |   35 -------
 cogl/winsys/cogl-glx.c                |   78 ---------------
 cogl/winsys/cogl-osx.c                |   35 -------
 cogl/winsys/cogl-sdl.c                |   35 -------
 cogl/winsys/cogl-texture-pixmap-x11.c |    2 +-
 cogl/winsys/cogl-win32.c              |   35 -------
 cogl/winsys/cogl-winsys-egl.c         |   45 +++++++++
 cogl/winsys/cogl-winsys-fruity.c      |   35 +++++++
 cogl/winsys/cogl-winsys-glx.c         |   78 +++++++++++++++
 cogl/winsys/cogl-winsys-osx.c         |   35 +++++++
 cogl/winsys/cogl-winsys-private.h     |   30 ++++++
 cogl/winsys/cogl-winsys-sdl.c         |   35 +++++++
 cogl/winsys/cogl-winsys-win32.c       |   35 +++++++
 cogl/winsys/cogl-winsys-xlib.c        |  170 +++++++++++++++++++++++++++++++++
 cogl/winsys/cogl-winsys-xlib.h        |   66 +++++++++++++
 cogl/winsys/cogl-winsys.h             |   30 ------
 cogl/winsys/cogl-xlib.c               |  170 ---------------------------------
 cogl/winsys/cogl-xlib.h               |   66 -------------
 20 files changed, 541 insertions(+), 541 deletions(-)

commit 9f19244971d06b28730697d12ea9f73558d3354c
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Feb 22 18:25:29 2011 +0000

    Add temporary cogl-clutter.h to aid splitting out Cogl
    
    This gives us a way to clearly track the internal Cogl API that Clutter
    depends on. The aim is to split Cogl out from Clutter into a standalone
    3D graphics API and eventually we want to get rid of any private
    interfaces for Clutter so its useful to have a handle on that task.
    Actually it's not as bad as I was expecting though.

 cogl/Makefile.am                |    6 ++-
 cogl/cogl-clutter.c             |   59 +++++++++++++++++++++++++++++++++++++++
 cogl/cogl-clutter.h             |   47 +++++++++++++++++++++++++++++++
 cogl/cogl-framebuffer-private.h |    4 ++
 cogl/cogl-framebuffer.c         |    9 ++----
 cogl/cogl-private.h             |    3 ++
 cogl/cogl.h                     |    3 --
 7 files changed, 120 insertions(+), 11 deletions(-)

commit 0b45110302a025145ce928dfbe3d21a6ab7f9ad3
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Mar 10 21:33:31 2011 +0000

    framebuffer: expose experimental cogl_get_draw_framebuffer
    
    This renames the two internal functions _cogl_get_draw/read_buffer
    as cogl_get_draw_framebuffer and _cogl_get_read_framebuffer. The
    former is now also exposed as experimental API.

 cogl/cogl-attribute.c           |    8 +++---
 cogl/cogl-clip-stack.c          |   10 ++++----
 cogl/cogl-clip-state.c          |   12 +++++-----
 cogl/cogl-framebuffer-private.h |    5 +---
 cogl/cogl-framebuffer.c         |   24 ++++++++++----------
 cogl/cogl-journal.c             |   10 ++++----
 cogl/cogl-matrix-stack.c        |    2 +-
 cogl/cogl-primitives.c          |    4 +-
 cogl/cogl-texture-2d.c          |    4 +-
 cogl/cogl-texture.c             |    2 +-
 cogl/cogl.c                     |   46 +++++++++++++++++++-------------------
 cogl/cogl.h                     |    5 +++-
 cogl/cogl2-clip-state.c         |    2 +-
 cogl/cogl2-path.c               |    6 ++--
 14 files changed, 70 insertions(+), 70 deletions(-)

commit aa1e45267b2edf48f8d112a75ddd9564a644db19
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Feb 22 17:58:47 2011 +0000

    framebuffer: track context as CoglFramebuffer member
    
    The long term goal with the Cogl API is that we will get rid of the
    default global context. As a step towards this, this patch tracks a
    reference back to the context in each CoglFramebuffer so in a lot of
    cases we can avoid using the _COGL_GET_CONTEXT macro.

 cogl/cogl-framebuffer.c |   57 ++++++++++++++++++++++++++++-------------------
 1 files changed, 34 insertions(+), 23 deletions(-)

commit 5c7ce809c19b690773f3d0da6e47eb24d98480db
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Feb 22 17:30:54 2011 +0000

    remove unused _cogl_features_init prototype
    
    There is no corresponding implementation of _cogl_features_init any more
    so it was simply an oversight that the prototype wasn't removed when the
    implementation was removed.

 cogl/cogl-internal.h |    3 ---
 1 files changed, 0 insertions(+), 3 deletions(-)

commit 7fc6613fe92dddc7cf4635cb9c03cbf71964b179
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Feb 22 17:13:56 2011 +0000

    Remove unused _cogl_swap_buffers_notify
    
    Recently _cogl_swap_buffers_notify was added (in 142b229c5c26) so that
    Cogl would be notified when Clutter performs a swap buffers request for
    a given onscreen framebuffer. It was expected this would be required for
    the recent cogl_read_pixel optimization that was implemented (ref
    1bdb0e6e98db) but in the end it wasn't used.
    
    Since it wasn't used in the end this patch removes the API.

 cogl/cogl-framebuffer-private.h |    3 ---
 cogl/cogl-framebuffer.c         |    5 -----
 cogl/cogl.c                     |   11 -----------
 cogl/cogl.h                     |    3 ---
 4 files changed, 0 insertions(+), 22 deletions(-)

commit c41581853742da483ecf31ad370d9be23b4bca7c
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri Nov 5 00:34:37 2010 +0000

    cogl: consolidate _create_context_driver + _features_init
    
    This moves the functionality of _cogl_create_context_driver from
    driver/{gl,gles}/cogl-context-driver-{gl,gles}.c into
    driver/{gl,gles}/cogl-{gl,gles}.c as a static function called
    initialize_context_driver.
    
    cogl-context-driver-{gl,gles}.[ch] have now been removed.

 cogl/Makefile.am                            |    4 --
 cogl/cogl-context.c                         |    6 +--
 cogl/driver/gl/cogl-context-driver-gl.c     |   39 --------------------
 cogl/driver/gl/cogl-context-driver-gl.h     |   53 ---------------------------
 cogl/driver/gl/cogl-gl.c                    |   36 +++++++++++++------
 cogl/driver/gles/cogl-context-driver-gles.c |   40 --------------------
 cogl/driver/gles/cogl-context-driver-gles.h |   52 --------------------------
 cogl/driver/gles/cogl-gles.c                |   28 +++++++++++----
 8 files changed, 48 insertions(+), 210 deletions(-)

commit e9b1ca0165f450c1f893e73d425f98a7b091f9b4
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri Nov 5 00:00:25 2010 +0000

    cogl: Adds experimental cogl_context_new() API
    
    This adds a new experimental function (you need to define
    COGL_ENABLE_EXPERIMENTAL_API to access it) which takes us towards being
    able to have a standalone Cogl API. This is really a minor aesthetic
    change for now since all the GL context creation code still lives in
    Clutter but it's a step forward none the less.
    
    Since our current designs introduce a CoglDisplay object as something
    that would be passed to the context constructor this provides a stub
    cogl-display.h with CoglDisplay typedef.
    
    _cogl_context_get_default() which Clutter uses to access the Cogl
    context has been modified to use cogl_context_new() to initialize
    the default context.
    
    There is one rather nasty hack used in this patch which is that the
    implementation of cogl_context_new() has to forcibly make the allocated
    context become the default context because currently all the code in
    Cogl assumes it can access the context using _COGL_GET_CONTEXT including
    code used to initialize the context.

 cogl/Makefile.am            |    1 +
 cogl/cogl-context-private.h |    7 +-
 cogl/cogl-context.c         |  293 +++++++++++++++++++++++--------------------
 cogl/cogl-context.h         |   62 +++++++++
 cogl/cogl-display.h         |   78 ++++++++++++
 cogl/cogl.h                 |    1 +
 6 files changed, 305 insertions(+), 137 deletions(-)

commit fdbc7417700e7f416cb330288e1011b40a15c6b8
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Nov 4 22:25:52 2010 +0000

    cogl: rename cogl-context.h cogl-context-private.h
    
    Since we plan to add public cogl_context_* API we need to rename the
    current cogl-context.h which contains private member details.

 cogl/Makefile.am                            |    2 +-
 cogl/cogl-atlas-texture.c                   |    2 +-
 cogl/cogl-atlas.c                           |    2 +-
 cogl/cogl-attribute.c                       |    2 +-
 cogl/cogl-blend-string.c                    |    2 +-
 cogl/cogl-blit.c                            |    2 +-
 cogl/cogl-buffer.c                          |    2 +-
 cogl/cogl-clip-stack.c                      |    2 +-
 cogl/cogl-clip-state.c                      |    2 +-
 cogl/cogl-context-private.h                 |  251 +++++++++++++++++++++++++++
 cogl/cogl-context.c                         |    2 +-
 cogl/cogl-context.h                         |  251 ---------------------------
 cogl/cogl-feature-private.c                 |    2 +-
 cogl/cogl-framebuffer.c                     |    2 +-
 cogl/cogl-indices.c                         |    2 +-
 cogl/cogl-journal.c                         |    2 +-
 cogl/cogl-material-compat.c                 |    2 +-
 cogl/cogl-matrix-stack.c                    |    2 +-
 cogl/cogl-path.c                            |    2 +-
 cogl/cogl-pipeline-fragend-arbfp.c          |    2 +-
 cogl/cogl-pipeline-fragend-fixed.c          |    2 +-
 cogl/cogl-pipeline-fragend-glsl.c           |    2 +-
 cogl/cogl-pipeline-opengl.c                 |    2 +-
 cogl/cogl-pipeline-progend-glsl.c           |    2 +-
 cogl/cogl-pipeline-vertend-fixed.c          |    2 +-
 cogl/cogl-pipeline-vertend-glsl.c           |    2 +-
 cogl/cogl-pipeline.c                        |    2 +-
 cogl/cogl-pixel-array.c                     |    2 +-
 cogl/cogl-primitives.c                      |    2 +-
 cogl/cogl-program.c                         |    2 +-
 cogl/cogl-shader.c                          |    2 +-
 cogl/cogl-sub-texture.c                     |    2 +-
 cogl/cogl-texture-2d-sliced.c               |    2 +-
 cogl/cogl-texture-2d.c                      |    2 +-
 cogl/cogl-texture-3d.c                      |    2 +-
 cogl/cogl-texture-rectangle.c               |    2 +-
 cogl/cogl-texture.c                         |    2 +-
 cogl/cogl-vertex-buffer.c                   |    2 +-
 cogl/cogl.c                                 |    2 +-
 cogl/cogl2-path.c                           |    2 +-
 cogl/driver/gl/cogl-context-driver-gl.c     |    2 +-
 cogl/driver/gl/cogl-gl.c                    |    2 +-
 cogl/driver/gl/cogl-texture-driver-gl.c     |    2 +-
 cogl/driver/gles/cogl-context-driver-gles.c |    2 +-
 cogl/driver/gles/cogl-gles.c                |    2 +-
 cogl/driver/gles/cogl-texture-driver-gles.c |    2 +-
 cogl/winsys/cogl-context-winsys.c           |    2 +-
 cogl/winsys/cogl-texture-pixmap-x11.c       |    2 +-
 cogl/winsys/cogl-xlib.c                     |    2 +-
 49 files changed, 298 insertions(+), 298 deletions(-)

commit 16a6c77089f4e0db70a730d8615fd6b2c063b9e4
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Apr 6 15:24:33 2011 +0100

    cogl-pango-glyph-cache: Fix the flags passed to cogl_atlas_new
    
    In 047227fb cogl_atlas_new was changed so that it can take a flags
    parameter to specify whether to clear the new atlases and whether to
    copy images to the new atlas after reorganisation. This was done so
    that the atlas code could be shared with the glyph cache. At some
    point during the development of this patch the flag was just a single
    boolean instead and this is accidentally how it is used from the glyph
    cache. The glyph cache therefore passes 'TRUE' as the set of flags
    which means it will only get the 'clear' flag and not the
    'disable-migration' flag. When the glyph cache gets full it will
    therefore try to copy the texture to the new atlas as well as
    redrawing them with cairo. This causes problems because the glyph
    cache needs to work in situations where there is no FBO support.

 pango/cogl-pango-glyph-cache.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit 472e8e8f4e325f1839b42b10dd38a4828e559909
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Apr 5 17:30:29 2011 +0100

    cogl-pipeline: Be careful not to take ownership of root layer
    
    In _cogl_pipeline_prune_empty_layer_difference if the layer's parent
    has no owner then it just takes ownership of it. However this could
    theoretically end up taking ownership of the root layer because
    according to the comment above in the same function that should never
    have an owner. This patch just adds an extra check to ensure that the
    unowned layer has a parent.
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2588

 cogl/cogl-pipeline.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

commit 7de36552982df25d6a516dd23ebc19c832106fee
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Apr 5 17:01:24 2011 +0100

    pipeline: reclaim ownership if reverting to layer ancestor
    
    In _cogl_pipeline_prune_empty_layer_difference if we are reverting to
    the immediate parent of an empty/redundant layer then it is not enough
    to simply add a reference to the pipeline's ->layer_differences list
    without also updating parent_layer->owner to point back to its new
    owner.
    
    This oversight was leading us to break the invariable that all layers
    referenced in layer_differences have an owner and was also causing us to
    break another invariable whereby after calling
    _cogl_pipeline_layer_pre_change_notify the returned layer must always be
    owned by the given 'required_owner'.
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2588

 cogl/cogl-pipeline.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit 12b622a32067fefc16b970cbefea7395c6452a14
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Apr 4 14:42:36 2011 +0100

    offscreen: Plug a leak in an error path
    
    When creating a CoglOffscreen we take a reference on the texture handle,
    but in case of error we never release it.
    
    We should take that reference only on success.
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2620

 cogl/cogl-framebuffer.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

commit bb79fb43e5d7afdd4b2c2e2e547dd64949da799c
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Mar 21 12:34:41 2011 +0000

    Merge remote-tracking branch 'elliot/cookbook-effects-basic'
    
    * elliot/cookbook-effects-basic:
      docs: Remove checks for whether an effect is disabled
      docs: Add recipe about implementing a ClutterEffect
      docs: Add example of setting background color with ClutterEffect
      docs: Add example of a border added through ClutterEffect

commit f38b7a78fb6e811a68314cd8f0a1909ed29a39db
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Mar 14 17:58:31 2011 +0000

    cogl: Use GHookList instead of CoglCallbackList
    
    glib already has a data type to manage a list of callbacks called a
    GHookList so we might as well use it instead of maintaining Cogl's own
    type. The glib version may be slightly more efficient because it
    avoids using a GList and instead encodes the prev and next pointers
    directly in the GHook structure. It also has more features than
    CoglCallbackList.

 cogl/Makefile.am               |    2 -
 cogl/cogl-atlas.c              |   58 ++++++++++++++-------
 cogl/cogl-atlas.h              |   13 ++---
 cogl/cogl-callback-list.c      |  107 ----------------------------------------
 cogl/cogl-callback-list.h      |   58 ---------------------
 pango/cogl-pango-glyph-cache.c |   26 ++++++---
 pango/cogl-pango-glyph-cache.h |    5 +-
 pango/cogl-pango-render.c      |    4 +-
 8 files changed, 65 insertions(+), 208 deletions(-)

commit 034d2730301360fa4763983f9bd0ff41630a746c
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Mar 10 18:51:51 2011 +0000

    culling: Don't cull actors not being painted on the stage
    
    Previously we were applying the culling optimization to any actor
    painted without considering that we may be painting to an offscreen
    framebuffer where the stage clip isn't applicable.
    
    For now we simply expose a getter for the current draw framebuffer
    and we can assume that a return value of NULL corresponds to the
    stage.
    
    Note: This will need to be updated as stages start to be backed by real
    CoglFramebuffer objects and so we won't get NULL in those cases.

 cogl/cogl.h |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

commit 30fa4e1a201dd6343371fe129bd1e7b68a9b036e
Author: Jasper St. Pierre <jstpierre@mecheye.net>
Date:   Wed Mar 2 12:45:25 2011 -0500

    cogl-clip-state: Adapt to experimental cogl2 API.
    
    The current clip state implementation couldn't be used in
    conjunction with the CoglPath experimental API.
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2594
    
    Signed-off-by: Neil Roberts <neil@linux.intel.com>

 cogl/Makefile.am                |    9 +++++-
 cogl/cogl-clip-state-private.h  |   53 +++++++++++++++++++++++++++++++++++++++
 cogl/cogl-clip-state.c          |   20 +++-----------
 cogl/cogl-clip-state.h          |   39 +++++++++++++---------------
 cogl/cogl-framebuffer-private.h |    2 +-
 cogl/cogl.h                     |   15 +---------
 cogl/cogl2-clip-state.c         |   49 ++++++++++++++++++++++++++++++++++++
 cogl/cogl2-clip-state.h         |   52 ++++++++++++++++++++++++++++++++++++++
 8 files changed, 186 insertions(+), 53 deletions(-)

commit cbe9d758d5bf98c2fcab9914fc4fe7b2e0711872
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Mar 9 17:46:23 2011 +0000

    cogl-path: Optimise paths that are just a rectangle
    
    Drawing and clipping to paths is generally quite expensive because the
    geometry has to be tessellated into triangles in a single VBO which
    breaks up the journal batching. If we can detect when the path
    contains just a single rectangle then we can instead divert to calling
    cogl_rectangle which will take advantage of the journal, or by pushing
    a rectangle clip which usually ends up just using the scissor.
    
    This patch adds a boolean to each path to mark when it is a
    rectangle. It gets cleared whenever a node is added or gets set to
    TRUE whenever cogl2_path_rectangle is called. This doesn't try to
    catch cases where a rectangle is composed by cogl_path_line_to and
    cogl_path_move_to commands.

 cogl/cogl-clip-stack.c   |   32 ++++++++++++++++++--------
 cogl/cogl-path-private.h |   11 +++++++++
 cogl/cogl2-path.c        |   55 ++++++++++++++++++++++++++++++++++++++-------
 3 files changed, 79 insertions(+), 19 deletions(-)

commit 9b7f362ea456f03688a693b11d3c39ecc9b6e174
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Mar 8 12:53:41 2011 +0000

    cogl-shader-boilerplate: Specify default precision earlier
    
    In 9ff04e8a99 the builtin uniforms were moved to the common shader
    boilerplate. However the common boilerplate is positioned before the
    default precision specifier on GLES2 so it would fail to compile
    because the uniforms end up with no precision in the fragment
    shader. This patch just moves the precision specifier to above the
    common boilerplate.

 cogl/cogl-shader-boilerplate.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit d4a5d70ee0b2b77007957f825c42ff3931b4cbfd
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Feb 8 10:37:15 2011 +0000

    util: optimize _clutter_util_fully_transform_vertices
    
    Instead of unconditionally combining the modelview and projection
    matrices and then iterating each of the vertices to call
    cogl_matrix_transform_point for each one in turn we now only combine the
    matrices if there are more than 4 vertices (with less than 4 vertices
    its less work to transform them separately) and we use the new
    cogl_vertex_{transform,project}_points APIs which can hopefully
    vectorize the transformations.
    
    Finally the perspective divide and viewport scale is done in a separate
    loop at the end and we don't do the spurious perspective divide and
    viewport scale for the z component.

 cogl/cogl-matrix.c |   14 +++++++-------
 cogl/cogl-matrix.h |    4 ++--
 2 files changed, 9 insertions(+), 9 deletions(-)

commit 962b84ed56877237344c0f9f8079585392ed5580
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Feb 8 15:21:41 2011 +0000

    matrix: adds 2d view transform conveniences
    
    This adds two new experimental functions to cogl-matrix.c:
    cogl_matrix_view_2d_in_perspective and cogl_matrix_view_2d_in_frustum
    which can be used to setup a view transform that maps a 2D coordinate
    system (0,0) top left and (width,height) bottom right to the current
    viewport.
    
    Toolkits such as Clutter that want to mix 2D and 3D drawing can use
    these APIs to position a 2D coordinate system at an arbitrary depth
    inside a 3D perspective projected viewing frustum.

 cogl/cogl-matrix.c |   57 +++++++++++++++++++++++++++++++++++++
 cogl/cogl-matrix.h |   80 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 137 insertions(+), 0 deletions(-)

commit bc372d27346d22a31cf33edaa3f0c1ad91b989e3
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Feb 1 16:51:58 2011 +0000

    viewport: consistently use floats for viewports
    
    OpenGL < 4.0 only supports integer based viewports and internally we
    have a mixture of code using floats and integers for viewports. This
    patch switches all viewports throughout clutter and cogl to be
    represented using floats considering that in the future we may want to
    take advantage of floating point viewports with modern hardware/drivers.

 cogl/cogl-framebuffer-private.h |   26 +++++++++++++-------------
 cogl/cogl-framebuffer.c         |   23 ++++++++++++-----------
 cogl/cogl-journal.c             |    2 +-
 cogl/cogl-matrix-mesa.c         |    8 +++++---
 cogl/cogl-matrix-mesa.h         |    2 +-
 cogl/cogl-texture.c             |   12 ++++++------
 cogl/cogl.c                     |    7 +------
 cogl/cogl.h                     |    3 ---
 8 files changed, 39 insertions(+), 44 deletions(-)

commit b3d9f313d47f1b604a9ecc9c0ada2b1793a87157
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Mar 3 23:19:30 2011 +0000

    util: tune point_in_poly test for polys in screen coords
    
    This makes a change to the original point_in_poly algorithm from:
    http://www.ecse.rpi.edu/Homepages/wrf/Research/Short_Notes/pnpoly.html
    
    The aim was to tune the test so that tests against screen aligned
    rectangles are more resilient to some in-precision in how we transformed
    that rectangle into screen coordinates. In particular gnome-shell was
    finding that for some stage sizes then row 0 of the stage would become a
    dead zone when going through the software picking fast-path and this was
    because the y position of screen aligned rectangles could end up as
    something like 0.00024 and the way the algorithm works it doesn't have
    any epsilon/fuz factor to consider that in-precision.
    
    We've avoided introducing an epsilon factor to the comparisons since we
    feel there's a risk of changing some semantics in ways that might not be
    desirable. One of those is that if you transform two polygons which
    share an edge and test a point close to that edge then this algorithm
    will currently give a positive result for only one polygon.
    
    Another concern is the way this algorithm resolves the corner case where
    the horizontal ray being cast to count edge crossings may cross directly
    through a vertex. The solution is based on the "idea of Simulation of
    Simplicity" and "pretends to shift the ray infinitesimally down so that
    it either clearly intersects, or clearly doesn't touch". I'm not
    familiar with the idea myself so I expect a misplaced epsilon is likely
    to break that aspect of the algorithm.
    
    The simple solution this patch applies is to pixel align the polygon
    vertices which should eradicate most noise due to in-precision.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=641197

 cogl/cogl-journal.c               |    4 +-
 cogl/cogl-point-in-poly-private.h |   10 ++++----
 cogl/cogl-point-in-poly.c         |   41 ++++++++++++++++++++++++++++++++----
 3 files changed, 43 insertions(+), 12 deletions(-)

commit 25db8d06530746cf84557e8bde47f235a1a85170
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Feb 24 18:42:47 2011 +0000

    cogl-blit: Disable blending when using texture render
    
    When using a pipeline and the journal to blit images between
    framebuffers, it should disable blending. Otherwise it will end up
    blending the source texture with uninitialised garbage in the
    destination texture.

 cogl/cogl-blit.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

commit 54cdb0f59f54f0861bfb6dffbe0fe4acfd9e91d8
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Feb 21 18:09:06 2011 +0000

    Merge remote-tracking branch 'elliot/cookbook-effects-custom-deform'
    
    * elliot/cookbook-effects-custom-deform:
      docs: Add effects chapter, with introduction and first recipe

commit c91f102232b9af4dafc7dfbec49405a99bec9bc2
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Sat Feb 19 16:43:46 2011 +0000

    cogl: Remove unused variables

 cogl/cogl-texture-2d-sliced.c |    4 ----
 1 files changed, 0 insertions(+), 4 deletions(-)

commit 8f8b05f0e5f6bd3a82abc9355397ef0640934e68
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Feb 17 13:11:34 2011 +0000

    cogl-atlas-texture: Don't let textures be destroyed during migration
    
    If an atlas texture's last reference is held by the journal or by the
    last flushed pipeline then if an atlas migration is started it can
    cause a crash. This is because the atlas migration will cause a
    journal flush and can sometimes change the current pipeline which
    means that the texture would be destroyed during migration.
    
    This patch adds an extra 'post_reorganize' callback to the existing
    'reorganize' callback (which is now renamed to 'pre_reorganize'). The
    pre_reorganize callback is now called before the atlas grabs a list of
    the current textures instead of after so that it doesn't matter if the
    journal flush destroys some of those textures. The pre_reorganize
    callback for CoglAtlasTexture grabs a reference to all of the textures
    so that they can not be destroyed when the migration changes the
    pipeline. In the post_reorganize callback the reference is removed
    again.
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2538

 cogl/cogl-atlas-texture.c      |   80 ++++++++++++++++++++++++++++++++++++----
 cogl/cogl-atlas.c              |   54 ++++++++++++++++++++-------
 cogl/cogl-atlas.h              |   11 +++--
 pango/cogl-pango-glyph-cache.c |    2 +-
 4 files changed, 120 insertions(+), 27 deletions(-)

commit b77276c99ab70fa6d761edd96efebbe927d6814f
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Feb 15 12:50:15 2011 +0000

    cogl-atlas: Fix a compiler warning when Cogl debug is disabled
    
    When Cogl debugging is disabled then the 'waste' variable is not used
    so it throws a compiler warning. This patch removes the variable and
    the value is calculated directly as the parameter to COGL_NOTE.

 cogl/cogl-atlas.c |    9 ++++-----
 1 files changed, 4 insertions(+), 5 deletions(-)

commit 167c8aac1b0c99e647939d96fefb97a025356be9
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Feb 15 12:44:40 2011 +0000

    cogl-debug: Don't define _cogl_debug_flags when debugging disabled
    
    _cogl_debug_flags isn't used when COGL_DEBUG is not defined so there's
    no need to declare it.
    
    Based on a patch by Fan, Chun-wei
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2561

 cogl/cogl-debug.c |    4 ----
 1 files changed, 0 insertions(+), 4 deletions(-)

commit dd7b1326eb1eaca686eaff186c2e5c4fb8464465
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Feb 15 12:43:26 2011 +0000

    cogl: Avoid pointer arithmetic on void* pointers
    
    Some code was doing pointer arithmetic on the return value from
    cogl_buffer_map which is void* pointer. This is a GCC extension so we
    should try to avoid it. This patch adds casts to guint8* where
    appropriate.
    
    Based on a patch by Fan, Chun-wei.
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2561

 cogl/cogl-attribute.c |    4 ++--
 cogl/cogl-journal.c   |    4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

commit c4cfdd59d3bbf7045d5747263fb52d05daa45335
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Feb 15 12:31:12 2011 +0000

    Fix ISO C90 compiler warnings in Cogl
    
    Mixing declarations and statements and unused variables.

 cogl/cogl-attribute.c     |   14 +++++++---
 cogl/cogl-bitmap-pixbuf.c |   67 ++++++++++++++++++++++++++++++---------------
 cogl/cogl-blend-string.c  |    4 +-
 3 files changed, 57 insertions(+), 28 deletions(-)

commit c8ddb3b55a0a0f46f1c3068fd32dba3f4b198979
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Jan 20 17:45:47 2011 +0000

    cogl-atlas: Try 4 different approaches for migrating textures
    
    Instead of directly banging GL to migrate textures the atlas now uses
    the CoglFramebuffer API. It will use one of four approaches; it can
    set up two FBOs and use _cogl_blit_framebuffer to copy between them;
    it can use a single target fbo and then render the source texture to
    the FBO using a Cogl draw call; it can use a single FBO and call
    glCopyTexSubImage2D; or it can fallback to reading all of the texture
    data back to system memory and uploading it again with a sub texture
    update.
    
    Previously GL calls were used directly because Cogl wasn't able to
    create a framebuffer without a stencil and depth buffer. However there
    is now an internal version of cogl_offscreen_new_to_texture which
    takes a set of flags to disable the two buffers.
    
    The code for blitting has now been moved into a separate file called
    cogl-blit.c because it has become quite long and it may be useful
    outside of the atlas at some point.
    
    The 4 different methods have a fixed order of preference which is:
    
    * Texture render between two FBOs
    * glBlitFramebuffer
    * glCopyTexSubImage2D
    * glGetTexImage + glTexSubImage2D
    
    Once a method is succesfully used it is tried first for all subsequent
    blits. The default default can be overridden by setting the
    environment variable COGL_ATLAS_DEFAULT_BLIT_MODE to one of the
    following values:
    
    * texture-render
    * framebuffer
    * copy-tex-sub-image
    * get-tex-data

 cogl/Makefile.am    |    2 +
 cogl/cogl-atlas.c   |  185 ++----------------------
 cogl/cogl-blit.c    |  389 +++++++++++++++++++++++++++++++++++++++++++++++++++
 cogl/cogl-blit.h    |   89 ++++++++++++
 cogl/cogl-context.c |    4 +
 cogl/cogl-context.h |    1 +
 6 files changed, 501 insertions(+), 169 deletions(-)

commit 5ca053a3c151078ec7db1f18bc7ae537b6952ece
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Feb 10 18:24:14 2011 +0000

    cogl-texture-2d: Add _cogl_is_texture_2d to the private header
    
    This adds a declaration for _cogl_is_texture_2d to the private header
    so that it can be used in cogl-blit.c to determine if the target
    texture is a simple 2D texture.

 cogl/cogl-texture-2d-private.h |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

commit bc86db1057f6ceb9cecd72be085bab7198136f29
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Feb 10 18:22:27 2011 +0000

    cogl-texture-2d: Add an internal wrapper around glCopyTexSubImage2D
    
    This adds a function called _cogl_texture_2d_copy_from_framebuffer
    which is a simple wrapper around glCopyTexSubImage2D. It is currently
    specific to the texture 2D backend.

 cogl/cogl-texture-2d-private.h |   22 ++++++++++++++++++++++
 cogl/cogl-texture-2d.c         |   35 +++++++++++++++++++++++++++++++++++
 2 files changed, 57 insertions(+), 0 deletions(-)

commit 9d242b62a9e0ace8437fb6f637d4e2efe344308d
Author: Neil Roberts <neil@linux.intel.com>
Date:   Sat Feb 5 11:19:52 2011 +0000

    cogl-framebuffer: Add _cogl_blit_framebuffer
    
    This adds the _cogl_blit_framebuffer internal function which is a
    wrapper around glBlitFramebuffer. The API is changed from the GL
    version of the function to reflect the limitations provided by the
    GL_ANGLE_framebuffer_blit extension (eg, no scaling or mirroring).

 cogl/cogl-framebuffer-private.h |   53 +++++++++++++++++++++++++++++++++++++++
 cogl/cogl-framebuffer.c         |   46 +++++++++++++++++++++++++++++++++
 2 files changed, 99 insertions(+), 0 deletions(-)

commit 392cfb493a2da80aa3185162651a184b5f2936b5
Author: Neil Roberts <neil@linux.intel.com>
Date:   Sat Feb 5 12:42:39 2011 +0000

    cogl-gles: Check for the GL_ANGLE_framebuffer_blit extension
    
    This extension is the GLES equivalent of the GL_EXT_framebuffer_blit
    extension except that it has some extra restrictions. We need to check
    for some extension that provides glBlitFramebuffer so that we can
    unconditionally use ctx->drv.pf_glBlitFramebuffer in both GL and GLES
    code. Even with the restrictions, the extension provides enough
    features for what Cogl needs.

 cogl/driver/gles/cogl-feature-functions-gles.h |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

commit 50babfbc7a7793474a68e6f2c49fa8790a821f97
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Jan 21 17:37:10 2011 +0000

    cogl-atlas-texture: Make copying a texture out more robust
    
    Previously when _cogl_atlas_texture_migrate_out_of_atlas is called it
    would unreference the atlas texture's sub-texture before calling
    _cogl_atlas_copy_rectangle. This would leave the atlas texture in an
    inconsistent state during the copy. This doesn't normally matter but
    if the copy ends up doing a render then the atlas texture may end up
    being referenced. In particular it would cause problems if the texture
    is left in a texture unit because then Cogl may try to call
    get_gl_texture even though the texture isn't actually being used for
    rendering. To fix this the sub texture is now unrefed after the copy
    call instead.

 cogl/cogl-atlas-texture.c |   23 +++++++++++++++--------
 1 files changed, 15 insertions(+), 8 deletions(-)

commit a067e7a16b52488b0bf66845959d649de4ca0d43
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Feb 2 14:23:53 2011 +0000

    cogl-framebuffer: Separate the draw and read buffer
    
    The current framebuffer is now internally separated so that there can
    be a different draw and read buffer. This is required to use the
    GL_EXT_framebuffer_blit extension. The current draw and read buffers
    are stored as a pair in a single stack so that pushing the draw and
    read buffer is done simultaneously with the new
    _cogl_push_framebuffers internal function. Calling
    cogl_pop_framebuffer will restore both the draw and read buffer to the
    previous state. The public cogl_push_framebuffer function is layered
    on top of the new function so that it just pushes the same buffer for
    both drawing and reading.
    
    When flushing the framebuffer state, the cogl_framebuffer_flush_state
    function now tackes a pointer to both the draw and the read
    buffer. Anywhere that was just flushing the state for the current
    framebuffer with _cogl_get_framebuffer now needs to call both
    _cogl_get_draw_buffer and _cogl_get_read_buffer.

 cogl/cogl-attribute.c           |    8 +-
 cogl/cogl-clip-stack.c          |   10 +-
 cogl/cogl-clip-state.c          |   14 +-
 cogl/cogl-framebuffer-private.h |   23 ++++-
 cogl/cogl-framebuffer.c         |  235 +++++++++++++++++++++++++++++----------
 cogl/cogl-journal.c             |   11 +-
 cogl/cogl-matrix-stack.c        |    2 +-
 cogl/cogl-primitives.c          |    4 +-
 cogl/cogl-texture.c             |    2 +-
 cogl/cogl.c                     |   50 +++++----
 cogl/cogl2-path.c               |    8 +-
 11 files changed, 255 insertions(+), 112 deletions(-)

commit 4d6754ed0fc9202602241aa0c656befce651033e
Merge: 7eb6dba aa4f633
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Feb 11 16:45:45 2011 +0000

    Merge remote-tracking branch 'nobled/wayland-fixes2'
    
    * nobled/wayland-fixes2:
      wayland: fix shm buffers
      wayland: set renderable type on dummy surface
      wayland: check for egl extensions explicitly
      wayland: fall back to shm buffers if drm fails
      wayland: add shm buffer code
      wayland: make buffer handling generic
      wayland: really fix buffer format selection
      wayland: fix pixel format
      wayland: clean up buffer creation code
      wayland: don't require the surfaceless extensions
      wayland: check for API-specific surfaceless extension
      wayland: fix GLES context creation
      wayland: use EGL_NO_SURFACE
      wayland: update to new api
      wayland: fix connecting to default socket
      fix ClutterContainer docs

commit 7eb6dba7c29aaae2102e5b7e5a04f46abe5300b5
Merge: ef1b400 94bcb44
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Feb 11 15:03:22 2011 +0000

    Merge remote-tracking branch 'elliot/cookbook-animations-path'
    
    * elliot/cookbook-animations-path:
      docs: Add recipe for animating an actor on a curved path

commit ef1b4000424698faebc59172d3fd181584d2a366
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Feb 2 15:17:50 2011 +0000

    cogl-framebuffer: Fix flushing the framebuffer on push
    
    When pushing a framebuffer it would previously push
    COGL_INVALID_HANDLE to the top of the framebuffer stack so that when
    it later calls cogl_set_framebuffer it will recognise that the
    framebuffer is different and replace the top with the new
    pointer. This isn't ideal because it breaks the code to flush the
    journal because _cogl_framebuffer_flush_journal is called with the
    value of the old pointer which is NULL. That function was checking for
    a NULL pointer so it wouldn't actually flush. It also would mean that
    if you pushed the same framebuffer twice we would end up dirtying
    state unnecessarily. To fix this cogl_push_framebuffer now pushes a
    reference to the current framebuffer instead.

 cogl/cogl-framebuffer.c |   15 ++++++++++-----
 1 files changed, 10 insertions(+), 5 deletions(-)

commit 4d2878d4b259ccbe3b5472d0bdbd8685ae7ec57d
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Feb 9 19:31:42 2011 +0000

    cogl-framebuffer: Remove all dependencies after a flush
    
    After a dependent framebuffer is added to a framebuffer it was never
    getting removed. Once the journal for a framebuffer is flushed we no
    longer depend on any framebuffers so the list should be cleared. This
    was causing leaks of offscreens and textures.

 cogl/cogl-framebuffer.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit df07edf83e0072c05a50cc93ae99432163355cec
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Feb 1 13:24:13 2011 +0000

    docs: clarify cogl_vertex_buffer_adds docs
    
    This adds a clarification that cogl_vertex_buffer_add can also be
    used to replace a previously added attribute with the same name.

 cogl/cogl-vertex-buffer.h |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit b351aa4af4fabea79518fdc28b7a38637126a8c2
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Feb 1 13:19:49 2011 +0000

    matrix: note that _matrix_multiply can multiply in-place
    
    This adds a note to clarify that cogl_matrix_multiply allows you to
    multiply the @a matrix in-place, so @a can equal @result but @b can't
    equal @result.

 cogl/cogl-matrix.h |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

commit b3a0bdf7f676a776faa04715ecb92d96aa947f84
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Feb 9 15:24:43 2011 +0000

    cogl: Set the layer matrix on the right layer instead of a random one
    
    When uploading the layer matrix to GL it wasn't first calling
    glActiveTextureMatrix to set the right texture unit for the
    layer. This would end up setting the texture matrix on whatever layer
    happened to be previously active. This happened to work for
    test-cogl-multitexture presumably because it was coincidentally
    setting the layer matrix on the last used layer.

 cogl/cogl-pipeline-vertend-fixed.c |    2 ++
 cogl/cogl-pipeline-vertend-glsl.c  |    2 ++
 2 files changed, 4 insertions(+), 0 deletions(-)

commit 94bcb4429b645f18586fd86aeb80688385a24aef
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Feb 1 18:43:27 2011 +0000

    cogl-vertex-buffer: Use a ref count on the pipeline private data
    
    The pipeline private data is accessed both from the private data set
    on a CoglPipeline and the destroy notify function of a weak material
    that the vertex buffer creates when it needs to override the wrap
    mode. However when a CoglPipeline is destroyed, the CoglObject code
    first removes all of the private data set on the object and then the
    CoglPipeline code gets invoked to destroy all of the weak children. At
    this point the vertex buffer's weak override destroy notify function
    will get invoked and try to use the private data which has already
    been freed causing a crash.
    
    This patch instead adds a reference count to the pipeline private data
    stuct so that we can avoid freeing it until both the private data on
    the pipeline has been destroyed and all of the weak materials are
    destroyed.
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2544

 cogl/cogl-vertex-buffer.c |   33 +++++++++++++++++++++++++++------
 1 files changed, 27 insertions(+), 6 deletions(-)

commit a866f2f4f46cdba425fd8ebee646a9fa3e20b15e
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Feb 1 17:38:58 2011 +0000

    cogl-pipeline: Fix comparing the color in set_layer_combine_constant
    
    In cogl_pipeline_set_layer_combine_constant it was comparing whether
    the new color is the same as the old color using a memcmp on the
    constant_color parameter. However the combine constant is stored in
    the layer data as an array of four floats but the passed in color is a
    CoglColor (which is currently an array of four guint8s). This was
    causing valgrind errors and presumably also the check for setting the
    same color twice would always fail.
    
    This patch makes it do the conversion to a float array upfront before
    the comparison.

 cogl/cogl-pipeline.c |   21 +++++++++++----------
 1 files changed, 11 insertions(+), 10 deletions(-)

commit fadd9358913083b290c458e99dcd41045241f394
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Jan 31 18:53:51 2011 +0000

    cogl-matrix: Get rid of the *_packed variants
    
    cogl_matrix_project_points and cogl_matrix_transform_points had an
    optimization for the common case where the stride parameters exactly
    match the size of the corresponding structures. The code for both when
    generated by gcc with -O2 on x86-64 use two registers to hold the
    addresses of the input and output arrays. In the strided version these
    pointers are incremented by adding the value of a register and in the
    packed version they are incremented by adding an immediate value. I
    think the difference in cost here would be negligible and it may even
    be faster to add a register.
    
    Also GCC appears to retain the loop counter in a register for the
    strided version but in the packed version it can optimize it out and
    directly use the input pointer as the counter. I think it would be
    possible to reorder the code a bit to explicitly use the input pointer
    as the counter if this were a problem.
    
    Getting rid of the packed versions tidies up the code a bit and it
    could potentially be faster if the code differences are small and we
    get to avoid an extra conditional in cogl_matrix_transform_points.

 cogl/cogl-matrix.c |  246 +++++++++++-----------------------------------------
 1 files changed, 50 insertions(+), 196 deletions(-)

commit edd7a71ecfe2404da881b4867f1b4c26829292cd
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Jan 31 13:58:12 2011 +0000

    Merge remote branch 'elliot/cookbook-actors-composite'
    
    * elliot/cookbook-actors-composite:
      docs: Add reference to useful GObject tutorial
      docs: Explain why destroy() is implemented
      docs: Implement destroy() rather than dispose()
      docs: Don't use clutter_stage_get_default()
      docs: Change text on button
      docs: Add a note about other state variables
      docs: Complete composite actor recipe
      docs: Change order of functions in example to match docs
      docs: Add more comments on how allocate() works
      docs: Include code examples in the recipe
      docs: Explain enums for properties and signals
      docs: Don't set explicit size on button
      docs: Add example of preferred_height() and preferred_width()
      docs: Add recipe for creating a custom ClutterActor with composition
      docs: Add more comments on code example for composite actor
      docs: Improve example code formatting
      docs: Add some gtk-doc annotations to example
      docs: Add custom ClutterActor example which uses composition
