Release Cogl 1.14.0 (release)

Good news, everyone!

A new stable Cogl release (1.14.0) is now available:


Cogl 1.14.0                                                        2013-03-25

  • List of changes since Cogl 1.13.4

  » New snippet hook location for adding global definitions that can
    be shared amongst other snippets.
  » Fixed some cases where it's not possible to reference the builtin
    cogl_sampler* uniforms from a snippet.
  » Fixes for building on Visual Studio.
  » Fixed a problem with the workaround for the viewport bug in Mesa
    which could leave a broken scissor when switching between
    different sized framebuffers.
  » Fix some cases where the depth buffer wouldn't get cleared in
  » Fix for leaking pipelines and textures when a pipeline is copied
    but all of its layer properties are replaced.
  » Fix for interleaving snippets with different hook points.
  » The Cogland example Wayland compositor has been updated to the
    Wayland 1.0 API.

  • Bugzilla bugs closed since 1.13.4:

  #686770 - _cogl_bitmap_unbind: assertion failed: (bitmap->bound)
            for gnome-shell on nexus 7
  #694537 - Fails to compile if the EGL stack doesn't implement
  #694657 - cogl-buffer: Stop warning spam running in sw rendering

Many thanks to:

  Chun-wei Fan
  Robert Bragg
  Gheyret Kenji
  Ján Kyselica
  Bastien Nocera
  Duarte Loreto
  Milo Casagrande
  Pavol Klačanský
  Plamena Manolova
  Tomeu Vizoso


Tarballs can be downloaded from:

SHA256 Checksum:


Additionally, a git clone of the source tree:
  git clone git://

will include a signed 1.14.0 tag which points to a commit named:

which can be verified with:
  git verify-tag 1.14.0

and can be checked out with a command such as:
  git checkout -b build 1.14.0


Cogl is a small open source library for using 3D graphics hardware for
rendering. The API departs from the flat state machine style of OpenGL and is
designed to make it easy to write orthogonal components that can render without
stepping on each others toes.

As well as aiming for a nice API, we think having a single library as opposed
to an API specification like OpenGL has a few advantages too; like being
able to paper over the inconsistencies/bugs of different OpenGL
implementations in a centralized place, not to mention the myriad of OpenGL
extensions. It also means we are in a better position to provide utility
APIs that help software developers since they only need to be implemented
once and there is no risk of inconsistency between implementations.

Having other backends, besides OpenGL, such as drm, Gallium or D3D are
options we are interested in for the future.


Cogl currently only requires:

  • GLib ≥ 2.32.0
  • OpenGL ≥ 1.3 (or 1.2 + multitexturing), or OpenGL ES 2.0 (or 1.1)
  • GLX, AGL, WGL or an EGL implementation

Cogl also has optional dependencies:

  • GDK-Pixbuf ≥ 2.0
     - for image loading
  • Cairo ≥ 1.10
     - for debugging texture atlasing (debug builds only)

The optional Cogl Pango library requires:
  • Cairo ≥ 1.10
  • PangoCairo ≥ 1.20

On X11, Cogl depends on the following extensions

  • XComposite ≥ 0.4
  • XDamage
  • XExt
  • XFixes ≥ 3

For the Wayland backend, Cogl requires:
  • Wayland ≥ 1.0.0

When running with OpenGL, Cogl requires at least version 1.3
or 1.2 with the multitexturing extension. However to build Cogl
you will need the latest GL headers which can be obtained from:

If you are building the API reference you will also need:

  • GTK-Doc ≥ 1.13

If you are building the additional documentation you will also need:

  • xsltproc
  • jw (optional, for generating PDFs)

If you are building the Introspection data you will also need:

  • GObject-Introspection ≥ 0.9.5

GObject-Introspection is available from:


If you want support for profiling Cogl you will also need:

  • UProf ≥ 0.3

UProf is available from:



The 1.x stable API is documented here:
The 1.x development API is documented here:

The experimental 2.0 API is currently not hosted online but can be built
by passing the --enable-gtk-doc option to ./configure when building.

  - This Cogl release exports a 1.x API (For third-party Clutter
    developers to write custom actors) and an experimental 2.0 API which
    allows standalone application development.

  - Internally Clutter depends on the Cogl 2.0 experimental API so we
    maintain runtime compatibility between the 1.x API and experimental
    2.0 APIs, which means developers can mix-and-match their use of the
    APIs in the same process. API selection is done per-file by
    including a line like: '#define COGL_ENABLE_EXPERIMENTAL_2_0_API'
    before including cogl.h or clutter.h.

  - We recommend using the 2.0 API if you don't mind updating your code
    once in a while as this API evolves and stabilizes. We promise not
    to break the 2.0 API during a 1.x stable cycle and hope that will
    encourage people to experiment with it and give critical feedback!
    For example after releasing 1.8, the 2.0 API will be stable for
    1.8.1, 1.8.2, 1.8.3 etc, but may update for 1.9/1.10.

  - Because we export the 1.x and 2.0 APIs from one the
    library versioning, and thus ABI, can only be considered as stable
    as our 2.0 API - i.e. during a stable release 1.x cycle.

  - Please report bugs using the Cogl Bugzilla product, at:

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]