[Cogl] Release Cogl 1.11.2 (snapshot)

Robert Bragg robert at sixbynine.org
Wed Aug 15 09:58:36 PDT 2012


Good news, everyone!

Our first development snapshot on the road to 1.12 (1.11.2) is now available:

LATEST NEWS
-------------------------------------------------------------------------------

Cogl 1.11.2                                                        2012-08-14

  • List of changes since Cogl 1.10.0

  » Adds cogl_framebuffer_{fill,stroke}_path APIs consistent with
    other Cogl drawing APIs that replace cogl_path_fill/stroke().
  » Switch from using glib types such as guint32/guint16/guint8 to
    using equivalent stdint.h types.
  » Adds a micro-benchmark for the journal
  » Optimized the matrix stack so we can take immutable references
    of a matrix stack for logging into the journal more efficiently
    than having to copy large matrices for each journaled rectangle.
  » Added COGL_VERSION_{MAJOR,MINOR,MICRO} macros and
    COGL_VERSION_CHECK macros for applications to test what version
    of Cogl they are compiled against.
  » Allow creation of non power of two (npot) CoglTexture2D textures
    with only basic npot support, not including repeating or mipmap
    support.
  » Enable use of the GL_STREAM_DRAW buffer update hint on GLES 2.0
  » Fix building Cogl with --disable-gl
  » Added support for the WebOS version of SDL which supports access
    to GLES 1.1 and GLES 2.0
  » Adds cogl_matrix_init_translation to provide a more efficient
    way to initialize a matrix representing a translation without
    need to multiply matrices.
  » Various documentation fixes for CoglQuaternion and CoglEular
  » Updates for the MSVC build
  » Added GPU architecture detection capabilities so we can
    differentiate drivers based on the hardware vendor, and the
    actual architecture of the GPU, such as deferred vs immediate
    mode.
  » Fix framebuffer initialization to ensure swaps are throttled by
    default.
  » Fix flushing of the depth state for some cases.
  » Ported test-atlas-migration to be a standalone Cogl test
  » Added GLES 2.0 API integration support so that existing GLES 2.0
    based code can easily be integrated within Cogl based
    applications.  For example this is being used by webkit-clutter to
    add WebGL support.
  » Added an optional libcogl-gles2 sub-library that provides a full
    GLES 2.0 api api to really lower the barrier as much as possible
    for being able to integrate existing GLES 2.0 based code into
    Cogl applications.
  » Adds a Cogl GLES 2.0 Gears example application to test the GLES
    2.0 integration support.
  » Fix a bug with disabling of Cogl's debugging features.
  » Added api to directly convert a Eular to a Quaternion.
  » Improve the wireframe debug option to work when a vertex shader
    is in use.
  » Added support for SDL2 which supports GLES 2.0
  » Support the original GLSL extensions which had some different
    function names.
  » Avoid using eglGetProcAddress for core symbols which isn't allowed
    by the EGL spec and causes problems on Android.
  » Adds cogl_android_bitmap_new_from_asset() API to load images from
    Android assets.
  » Adds support for resizable onscreen framebuffers.
  » Avoids implicitly including the EGL headers when including cogl.h
  » Adds cogl.conf and environment variables to allow disabling the
    use of specific GL extensions; for example if the implementation
    is known to be buggy on a given system.

  • List of bugs fixed since Cogl 1.10.0

    #660617 - Porting of clutter tests
    #672533 - Quartz image option causes compile error
    #673137 - Grab the current window -> Screenshot is mirrored
    #674208 - [PATCH] disable sub-buffer copies on software Mesa
    #675119 - unable to build the latest version due to two bugs
    #677078 - GLSL detection not working for Intel GMA3150 chipset
    #678316 - remove unneeded check for libdrm
    #680124 - Quartz Image option , memory not zeroed before loading?
    #681285 - Support building with automake 1.12.x

Many thanks to:

    Neil Roberts
    Robert Bragg
    Damien Lespiau
    Chun-wei Fan
    Tomeu Vizoso
    Carles Ferrando
    Chao-Hsiung Liao
    Bruno Brouard
    Christian Kirbach
    Daniel Mustieles
    Fran Diéguez
    Gil Forcada
    Marek Černocký
    Matej Urbančič
    Yaron Shahrabani
    Мирослав Николић
    Adel Gadllah
    Alexander Shopov
    Andika Triwidada
    Antoine Jacoutot
    Daniel Nylander
    Gabor Kelemen
    Hajime Taira
    Ihar Hrachyshka
    Jordi Serratosa
    Kjartan Maraas
    Krishnababu Krothapalli
    Kristjan SCHMIDT
    Luca Bruno
    Mario Blättermann
    Nilamdyuti Goswami
    Rajesh Ranjan
    Rico Tzschichholz
    Rūdolfs Mazurs
    Sasi Bhushan Boddepalli
    Sjoerd Simons
    Stef Walter
    Tobias Endrigkeit
    Yinghua Wang
    fenghelong
    Κωνσταντίνος Χόρτης

FETCHING THE RELEASE
-------------------------------------------------------------------------------

Tarballs can be downloaded from:

  http://download.gnome.org/sources/cogl/1.11/

SHA256 Checksum:

84fb950127dec14ae76d1bdc531f4e2a791f4206f0d0c75ce4606a8b7ea6ff62
cogl-1.11.2.tar.bz2

Additionally, a git clone of the source tree:
  git clone git://git.gnome.org/cogl

will include a signed 1.11.2 tag which points to a commit named:
  bc305b1150f7709a977be425bf492526da0e11ce

which can be verified with:
  git verify-tag 1.11.2

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

DESCRIPTION
-------------------------------------------------------------------------------

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.


REQUIREMENTS
-------------------------------------------------------------------------------

Cogl currently only requires:

  • GLib ≥ 2.28.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

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:

  http://www.khronos.org

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:

  git://git.gnome.org/gobject-introspection

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

  • UProf ≥ 0.3

UProf is available from:

  git://github.com/rib/UProf.git



DOCUMENTATION
-------------------------------------------------------------------------------

The 1.x API is documented here:
  http://docs.clutter-project.org/docs/cogl/1.11
The experimental 2.0 API is documented here:
  http://docs.clutter-project.org/docs/cogl-2.0-experimental/1.11


RELEASE NOTES
-------------------------------------------------------------------------------
  - This is a development snapshot release so there are not API or ABI stability
    guarantees at this point for new APIs since the last stable release.

  - 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 libcogl.so 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:
    http://bugzilla.gnome.org/enter_bug.cgi?product=cogl


More information about the Cogl mailing list