spec=initial..1.0.0
commit 68f3c87f967c37c1fa98a3f57a14191f37b70921
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Jul 28 13:57:07 2009 +0100

    Fix compiler warnings when COGL debug level=minimum

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

commit 05dabd1aa5d03af64248ba2114a90f3ac984e938
Author: Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
Date:   Tue Jul 7 20:02:25 2009 +0200

    Avoid near/far identifier names.
    
    Leads to conflict with system headers on Windows, where macros named
    "near" and "far" are defined.

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

commit 237553984e6e45a2e93bc6c6c803fedc664af278
Author: Ole André Vadla Ravnås <oleavr@gmail.com>
Date:   Wed Jul 1 16:27:11 2009 +0200

    Call glClientActiveTexture() through COGL context.
    
    Fixes build issues on systems with OpenGL header older than 1.3.

 common/cogl.c        |    4 ++++
 gl/cogl-primitives.c |    2 ++
 2 files changed, 6 insertions(+), 0 deletions(-)

commit 243b22640dcdd10a75d3b1f2910be6405ace0f52
Author: Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
Date:   Tue Jun 16 22:29:21 2009 +0200

    Avoid C99 to fix compilation with compilers like MSVC.

 common/cogl-blend-string.c |   20 ++++++++++----------
 common/cogl-primitives.c   |    8 ++++++--
 common/cogl.c              |    4 +++-
 3 files changed, 19 insertions(+), 13 deletions(-)

commit 584eca5eee1d1febc486594b1f8c7ac218fcf45c
Author: Haakon Sporsheim <haakon.sporsheim@gmail.com>
Date:   Tue Mar 31 14:37:07 2009 +0200

    Reposition variable declarations to avoid C99.

 common/cogl-material.c |    3 ++-
 common/cogl-matrix.c   |    6 ++++--
 2 files changed, 6 insertions(+), 3 deletions(-)

commit ab88c0a8885bcfccd7c56cef0d81b4147a24c31d
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Jul 27 16:51:14 2009 +0100

    [build] Use API_VERSION, not MAJORMINOR
    
    The correct macro for Clutter's API version is CLUTTER_API_VERSION,
    not CLUTTER_MAJORMINOR anymore.

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

commit d1b8cab65d25ae00dc919390b231ad9c9b4f41ba
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Jul 20 12:49:35 2009 +0100

    [doc] Miscellaneous documentation fixes
    
    Remove private symbols, and add missing public ones.

 cogl-material.h                      |   79 ++++++++++++++++++---------------
 cogl-types.h                         |   16 +++++++
 cogl.h.in                            |   31 +++++++------
 doc/reference/cogl/Makefile.am       |    7 +++
 doc/reference/cogl/cogl-sections.txt |   22 +---------
 5 files changed, 83 insertions(+), 72 deletions(-)

commit 1da8ce3429d95228eb46326f6f796c0a13deaaf9
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Jul 20 12:47:53 2009 +0100

    [cogl] Make the blend string error domain public
    
    The error domain and codes must present in a publicly installed header
    otherwise they won't be usable to match a GError.

 cogl-types.h               |   11 +++++++++++
 common/cogl-blend-string.c |    2 +-
 common/cogl-blend-string.h |   13 -------------
 3 files changed, 12 insertions(+), 14 deletions(-)

commit afe10f9897b1789685ee9173c82db680fc5a84f9
Author: Robert Bragg <robert@linux.intel.com>
Date:   Sun Jul 19 10:08:32 2009 +0100

    [doc] Remove references to cogl_vertex_buffer_delete_indices
    
    These referencese were left over from before indices got CoglHandles to
    uniquely identify them.  cogl_handle_unref can be used to delete indices
    now.

 cogl-vertex-buffer.h                 |   14 --------------
 doc/reference/cogl/cogl-sections.txt |    1 -
 2 files changed, 0 insertions(+), 15 deletions(-)

commit c570014360d9e5725d843e9cebb9dd8f88cec32a
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Sat Jul 18 16:59:54 2009 +0100

    [cogl/gles] Fix missing symbols in CoglContext
    
    Keep the CoglContext in sync between GL and GLES backends. We ought
    to find a way to have a generic context, though, and have backend
    specific sections.
    
    Fixes bug:
    
      http://bugzilla.openedhand.com/show_bug.cgi?id=1698

 gles/cogl-context.h |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)

commit b00fb8598ae06f34805eab2981f87b6931fda55a
Author: Owen W. Taylor <otaylor@fishsoup.net>
Date:   Fri Jul 17 15:10:06 2009 -0400

    Fix building introspection when dolt is not in use
    
    On some platforms (anything but Linux, and on obscure Linux
    architectures) dolt isn't used, so $(top_builddir)/doltlibtool
    won't exist. $(top_builddir)/libtool will always be generated
    even if dolt is used, so just use that unconditionally. We don't
    need the extra speed when linking the single program for
    introspection.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1699
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

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

commit ec89082e4bf9b5c1dbcfff42e794a9cd7b343f5f
Author: Evan Martin <martine@danga.com>
Date:   Sun Jul 12 01:38:40 2009 +0100

    [docs] Fix typos and remove mentions of SVN
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

 cogl-path.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit af49769b33a4596208cc5496883051ffbba0c0f9
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Jul 7 16:16:56 2009 +0100

    [cogl] Fix more brokeness with _cogl_material_equal
    
    commit e2c4a2a9f83 fixed one thing but broke many others things :-/
    hopfully this fixes that.
    
    It turned out that the journal was mistakenly setting the OVERRIDE_LAYER0
    flush option for all entries, but some other logic errors were also
    uncovered in _cogl_material_equal.

 common/cogl-material.c   |   73 +++++++++++++++++++++++++++++++++------------
 common/cogl-primitives.c |    7 +++-
 2 files changed, 58 insertions(+), 22 deletions(-)

commit a8e93e8588ef57f5a176f7e2e84f481b696fae8b
Author: Robert Bragg <robert@linux.intel.com>
Date:   Sat Jul 4 00:15:49 2009 +0100

    [cogl] Fix drawing with sliced textures using material layer0 overrides
    
    To help us handle sliced textures; When flushing materials there is an
    override option that can be given to replace the texture name for layer0
    so we may iterate the slices without needing to modify the material
    in use.
    
    Since improving the journal's ability to batch state changes we added a
    _cogl_material_equals function that is used by the journal to compare
    materials and identify when a state change is required, but this wasn't
    correctly considering the layer0 override resulting in false positives that
    meant the journal wouldn't update the GL state and the first texture name
    was used for all slices.

 common/cogl-material-private.h |    3 +-
 common/cogl-material.c         |  208 +++++++++++++++++++++++++++-------------
 common/cogl-primitives.c       |    3 +-
 3 files changed, 144 insertions(+), 70 deletions(-)

commit fffcf579d5c7e3d97f1641b0cb0433c23700f484
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri Jul 3 00:34:10 2009 +0100

    [cogl matrix stack] Create a client side matrix stack for the projection matrix
    
    The cost of glGetFloatv with Mesa is still representing a majority of our
    time in OpenGL for some applications, and the last thing left using this is
    the current-matrix API when getting the projection matrix.
    
    This adds a matrix stack for the projection matrix, so all getting, setting
    and modification of the projection matrix is now managed by Cogl and it's only
    when we come to draw that we flush changes to the matrix to OpenGL.
    
    This also brings us closer to being able to drop internal use of the
    deprecated OpenGL matrix functions, re: commit 54159f5a1d02

 common/cogl-current-matrix.c |  105 +++++++++++++++++++++++++----------------
 common/cogl-current-matrix.h |    2 +
 common/cogl-matrix-stack.c   |    8 +---
 common/cogl-matrix.c         |    1 +
 common/cogl-primitives.c     |   10 +++-
 common/cogl-vertex-buffer.c  |    4 +-
 common/cogl.c                |    7 ++-
 gl/cogl-context.h            |    1 +
 gl/cogl-primitives.c         |    6 +-
 9 files changed, 85 insertions(+), 59 deletions(-)

commit fcc3d56209f5783f21388599ebe2b9c262a07291
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Jul 1 12:34:54 2009 +0100

    Split the typdef to avoid confusing scanners
    
    Scanners like gtk-doc and g-ir-scanner get confused by:
    
      typedef struct _Foo {
        ...
      } Foo;
    
    And expect instead:
    
      typedef struct _Foo Foo;
    
      struct _Foo {
        ...
      };
    
    CoglMatrix definition should be changed to avoid the former type.

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

commit a6880643a08d8387bbbae84a040758d283520e38
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Jun 25 14:39:57 2009 +0100

    Add debug notes for calls to glViewport()
    
    In order to validate the sequence of:
    
            XResizeWindow
            ConfigureNotify
            glViewport
    
    that should happen on X11 we need to add debug annotations to the
    calls to glViewport() done through COGL.

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

commit 82ef6b51b9876c82e72d514ef7d8932cdf409e41
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Jul 1 12:57:30 2009 +0100

    [cogl] cache the viewport width and height
    
    This avoids some calls to glGetFloatv, which have at least proven to be very
    in-efficient in mesa at this point in time, since it always updates all derived
    state even when it may not relate to the state being requested.

 common/cogl.c     |   30 ++++++++++++++++--------------
 gl/cogl-context.c |    3 +++
 gl/cogl-context.h |    3 +++
 gl/cogl-fbo.c     |    2 +-
 4 files changed, 23 insertions(+), 15 deletions(-)

commit fdc048ddd0c91de5929ec36b2ec05b1091704a64
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri Jun 19 12:15:12 2009 +0100

    [cogl] Ensure well defined semantics for COGL_INVALID_HANDLE material layers
    
    Fixes and adds a unit test for creating and drawing using materials with
    COGL_INVALID_HANDLE texture layers.
    
    This may be valid if for example the user has set a texture combine string
    that only references a constant color.
    
    _cogl_material_flush_layers_gl_state will bind the fallback texture for any
    COGL_INVALID_HANDLE layer, later though we could explicitly check when the
    current blend mode does't actually reference a texture source in which case
    binding the fallback texture is redundant.
    
    This tests drawing using cogl_rectangle, cogl_polygon and
    cogl_vertex_buffer_draw.

 common/cogl-material.c      |    8 +++++++-
 common/cogl-primitives.c    |   35 ++++++++++++++++++++++++++++-------
 common/cogl-vertex-buffer.c |   10 ++++++++--
 3 files changed, 43 insertions(+), 10 deletions(-)

commit 4d55d146b3974f919d7f46515573ee0cfc029247
Merge: 096c1df b4bc9eb
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Jun 30 17:17:30 2009 +0100

    Merge branch 'cogl-journal-batching'
    
    [cogl] Improve ability to break out into raw OpenGL via begin/end mechanism
    Adds a cogl_flush() to give developers breaking into raw GL a fighting chance
    [cogl-material] Be more carefull about flushing in cogl_material_remove_layer
    Revert "[rectangle] Avoid modifying materials mid scene"
    Revert "[actor] Avoid modifying materials mid-scene to improve journal batching"
    [cogl-vertex-buffer] Disable unused client tex coord arrays
    [cogl] disable all client tex coord arrays in _cogl_add_path_to_stencil_buffer
    [cogl] flush matrices in _cogl_add_path_to_stencil_buffer
    [journal] Don't resize a singlton VBO; create and destroy a VBO each flush
    [cogl] avoid using the journal in _cogl_add_path_to_stencil_buffer
    [pango-display-list] Use the Cogl journal for short runs of text
    [material] _cogl_material_equal: catch the simplest case of matching handles
    [material] avoid flushing the journal when just changing the color
    [cogl journal] Perform software modelview transform on logged quads.
    [Cogl journal] use G_UNLIKLEY around runtime debugging conditions
    [cogl journal] Adds a --cogl-debug=batching option to trace batching
    [Cogl journal] Adds a --cogl-debug=journal option for tracing the journal
    [cogl] Adds a debug option for disabling use of VBOs --cogl-debug=disable-vbos
    [cogl] Force Cogl to always use the client side matrix stack
    [cogl-debug] Adds a "client-side-matrices" Cogl debug option
    [cogl-color] Adds a cogl_color_equal() function
    [cogl material] optimize logging of material colors in the journal
    [rectangle] Avoid modifying materials mid scene
    [actor] Avoid modifying materials mid-scene to improve journal batching
    [journal] Always pad our vertex data as if at least 2 layers are enabled
    [cogl] Improving Cogl journal to minimize driver overheads + GPU state changes
    
    The Cogl journal is a mechanism Cogl uses to batch geometry resulting from
    any of the cogl_rectangle* functions before sending it to OpenGL.  This aims
    to improve the Cogl journal so that it can reduce the number of state
    changes and draw calls we issue to the OpenGL driver and hopfully improve
    performance.
    
    Previously each call to any of the cogl_rectangle* functions would imply an
    immediate GL draw call, as well as a corresponding modelview change;
    material state changes and gl{Vertex,Color,TexCoord}Pointer calls.  Now
    though we have tried to open the scope for batching up as much as possible
    so we only have to flush the geometry either before calling glXSwapBuffers,
    or when we change state that isn't tracked by the journal.
    
    As a basic example, it's now possible for us to batch typical picking
    renders into a single draw call for the whole scene.
    
    Some key points about this change:
    - We now perform transformations of quads in software (except for long runs of
      text which continue to use VBOs)
        * It might seem surprising at first, but when you consider that so many
          Clutter actors are little more than textured quads and each actor
          typically implies a modelview matrix change; the costs involved in
          setting up the GPU with the new modelview can easily out weigh the cost
          of simply transforming 4 vertices.
    - We always use Cogl's own client side matrix API now.
        * We found the performance of querying the OpenGL driver for matrix state
          was often worse than using the client matrix code, and also - discussing
          with Mesa developers - agreed that since khronos has essentially
          deprecated the GL matrix API (by removing it from OpenGL 3 and
          OpenGL-ES 2) it was appropriate to take full responsibility for all our
          matrix manipulation.
    - Developers should avoid modifying materials mid-scene.
        * With the exception of material color changes, if you try and modify a
          material that is referenced in the journal we will currently force a
          journal flush. Note: you can assume that re-setting the same value for
          a material property won't require a flush though.
    - Several new --cogl-debug options have been added
        * "disable-batching" can be used to identify bugs in the way that the
          journal does its batching; of could this shouldn't ever be needed :-)
        * "disable-vbos" can be used to test the VBO fallback paths where we
          simply use malloc()'d buffers instead.
        * "batching" lets you get an overview of how the journal is batching
          your geometry and may help you identify ways to improve your
          application performance.
        * "journal" lets you trace all the geometry as it gets logged in the
          journal, and all the geometry as its flushed from the journal.
          Obviously an inconsistency can identify a bug, but the numbers may
          help you verify application logic too.
        * "disable-software-transform" as implied will instead use the driver
          /GPU to transform quads by the modelview matrix.
        Although committed separately a --clutter-debug=nop-picking option was
        also added that lets you remove picking from the equation, which can
        sometimes help make problem analysis more deterministic.

commit b4bc9eb458f6cad450c0c7b8dc726ff275c7e21d
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Jun 29 22:32:05 2009 +0100

    [cogl] Improve ability to break out into raw OpenGL via begin/end mechanism
    
    Although we wouldn't recommend developers try and interleve OpenGL drawing
    with Cogl drawing - we would prefer patches that improve Cogl to avoid this
    if possible - we are providing a simple mechanism that will at least give
    developers a fighting chance if they find it necissary.
    
    Note: we aren't helping developers change OpenGL state to modify the
    behaviour of Cogl drawing functions - it's unlikley that can ever be
    reliably supported - but if they are trying to do something like:
    
       - setup some OpenGL state.
       - draw using OpenGL (e.g. glDrawArrays() )
       - reset modified OpenGL state.
       - continue using Cogl to draw
    
    They should surround their blocks of raw OpenGL with cogl_begin_gl() and
    cogl_end_gl():
    
       cogl_begin_gl ();
       - setup some OpenGL state.
       - draw using OpenGL (e.g. glDrawArrays() )
       - reset modified OpenGL state.
       cogl_end_gl ();
       - continue using Cogl to draw
    
    Again; we aren't supporting code like this:
       - setup some OpenGL state.
       - use Cogl to draw
       - reset modified OpenGL state.
    When the internals of Cogl evolves, this is very liable to break.
    
    cogl_begin_gl() will flush all internally batched Cogl primitives, and emit
    all internal Cogl state to OpenGL as if it were going to draw something
    itself.
    
    The result is that the OpenGL modelview matrix will be setup; the state
    corresponding to the current source material will be setup and other world
    state such as backface culling, depth and fogging enabledness will be also
    be sent to OpenGL.
    
    Note: no special material state is flushed, so if developers want Cogl to setup
    a simplified material state it is the their responsibility to set a simple
    source material before calling cogl_begin_gl. E.g. by calling
    cogl_set_source_color4ub().
    
    Note: It is the developers responsibility to restore any OpenGL state that they
    modify to how it was after calling cogl_begin_gl() if they don't do this then
    the result of further Cogl calls is undefined.

 cogl.h.in                            |   79 ++++++++++++++++++++++++++++++++++
 common/cogl.c                        |   75 ++++++++++++++++++++++++++++++++
 doc/reference/cogl/cogl-sections.txt |    2 +
 gl/cogl-context.c                    |    2 +
 gl/cogl-context.h                    |    2 +
 5 files changed, 160 insertions(+), 0 deletions(-)

commit 99f53c392244d75fafe3e79051b038974e19b4c0
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Jun 29 17:10:34 2009 +0100

    Adds a cogl_flush() to give developers breaking into raw GL a fighting chance
    
    This function should only need to be called in exceptional circumstances
    since Cogl can normally determine internally when a flush is necessary.
    
    As an optimization Cogl drawing functions may batch up primitives
    internally, so if you are trying to use raw GL outside of Cogl you stand a
    better chance of being successful if you ask Cogl to flush any batched
    geometry before making your state changes.
    
    cogl_flush() ensures that the underlying driver is issued all the commands
    necessary to draw the batched primitives.  It provides no guarantees about
    when the driver will complete the rendering.
    
    This provides no guarantees about the GL state upon returning and to avoid
    confusing Cogl you should aim to restore any changes you make before
    resuming use of Cogl.
    
    If you are making state changes with the intention of affecting Cogl drawing
    primitives you are 100% on your own since you stand a good chance of
    conflicting with Cogl internals.  For example clutter-gst which currently
    uses direct GL calls to bind ARBfp programs will very likely break when Cogl
    starts to use ARBfb programs internally for the material API, but for now it
    can use cogl_flush() to at least ensure that the ARBfp program isn't applied
    to additional primitives.
    
    This does not provide a robust generalized solution supporting safe use of
    raw GL, its use is very much discouraged.

 cogl.h.in                            |   42 ++++++++++++++++++++++-----------
 common/cogl.c                        |    4 +-
 doc/reference/cogl/cogl-sections.txt |    3 ++
 3 files changed, 33 insertions(+), 16 deletions(-)

commit cf621948a72cdac0f300d49dece427e2b720f1bb
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Jun 24 18:34:06 2009 +0100

    [cogl-material] Be more carefull about flushing in cogl_material_remove_layer
    
    Previously we would call _cogl_material_pre_change_notify unconditionally, but
    now we wait until we really know we are removing a layer before notifying the
    change, which will require a journal flush.
    
    Since the convenience functions cogl_set_source_color4ub and
    cogl_set_source_texture share a single material, cogl_set_source_color4ub
    always calls cogl_material_remove_layer.  Often this is a NOP though and
    shouldn't require a journal flush.
    
    This gets performance back to where it was before reverting the per-actor
    material commits.

 common/cogl-material.c |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)

commit 2ae3d4b1c13047f4d866111ac4d52c3ec2efd46f
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Jun 24 18:10:50 2009 +0100

    [cogl-vertex-buffer] Disable unused client tex coord arrays
    
    Before any cogl vertex buffer drawing we call
    enable_state_for_drawing_buffer which sets up the GL state, but we weren't
    disabling unsed client texture coord arrays.

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

commit 186a26eb266d564086b6867885b395fb6327fc50
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Jun 22 01:29:39 2009 +0100

    [cogl] disable all client tex coord arrays in _cogl_add_path_to_stencil_buffer
    
    After flushing the journal an unknown number of client side texture arrays
    may be left enabled. Disable them all before using glDrawArrays.

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

commit 4dada4c49ea7347ac5e236aae9a103e351339ec8
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Jun 22 00:49:20 2009 +0100

    [cogl] flush matrices in _cogl_add_path_to_stencil_buffer
    
    Before calling glRectf we need to ensure we flush the modelview and
    projection matrices.

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

commit a7974f8e6f56dcdec20741cb3b2a26c759142d9f
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Jun 22 00:11:41 2009 +0100

    [journal] Don't resize a singlton VBO; create and destroy a VBO each flush
    
    This simplifies the vertex data uploading in the journal, and could improve
    performance.  Modifying a VBO mid-scene could reqire synchronizing with the
    GPU or some form of shadowing/copying to avoid modifying data that the GPU
    is currently processing; the buffer was also being marked as GL_STATIC_DRAW
    which could have made things worse.
    
    Now we simply create a GL_STATIC_DRAW VBO for each flush and and delete it
    when we are finished.

 common/cogl-primitives.c |   40 ++++++++++++----------------------------
 1 files changed, 12 insertions(+), 28 deletions(-)

commit 1ecfd72936eedda3c75257d47f6b73b2648bfd47
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Jun 22 00:05:02 2009 +0100

    [cogl] avoid using the journal in _cogl_add_path_to_stencil_buffer
    
    Using cogl_rectangle (and thus the journal) in
    _cogl_add_path_to_stencil_buffer means we have to consider all the state
    that the journal may change in case it may interfer with the direct GL calls
    used.  This has proven to be error prone and in this case the journal is an
    unnecissary overhead.  We now simply call glRectf instead of using
    cogl_rectangle.

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

commit ac4f7f0bfe945f7bb04e2c3bd3d1d9d916ac44bb
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Jun 17 23:31:40 2009 +0100

    [material] _cogl_material_equal: catch the simplest case of matching handles
    
    We were missing the simplest test of all: are the two CoglHandles equal and
    are the flush option flags for each material equal?  This should improve
    batching for some common cases.

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

commit 3369c5138bd81a43ff24bd7533c67df0c774f5bd
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Jun 17 23:31:11 2009 +0100

    [material] avoid flushing the journal when just changing the color
    
    Whenever we modify a material we call _cogl_material_pre_change_notify which
    checks to see if the material is referenced by the journal and if so flushes
    if before we modify the material.
    
    Since the journal logs material colors directly into a vertex array (to
    avoid us repeatedly calling glColor) then we know we never need to flush
    the journal when material colors change.

 common/cogl-material.c |   80 +++++++++++++++++++++++++++++++-----------------
 1 files changed, 52 insertions(+), 28 deletions(-)

commit f2f4f5f06f1051012bb643b822b29f7ec1bd28f6
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Jun 17 01:31:36 2009 +0100

    [cogl journal] Perform software modelview transform on logged quads.
    
    Since most Clutter actors aren't much more than textured quads; flushing the
    journal typically involves lots of 'change modelview; draw quad' sequences.
    
    The amount of overhead involved in uploading a new modelview and queuing
    that primitive is huge in comparison to simply transforming 4 vertices by
    the current modelview when logging quads.  (Note if your GPU supports HW
    vertex transform, then it still does the projective and viewport transforms)
    
    At the same time a --cogl-debug=disable-software-transform option has been
    added for comparison and debugging.
    
    This change allows typical pick scenes to be batched into a single draw call
    and I'm seeing test-pick run over 200% faster with this.  (i965 + Mesa
    7.6-devel)

 cogl-debug.h             |    3 +-
 common/cogl-debug.c      |    3 +-
 common/cogl-primitives.c |  158 +++++++++++++++++++++++++++++++++------------
 3 files changed, 120 insertions(+), 44 deletions(-)

commit 9d1bd46dafcc9fb266941254556349a71a572b12
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Jun 17 01:30:24 2009 +0100

    [Cogl journal] use G_UNLIKLEY around runtime debugging conditions
    
    May as well improve the branch prediction around runtime debugging code.

 common/cogl-primitives.c |   16 ++++++++--------
 1 files changed, 8 insertions(+), 8 deletions(-)

commit 839c466d62a501da21b0f8d778efdf4319a5a275
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Jun 11 11:54:01 2009 +0100

    [cogl journal] Adds a --cogl-debug=batching option to trace batching
    
    Enabling this option makes Cogl trace how the journal is managing to batch
    your rectangles.  The journal staggers how it emmits state to the GL driver
    and the batches will normally get smaller for each stage, but ideally you
    don't want to be in a situation where Cogl is only able to draw one quad per
    modelview change and draw call.
    
    E.g. this is a fairly ideal example:
    BATCHING: journal len = 101
    BATCHING:  vbo offset batch len = 101
    BATCHING:   material batch len = 101
    BATCHING:    modelview batch len = 101
    
    This isn't:
    BATCHING: journal len = 1
    BATCHING:  vbo offset batch len = 1
    BATCHING:   material batch len = 1
    BATCHING:    modelview batch len = 1
    BATCHING: journal len = 1
    BATCHING:  vbo offset batch len = 1
    BATCHING:   material batch len = 1
    BATCHING:    modelview batch len = 1
    <repeat>

 cogl-debug.h             |    5 +++--
 common/cogl-debug.c      |    3 ++-
 common/cogl-primitives.c |   17 ++++++++++++-----
 3 files changed, 17 insertions(+), 8 deletions(-)

commit 121bcd6dfe9aa7126dfa5d88aa0cf5b5c61a456d
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Jun 17 01:59:28 2009 +0100

    [Cogl journal] Adds a --cogl-debug=journal option for tracing the journal
    
    When this option is used Cogl will print a trace of all quads that get
    logged into the journal, and a trace of quads as they get flushed.
    
    If you are seeing a bug with the geometry being drawn by Cogl this may give
    some clues by letting you sanity check the numbers being logged vs the
    numbers being emitted.

 cogl-debug.h             |    3 ++-
 common/cogl-debug.c      |    3 ++-
 common/cogl-primitives.c |   36 +++++++++++++++++++++++-------------
 3 files changed, 27 insertions(+), 15 deletions(-)

commit 540a91c7fc32b631488255ae5d17562c74c0e05f
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Jun 17 01:46:06 2009 +0100

    [cogl] Adds a debug option for disabling use of VBOs --cogl-debug=disable-vbos
    
    For testing the VBO fallback paths it helps to be able to disable the
    COGL_FEATURE_VBOS feature flag.  When VBOs aren't available Cogl should use
    client side malloc()'d buffers instead.

 cogl-debug.h        |    3 ++-
 common/cogl-debug.c |    3 ++-
 common/cogl.c       |    3 +++
 3 files changed, 7 insertions(+), 2 deletions(-)

commit 491ceaae07f57b4fcc579add6c43a495be7110ba
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Jun 17 01:37:39 2009 +0100

    [cogl] Force Cogl to always use the client side matrix stack
    
    Previously we only used the Cogl matrix stack API for indirect contexts, but
    it's too costly to keep on requesting modelview matrices from GL (for
    logging in the journal) even for direct rendering.
    
    I also experimented with a patch for mesa to improve performance and
    discussed this with upstream, but we agreed to consider the GL matrix API
    essentially deprecated.  (For reference the GLES 2 and GL 3 specs have
    removed the matrix APIs)

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

commit f4516e4057f0b7f06e1cc6b26e6de7e846644678
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri Jun 5 13:50:00 2009 +0100

    [cogl-debug] Adds a "client-side-matrices" Cogl debug option
    
    This allows us to force Cogl to use the client side matrix stack even when
    direct rendering.

 cogl-debug.h                 |    3 ++-
 common/cogl-current-matrix.c |    3 ++-
 common/cogl-debug.c          |    3 ++-
 3 files changed, 6 insertions(+), 3 deletions(-)

commit 7b85da8b287ebb6b324848ee8136dc2f66f9759f
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri Jun 5 12:58:31 2009 +0100

    [cogl-color] Adds a cogl_color_equal() function
    
    CoglColors shouldn't be compared using memcmp since they may contain
    uninitialized padding bytes.
    
    The prototype is also suitable for passing to g_hash_table_new as the
    key_equal_func.
    
    _cogl_pango_display_list_add_texture now uses this instead of memcmp.

 cogl-color.h        |   16 ++++++++++++++++
 common/cogl-color.c |   15 +++++++++++++++
 2 files changed, 31 insertions(+), 0 deletions(-)

commit 827798233a5afae073893d14a1ba72935d4fca09
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Jun 4 14:23:16 2009 +0100

    [cogl material] optimize logging of material colors in the journal
    
    We now put the color of materials into the vertex array used by the journal
    instead of calling glColor() but the number of requests for the material
    color were quite expensive so we have changed the material color to
    internally be byte components instead of floats to avoid repeat conversions
    and added _cogl_material_get_colorubv as a fast-path for the journal to
    copy data into the vertex array.

 common/cogl-material-private.h |   21 ++++-----------
 common/cogl-material.c         |   51 +++++++++++++++++++++++----------------
 common/cogl-primitives.c       |   26 ++++++++-----------
 gles/cogl-gles2-wrapper.c      |    7 +++++
 gles/cogl-gles2-wrapper.h      |    2 +
 5 files changed, 56 insertions(+), 51 deletions(-)

commit 2f367cc8021b3b55b74c0667132c89fddf298803
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Jun 10 13:59:45 2009 +0100

    [journal] Always pad our vertex data as if at least 2 layers are enabled
    
    The number of material layers enabled when logging a quad in the journal
    determines the stride of the corresponding vertex data (since we need a set
    of texture coordinates for each layer.) By padding data in the case where we
    have only one layer we can avoid a change in stride if we are mixing single
    and double layer primitives in a scene (e.g.  relevent for a composite
    manager that may use 2 layers for all shaped windows) Avoiding stride
    changes means we can minimize calls to gl{Vertex,Color}Pointer when flushing
    the journal.
    
    Since we need to update the texcoord pointers when the actual number of
    layers changes, this adds another batch_and_call() stage to deal with
    glTexCoordPointer and enabling/disabling the client arrays.

 common/cogl-primitives.c |  108 +++++++++++++++++++++++++++++++++-------------
 1 files changed, 78 insertions(+), 30 deletions(-)

commit 2b9478a665c5ababf6602461bdc1ec4c7e4f1625
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Jun 17 18:46:42 2009 +0100

    [cogl] Improving Cogl journal to minimize driver overheads + GPU state changes
    
    Previously the journal was always flushed at the end of
    _cogl_rectangles_with_multitexture_coords, (i.e.  the end of any
    cogl_rectangle* calls) but now we have broadened the potential for batching
    geometry.  In ideal circumstances we will only flush once per scene.
    
    In summary the journal works like this:
    
    When you use any of the cogl_rectangle* APIs then nothing is emitted to the
    GPU at this point, we just log one or more quads into the journal.  A
    journal entry consists of the quad coordinates, an associated material
    reference, and a modelview matrix.  Ideally the journal only gets flushed
    once at the end of a scene, but in fact there are things to consider that
    may cause unwanted flushing, including:
    
    - modifying materials mid-scene
        This is because each quad in the journal has an associated material
        reference (i.e. not copy), so if you try and modify a material that is
        already referenced in the journal we force a flush first)
    
        NOTE: For now this means you should avoid using cogl_set_source_color()
    	      since that currently uses a single shared material. Later we
    	  should change it to use a pool of materials that is recycled
    	  when the journal is flushed.
    
    - modifying any state that isn't currently logged, such as depth, fog and
      backface culling enables.
    
    The first thing that happens when flushing, is to upload all the vertex data
    associated with the journal into a single VBO.
    
    We then go through a process of splitting up the journal into batches that
    have compatible state so they can be emitted to the GPU together.  This is
    currently broken up into 3 levels so we can stagger the state changes:
    
    1) we break the journal up according to changes in the number of material layers
       associated with logged quads. The number of layers in a material determines
       the stride of the associated vertices, so we have to update our vertex
       array offsets at this level. (i.e. calling gl{Vertex,Color},Pointer etc)
    2) we further split batches up according to material compatability. (e.g.
       materials with different textures) We flush material state at this level.
    3) Finally we split batches up according to modelview changes. At this level
       we update the modelview matrix and actually emit the actual draw command.
    
    This commit is largely about putting the initial design in-place; this will be
    followed by other changes that take advantage of the extended batching.

 cogl-debug.h                   |   21 +-
 cogl-material.h                |   19 +-
 cogl.h.in                      |   14 +
 common/cogl-clip-stack.c       |    4 +
 common/cogl-debug.c            |    3 +-
 common/cogl-material-private.h |   99 +++++--
 common/cogl-material.c         |  318 +++++++++++++++++--
 common/cogl-primitives.c       |  667 +++++++++++++++++++++++++++++-----------
 common/cogl-primitives.h       |    2 +
 common/cogl-vertex-buffer.c    |   28 +-
 common/cogl.c                  |   38 +++-
 gl/cogl-context.c              |    4 +
 gl/cogl-context.h              |    4 +
 gl/cogl-fbo.c                  |    2 +
 gl/cogl-primitives.c           |   44 ++-
 gl/cogl-program.c              |    5 +
 gl/cogl-texture-private.h      |   12 +-
 gl/cogl-texture.c              |    3 +-
 18 files changed, 992 insertions(+), 295 deletions(-)

commit 096c1df0f466585af8793aed03770663aa22f730
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Jun 22 00:58:32 2009 +0100

    [clip-stack] Use signed integers while combining window space clip rectangles
    
    Use signed integers while combining window space clip rectangles, so we avoid
    arithmatic errors later resulting in glScissor getting negative width and
    height arguments.

 common/cogl-clip-stack.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

commit 21d02307eb732474a4338f85972c3a79820d971c
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Jun 22 00:00:04 2009 +0100

    [cogl] Remove unused ctx->polygon_vertices array
    
    This array used to be used by cogl_polygon but was changed to use
    ctx->logged_vertices some time ago.

 gl/cogl-context.c |    4 ----
 gl/cogl-context.h |    1 -
 2 files changed, 0 insertions(+), 5 deletions(-)

commit 238e59060647620f264313cf6397fd53eccdedd2
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Jun 23 15:24:42 2009 +0100

    [cogl] Give the default (fallback) texture a format of RGBA_8888_PRE
    
    Previously this was RGBA_8888. It souldn't really make a difference but for
    consistency we expect almost all textures in use to have an internaly
    premultiplied pixel format.

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

commit f5a8e693c81e85ba4d68d7d081ed0f4920af3662
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri Jun 19 16:39:37 2009 +0100

    [cogl-texture] use the right format when downloading sliced textures from GL
    
    _cogl_texture_download_from_gl needs to create transient CoglBitmaps when
    downloading sliced textures from GL, and then copies these as subregions
    into the final target_bitmap. _cogl_texture_download_from_gl also supports
    target_bitmaps with a different format to the source CoglTexture being
    downloaded.
    
    The problem was that in the case of slice textures we were always looking
    at the format of the CoglTexture, not of the target_bitmap when setting
    up the transient slice bitmap.

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

commit 606fb8f56ffa3be522d1a3e1709c2f1986740f2e
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Jun 17 14:30:44 2009 +0100

    [cogl] Adds cogl_read_pixels to replace direct use of glReadPixels
    
    To allow for flushing of batched geometry within Cogl we can't support users
    directly calling glReadPixels.  glReadPixels is also awkward, not least
    because it returns upside down image data.
    
    All the unit tests have been swithed over and clutter_stage_read_pixels now
    sits on top of this too.

 cogl.h.in                            |   33 ++++++++++++++++++++
 common/cogl.c                        |   56 ++++++++++++++++++++++++++++++++++
 doc/reference/cogl/cogl-sections.txt |    4 ++
 3 files changed, 93 insertions(+), 0 deletions(-)

commit 3d79cfaba1a09c0e0ce3e1933478977af77da8f2
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Jun 17 02:08:31 2009 +0100

    [cogl matrix] Adds ability to dirty state cached by the client matrix apis
    
    To be able to load matrices to GL manually within Cogl we need a way to
    dirty the state cached by the client matrix stack API.

 common/cogl-current-matrix.c |   15 +++++++++++++++
 common/cogl-current-matrix.h |    1 +
 common/cogl-matrix-stack.c   |    7 +++++++
 common/cogl-matrix-stack.h   |    1 +
 4 files changed, 24 insertions(+), 0 deletions(-)

commit 46866f8e94cc3adc9677579bd03b43f1826100a7
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Jun 16 22:48:21 2009 +0100

    [cogl_polygon] fixes a buffer overrun and color format bug
    
    We were calculating our vertex stride and allocating our vertex array
    differently depending on whether the user passed TRUE for use_color or not.
    The problem was that we were always writting color data to the array
    regardless of use_color.
    
    There was also a bug with _cogl_texture_sliced_polygon in that it was
    writing byte color components but we were expecting float components.  We
    now use byte components in _cogl_multitexture_unsliced_polygon too and pass
    GL_UNSIGNED_BYTE to glColorPointer.

 common/cogl-primitives.c |   40 +++++++++++++++++++++++-----------------
 1 files changed, 23 insertions(+), 17 deletions(-)

commit 14d1c4a7672fa0c8ebc58e87ba991051da25e13c
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Jun 17 15:03:33 2009 +0100

    [vertex-buffer] Add cogl_vertex_buffer_indices_get_type API
    
    cogl_vertex_buffer_indices lets you query back the data type used for the
    given indices handle.

 cogl-vertex-buffer.h        |   11 +++++++++++
 common/cogl-vertex-buffer.c |   21 +++++++++++++++++++++
 2 files changed, 32 insertions(+), 0 deletions(-)

commit 8aa80eb55fdfbcfdb85b9e56bebd183123f98871
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Jun 17 15:02:56 2009 +0100

    [vertex-buffer] Remove the COGL_INDICES_TYPE_UNSIGNED_INT indicies type
    
    Since some embedded GPUs may not support 32bit integer indices we wont
    include it until there is a particular need.

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

commit efc5c4f0e56bc24df611fd6a9a899415979eff96
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Thu Jun 25 16:06:41 2009 +0200

    [cogl] Add COGL_HAS_GL and COGL_HAS_GLES
    
    Cogl already add similar defines but with the CLUTTER namespace
    (CLUTTER_COGL_HAS_GL and CLUTTER_COGL_HAS_GLES). Let's just add two
    similar defines with the COGL namespace. Removing the CLUTTER_COGL ones
    could break applications silently for no real good reason.

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

commit 5d437281ec0411d513e94ff3417d2c9a2d853559
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Mon Jun 15 14:15:27 2009 +0100

    Public headers should not have #ifdefs relying on private defines
    
    HAVE_COGL_GLES2 is defined in config.h through the configure script and
    should not be used in public headers.
    
    The patch makes configure generate the right define that can be used
    later in the header.

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

commit c60a974ec0365e96540bb342de0970d655f6cd18
Author: Colin Walters <walters@verbum.org>
Date:   Tue Jun 16 10:34:13 2009 -0400

    Plug minor memory leak in cogl_vertex_buffer_submit_real
    
    Free a temporary list.

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

commit 67014764c9be1cdd393116292611b5835f45fb0d
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Jun 15 10:48:56 2009 +0100

    Disable single header inclusion for GLib
    
    In order to be ready for the next major version of GLib we need to
    disable single header inclusion by using the G_DISABLE_SINGLE_INCLUDES
    define in the build process.

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

commit 101b88192d21c17fe7a72349881e400705216a29
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Jun 8 17:43:34 2009 +0100

    [_cogl_texture_bitmap_prepare] use bitmap format for FORMAT_ANY + no alpha
    
    My patch to choose a premultiplied format when the user gives
    COGL_PIXEL_FORMAT_ANY for the internal_format broke the case where the data
    in question doesn't have and alpha channel.
    
    This was accidentally missed when merging the premultiplication branch
    since I merged a local version of the branch that missed this commit.

 gl/cogl-texture.c   |    2 ++
 gles/cogl-texture.c |    2 ++
 2 files changed, 4 insertions(+), 0 deletions(-)

commit 14cef5748015d5e6010a4bb45c549d56029ecda6
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Jun 8 12:18:34 2009 +0100

    [cogl] Don't allow calling cogl_set_source_texture with an INVALID_HANDLE
    
    Although the underlying materials should allow layers with INVALID_HANDLES
    it shouldn't be necissary to expose that via cogl_set_source_texture() and
    it's easier to resolve a warning/crash here than odd artefacts/crashes later
    in the pipeline.

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

commit c52eda67158747229026c12614e322815bf763ed
Merge: bc0cd14 9d7a93f
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Jun 11 15:16:27 2009 +0100

    Bug 1406 - Handling of premultiplication in clutter
    
    Merge branch 'premultiplication'
    
    [cogl-texture docs] Improves the documentation of the internal_format args
    [test-premult] Adds a unit test for texture upload premultiplication semantics
    [fog] Document that fogging only works with opaque or unmultipled colors
    [test-blend-strings] Explicitly request RGBA_888 tex format for test textures
    [premultiplication] Be more conservative with what data gets premultiplied
    [bitmap] Fixes _cogl_bitmap_fallback_unpremult
    [cogl-bitmap] Fix minor copy and paste error in _cogl_bitmap_fallback_premult
    Avoid unnecesary unpremultiplication when saving to local data
    Don't unpremultiply Cairo data
    Default to a blend function that expects premultiplied colors
    Implement premultiplication for CoglBitmap
    Use correct texture format for pixmap textures and FBO's
    Add cogl_color_premultiply()

commit 9d7a93f641144f928e404c8feda6adf51ddba519
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Jun 11 14:31:01 2009 +0100

    [cogl-texture docs] Improves the documentation of the internal_format args
    
    Clarifies that if you give COGL_PIXEL_FORMAT_ANY as the internal format for
    cogl_texture_new_from_file or cogl_texture_new_from_data then Cogl will
    choose a premultiplied internal format.

 cogl-texture.h |   16 ++++++++++++++--
 1 files changed, 14 insertions(+), 2 deletions(-)

commit 58fa6917c266d24eb84d008191b230054ee5e63c
Author: Robert Bragg <robert@linux.intel.com>
Date:   Sun Jun 7 11:54:05 2009 +0100

    [fog] Document that fogging only works with opaque or unmultipled colors
    
    The fixed function fogging provided by OpenGL only works with unmultiplied
    colors (or if the color has an alpha of 1.0) so since we now premultiply
    textures and colors by default a note to this affect has been added to
    clutter_stage_set_fog and cogl_set_fog.
    
    test-depth.c no longer uses clutter_stage_set_fog for this reason.
    
    In the future when we can depend on fragment shaders we should also be
    able to support fogging of premultiplied primitives.

 cogl.h.in |   23 ++++++++++++++++-------
 1 files changed, 16 insertions(+), 7 deletions(-)

commit e6da6df8a8d7d5e0ccf88b71dd2a0ad764b0bf6a
Author: Robert Bragg <robert@linux.intel.com>
Date:   Sat Jun 6 21:45:05 2009 +0100

    [premultiplication] Be more conservative with what data gets premultiplied
    
    We don't want to force texture data to be premultipled if the user
    explicitly specifies a non premultiplied internal_format such as
    COGL_PIXEL_FORMAT_RGBA_8888.  So now Cogl will only automatically
    premultiply data when COGL_PIXEL_FORMAT_ANY is given for the
    internal_format, or a premultiplied internal format such as
    COGL_PIXEL_FORMAT_RGBA_8888_PRE is requested but non-premultiplied source
    data is given.
    
    This approach is consistent with OpenVG image formats which have already
    influenced Cogl's pixel format semantics.

 gl/cogl-texture.c   |   24 +++++++++++-------------
 gles/cogl-texture.c |   24 +++++++++++-------------
 2 files changed, 22 insertions(+), 26 deletions(-)

commit 7cb4b934321285f9f46ba72aefc0feda32123f03
Author: Robert Bragg <robert@linux.intel.com>
Date:   Sun Jun 7 15:58:56 2009 +0100

    [bitmap] Fixes _cogl_bitmap_fallback_unpremult
    
    The _cogl_unpremult_alpha_{first,last} functions which
    _cogl_bitmap_fallback_unpremult depends on were incorrectly casting each
    of the byte components of a texel to a gulong and performing shifts as
    if it were dealing with the whole texel.
    
    It now just uses array indexing to access the byte components without
    needing to cast or manually shift any bits around.
    
    Even though we used to depend on unpremult whenever we used a
    ClutterCairoTexture, clutter_cairo_texture_context_destroy had it's own
    unpremult code which worked which is why this bug wouldn't have been noticed
    before.

 common/cogl-bitmap-fallback.c |   60 ++++++++++++++++++++--------------------
 1 files changed, 30 insertions(+), 30 deletions(-)

commit dde3257b6c032dbcc0711fcb59900aa226bd0425
Author: Robert Bragg <robert@linux.intel.com>
Date:   Sun Jun 7 20:29:13 2009 +0100

    [cogl-bitmap] Fix minor copy and paste error in _cogl_bitmap_fallback_premult
    
    The returned bitmap format should include the COGL_PREMULT_BIT flag not
    have it explicitly removed as for _cogl_bitmap_fallback_unpremult.

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

commit f0de41331a19bf9da1b6e7f27388d4f062fec8d2
Author: Owen W. Taylor <otaylor@fishsoup.net>
Date:   Sat May 9 14:39:01 2009 -0400

    Default to a blend function that expects premultiplied colors
    
    Many operations, like mixing two textures together or alpha-blending
    onto a destination with alpha, are done most logically if texture data
    is in premultiplied form. We also have many sources of premultiplied
    texture data, like X pixmaps, FBOs, cairo surfaces. Rather than trying
    to work with two different types of texture data, simplify things by
    always premultiplying texture data before uploading to GL.
    
    Because the default blend function is changed to accommodate this,
    uses of pure-color CoglMaterial need to be adapted to add
    premultiplication.
    
    gl/cogl-texture.c gles/cogl-texture.c: Always premultiply
      non-premultiplied texture data before uploading to GL.
    
    cogl-material.c cogl-material.h: Switch the default blend functions
      to ONE, ONE_MINUS_SRC_ALPHA so they work correctly with premultiplied
      data.
    
    cogl.c: Make cogl_set_source_color() premultiply the color.
    
    cogl.h.in color-material.h: Add some documentation about
      premultiplication and its interaction with color values.
    
    cogl-pango-render.c clutter-texture.c tests/interactive/test-cogl-offscreen.c:
      Use premultiplied colors.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1406
    
    Signed-off-by: Robert Bragg <robert@linux.intel.com>

 cogl-material.h        |   10 ++++++++++
 cogl.h.in              |    9 +++++++--
 common/cogl-material.c |    2 +-
 common/cogl.c          |    7 ++++++-
 gl/cogl-texture.c      |   22 ++++++++++++----------
 gles/cogl-texture.c    |   23 +++++++++++++----------
 6 files changed, 49 insertions(+), 24 deletions(-)

commit b0887a0d7593fdcacb2d5ac626fcc074cc4f722a
Author: Owen W. Taylor <otaylor@fishsoup.net>
Date:   Sat May 9 14:39:01 2009 -0400

    Implement premultiplication for CoglBitmap
    
    cogl-bitmap.c cogl-bitmap-pixbuf.c cogl-bitmap-fallback.c cogl-bitmap-private.h:
      Add _cogl_bitmap_can_premult(), _cogl_bitmap_premult() and implement
      a reasonably fast implementation in the "fallback" code.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1406
    
    Signed-off-by: Robert Bragg <robert@linux.intel.com>

 common/cogl-bitmap-fallback.c |   93 +++++++++++++++++++++++++++++++++++++++++
 common/cogl-bitmap-pixbuf.c   |   13 ++++++
 common/cogl-bitmap-private.h  |   14 ++++++
 common/cogl-bitmap.c          |   26 +++++++++---
 4 files changed, 140 insertions(+), 6 deletions(-)

commit dcc4f1416995f9d16363e77b71d851e25bf53dab
Author: Owen W. Taylor <otaylor@fishsoup.net>
Date:   Sat May 9 14:39:01 2009 -0400

    Add cogl_color_premultiply()
    
    Add a convenience function to convert an ARGB color from
    non-premultiplied to premultiplied form.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1406
    
    Signed-off-by: Robert Bragg <robert@linux.intel.com>

 cogl-color.h        |   12 ++++++++++++
 common/cogl-color.c |    8 ++++++++
 2 files changed, 20 insertions(+), 0 deletions(-)

commit bc0cd145e53fdb951134816c18a2dc32e5c48962
Merge: e0adc98 fd9d87b
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Jun 11 13:01:34 2009 +0100

    Bug 1637 - Master clock improvements
    
    Merge branch 'master-clock-updates'
    
    * master-clock-updates: (22 commits)
      Change the paint forcing on the Text cache text
      [timelines] Improve marker hit check and don't fudge the delta
      Revert "[timeline] Don't clamp the elapsed time when a looping tl reaches the end"
      [tests] Don't add a newline to the end of g_test_message calls
      [test-timeline] Add a marker at the beginning of the timeline
      [timeline] Don't clamp the elapsed time when a looping tl reaches the end
      [master-clock] Throttle if no redraw was performed
      [docs] Update Clutter's API reference
      Force a paint instead of calling clutter_redraw()
      Fix clutter_redraw() to match the redraw cycle
      Run the repaint functions inside the redraw cycle
      Remove useless manual timeline ticking
      Move elapsed-time calculations into ClutterTimeline
      Limit the frame rate when not syncing to VBLANK
      Decrease the main-loop priority of the frame cycle
      Avoid motion-compression in test-picking test
      Compress events as part of the frame cycle
      Remove stage update idle and do updates from the master clock
      Call g_main_context_wakeup() when we start running timelines
      Remove unused msecs_delta member
      ...

commit e0adc985adda9ab8720d68f6da8101efdb655dae
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Jun 10 12:50:45 2009 +0100

    [docs] Various gtk-doc fixes for COGL
    
    Try to keep the gtk-doc errors down to a minimum.

 cogl-bitmap.h                        |    8 ++-
 cogl-material.h                      |   24 ++++++----
 cogl-matrix.h                        |   32 +++++++------
 cogl-offscreen.h                     |    4 +-
 cogl-vertex-buffer.h                 |    9 +++-
 cogl.h.in                            |    6 +-
 doc/reference/cogl/Makefile.am       |    2 -
 doc/reference/cogl/cogl-sections.txt |   83 +++++++++++++++++++++++++++++++--
 8 files changed, 126 insertions(+), 42 deletions(-)

commit fd9d87bc3adff3de9b08fc9d14b99268aef3060f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Jun 9 12:40:06 2009 +0100

    [introspection] Add --c-include to g-ir-scanner
    
    Since Clutter has a single-include header policy we need to put
    the header to be included inside the GIR file.

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

commit e521638f910314e5a31fe755c38bf7bf07a79980
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Jun 9 11:13:11 2009 +0100

    [CoglTexture] Initialise tex->first_pixels to NULL in all constructors
    
    Otherwise if there is an error before the slices are created it will
    try to free the first_pixels array and crash.
    
    It now also checks whether first_pixels has been created before using
    it to update the mipmaps. This should only happen for
    cogl_texture_new_from_foreign and doesn't matter if the FBO extension
    is available. It would be better in this case to fetch the first pixel
    using glGetTexImage as Owen mentioned in the last commit.

 gl/cogl-texture.c   |    6 +++++-
 gles/cogl-texture.c |    6 +++++-
 2 files changed, 10 insertions(+), 2 deletions(-)

commit ae07dea93d3f3fb0559bbe0f71183a9cc95d7f75
Author: Owen W. Taylor <otaylor@fishsoup.net>
Date:   Mon Jun 8 16:45:43 2009 -0400

    Fix unitialized first_pixels for foreign textures
    
    tex->first_pixels was never set for foreign textures, leading
    to a crash when the texture object is freed.
    
    As a quick fix, simply set to NULL. A more complete fix would
    require remembering if we had ever seen the first pixel uploaded,
    and if not, doing a glReadPixel to get it before triggering the
    mipmap update.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1645
    
    Signed-off-by: Neil Roberts <neil@linux.intel.com>

 gl/cogl-texture.c   |    2 ++
 gles/cogl-texture.c |    2 ++
 2 files changed, 4 insertions(+), 0 deletions(-)

commit a5b56910821436848216aff6b03749a88bdae52a
Author: Owen W. Taylor <otaylor@fishsoup.net>
Date:   Mon Jun 8 09:26:57 2009 -0400

    On bad blend strings, print the error if not returning it
    
    It's very common that there's no reasonable fallback to do if the
    blend or combine string you set isn't supported. So, rather than
    requiring everybody to pass in a GError purely to catch syntax erorrs,
    automatically g_warning() if a parse error is encountered and @error
    is NULL.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1642
    
    Signed-off-by: Robert Bragg <robert@linux.intel.com>

 cogl-material.h        |    5 ++++-
 common/cogl-material.c |   30 ++++++++++++++++++++++++++----
 2 files changed, 30 insertions(+), 5 deletions(-)

commit 8a31263274a87ba4169c9e8ad266285884778cbf
Author: Johan Bilien <jobi@via.ecp.fr>
Date:   Wed Jun 3 22:08:17 2009 +0100

    Fix the leak of the GList of layers in CoglMaterial
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1624
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

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

commit fdb66d1076a1256ebd2bb8cfd491610ee30e8b23
Author: Robert Bragg <robert@linux.intel.com>
Date:   Sat Apr 4 19:21:22 2009 +0100

    [cogl] cogl_material_set_layer does nothing if resetting the same texture
    
    This avoids dirtying the layer, and should avoid some uneeded state changes

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

commit 6989ce1434edc24c16eb0623e1fa081c9652d9fd
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Jun 5 16:46:12 2009 +0100

    [build] Fix compiler warnings
    
    Silence GCC

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

commit 133fc2e3571378859fffc100b28b33876baf1513
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Jun 5 15:18:43 2009 +0100

    Fix a compiler warning

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

commit 805fb0620a71045c3289209e7b0d83411d60353c
Merge: b184bd0 bb5a99a
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Jun 5 12:41:42 2009 +0100

    Merge branch '1.0-integration'
    
    * 1.0-integration: (138 commits)
      [x11] Disable XInput by default
      [xinput] Invert the XI extension version check
      [cogl-primitives] Fix an unused variable warning when building GLES
      [clutter-stage-egl] Pass -1,-1 to clutter_stage_x11_fix_window_size
      Update the GLES backend to have the layer filters in the material
      [gles/cogl-shader] Add a missing semicolon
      [cogl] Move the texture filters to be a property of the material layer
      [text] Fix Pango unit to pixels conversion
      [actor] Force unrealization on destroy only for non-toplevels
      [x11] Rework map/unmap and resizing
      [xinput] Check for the XInput entry points
      [units] Validate units against the ParamSpec
      [actor] Add the ::allocation-changed signal
      [actor] Use flags to control allocations
      [units] Rework Units into logical distance value
      Remove a stray g_value_get_int()
      Remove usage of Units and macros
      [cogl-material] Allow setting a layer with an invalid texture handle
      [timeline] Remove the concept of frames from timelines
      [gles/cogl-shader] Fix parameter spec for cogl_shader_get_info_log
      ...
    
    Conflicts:
    	configure.ac

commit bb5a99a3cef248cf76bc243d6840cf99adbe41f4
Merge: b177d24 8909d6a
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Jun 5 12:20:41 2009 +0100

    Merge branch 'timeline-no-fps' into 1.0-integration

commit b177d24667a7be2f1a54297b8e7641ca58ff0321
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Jun 4 22:20:18 2009 +0100

    [cogl-primitives] Fix an unused variable warning when building GLES
    
    The 'tex' variable is only used if #ifdef'd GL code so it was throwing
    an error under GLES. The variable is now moved into a block inside the
    #ifdef.

 common/cogl-primitives.c |   14 ++++++++------
 1 files changed, 8 insertions(+), 6 deletions(-)

commit f259deafce304b846313305f6fa8cdb235d5a4cc
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Jun 4 22:12:33 2009 +0100

    Update the GLES backend to have the layer filters in the material
    
    This reflects the changes made in 54d8aadf1d86 for the GLES backend.

 gles/cogl-texture-private.h |   31 +++++++-
 gles/cogl-texture.c         |  182 ++++++++++++++++++++++++++----------------
 2 files changed, 142 insertions(+), 71 deletions(-)

commit c2759846dd79eb7b8380476963b8f74ae0e3bf89
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Jun 4 22:10:33 2009 +0100

    [gles/cogl-shader] Add a missing semicolon
    
    cogl_shader_get_info_log was missing a semicolon which broke the build
    on GLES 2.

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

commit e7e897802925346fdd3e212c425acbf2017027c2
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Jun 4 16:04:57 2009 +0100

    [cogl] Move the texture filters to be a property of the material layer
    
    The texture filters are now a property of the material layer rather
    than the texture object. Whenever a texture is painted with a material
    it sets the filters on all of the GL textures in the Cogl texture. The
    filter is cached so that it won't be changed unnecessarily.
    
    The automatic mipmap generation has changed so that the mipmaps are
    only generated when the texture is painted instead of every time the
    data changes. Changing the texture sets a flag to mark that the
    mipmaps are dirty. This works better if the FBO extension is available
    because we can use glGenerateMipmap. If the extension is not available
    it will temporarily enable automatic mipmap generation and reupload
    the first pixel of each slice. This requires tracking the data for the
    first pixel.
    
    The COGL_TEXTURE_AUTO_MIPMAP flag has been replaced with
    COGL_TEXTURE_NO_AUTO_MIPMAP so that it will default to
    auto-mipmapping. The mipmap generation is now effectively free if you
    are not using a mipmap filter mode so you would only want to disable
    it if you had some special reason to generate your own mipmaps.
    
    ClutterTexture no longer has to store its own copy of the filter
    mode. Instead it stores it in the material and the property is
    directly set and read from that. This fixes problems with the filters
    getting out of sync when a cogl handle is set on the texture
    directly. It also avoids the mess of having to rerealize the texture
    if the filter quality changes to HIGH because Cogl will take of
    generating the mipmaps if needed.

 cogl-material.h                      |   80 +++++++++++++++
 cogl-texture.h                       |   80 ---------------
 cogl-types.h                         |   13 ++-
 common/cogl-material-private.h       |    3 +
 common/cogl-material.c               |   59 +++++++++++
 common/cogl-primitives.c             |    3 +-
 doc/reference/cogl/cogl-sections.txt |    7 +-
 gl/cogl-context.h                    |    1 +
 gl/cogl-defines.h.in                 |    4 +
 gl/cogl-texture-private.h            |   31 ++++++-
 gl/cogl-texture.c                    |  179 ++++++++++++++++++++++------------
 gl/cogl.c                            |    7 +-
 12 files changed, 313 insertions(+), 154 deletions(-)

commit b7c8f8111e86be48eb440358d13e677ccc29cf19
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Jun 3 15:22:42 2009 +0100

    [cogl-material] Allow setting a layer with an invalid texture handle
    
    It was previously possible to create a material layer with no texture
    by setting some property on it such as the matrix. However it was not
    possible to get back to that state without removing the layer and
    recreating it. It is useful to be able to remove the texture to free
    resources without forgetting the state of the layer so we can put a
    different texture in later.

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

commit 8909d6a1298fb756f98bd22a870ee4091bb6414a
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Jun 4 12:04:47 2009 +0100

    [gles/cogl-shader] Fix parameter spec for cogl_shader_get_info_log
    
    The stub version of cogl_shader_get_info_log needed to be updated to
    match the changes to the function signature in 61deeafa.

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

commit 00ac53042e810d10fe34422d0bf8ec2d4831365b
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Jun 4 11:50:06 2009 +0100

    Load glBlendEquation and glBlendColor using cogl_get_proc_address
    
    These are defined since OpenGL 1.2 and since Windows doesn't export
    any functions defined after 1.1 we need to load them dynamically.

 common/cogl-material.c |    2 ++
 gl/cogl-context.h      |    2 ++
 gl/cogl-defines.h.in   |   11 +++++++++++
 gl/cogl.c              |    7 +++++++
 4 files changed, 22 insertions(+), 0 deletions(-)

commit db4fb91fe391d9da822c1427b8c364a416d80a80
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Jun 4 11:48:51 2009 +0100

    Rename 'near' and 'far' variables to 'z_near' and 'z_far'
    
    The Windows headers define near and far to be empty so it breaks the
    build.

 cogl-matrix.h                |   12 ++++++------
 common/cogl-current-matrix.c |   18 +++++++++---------
 2 files changed, 15 insertions(+), 15 deletions(-)

commit b184bd04e8d9609cba4a88e95b3a20187367d26d
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Jun 2 18:01:18 2009 +0100

    [cogl-texture] Don't take ownership of the data in cogl_texture_new_from_bitmap
    
    When creating a Cogl texture from a Cogl bitmap it would steal the
    data by setting the bitmap_owner flag and clearing the data pointer
    from the bitmap. The data would be freed by the time the
    new_from_bitmap is finished. There is no reason to do this because the
    data will be freed when the Cogl bitmap is unref'd and it is confusing
    not to be able to reuse the bitmap for creating multiple textures.

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

commit b900c314b704ef0f2597893cbe1cacfb7a61e294
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Jun 1 17:35:41 2009 +0100

    [docs] Rework the API reference version generation
    
    Clutter copies the gtk-doc from the usual gtk+ template, and
    has a version.xml.in containing only:
    
      @VERSION@
    
    Without a newline at the end. Unfortunately, it appears that
    autoconf has started adding a newline to the generated version.xml
    which then is used as the payload for the "version" XML entity.
    
    Instead of using a secondary file we can make configure generate
    the whole clutter-docs.xml and cogl-docs.xml files from a template;
    this way we also get the ability to substitute more autoconf variables
    into the documentation -- if needs be.

 doc/reference/cogl/Makefile.am      |    2 -
 doc/reference/cogl/cogl-docs.xml    |  107 -----------------------------------
 doc/reference/cogl/cogl-docs.xml.in |  107 +++++++++++++++++++++++++++++++++++
 doc/reference/cogl/version.xml.in   |    1 -
 4 files changed, 107 insertions(+), 110 deletions(-)

commit c0c7565ffcdd3927279ddb69a84c46034de79fa9
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Jun 1 16:31:32 2009 +0100

    [cogl-shader] Make get_info_log() slightly nicer
    
    The cogl_shader_get_info_log() function is very inconvenient for
    language bindings and for regular use, as it requires a static
    buffer to be filled -- basically just providing a wrapper around
    glGetInfoLogARB().
    
    Since COGL aims to be a more convenient API than raw GL we should
    just make cogl_shader_get_info_log() return an allocated string
    with the GLSL compiler log.

 cogl-shader.h      |   13 ++++++-------
 gl/cogl-shader.c   |   15 ++++++++-------
 gles/cogl-shader.c |   15 ++++++++-------
 3 files changed, 22 insertions(+), 21 deletions(-)

commit 9d41a27f61d1298aaac0a15fc2fbbab8fbb8a15d
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Jun 1 17:10:22 2009 +0100

    Use GL_QUADS for flushing a quad batch
    
    Instead of using GL_TRIANGLES and uploading the indices every time, it
    now uses GL_QUADS instead on OpenGL. Under GLES it still uses indices
    but it uses the new cogl_vertex_buffer_indices_get_for_quads function
    to avoid uploading the vertices every time.
    
    This requires the _cogl_vertex_buffer_indices_pointer_from_handle
    function to be exposed privately to the rest of Cogl.
    
    The static_indices array has been removed from the Cogl context.

 common/cogl-primitives.c            |   79 +++++++++++------------------------
 common/cogl-vertex-buffer-private.h |    4 ++
 gl/cogl-context.c                   |    3 -
 gl/cogl-context.h                   |    1 -
 gles/cogl-context.c                 |    3 -
 gles/cogl-context.h                 |    1 -
 6 files changed, 29 insertions(+), 62 deletions(-)

commit 39cb36ba0110a65696cff9461caf52227762be34
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu May 28 13:47:18 2009 +0100

    [cogl-vertex-buffer] Add cogl_vertex_buffer_indices_get_for_quads
    
    This function can be used as an efficient way of drawing groups of
    quads without using GL_QUADS. It generates a VBO containing the
    indices needed to render using pairs of GL_TRIANGLES. The VBO is
    globally cached so that it only needs to be uploaded whenever more
    indices are requested than ever before.

 cogl-vertex-buffer.h                 |   40 +++++++++++++++++
 common/cogl-vertex-buffer.c          |   80 ++++++++++++++++++++++++++++++++++
 doc/reference/cogl/cogl-sections.txt |    1 +
 gl/cogl-context.c                    |    9 ++++
 gl/cogl-context.h                    |    6 +++
 gles/cogl-context.c                  |    9 ++++
 gles/cogl-context.h                  |    7 +++-
 7 files changed, 151 insertions(+), 1 deletions(-)

commit 2f319ad839972a393569d53c87689bdc4a5f55b7
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri May 29 17:50:58 2009 +0100

    [build] Remove cogl-enum-types.h on distclean
    
    The cogl-enum-types.h file is created by glib-mkenums under
    /clutter/cogl/common, and then copied in /clutter/cogl in order
    to make the inclusion of that file work inside cogl.h.
    
    Since we're copying it in a different location, the Makefile
    for that location has to clean up the copy.

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

commit 5888e45fd73b3f11de1d0a100cc6072ceb80c1df
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri May 29 17:10:27 2009 +0100

    [build] Fix dist issues
    
    * cogl-deprecated.h is not being installed
    
    * cogl-enum-types.c.in is not part of the dist

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

commit 93a9613b59324a8cb332036aa2b15fe98c311c63
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri May 29 14:27:55 2009 +0100

    [build] Copy cogl-enum-types.h under the guard
    
    We avoid rebuilding cogl-enum-types.h and cogl-enum-types.c by
    using a "guard" -- a stamp file that will block Makefile. Since
    we need cogl-enum-types.h into /clutter/cogl as well for the
    cogl.h include to work, if we copy the cogl-enum-types.h
    unconditionally it will cause a rebuild of the whole COGL; which
    will cause a full rebuild.
    
    To solve this, we can copy the header file when generating it
    under the stamp file.

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

commit 1c8a6bc09b8fa877ff337fefa54c53db20599e2f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri May 29 12:50:48 2009 +0100

    [build] Encode the target into the backend library
    
    The libclutter-cogl internal object should be the only dependency
    for Clutter, since we are already copying it inside clutter/cogl
    for the introspection scanner. For this reason, the backend-specific,
    real internal object should be built with the backend encoded into
    the file name, like libclutter-common. This makes the build output
    a little bit more clear: instead of having two:
    
      LINK libclutter-cogl-common.la
      ...
      LINK libclutter-cogl.la
      LINK libclutter-cogl.la
    
    We'll have:
    
      LINK libclutter-cogl-common.la
      ...
      LINK libclutter-cogl-gl.la
      LINK libclutter-cogl.la
    
    Same applies for the GLES backend.

 Makefile.am      |    4 ++--
 gl/Makefile.am   |   10 +++++-----
 gles/Makefile.am |   12 ++++++------
 3 files changed, 13 insertions(+), 13 deletions(-)

commit 99b2f14d6014c8b855ea85185b8026af079ae690
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri May 29 12:40:23 2009 +0100

    Use g_once when registering enumeration types
    
    Just like we do with GObject types and G_DEFINE_TYPE, we should
    use the g_once_init_enter/g_once_init_leave mechanism to make the
    GType registration of enumeration types thread safe.

 common/cogl-enum-types.c.in |   18 +++++++++++++-----
 1 files changed, 13 insertions(+), 5 deletions(-)

commit 34b5352bb5e8d728e89923a7059da90715214b63
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri May 29 12:31:47 2009 +0100

    [cogl] Generate enumeration GTypes
    
    COGL is starting to have more enumerations than I can handle
    by hand. Let's use glib-mkenums and be done with it.

 Makefile.am                 |   40 +++++++----
 cogl-shader.h               |    5 +-
 cogl-types.h                |   83 ++++-------------------
 cogl.h.in                   |   11 ++--
 common/Makefile.am          |   53 ++++++++++++++-
 common/cogl-enum-types.c.in |   33 +++++++++
 common/cogl-enum-types.h.in |   25 +++++++
 common/cogl-util.c          |  154 -------------------------------------------
 gl/Makefile.am              |    5 --
 9 files changed, 158 insertions(+), 251 deletions(-)

commit ae9b871b38dd1c581c4ed7e1629d06697d7b25b1
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu May 28 17:18:13 2009 +0100

    [docs] Fixes for the API reference
    
    * Add unused symbols
    
    * Document and sync argument names with their gtk-doc counterpart
    
    * Add missing descriptions

 cogl-material.h                      |    5 +++++
 cogl-shader.h                        |   14 +++++++++++---
 cogl-vertex-buffer.h                 |   33 +++++++++++++++++++++------------
 cogl.h.in                            |    4 ++++
 doc/reference/cogl/cogl-sections.txt |    6 ------
 5 files changed, 41 insertions(+), 21 deletions(-)

commit a5eb2a9abad41f26a8882065c3771ac6066c48de
Merge: 5ed1b03 c73d340
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu May 28 15:53:56 2009 +0100

    Merge branch 'master' into 1.0-integration
    
    * master:
      [test-text-perf] Use queue_redraw instead of painting the stage directly
      [actor] In paint when opacity == 0, clear the queued_redraw flag

commit 5ed1b03a91f2a43f8f39bb7eb89608f7cf17c22c
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu May 28 13:03:19 2009 +0100

    [cogl] Make cogl_setup_viewport() a private function
    
    The setup_viewport() function should only be used by Clutter and
    not by application code.
    
    It can be emulated by changing the Stage size and perspective and
    requeueing a redraw after calling clutter_stage_ensure_viewport().

 cogl.h.in     |   10 ++++++----
 common/cogl.c |   16 ++++++++--------
 2 files changed, 14 insertions(+), 12 deletions(-)

commit b9e1c8258779b3327ddcbab2db8ebc60b232ecc2
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu May 28 12:52:00 2009 +0100

    [cogl deprecated] Add backface culling deprecation
    
    The backface culling enabling function was split and renamed, just
    like the depth testing one, so we need to add the macro to the
    cogl-deprecated.h header.

 cogl-deprecated.h |   13 ++++++-------
 1 files changed, 6 insertions(+), 7 deletions(-)

commit 2367e7d27140df826829177b236534ee1a01be15
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu May 28 12:49:29 2009 +0100

    [cogl vertex buffers] Give indices a CoglHandle so they are shareable
    
    Previously indices were tightly bound to a particular Cogl vertex buffer
    but we would like to be able to share indices so now we have
    cogl_vertex_buffer_indices_new () which returns a CoglHandle.
    
    In particular we could like to have a shared set of indices for drawing
    lists of quads that can be shared between the pango renderer and the
    Cogl journal.

 cogl-vertex-buffer.h                |   34 +++++--------
 common/cogl-vertex-buffer-private.h |    7 +--
 common/cogl-vertex-buffer.c         |   97 ++++++++--------------------------
 3 files changed, 38 insertions(+), 100 deletions(-)

commit 43623a6c44a9c4778cd72fefde3e76d24762cbdb
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu May 28 02:03:16 2009 +0100

    [cogl journal] If we are only flushing one quad use a TRIANGLE_FAN
    
    At the moment Cogl doesn't do much batching of quads so most of the time we
    are flushing a single quad at a time.  This patch simplifies how we submit
    those quads to OpenGL by using glDrawArrays with GL_TRIANGLE_FAN mode
    instead of sending indexed vertices using GL_TRIANGLES mode.
    
    Note: I hope to follow up soon with changes that improve our batching and
    also move the indices into a VBO so they don't need to be re-validated every
    time we call glDrawElements.

 common/cogl-primitives.c |   80 ++++++++++++++++++++++++++-------------------
 1 files changed, 46 insertions(+), 34 deletions(-)

commit 4b105deb3581ebfa8acbc7992f24477d382ad993
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue May 26 18:25:00 2009 +0100

    [deprecated defines] Adds some missing cogl_texture_* deprecated defines
    
    To assist people porting code from 0.8, the cogl_texture_* functions that
    have been replaced now have defines that give some hint as to how they
    should be replaced.

 cogl-deprecated.h |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

commit 2f0bda49fc4ba19fc2d853f79f48a8bb2e095bac
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue May 26 16:55:11 2009 +0100

    [cogl] renamed cogl_enable_* to cogl_set_*_enabled + added getters
    
    cogl_enable_depth_test and cogl_enable_backface_culling have been renamed
    and now have corresponding getters, the new functions are:
      cogl_set_depth_test_enabled
      cogl_get_depth_test_enabled
      cogl_set_backface_culling_enabled
      cogl_get_backface_culling_enabled

 cogl-deprecated.h                    |    1 +
 cogl.h.in                            |   27 +++++++++++++++++++++++----
 common/cogl.c                        |   25 +++++++++++++++++--------
 doc/reference/cogl/cogl-sections.txt |    6 ++++--
 4 files changed, 45 insertions(+), 14 deletions(-)

commit 18193e5322500b9cd3f372223b33581558758312
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue May 26 11:33:54 2009 +0100

    [cogl matrix] Support ortho and perspective projections.
    
    This adds cogl_matrix api for multiplying matrices either by a perspective
    or ortho projective transform.  The internal matrix stack and current-matrix
    APIs also have corresponding support added.
    
    New public API:
    cogl_matrix_perspective
    cogl_matrix_ortho
    cogl_ortho
    cogl_set_modelview_matrix
    cogl_set_projection_matrix

 cogl-matrix.h                        |   70 +++++++++--
 cogl.h.in                            |   39 ++++++
 common/cogl-current-matrix.c         |  215 +++++++++++++++++++---------------
 common/cogl-matrix-stack.c           |   68 ++++++++---
 common/cogl-matrix-stack.h           |   20 +++-
 common/cogl-matrix.c                 |   87 +++++++++++---
 doc/reference/cogl/cogl-sections.txt |   19 ++--
 7 files changed, 370 insertions(+), 148 deletions(-)

commit 25b3c84a5ac8867790669ee22c7f588e6eca66a6
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue May 26 15:41:53 2009 +0100

    [cogl] Remove cogl_{create,destroy}_context from the public API
    
    cogl_create_context is dealt with internally when _cogl_get_default context
    is called, and cogl_destroy_context is currently never called.
    
    It might be nicer later to get an object back when creating a context so
    Cogl can support multiple contexts, so these functions are being removed
    from the API until we get a chance to address context management properly.
    
    For now cogl_destroy_context is still exported as _cogl_destroy_context so
    Clutter could at least install a library deinit handler to call it.

 cogl.h.in                            |   28 ++++++++++++----------------
 doc/reference/cogl/cogl-sections.txt |    3 ---
 gl/cogl-context.c                    |    4 ++--
 gles/cogl-context.c                  |    4 ++--
 4 files changed, 16 insertions(+), 23 deletions(-)

commit 1669fd7332ca760f3363c3dfe4afdc8949a6a3cd
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue May 26 16:27:36 2009 +0100

    [vbo indices] tweak add_indices api to return an id and add delete_indices api
    
    Originally cogl_vertex_buffer_add_indices let the user pass in their own unique
    ID for the indices; now the Id is generated internally and returned to the
    caller.

 cogl-vertex-buffer.h                 |   30 ++++++++++++++-----
 common/cogl-vertex-buffer.c          |   52 ++++++++++++++++++++++------------
 doc/reference/cogl/cogl-sections.txt |    1 +
 3 files changed, 57 insertions(+), 26 deletions(-)

commit e4d820b75d1b09b952fd78fd161a25da4425c0d3
Author: Robert Bragg <robert@linux.intel.com>
Date:   Sun May 24 11:33:29 2009 +0100

    [cogl-vertex-buffer] Seal GL types from the public API
    
    We now have CoglAttributeType and CoglVerticesMode typedefs to replace the
    use of GLenum in the public API.

 cogl-vertex-buffer.h        |  118 +++++++++++++++++++++++++------------------
 common/cogl-vertex-buffer.c |   48 +++++++++---------
 2 files changed, 93 insertions(+), 73 deletions(-)

commit 58b89eabdf342b2bc1b684b28fd19dc8774f4795
Author: Robert Bragg <robert@linux.intel.com>
Date:   Sun May 24 04:04:38 2009 +0100

    [cogl-vertex-buffers] Support putting index arrays into VBOS
    
    It's now possible to add arrays of indices to a Cogl vertex buffer and
    they will be put into an OpenGL vertex buffer object. Since it's quite
    common for index arrays to be static it saves the OpenGL driver from
    having to validate them repeatedly.
    
    This changes the cogl_vertex_buffer_draw_elements API: It's no longer
    possible to provide a pointer to an index array at draw time. So
    cogl_vertex_buffer_draw_elements now takes an indices identifier that
    should correspond to an idendifier returned when calling
    cogl_vertex_buffer_add_indices ()

 cogl-vertex-buffer.h                 |   79 +++++++++++++----
 common/cogl-vertex-buffer-private.h  |   33 +++++--
 common/cogl-vertex-buffer.c          |  159 +++++++++++++++++++++++++++++++---
 doc/reference/cogl/cogl-sections.txt |    2 +
 4 files changed, 231 insertions(+), 42 deletions(-)

commit 02faadae8bc89324431406d4fc617eb8b54e2821
Author: Robert Bragg <robert@linux.intel.com>
Date:   Sat May 23 17:52:18 2009 +0100

    [cogl] Remove cogl_flush_gl_state from the API
    
    This is being removed before we release Clutter 1.0 since the implementation
    wasn't complete, and so we assume no one is using this yet.  Util we have
    someone with a good usecase, we can't pretend to support breaking out into
    raw OpenGL.

 cogl.h.in     |    8 +++++++-
 common/cogl.c |    2 ++
 2 files changed, 9 insertions(+), 1 deletions(-)

commit 492f0e5d14fd0622626108468a71436bc1c86f6a
Author: Robert Bragg <robert@linux.intel.com>
Date:   Sat May 23 17:42:10 2009 +0100

    [material] Reduce the material API in preperation for releasing Clutter 1.0
    
    There were a number of functions intended to support creating of new
    primitives using materials, but at this point they aren't used outside of
    Cogl so until someone has a usecase and we can get feedback on this
    API, it's being removed before we release Clutter 1.0.

 cogl-material.h                      |  129 +++++-----------------------------
 common/cogl-handle.h                 |   17 +++--
 common/cogl-material-private.h       |   86 ++++++++++++++++++++++
 common/cogl-material.c               |    6 +-
 common/cogl-primitives.c             |   50 +++++++-------
 common/cogl-vertex-buffer.c          |   15 ++--
 common/cogl.c                        |    3 +-
 doc/reference/cogl/cogl-sections.txt |    3 +
 gl/cogl-context.c                    |    4 +-
 gl/cogl-primitives.c                 |   15 ++--
 gles/cogl-context.c                  |    4 +-
 gles/cogl-primitives.c               |   15 ++--
 12 files changed, 174 insertions(+), 173 deletions(-)

commit 2dc882f685a282000a1998f98edcb387953c5ac5
Author: Robert Bragg <robert@linux.intel.com>
Date:   Sat May 23 16:23:00 2009 +0100

    [cogl-material] Removes all the API made redundant by the blend strings API
    
    This removes the following API:
      cogl_material_set_blend_factors
      cogl_material_set_layer_combine_function
      cogl_material_set_layer_combine_arg_src
      cogl_material_set_layer_combine_arg_op
    
    These were rather awkward to use, so since it's expected very few people are
    using them at this point and it should be straight forward to switch over
    to blend strings, the API is being removed before we release Clutter 1.0.

 cogl-material.h                      |  293 ----------------------------------
 common/cogl-material-private.h       |   20 ++--
 common/cogl-material.c               |  176 +++------------------
 doc/reference/cogl/cogl-sections.txt |   11 --
 4 files changed, 34 insertions(+), 466 deletions(-)

commit bc8a18ebc38fb5bde2bd23e080b2d2228a9a9f08
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon May 11 00:40:41 2009 +0100

    [cogl-material] Support string based blending and layer combine descriptions
    
    Setting up layer combine functions and blend modes is very awkward to do
    programatically.  This adds a parser for string based descriptions which are
    more consise and readable.
    
    E.g. a material layer combine function could now be given as:
      "RGBA = ADD (TEXTURE[A], PREVIOUS[RGB])"
    or
      "RGB = REPLACE (PREVIOUS)"
      "A = MODULATE (PREVIOUS, TEXTURE)"
    
    The simple syntax and grammar are only designed to expose standard fixed
    function hardware, more advanced combining must be done with shaders.
    
    This includes standalone documentation of blend strings covering the aspects
    that are common to blending and texture combining, and adds documentation
    with examples specific to the new cogl_material_set_blend() and
    cogl_material_layer_set_combine() functions.
    
    Note: The hope is to remove the now redundant bits of the material API
    before 1.0

 cogl-debug.h                         |   20 +-
 cogl-material.h                      |  244 +++++++--
 common/Makefile.am                   |    2 +
 common/cogl-blend-string.c           |  999 ++++++++++++++++++++++++++++++++++
 common/cogl-blend-string.h           |  151 +++++
 common/cogl-debug.c                  |    3 +-
 common/cogl-material-private.h       |   13 +-
 common/cogl-material.c               |  406 ++++++++++++++-
 doc/reference/cogl/Makefile.am       |    9 +-
 doc/reference/cogl/blend-strings.xml |  130 +++++
 doc/reference/cogl/cogl-docs.xml     |    1 +
 doc/reference/cogl/cogl-sections.txt |    4 +
 gl/cogl-context.c                    |    3 +
 gl/cogl-context.h                    |    3 +
 gl/cogl-defines.h.in                 |   12 +
 gl/cogl.c                            |   10 +
 gles/cogl-gles2-wrapper.c            |    9 +-
 gles/cogl-gles2-wrapper.h            |    5 +-
 gles/cogl-texture.c                  |   49 +-
 19 files changed, 1990 insertions(+), 83 deletions(-)

commit 344dc626386de4f53d162215370fe3d65170ca95
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed May 27 23:39:18 2009 +0100

    [build] Fixes some compiler warnings when building for GLES 2
    
    There were a number of variables shadowing other symbols, and an unused
    display variable.

 gles/cogl-gles2-wrapper.c |   20 ++++++++++----------
 gles/cogl-primitives.c    |   36 ++++++++++++++++++------------------
 2 files changed, 28 insertions(+), 28 deletions(-)

commit c56d5b1468e411450f0370070196abec0ccec7d6
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Sat May 23 19:18:18 2009 +0100

    [cogl] Remove max_waste argument from Texture ctors
    
    The CoglTexture constructors expose the "max-waste" argument for
    controlling the maximum amount of wasted areas for slicing or,
    if set to -1, disables slicing.
    
    Slicing is really relevant only for large images that are never
    repeated, so it's a useful feature only in controlled use cases.
    Specifying the amount of wasted area is, on the other hand, just
    a way to mess up this feature; 99% the times, you either pull this
    number out of thin air, hoping it's right, or you try to do the
    right thing and you choose the wrong number anyway.
    
    Instead, we can use the CoglTextureFlags to control whether the
    texture should not be sliced (useful for Clutter-GST and for the
    texture-from-pixmap actors) and provide a reasonable value for
    enabling the slicing ourself. At some point, we might even
    provide a way to change the default at compile time or at run time,
    for particular platforms.
    
    Since max_waste is gone, the :tile-waste property of ClutterTexture
    becomes read-only, and it proxies the cogl_texture_get_max_waste()
    function.
    
    Inside Clutter, the only cases where the max_waste argument was
    not set to -1 are in the Pango glyph cache (which is a POT texture
    anyway) and inside the test cases where we want to force slicing;
    for the latter we can create larger textures that will be bigger than
    the threshold we set.
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
    Signed-off-by: Robert Bragg <robert@linux.intel.com>
    Signed-off-by: Neil Roberts <neil@linux.intel.com>

 cogl-texture.h      |   34 +++++++--------------
 cogl-types.h        |    4 ++-
 common/cogl-util.c  |    1 +
 gl/cogl-context.c   |    6 +--
 gl/cogl-texture.c   |   81 ++++++++++++++++++++++++++------------------------
 gles/cogl-context.c |    6 +--
 gles/cogl-texture.c |   60 ++++++++++++++++++++++----------------
 7 files changed, 97 insertions(+), 95 deletions(-)

commit 3db47a8da3419dd63b4866ba64df30b93be84ab2
Merge: afa6451 c73d340
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri May 22 12:00:33 2009 +0100

    Merge branch 'master' into 1.0-integration
    
    * master:
      [cogl-vertex-buffer] Ensure the clip state before rendering
      [test-text-perf] Small fix-ups
      Add a test for text performance
      [build] Ensure that cogl-debug is disabled by default
      [build] The cogl GE macro wasn't passing an int according to the format string
      Use the right internal format for GL_ARB_texture_rectangle
      [actor_paint] Ensure painting is a NOP for actors with opacity = 0
      Make backface culling work with vertex buffers

commit c73d3404483c67b2d15eac17ef95cb9cabadf29f
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri May 22 11:41:02 2009 +0100

    [cogl-vertex-buffer] Ensure the clip state before rendering
    
    Before any rendering is done by Cogl it needs to ensure the clip stack
    is set up correctly by calling cogl_clip_ensure. This was not being
    done for the Cogl vertex buffer so it would still use the clip from
    the previous render.

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

commit afa6451befe8a25357f153af28104b120c58a316
Merge: b9cde2c 598939c
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu May 21 16:51:16 2009 +0100

    Merge branch 'pango-vbo' into 1.0-integration
    
    This makes it cache the geometry of PangoLayouts into a VBO as
    described in bug #1572.

commit 2e6bb11201eb900a889474e95999c38e171b584d
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu May 21 15:04:38 2009 +0100

    [build] The cogl GE macro wasn't passing an int according to the format string
    
    This patch simply updates the arguments passed to g_warning inline with the
    given format string.

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

commit c83ad109db36a07342a0e4575036cf8410c5f1d4
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu May 21 14:56:38 2009 +0100

    Make backface culling work with vertex buffers
    
    Backface culling is enabled as part of cogl_enable so the different
    rendering functions in Cogl need to explicitly opt-in to have backface
    culling enabled. Cogl vertex buffers should allow backface culling so
    they should check whether it is enabled and then set the appropriate
    cogl_enable flag.

 cogl.h.in                   |    6 +++---
 common/cogl-vertex-buffer.c |    3 +++
 2 files changed, 6 insertions(+), 3 deletions(-)

commit b9cde2c6f41cfe456b7cfb0e4d798e71667dd3a5
Merge: 8eb66da 320bcd9
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed May 20 16:49:22 2009 +0100

    Merge commit 'origin/master' into 1.0-integration
    
    Conflicts:
    	clutter/clutter-texture.c
    	clutter/cogl/gl/cogl-fbo.c

commit 320bcd9230992567c3e5c569277099d9c10e6594
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed May 20 15:15:25 2009 +0100

    [cogl] Do no include gprintf.h
    
    We are not using any of the g_printf* family of functions, so we
    can import glib.h instead.

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

commit 2fdc7e6a1b3bcbdd5ad147e986bb0495578afd1b
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue May 19 16:00:18 2009 +0100

    [cogl] Move debugging to a configure-time switch
    
    Currently, COGL depends on defining debug symbols by manually
    modifying the source code. When it's done, it will forcefully
    print stuff to the console.
    
    Since COGL has also a pretty, runtime selectable debugging API
    we might as well switch everything to it.
    
    In order for this to happen, configure needs a new:
    
            --enable-cogl-debug
    
    command line switch; this will enable COGL debugging, the
    CoglHandle debugging and will also turn on the error checking
    for each GL operation.
    
    The default setting for the COGL debug defines is off, since
    it slows down the GL operations; enabling it for a particular
    debug build is trivial, though.

 cogl-debug.h           |    3 ++-
 common/Makefile.am     |    2 +-
 common/cogl-debug.c    |    3 ++-
 common/cogl-handle.h   |   23 ++++++++++++-----------
 common/cogl-internal.h |    7 +++----
 gl/Makefile.am         |    2 +-
 gles/Makefile.am       |    2 +-
 7 files changed, 22 insertions(+), 20 deletions(-)

commit cf4a49061aa707a94dee85dfe2d2c0ddb0eacd4a
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue May 19 14:44:29 2009 +0100

    [cogl] Rework the debug messages
    
    COGL has a debug message system like Clutter's own. In parallel,
    it also uses a coupld of #defines. Spread around there are also
    calls to printf() instead to the more correct g_log* wrappers.
    
    This commit tries to unify and clean up the macros and the
    debug message handling inside COGL to be more consistent.

 common/cogl-handle.h     |  145 ++++++++++++++++++++++------------------------
 common/cogl-internal.h   |   43 ++++++--------
 common/cogl-primitives.c |   30 +++++-----
 common/cogl.c            |   31 +++++++---
 gl/cogl-texture.c        |   22 ++------
 gles/cogl-texture.c      |   11 ----
 6 files changed, 131 insertions(+), 151 deletions(-)

commit e73a3899e55208f9930231ffd9943f1ac64c8db4
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue May 19 14:42:37 2009 +0100

    Remove duplicate cogl-internal.h header
    
    The cogl-internal.h header has been moved inside cogl/common in
    commit 8a1b4f8326 but has been left behind inside cogl/gl and
    cogl/gles.

 gl/Makefile.am       |    1 -
 gl/cogl-internal.h   |   66 -----------------------------------
 gles/Makefile.am     |    1 -
 gles/cogl-internal.h |   93 --------------------------------------------------
 4 files changed, 0 insertions(+), 161 deletions(-)

commit 64b727d329c72fdf88c4430500638e480a5deeee
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon May 18 19:38:03 2009 +0100

    [cogl] Rework the GL-error-to-string conversion
    
    The code for the conversion of the GL error enumeration code
    into a string is not following the code style and conventions
    we follow in Clutter and COGL.
    
    The GE() macro is also using fprintf(stderr) directly instead
    of using g_warning() -- which is redirectable to an alternative
    logging system using the g_log* API.

 common/cogl-internal.h |   22 ++++++++++----------
 common/cogl.c          |   52 ++++++++++++++++++++++++-----------------------
 2 files changed, 38 insertions(+), 36 deletions(-)

commit 642f55132159f01907814cfeecab4b14b69d9eac
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu May 14 23:23:00 2009 +0100

    [build] Link Cogl against -lm
    
    We use math routines inside Cogl, so it's correct to have it in
    the LIBADD line. In normal usage something else was pulling in
    -lm, but the introspection is relying on linking against the
    convenience library.
    
    Based on a patch by: Colin Walters <walters@verbum.org>
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

 common/Makefile.am |   10 +++-------
 gl/Makefile.am     |    9 +++------
 gles/Makefile.am   |   13 ++++---------
 3 files changed, 10 insertions(+), 22 deletions(-)

commit cbe4767796e21b2c64017fa6d723f928f77c388a
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu May 14 19:51:03 2009 +0100

    [build] List cogl-internal.h
    
    During the Makefile clean up, cogl-internal.h got lost and this
    broke the dist. Let's put it back in.

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

commit 8f161a1e116ceec091d3b1a994d5244e784ad90e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu May 14 10:02:06 2009 +0100

    [build] Fix with --disable-introspection
    
    The required "fake" libclutter-cogl.la upon with the main clutter
    shared object depends is only built with introspection enabled
    instead of being built unconditionally.

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

commit 38f6fb70acc14252b026230f7e760c49d0ff410f
Author: Owen W. Taylor <otaylor@redhat.com>
Date:   Wed May 13 23:14:24 2009 +0100

    Don't build Cogl.gir against installed Clutter library
    
    Passing:
    
     --library=clutter-@CLUTTER_FLAVOUR@-@CLUTTER_API_VERSION@
    
    to g-ir-scanner, when building Cogl was causing g-ir-scanner to
    link the introspection program against the installed clutter library,
    if it existed or fail otherwise. Instead copy the handling from
    the json/ directory where we link against the convenience library
    to scan, and do the generation of the typelib later in the
    main clutter/directory.
    
    Fixes bug:
    
      http://bugzilla.openedhand.com/show_bug.cgi?id=1594
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

 Makefile.am |   29 +++++++++++------------------
 1 files changed, 11 insertions(+), 18 deletions(-)

commit aeb1516a89ba04b7900de66a19de2ad7505000db
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri May 8 16:32:01 2009 +0100

    [cogl-clip-stack] Support pushing rectangles onto the stack using window coords
    
    Previously clipping could only be specified in object coordinates, now
    rectangles can also be pushed in window coordinates.
    
    Internally rectangles pushed this way are intersected and then clipped using
    scissoring.  We also transparently try to convert rectangles pushed in
    object coordinates into window coordinates as we anticipate the scissoring
    path will be faster then the clip planes and undoubtably it will be faster
    than using the stencil buffer.

 cogl.h.in                |   21 ++++++
 common/cogl-clip-stack.c |  165 +++++++++++++++++++++++++++++++++++++++++++--
 common/cogl.c            |    2 +
 3 files changed, 180 insertions(+), 8 deletions(-)

commit 6db0d421933f5f8e1759257d2622f9a24dc5b1ea
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue May 12 14:15:18 2009 +0100

    [cogl] Remove the COGL{enum,int,uint} typedefs
    
    COGLenum, COGLint and COGLuint which were simply typedefs for GL{enum,int,uint}
    have been removed from the API and replaced with specialised enum typedefs, int
    and unsigned int. These were causing problems for generating bindings and also
    considered poor style.
    
    The cogl texture filter defines CGL_NEAREST and CGL_LINEAR etc are now replaced
    by a namespaced typedef 'CoglTextureFilter' so they should be replaced with
    COGL_TEXTURE_FILTER_NEAREST and COGL_TEXTURE_FILTER_LINEAR etc.
    
    The shader type defines CGL_VERTEX_SHADER and CGL_FRAGMENT_SHADER are handled by
    a CoglShaderType typedef and should be replaced with COGL_SHADER_TYPE_VERTEX and
    COGL_SHADER_TYPE_FRAGMENT.
    
    cogl_shader_get_parameteriv has been replaced by cogl_shader_get_type and
    cogl_shader_is_compiled. More getters can be added later if desired.

 cogl-shader.h                        |   81 ++++++++++++++++++------------
 cogl-texture.h                       |   54 +++++++++++++++++++--
 doc/reference/cogl/cogl-sections.txt |    3 +-
 gl/cogl-defines.h.in                 |   13 -----
 gl/cogl-program.c                    |   14 +++---
 gl/cogl-shader.c                     |   73 ++++++++++++++++++++++-----
 gl/cogl-texture-private.h            |    4 +-
 gl/cogl-texture.c                    |   20 ++++----
 gles/cogl-defines.h.in               |   16 ------
 gles/cogl-program.c                  |   26 +++++-----
 gles/cogl-shader.c                   |   90 +++++++++++++++++++++++++---------
 gles/cogl-texture-private.h          |    4 +-
 gles/cogl-texture.c                  |    8 ++--
 13 files changed, 263 insertions(+), 143 deletions(-)

commit 58918f0201ba880f8680bfb83637cc21f36da940
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue May 12 14:15:37 2009 +0100

    [build] Fix out-of-tree builds for Cogl
    
    Commit 43fa38fcf5 broke out-of-tree builds by removing some of the
    builddir directories from the include path. builddir/clutter/cogl and
    builddir/clutter are needed because cogl.h and cogl-defines-gl.h are
    automatically generated by the configure script. The main clutter
    headers are in the srcdir so this needs to be in the path too.

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

commit ddd0392f71e67df436c538a7724bcdbcd89ab34f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Sun May 10 00:41:17 2009 +0100

    [build] Unbreak compilation
    
    When building Clutter with introspection enabled everything stops
    at Cogl GIR generation because it depends on the installed library
    to work. Since we still require some changes in the API to be able
    to build the GIR and the typelib for Cogl we should disable the
    generation of the GIR as well.

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

commit 4c2e593266b64a5df1b35af35ee62ba74035212e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed May 6 11:18:31 2009 +0100

    [build] Build Cogl introspection data
    
    Currently, the introspection data for Cogl is built right into
    Clutter's own typelib. This makes functions like:
    
      cogl_path_round_rectangle()
    
    Appear as:
    
      Clutter.cogl_path_round_rectangle()
    
    It should be possible, instead, to have a Cogl namespace and:
    
      Cogl.path_round_rectangle()
    
    This means building introspection data for Cogl alone. Unfortunately,
    there are three types defined in Cogl that confuse the introspection
    scanner, and make it impossible to build a typelib:
    
      COGLint
      COGLuint
      COGLenum
    
    These three types should go away before 1.0, substituted by int,
    unsigned int and proper enumeration types. For this reason, we can
    just set up the GIR build and wait until the last moment to create
    the typelib. Once that has been done, we will be able to safely
    remove the Cogl API from the Clutter GIR and typelib and let
    people import Cogl if they want to use the Cogl API via introspection.

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

commit 39d39ba14bce64a040d3a4b0b6738afc9c7eba57
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed May 6 10:55:17 2009 +0100

    [build] Clean up the makefile
    
    Split out the files into their own variables to clean up the
    Makefile template; also use top_srcdir with the header files
    instead of top_builddir.

 gl/Makefile.am |  102 ++++++++++++++++++++++++++++----------------------------
 1 files changed, 51 insertions(+), 51 deletions(-)

commit 3bde41c63cab00fb5e20a3ee1266f1bc18ac0f9b
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed May 6 10:35:28 2009 +0100

    Fix inclusion guards and headers
    
    The C++ inclusion guards G_BEGIN_DECLS and G_END_DECLS are
    defined by GLib; so we need to include glib.h before using
    them.

 cogl-bitmap.h          |    4 ++--
 cogl-shader.h          |    2 +-
 cogl-texture.h         |    4 ++--
 gl/cogl-defines.h.in   |    1 +
 gles/cogl-defines.h.in |    1 +
 5 files changed, 7 insertions(+), 5 deletions(-)

commit 93c57697221d0e66135cb14890a06089d81a6761
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri May 1 09:53:20 2009 +0100

    [cogl-material] Adds a cogl_material_set_color4f convenience function
    
    This is simply a wrapper around cogl_color_set_from_4f and
    cogl_material_set_color. We already had a prototype for this, it was
    an oversight that it wasn't already implemented.

 cogl-material.h        |    4 ++--
 common/cogl-material.c |   12 ++++++++++++
 2 files changed, 14 insertions(+), 2 deletions(-)

commit 869a2b4167cb56131a6c89a2f6b043001891aadd
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Apr 30 22:19:43 2009 +0100

    [cogl-offscreen] Cleans up the cogl offscreen API and adds documentation
    
    There were several functions I believe no one is currently using that were
    only implemented in the GL backend (cogl_offscreen_blit_region and
    cogl_offscreen_blit) that have simply been removed so we have a chance to
    think about design later with a real use case.
    
    There was one nonsense function (cogl_offscreen_new_multisample) that
    sounded exciting but in all cases it just returned COGL_INVALID_HANDLE
    (though at least for GL it checked for multisampling support first!?)
    it has also been removed.
    
    The MASK draw buffer type has been removed. If we want to expose color
    masking later then I think it at least would be nicer to have the mask be a
    property that can be set on any draw buffer.
    
    The cogl_draw_buffer and cogl_{push,pop}_draw_buffer function prototypes
    have been moved up into cogl.h since they are for managing global Cogl state
    and not for modifying or creating the actual offscreen buffers.
    
    This also documents the API so for example desiphering the semantics of
    cogl_offscreen_new_to_texture() should be a bit easier now.

 cogl-offscreen.h                     |   97 +++++++-----------------------
 cogl-types.h                         |    4 +-
 cogl.h.in                            |   29 +++++++++
 common/cogl-util.c                   |    1 -
 doc/reference/cogl/cogl-sections.txt |    4 +-
 gl/cogl-fbo.c                        |  109 ++-------------------------------
 gles/cogl-fbo.c                      |   91 ++--------------------------
 gles/cogl-texture.c                  |    5 --
 8 files changed, 68 insertions(+), 272 deletions(-)

commit cb344560dcf363fdd4ac830db6f59426ceae8c3b
Author: Havoc Pennington <hp@pobox.com>
Date:   Thu Feb 19 22:37:08 2009 -0500

    add cogl_push_draw_buffer() and cogl_pop_draw_buffer()
    
    These are necessary if nesting redirections to an fbo,
    otherwise there's no way to know how to restore
    previous state.
    
    glPushAttrib(GL_COLOR_BUFFER_BIT) would save draw buffer
    state, but also saves a lot of other stuff, and
    cogl_draw_buffer() relies on knowing about all draw
    buffer state changes. So we have to implement a
    draw buffer stack ourselves.
    
    Signed-off-by: Robert Bragg <robert@linux.intel.com>

 cogl-offscreen.h    |   14 +++++++++
 gl/cogl-context.c   |    7 ++++-
 gl/cogl-context.h   |    8 +++++-
 gl/cogl-fbo.c       |   75 ++++++++++++++++++++++++++++++++++++++++++++++++--
 gles/cogl-context.c |    7 ++++-
 gles/cogl-context.h |    8 +++++-
 gles/cogl-fbo.c     |   75 ++++++++++++++++++++++++++++++++++++++++++++++++--
 7 files changed, 184 insertions(+), 10 deletions(-)

commit c8862e35cc9de3398c942410a4b4c88872837bec
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Apr 30 18:00:22 2009 +0100

    [cogl] Only expose CoglBitmap as a CoglHandle
    
    It was inconsistent that we exposed the CoglBitmap struct instead of an
    opaque CoglHandle.

 cogl-bitmap.h                        |   78 ++++++++++++++++++++++++++
 cogl-texture.h                       |   45 +--------------
 cogl-types.h                         |    7 --
 cogl.h.in                            |    1 +
 common/Makefile.am                   |    2 +-
 common/cogl-bitmap-fallback.c        |    2 +-
 common/cogl-bitmap-pixbuf.c          |    2 +-
 common/cogl-bitmap-private.h         |  101 ++++++++++++++++++++++++++++++++++
 common/cogl-bitmap.c                 |   25 +++++---
 common/cogl-bitmap.h                 |   98 ---------------------------------
 doc/reference/cogl/cogl-sections.txt |   13 ++--
 gl/Makefile.am                       |    2 +
 gl/cogl-texture-private.h            |    2 +-
 gl/cogl-texture.c                    |   13 +++-
 gles/Makefile.am                     |    2 +
 gles/cogl-texture-private.h          |    2 +-
 gles/cogl-texture.c                  |   12 ++--
 17 files changed, 231 insertions(+), 176 deletions(-)

commit 66cb117056d71e694765e7e8e4c4098b48351106
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Apr 29 19:49:09 2009 +0100

    [cogl-material] make _cogl_material_layer_free check for an invalid texture handle
    
    It is valid in some situations to have a material layer with an invalid texture
    handle (e.g. if you setup a texture combine mode before setting the texture)
    and so _cogl_material_layer_free needs to check for a valid handle before
    attempting to unref it.

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

commit 7e9685294e266e88bb8eaf5ac303d0a58e89ba07
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Apr 27 15:48:12 2009 +0100

    [cogl] Updates all file headers and removes lots of trailing white space
    
    Adds missing notices, and ensures all the notices are consistent. The Cogl
    blurb also now reads:
    
     * Cogl
     *
     * An object oriented GL/GLES Abstraction/Utility Layer

 cogl-color.h                        |   12 ++-
 cogl-debug.h                        |   23 +++++++
 cogl-deprecated.h                   |   23 +++++++
 cogl-fixed.h                        |   14 +++--
 cogl-material.h                     |   23 +++++++
 cogl-matrix.h                       |   26 ++++++++
 cogl-offscreen.h                    |   14 +++--
 cogl-path.h                         |   12 ++-
 cogl-shader.h                       |   12 ++-
 cogl-texture.h                      |   12 ++-
 cogl-types.h                        |   21 ++++---
 cogl-vertex-buffer.h                |   17 +++--
 cogl.h.in                           |    9 +--
 common/cogl-bitmap-fallback.c       |   52 +++++++--------
 common/cogl-bitmap-pixbuf.c         |   38 +++++------
 common/cogl-bitmap.c                |   40 ++++++------
 common/cogl-clip-stack.c            |    8 +--
 common/cogl-clip-stack.h            |    8 +--
 common/cogl-color.c                 |   23 +++++++
 common/cogl-current-matrix.c        |   11 ++--
 common/cogl-current-matrix.h        |   11 ++--
 common/cogl-debug.c                 |   23 +++++++
 common/cogl-fixed.c                 |   23 +++++++
 common/cogl-handle.h                |    8 +--
 common/cogl-internal.h              |    5 +-
 common/cogl-material-private.h      |   26 ++++++++
 common/cogl-material.c              |   25 +++++++
 common/cogl-matrix-stack.c          |   11 ++--
 common/cogl-matrix-stack.h          |   11 ++--
 common/cogl-matrix.c                |   26 ++++++++
 common/cogl-primitives.c            |  122 +++++++++++++++++------------------
 common/cogl-primitives.h            |    8 +--
 common/cogl-util.c                  |   16 ++---
 common/cogl-util.h                  |   10 +--
 common/cogl-vertex-buffer-private.h |   15 +++--
 common/cogl-vertex-buffer.c         |   17 +++--
 common/cogl.c                       |    5 +-
 gl/cogl-context.c                   |    8 +--
 gl/cogl-context.h                   |    8 +--
 gl/cogl-defines.h.in                |   22 +++----
 gl/cogl-fbo.c                       |   84 ++++++++++++------------
 gl/cogl-fbo.h                       |    8 +--
 gl/cogl-internal.h                  |    8 +--
 gl/cogl-primitives.c                |    8 +--
 gl/cogl-program.c                   |   16 ++---
 gl/cogl-program.h                   |    8 +--
 gl/cogl-shader-private.h            |    8 +--
 gl/cogl-shader.c                    |   10 +--
 gl/cogl-texture-private.h           |    8 +--
 gl/cogl-texture.c                   |   13 ++--
 gl/cogl.c                           |    4 +-
 gles/cogl-context.c                 |    8 +--
 gles/cogl-context.h                 |    8 +--
 gles/cogl-fbo.c                     |    8 +--
 gles/cogl-fbo.h                     |    8 +--
 gles/cogl-gles2-wrapper.c           |   10 +--
 gles/cogl-gles2-wrapper.h           |    8 +--
 gles/cogl-internal.h                |    8 +--
 gles/cogl-primitives.c              |    8 +--
 gles/cogl-program.c                 |   12 ++--
 gles/cogl-program.h                 |    8 +--
 gles/cogl-shader-private.h          |    8 +--
 gles/cogl-shader.c                  |   10 +--
 gles/cogl-texture-private.h         |    8 +--
 gles/cogl-texture.c                 |    8 +--
 gles/cogl-util.c                    |   10 +--
 gles/cogl-util.h                    |   10 +--
 gles/cogl.c                         |    4 +-
 gles/stringify.sh                   |   30 +++++++--
 69 files changed, 684 insertions(+), 463 deletions(-)

commit 2d94b3f46f1a783c0e1562da604d920affbadc43
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri Apr 24 18:09:52 2009 +0100

    [cogl] Adds a bitfield argument to cogl_clear for specifying which buffers to clear
    
    Redundant clearing of depth and stencil buffers every render can be very
    expensive, so cogl now gives control over which auxiliary buffers are
    cleared.
    
    Note: For now clutter continues to clear the color, depth and stencil buffer
    each paint.

 cogl.h.in     |   21 ++++++++++++++++++---
 common/cogl.c |   46 +++++++++++++++++++++++++---------------------
 2 files changed, 43 insertions(+), 24 deletions(-)

commit 8eb66da6b0fbb022028d012a428a399892a0c0f3
Author: Johan Bilien <jobi@via.ecp.fr>
Date:   Fri Apr 24 15:07:49 2009 +0100

    Unnecessary glColorMask on alpha drops performance
    
    Bug 1228 - Unnecessary glColorMask on alpha drops performance
    
    With DRI2, alpha is allowed in the window's framebuffer
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

 gl/cogl-fbo.c |    8 +-------
 1 files changed, 1 insertions(+), 7 deletions(-)

commit 598939cee1dc8d5235b25830803a5ebcc3c4d5ad
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Apr 20 12:36:43 2009 +0100

    [gl/cogl.c] #include <gmodule.h> for OS X builds
    
    In unifying the {gl,gles}/cogl.c code recently, moving most of the code into
    common/cogl.c the gmodule.h include was also mistakenly moved.
    
    Thanks to Felix Rabe for reporting this issue.
    
    Note: I haven't tested this fix myself, as I'm not set up to be able to
    build for OS X

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

commit c1afd0de6907d03821a2696c89b197c88b3580ef
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Apr 15 19:25:55 2009 +0100

    [cogl vertex buffers] Adds fallbacks for drivers without VBO support
    
    Buffer objects aren't currently available for glx indirect contexts, so we
    now have a fallback that simply allocates fake client side vbos to store the
    attributes.

 common/cogl-vertex-buffer-private.h |    5 +-
 common/cogl-vertex-buffer.c         |  149 +++++++++++++++++++++++++++--------
 gles/cogl.c                         |    2 +
 3 files changed, 121 insertions(+), 35 deletions(-)

commit bf4a0fa03ff97b9e233129c11d237e9275caabe6
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri Apr 17 15:10:55 2009 +0100

    [cogl debug] --cogl-debug=rectangles now outlines all cogl rectangles
    
    This makes the #if 0'd debug code that was in _cogl_journal_flush_quad_batch
    - which we have repeatedly found usefull for debugging various geometry
    issues in Clutter apps - a runtime debug option.
    
    The outline colors rotate in order from red to green to blue which can also
    help confirm the order that your geometry really drawn.
    
    The outlines are not affected by the current material state, so if you e.g.
    have a blending bug where geometry mysteriously disappears this can confirm
    if the underlying rectangles are actually being emitted but blending is
    causing them to be invisible.

 cogl-debug.h             |   15 ++++++++-------
 common/cogl-debug.c      |    3 ++-
 common/cogl-primitives.c |    7 +++----
 3 files changed, 13 insertions(+), 12 deletions(-)

commit ccb334452edf61f9bef521093d345a7c413e8efd
Merge: 458e6e0 4aea0d6
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Apr 15 18:08:14 2009 +0100

    Merge branch 'text-actor-layout-height'
    
    * text-actor-layout-height:
      [clutter-text] Fix ellipsizing
      Support pango_layout_set_height() in ClutterText
    
    Conflicts:
    	clutter/clutter-text.c

commit 458e6e0356a2e3c25a7b133f6e6dfcc052b9c67a
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Apr 6 12:43:16 2009 +0100

    [cogl-handle] Fix the broken debug macros
    
    The debug macros for tracking reference counting of CoglHandles had
    some typos introduced in c3d9f0 which meant it failed to compile when
    COGL_DEBUG is 1.

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

commit 6a3588101b59aada63481440cb5e43a1933f1a21
Author: Robert Bragg <robert@linux.intel.com>
Date:   Sat Apr 4 19:02:01 2009 +0100

    [cogl] cogl_is_*(): Don't dereference an invalid handle; just return FALSE
    
    An invalid handle is implicitly not of any type.

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

commit ed272213f002bde9ae947f0dea9aea343bd4d795
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Apr 1 17:16:44 2009 +0100

    [cogl-handle] Optimize how we define cogl handles
    
    The cogl_is_* functions were showing up quite high on profiles due to
    iterating through arrays of cogl handles.
    
    This does away with all the handle arrays and implements a simple struct
    inheritance scheme. All cogl objects now add a CoglHandleObject _parent;
    member to their main structures. The base object includes 2 members a.t.m; a
    ref_count, and a klass pointer. The klass in turn gives you a type and
    virtual function for freeing objects of that type.
    
    Each handle type has a _cogl_##handle_type##_get_type () function
    automatically defined which returns a GQuark of the handle type, so now
    implementing the cogl_is_* funcs is just a case of comparing with
    obj->klass->type.
    
    Another outcome of the re-work is that cogl_handle_{ref,unref} are also much
    more efficient, and no longer need extending for each handle type added to
    cogl. The cogl_##handle_type##_{ref,unref} functions are now deprecated and
    are no longer used internally to Clutter or Cogl. Potentially we can remove
    them completely before 1.0.

 common/cogl-handle.h                |  171 ++++++++++++++++++-----------------
 common/cogl-material-private.h      |    5 +-
 common/cogl-material.c              |   31 +++----
 common/cogl-util.c                  |   45 +++------
 common/cogl-vertex-buffer-private.h |    7 ++-
 common/cogl-vertex-buffer.c         |    7 +--
 gl/cogl-context.c                   |   25 +-----
 gl/cogl-context.h                   |   13 ---
 gl/cogl-fbo.c                       |    5 +-
 gl/cogl-fbo.h                       |    6 +-
 gl/cogl-program.c                   |    5 +-
 gl/cogl-program.h                   |    4 +-
 gl/cogl-shader-private.h            |    4 +-
 gl/cogl-shader.c                    |    5 +-
 gl/cogl-texture-private.h           |    3 +-
 gl/cogl-texture.c                   |   16 +---
 gles/cogl-context.c                 |   25 +-----
 gles/cogl-context.h                 |   13 ---
 gles/cogl-fbo.c                     |    5 +-
 gles/cogl-fbo.h                     |    6 +-
 gles/cogl-program.c                 |    9 +--
 gles/cogl-program.h                 |    3 +-
 gles/cogl-shader-private.h          |    4 +-
 gles/cogl-shader.c                  |    5 +-
 gles/cogl-texture-private.h         |    3 +-
 gles/cogl-texture.c                 |   16 +---
 26 files changed, 165 insertions(+), 276 deletions(-)

commit 4b484d6496b77112177b791925d3e13fcb27be96
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Apr 2 11:50:44 2009 +0100

    [cogl] handle_automatic_blend_enable(): consider layers with invalid textures
    
    A layer object may be instantiated when setting a combine mode, but before a
    texture is associated. (e.g. this is done by the pango renderer) if this is the
    case we shouldn't call cogl_texture_get_format() with an invalid cogl handle.
    
    This patch skips over layers without a texture handle when determining if any
    textures have an alpha channel.

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

commit c2afbd415e7d5e8f9c50123afb4a1821655f8aee
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Mar 30 17:07:31 2009 +0100

    Unifies 90% of the code in {gl,gles}/cogl.c in common/cogl.c
    
    This code keeps on diverging and we get bugs and fixes in one version but
    not the other. This should make things a bit more maintainable.

 common/Makefile.am     |    1 +
 common/cogl-internal.h |   95 +++++++
 common/cogl.c          |  640 ++++++++++++++++++++++++++++++++++++++++++++++++
 gl/cogl.c              |  608 +---------------------------------------------
 gles/cogl-internal.h   |    3 +
 gles/cogl.c            |  584 +-------------------------------------------
 6 files changed, 749 insertions(+), 1182 deletions(-)

commit 8a2145eb8bb35679092b1c89268b103d00aa0605
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Mar 30 16:41:02 2009 +0100

    Removes cogl_blend_func prototype from cogl-internal.h
    
    cogl_blend_func was removed a while ago so this was just a left over from then

 gl/cogl-internal.h   |    4 ----
 gles/cogl-internal.h |    4 ----
 2 files changed, 0 insertions(+), 8 deletions(-)

commit f8ca841a8b2b29d9d4a0977e7116d4c361ea3311
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Mar 25 14:53:58 2009 +0000

    [doc] Fix two small typos in cogl-vertex-buffer
    
    The symbol name for cogl_vertex_buffer_draw_elements was wrong so it
    ended up with no documentation. The name for the vertex attribute was
    incorrect in cogl_vertex_buffer_add.

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

commit 935db8eec29b5961856ba5454286fe0be63cc575
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Mar 23 12:46:20 2009 +0000

    [build] Fixes a cogl-vertex-buffer.c warning when building for GLES
    
    GLES 1 doesn't support GLSL so it never needs to use the generic_index
    variable for generic attributes which was flagging a warning.

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

commit d7c5fa4b610238eeaf000396fa5468c3a6a1265f
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Mar 23 12:29:15 2009 +0000

    [cogl] Move rect and poly drawing code from cogl-texture.c to cogl-primitives.c
    
    None of this code directly related to implementing CoglTextures, and the
    code was needlessly duplicated between the GL and GLES backends. This moves
    the cogl_rectangle* and cogl_polygon* code into common/cogl-primitives.c
    makes which makes lot of sense since the two copies keep needlessly
    diverging introducing or fixing bugs in one but not the other. For instance
    I came accross one such bug regarding the enabling of texture units when
    unifying the code.

 common/cogl-primitives.c    | 1256 ++++++++++++++++++++++++++++++++++++++++++-
 gl/cogl-texture-private.h   |   34 ++
 gl/cogl-texture.c           | 1261 +------------------------------------------
 gles/cogl-texture-private.h |   34 ++
 gles/cogl-texture.c         | 1244 +------------------------------------------
 5 files changed, 1331 insertions(+), 2498 deletions(-)

commit c797d564b2c0939137876730ac9fe08a838a1b8d
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Mar 23 11:39:40 2009 +0000

    [cogl_rectangles] A minor doc fix, and missing newline between functions
    
    The gtk-doc had a copy and paste error, saying the float array should be 8
    elements per rectangle instead of 4. There was also no newline in the gles
    code before the new function.

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

commit 7b7ece9eda72797b897e16de19e6f439a8ae1829
Author: Johan Bilien <jobi@litl.com>
Date:   Fri Mar 20 19:22:23 2009 +0000

    Allow using array of vertices even without textures
    
    It's often nice to be able to draw a batch of vertices, even if these
    have no texture coordinates. This add a cogl_rectangles, similar to
    cogl_rectangles_with_texture_coords, only without.

 cogl-texture.h      |   21 +++++++++++++++++++++
 gl/cogl-texture.c   |   20 ++++++++++++++++++++
 gles/cogl-texture.c |   19 +++++++++++++++++++
 3 files changed, 60 insertions(+), 0 deletions(-)

commit bb761e760aebe4c61bc61c6736ca98f6fa6058e1
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Mar 19 16:46:07 2009 +0000

    Removes a hack in gles/cogl.c that was already fixed in gl/cogl.c
    
    It removes the need to cast a CoglMatrix to a float * for transforming
    a vertex manually instead of using cogl_matrix_transform_point.

 gles/cogl.c |   43 ++++++++++++-------------------------------
 1 files changed, 12 insertions(+), 31 deletions(-)

commit d176e16b4b41ef773f2d5bf55d4f8f0adebf47d1
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Mar 17 14:12:01 2009 +0000

    Remove usage of the grave accent as quotation mark
    
    See:
    
      http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
    
    This should make Thomas happy.

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

commit f536398d00e65fc0911071ca19bffc70f9e37f0f
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Mar 17 00:12:27 2009 +0000

    [cogl] Apply the fix from 2c1c836417 (Flush matrix before clip planes) to GLES
    
    glClipPlane() is affected by modelview matrix so we need to flush before
    calling it.

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

commit 9611f33dd648fe21a9f59dc7ee910bc5ee27d3d1
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Mar 16 14:58:00 2009 +0000

    [cogl] Don't endlessly print the same warning regarding layer fallbacks
    
    There are various constraints for when we can support multi-texturing and
    when they can't be met we try and print a clear warning explaining why the
    operation isn't supported, but we shouldn't endlessly repeat the warning for
    every primitive of every frame. This patch fixes that.

 gl/cogl-texture.c   |   94 ++++++++++++++++++++++++++++++--------------------
 gles/cogl-texture.c |   90 ++++++++++++++++++++++++++++--------------------
 2 files changed, 109 insertions(+), 75 deletions(-)

commit 2866b0e33b0eec23a5e0547676034eb18c6009e4
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Mar 9 10:26:31 2009 +0000

    [cogl-vertex-buffer] fix cogl_vertex_buffer_draw_elements prototype
    
    This function was renamed a while ago in the .c file from
    cogl_vertex_buffer_draw_range_elements  but the corresponding .h and
    doc/reference/cogl changes weren't made.

 cogl-vertex-buffer.h                 |   14 +++++++-------
 doc/reference/cogl/cogl-sections.txt |    2 +-
 2 files changed, 8 insertions(+), 8 deletions(-)

commit a76e333f50aebdb474c9c50d41307c9b8429a6d3
Author: Robert Bragg <robert@linux.intel.com>
Date:   Sat Feb 28 17:39:38 2009 +0000

    [cogl-vertex-buffer] Allow querying back the number of vertices a buffer represents
    
    This may be convenient e.g. at draw time if you are simply drawing all vertices

 cogl-vertex-buffer.h                 |    9 +++++++++
 common/cogl-vertex-buffer.c          |   13 +++++++++++++
 doc/reference/cogl/cogl-sections.txt |    1 +
 3 files changed, 23 insertions(+), 0 deletions(-)

commit 39227def4b2289cd64669831e3d692debbf1c07c
Author: Robert Bragg <robert@linux.intel.com>
Date:   Sat Feb 28 17:36:25 2009 +0000

    [cogl-vertex-buffer] Add a flush of attribute changes in the *_draw() functions
    
    For convenience it is now valid to avoid a seperate call to
    cogl_vertex_buffer_submit() and assume that the _draw() calls will do this
    for you (though of course if you do this you still need to ensure the
    attribute pointers remain valid until your draw call.)

 cogl-vertex-buffer.h        |   38 ++++++++++++++++++++++++--------------
 common/cogl-vertex-buffer.c |   25 +++++++++++++++++++------
 2 files changed, 43 insertions(+), 20 deletions(-)

commit 7598c551a2621129ac85b944eb6ebdc09c9c3e74
Author: Havoc Pennington <hp@pobox.com>
Date:   Mon Mar 16 15:09:33 2009 +0000

    [cogl] Flush matrix before clip planes
    
    glClipPlane() is affected by modelview matrix so we need to flush
    before calling it.
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

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

commit f0775b8278b69d376a9476504f3ecd1d4cd2341e
Merge: b6ee8fe bcbc0c7
Author: Øyvind Kolås <pippin@linux.intel.com>
Date:   Mon Mar 16 00:40:27 2009 +0000

    Merge branch 'async-texture-thread-pool'

commit b6ee8fe8e4e4666cc8a7eaf00f5b6a9da66a8209
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Mar 13 15:43:19 2009 +0000

    [cogl-path] Minor fix to gtk-doc
    
    Fix the parameters in cogl_path_curve_to and cogl_path_rel_curve_to to
    match the actual names otherwise they won't appear correctly in the
    docs.

 cogl-path.h |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

commit b29e1b2f2ab134c5d4fa9718efdfd39ceaf02e5a
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Mar 13 15:28:20 2009 +0000

    [cogl] Avoid shadowing math.h symbols
    
    As usual, y1 and y2 end up shadowing symbols exported by math.h.

 cogl-path.h              |  108 +++++++++++++++++++++++-----------------------
 common/cogl-primitives.c |   30 ++++++------
 2 files changed, 69 insertions(+), 69 deletions(-)

commit 367dbd176ff44571f5dd595e526c22dafef7afc2
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Mar 13 12:20:26 2009 +0000

    Change cogl_path_rectangle and cogl_path_round_rectangle to take x1,y1,x2,y2
    
    This matches the changes to cogl_rectangle to improve consistency.

 cogl-path.h              |   34 +++++++++++++++++-----------------
 common/cogl-primitives.c |   30 +++++++++++++++---------------
 2 files changed, 32 insertions(+), 32 deletions(-)

commit 5af7c85fa2c3997985486c54fa5b716a75873ff8
Merge: a06dd94 e1b8e94
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Mar 12 18:59:20 2009 +0000

    Merge branch 'cogl-client-matrix-stacks'
    
    * cogl-client-matrix-stacks:
      Maintain the Cogl assumption that the modelview matrix is normally current
      Finish GLES{1,2} support for client side matrix stacks
      Explicitly make the modelview-matrix current in cogl_{rotate,transform,etc}
      Avoid casting CoglMatrix to a GLfloat * when calling glGetFloatv
      Removes need for casting const float * in _cogl_set_clip_planes
      Virtualize GL matrix operations and use a client-side matrix when GL is indirect

commit e1b8e9445d8036dc682a4f8d9eca926ff10ec4f4
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Mar 12 14:16:48 2009 +0000

    Maintain the Cogl assumption that the modelview matrix is normally current
    
    _cogl_add_path_to_stencil_buffer and _cogl_add_stencil_clip were leaving
    the projection matrix current when calling cogl_rectangle which was
    upsetting _cogl_current_matrix_state_flush.

 gl/cogl-primitives.c   |   14 ++++++++++++--
 gl/cogl.c              |   16 ++++++++++++++--
 gles/cogl-primitives.c |   14 ++++++++++++--
 gles/cogl.c            |   16 ++++++++++++++--
 4 files changed, 52 insertions(+), 8 deletions(-)

commit dc94a11963180757170808eaea0a1a8f57e0721d
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Mar 12 13:34:36 2009 +0000

    Finish GLES{1,2} support for client side matrix stacks
    
    Adds glFrustum wrappers (GLES only accepts floats not doubles, and GLES2
    needs to use our internal cogl_wrap_glFrustumf)
    
    Adds GL_TEXTURE_MATRIX getter code in cogl_wrap_glGetFloatv
    
    Adds a GL_TEXTURE_MATRIX define for GLES2

 common/cogl-current-matrix.c |   13 +++++++++++++
 gles/cogl-gles2-wrapper.c    |   10 ++++++++++
 gles/cogl-gles2-wrapper.h    |    1 +
 3 files changed, 24 insertions(+), 0 deletions(-)

commit 17f19c2bb8fb6a01a361836a113568be3b95bde9
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Mar 12 13:32:10 2009 +0000

    Use Cogl enum when making modelview-matrix current in cogl_{rotate,transform,etc}
    
    My previous patch incorrectly used the GL enum with the _cogl_set_current_matrix
    API.

 common/cogl-current-matrix.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

commit 81eadde16c182fe7556373b16c9d23792f292f6b
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri Mar 6 03:43:24 2009 +0000

    Explicitly make the modelview-matrix current in cogl_{rotate,transform,etc}
    
    Its not intended that users should use these with any other matrix mode, and
    internally we now have the _cogl_current_matrix API if we need to play with
    other modes.

 common/cogl-current-matrix.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

commit c43ebcd7ffee1a96103da5d2fe8a07d4601c26ca
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri Mar 6 03:29:51 2009 +0000

    Avoid casting CoglMatrix to a GLfloat * when calling glGetFloatv
    
    If we later add internal flags to CoglMatrix then this code wouldn't
    initialize those flags. The ways it's now done adds a redundant copy, but
    if that turns out to be something worth optimizing we can look again at
    using a cast but adding another way for initializing internal flags.

 common/cogl-current-matrix.c |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

commit 4dd9200353c37f729f5df61ffcda10868e1d000b
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri Mar 6 03:29:35 2009 +0000

    80 char fix

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

commit f52262d5ad5a0ac851ff0a44d1beca1e0c7a6027
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri Mar 6 02:39:24 2009 +0000

    Removes need for casting (const float *) to (GLfloat *) in _cogl_set_clip_planes
    
    This removes cogl.c:apply_matrix(), and makes cogl.c:project_vertex() use
    cogl_matrix_transform_point instead.

 gl/cogl.c |   43 ++++++++++++-------------------------------
 1 files changed, 12 insertions(+), 31 deletions(-)

commit 11349b6c7479ebf42321c1f207dcc433d2847e4f
Author: Havoc Pennington <hp@pobox.com>
Date:   Tue Feb 24 13:51:25 2009 -0500

    Virtualize GL matrix operations and use a client-side matrix when GL is indirect
    
    This is useful because sometimes we need to get the current matrix, which
    is too expensive when indirect rendering.
    
    In addition, this virtualization makes it easier to clean up the API in
    the future.

 cogl-matrix.h                |   21 ++
 cogl.h.in                    |   18 ++
 common/Makefile.am           |    4 +
 common/cogl-current-matrix.c |  452 ++++++++++++++++++++++++++++++++++++++++++
 common/cogl-current-matrix.h |   91 +++++++++
 common/cogl-material.c       |    6 +-
 common/cogl-matrix-stack.c   |  327 ++++++++++++++++++++++++++++++
 common/cogl-matrix-stack.h   |   67 +++++++
 common/cogl-matrix.c         |   42 ++++
 common/cogl-util.c           |   23 +++
 common/cogl-vertex-buffer.c  |    4 +
 gl/cogl-context.c            |   37 ++++
 gl/cogl-context.h            |    8 +
 gl/cogl-fbo.c                |   42 ++--
 gl/cogl-primitives.c         |   20 ++-
 gl/cogl-texture.c            |    5 +-
 gl/cogl.c                    |  233 +++++------------------
 gles/cogl-context.c          |   37 ++++
 gles/cogl-context.h          |    8 +
 gles/cogl-fbo.c              |   36 ++--
 gles/cogl-primitives.c       |   20 ++-
 gles/cogl-texture.c          |   33 ++--
 gles/cogl.c                  |  235 +++++------------------
 23 files changed, 1315 insertions(+), 454 deletions(-)

commit bcbc0c7c4ef266bf072219a27113fd905304a1ba
Merge: a06dd94 ee3647f
Author: Øyvind Kolås <pippin@linux.intel.com>
Date:   Thu Mar 12 11:18:11 2009 +0000

    Merge commit 'origin/async-texture-thread-pool' into async-size

commit a06dd94eb81a22c851429a04860cade3b1ebce03
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Mar 10 18:05:08 2009 +0000

    [cogl] Initialize all members of CoglContext
    
    Some members of CoglContext still escape initialization.

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

commit 949e37d332c82433c2ff38341ec25efd8f2f33e0
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Mar 10 17:53:51 2009 +0000

    [cogl] Initialize boolean flag in CoglContext
    
    The private CoglContext is created using g_malloc() and not
    zeroed; this means we have to initialize the values we are
    going to check, to avoid hitting garbage.
    
    Thanks to Tommi Komulainen.

 gl/cogl-context.c   |    2 ++
 gles/cogl-context.c |    2 ++
 2 files changed, 4 insertions(+), 0 deletions(-)

commit c50bd8b24ee2da1195e6cdcabcfe5b9fbd326be2
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Mar 9 17:47:21 2009 +0000

    [cogl] Fix hardcoded paths in the pc file
    
    The commit 24ce193836 fixed the Clutter pkg-config file. Since
    COGL now ships its own, we need to fix that as well.

 cogl.pc.in |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit 84229fa13c7ea991303789ab94cf8c213ec1921e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Mar 9 17:06:22 2009 +0000

    [cogl-fixed] Implement the CoglFixed fundamental GType
    
    The type machinery for CoglFixed should be implemented by COGL
    itself, now that COGL exports the GType of its types.
    
    This allows moving most of what ClutterFixed did directly to
    CoglFixed where it belongs.

 cogl-types.h       |   44 ++++++++++++-
 cogl.h.in          |   33 ---------
 common/cogl-util.c |  186 ++++++++++++++++++++++++++++++++++++++++++++++++++--
 3 files changed, 223 insertions(+), 40 deletions(-)

commit 198dcef7283bb619ebe7fd2ef5b06cbfe972dca9
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Mar 5 20:15:00 2009 +0000

    [cogl-fixed] Add a double-to-fixed conversion macro
    
    Since the conversion of a floating point value to a fixed point
    value is already done in double precision we can safely expose
    a macro that converts a double precision floating point value to
    a CoglFixed one.

 cogl-fixed.h |   15 +++++++++++++--
 1 files changed, 13 insertions(+), 2 deletions(-)

commit a60d0aa2315b02924cae2a63bb666212d831e15e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Sat Feb 28 17:54:27 2009 +0000

    Add pkg-config file for COGL
    
    COGL should ship its own pkg-config file, obviously still pointing
    to Clutter's compiler flags and linking options, for COGL-specific
    variables that might be queried at configure time.
    
    For instance, it's easier (and less verbose) to do:
    
      PKG_CHECK_EXISTS([cogl-gl-1.0],
                       [has_gl_backend=yes],
                       [has_gl_backend=no])
    
    Than doing:
    
      AC_MSG_CHECKING([for GL support in COGL])
      cogl_backend=`$PKG_CONFIG --variable=cogl clutter-0.9`
      if test x$cogl_backend = xgl; then
        has_gl_backend=yes
        AC_MSG_RESULT([found])
      else
        has_gl_backend=no
        AC_MSG_RESULT([not found])
      fi

 Makefile.am |   17 ++++++++++++++++-
 cogl.pc.in  |   15 +++++++++++++++
 2 files changed, 31 insertions(+), 1 deletions(-)

commit da9a1720fb42bdbd3fc6ef6feb2e50721224ee44
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Sat Feb 28 16:03:11 2009 +0000

    [cogl] Add a PANGO debug flag for CoglPango use
    
    The CoglPango code falls under the COGL "jurisdiction"; this means
    that it cannot include Clutter headers unless strictly necessary.
    
    The CoglPangoRenderer code was using the CLUTTER_NOTE() macro. Now
    that COGL has it's own COGL_NOTE() similar macro, CoglPango should
    use that and avoid including clutter-debug.h (which pulls in
    clutter-private.h which in turn pulls in clutter-actor.h).
    
    A new flag, COGL_DEBUG_PANGO, has been added to the COGL debug
    flags.

 cogl-debug.h        |    3 ++-
 common/cogl-debug.c |    3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

commit f8166440227d905cebfd17a0a5b8507f3defd47d
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Feb 25 16:23:09 2009 +0000

    [cogl-matrix] Documents that CoglMatrix members should be considered read only
    
    In the future if we want to annotate matrices with internal flags, and add
    caching of the inverse matrix then we need to ensure that all matrix
    modifications are done by cogl_matrix API so we'd know when to dirty the
    cache or update the flags.
    
    This just adds documentation to that effect, and assuming the most likley
    case where someone would try and directly write to matrix members would
    probably be to load a constant matrix other than the identity matrix; I
    renamed cogl_matrix_init_from_gl_matrix to cogl_matrix_init_from_array to
    make it seem more general purpose.

 cogl-matrix.h                        |   23 +++++++++++++++--------
 common/cogl-matrix.c                 |    6 +++---
 doc/reference/cogl/cogl-sections.txt |    2 ++
 gl/cogl.c                            |    6 +++---
 gles/cogl.c                          |    6 +++---
 5 files changed, 26 insertions(+), 17 deletions(-)

commit 9878fdf5c67572dfc789ce2e25079b7349843260
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Feb 24 11:33:58 2009 +0000

    [cogl-matrix] Adds padding to CoglMatrix
    
    This adds enough padding to allow us to potentially add a cache of the inverse
    matrix in the future and private flags to annotate matrices.

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

commit 3490dcaba4cb8e211996868036bff4fcb7a86782
Author: Owen W. Taylor <otaylor@fishsoup.net>
Date:   Wed Feb 25 15:46:09 2009 -0500

    Fix x/y confusion for GL_TEXTURE_RECTANGLE_ARB
    
    When "denormalizing" for texture rectangles, multiple X coordinates
    by the X size and Y coordinates by the Y size.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1479

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

commit ee3647f84da28253d754c0154d254c7ead8a7f83
Author: Jonathan Matthew <notverysmart@gmail.com>
Date:   Tue Feb 24 09:25:53 2009 +0000

    Declare the EnumValues for PixelFormat static
    
    Bug 1473 - CoglPixelFormat enum data must be declared static
    
    When registering an enumeration GType, the GEnumValue or GFlagsValue
    arrays must be declared static; otherwise, you get a segmentation
    fault when calling the function again.
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

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

commit 9e9c615e49eda68a67685ee8d6bcdce8978316e9
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Feb 23 12:47:02 2009 +0000

    Add runtime debug messages for COGL
    
    Clutter is able to show debug messages written using the CLUTTER_NOTE()
    macro at runtime, either by using an environment variable:
    
      CLUTTER_DEBUG=...
    
    or by using a command line switch:
    
      --clutter-debug=...
      --clutter-no-debug=...
    
    Both are parsed during the initialization process by using the
    GOption API.
    
    COGL would benefit from having the same support.
    
    In order to do this, we need a cogl_get_option_group() function in
    COGL that sets up a GOptionGroup for COGL and adds a pre-parse hook
    that will check the COGL_DEBUG environment variable. The OptionGroup
    will also install two command line switches:
    
      --cogl-debug
      --cogl-no-debug
    
    With the same semantics of the Clutter ones.
    
    During Clutter initialization, the COGL option group will be attached
    to the GOptionContext used to parse the command line options passed
    to a Clutter application.
    
    Every debug message written using:
    
      COGL_NOTE (SECTION, "message format", arguments);
    
    Will then be printed only if SECTION was enabled at runtime.
    
    This whole machinery, like the equivalent one in Clutter, depends on
    a compile time switch, COGL_ENABLE_DEBUG, which is enabled at the same
    time as CLUTTER_ENABLE_DEBUG. Having two different symbols allows
    greater granularity.

 cogl-debug.h        |   45 +++++++++++++++++++++++
 cogl.h.in           |   18 ++++++++-
 common/Makefile.am  |    3 +-
 common/cogl-debug.c |   98 +++++++++++++++++++++++++++++++++++++++++++++++++++
 gl/Makefile.am      |    4 ++-
 gles/Makefile.am    |    4 ++-
 6 files changed, 167 insertions(+), 5 deletions(-)

commit 58ec3f2f009b860776a4f748965b8387d153cfb2
Author: Robert Bragg <robert@linux.intel.com>
Date:   Sun Feb 22 15:25:00 2009 +0000

    [Cogl] Remove a debugging assert that was triggering on false positives
    
    An assert to verify there was no error when generating a buffer object
    for the vertex buffer API was being hit when running the GLES1 conformance
    tests.

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

commit 114385b2cf0f6aa09725bece92ce8eae6e5823e2
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Feb 19 09:20:20 2009 +0000

    [cogl-material] Always glBindTexture when flushing material state
    
    Bug #1457 - Creating a new texture messes up the cogl material state
                cache; reported by Neil Roberts
    
    We still don't have caching of bound texture state so we always have to
    re-bind the texture when flushing the GL state of any material layers.

 common/cogl-material.c |   42 +++++++++++++++++++++++-------------------
 1 files changed, 23 insertions(+), 19 deletions(-)

commit 25fc1b85ab2ea9aaa71f1bb03623ca4a484b7be8
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Feb 19 09:01:18 2009 +0000

    [Cogl] Fixes automatic handling of the GL blend enable state.
    
    Bug #1460 - Handling of flags in cogl_material_set_color
    
    Cogl automatically enables/disables blending based on whether the source color
    has an alhpa < 1.0, or if any textures with an alpha component are in use, but
    it wasn't doing it quite right.
    
    At the same time I removed some of the dirty flags which on second thought
    are nothing more than micro-optimsations that only helped clutter the code.
    
    thanks to Owen Taylor for reporting the bug

 common/cogl-material-private.h |   10 ++---
 common/cogl-material.c         |   78 ++++++++++++++--------------------------
 gl/cogl-context.c              |    1 -
 gles/cogl-context.c            |    1 -
 4 files changed, 31 insertions(+), 59 deletions(-)

commit e91fe8817d9b405022efb42b741b3767b7f25e2c
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Feb 18 18:54:54 2009 +0000

    [Cogl] the cogl_get_*_matrix functions now work with CoglMatrix types
    
    Since the CoglMatrix type was added for supporting texture matrices recently
    it made sense to be consistent accross the Cogl API and use the Cogl type
    over the GL style GLfloat m[16] arrays.

 cogl-matrix.h            |   36 ++++++++++++++++++++++++++++++++++++
 cogl.h.in                |   14 ++++++--------
 common/cogl-clip-stack.c |   14 +++++++-------
 common/cogl-matrix.c     |   46 ++++++++++++++++++++++++++++++----------------
 gl/cogl.c                |   27 +++++++++++++++++++--------
 gles/cogl.c              |   27 +++++++++++++++++++--------
 6 files changed, 117 insertions(+), 47 deletions(-)

commit e6a7a70d54d6f2151e7776edae525f88aaf6139c
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Feb 20 16:37:20 2009 +0000

    [cogl-gles2-wrapper] Actually call glActiveTexture
    
    cogl_wrap_glActiveTexture needs to call the GL version of
    glActiveTexture otherwise the subsequent calls to glBindTexture will
    all be using texture unit 0. This fixes test-cogl-multitexture.

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

commit 74cd43e01caeee7c0f81ebffa06b1e2932e7e089
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Feb 20 15:56:57 2009 +0000

    [cogl-gles2-wrapper] Convert texture unit settings to be a static sized array
    
    Previously the texture unit settings were stored in growable GArrays
    and every time a new texture unit was encountered it would expand the
    arrays. However the array wasn't copied when stored in a
    CoglGles2WrapperSettings struct so all settings had the same
    array. This meant that it wouldn't detect that a different program is
    needed if a texture unit is disabled or enabled.
    
    The texture unit settings arrays are all now a fixed size and the
    enabledness of each unit is stored in a bit mask. Therefore the
    settings can just be copied around by assignment as before.
    
    This puts a limit on the number of texture units accessible by Cogl
    but I think it is worth it to make the code simpler and more
    efficient. The material API already poses a limit on the number of
    texture units it can use.

 gles/cogl-gles2-wrapper.c |  444 +++++++++++++++++++++------------------------
 gles/cogl-gles2-wrapper.h |   36 ++--
 2 files changed, 229 insertions(+), 251 deletions(-)

commit e226ffa364d5ada85877b612a7aeda75601368a9
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Feb 20 12:01:32 2009 +0000

    [docs] Rename cogl-docs from sgml to xml
    
    The cogl-docs.sgml file has always been XML, so it's only fitting that
    we actually call it cogl-docs.xml.

 doc/reference/cogl/Makefile.am    |    2 +-
 doc/reference/cogl/cogl-docs.sgml |  106 -------------------------------------
 doc/reference/cogl/cogl-docs.xml  |  106 +++++++++++++++++++++++++++++++++++++
 3 files changed, 107 insertions(+), 107 deletions(-)

commit 82d093bbb7c43598396de0be7d4150540d46f128
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Feb 20 11:58:04 2009 +0000

    [docs] Use the --name-space option
    
    Now that we depend on gtk-doc 1.11 we can use the --name-space
    command line option for the mkdb utility.

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

commit 19634b4b0aa86c656e5442e20a9014862b77315c
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Feb 19 17:06:25 2009 +0000

    [docs] Update build for COGL API reference
    
    We need to initialize the type system for gtk-doc-scan, now that
    COGL exposes GTypes.

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

commit 7808d85d03424ebe5d9b66c9837328c418489c4e
Merge: 1d79e17 7ed9ded
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Feb 19 14:42:40 2009 +0000

    Merge branch 'build-enhancements'
    
    * build-enhancements:
      [build] Fix dist for the newly introduced m4 macro directory
      [build] Fix interaction between shave, gtk-doc and libtool 1.x
      [build] Add dolt
      [build] Beautify autotools' output
      [gitignore] update gitignore files for tests/

commit 1d79e173bb3f0def5cdd84b3f574becaaa203b98
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Feb 19 12:02:42 2009 +0000

    [cogl] Provide GTypes for COGL types
    
    COGL types should be registered inside the GType system, for
    bindings and type checking inside properties and signals.
    
    CoglHandle is a boxed type with a ref+unref semantics; slightly evil
    from a bindings perspective (we cannot associate custom data to it),
    but better than nothing.
    
    The rest of the exposed types are enumerations or bitmasks.

 cogl-types.h       |   21 ++++++-
 common/cogl-util.c |  175 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 194 insertions(+), 2 deletions(-)

commit 5abb11ba6b054d3fef55caabf6bc11d84e393a23
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Feb 19 11:55:54 2009 +0000

    [cogl] Add cogl_is_material to cogl-material.h
    
    The COGL_DEFINE_HANDLE macro generates a cogl_is_<type> function
    as well, to check whether a CoglHandle opaque pointer is of type
    <type>.
    
    The handle for CoglMaterial does not export cogl_is_material() in
    its installed header.

 cogl-material.h                      |   11 ++++++++++-
 doc/reference/cogl/cogl-sections.txt |    1 +
 2 files changed, 11 insertions(+), 1 deletions(-)

commit 268fa9c7abf142e0d542d3d213f2154de48cc138
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Feb 18 18:45:58 2009 +0000

    Initialize a variable to avoid warnings
    
    The gl_mode variable was not initialized, and the compiler complained
    when using the anal-retentive compiler flags.

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

commit 7ed9ded5d3deb72a8ea20edd333c81ce37b213e2
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Feb 18 16:06:11 2009 +0000

    [cogl-color.c] #include fix for the cogl_set_source_color prototype
    
    cogl.h wasn't being included so we got a compiler warning

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

commit 89d8ebcbb04c010cee47363bf0e9dcc31dcec406
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Feb 12 13:23:20 2009 +0000

    [Cogl] Renames cogl_paint_init to cogl_clear and adds a cogl_disable_fog function
    
    cogl_paint_init was a bit too miscellaneous; it mainly cleared the color, depth
    and stencil buffers but arbitrarily it also disabled fogging and lighting.
    
    It no longer disables lighting, since we know Cogl never enables lighting and
    disabling of fog is now handled with a seperate function.
    
    Since I noticed cogl_set_fog was taking a density argument documented as
    "Ignored" I've also added a mode argument to cogl_set_fog which exposes the
    exponential fog modes which can make use of the density.

 cogl.h.in                            |  245 +++++++++++++++++++++-------------
 doc/reference/cogl/cogl-sections.txt |   29 +++--
 gl/cogl.c                            |   27 +++-
 gles/cogl.c                          |   32 ++++-
 4 files changed, 218 insertions(+), 115 deletions(-)

commit 145c2eb5f9058a6353c5b3653f5989fc2e79d85b
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Feb 12 11:08:00 2009 +0000

    [Cogl] cogl_clip_{set*,unset} renamed to cogl_clip_{push*,pop}
    
    This is so they self document the stacking semantics of the cogl clip API

 cogl.h.in                            |   28 ++++++++++++++--------------
 common/cogl-clip-stack.c             |   22 +++++++++++-----------
 doc/reference/cogl/cogl-sections.txt |    8 ++++----
 3 files changed, 29 insertions(+), 29 deletions(-)

commit 43a5fef73d2f93217d48331696d24a25438d0167
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Feb 16 12:42:08 2009 +0000

    Call glActiveTexture and glClientActiveTexture through cogl_get_proc_address
    
    All GL functions that are defined in a version later than 1.1 need to
    be called through cogl_get_proc_address because the Windows GL DLL
    does not export them to directly link against.

 common/cogl-material.c      |    5 +++++
 common/cogl-vertex-buffer.c |    2 ++
 gl/cogl-context.c           |    2 ++
 gl/cogl-context.h           |    3 +++
 gl/cogl-defines.h.in        |    8 ++++++++
 gl/cogl-texture.c           |    2 ++
 gl/cogl.c                   |   12 +++++++++---
 gles/cogl-texture.c         |    2 ++
 8 files changed, 33 insertions(+), 3 deletions(-)

commit ff7bd05745117c875bbd90b163b52bd5cc7c62bc
Author: Robert Staudinger <robsta@openedhand.com>
Date:   Thu Feb 12 12:42:58 2009 +0000

    [build] Add cogl.h to the built sources list
    
    The main COGL header file is generated at configure time. If something
    changes in the template, though, the file will not be regenerated.
    
    Adding cogl.h to the BUILT_SOURCES list will allow the regeneration to
    happen.

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

commit 5901b4d045bceca0c3ddbd96f6ae1bff97e45113
Author: Robert Bragg <bob@o-hand.com>
Date:   Fri Feb 6 11:16:42 2009 +0000

    [docs] Various gtk-doc updates for Cogl
    
    This hides a number of internal structs and enums from the docs, and moves
    some functions to more appropriate sections as well as misc description
    updates (mostly for the vertex buffer api)

 cogl-color.h                         |   55 ------------
 cogl-material.h                      |  109 ++++++++++++------------
 cogl-matrix.h                        |    8 +-
 cogl-vertex-buffer.h                 |  158 ++++++++++++++++-----------------
 cogl.h.in                            |   94 ++++++++++++++++++++
 doc/reference/cogl/cogl-docs.sgml    |   10 +--
 doc/reference/cogl/cogl-sections.txt |  104 +++++++++++-----------
 7 files changed, 285 insertions(+), 253 deletions(-)

commit c3b8dcd2f0a20269290422c82a638e5fd8b5f567
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri Feb 6 16:10:28 2009 +0000

    [cogl-vertex-buffer] Some fixes for texturing and color arrays
    
    Fixes some blending issues when using color arrays since we were
    conflicting with the cogl_enable state + fixes a texture layer
    validation bug.
    
    Adds a basic textured triangle to test-vertex-buffer-contiguous.

 common/cogl-vertex-buffer.c |   19 ++++++++-----------
 1 files changed, 8 insertions(+), 11 deletions(-)

commit 9059367dcc07125a20ba3927481f6f312733f454
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri Feb 6 16:05:08 2009 +0000

    [cogl-material] Fixes some dirty flag checks
    
    Flushing material layers wasn't clearing the right dirty flag and
    some of the tests used to avoid re-submitting GL state weren't
    complete.

 common/cogl-material.c |   98 +++++++++++++++++++++++++++++++-----------------
 1 files changed, 63 insertions(+), 35 deletions(-)

commit 06bfc00fbc3348a4c6b4cd43b3d1d35abf66287d
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Feb 4 09:21:37 2009 +0000

    [Cogl] Renames cogl_fog_set to cogl_set_fog for consistency
    
    More things follow the <object>_set_<property> convention.

 cogl.h.in   |   10 +++++-----
 gl/cogl.c   |    8 ++++----
 gles/cogl.c |    8 ++++----
 3 files changed, 13 insertions(+), 13 deletions(-)

commit acdc36a7c5a38371af24889c72c05b9047e79e90
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Feb 5 19:48:00 2009 +0000

    [cogl-texture] Fix offset to next quad when flushing the log
    
    When the quad log contains multiple textures (such as when a sliced
    texture is drawn) it dispatches the log with multiple calls to
    flush_quad_batch and walks a pointer along the list of vertices.
    However this pointer was being incremented by only one vertex so the
    next quad would be drawn with three of the vertices from the last
    quad.

 gl/cogl-texture.c   |    4 ++--
 gles/cogl-texture.c |    4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

commit fd4a6f9c811adefd86b83c9aa1828e63df4723f2
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Feb 2 22:02:47 2009 +0000

    [cogl-gles2-wrapper] Remove the FIXME to adjust the fragment color
    
    Removed some debugging code which sets the r and g values to 1 in the
    fragment shader.

 gles/cogl-gles2-wrapper.c |    3 ---
 1 files changed, 0 insertions(+), 3 deletions(-)

commit b0ffe365ef9c2e2fc154d1c0a67d243f6c7aeb67
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Feb 2 22:01:47 2009 +0000

    [cogl-texture] Fix the count for the number of enabled arrays
    
    The quad drawing code keeps track of the number of texture units that
    have the tex coord array enabled so that in the next call it can
    disabled any that are no longer enabled. However it was using 'i+1' as
    the count but 'i' is already set to 'n_layers' from the previous for
    loop.
    
    Therefore it was disabling an extra texture unit. This doesn't
    normally matter but it was causing GLES 2 to pointlessly realize an
    extra unit.

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

commit c50935edca272e75d8fba25f6e098e06e3f07c92
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Jan 29 13:40:37 2009 +0000

    Fix building GLES 2 after the material branch merge
    
    - In cogl-material.h it directly sets the values of the
      CoglMaterialLayerCombineFunc to some GL_* constants. However these
      aren't defined in GLES 2 beacuse it has no fixed function texture
      combining. Instead the CGL_* versions are now used. cogl-defines.h
      now sets these to either the GL_* version if it is available,
      otherwise it directly uses the number.
    
    - Under GLES 2 cogl-material.c needs to access the CoglTexture struct
      so it needs to include cogl-texture-private.h
    
    - There are now #define's in cogl-gles2-wrapper.h to remap the GL
      function names to the wrapper names. These are disabled in
      cogl-gles2-wrapper.c by defining COGL_GLES2_WRAPPER_NO_REMAP.
    
    - Added missing wrappers for glLoadMatrixf and glMaterialfv.
    
    - Renamed the TexEnvf wrapper to TexEnvi because the latter is used
      instead from the material API.

 cogl-material.h             |   22 +++---
 common/cogl-material.c      |    3 +-
 common/cogl-vertex-buffer.c |    9 +--
 gl/cogl-defines.h.in        |    3 +
 gles/cogl-defines.h.in      |  199 +++++++++++++++++++++++++++++++++++++++----
 gles/cogl-gles2-wrapper.c   |   32 ++++++--
 gles/cogl-gles2-wrapper.h   |  106 +++++++++++++++--------
 7 files changed, 297 insertions(+), 77 deletions(-)

commit a54d13368fb8c4bc19ccc7049ec2507406ef0fc8
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Feb 2 14:51:52 2009 +0000

    [cogl-material] Always bind the new texture handle
    
    Cogl previously tried to cache the currently bound texture when
    drawing through the material API to avoid excessive GL calls. However,
    a few other places in Cogl and Clutter rebind the texture as well so
    this can cause problems.
    
    This was causing shaped windows to fail in Mutter because
    ClutterGLXTexturePixmap was binding a different texture to update it
    while the second texture unit was still active which meant the mask
    texture would not be selected when the shaped window was drawn
    subsequent times.
    
    Ideally we would fix this by providing a wrapper around glBindTexture
    which would affect the cached value. The cache would also have to be
    cleared if a selected texture was deleted.

 common/cogl-material.c |   20 +++++++++++---------
 1 files changed, 11 insertions(+), 9 deletions(-)

commit 7c57d71e4e36fabfcce8ee6c1bcd36cb4faf5f7b
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Jan 29 16:00:15 2009 +0000

    Add cogl-material-private.h to the source files
    
    The material-private.h file was not added to the dist files and
    caused a build failure.

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

commit 85f6701be17d35b882a0ca7847d4d557b853746f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Jan 29 13:31:11 2009 +0000

    Fix a variable masking warning
    
    The usual issue with math.h defined symbols.

 common/cogl-primitives.c |   15 +++++++--------
 1 files changed, 7 insertions(+), 8 deletions(-)

commit da9f956fd103e3df9e0cfa6bc400c84abf331f53
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Jan 29 12:21:56 2009 +0000

    [cogl] Add an NULL terminator to the call to material_flush_gl_state
    
    This fixes a compiler warning and a potential crash.

 gl/cogl.c   |    2 +-
 gles/cogl.c |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 02127858f35d0704cc9e18054e97cc0efe11b196
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Jan 28 14:09:51 2009 +0000

    Another Cogl gl vs gles normalizaion pass
    
    This tries to make a number of files more comparable with the intention of
    moving some code into cogl/common/
    
    Files normalized:
     cogl.c
     cogl-context.c
     cogl-context.h
     cogl-texture.c

 gl/cogl-context.h   |   13 ++--
 gl/cogl-texture.c   |   33 ++++++--
 gl/cogl.c           |   43 +++++++--
 gles/cogl-context.c |    8 +-
 gles/cogl-texture.c |  244 +++++++++++++++++++++++++++++----------------------
 gles/cogl.c         |   26 +++++-
 6 files changed, 233 insertions(+), 134 deletions(-)

commit b69d49e43c694e9fbd1c617a9620fde508b2c734
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Jan 27 11:07:22 2009 +0000

    Removes cogl_color_set_from_4d as it may mislead people.
    
    Someone not sure which cogl_color_set_from_* version is "best" may use
    set_from_4d because taking doubles implies higher precision. Currently
    it doesn't have any advantage.

 cogl-color.h        |   17 -----------------
 common/cogl-color.c |   15 ---------------
 2 files changed, 0 insertions(+), 32 deletions(-)

commit c4b4500059defee4e74fb355aae698c7dea1e24c
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Jan 28 14:47:03 2009 +0000

    Changes cogl_rectangle to take x1, y1, x2, y2 args not x1, y1, width, height
    
    This makes it consistent with cogl_rectangle_with_{multi,}texture_coords.
    Notably the reason cogl_rectangle_with_{multi,}texture_coords wasn't changed
    instead is that the former approach lets you describe back facing rectangles.
    (though technically you could pass negative width/height values to achieve
     this; it doesn't seem as neat.)

 cogl-path.h              |   16 ++++++++--------
 common/cogl-primitives.c |   13 ++++++-------
 gl/cogl-primitives.c     |   10 ++++++----
 gles/cogl-primitives.c   |   10 ++++++----
 gles/cogl.c              |    8 +++++---
 5 files changed, 31 insertions(+), 26 deletions(-)

commit 1d86b04e0644db63ac3fe0635667fc3792c4e691
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Jan 28 13:46:39 2009 +0000

    Adds some debug code to _cogl_journal_flush_quad_batch
    
    The code is #if 0 guarded, but when uncommented it outlines all drawn
    rectangles with an un-blended red, green or blue border. This may e.g. help
    with debugging texture slicing issues or blending issues, plus it looks quite
    cool.

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

commit 1f473c02e0c8f20523d319581ae5518589d55974
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Jan 28 16:43:05 2009 +0000

    [cogl-docs] Add the Materials section
    
    The COGL Materials API was not linked from the COGL reference
    index.

 doc/reference/cogl/cogl-docs.sgml |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit c4b1e08eef9bf78bc44fe4c261fc0ddfb260bb9f
Merge: ba2fd8a 9aedabc
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Jan 28 09:08:19 2009 +0000

    Merge branch 'scale-center'
    
    Bug 1349 - Using the anchor point to set the scale center is messy
    
    The branch adds an extra center point for scaling which can be used
    for example to set a scale about the center without affecting the
    position of the actor.
    
    The scale center can be specified as a unit offset from the origin or
    as a gravity. If specified as a gravity it will be stored as a
    fraction of the actor's size so that the position will track when the
    actor changes size.
    
    The anchor point and rotation centers have been modified so they can
    be set with a gravity in the same way. However, only the Z rotation
    exposes a property to set using a gravity because the other two
    require a Z coordinate which doesn't make sense to interpret as a
    fraction of the actor's width or height.
    
    Conflicts:
    
    	clutter/clutter-actor.c

commit ba2fd8a9d354adad35af3e6ab67b9c04f37c2eb1
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Jan 28 12:57:06 2009 +0000

    [cogl-texture] Fix order of tex coords when compensating for waste
    
    When drawing a texture with waste in _cogl_multitexture_unsliced_quad
    it scales the texture coordinates so that the waste is not
    included. However the formula was the wrong way around so it was
    calculating as if the texture coordinates are ordered x1,x2,y1,y2 but
    it is actually x1,y1,x2,y2.

 gl/cogl-texture.c   |    4 ++--
 gles/cogl-texture.c |    4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

commit 954c0853cddab18540e64ac16248de2e108aace4
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Jan 28 12:00:01 2009 +0000

    [cogl-texture] Reset size of vertex log after drawing a polygon
    
    Otherwise trying to render a rectangle after a polygon doesn't work
    because it expects the array to be empty when it starts logging
    vertices.

 gl/cogl-texture.c   |    4 ++++
 gles/cogl-texture.c |    4 ++++
 2 files changed, 8 insertions(+), 0 deletions(-)

commit e6fb58e12976c10ca0baedeaa341143b3752d6db
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Jan 28 11:29:49 2009 +0000

    Fix rectangles_with_multitexture_coords for sliced without tex coords
    
    When the texture is sliced it drops back to a fallback function and
    passes it the texture coordinates from the rectangle. However if no
    tex coords are given it would crash. Now it passes the default
    0.0->1.0 tex coords instead.

 gl/cogl-texture.c   |   23 +++++++++++++++--------
 gles/cogl-texture.c |   23 +++++++++++++++--------
 2 files changed, 30 insertions(+), 16 deletions(-)

commit c18d945dc7dfff1cf2b8f365defc40c64f36e8ab
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Jan 28 11:09:47 2009 +0000

    Fix _cogl_texture_unsliced_quad when no texture coordinates are given
    
    If no texture coordinates are given then texture_unsliced_quad tries
    to generate its own coordinates. However it also tries to read the
    texture coordinates to check if they are in [0.0,1.0] range so it will
    crash before it reaches that.

 gl/cogl-texture.c   |   11 +++++++----
 gles/cogl-texture.c |   11 +++++++----
 2 files changed, 14 insertions(+), 8 deletions(-)

commit 8dca5c73bcdf949d6e11d4adfd5dc93feca71b8e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Jan 28 11:56:12 2009 +0000

    Reuse the layers list
    
    Instead of getting the layers list twice from the Material, we
    can reuse the list when we need to retrieve the first layer.

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

commit 670b35ddf0a3bbe4539a00d123aca002c1316e5d
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Jan 28 11:55:19 2009 +0000

    Remove gtk-doc annotation
    
    The _cogl_material_flush_layers_gl_state() function is static,
    so it should not have a gtk-doc annotation.

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

commit 677f4b899b76b6463403dd51dfee2ed9bfeeeaf7
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Jan 28 10:52:55 2009 +0000

    Fix building GLES after _cogl_texture_handle_from_pointer got removed
    
    Commit a688b1db removed the function and replaced it with a direct
    cast. This was also being used in the GL ES so the build broke.

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

commit d6f6c06af555ffeb567551694a32d42d209699c4
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Jan 27 16:53:01 2009 +0000

    [docs] Documentation fixes
    
    Update the COGL API reference to avoid a lot of warnings coming
    from gtk-doc.

 common/cogl-matrix.c                 |   12 ++++++----
 doc/reference/cogl/cogl-sections.txt |   35 ++++++++++++++++++++++++++-------
 2 files changed, 34 insertions(+), 13 deletions(-)

commit 85f02c2c6a2ca73605e8a1dd598e0b15f03bbfa1
Merge: 31e4ca5 6e2efcd
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Jan 27 16:12:30 2009 +0000

    Merge branch 'generic-actor-clone'
    
    * generic-actor-clone:
      Remove CloneTexture from the API
      [tests] Clean up the Clone interactive test
      Rename ActorClone to Clone/2
      Rename ActorClone to Clone/1
      Improves the unit test to verify more awkward scaling and some corresponding fixes
      Implements a generic ClutterActorClone that doesn't need fbos.

commit 31e4ca5733a4036c37b70f2e60586d3ddef3fd9e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Jan 27 16:02:04 2009 +0000

    Fallout from cogl-material merge
    
    When enabling the maintainer CFLAGS the compiler got very angry
    at the code that has been merged.

 common/cogl-handle.h   |    6 ------
 common/cogl-material.c |   13 ++++++-------
 gl/cogl-context.c      |    8 ++++----
 gl/cogl-texture.c      |    8 +++-----
 4 files changed, 13 insertions(+), 22 deletions(-)

commit d428c2a2ccaf8d823894b6c1a11d2a1a25347090
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Jan 27 11:01:23 2009 +0000

    Adds padding to CoglColor to future proof it a bit
    
    This adds enough padding to allow us to change to an internal float storage
    for the color components if needs be in the future.

 cogl-types.h |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

commit a2e52eb3be65338b36dbce026ef0f9c830e3cded
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Jan 26 22:52:38 2009 +0000

    Support scaling on the z axis with cogl_scale
    
    This simply adds a z argument to cogl_scale and updates clutter-actor.c
    to pass 1.0 for the z scale.

 cogl.h.in   |    8 +++++---
 gl/cogl.c   |    4 ++--
 gles/cogl.c |    4 ++--
 3 files changed, 9 insertions(+), 7 deletions(-)

commit 323eaf3fb3994eb84376a735b9ab4ca87208f8e7
Merge: 33fe451 9abf44e
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Jan 27 15:19:34 2009 +0000

    Merge branch 'cogl-material'
    
    Conflicts:
    
    	clutter/cogl/gl/cogl-texture.c
    	clutter/cogl/gles/cogl-primitives.c
    
    * cogl-material:
     clutter-{clone-,}texture weren't updating their material opacity.
     Updates GLES1 support for CoglMaterial
     Normalizes gl vs gles code in preperation for synching material changes
     Removes cogl_blend_func and cogl_alpha_func
     Fully integrates CoglMaterial throughout the rest of Cogl
     [cogl-material] Restore the GL_TEXTURE_ENV_MODE after material_rectangle
     [cogl-material] Make the user_tex_coords parameter of _rectangle const
     [test-cogl-material] Remove return value from material_rectangle_paint
     Add cogl-material.h and cogl-matrix.h to libclutterinclude_HEADERS
     [cogl-material] improvements for cogl_material_rectangle
     [cogl-material] Adds a cogl_material_set_color function
     [cogl-material] Some improvements for how we sync CoglMaterial state with OpenGL
     [cogl-material] Converts clutter-texture/clutter-clone-texture to the material API
     [doc] Hooks up cogl-material reference documentation
     Updates previous GLES multi-texturing code to use CoglMaterial
     Adds a CoglMaterial abstraction, which includes support for multi-texturing
     [doc] Hooks up cogl-matrix reference documentation
     Adds CoglMatrix utility code
     [tests] Adds an interactive unit test for multi-texturing
     [multi-texturing] This adds a new cogl_multi_texture API for GL,GLES1 + GLES2

commit 9abf44eac312bcc3038e77c060a17af0d51c8ad7
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Jan 26 11:07:35 2009 +0000

    Updates GLES1 support for CoglMaterial
    
    This updates cogl/gles in line with the integration of CoglMaterial throughout
    Cogl that has been done for cogl/gl.
    
    Note: This is still buggy, but at least it builds again and test-actors works.
    Some GLES2 specific changes were made, but these haven't been tested yet.

 common/cogl-material.c      |   35 +-
 gl/cogl-texture.c           |   25 +-
 gles/cogl-context.c         |  128 +++-
 gles/cogl-context.h         |   92 ++-
 gles/cogl-gles2-wrapper.h   |    5 +
 gles/cogl-internal.h        |   11 +-
 gles/cogl-primitives.c      |   75 +--
 gles/cogl-texture-private.h |   39 +-
 gles/cogl-texture.c         | 1642 +++++++++++++++++++++++++++----------------
 gles/cogl.c                 |   49 +-
 10 files changed, 1312 insertions(+), 789 deletions(-)

commit e9a9acd28db9331e4b02c4a3721e9e80756b7076
Author: Robert Bragg <robert@linux.intel.com>
Date:   Sat Jan 24 16:55:04 2009 +0000

    Normalizes gl vs gles code in preperation for synching material changes
    
    This changes all GLES code to use the OpenGL function names instead of
    the cogl_wrap_* names. For GLES2 we now define the OpenGL name to point
    to the wrapper, as opposed to defining the wrapper to point to the
    OpenGL name for GLES1.
    
    I've also done a quick pass through gl/cogl.c and gles/cogl.c to make
    them more easily comparable. (most of the code is now identical)

 gl/cogl-primitives.c   |   43 ++--
 gl/cogl.c              |  144 ++++++-------
 gles/cogl-context.c    |    2 +-
 gles/cogl-fbo.c        |   32 ++--
 gles/cogl-primitives.c |   34 ++--
 gles/cogl-texture.c    |  585 +++++++++++++++++++++++-------------------------
 gles/cogl.c            |  286 +++++++++++++-----------
 7 files changed, 561 insertions(+), 565 deletions(-)

commit 94077997a767de39fc9b2bc088e27054a5d73c4a
Author: Robert Bragg <robert@linux.intel.com>
Date:   Sat Jan 24 15:09:43 2009 +0000

    Removes cogl_blend_func and cogl_alpha_func
    
    The GL blend function and alpha function are now controlled by the material
    code, and even internally Cogl should now be using the material API when
    it needs control of these.

 cogl.h.in              |   13 -------------
 common/cogl-material.c |    8 ++++++++
 gl/cogl-context.c      |    3 ---
 gl/cogl-context.h      |    2 --
 gl/cogl.c              |   24 ------------------------
 gles/cogl.c            |   24 ------------------------
 6 files changed, 8 insertions(+), 66 deletions(-)

commit 2503f7b32190312a7ded7d7ae227ee5e01e298c3
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri Jan 23 16:15:40 2009 +0000

    Fully integrates CoglMaterial throughout the rest of Cogl
    
    This glues CoglMaterial in as the fundamental way that Cogl describes how to
    fill in geometry.
    
    It adds cogl_set_source (), which is used to set the material which will be
    used by all subsequent drawing functions
    
    It adds cogl_set_source_texture as a convenience for setting up a default
    material with a single texture layer, and cogl_set_source_color is now also
    a convenience for setting up a material with a solid fill.
    
    "drawing functions" include, cogl_rectangle, cogl_texture_rectangle,
    cogl_texture_multiple_rectangles, cogl_texture_polygon (though the
    cogl_texture_* funcs have been renamed; see below for details),
    cogl_path_fill/stroke and cogl_vertex_buffer_draw*.
    
    cogl_texture_rectangle, cogl_texture_multiple_rectangles and
    cogl_texture_polygon no longer take a texture handle; instead the current
    source material is referenced. The functions have also been renamed to:
    cogl_rectangle_with_texture_coords, cogl_rectangles_with_texture_coords
    and cogl_polygon respectivly.
    
    Most code that previously did:
      cogl_texture_rectangle (tex_handle, x, y,...);
    needs to be changed to now do:
      cogl_set_source_texture (tex_handle);
      cogl_rectangle_with_texture_coords (x, y,....);
    
    In the less likely case where you were blending your source texture with a color
    like:
      cogl_set_source_color4ub (r,g,b,a); /* where r,g,b,a isn't just white */
      cogl_texture_rectangle (tex_handle, x, y,...);
    you will need your own material to do that:
      mat = cogl_material_new ();
      cogl_material_set_color4ub (r,g,b,a);
      cogl_material_set_layer (mat, 0, tex_handle));
      cogl_set_source_material (mat);
    
    Code that uses the texture coordinates, 0, 0, 1, 1 don't need to use
    cog_rectangle_with_texure_coords since these are the coordinates that
    cogl_rectangle will use.
    
    For cogl_texture_polygon; as well as dropping the texture handle, the
    n_vertices and vertices arguments were transposed for consistency. So
    code previously written as:
      cogl_texture_polygon (tex_handle, 3, verts, TRUE);
    need to be written as:
      cogl_set_source_texture (tex_handle);
      cogl_polygon (verts, 3, TRUE);
    
    All of the unit tests have been updated to now use the material API and
    test-cogl-material has been renamed to test-cogl-multitexture since any
    textured quad is now technically a test of CoglMaterial but this test
    specifically creates a material with multiple texture layers.
    
    Note: The GLES backend has not been updated yet; that will be done in a
    following commit.

 cogl-material.h                |  169 +++++-
 cogl-path.h                    |    3 +-
 cogl-texture.h                 |  185 +++---
 cogl.h.in                      |    2 +-
 common/cogl-material-private.h |   31 +-
 common/cogl-material.c         |  619 +++++++++++++++----
 common/cogl-primitives.c       |   13 +-
 common/cogl-vertex-buffer.c    |   80 ++-
 gl/cogl-context.c              |   89 ++-
 gl/cogl-context.h              |   44 +-
 gl/cogl-internal.h             |   11 +-
 gl/cogl-primitives.c           |   50 +-
 gl/cogl-texture-private.h      |   39 +-
 gl/cogl-texture.c              | 1374 +++++++++++++++++++++++++---------------
 gl/cogl.c                      |  128 ++---
 15 files changed, 1917 insertions(+), 920 deletions(-)

commit 33fe4518b0d2b04f81c2aaecf5ae5adc51c8af97
Author: Neil Roberts <neil@linux.intel.com>
Date:   Sat Jan 24 00:25:24 2009 +0000

    Fix the Cogl primitives for the GLES backend
    
    The Cogl primitives broke for GLES 1.1 and 2 after the cogl-float
    branch merge.
    
    CoglPathNode was still being declared as GLfixed for the GLES backend
    but it was being filled with float values so they were all ending up
    as numbers < 1.
    
    glDrawArrays was being called with GL_FIXED so this has been changed
    to GL_FLOAT.
    
    The scanline rasterizer had a leftover hardcoded ClutterFixed constant
    to add a small amount to the height of each line.
    
    struct _CoglFloatVec2 has been removed because it is no longer used
    anywhere.

 common/cogl-primitives.h |   21 ---------------------
 gles/cogl-primitives.c   |   14 +++++++-------
 2 files changed, 7 insertions(+), 28 deletions(-)

commit 0c8c273980fc0dc92b651d4a0df4804be43b6dba
Merge: a0c5690 7031791
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri Jan 23 15:23:49 2009 +0000

    Merge commit 'origin/master' into cogl-material
    
    Conflicts:
    
    	clutter/clutter-texture.c
    	clutter/cogl/cogl-texture.h
    	clutter/cogl/cogl.h.in
    	clutter/cogl/common/Makefile.am
    	clutter/cogl/gl/Makefile.am
    	clutter/cogl/gles/Makefile.am
    	clutter/cogl/gles/cogl-gles2-wrapper.c
    	clutter/cogl/gles/cogl-gles2-wrapper.h

commit 9aedabc6a77f3c7271f859b84bc9fd484f9e8dad
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Jan 23 13:09:51 2009 +0000

    Split maintainer-flags from the compiler flags
    
    The maintainer compiler flags we use trigger warnings and errors
    in the autogenerated code that gtk-doc creates to scan the header
    and source files. Since we cannot control that, and we must run
    a distcheck with both --enable-gtk-doc and --enable-maintainer-flags
    turned on, we need to use less-strict compiler flags when inside
    the doc/reference subdirectories.
    
    The way to do this is to split the maintainer compiler flags into
    their own Makefile variable, called MAINTAINER_CFLAGS. The we
    can use $(MAINTAINER_CFLAGS) in the INCLUDES or _CFLAGS sections
    of each part of the source directories we wish to check with the
    anal retentiveness suited for maintainers.

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

commit 726ee43761abc4d77c8b3f894b19f8bbe1f4f2c0
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Jan 23 13:08:46 2009 +0000

    Fix compiler warnings
    
    The maintainer-flags option discovered the usual amount of
    collisions and compiler warnings we have to fix in order to
    get distcheck to pass.

 common/cogl-primitives.c |  100 +++++++++---------
 gl/cogl-texture.c        |  247 ++++++++++++++++++++++++----------------------
 2 files changed, 180 insertions(+), 167 deletions(-)

commit 20b5eecbd9b62a71c0f2e2e9a483f4bb0bccebf3
Merge: 7031791 6e2efcd
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Jan 23 12:10:50 2009 +0000

    Merge branch 'float-alpha-value'
    
    * float-alpha-value:
      [script] Parse easing modes by name
      [docs] Update the easing modes documentation
      [animation] Implement new easing functions
      [animation] Move the alpha value to floating point

commit 7031791376ddd98c7c1358d07b12871be14bd6c8
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Jan 22 17:42:26 2009 +0000

    Fix some failures from the fixed-to-float script in cogl-texture
    
    The script converted calls to COGL_FIXED_MUL(x,y) to (x*y). However
    this fails for cases like this:
    
     COGL_FIXED_MUL(a + b, c)
    
    which become
    
     (a + b * c)
    
    The meaning of this is of course different because multiplication has
    a higher precedence than addition.
    
    This was causing breakages in cogl_texture_quad_sw when the vertex
    coordinates are not in increasing order. This was the case in
    test-backface-culling when NPOTs are not available.

 gl/cogl-texture.c   |   20 ++++++++------------
 gles/cogl-texture.c |   20 ++++++++------------
 2 files changed, 16 insertions(+), 24 deletions(-)

commit 7b173b9e248e2bce3189b79b887b23a1fb64f01b
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Jan 22 15:59:23 2009 +0000

    Improve accuracy of clutter_sinx()
    
    Improve clutter_sinx() by replacing the low precision CFX_SIN_STEP
    with a multiply/divide pair. This reduces the maximum error from
    1.8e-04 to 2.4e-05.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1314
    
    Based on a patch by Owen W. Taylor <otaylor@fishsoup.net>

 common/cogl-fixed.c |   36 +++++++++++++++++++++++-------------
 1 files changed, 23 insertions(+), 13 deletions(-)

commit 27dd2f8319579988faa558217ea35a4947e191ef
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Jan 22 14:52:34 2009 +0000

    [gles] Fix computation of camera distance
    
    Port the fix in commit f409b58e to the GLES implementation of
    COGL.

 gles/cogl.c |   21 +++++++--------------
 1 files changed, 7 insertions(+), 14 deletions(-)

commit 66331b686346ae751d5b5028a9c2aee0db287aec
Author: Owen W. Taylor <otaylor@redhat.com>
Date:   Thu Jan 22 14:17:16 2009 +0000

    Fix computation of camera distance
    
    Compute the value of the camera distance as exactly half the xx
    component of the projection matrix. The heuristically derived
    value for 60 degrees was off by about 0.016%, causing noticeable
    blurring, and other field of view angles which didn't have the
    heuristic adjustment off by much more.
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

 gl/cogl.c |   58 ++++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 38 insertions(+), 20 deletions(-)

commit dcbb0833c1f9b8e9cd6d1156e6264d343ab1892d
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Jan 21 16:41:18 2009 +0000

    [docs] Remove sources of warnings in API references

 cogl-texture.h                       |    2 +-
 cogl-vertex-buffer.h                 |    4 +-
 doc/reference/cogl/cogl-docs.sgml    |    2 +-
 doc/reference/cogl/cogl-sections.txt |   50 ++++++++++++++++++++++-----------
 4 files changed, 37 insertions(+), 21 deletions(-)

commit 16ad994dfaee5e7d5413fb67810daf6554086956
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Jan 21 10:59:19 2009 +0000

    [docs] Add CoglTextureFlags to the API reference

 doc/reference/cogl/cogl-sections.txt |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 799fdf364e7f3b26f9bc27b7f16e052c38106016
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Sun Jan 18 14:51:19 2009 +0000

    Change the COGL texture constructor to use flags
    
    Boolean arguments for functions are pretty evil and usually
    lead to combinatorial explosion of parameters in case multiple
    settings are added.
    
    In the case of the COGL texture constructors we have a boolean
    argument for enabling the auto-mipmapping; it is conceivable that
    we might want to add more settings for a COGL texture without
    breaking API or ABI compatibility, so the boolean argument should
    become a bitmask.
    
    The internals have not been changed: instead of checking for
    a non-zero value, we check for a bitmask being set.

 cogl-texture.h      |  139 +++++++++++++++++++++++++++------------------------
 cogl-types.h        |   15 ++++++
 gl/cogl-texture.c   |   52 ++++++++++----------
 gles/cogl-texture.c |   52 ++++++++++----------
 4 files changed, 140 insertions(+), 118 deletions(-)

commit de41fdd9d128325c243715ae7ddea219587163a5
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Jan 20 21:12:44 2009 +0000

    Renames the mesh api to the "vertex buffer api".
    
    This better reflects the fact that the api manages sets of vertex attributes,
    and the attributes really have no implied form. It is only when you use the
    attributes to draw that they become mesh like; when you specify how they should
    be interpreted, e.g. as triangle lists or fans etc. This rename frees up the
    term "mesh", which can later be applied to a concept slightly more fitting.
    E.g. at some point it would be nice to have a higher level abstraction that
    sits on top of cogl vertex buffers that adds the concept of faces. (Somthing
    like Blender's mesh objects.) There have also been some discussions over
    particle engines, and these can be defined in terms of emitter faces; so some
    other kind of mesh abstraction might be usefull here.

 cogl-mesh.h                          |  299 -------
 cogl-vertex-buffer.h                 |  308 +++++++
 cogl.h.in                            |    2 +-
 common/Makefile.am                   |    3 +-
 common/cogl-mesh-private.h           |  143 ---
 common/cogl-mesh.c                   | 1618 ---------------------------------
 common/cogl-vertex-buffer-private.h  |  142 +++
 common/cogl-vertex-buffer.c          | 1633 ++++++++++++++++++++++++++++++++++
 doc/reference/cogl/cogl-docs.sgml    |    2 +-
 doc/reference/cogl/cogl-sections.txt |   25 +-
 gl/Makefile.am                       |    2 +-
 gl/cogl-context.c                    |    2 +-
 gl/cogl-context.h                    |    4 +-
 gles/Makefile.am                     |    2 +-
 gles/cogl-context.c                  |    2 +-
 gles/cogl-context.h                  |    4 +-
 16 files changed, 2107 insertions(+), 2084 deletions(-)

commit e9537c749f9fe30f8796b878bb7f74a9d230ce54
Merge: 6e2efcd 4e60f2f
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Jan 20 17:22:21 2009 +0000

    Merge branch 'cogl-float'
    
    Okey; to summarise the changes...
    
    We have converted Clutter and Cogl over to using floating point internally
    instead of 16.16 fixed, but we have maintained the cogl-fixed API as a
    utility to applications in case they want to implement their own optimizations.
    
    The Clutter API has not changed (though ClutterFixed and ClutterUnit are now
    internally floats) but all Cogl entry points have been changed to accept floats
    now instead of CoglFixed.
    
    To summarise the rationale...
    
    There have been a number of issues with using fixed point though out Clutter
    and Cogl including: lack of precision, lack of range, excessive format
    conversion (GPUs tend to work nativly with IEEE floats) and maintainability.
    One of the main arguments for fixed point - performance - hasn't shown
    itself to be serious in practice so far since we seem to be more limited
    by GPU performance and making improvements regarding how we submit data to
    OpenGL[ES]/the GPU has had a more significant impact.
    
    Ref: The recent multiple rectangle queuing changes + the
    cogl-texture-agressive-batching branch which show significant performance
    gains, and that recent tests on the ipodtouch (ARM + MBX) also showed no
    loss of performance running with floats.
    
    So finally; please forgive the inevitable fallout, this is a far reaching
    change. There are still a few known issues with the fixed to float
    conversion but enough works for all our conformance tests to pass, and the
    remaining issues hopefully wont be too tricky to solve. For reference two
    tags will be available either side of this change: "cogl-fixed-end" and
    "cogl-float-start"

commit 4e60f2f5b005cf9a87a011459f51596d755fff8e
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Jan 20 16:20:54 2009 +0000

    [Automatic fixed-to-float.sh change] Applies a number fixed to float patches
    
    To deal with all the corner cases that couldn't be scripted a number of patches
    were written for the remaining 10% of the effort.
    
    Note: again no API changes were made in Clutter, only in Cogl.

 cogl-color.h                         |   10 ++--
 cogl-fixed.h                         |   12 ++++
 cogl-path.h                          |   22 +------
 cogl.h.in                            |   50 +++------------
 common/cogl-color.c                  |    6 +-
 common/cogl-fixed.c                  |    6 ++
 common/cogl-primitives.c             |   33 +++-------
 doc/reference/cogl/cogl-sections.txt |    4 +-
 gl/cogl-primitives.c                 |   63 +++++++------------
 gl/cogl-texture.c                    |    5 +-
 gl/cogl.c                            |  113 ++++++----------------------------
 gles/cogl-gles2-wrapper.c            |   45 +++-----------
 gles/cogl-gles2-wrapper.h            |   31 ++++-----
 gles/cogl-primitives.c               |   92 +++++++++-------------------
 gles/cogl-texture.c                  |    5 +-
 gles/cogl.c                          |   70 +++++++--------------
 16 files changed, 171 insertions(+), 396 deletions(-)

commit 3336359abbb44d2ffad9daaec02266e6c42847d6
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Jan 20 16:20:54 2009 +0000

    [Automatic fixed-to-float.sh change] Applies all scripted changes
    
    This is the result of running a number of sed and perl scripts over the code to
    do 90% of the work in converting from 16.16 fixed to single precision floating
    point.
    
    Note: A pristine cogl-fixed.c has been maintained as a standalone utility API
          so that applications may still take advantage of fixed point if they
          desire for certain optimisations where lower precision may be acceptable.
    
    Note: no API changes were made in Clutter, only in Cogl.
    
    Overview of changes:
    - Within clutter/* all usage of the COGL_FIXED_ macros have been changed to use
    the CLUTTER_FIXED_ macros.
    
    - Within cogl/* all usage of the COGL_FIXED_ macros have been completly stripped
    and expanded into code that works with single precision floats instead.
    
    - Uses of cogl_fixed_* have been replaced with single precision math.h
    alternatives.
    
    - Uses of COGL_ANGLE_* and cogl_angle_* have been replaced so we use a float for
    angles and math.h replacements.

 cogl-color.h              |   50 ++++----
 cogl-path.h               |  100 ++++++++--------
 cogl-texture.h            |   20 ++--
 cogl-types.h              |    4 +-
 cogl.h.in                 |   68 +++++-----
 common/cogl-clip-stack.c  |   46 ++++----
 common/cogl-color.c       |   40 +++---
 common/cogl-primitives.c  |  292 ++++++++++++++++++++++-----------------------
 common/cogl-primitives.h  |   22 ++--
 gl/cogl-context.h         |    8 +-
 gl/cogl-primitives.c      |   44 ++++----
 gl/cogl-texture.c         |  226 +++++++++++++++++-----------------
 gl/cogl.c                 |  290 ++++++++++++++++++++++----------------------
 gles/cogl-context.c       |    2 +-
 gles/cogl-context.h       |   10 +-
 gles/cogl-fbo.c           |   12 +-
 gles/cogl-gles2-wrapper.c |  126 ++++++++++----------
 gles/cogl-gles2-wrapper.h |   54 ++++----
 gles/cogl-primitives.c    |   70 ++++++------
 gles/cogl-texture.c       |  240 ++++++++++++++++++------------------
 gles/cogl.c               |  256 ++++++++++++++++++++--------------------
 21 files changed, 987 insertions(+), 993 deletions(-)

commit 53ba8bd92c17ae95c31570aab50a5492fce720d5
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Jan 16 10:50:53 2009 +0000

    [fixed-to-float-patches] Move the changes to gles2-wrapper.h into the patch
    
    It looks like the changes to cogl-gles2-wrapper.h were accidentally
    committed to the actual file instead of the patch in commit
    de27da0e. This commit moves the changes back into the patch so
    cogl-gles2-wrapper.h is reverted back to master.

 gles/cogl-gles2-wrapper.h |   24 ++++++++++++------------
 1 files changed, 12 insertions(+), 12 deletions(-)

commit eea3d2ce7c7d7540366a77508ac32c90862d13b3
Merge: eb8ce66 6e2efcd
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Jan 15 16:38:49 2009 +0000

    Merge branch 'master' into cogl-float
    
    The patches have been updated to apply cleanly.
    
    The patches for the g_warnings in clutter-actor.c have been removed
    because master now uses CLUTTER_UNITS_FORMAT so they aren't
    necessary. The clutter-units.h patch now sets CLUTTER_UNITS_FORMAT to
    'f'.

commit 6e2efcd45bbf87be307350781713c9b815c28936
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Jan 15 18:09:54 2009 +0000

    Fix GLES backends after merging the async-textures branch
    
    The changes from the GL version of cogl-texture.c have been mirrored
    in the GLES version. This adds the cogl_texture_new_from_bitmap
    function and fixes the build errors.

 gles/cogl-texture.c |   52 +++++++++++++++++++++++++++++---------------------
 1 files changed, 30 insertions(+), 22 deletions(-)

commit 9ec4c29003578f8b1aadef732ea4cf7e53fb49db
Merge: cc1cb6a c78d963
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Jan 14 15:16:41 2009 +0000

    Merge branch 'async-textures'
    
    * async-textures:
      Whitespace fixes in ClutterTexture
      [async-loading] Do not force the texture size on async load
      [async-loading] Update asynchronous image loading
      Add API for extracting image size from a file
      Update/clean and apply the async-texture patch from bug #1144

commit cc1cb6ab36c0ce12eee2dee0fa63806776f7b9c2
Merge: 7223b0a 5dc2b7d
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Jan 14 15:00:44 2009 +0000

    Merge branch 'animation-improvements'
    
    * animation-improvements:
      [docs] Add ClutterAnimatable to the API reference
      Add license notice to ClutterAnimation files
      [docs] Update the ClutterAnimation section
      [animation] Extend ClutterAnimation support to all objects
      [animation] Use ClutterAnimatable inside Animation
      [animation] Add ClutterAnimatable
      [animation] Allow registering custom progress function
      [animation] Interval::compute_value should return a boolean
      Animate ClutterColor properties

commit 7223b0a1a535730bdc7bb63db5072a3e3ee0638f
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Nov 27 16:44:39 2008 +0000

    Fix GLES 2 after the multiple-texture-rectangle branch merge
    
    The GLES 2 wrapper needs to set up some state before each
    draw. Previously this was acheived by wrapping glDrawArrays. Since the
    multiple-texture-rectangle branch merge, glDrawElements is used
    instead so we also need a wrapper for that.
    
    It was also directly calling glBindTexture. GLES 2 uses a wrapper for
    this function so that it can cope with GL_ALPHA format textures. The
    format of the current texture needs to be stored as well as the target
    and object number for this to work.

 gles/cogl-context.h       |    1 +
 gles/cogl-gles2-wrapper.c |   20 ++++++++++++++++++--
 gles/cogl-gles2-wrapper.h |    4 +++-
 gles/cogl-texture.c       |    7 ++++++-
 4 files changed, 28 insertions(+), 4 deletions(-)

commit 763d63b74880e2964e8bd0d761900a9a92883afd
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Jan 12 18:32:49 2009 +0000

    Update gtk-doc 'Since' field for cogl_texture_multiple_rectangles
    
    The function has been backported to the 0.8 branch so it will also be
    available in Clutter 0.8.6

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

commit a0c5690d55cee4be78c317f37885974cfc3594b5
Merge: b6470ab 0ca5eea
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Jan 13 13:37:38 2009 +0000

    Merge commit 'origin/master' into cogl-material
    
    Conflicts:
    
    	clutter/clutter-texture.c
    	clutter/cogl/cogl-texture.h
    	clutter/cogl/gles/cogl-context.c
    	clutter/cogl/gles/cogl-context.h

commit eb8ce66e617ce5895cb3c6dfe2a1a68effe654af
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Jan 8 22:56:17 2009 +0000

    [cogl/gles] Fixes for building for GLES 1 using floats
    
    * This adds GLfixed -> GLfloat conversion
    * redefines cogl_wrap_glBlahx macros as glBlahf
    * Other misc fixes (mostly corresponding to cogl/gl equivalents)

 gles/cogl-gles2-wrapper.h |   24 ++++++++++++------------
 1 files changed, 12 insertions(+), 12 deletions(-)

commit c78d963e90120dc48c5c862047c2d6aa7165010a
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Jan 12 16:52:20 2009 +0000

    Add API for extracting image size from a file
    
    For the asynchronous loading we need a function call that parses
    a file, given its path, and retrieves the image width and height.
    
    This commit adds cogl_bitmap_get_size_from_file() to the CoglBitmap
    API.

 cogl-texture.h              |   17 +++++++++++
 common/cogl-bitmap-pixbuf.c |   65 +++++++++++++++++++++++++++++++++++++------
 common/cogl-bitmap.c        |    8 +++++
 common/cogl-bitmap.h        |    5 +++
 4 files changed, 86 insertions(+), 9 deletions(-)

commit 743b5c03dc6a96395268b353e79d64b743e3e10e
Merge: 0866b07 0ca5eea
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Jan 12 14:43:53 2009 +0000

    Merge branch 'master' into async-textures

commit 0ca5eeaeae305c97eb3bcbc4d1d7c8ce09518879
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Jan 12 11:21:06 2009 +0000

    Declare G_LOG_DOMAIN for COGL
    
    In order to get properly namespaced debug and warning messages
    inside COGL code we need to define the G_LOG_DOMAIN macro.

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

commit 918794a256f7588e73969ea86948d61a5747e004
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Jan 9 14:26:35 2009 +0000

    [docs] Documentation warnings
    
    Fix the various warnings issued by gtk-doc when enabling the API
    reference generation for both COGL and Clutter.

 cogl-types.h       |   72 ++++++++++++++++++++++++++++-----------------------
 common/cogl-mesh.c |    2 +
 2 files changed, 41 insertions(+), 33 deletions(-)

commit 5dc2b7d5f338f26c12af32bd37cd21be74a5838a
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Jan 8 13:38:51 2009 +0000

    Merge branch 'animatable-iface' into animation-improvements
    
    * animatable-iface:
      [docs] Add ClutterAnimatable to the API reference
      Add license notice to ClutterAnimation files
      [animation] Use ClutterAnimatable inside Animation
      [animation] Add ClutterAnimatable

commit 755f3935f37025a940647248f7697948218ceaa7
Merge: b443814 1530be0
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Jan 8 11:48:00 2009 +0000

    Merge branch 'master' into cogl-float

commit 0866b07f30f2d7646e53b6035722e883ccbb9bd6
Author: Chris Lord <chris@linux.intel.com>
Date:   Wed Jan 7 17:02:43 2009 +0000

    Update/clean and apply the async-texture patch from bug #1144

 cogl-texture.h       |   42 ++++++++++++++++++++++++++++++++++++++++
 cogl-types.h         |    7 ++++++
 common/cogl-bitmap.c |   31 +++++++++++++++++++++++++++++
 common/cogl-bitmap.h |    2 -
 gl/cogl-texture.c    |   52 ++++++++++++++++++++++++++++---------------------
 5 files changed, 110 insertions(+), 24 deletions(-)

commit 1530be0af949298e22c8040bbeb15e2edeb65bdf
Merge: df3667d c3e4c6d
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Jan 7 16:10:25 2009 +0000

    Merge branch multiple-texture-rectangle into master
    
    Bug 1289 - Draw multiple glyphs at once
    
    The multiple-texture-rectangle branch adds a new Cogl texture function
    called cogl_texture_multiple_rectangles which is used to draw multiple
    rectangles out of a texture using a single GL call. This is
    significantly faster than drawing the rectangles with individual calls
    on some platforms. The Pango renderer now uses this to speed up
    rendering.
    
    The conflicts are just due to the whitespace fixes in cb569a5.
    
    Conflicts:
    
    	clutter/cogl/gl/cogl-context.c
    	clutter/cogl/gl/cogl-context.h
    	clutter/cogl/gl/cogl-texture.c

commit df3667dd3a6c8bf28090def0bc633ae73f6fc22d
Merge: e06f170 4aea0d6
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Jan 7 12:06:33 2009 +0000

    Merge the ClutterText actor
    
    Merge branch 'text-actor'
    
    * text-actor: (108 commits)
      Re-align ClutterText header file
      [text] Fix cursor sizing
      Comments and whitespace fixes to ClutterText
      [docs] Add newly added :single-line-mode accessors
      Update the ignore file
      [tests] Add text field interactive test
      [text] Add single-line-mode to ClutterText
      [text] Fix the deletion actions
      [text] Use cached length when possible
      [tests] Add unit for the ClutterText:password-char property
      [docs] Update the Text section
      [text] Coalesce text visibility and password character
      Allow localizations to change the text direction
      Clean up the update_pango_context() function
      Pass the PangoContext, not the MainContext
      Revert the logic of the PangoContext check
      Remove the binding pool entry from the list
      Remove BindingPool::list_actions()
      Add ClutterActor::create_pango_context()
      Rename the PangoContext creation functions
      ...

commit b6470ab900f42af1c778a7d77cc2de988825f756
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Jan 6 18:24:57 2009 +0000

    [cogl-material] Restore the GL_TEXTURE_ENV_MODE after material_rectangle
    
    The rest of Cogl expects the texture mode to be GL_MODULATE so it
    needs to be restored after calling cogl_material_rectangle. Otherwise
    cogl_texture_rectangle will fail to blend with the Cogl color properly
    and all of the labels will be black.

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

commit cd71b91440f53618e5ad2db7618a0c36466ac4ea
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Jan 6 16:09:55 2009 +0000

    [cogl-material] Make the user_tex_coords parameter of _rectangle const
    
    The array is only used for input so it should be const.

 cogl-texture.h      |   12 ++++++------
 gl/cogl-texture.c   |   14 +++++++-------
 gles/cogl-texture.c |   12 ++++++------
 3 files changed, 19 insertions(+), 19 deletions(-)

commit ba2257973eeb7114368e819a2bf4fdff606ba610
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Jan 6 15:53:35 2009 +0000

    Add cogl-material.h and cogl-matrix.h to libclutterinclude_HEADERS
    
    Otherwise they won't get installed

 gl/Makefile.am   |    4 +++-
 gles/Makefile.am |    4 +++-
 2 files changed, 6 insertions(+), 2 deletions(-)

commit e06f170c0854bed998bf413a3a784e19f9c7be45
Merge: baa63b7 4aea0d6
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Jan 5 11:11:10 2009 +0000

    Merge branch 'units-rework'
    
    * units-rework:
      [texture] Do not mix fixed point and units values
      [tests] Fix the actor detection
      [units] Do not use fixed point and units interchangeably

commit 0408a5d2c5d01035155dcd0cc0529e074361eb8a
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Dec 23 23:50:02 2008 +0000

    [cogl-material] improvements for cogl_material_rectangle
    
    The API has been changed to take an explicit length for the number of
    texture coordinates passed, and it's now documented that if there are
    more layers to the current material than the number of texture coords
    passed, then default coordinates will be generated for the other
    layers.
    
    cogl_material_rectangle should now handle the case where a single
    sliced texture is supplied as a material layer by falling back to
    cogl_texture_rectangle. We are nearly at the point that
    cogl_texture_rectangle could be deprecated. A few issues remain
    though, such as not considering waste in cogl_material_rectangle.

 cogl-texture.h                 |   75 +++++++++----------------------
 common/cogl-material-private.h |   14 ++++--
 gl/cogl-texture.c              |   95 +++++++++++++++++++++++++++++++--------
 3 files changed, 106 insertions(+), 78 deletions(-)

commit 98bd85afaa8c79f9b20536b3f406bf55e5176840
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Dec 23 23:35:49 2008 +0000

    [cogl-material] Adds a cogl_material_set_color function
    
    The other colors of a material; such as the ambient and diffuse color are
    only relevent when we can enable lighting. This adds a basic unlit
    color property.
    
    Later cogl_set_source_color can be integrated to either modify the color
    of the current source material, or maintain a special singlton CoglMaterial
    that is modified by calls to cogl_set_source_color and implicitly made
    current.

 cogl-material.h        |   13 +++++++++++++
 common/cogl-material.c |   30 ++++++++++++++++++++++++++++++
 2 files changed, 43 insertions(+), 0 deletions(-)

commit e4548bcdc59cf0720227fbc87ce1b48eb63fb003
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Dec 23 23:22:40 2008 +0000

    [cogl-material] Some improvements for how we sync CoglMaterial state with OpenGL
    
    This flattens the three functions: cogl_material_flush_gl_material_state,
    .._flush_gl_alpha_func and .._flush_gl_blend_func into one:
    cogl_flush_material_gl_state which doesn't takes a material handle. (the handle
    is instead taken from the context.)
    
    This has allows us to avoid re-submitting some state to OpenGL when the
    material has not been replaced.
    
    Note: Avoiding redundant state changes for material layers isn't dealt with
    in this patch.

 cogl-material.h        |   72 ++++++++++++++----------------
 common/cogl-material.c |  116 +++++++++++++++++++++++++-----------------------
 gl/cogl-context.c      |    1 +
 gl/cogl-context.h      |    1 +
 gl/cogl-texture.c      |    5 +-
 5 files changed, 97 insertions(+), 98 deletions(-)

commit ef992f55db9bb29667ccdd966019195cdb921730
Merge: 5b61106 baa63b7
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Dec 24 00:59:13 2008 +0000

    Merge branch 'master' into cogl-material
    
    Conflicts:
    
    	clutter/cogl/gl/cogl-context.c
    	clutter/cogl/gl/cogl-context.h

commit baa63b7c466397fd9d9e73e3b50399e22a2131f4
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Dec 23 16:29:29 2008 +0000

    White space clean up across a number of files (only removing trailing spaces)
    
    Removed trailing white space from the following files:
    - clutter-clone-texture.c
    - clutter-texture.c
    - clutter-texture.h
    - cogl/cogl-texture.h
    - cogl/gl/cogl-context.c
    - cogl/gl/cogl-texture.c
    - cogl/gl/cogl-context.h

 cogl-texture.h    |   24 ++--
 gl/cogl-context.c |   26 ++--
 gl/cogl-context.h |   16 +-
 gl/cogl-texture.c |  512 ++++++++++++++++++++++++++--------------------------
 4 files changed, 289 insertions(+), 289 deletions(-)

commit 5b61106684b931fba630993f859119a8632effde
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Dec 22 16:19:49 2008 +0000

    [doc] Hooks up cogl-material reference documentation
    
    Adds some more gtk-doc comments to cogl-material.h, and adds a new section to
    cogl-sections.txt

 cogl-material.h                      |  548 +++++++++++++++++++++++-----------
 common/cogl-material.c               |   72 +++---
 doc/reference/cogl/cogl-docs.sgml    |    1 +
 doc/reference/cogl/cogl-sections.txt |   38 +++
 4 files changed, 456 insertions(+), 203 deletions(-)

commit 1a8a9c4bc882a03074db782b54dc2ef8b2da21be
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Dec 18 19:12:09 2008 +0000

    Updates previous GLES multi-texturing code to use CoglMaterial
    
    test-cogl-material now runs on GLES 1 using the PVR GLES1 SDK (though since
    only 2 texture units are supported the third rotating light map doesn't show)
    
    Note: It currently doesn't build for GLES 2.0

 cogl-material.h     |    2 +
 gles/cogl-context.c |    5 +-
 gles/cogl-context.h |    9 +-
 gles/cogl-texture.c |  320 ++++++++++++++++++---------------------------------
 4 files changed, 122 insertions(+), 214 deletions(-)

commit 61b8cc1874ebd5a25d6ffb49bf67c0aa29afb679
Author: Robert Bragg <bob@o-hand.com>
Date:   Thu Dec 11 20:11:30 2008 +0000

    Adds a CoglMaterial abstraction, which includes support for multi-texturing
    
    My previous work to provide muti-texturing support has been extended into
    a CoglMaterial abstraction that adds control over the texture combine
    functions (controlling how multiple texture layers are blended together),
    the gl blend function (used for blending the final primitive with the
    framebuffer), the alpha function (used to discard fragments based on
    their alpha channel), describing attributes such as a diffuse, ambient and
    specular color (for use with the standard OpenGL lighting model), and
    per layer rotations. (utilizing the new CoglMatrix utility API)
    
    For now the only way this abstraction is exposed is via a new
    cogl_material_rectangle function, that is similar to cogl_texture_rectangle
    but doesn't take a texture handle (the source material is pulled from
    the context), and the array of texture coordinates is extended to be able
    to supply coordinates for each layer.
    
    Note: this function doesn't support sliced textures; supporting sliced
    textures is a non trivial problem, considering the ability to rotate layers.
    Note: cogl_material_rectangle, has quite a few workarounds, for a number of
    other limitations within Cogl a.t.m.
    Note: The GLES1/2 multi-texturing support has yet to be updated to use
    the material abstraction.

 cogl-material.h                |  481 ++++++++++++++++++++++++++++
 cogl.h.in                      |    2 +
 common/Makefile.am             |    3 +-
 common/cogl-material-private.h |   72 +++++
 common/cogl-material.c         |  680 ++++++++++++++++++++++++++++++++++++++++
 common/cogl-matrix.h           |   57 ----
 gl/cogl-context.c              |    5 +-
 gl/cogl-context.h              |    9 +-
 gl/cogl-texture-private.h      |    8 +-
 gl/cogl-texture.c              |  307 +++++++------------
 10 files changed, 1354 insertions(+), 270 deletions(-)

commit cdf19f3281c92cb3cd46df165f8f15153ac1aa0f
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Dec 22 16:16:07 2008 +0000

    [doc] Hooks up cogl-matrix reference documentation
    
    Adds a few more gtk-doc notes to cogl-matrix.h, and adds a new section to
    cogl-sections.txt

 cogl-matrix.h                        |   54 ++++++++++++++++++++++++++++++---
 doc/reference/cogl/cogl-docs.sgml    |    1 +
 doc/reference/cogl/cogl-sections.txt |   11 +++++++
 3 files changed, 61 insertions(+), 5 deletions(-)

commit af6c78e9b43a4739a39bbc4c740c2563af8a116a
Author: Robert Bragg <bob@o-hand.com>
Date:   Thu Dec 11 20:08:15 2008 +0000

    Adds CoglMatrix utility code

 cogl-matrix.h        |  102 +++++++++++++++++++++++++++++++++++++
 common/Makefile.am   |    3 +-
 common/cogl-matrix.c |  138 ++++++++++++++++++++++++++++++++++++++++++++++++++
 common/cogl-matrix.h |   57 +++++++++++++++++++++
 4 files changed, 299 insertions(+), 1 deletions(-)

commit 509928cc76e8e35e51eae8d6db10fe5763e40e4f
Author: Robert Bragg <bob@o-hand.com>
Date:   Thu Dec 11 15:33:38 2008 +0000

    [multi-texturing] This adds a new cogl_multi_texture API for GL,GLES1 + GLES2
    
    Multitexturing allows blending multiple layers of texture data when texturing
    some geometry. A common use is for pre-baked light maps which can give nice
    lighting effects relativly cheaply. Another is for dot-3 bump mapping, and
    another is applying alpha channel masks.
    
    The dot-3 bump mapping would be really nice one day, but currently cogl doesn't
    support lighting so that's not dealt with in this patch.
    
    notable limitations:
    - It can only texture rectangles a.t.m - and like cogl_texture_rectangle there
    is no support for rotated texturing.
    - Sliced textures are not supported. I think I've figured out how to handle
    layers with different slice sizes at least for rectangular geometry, but I'm
    not sure how complex it becomes once rotations are possible and texturing
    arbitrary cogl_polygons.
    - Except for this new API, cogl still doesn't know about more than one texture
    unit, and so has no way of caching any enables related to other units. So that
    things don't break it's currently necessary to disable anything to do with
    additional units as soon as we are done with them which isn't ideal.
    - No clutter API yet.

 cogl-texture.h                       |   62 ++++
 common/cogl-handle.h                 |    6 +
 gl/cogl-context.c                    |    3 +
 gl/cogl-context.h                    |    6 +
 gl/cogl-defines.h.in                 |    1 +
 gl/cogl-texture-private.h            |   27 ++-
 gl/cogl-texture.c                    |  275 +++++++++++++++++-
 gles/cogl-context.c                  |    4 +-
 gles/cogl-context.h                  |    6 +
 gles/cogl-defines.h.in               |   12 +-
 gles/cogl-fixed-fragment-shader.glsl |   33 +--
 gles/cogl-fixed-vertex-shader.glsl   |   19 +-
 gles/cogl-gles2-wrapper.c            |  552 ++++++++++++++++++++++++++++------
 gles/cogl-gles2-wrapper.h            |  131 ++++++---
 gles/cogl-texture-private.h          |   21 ++
 gles/cogl-texture.c                  |  281 +++++++++++++++++-
 16 files changed, 1260 insertions(+), 179 deletions(-)

commit b4438143e586796b34c4800833eefa048a352add
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Dec 19 16:44:40 2008 +0000

    Merge branch 'cairo-texture'
    
    * cairo-texture:
      [cairo-texture] Remove the construct only restriction on surface size
      [cairo-texture] Silently discard 0x0 surfaces
      Re-indent ClutterPath header
      Add a test case for the new cairo path functions
      Add clutter_path_to_cairo_path and clutter_path_add_cairo_path
      Warn instead of returning in the IN_PAINT check
      Small documentation fixes
      Print a warning when creating a cairo_t while painting
      Do not set the IN_PAINT flag inside the Stage paint
      Set the IN_PAINT private flag
      [docs] Add ClutterCairoTexture to the API reference
      Add ClutterCairoTexture
      Require Cairo as a Clutter dependency
    
    Conflicts:
    
      Fix merge conflict in clutter/clutter-path.h

commit c3e4c6df08bccda04a525cacba2cb8ab24d5f259
Merge: b11b74f 4aea0d6
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Dec 10 12:25:25 2008 +0000

    Merge commit 'git-svn' into multiple-texture-rectangle

commit 4aea0d6e48e14a7521f0edeb288f55ff4417e0d2
Author: Neil Roberts <neil@openedhand.com>
Date:   Wed Dec 10 12:13:20 2008 +0000

    	* clutter/cogl/gl/cogl.c:
    	* clutter/cogl/gl/cogl-defines.h.in:
    	* clutter/cogl/gl/cogl-context.h:
    	* clutter/cogl/common/cogl-mesh.c: Rename the glBufferDataSub
    	function to glBufferSubData. When calling glXGetProcAddress with
    	the former Mesa returns a stub dispatch function which will
    	segfault if you try to use it. With NVIDIA it returns NULL so
    	_cogl_features_init decides the card doesn't have VBO support.

 common/cogl-mesh.c   |   14 ++------------
 gl/cogl-context.h    |    2 +-
 gl/cogl-defines.h.in |    2 +-
 gl/cogl.c            |    8 ++++----
 4 files changed, 8 insertions(+), 18 deletions(-)

commit b11b74fcdec86233c67d52d4bc84e8da6de15be2
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Dec 9 18:03:29 2008 +0000

    Use a single index array
    
    There's no point in clearing the index array because it is always the
    same sequence of indices regardless of the vertices. Instead it is
    just added to when there are more vertices than ever before.

 gl/cogl-texture.c   |   51 +++++++++++++++++++++++++++++++++------------------
 gles/cogl-texture.c |   51 +++++++++++++++++++++++++++++++++------------------
 2 files changed, 66 insertions(+), 36 deletions(-)

commit 8caf39eb00ea4db7c57b58c25a93ee23dca451c7
Merge: 223c122 58f6aaa
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Dec 9 15:10:56 2008 +0000

    Merge commit 'git-svn' into multiple-texture-rectangle

commit 223c1225ea92817a411e86b81adfcae04dba1636
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Dec 9 15:10:33 2008 +0000

    Support cogl_texture_multiple_rectangles in GL ES backend

 gles/cogl-context.c |   14 ++-
 gles/cogl-context.h |   11 ++-
 gles/cogl-texture.c |  343 +++++++++++++++++++++++++++++----------------------
 3 files changed, 212 insertions(+), 156 deletions(-)

commit 59aef7488f98fbeb3cedc8f535fbb964b105a51a
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Dec 9 15:01:10 2008 +0000

    Minor fix to indentation in gl/cogl-texture.c

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

commit 3f492e60542ce8303c9863798a935d7967d6d16d
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Dec 9 13:16:42 2008 +0000

    Add gtk-doc for cogl_texture_multiple_rectangles

 cogl-texture.h                       |   18 ++++++++++++++++++
 doc/reference/cogl/cogl-sections.txt |    1 +
 2 files changed, 19 insertions(+), 0 deletions(-)

commit 778a9f7d6761e22937e48c9d63001d34b30a9f4a
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Dec 9 13:02:28 2008 +0000

    Use glDrawRangeElements to share vertices
    
    When drawing a quad from cogl_texture_multiple_rectangles share two of
    the vertices in each triangle by using indices.

 gl/cogl-context.c |    4 ++
 gl/cogl-context.h |    1 +
 gl/cogl-texture.c |  157 ++++++++++++++++++++++++++++-------------------------
 3 files changed, 88 insertions(+), 74 deletions(-)

commit 3b5eb3afebaeacbdf70e01517e4375c4db1fc10c
Merge: 7a276af 58f6aaa
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Dec 4 18:08:40 2008 +0000

    Merge commit 'git-svn' into multiple-texture-rectangle
    
    Conflicts:
    
    	clutter/cogl/gl/cogl-texture.c

commit 7a276affd68d928e5afcb9faa0e8ada69c2141f3
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Dec 4 17:50:03 2008 +0000

    Use the correct length in _cogl_texture_flush_vertices
    
    The check for whether there are any rectangles to flush was using the
    wrong value so it would always flush.
    
    Thanks to Johan Bilien for spotting.

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

commit 58f6aaa589ec8138a3c643501e30f8e514e07b86
Author: Neil Roberts <neil@openedhand.com>
Date:   Thu Dec 4 17:24:33 2008 +0000

    	Bug 1297 - Bring back support for GL_ARB_texture_rectangle
    
    	* clutter/cogl/gl/cogl-texture.c (cogl_texture_new_from_foreign,
    	(_cogl_texture_quad_hw, cogl_texture_polygon),
    	(_cogl_texture_quad_sw): Support GL_ARB_texture_rectangle textures
    
    	* clutter/glx/clutter-glx-texture-pixmap.c: Use rectangle textures
    	when NPOTs are not available or it is forced by the
    	CLUTTER_PIXMAP_TEXTURE_RECTANGLE environment variable.
    
    	* clutter/cogl/gl/cogl.c (cogl_enable): Allow enabling
    	GL_TEXTURE_RECTANGLE_ARB.

 gl/cogl-texture.c |  109 +++++++++++++++++++++++++++++++++++++----------------
 gl/cogl.c         |    8 +++-
 2 files changed, 83 insertions(+), 34 deletions(-)

commit 10d7cf3273e8963ee465d8c71cf28d02e8252cd9
Author: Neil Roberts <neil@openedhand.com>
Date:   Thu Dec 4 13:45:09 2008 +0000

    	Bug 1172 - Disjoint paths and clip to path
    
    	* clutter/cogl/cogl-path.h:
    	* clutter/cogl/common/cogl-primitives.c:
    	* clutter/cogl/common/cogl-primitives.h:
    	* clutter/cogl/gl/cogl-primitives.c:
    	* clutter/cogl/gles/cogl-primitives.c: Changed the semantics of
    	cogl_path_move_to. Previously this always started a new path but
    	now it instead starts a new disjoint sub path. The path isn't
    	cleared until you call either cogl_path_stroke, cogl_path_fill or
    	cogl_path_new. There are also cogl_path_stroke_preserve and
    	cogl_path_fill_preserve functions.
    
    	* clutter/cogl/gl/cogl-context.c:
    	* clutter/cogl/gl/cogl-context.h:
    	* clutter/cogl/gles/cogl-context.c:
    	* clutter/cogl/gles/cogl-context.h: Convert the path nodes array
    	to a GArray.
    
    	* clutter/cogl/gl/cogl-texture.c:
    	* clutter/cogl/gles/cogl-texture.c: Call cogl_clip_ensure
    
    	* clutter/cogl/common/cogl-clip-stack.c:
    	* clutter/cogl/common/cogl-clip-stack.h: Simplified the clip
    	stack code quite a bit to make it more maintainable.  Previously
    	whenever you added a new clip it would go through a separate route
    	to immediately intersect with the current clip and when you
    	removed it again it would immediately rebuild the entire clip. Now
    	when you add or remove a clip it doesn't do anything immediately
    	but just sets a dirty flag instead.
    
    	* clutter/cogl/gl/cogl.c:
    	* clutter/cogl/gles/cogl.c: Taken away the code to intersect
    	stencil clips when there is exactly one stencil bit. It won't work
    	with path clips and I don't know of any platform that doesn't have
    	eight or zero stencil bits. It needs at least three bits to
    	intersect a path with an existing clip. cogl_features_init now
    	just decides you don't have a stencil buffer at all if you have
    	less than three bits.
    
    	* clutter/cogl/cogl.h.in: New functions and documentation.
    
    	* tests/interactive/test-clip.c: Replaced with a different test
    	that lets you add and remove clips. The three different mouse
    	buttons add clips in different shapes. This makes it easier to
    	test multiple levels of clipping.
    
    	* tests/interactive/test-cogl-primitives.c: Use
    	cogl_path_stroke_preserve when using the same path again.
    
    	* doc/reference/cogl/cogl-sections.txt: Document the new
    	functions.

 cogl-path.h                          |   88 ++++--
 cogl.h.in                            |   43 +++-
 common/cogl-clip-stack.c             |  348 ++++++++++++++-------
 common/cogl-clip-stack.h             |   15 +-
 common/cogl-primitives.c             |   63 +++-
 common/cogl-primitives.h             |   22 ++-
 doc/reference/cogl/cogl-sections.txt |    6 +
 gl/cogl-context.c                    |   13 +-
 gl/cogl-context.h                    |   10 +-
 gl/cogl-primitives.c                 |  206 +++++++++----
 gl/cogl-texture.c                    |    4 +
 gl/cogl.c                            |  161 +---------
 gles/cogl-context.c                  |   14 +-
 gles/cogl-context.h                  |   10 +-
 gles/cogl-primitives.c               |  567 ++++++++++++++++++++--------------
 gles/cogl-texture.c                  |    4 +
 gles/cogl.c                          |  154 +---------
 17 files changed, 977 insertions(+), 751 deletions(-)

commit be655b05aded5c0529f160a4c0486f7c69cb6015
Author: Neil Roberts <neil@openedhand.com>
Date:   Mon Dec 1 16:27:54 2008 +0000

    	Bug 1305 - NPOT textures unaligned to a pixel sometimes have
    	border artifacts
    
    	* clutter/cogl/gl/cogl-texture.c: Set the wrap mode of a texture
    	on demand
    
    	Instead of setting the wrap mode once per texture at creation, it
    	is now changed whenever the texture is drawn. The previous value
    	is cached so that it isn't changed if the value is the same.
    
    	This is used in _cogl_texture_quad_hw to only enable GL_REPEAT
    	mode when the coordinates are not in the range [0,1]. Otherwise it
    	can pull in pixels from the other edge when the texture is
    	rendered off-pixel.

 gl/cogl-texture.c |  102 ++++++++++++++++++++++++++---------------------------
 1 files changed, 50 insertions(+), 52 deletions(-)

commit 420b1f0791eb2c1b06c115ff33cc49a99eb95d25
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Nov 28 14:20:07 2008 +0000

    Use GL_TRIANGLES for the texture vertex array
    
    Most cards don't actually support GL_QUADS and they are deprecated in
    GL 3.0 so there is a chance it will perform faster with GL_TRIANGLES
    even though it has to submit two extra vertices.

 gl/cogl-texture.c |   32 +++++++++++++++++++++++---------
 1 files changed, 23 insertions(+), 9 deletions(-)

commit c502c5c3f41b1dc0f165930c6feb5a3f00aec90b
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Nov 28 12:44:21 2008 +0000

    Add cogl_texture_multiple_rectangles
    
    This takes an array of sets of 8 floats to describe the rectangles. It
    tries to send the geometry with a single glDrawArrays as far as
    possible. cogl_texture_rectangle is now just a wrapper around
    cogl_texture_multiple_rectangles.

 cogl-texture.h    |    5 +++
 gl/cogl-texture.c |   74 +++++++++++++++++++++++++++++++++++-----------------
 2 files changed, 55 insertions(+), 24 deletions(-)

commit 47a21cd94f5499201d014452bb8b0c2fc77f5c55
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Nov 28 12:33:19 2008 +0000

    Make cogl_texture_rectangle use the vertex array
    
    cogl_texture_quad_hw and _sw now just add vertices to the vertex
    array. The last texture used is stored and if a different texture is
    encountered then flushes the vertices. cogl_texture_rectangle always
    flushes the vertices after calling either of the functions.

 gl/cogl-context.h |    7 ++-
 gl/cogl-texture.c |  199 ++++++++++++++++++++++++++++++-----------------------
 2 files changed, 118 insertions(+), 88 deletions(-)

commit 5557de30eb80dcb5dfd36b142492cf3d231a89f8
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Nov 27 16:44:39 2008 +0000

    Use a GArray for the texture vertices in cogl_texture_polygon
    
    Previously it was a dynamic array that was manually reallocated.

 gl/cogl-context.c |   11 +++++++----
 gl/cogl-context.h |    3 +--
 gl/cogl-texture.c |   32 +++++++++-----------------------
 3 files changed, 17 insertions(+), 29 deletions(-)

commit f4465ccb05480647a9418dd56a6c6ea511315791
Author: Neil Roberts <neil@openedhand.com>
Date:   Wed Nov 26 16:35:25 2008 +0000

    	* clutter/cogl/gl/cogl-texture.c (cogl_texture_rectangle): Fixed
    	the test for whether to use hardware tiling. Previously it assumed
    	that texture coordinates are in increasing order but this is not
    	the case since bug 1057 was fixed. The texture coordinates are now
    	sorted later. It also allowed negative coordinates which doesn't
    	make sense if the texture has waste.

 gl/cogl-texture.c |   33 ++++++++++++---------------------
 1 files changed, 12 insertions(+), 21 deletions(-)

commit 50b6ecc56d70ddfcb076cc21448974941d8c64d9
Author: Neil Roberts <neil@openedhand.com>
Date:   Mon Nov 24 12:27:48 2008 +0000

    	* clutter/cogl/gl/cogl-texture.c (cogl_texture_polygon): Fix the
    	equation for calculating texture coordinates when using sliced
    	textures. This became broken in revision 3520.

 gl/cogl-texture.c |   18 +++++++++++-------
 1 files changed, 11 insertions(+), 7 deletions(-)

commit d741f67cfc26ca3568c27b428f04ff146e599c13
Author: Neil Roberts <neil@openedhand.com>
Date:   Fri Nov 21 16:18:58 2008 +0000

    	Bug 1271 - mingw compiling failed: undefined reference to
    	`_glDrawRangeElements@24'
    
    	Resolve glDrawRangeElements with cogl_get_proc_address instead of
    	calling it directly because functions defined in GL > 1.1 are not
    	directly exported under Windows.
    
    	* clutter/cogl/common/cogl-mesh.c: Use the function pointer from
    	the context
    
    	* clutter/cogl/gl/cogl-context.c (cogl_create_context): Initialise
    	function pointer.
    
    	* clutter/cogl/gl/cogl-context.h (CoglContext): Add a function
    	pointer
    
    	* clutter/cogl/gl/cogl-defines.h.in: Add a typedef for the
    	function pointer.
    
    	* clutter/cogl/gl/cogl.c (_cogl_features_init): Resolve
    	glDrawRangeElements

 common/cogl-mesh.c   |   11 ++++++++++-
 gl/cogl-context.c    |    2 ++
 gl/cogl-context.h    |    2 ++
 gl/cogl-defines.h.in |    9 +++++++++
 gl/cogl.c            |    7 +++++++
 5 files changed, 30 insertions(+), 1 deletions(-)

commit 454d4a69a2f88d5d16c5f4fb8ab12a2474c1e06b
Author: Robert Bragg <bob@openedhand.com>
Date:   Tue Nov 18 16:24:31 2008 +0000

    	* clutter/cogl/common/cogl-mesh.c:
    	Re-works validate_custom_attribute_name() so it doesn't access an
    	un-initialised variable.

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

commit 8b557c6c139e614b31ffd3f35b095e0253968377
Author: Robert Bragg <bob@openedhand.com>
Date:   Tue Nov 18 16:24:09 2008 +0000

    	A comparison of gl/cogl-texture.c and gles/cogl-texture.c, to reduce
    	differences and improve maintainability.
    
    	* clutter/cogl/gl/cogl-context.h:
    	Adds a CoglTextureGLVertex typedef + texture_vertices and
    	texture_vertices_size members to CoglContext for using vertex arrays
    	like GLES does
    
    	* clutter/cogl/gl/cogl-context.c:
    	Initializes texture_vertices + texture_vertices_size members
    
    	* clutter/cogl/gl/cogl-internal.h:
    	Adds COGL_ENABLE_COLOR_ARRAY
    
    	* clutter/cogl/gl/cogl.c:
    	Add COGL_ENABLE_COLOR_ARRAY support to cogl_enable
    
    	* clutter/cogl/gles/cogl-context.h:
    	Change the CoglTextureGLVertex to use GLfloat for the position
    	and texture coord attributes and GLubyte for the color.
    
    	* clutter/cogl/gles/cogl-texture-private.h:
    	Adds a wrap_mode member like GL has.
    
    	* clutter/cogl/gl/cogl-texture.c
    	* clutter/cogl/gles/cogl-texture.c:
    	Improves the comparability of the files, such that the remaining
    	differences, better reflect the fundamental differences needed
    	between GL and GLES. Notably GL no longer uses glBegin/glEnd for
    	submitting vertices, it uses vertex arrays like GLES and this gives
    	a small but measurable fps improvement for test-text.

 gl/cogl-context.c           |    2 +
 gl/cogl-context.h           |   11 +-
 gl/cogl-internal.h          |    3 +-
 gl/cogl-texture.c           |  415 ++++++++++++++++---------------
 gl/cogl.c                   |    3 +
 gles/cogl-context.h         |    6 +-
 gles/cogl-texture-private.h |    1 +
 gles/cogl-texture.c         |  591 ++++++++++++++++++++++++++++---------------
 8 files changed, 625 insertions(+), 407 deletions(-)

commit 6731dfa468cffe0db1c1c3de621faddfed04bb54
Author: Robert Bragg <bob@openedhand.com>
Date:   Tue Nov 18 16:23:40 2008 +0000

    	* clutter/cogl/gl/cogl-internal.h
    	* clutter/cogl/gles/cogl-internal.h:
    	Removes semicolon after the GE() macro since that breaks using it as a
    	single statement.

 gl/cogl-internal.h   |    2 +-
 gles/cogl-internal.h |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit e7338896553efe18bd4ff72426e4e32f6d8d3910
Author: Emmanuele Bassi <ebassi@openedhand.com>
Date:   Tue Nov 18 15:21:02 2008 +0000

    2008-11-18  Emmanuele Bassi  <ebassi@linux.intel.com>
    
    	* clutter/cogl/cogl-shader.h: Add a function for setting an
    	integer uniform, similar to cogl_program_uniform_1f().
    
    	* clutter/cogl/gl/cogl-program.c: Implement the GL version
    	of cogl_program_uniform_1i().
    
    	* clutter/cogl/gles/cogl-program.c: Implement the GLES version
    	of cogl_program_uniform_1i().

 cogl-shader.h       |   15 +++++++++++++--
 gl/cogl-program.c   |    8 ++++++++
 gles/cogl-program.c |    7 +++++++
 3 files changed, 28 insertions(+), 2 deletions(-)

commit 2142062ba1da5563c264946815fe00550c7679aa
Author: Emmanuele Bassi <ebassi@openedhand.com>
Date:   Tue Nov 18 15:08:40 2008 +0000

    2008-11-18  Emmanuele Bassi  <ebassi@linux.intel.com>
    
    	Bug 1049 - Clutter doesn't support most GLSL uniforms (patch
    	by Chris Lord and Neil Roberts)
    
    	* README: Update release notes.
    
    	* clutter/Makefile.am:
    	* clutter/clutter-shader-types.[ch]: Add GValue types for
    	shader values.
    
    	* clutter/clutter-actor.[ch]: Update the shader API to use
    	the newly added GValue support for GLSL shader uniform
    	setters.
    
    	* clutter/clutter-shader.[ch]: Add float and integer convenience
    	API for single value GLSL uniform setters.
    
    	* clutter/cogl/cogl-shader.h: Add new uniform setters.
    
    	* clutter/cogl/gl/cogl-context.c:
    	* clutter/cogl/gl/cogl-context.h:
    	* clutter/cogl/gl/cogl-defines.h.in:
    	* clutter/cogl/gl/cogl-program.c:
    	* clutter/cogl/gl/cogl.c: Update the GL implementation of COGL
    	to handle the GLSL uniform setters.
    
    	* clutter/cogl/gles/cogl-gles2-wrapper.c:
    	* clutter/cogl/gles/cogl-gles2-wrapper.h:
    	* clutter/cogl/gles/cogl-internal.h:
    	* clutter/cogl/gles/cogl-program.c: Update the GLES 2.0 implementation
    	of COGL to handle the GLSL uniform setters.
    
    	* doc/reference/clutter/clutter-sections.txt:
    	* doc/reference/cogl/cogl-sections.txt: Update the documentation.
    
    	* tests/interactive/test-fbo.c:
    	* tests/interactive/test-shader.c: Update the shader tests.

 cogl-shader.h                        |   66 +++++++++++++++---
 doc/reference/cogl/cogl-sections.txt |    3 +
 gl/cogl-context.c                    |   18 +++++
 gl/cogl-context.h                    |   21 ++++++-
 gl/cogl-defines.h.in                 |  126 ++++++++++++++++++++++++++++++++--
 gl/cogl-program.c                    |   99 ++++++++++++++++++++++++++-
 gl/cogl.c                            |   93 ++++++++++++++++++++++++-
 gles/cogl-gles2-wrapper.c            |   81 +++++++++++++++++++++-
 gles/cogl-gles2-wrapper.h            |    4 +-
 gles/cogl-internal.h                 |   24 +++++++
 gles/cogl-program.c                  |  109 ++++++++++++++++++++++++++++-
 11 files changed, 621 insertions(+), 23 deletions(-)

commit fe7aa83f8651c477c45d1f5dd9908495668fb0d6
Author: Neil Roberts <neil@openedhand.com>
Date:   Thu Nov 13 14:44:27 2008 +0000

    	* clutter/cogl/gles/cogl-gles2-wrapper.h:
    	* clutter/cogl/gles/cogl-gles2-wrapper.c:
    	Initialise the 'tex' sampler uniform to 0. The GLSL spec
    	specifically says that you must initialize sampler uniforms. This
    	fixes texturing for GLES 2 when using the PowerVR simulator via
    	software Mesa.

 gles/cogl-gles2-wrapper.c |    7 +++++++
 gles/cogl-gles2-wrapper.h |    5 ++++-
 2 files changed, 11 insertions(+), 1 deletions(-)

commit 8ae02decb4617896e05d46cbacadc42c88b5ba0c
Author: Robert Bragg <bob@openedhand.com>
Date:   Thu Nov 13 14:28:16 2008 +0000

    	Gets the mesh API working with GLES2
    
    	* clutter/cogl/common/cogl-mesh.c:
    	Make sure we use the appropriate cogl_wrap_gl* funcs as appropriate
    
    	* clutter/cogl/gles/cogl-gles2-wrapper.c
    	* clutter/cogl/gles/cogl-gles2-wrapper.h:
    	In our glColorPointer wrapper we needed to mark our color attribute
    	as normalized.
    
    	* tests/conform/Makefile.am:
    	When creating unit test symlinks we use the -l gtester option to
    	list tests, but when using the PVR SDK the test binary also spews
    	out some extra info that caused lots of random symlinks to be
    	created. We now grep for lines starting with a '/'
    
    	* tests/conform/test-mesh-contiguous.c
    	* tests/conform/test-mesh-mutability.c:
    	Use cogl_set_source_color instead of directly calling glColor4ub

 common/cogl-mesh.c        |   27 +++++++++++++++++++++------
 gles/cogl-gles2-wrapper.c |   16 ++++++++++++++++
 gles/cogl-gles2-wrapper.h |    4 ++++
 3 files changed, 41 insertions(+), 6 deletions(-)

commit 536347be6981631c004c3b8d3292f202c658864b
Author: Emmanuele Bassi <ebassi@openedhand.com>
Date:   Wed Nov 12 13:57:58 2008 +0000

    2008-11-12  Emmanuele Bassi  <ebassi@linux.intel.com>
    
    	* clutter/cogl/cogl-color.h:
    	* clutter/cogl/cogl-path.h:
    	* clutter/cogl/cogl-types.h:
    	* clutter/cogl/common/cogl-color.c: Deprecated cogl_color()
    	in favour of cogl_set_source_color() and friends; store the
    	CoglColor components as unsigned bytes instead of fixed point
    	normalized values; add functions for allocating, copying and
    	freeing CoglColor, for use of language bindings.
    
    	* clutter/cogl/cogl.h.in:
    	* clutter/cogl/cogl-deprecated.h: Added cogl-deprecated.h,
    	an header file containing the deprecation symbols similar
    	to clutter-deprecated.h.
    
    	* clutter/cogl/gl/Makefile.am:
    	* clutter/cogl/gl/cogl-texture.c:
    	* clutter/cogl/gl/cogl.c:
    	* clutter/cogl/gles/Makefile.am:
    	* clutter/cogl/gles/cogl-texture.c:
    	* clutter/cogl/gles/cogl.c: Update the GL and GLES implementations
    	of COGL after the CoglColor changes.
    
    	* clutter/clutter-actor.c:
    	* clutter/clutter-clone-texture.c:
    	* clutter/clutter-entry.c:
    	* clutter/clutter-label.c:
    	* clutter/clutter-rectangle.c:
    	* clutter/clutter-texture.c: Do not use CoglColor whenever it
    	is possible, and use cogl_set_source_color4ub() instead.
    
    	* clutter/pango/cogl-pango-render.c: Ditto as above.
    
    	* doc/reference/clutter/subclassing-ClutterActor.xml:
    	* doc/reference/cogl/cogl-sections.txt: Update the documentation.
    
    	* tests/interactive/test-cogl-offscreen.c:
    	* tests/interactive/test-cogl-primitives.c:
    	* tests/interactive/test-cogl-tex-convert.c:
    	* tests/interactive/test-cogl-tex-foreign.c:
    	* tests/interactive/test-cogl-tex-getset.c:
    	* tests/interactive/test-cogl-tex-polygon.c:
    	* tests/interactive/test-cogl-tex-tile.c:
    	* tests/interactive/test-paint-wrapper.c: Drop the usage of
    	CoglColor whenever it is possible.

 cogl-color.h                         |   83 +++++++++++++++++++++++++++-
 cogl-deprecated.h                    |    5 ++
 cogl-path.h                          |   10 ---
 cogl-types.h                         |    8 +-
 cogl.h.in                            |    1 +
 common/cogl-color.c                  |  101 +++++++++++++++++++++++++++-------
 doc/reference/cogl/cogl-sections.txt |   18 +++++-
 gl/Makefile.am                       |    2 +
 gl/cogl-texture.c                    |    2 +-
 gl/cogl.c                            |   10 ++--
 gles/Makefile.am                     |    2 +
 gles/cogl-texture.c                  |    4 +-
 gles/cogl.c                          |    2 +-
 13 files changed, 199 insertions(+), 49 deletions(-)

commit a55b588b30d5363b608774faa6578ab5a0cc41f6
Author: Neil Roberts <neil@openedhand.com>
Date:   Wed Nov 12 13:03:09 2008 +0000

    	Bug 1057 - cogl_texture_rectangle doesn't support backward
    	coordinates
    
    	* clutter/cogl/gl/cogl-texture.c: Instead of sorting the vertex
    	and texture coordinates passed to cogl_texture_rectangle, just
    	swap both sets whenever the texture coordinates are backward.

 gl/cogl-texture.c   |   56 +++++++++++++++++++++------------------------------
 gles/cogl-texture.c |   54 +++++++++++++++++++++----------------------------
 2 files changed, 46 insertions(+), 64 deletions(-)

commit ba1cab0a624d188e763a11daa57af7423aa28367
Author: Neil Roberts <neil@openedhand.com>
Date:   Wed Nov 12 12:08:44 2008 +0000

    	* clutter/cogl/gles/Makefile.am (libclutterinclude_HEADERS):
    	* clutter/cogl/gl/Makefile.am (libclutterinclude_HEADERS):
    	* clutter/cogl/common/Makefile.am
    	(libclutter_cogl_common_la_SOURCES): Move cogl-mesh.h into the
    	headers for libclutter so that it will get installed.

 common/Makefile.am |    3 +--
 gl/Makefile.am     |    3 ++-
 gles/Makefile.am   |    3 ++-
 3 files changed, 5 insertions(+), 4 deletions(-)

commit 46e4bd3a827861d568500282d21b75fc1a15e4c9
Author: Neil Roberts <neil@openedhand.com>
Date:   Wed Nov 12 10:55:06 2008 +0000

    	Fix warnings in mesh tests
    
    	* tests/conform/test-mesh-mutability.c (on_paint):
    	* tests/conform/test-mesh-interleved.c (on_paint):
    	* tests/conform/test-mesh-contiguous.c (on_paint): Use g_usleep
    	instead of sleep
    
    	* tests/conform/test-mesh-mutability.c (queue_redraw):
    	* tests/conform/test-mesh-interleved.c (queue_redraw):
    	* tests/conform/test-mesh-contiguous.c (queue_redraw): Added
    	missing return statement
    
    	* clutter/cogl/cogl-mesh.h: Add a declaration for
    	cogl_mesh_submit
    
    	* clutter/cogl/common/cogl-mesh.c (cogl_mesh_submit): Move the
    	documentation to cogl-mesh.h to match the rest of the functions

 cogl-mesh.h        |   13 +++++++++++++
 common/cogl-mesh.c |   10 ----------
 2 files changed, 13 insertions(+), 10 deletions(-)

commit 1e68a8d59eb5a6dda5249e7a953259769855722a
Author: Robert Bragg <bob@openedhand.com>
Date:   Mon Nov 10 18:53:14 2008 +0000

    	Bug 1164 - Implements the proposed Mesh API
    
    	* clutter/cogl/cogl-mesh.h
    	* clutter/cogl/cogl-types.h
    	* clutter/cogl/cogl.h.in
    	* clutter/cogl/common/Makefile.am
    	* clutter/cogl/common/cogl-mesh-private.h
    	* clutter/cogl/common/cogl-mesh.c
    	* clutter/cogl/gl/cogl-context.c
    	* clutter/cogl/gl/cogl-context.h
    	* clutter/cogl/gl/cogl-defines.h.in
    	* clutter/cogl/gl/cogl.c
    	* clutter/cogl/gles/cogl-context.c
    	* clutter/cogl/gles/cogl-context.h
    	* doc/reference/cogl/cogl-docs.sgml
    	* doc/reference/cogl/cogl-sections.txt:
    	The Mesh API provides a means for submitting an extensible number of
    	per vertex attributes to OpenGL in a way that doesn't require format
    	conversions and so that the data can be mapped into the GPU (in vertex
    	buffer objects) for - hopefully - fast re-use.
    
    	There are a number of things we can potentially use this API for, but
    	right now this just provides a foundation to build on. Please read
    	the extensive list of TODO items in cogl-mesh.c for examples.
    
    	Please refer to the cogl-mesh section in the reference manual for
    	documentation of the API.
    
    	* tests/conform/Makefile.am
    	* tests/conform/test-conform-main.c
    	* tests/conform/test-mesh-contiguous.c
    	* tests/conform/test-mesh-interleved.c
    	* tests/conform/test-mesh-mutability.c:
    	Privides basic coverage testing for the mesh API.

 cogl-mesh.h                          |  286 ++++++
 cogl-types.h                         |    4 +-
 cogl.h.in                            |    1 +
 common/Makefile.am                   |    4 +-
 common/cogl-mesh-private.h           |  143 +++
 common/cogl-mesh.c                   | 1611 ++++++++++++++++++++++++++++++++++
 doc/reference/cogl/cogl-docs.sgml    |    1 +
 doc/reference/cogl/cogl-sections.txt |   15 +
 gl/cogl-context.c                    |    2 +
 gl/cogl-context.h                    |   16 +-
 gl/cogl-defines.h.in                 |   55 ++
 gl/cogl.c                            |   51 ++-
 gles/cogl-context.c                  |    2 +
 gles/cogl-context.h                  |    3 +
 14 files changed, 2190 insertions(+), 4 deletions(-)

commit d0ab4856b50d47a3d0b5c4aded88bde37ff9662b
Author: Neil Roberts <neil@openedhand.com>
Date:   Thu Nov 6 11:42:11 2008 +0000

    	* clutter/cogl/gles/cogl.c (cogl_perspective):
    	* clutter/cogl/common/cogl-fixed.c (cogl_fixed_sin)
    	(cogl_angle_sin, cogl_angle_tan, cogl_fixed_sqrt): Replaced uses
    	of 1 + ~x with just -x which is equivalent and easier to
    	understand.

 common/cogl-fixed.c |   26 +++++++++++++-------------
 gles/cogl.c         |    2 +-
 2 files changed, 14 insertions(+), 14 deletions(-)

commit a41624276cb50ff3fbda079f4dcd7db138aef2d1
Author: Neil Roberts <neil@openedhand.com>
Date:   Tue Nov 4 12:43:06 2008 +0000

    	* clutter/cogl/gl/cogl.c (cogl_perspective): Use the accurate
    	64-bit multiplication macro instead of COGL_FIXED_FAST_DIV for
    	calculating xmax as was done previously. This fixes
    	test-perspective and other tests that had a gone a bit skewiff.

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

commit 54cecff92344a61091fcb5c0bbef003019afed83
Author: Emmanuele Bassi <ebassi@openedhand.com>
Date:   Mon Nov 3 23:58:13 2008 +0000

    2008-11-03  Emmanuele Bassi  <ebassi@linux.intel.com>
    
    	* clutter/cogl/gl/Makefile.am: Whitespace fixes.
    
    	* clutter/cogl/gles/Makefile.am: Put back a missing backslash
    	that broke the GLES build.

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

commit b98ea019396f621b097f23188fb3a6815c07ed16
Author: Emmanuele Bassi <ebassi@openedhand.com>
Date:   Mon Nov 3 23:54:38 2008 +0000

    2008-11-03  Emmanuele Bassi  <ebassi@linux.intel.com>
    
    	Bug 1231 - Build fails in gles flavour in revision 3442
    
    	* clutter/cogl/gles/cogl-context.h: Fix remaining use of
    	ClutterFixed over CoglFixed. (Michael Boccara)

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

commit d3d257b9136c56aeff06230ea7ab4c7bc155387a
Author: Emmanuele Bassi <ebassi@openedhand.com>
Date:   Thu Oct 30 17:57:41 2008 +0000

    2008-10-30  Emmanuele Bassi  <ebassi@linux.intel.com>
    
    	* clutter/cogl/cogl-color.h:
    	* clutter/cogl/cogl-fixed.h:
    	* clutter/cogl/cogl-offscreen.h:
    	* clutter/cogl/cogl-path.h:
    	* clutter/cogl/cogl-shader.h:
    	* clutter/cogl/cogl-texture.h:
    	* clutter/cogl/cogl-types.h: Add copyright and licensing
    	notice to the newly added files.

 cogl-color.h     |   19 +++++++++++++++++++
 cogl-fixed.h     |   19 +++++++++++++++++++
 cogl-offscreen.h |   19 +++++++++++++++++++
 cogl-path.h      |   19 +++++++++++++++++++
 cogl-shader.h    |   19 +++++++++++++++++++
 cogl-texture.h   |   19 +++++++++++++++++++
 cogl-types.h     |   19 +++++++++++++++++++
 7 files changed, 133 insertions(+), 0 deletions(-)

commit 1bcdf7d9eb4c8b15f3b2644c76e196567e3f9c6b
Author: Emmanuele Bassi <ebassi@openedhand.com>
Date:   Thu Oct 30 17:25:00 2008 +0000

    2008-10-30  Emmanuele Bassi  <ebassi@linux.intel.com>
    
    	Bug 1219 - Clean up cogl.h
    
    	* clutter/cogl/cogl.h.in:
    	* clutter/cogl/cogl-offscreen.h:
    	* clutter/cogl/cogl-path.h:
    	* clutter/cogl/cogl-shader.h:
    	* clutter/cogl/cogl-texture.h:
    	* clutter/cogl/cogl-types.h: Split up the massive cogl.h file
    	into sub-header for each section of the API.
    
    	* clutter/cogl/gl/*:
    	* clutter/cogl/gles/*: Update the GL and GLES implementations
    	of COGL to cope with the new header structure.
    
    	* doc/reference/cogl/Makefile.am: Fix symbol retrieval.

 cogl-color.h                   |   24 +-
 cogl-fixed.h                   |   23 +-
 cogl-offscreen.h               |  110 ++++
 cogl-path.h                    |  315 +++++++++++
 cogl-shader.h                  |  210 +++++++
 cogl-texture.h                 |  371 +++++++++++++
 cogl-types.h                   |  240 ++++++++
 cogl.h.in                      | 1167 +---------------------------------------
 common/cogl-color.c            |    1 +
 doc/reference/cogl/Makefile.am |    9 +-
 gl/Makefile.am                 |   17 +-
 gl/cogl-fbo.c                  |    2 +-
 gl/cogl-program.c              |    2 +-
 gl/cogl-shader-private.h       |   39 ++
 gl/cogl-shader.c               |    2 +-
 gl/cogl-shader.h               |   39 --
 gl/cogl-texture-private.h      |   65 +++
 gl/cogl-texture.c              |    2 +-
 gl/cogl-texture.h              |   65 ---
 gles/Makefile.am               |   16 +-
 gles/cogl-fbo.c                |    2 +-
 gles/cogl-gles2-wrapper.c      |    2 +-
 gles/cogl-program.c            |    2 +-
 gles/cogl-shader-private.h     |   40 ++
 gles/cogl-shader.c             |    2 +-
 gles/cogl-shader.h             |   40 --
 gles/cogl-texture-private.h    |   64 +++
 gles/cogl-texture.c            |    2 +-
 gles/cogl-texture.h            |   64 ---
 29 files changed, 1503 insertions(+), 1434 deletions(-)

commit 90dbfcd78f4d08e37652f832fe69bbeb8e791d4f
Author: Emmanuele Bassi <ebassi@openedhand.com>
Date:   Thu Oct 30 17:04:34 2008 +0000

    2008-10-30  Emmanuele Bassi  <ebassi@linux.intel.com>
    
    	Bug 1212 - Allow only a single include file for Clutter
    
    	* clutter/*.h: Only allow including clutter.h in third
    	party code.
    
    	* clutter/cogl/cogl-color.h:
    	* clutter/cogl/cogl-fixed.h:
    	* clutter/cogl/cogl.h.in: Only allow including cogl.h in
    	third party code.
    
    	* clutter/cogl/common/Makefile.am:
    	* clutter/cogl/gl/Makefile.am:
    	* clutter/cogl/gles/Makefile.am:
    	* clutter/eglnative/Makefile.am:
    	* clutter/eglx/Makefile.am:
    	* clutter/fruity/Makefile.am:
    	* clutter/glx/Makefile.am:
    	* clutter/glx/clutter-glx.h:
    	* clutter/osx/Makefile.am:
    	* clutter/pango/Makefile.am:
    	* clutter/sdl/Makefile.am:
    	* clutter/win32/Makefile.am:
    	* clutter/x11/Makefile.am: Fix build environment.
    
    	* clutter/x11/clutter-x11-texture-pixmap.h:
    	* clutter/x11/clutter-x11.h: Fix inclusion rules.
    
    	* tests/test-pixmap.c: Fix inclusion of GdkPixbuf header.
    
    	* README: Update release notes.

 cogl-color.h       |    4 ++++
 cogl-fixed.h       |    4 ++++
 cogl.h.in          |    4 ++++
 common/Makefile.am |    1 +
 gl/Makefile.am     |    1 +
 gles/Makefile.am   |    1 +
 6 files changed, 15 insertions(+), 0 deletions(-)

commit f26827c7d13c30fae4f69576b9daad9315117cde
Author: Emmanuele Bassi <ebassi@openedhand.com>
Date:   Thu Oct 30 16:52:56 2008 +0000

    2008-10-30  Emmanuele Bassi  <ebassi@linux.intel.com>
    
    	Bug 1211 - Drop ClutterFeatureFlags usage from COGL
    
    	* clutter/cogl/cogl.h.in:
    	* clutter/cogl/gl/cogl.c:
    	* clutter/cogl/gles/cogl.c: Do not use ClutterFeatureFlags
    	when CoglFeatureFlags will do. This removes the last usage
    	of Clutter API inside COGL.

 cogl.h.in   |    4 +---
 gl/cogl.c   |    8 ++++----
 gles/cogl.c |    6 +++---
 3 files changed, 8 insertions(+), 10 deletions(-)

commit d1f6dbaa79f31722ef52305ae257f3efe6c246a7
Author: Emmanuele Bassi <ebassi@openedhand.com>
Date:   Thu Oct 30 16:50:07 2008 +0000

    2008-10-30  Emmanuele Bassi  <ebassi@linux.intel.com>
    
    	Bug 1210 - Add CoglColor API
    
    	* clutter/cogl/cogl-color.h:
    	* clutter/cogl/cogl.h.in:
    	* clutter/cogl/common/Makefile.am:
    	* clutter/cogl/common/cogl-color.c:
    	* clutter/cogl/gl/Makefile.am:
    	* clutter/cogl/gl/cogl.c:
    	* clutter/cogl/gles/Makefile.am:
    	* clutter/cogl/gles/cogl-texture.c:
    	* clutter/cogl/gles/cogl.c: Add a new color-type, to be used by
    	COGL. CoglColor is optimized to allow the minimum amount of
    	conversions possible for both GL and GLES implementations.
    
    	* clutter/clutter-actor.c:
    	* clutter/clutter-clone-texture.c:
    	* clutter/clutter-entry.c:
    	* clutter/clutter-main.c:
    	* clutter/clutter-rectangle.c:
    	* clutter/clutter-stage.c:
    	* clutter/clutter-texture.c: Use CoglColor when needed.
    
    	* clutter/pango/pangoclutter-render.c: Use CoglColor when needed.
    
    	* doc/reference/cogl/cogl-docs.sgml:
    	* doc/reference/cogl/cogl-sections.txt: Update the documentation.
    
    	* tests/test-cogl-offscreen.c:
    	* tests/test-cogl-primitives.c:
    	* tests/test-cogl-tex-convert.c:
    	* tests/test-cogl-tex-foreign.c:
    	* tests/test-cogl-tex-getset.c:
    	* tests/test-cogl-tex-polygon.c:
    	* tests/test-cogl-tex-tile.c:
    	* tests/test-paint-wrapper.c: Update the tests.
    
    	* README: Update release notes.

 cogl-color.h                         |  223 ++++++++++++++++++++++++++++++++++
 cogl.h.in                            |   13 +-
 common/Makefile.am                   |    3 +-
 common/cogl-color.c                  |  107 ++++++++++++++++
 doc/reference/cogl/cogl-docs.sgml    |    1 +
 doc/reference/cogl/cogl-sections.txt |   26 ++++
 gl/Makefile.am                       |    2 +
 gl/cogl.c                            |   32 +++---
 gles/Makefile.am                     |    2 +
 gles/cogl-texture.c                  |   26 ++--
 gles/cogl.c                          |   32 +++---
 11 files changed, 415 insertions(+), 52 deletions(-)

commit 71a0be6fff8f2871742f269b743833e0d11f9f29
Author: Emmanuele Bassi <ebassi@openedhand.com>
Date:   Thu Oct 30 16:37:55 2008 +0000

    2008-10-30  Emmanuele Bassi  <ebassi@linux.intel.com>
    
    	Bug 1209 - Move fixed point API in COGL
    
    	* clutter/cogl/cogl-fixed.h:
    	* clutter/cogl/cogl.h.in:
    	* clutter/cogl/common/Makefile.am:
    	* clutter/cogl/common/cogl-fixed.c: Add fixed point API, modelled
    	after the ClutterFixed. The CoglFixed API supercedes the ClutterFixed
    	one and avoids the dependency of COGL on Clutter's own API.
    
    	* clutter/cogl/common/cogl-clip-stack.c:
    	* clutter/cogl/common/cogl-primitives.c:
    	* clutter/cogl/common/cogl-primitives.h: Update internal usage of
    	ClutterFixed to CoglFixed.
    
    	* clutter/cogl/gl/Makefile.am:
    	* clutter/cogl/gl/cogl-primitives.c:
    	* clutter/cogl/gl/cogl-texture.c:
    	* clutter/cogl/gl/cogl.c: Ditto, in the GL implementation of the
    	COGL API.
    
    	* clutter/cogl/gles/Makefile.am:
    	* clutter/cogl/gles/cogl-fbo.c:
    	* clutter/cogl/gles/cogl-gles2-wrapper.c:
    	* clutter/cogl/gles/cogl-primitives.c:
    	* clutter/cogl/gles/cogl-texture.c:
    	* clutter/cogl/gles/cogl.c: Ditto, in the GLES implementation of
    	the COGL API.
    
    	* clutter/pango/pangoclutter-glyph-cache.c:
    	* clutter/pango/pangoclutter-glyph-cache.h: Ditto, in the Pango
    	renderer glyphs cache.
    
    	* clutter/clutter-fixed.c:
    	* clutter/clutter-fixed.h: ClutterFixed and related API becomes
    	a simple transition API for bindings and public Clutter API.
    
    	* clutter/clutter-actor.c:
    	* clutter/clutter-alpha.c:
    	* clutter/clutter-backend.c:
    	* clutter/clutter-behaviour-depth.c:
    	* clutter/clutter-behaviour-ellipse.c:
    	* clutter/clutter-behaviour-path.c:
    	* clutter/clutter-behaviour-rotate.c:
    	* clutter/clutter-behaviour-scale.c:
    	* clutter/clutter-clone-texture.c:
    	* clutter/clutter-color.c:
    	* clutter/clutter-entry.c:
    	* clutter/clutter-stage.c:
    	* clutter/clutter-texture.c:
    	* clutter/clutter-timeline.c:
    	* clutter/clutter-units.h: Move from the internal usage of
    	ClutterFixed to CoglFixed.
    
    	* doc/reference/clutter/clutter-sections.txt:
    	* doc/reference/cogl/cogl-docs.sgml:
    	* doc/reference/cogl/cogl-sections.txt: Update the documentation.
    
    	* tests/test-cogl-tex-tile.c:
    	* tests/test-project.c: Fix tests after the API change
    
    	* README: Add release notes.

 cogl-fixed.h                         |  753 ++++++++++++++++++++++++++++
 cogl.h.in                            |  194 ++++----
 common/Makefile.am                   |    3 +-
 common/cogl-clip-stack.c             |   36 +-
 common/cogl-fixed.c                  |  911 ++++++++++++++++++++++++++++++++++
 common/cogl-primitives.c             |  240 +++++-----
 common/cogl-primitives.h             |    4 +-
 doc/reference/cogl/cogl-docs.sgml    |    1 +
 doc/reference/cogl/cogl-sections.txt |   85 ++++
 gl/Makefile.am                       |    9 +-
 gl/cogl-primitives.c                 |   32 +-
 gl/cogl-texture.c                    |  230 +++++----
 gl/cogl.c                            |  311 ++++++------
 gles/Makefile.am                     |    7 +-
 gles/cogl-fbo.c                      |   12 +-
 gles/cogl-gles2-wrapper.c            |   90 ++--
 gles/cogl-primitives.c               |   36 +-
 gles/cogl-texture.c                  |  206 ++++----
 gles/cogl.c                          |  237 +++++-----
 19 files changed, 2592 insertions(+), 805 deletions(-)

commit 1b619c38432d0fe0f94d11702f27c42e128ed475
Author: Neil Roberts <neil@openedhand.com>
Date:   Wed Oct 29 14:52:48 2008 +0000

    	Bug 1074 - FBOs on GLES
    
    	* clutter/cogl/gles/cogl-fbo.c: Copy the code from gl/cogl-fbo but
    	use the API calls directly instead of loading an extension because
    	it is part of the core in GLES 2.
    
    	* clutter/cogl/gles/cogl.c (_cogl_features_init): Report
    	COGL_FEATURE_OFFSCREEN.
    
    	* clutter/cogl/gles/cogl-fbo.h (CoglFbo): Add gl_stencil_handle.
    
    	* clutter/cogl/gles/cogl-context.h (CoglContext): Add
    	viewport_store
    
    	* tests/test-fbo.c (make_shader): Conditionally use the GLES 2
    	names of the shader variables

 gles/cogl-context.h |    4 +
 gles/cogl-fbo.c     |  354 +++++++++++++++++++++++++++++++++++++--------------
 gles/cogl-fbo.h     |    1 +
 gles/cogl.c         |    2 +-
 4 files changed, 267 insertions(+), 94 deletions(-)

commit 153f5ea73fafe815aa71d01acf863f32dcae1ab9
Author: Neil Roberts <neil@openedhand.com>
Date:   Mon Oct 27 14:36:52 2008 +0000

    	Bug 1189 - Backface culling
    
    	* clutter/cogl/gl/cogl-texture.c (cogl_texture_polygon)
    	(_cogl_texture_quad_sw, _cogl_texture_quad_hw):
    	* clutter/cogl/gles/cogl-texture.c (cogl_texture_polygon)
    	(_cogl_texture_quad_sw, _cogl_texture_quad_hw): Enable backface
    	culling in GL if it is requested.
    
    	* clutter/cogl/gles/cogl-texture.c (_cogl_texture_quad_sw)
    	(_cogl_texture_quad_hw):
    	* clutter/cogl/gl/cogl-texture.c (_cogl_texture_quad_sw)
    	(_cogl_texture_quad_hw): Reorder the
    	vertices so that they are counter-clockwise.
    
    	* clutter/cogl/gles/cogl-context.h (CoglContext):
    	* clutter/cogl/gl/cogl-context.h (CoglContext): Added a flag to
    	store whether backface culling is currently enabled.
    
    	* clutter/cogl/gles/cogl.c (cogl_enable_backface_culling):
    	* clutter/cogl/gl/cogl.c (cogl_enable_backface_culling): New
    	function
    
    	* doc/reference/cogl/cogl-sections.txt: Add
    	cogl_enable_backface_culling

 cogl.h.in                            |   12 +++++++
 doc/reference/cogl/cogl-sections.txt |    1 +
 gl/cogl-context.h                    |    2 +
 gl/cogl-internal.h                   |    1 +
 gl/cogl-texture.c                    |   58 +++++++++++++++++++++-------------
 gl/cogl.c                            |   12 +++++++
 gles/cogl-context.h                  |    2 +
 gles/cogl-internal.h                 |    1 +
 gles/cogl-texture.c                  |   51 +++++++++++++++++------------
 gles/cogl.c                          |   14 +++++++-
 10 files changed, 110 insertions(+), 44 deletions(-)

commit c8b4de2d6db453dffeb3898bb052a457bbed3141
Author: Neil Roberts <neil@openedhand.com>
Date:   Mon Oct 27 12:39:22 2008 +0000

    	Bug 1196 - Texture border drawing problems
    
    	* clutter/cogl/gl/cogl-texture.c (_cogl_texture_upload_subregion_to_gl)
    	(_cogl_texture_upload_to_gl):
    
    	* clutter/cogl/gles/cogl-texture.c (_cogl_texture_upload_to_gl)
    	(_cogl_texture_upload_subregion_to_gl):
    
    	When uploading data to a sliced texture, fill the waste pixels
    	with copies of the edge of the real texture data. Otherwise the
    	value of the waste pixels are undefined so it will show artifacts
    	when the texture is scaled with GL_LINEAR and the pixels are
    	blended in.

 gl/cogl-texture.c   |  219 ++++++++++++++++++++++++++++++++++++++++++++++++---
 gles/cogl-texture.c |  207 +++++++++++++++++++++++++++++++++++++++++++++---
 2 files changed, 402 insertions(+), 24 deletions(-)

commit ae1a4a6a30047a5f210a72cf3b40f4b2eb1ff24f
Author: Neil Roberts <neil@openedhand.com>
Date:   Mon Oct 20 15:54:17 2008 +0000

    	Bug 1043 - COGL calls glTexSubImage2D() with out-of-bounds
    	values (SIGSEGV)
    
    	* clutter/cogl/gl/cogl-texture.c
    	(_cogl_texture_upload_subregion_to_gl): When iterating over the
    	slices, discard ones that don't intersect immediatly otherwise it
    	will call glTexSubImage2D with a negative width/height and then
    	move the source position incorrectly. Thanks to Gwenole
    	Beauchesne.

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

commit 238e9c3a1a72f93e4669f97cd8217295d1d509a7
Author: Neil Roberts <neil@openedhand.com>
Date:   Thu Sep 18 13:16:15 2008 +0000

    	Bug 1048 - SIGFPE in cogl_texture_set_region() with nvidia
    
    	* clutter/cogl/gl/cogl-texture.c (cogl_texture_set_region):
    	* clutter/cogl/gles/cogl-texture.c (cogl_texture_set_region):
    	Don't attempt to upload any data if the width or height of the
    	subregion is zero. Thanks to Gwenole Beauchesne.

 gl/cogl-texture.c   |    4 ++++
 gles/cogl-texture.c |    4 ++++
 2 files changed, 8 insertions(+), 0 deletions(-)

commit 3ae77fbfb7b58592ecd93f79597578d612a21638
Author: Neil Roberts <neil@openedhand.com>
Date:   Thu Sep 18 11:24:27 2008 +0000

    	Bug 1044 - cogl_get_viewport error
    
    	* clutter/cogl/gles/cogl.c (cogl_get_viewport): Use glGetIntegerv
    	instead of glGetFixedv to read the viewport because the latter
    	converts incorrectly on some hardware.

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

commit 6d07be1179bc19e53d2a5796bd90b1800397115f
Author: Emmanuele Bassi <ebassi@openedhand.com>
Date:   Wed Aug 27 12:56:54 2008 +0000

    2008-08-27  Emmanuele Bassi  <ebassi@openedhand.com>
    
    	Bug 1082 - Texture bitmap is destroyed in wrong way
    
    	* clutter/cogl/common/cogl-bitmap-pixbuf.c:
    	(_cogl_bitmap_from_file): Make a copy of the pixbuf data in
    	the internal image loader so that we can keep working under
    	the assumption that we are using the GLib memory allocation
    	and deallocation functions.

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

commit ef76d8e5e2243079126fd98c5425b11aa512094c
Author: Neil Roberts <neil@openedhand.com>
Date:   Fri Aug 1 12:23:57 2008 +0000

    	Bug 945 - Clipping+fbo cloning bugs
    
    	* clutter/cogl/gl/cogl.c:
    	* clutter/cogl/gles/cogl.c:
    	* clutter/cogl/cogl.h.in: Add cogl_clip_stack_save,
    	cogl_clip_stack_restore, cogl_viewport and cogl_frustum.
    
    	* clutter/cogl/gl/cogl-fbo.h:
    	* clutter/cogl/gl/cogl-fbo.c: Try to attach a stencil buffer when
    	creating an FBO.
    
    	* clutter/cogl/common/cogl-clip-stack.c: Add functions to save and
    	restore the whole state of the stack.
    
    	* clutter/clutter-texture.c (clutter_texture_paint): When
    	rendering the FBO source, setup a temporary asymmetric perspective
    	projection matrix to render it as it would appear on screen.
    
    	* clutter/clutter-private.h:
    	* clutter/clutter-actor.c
    	(_clutter_actor_apply_modelview_transform_recursive): No longer
    	static and exported in clutter-private.h

 cogl.h.in                            |   60 ++++++++++++++++++++++++++++-
 common/cogl-clip-stack.c             |   70 +++++++++++++++++++++++++++++----
 common/cogl-clip-stack.h             |    5 --
 doc/reference/cogl/cogl-sections.txt |    4 ++
 gl/cogl-context.h                    |    1 +
 gl/cogl-fbo.c                        |   48 +++++++++++++++++++----
 gl/cogl-fbo.h                        |    1 +
 gl/cogl.c                            |   67 ++++++++++++++++++++++++++++++--
 gles/cogl-gles2-wrapper.c            |   25 ++++++++++++
 gles/cogl-gles2-wrapper.h            |    4 ++
 gles/cogl.c                          |   55 ++++++++++++++++++++++++--
 11 files changed, 307 insertions(+), 33 deletions(-)

commit 88a561fa01048133b7462ba3cfca882016524ef2
Author: Ross Burton <ross@openedhand.com>
Date:   Wed Jul 30 09:17:57 2008 +0000

    2008-07-30  Ross Burton  <ross@openedhand.com>
    
    	* clutter/version.xml.in:
    	* cogl/version.xml.in:
    	Remove trailing newline as it upsets Devhelp

 doc/reference/cogl/version.xml.in |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 0064738678809178a89c5a1766b4973467c6455c
Author: Neil Roberts <neil@openedhand.com>
Date:   Mon Jul 14 19:22:17 2008 +0000

    	* clutter/cogl/common/cogl-primitives.c (cogl_path_rel_curve_to):
    	Fixed a typo in the second parameter which meant the curve was
    	drawn incorrectly.

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

commit 5972e9db45cdf6cbfb10ec4f2ef78567f1fc754a
Author: Matthew Allum <mallum@openedhand.com>
Date:   Thu Jul 10 16:19:09 2008 +0000

    008-07-10  Matthew Allum  <mallum@openedhand.com>
    
            * clutter/cogl/gles/cogl-fbo.c:
            * clutter/cogl/gles/cogl-texture.c:
            Fix warnings with eglnative build

 gles/cogl-fbo.c     |    2 ++
 gles/cogl-texture.c |   50 --------------------------------------------------
 2 files changed, 2 insertions(+), 50 deletions(-)

commit 08cd119902d9be64a34200044551e97659352198
Author: Øyvind Kolås <pippin@openedhand.com>
Date:   Thu Jul 3 09:49:06 2008 +0000

    * clutter/cogl/common/cogl-bitmap-pixbuf.c:
    (_cogl_bitmap_from_file): removed debug g_printf that announces each
    successful image load done by the internal image backend.

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

commit c4ca5e3e49894fef72f3186a23de5b7c49482442
Author: Emmanuele Bassi <ebassi@openedhand.com>
Date:   Tue Jul 1 10:15:07 2008 +0000

    2008-07-01  Emmanuele Bassi  <ebassi@openedhand.com>
    
    	* cogl/cogl-docs.sgml: Add an index to the COGL API reference
    	and the licensing information.

 doc/reference/cogl/cogl-docs.sgml |   48 +++++++++++++++++++++++++++++++++---
 1 files changed, 44 insertions(+), 4 deletions(-)

commit add02e70a3fd74d8e161ad253dfc077959de024a
Author: Neil Roberts <neil@openedhand.com>
Date:   Mon Jun 30 16:15:53 2008 +0000

    	Bug 985 - MSC math.h / M_PI issue
    
    	* clutter/cogl/gl/cogl.c (set_clip_plane):
    	* clutter/clutter-alpha.c (sinc_func): Use G_PI instead of M_PI
    	because M_PI isn't defined in MSVC without a special
    	#define. Thanks to Haakon Sporsheim

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

commit 1ec582becb070a37ea7dcd834d86f8521ad5ad63
Author: Emmanuele Bassi <ebassi@openedhand.com>
Date:   Mon Jun 30 14:20:46 2008 +0000

    2008-06-30  Emmanuele Bassi  <ebassi@openedhand.com>
    
    	Bug 980 - cogl-bitmap-fallback.c compiler error/warning due to
    	          cast issue (Haakon Sporsheim)
    
    	* clutter/cogl/common/cogl-bitmap-fallback.c:
    	(_cogl_unpremult_alpha_last),
    	(_cogl_unpremult_alpha_first): Cast to avoid a compiler warning
    	with MSC.

 common/cogl-bitmap-fallback.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

commit 2666778c26c221bf68752e2c6a1bcb22975a4c7f
Author: Matthew Allum <mallum@openedhand.com>
Date:   Fri Jun 27 23:02:30 2008 +0000

    2008-06-27  Matthew Allum  <mallum@openedhand.com>
    
    * clutter/cogl/gl/cogl.c:
            Temp workaround for 10.4 ATI card OSX folks, see #929
            (Tommi Komulainen)
    
            Bug 998 - clutter always captures X input events
    
    * clutter/eglx/clutter-stage-egl.c:
            * clutter/glx/clutter-stage-glx.c:
    When we disable X event retrival, dont still select for window
    events.

 gl/cogl.c |   31 ++++++++++++++++++++++++++++++-
 1 files changed, 30 insertions(+), 1 deletions(-)

commit cbd77008ff02787320d47003767390f2fe5d7f97
Author: Neil Roberts <neil@openedhand.com>
Date:   Tue Jun 24 16:21:40 2008 +0000

    	* clutter/cogl/gles/cogl-gles2-wrapper.h:
    	* clutter/cogl/gles/cogl-gles2-wrapper.c: All of the settings and
    	uniforms are now proxied into COGL variables instead of setting
    	the GL uniforms directly. Just before glDrawArrays is executed a
    	shader is generated using the given settings to avoid using 'if'
    	statements. The shaders are cached.
    
    	* clutter/cogl/gles/cogl-fixed-vertex-shader.glsl:
    	* clutter/cogl/gles/cogl-fixed-fragment-shader.glsl: The shaders
    	are now split into parts using comments instead of 'if' statements
    	so that the simplest shader can be generated on the fly.
    
    	* clutter/cogl/gles/stringify.sh: Now splits up the shader sources
    	into separate C strings where deliminated by special comments.
    
    	* clutter/cogl/gles/cogl-program.h:
    	* clutter/cogl/gles/cogl-program.c: A custom shader can no longer
    	be directly linked with the fixed-functionality replacement
    	because the replacement changes depending on the settings. Instead
    	the bound shader is linked with the appropriate replacement shader
    	just before glDrawArrays is executed. The custom uniform variables
    	must also be proxied through COGL variables because their location
    	can change when relinked.

 gles/cogl-fixed-fragment-shader.glsl |  116 +++----
 gles/cogl-fixed-vertex-shader.glsl   |   50 ++--
 gles/cogl-gles2-wrapper.c            |  594 +++++++++++++++++++++++++++-------
 gles/cogl-gles2-wrapper.h            |  110 ++++++--
 gles/cogl-program.c                  |  152 ++++-----
 gles/cogl-program.h                  |   10 +-
 gles/stringify.sh                    |   19 +-
 7 files changed, 719 insertions(+), 332 deletions(-)

commit d12cfb39ba30c59220c0a0c4664357b54a2ff955
Author: Matthew Allum <mallum@openedhand.com>
Date:   Tue Jun 24 10:38:18 2008 +0000

    2008-06-24  Matthew Allum  <mallum@openedhand.com>
    
            * cogl/Makefile.am:
            * cogl/cogl-docs.sgml:
            * cogl/version.xml.in
    * clutter/version.xml.in
            Add full version (including minor) to docs.
            Add version to COGL docs

 doc/reference/cogl/Makefile.am    |    4 ++--
 doc/reference/cogl/cogl-docs.sgml |   10 ++++++----
 doc/reference/cogl/version.xml.in |    1 +
 3 files changed, 9 insertions(+), 6 deletions(-)

commit 9cc9f750b8032f3de3038f4b65276cfc67220ea4
Author: Emmanuele Bassi <ebassi@openedhand.com>
Date:   Mon Jun 23 16:43:49 2008 +0000

    Fixes for distcheck

 common/Makefile.am |   21 +++++++++++----------
 1 files changed, 11 insertions(+), 10 deletions(-)

commit 7c69ca2997a7efa9b7c94e962790dcae3fa2790c
Author: Neil Roberts <neil@openedhand.com>
Date:   Mon Jun 23 14:57:36 2008 +0000

    	Bug 918 - Group doesn't clip if it's children are clipped
    
    	* clutter/cogl/common/cogl-clip-stack.h:
    	* clutter/cogl/common/cogl-clip-stack.c: Added functions to
    	maintain a stack of clipping rectangles.
    
    	* clutter/cogl/gles/cogl.c:
    	* clutter/cogl/gl/cogl.c: The cogl_clip_set and unset functions
    	have moved into cogl-clip-stack.c which calls back to cogl.c to
    	set the actual rectangles. Multiple clip rectangles are combined
    	by merging the stencil buffers.
    
    	* clutter/cogl/gles/cogl-primitives.c (_cogl_path_fill_nodes):
    	* clutter/cogl/gl/cogl-primitives.c (_cogl_path_fill_nodes): Merge
    	the stencil buffer with the contents of the clipping stack after
    	drawing the path.
    
    	* clutter/cogl/gles/cogl-context.h (CoglContext):
    	* clutter/cogl/gl/cogl-context.h (CoglContext): Store the number
    	of available stencil bits.
    
    	* clutter/cogl/common/Makefile.am
    	(libclutter_cogl_common_la_SOURCES): Added cogl-clip-stack.c

 common/Makefile.am       |    3 +-
 common/cogl-clip-stack.c |  180 +++++++++++++++++++++++++
 common/cogl-clip-stack.h |   37 +++++
 gl/cogl-context.h        |    1 +
 gl/cogl-primitives.c     |   19 ++-
 gl/cogl.c                |  326 ++++++++++++++++++++++++++++++++++++----------
 gles/cogl-context.h      |    1 +
 gles/cogl-primitives.c   |   17 ++-
 gles/cogl.c              |  292 +++++++++++++++++++++++++++++++++---------
 9 files changed, 735 insertions(+), 141 deletions(-)

commit 76b5a93afa995085ed0faab2f84909c85096b0e0
Author: Emmanuele Bassi <ebassi@openedhand.com>
Date:   Mon Jun 23 11:01:30 2008 +0000

    2008-06-23  Emmanuele Bassi  <ebassi@openedhand.com>
    
    	Bug 982 - __COGL_GET_CONTEXT MS compiler issue (Haakon Sporsheim)
    
    	* clutter/cogl/common/cogl-handle.h:
    	* clutter/cogl/common/cogl-primitives.c: Remove C99-isms.
    
    	* clutter/cogl/gl/cogl-fbo.c:
    	* clutter/cogl/gl/cogl-primitives.c:
    	* clutter/cogl/gl/cogl-texture.c:
    	* clutter/cogl/gl/cogl.c: Ditto as above.
    
    	* clutter/cogl/gles/cogl-fbo.c:
    	* clutter/cogl/gles/cogl-primitives.c:
    	* clutter/cogl/gles/cogl-texture.c: Ditto as above.

 common/cogl-handle.h     |   12 ++++++------
 common/cogl-primitives.c |   13 +++++++------
 gl/cogl-fbo.c            |   26 +++++++++++++-------------
 gl/cogl-primitives.c     |    8 ++++----
 gl/cogl-texture.c        |   14 ++++++--------
 gl/cogl.c                |    4 ++--
 gles/cogl-fbo.c          |    4 ++--
 gles/cogl-primitives.c   |   16 ++++++++--------
 gles/cogl-texture.c      |   24 +++++++++++-------------
 9 files changed, 59 insertions(+), 62 deletions(-)

commit d5a2697d6f7d0234c43db2a0c3ec81677819a82c
Author: Matthew Allum <mallum@openedhand.com>
Date:   Mon Jun 16 16:31:08 2008 +0000

    2008-06-16  Matthew Allum  <mallum@openedhand.com>
    
            * cogl/cogl-docs.sgml:
            Add an intro.

 doc/reference/cogl/cogl-docs.sgml |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

commit c468bdb564815546c0e74bf9f31f0f5af2e70838
Author: Matthew Allum <mallum@openedhand.com>
Date:   Sat Jun 14 22:07:23 2008 +0000

    Revert miscommit of unfinished cogl changes in r2920

 gl/cogl-defines.h.in |    2 -
 gl/cogl-texture.c    |   73 +++-----------------------------------------------
 gl/cogl-texture.h    |    1 -
 3 files changed, 4 insertions(+), 72 deletions(-)

commit 6fe15aefb0c67c6edc5cbe53a6b166c5f89cb0ad
Author: Matthew Allum <mallum@openedhand.com>
Date:   Fri Jun 13 23:03:45 2008 +0000

    2008-06-14  Matthew Allum  <mallum@openedhand.com>
    
            * README:
            Make needed GL version 1.4, note GLES2 support, add some notes
            for COGL.

 gl/cogl-defines.h.in |    2 +
 gl/cogl-texture.c    |   73 +++++++++++++++++++++++++++++++++++++++++++++++---
 gl/cogl-texture.h    |    1 +
 3 files changed, 72 insertions(+), 4 deletions(-)

commit 042cee7a5b136771c5504b7b4898cd9f48d1099b
Author: Emmanuele Bassi <ebassi@openedhand.com>
Date:   Thu Jun 12 17:21:16 2008 +0000

    2008-06-12  Emmanuele Bassi  <ebassi@openedhand.com>
    
    	* doc/reference/cogl/Makefile.am: Ignore cogl/gl and cogl/gles
    	when building the documentation.
    
    	* clutter/cogl/cogl.h.in: Add sections in the header file.

 cogl.h.in                      |   40 ++++++++++++++++++++++++++++++++++++++--
 doc/reference/cogl/Makefile.am |    4 +++-
 2 files changed, 41 insertions(+), 3 deletions(-)

commit 57bf6593f0cde5700fa9b8893a28b918a2925ec8
Author: Chris Lord <chris@openedhand.com>
Date:   Tue Jun 10 10:05:12 2008 +0000

            * clutter/cogl/common/cogl-primitives.c: (_cogl_path_arc):
            Draw as expected when end angle is lower than start angle (i.e. do not
            swap the angles). This aligns with cairo behaviour.

 common/cogl-primitives.c |   34 +++++++++++++++++++++++++---------
 1 files changed, 25 insertions(+), 9 deletions(-)

commit 5bd37a1113a7d20560149bce0102b5361a19d451
Author: Tommi Komulainen <tommi.komulainen@iki.fi>
Date:   Mon Jun 9 21:15:12 2008 +0000

    cogl: add support for quartz imagebackend
    
    	Bug #930 - add support for quartz imagebackend
    
    	* clutter/cogl/common/cogl-bitmap-pixbuf.c
    	(_cogl_bitmap_from_file): When USE_QUARTZ is defined implement
    	using Core Graphics.
    	* configure.ac: support --with-imagebackend=quartz and print
    	which imagebackend is selected. Make quartz default on OSX

 common/cogl-bitmap-pixbuf.c |  114 ++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 112 insertions(+), 2 deletions(-)

commit bbf536ac41b5d6d88b122a1e08b04957520ca7a3
Author: Chris Lord <chris@openedhand.com>
Date:   Mon Jun 9 16:38:19 2008 +0000

            * cogl/cogl-sections.txt:
            Add missing cogl_path_arc

 doc/reference/cogl/cogl-sections.txt |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit f3b121ac96f1fdff2cdee44c2c38d88ef06532ba
Author: Øyvind Kolås <pippin@openedhand.com>
Date:   Mon Jun 9 16:14:06 2008 +0000

    * clutter/cogl/common/cogl-primitives.c: (cogl_path_rel_curve_to):
    fixed naming of implementation of cogl_path_rel_curve_to (it was
    called just cogl_rel_curve_to).

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

commit 2911fc03db02b9606b4e31ad0e173b8778e99383
Author: Neil Roberts <neil@openedhand.com>
Date:   Fri Jun 6 14:21:22 2008 +0000

    	* clutter/eglnative/clutter-stage-egl.c
    	(clutter_stage_egl_realize): Use ES 2 renderable type when
    	building for GLES 2.
    
    	* clutter/eglnative/clutter-event-egl.c (get_backend_time): Added
    	a NULL for the microseconds parameter of g_timer_elapsed.
    
    	* clutter/eglnative/clutter-stage-egl.h:
    	* clutter/eglnative/clutter-egl.h:
    	* clutter/eglnative/clutter-backend-egl.h: Include
    	clutter-egl-headers.h instead of including the GL headers directly
    	so it can include gl2.h when building for GLES 2.
    
    	* clutter/eglnative/clutter-egl-headers.h:
    	* clutter/eglnative/Makefile.am (libclutter_eglnative_la_SOURCES):
    	Added clutter-egl-headers.h
    
    	* clutter/cogl/gles/cogl-fixed-fragment-shader.glsl: GLES 2
    	doesn't provide a default precision for floats in the fragment
    	shader and it will reject the shader if there isn't one.

 gles/cogl-fixed-fragment-shader.glsl |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

commit 04845aa9c9960cbb0673a70a36291ac84090d5de
Author: Matthew Allum <mallum@openedhand.com>
Date:   Fri Jun 6 13:44:22 2008 +0000

    2008-06-06  Matthew Allum  <mallum@openedhand.com>
    
            Bug #948 - Remove texture rectangle support
    
            * clutter/clutter-feature.c:
            * clutter/clutter-feature.h:
            * clutter/clutter-texture.c:
            * clutter/cogl/gl/cogl.c:
    * clutter/glx/clutter-glx-texture-pixmap.c:
            Remove support for GL_TEXTURE_RECTANGLE_ARB (now using just regular
            2D textures, with optional npots extension). Simplifys code, + makes
            mipmap & shader support much more sane.

 gl/cogl-texture.c |   69 +++++++----------------------------------------------
 gl/cogl.c         |   13 ----------
 2 files changed, 9 insertions(+), 73 deletions(-)

commit 1ee75faaa4aa604db23509416c64b948fa2957a5
Author: Øyvind Kolås <pippin@openedhand.com>
Date:   Fri Jun 6 12:53:35 2008 +0000

    * clutter/cogl/common/cogl-bitmap-pixbuf.c:
    (_cogl_bitmap_from_file): allocate height×rowstride and not duplicate
    gdkpixbuf's strange optimization saving some bytes at the end of the
    pixbuf.

 common/cogl-bitmap-pixbuf.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

commit 93abcf9595247696235131b4bf21e9053f872b9e
Author: Tommi Komulainen <tommi.komulainen@iki.fi>
Date:   Thu Jun 5 21:40:59 2008 +0000

    cogl: define GL_READ/DRAW_FRAMEBUFFER_EXT if not available
    
    	Bug 913 - cogl fails to build on OSX
    
    	* clutter/cogl/gl/cogl-fbo.c: define GL_READ_FRAMEBUFFER_EXT and
    	GL_DRAW_FRAMEBUFFER_EXT if not defined in the build system. The
    	#ifdef can fail if they're not #defines but variables or enums.
    	As the values are supposed to be industry standard even then
    	it shouldn't have ill effects.

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

commit e306b0135cd9fc4e5b03e1f6a89199c68e60bfbd
Author: Neil Roberts <neil@openedhand.com>
Date:   Mon Jun 2 12:34:10 2008 +0000

    	Applied 'final patch' from bug #874
    
    	* clutter/cogl/gles/cogl.c:
    	* clutter/cogl/gl/cogl.c: The clip planes are now set using the
    	inverse projection matrix as the modelview matrix so that they can
    	be specified in screen coordinates.
    
    	* clutter/cogl/gles/cogl-context.h (CoglContext):
    	* clutter/cogl/gl/cogl-context.h (CoglContext): Added a member to
    	cache the inverse projection matrix
    
    	* clutter/clutter-fixed.h: Added a constant for converting from
    	radians to degrees.
    
    	* clutter/clutter-fixed.c (clutter_atani, clutter_atan2i): Added
    	fixed-point versions of atan and atan2.
    
    	* tests/test-clip.c: Added a test for clipping with various
    	rotations and depths.
    
    	* tests/Makefile.am (noinst_PROGRAMS): Added test-clip

 gl/cogl-context.h   |    3 +
 gl/cogl.c           |  139 +++++++++++++++++++++++++++++++++++++++++++++------
 gles/cogl-context.h |    3 +
 gles/cogl.c         |  132 +++++++++++++++++++++++++++++++++++++++++++-----
 4 files changed, 248 insertions(+), 29 deletions(-)

commit 165531074bf76ad4a6b8f5d043b702dfa251cd97
Author: Neil Roberts <neil@openedhand.com>
Date:   Mon Jun 2 10:58:57 2008 +0000

    	* clutter/cogl/gles/cogl-gles2-wrapper.h: The uniform numbers are
    	now stored in a separate struct so they can be stored for
    	application program objects as well.
    
    	* clutter/cogl/gles/cogl.c: Moved stub shader functions into
    	separate files.
    	(_cogl_features_init): Report support for the shaders feature on
    	GLES 2
    
    	* clutter/cogl/gles/cogl-shader.h:
    	* clutter/cogl/gles/cogl-shader.c:
    	* clutter/cogl/gles/cogl-program.h:
    	* clutter/cogl/gles/cogl-program.c: Separate files to handle
    	shaders on programs on GLES. If version 1.1 is being used then the
    	stub functions which all fail are still used.
    
    	* clutter/cogl/gles/cogl-gles2-wrapper.c
    	(cogl_gles2_wrapper_init, cogl_gles2_wrapper_bind_attributes),
    	(cogl_gles2_wrapper_get_uniforms): Move the uniforms and attribute
    	bindings into a separate function so they can be used to bind on
    	application shaders as well.
    	(cogl_gles2_wrapper_update_matrix): Now takes a parameter and is
    	no longer static so that it can be used to update all of the
    	matrices when a new shader is bound.
    
    	* clutter/cogl/gles/cogl-defines.h.in: Use GL_COMPILE_STATUS for
    	CGL_OBJECT_COMPILE_STATUS if the latter isn't available (for
    	example on GLES 2).
    
    	* clutter/cogl/gles/cogl-context.h (CoglContext): Added handle
    	arrays for programs and shaders.
    
    	* clutter/cogl/gles/cogl-context.c (cogl_create_context)
    	(cogl_destroy_context): Initialize and destroy program and shader
    	handle array.
    
    	* clutter/cogl/gles/Makefile.am (libclutter_cogl_la_SOURCES): Add
    	cogl-{shader,program}.{c,h}

 gles/Makefile.am          |    6 +-
 gles/cogl-context.c       |   11 ++
 gles/cogl-context.h       |    4 +
 gles/cogl-defines.h.in    |    6 +-
 gles/cogl-gles2-wrapper.c |  144 ++++++++++++++-----------
 gles/cogl-gles2-wrapper.h |   27 ++++-
 gles/cogl-program.c       |  257 +++++++++++++++++++++++++++++++++++++++++++++
 gles/cogl-program.h       |   50 +++++++++
 gles/cogl-shader.c        |  184 ++++++++++++++++++++++++++++++++
 gles/cogl-shader.h        |   40 +++++++
 gles/cogl.c               |  107 +------------------
 11 files changed, 661 insertions(+), 175 deletions(-)

commit 46be48f8f6c82ee0704fda02567dafab3dc893c0
Author: Neil Roberts <neil@openedhand.com>
Date:   Mon Jun 2 09:35:43 2008 +0000

    	* clutter/cogl/gl/cogl-context.c (cogl_destroy_context): Fix
    	cut-and-paste error where the wrong arrays were being freed.

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

commit 559495caf71ba38b38950750e0a3c094b61b8ed3
Author: Neil Roberts <neil@openedhand.com>
Date:   Thu May 29 13:29:04 2008 +0000

    	* clutter/cogl/gles/cogl-gles2-wrapper.h (CoglGles2Wrapper): Added
    	uniforms for alpha testing.
    
    	* clutter/cogl/gles/cogl-gles2-wrapper.c
    	(cogl_gles2_wrapper_init): Get the uniforms for alpha testing
    	settings.
    	(cogl_wrap_glEnable, cogl_wrap_glDisable): Enable/disable alpha
    	testing.
    	(cogl_wrap_glAlphaFunc): Filled in the wrapper.
    
    	* clutter/cogl/gles/cogl-fixed-fragment-shader.glsl: Added alpha
    	testing.
    
    	* clutter/cogl/gles/cogl-gles2-wrapper.h:
    	* clutter/cogl/gles/cogl-gles2-wrapper.c
    	(cogl_wrap_glGetIntegerv): Added a wrapper for glGetIntegerv so
    	that it can report zero clip planes.
    
    	* clutter/cogl/gles/cogl.c:
    	* clutter/cogl/gles/cogl-texture.c: Use the wrapped version of
    	glGetIntegerv
    
    	* clutter/cogl/gles/cogl-primitives.c (_cogl_path_fill_nodes): Use
    	_cogl_features_available to check for the stencil buffer instead
    	of an #ifdef. The stencil buffer is available in the default
    	profile for the GLES 2 simulator.

 gles/cogl-fixed-fragment-shader.glsl |   51 +++++
 gles/cogl-gles2-wrapper.c            |   46 +++++-
 gles/cogl-gles2-wrapper.h            |    6 +
 gles/cogl-primitives.c               |  338 +++++++++++++++++-----------------
 gles/cogl-texture.c                  |   10 +-
 gles/cogl.c                          |   12 +-
 6 files changed, 283 insertions(+), 180 deletions(-)

commit 38c9d46a0e80f71218855fa9d58c98df981a6000
Author: Neil Roberts <neil@openedhand.com>
Date:   Wed May 28 17:14:17 2008 +0000

        	* clutter/cogl/gles/cogl-gles2-wrapper.c
        	(cogl_gles2_wrapper_init): Get uniforms for fog parameters and
        	initialise them.
        	(cogl_wrap_glDrawArrays): Store the modelview matrix in a uniform
        	as well so that it can be used for fogging calculations.
        	(cogl_wrap_glEnable, cogl_wrap_glDisable): Enable/disable fogging.
        	(cogl_wrap_glFogx, cogl_wrap_glFogxv): Fill in wrapper to set
        	fogging parameters.
    
        	* clutter/cogl/gles/cogl-fixed-vertex-shader.glsl: Calculate the
        	fog amount if fogging is enabled.
    
        	* clutter/cogl/gles/cogl-fixed-fragment-shader.glsl: Mix with fog
        	color.
    
        	* clutter/cogl/gles/cogl-gles2-wrapper.h (CoglGles2Wrapper): Add
        	uniforms for fogging.

 gles/cogl-fixed-fragment-shader.glsl |   13 +++++-
 gles/cogl-fixed-vertex-shader.glsl   |   48 ++++++++++++++++++++---
 gles/cogl-gles2-wrapper.c            |   69 ++++++++++++++++++++++++++++++++--
 gles/cogl-gles2-wrapper.h            |    8 ++++
 4 files changed, 125 insertions(+), 13 deletions(-)

commit fe1c9db0116365aa8c5ee3a2c7308460e6bc23af
Author: Neil Roberts <neil@openedhand.com>
Date:   Wed May 28 13:17:03 2008 +0000

    	* clutter/cogl/gles/Makefile.am: Use old-style Makefile rules for
    	the stringify script so that automake won't complain.

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

commit afe17c50a4fa441915c4f60d628a37b48335ffb9
Author: Neil Roberts <neil@openedhand.com>
Date:   Wed May 28 11:29:58 2008 +0000

    	* clutter/cogl/gles/cogl-gles2-wrapper.c (cogl_wrap_glGetFixedv):
    	Filled in the wrapper for glGetFixedv

 gles/cogl-gles2-wrapper.c |   34 +++++++++++++++++++++++++++++++++-
 1 files changed, 33 insertions(+), 1 deletions(-)

commit 49752b06d388587e0740d3c6cec827718261aa3c
Author: Neil Roberts <neil@openedhand.com>
Date:   Wed May 28 10:47:21 2008 +0000

    	* clutter/cogl/gles/cogl-texture.c: Use the wrapper for
    	glTexParameteri. Call glGenerateMipmap after every change to the
    	texture image data.
    
    	* clutter/cogl/gles/cogl-gles2-wrapper.h:
    	* clutter/cogl/gles/cogl-gles2-wrapper.c: Added a wrapper for
    	glTexParameteri so that it can ignore requests to set
    	GL_GENERATE_MIPMAP. Added a wrapper for glGenerateMipmap that does
    	nothing on GLES 1

 gles/cogl-gles2-wrapper.c |    7 +++++++
 gles/cogl-gles2-wrapper.h |   10 ++++++++++
 gles/cogl-texture.c       |   33 ++++++++++++++++++++++++---------
 3 files changed, 41 insertions(+), 9 deletions(-)

commit f177aedcffbf139c77820f1b981a77ca96a2838e
Author: Neil Roberts <neil@openedhand.com>
Date:   Tue May 27 17:42:50 2008 +0000

    	GLES 2 backend
    
    	* clutter/eglx/clutter-stage-egl.h:
    	* clutter/eglx/clutter-egl-headers.h:
    	* clutter/eglx/clutter-backend-egl.h:
    	* clutter/eglx/Makefile.am: Include the GLES and EGL headers via
    	clutter-egl-headers.h so that the right version can be used
    	depending on whether the GLES 2 wrapper is being used.
    
    	* configure.ac: Added an automake conditional for whether the GLES
    	2 wrapper should be used.
    
    	* clutter/eglx/clutter-stage-egl.c (clutter_stage_egl_realize):
    	Remove the call to glGetIntegerv to get the max texture size. It
    	was being called before the GL context was bound so it didn't work
    	anyway and it was causing trouble for the GLES 2 simulator.
    
    	* clutter/cogl/gles/stringify.sh: Shell script to convert the
    	shaders into a C string.
    
    	* clutter/cogl/gles/cogl-gles2-wrapper.h:
    	* clutter/cogl/gles/cogl-gles2-wrapper.c: Wrappers for most of the
    	missing GL functions in GLES 2.
    
    	* clutter/cogl/gles/cogl-fixed-fragment-shader.glsl:
    	* clutter/cogl/gles/cogl-fixed-vertex-shader.glsl: New shaders for
    	GLES 2
    
    	* clutter/cogl/gles/cogl-defines.h.in: Use the @CLUTTER_GL_HEADER@
    	macro instead of always using the GLES 1 header.
    
    	* clutter/cogl/gles/cogl-context.h (CoglContext): Include a field
    	for the state of the GLES 2 wrapper.
    
    	* clutter/cogl/gles/cogl-texture.c:
    	* clutter/cogl/gles/cogl-primitives.c:
    	* clutter/cogl/gles/cogl.c: Use wrapped versions of the GL
    	functions where neccessary.
    
    	* clutter/cogl/gles/Makefile.am: Add sources for the GLES 2
    	wrapper and an extra build step to put the GLSL files into a C
    	string whenever the files change.

 gles/Makefile.am                     |   25 ++-
 gles/cogl-context.c                  |   14 +-
 gles/cogl-context.h                  |    6 +
 gles/cogl-defines.h.in               |    4 +-
 gles/cogl-fixed-fragment-shader.glsl |   29 ++
 gles/cogl-fixed-vertex-shader.glsl   |   26 ++
 gles/cogl-gles2-wrapper.c            |  632 ++++++++++++++++++++++++++++++++++
 gles/cogl-gles2-wrapper.h            |  194 +++++++++++
 gles/cogl-primitives.c               |   24 +-
 gles/cogl-texture.c                  |   78 +++--
 gles/cogl.c                          |  126 ++++----
 gles/stringify.sh                    |   65 ++++
 12 files changed, 1108 insertions(+), 115 deletions(-)

commit e50099a2065bbdf6e38b6c2102908bf04948723f
Author: Emmanuele Bassi <ebassi@openedhand.com>
Date:   Fri May 23 15:23:40 2008 +0000

    2008-05-23  Emmanuele Bassi  <ebassi@openedhand.com>
    
    	Bug #912 - Invalid use of int* as parameter for glGetIntegerv
    
    	* clutter/cogl/gl/cogl.c (_cogl_features_init): Use GLint
    	instead of int. (#912, Tommi Komulainen)

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

commit eccd9399e59daea356c30d66a77e08bf3a07e44c
Author: Neil Roberts <neil@openedhand.com>
Date:   Wed May 21 13:20:33 2008 +0000

    	* clutter/cogl/gl/cogl.c (error_string):
    	* clutter/cogl/gles/cogl.c (error_string): Rename to
    	_cogl_error_string and remove the static scoping so that it can be
    	called in cogl-texture etc.
    
    	* clutter/cogl/gl/cogl-texture.c (cogl_texture_new_from_foreign):
    	* clutter/cogl/gles/cogl-texture.c (cogl_texture_new_from_foreign):
    	GE(*) can't be used to wrap around calls that use the return
    	value.
    
    	* clutter/cogl/gl/cogl-texture.c (_cogl_texture_quad_sw)
    	(_cogl_texture_quad_hw, cogl_texture_polygon): Remove GE(*)
    	wrapper around calls in the middle of a glBegin/glEnd pair which
    	otherwise always generate an error because glGetError can only be
    	called outside of the pair.
    
    	* clutter/cogl/gl/cogl-internal.h: Include stdio.h when definig
    	COGL_DEBUG and declare a prototype for _cogl_error_string.
    
    	* clutter/cogl/gles/cogl-internal.h: Match GE(*) macro to GL
    	version.

 gl/cogl-internal.h   |   16 +++++++++++---
 gl/cogl-texture.c    |   52 +++++++++++++++++++++++++-------------------------
 gl/cogl.c            |    4 +-
 gles/cogl-internal.h |   21 +++++++++++++------
 gles/cogl-texture.c  |    2 +-
 gles/cogl.c          |    4 +-
 6 files changed, 57 insertions(+), 42 deletions(-)

commit 091c79b9ae60c43b0b5e5854261ccc6966264ab4
Author: Ivan Leben <ivan@openedhand.com>
Date:   Wed May 21 10:00:08 2008 +0000

    	* clutter/cogl/gles/cogl-texture.c:
    	(_cogl_texture_download_from_gl:) Only comment out the broken
    	check for framebuffer alpha bits, not the check for alpha in
    	texture format.

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

commit 4cb0d58cebf7a027f1e3d3c91f277a5f315ed30a
Author: Ivan Leben <ivan@openedhand.com>
Date:   Tue May 20 10:37:36 2008 +0000

    	* clutter/cogl/gles/cogl-texture.c:
    	(cogl_texture_download_from_gl:) Implemented a workaround
    	for missing alpha framebuffer channel. There are still
    	some issues with detecting whether alpha is present in the
    	framebuffer. See comments in code. Test-cogl-tex-getset now
    	successfully retrieves a RGBA texture image data.

 gles/cogl-texture.c |  276 ++++++++++++++++++++++++++++++++-------------------
 1 files changed, 172 insertions(+), 104 deletions(-)

commit 006573ac61bc32e2d46a8146358c56392abe8536
Author: Ivan Leben <ivan@openedhand.com>
Date:   Mon May 19 15:21:56 2008 +0000

    	* clutter/cogl/gles/cogl-texture.c:
    	(cogl_texture_download_from_gl:) Store old blending factors
    	and restore them when done. The lack of ability to retrieve
    	the alpha channel now more noticable in test-cogl-tex-getset
    	since the edges of the hand are not antialiased.
    
    	* clutter/cogl/gl(es)/cogl-internal.h: Declare
    	cogl_blend_func to avoid "implicit implementation" compile
    	warning.

 gl/cogl-internal.h   |    4 ++++
 gles/cogl-internal.h |    4 ++++
 gles/cogl-texture.c  |   11 +++++++++--
 3 files changed, 17 insertions(+), 2 deletions(-)

commit d049d9ead4c5174d99fd506ee3f5ea256f248d90
Author: Ivan Leben <ivan@openedhand.com>
Date:   Mon May 19 15:02:27 2008 +0000

    	* clutter/cogl/gl(es)/cogl.c: New internal function
    	cogl_blend_func caches blending setup much like cogl_enable
    	does with the enable flags. This separates blending factors
    	setup from the enable/disable operation in preparation of
    	the texture image retrieval fix for alpha channel on GLES.
    	(cogl_enable:) Does not modify blending factors anymore.
    
    	* clutter/cogl/gl(es)/cogl-context.h: CoglContext holds two
    	new variables to cache blending src and dst factors.
    
    	* clutter/cogl/gl(es)/cogl-context.c:
    	(cogl_create_context:) Initialize blending factors.
    
    	* clutter/cogl/gles/cogl-texture.c:
    	(cogl_texture_download_from_gl:) Set blending factors to
    	CGL_ONE, CGL_ZERO which fixes the slighlty improper behavior
    	where source colour was actually multiplied with its alpha
    	value in the result (not noticable on current tests).

 gl/cogl-context.c   |    8 ++++-
 gl/cogl-context.h   |    2 +
 gl/cogl.c           |   65 ++++++++++----------------------------------------
 gles/cogl-context.c |    8 ++++-
 gles/cogl-context.h |    2 +
 gles/cogl-texture.c |    2 +
 gles/cogl.c         |   26 +++++++++++++++----
 7 files changed, 51 insertions(+), 62 deletions(-)

commit ae444ad679a8ffff7f641427586b48e5223a10e9
Author: Neil Roberts <neil@openedhand.com>
Date:   Fri May 16 11:09:59 2008 +0000

    	Use the Mesa headers instead of depending on GLee for Win32
    	builds.
    
    	* configure.ac: No longer check for GLee
    
    	* clutter/cogl/gl/cogl-defines.h.in: Don't bother including GLee.h
    
    	* build/mingw/mingw-cross-compile.sh: No longer downloads libGLee
    	but downloads the Mesa library instead and installs the headers
    	from that. Fixed the libpng version.

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

commit ef627f1a5e8b82fec0273d8cca3572fdb83f7061
Author: Øyvind Kolås <pippin@openedhand.com>
Date:   Wed May 14 11:10:45 2008 +0000

    * clutter/cogl/gles/cogl.c: (_cogl_features_init): do not set
    COGL_FEATURE_TEXTURE_READ_PIXELS, since it is not available.

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

commit 02ab70efc8f08498566efb778b8fd65927c74465
Author: Ivan Leben <ivan@openedhand.com>
Date:   Tue May 13 04:56:06 2008 +0000

    	* clutter/cogl/gl/cogl-defines.h.in:
    	Fix GL function prototypes on OS X by #definining APIENTRY and
    	APIENTRYP if missing.

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

commit 3a3712d924b221bb68a8f2dd9cb13233e4251a55
Author: Ivan Leben <ivan@openedhand.com>
Date:   Mon May 12 17:20:22 2008 +0000

    	* clutter/cogl/gl/cogl-defines.h.in:
    	Defined GL extension functions used by Cogl inside the COGL_
    	namespace.
    
    	* clutter/cogl/gl/cogl-context.h:
    	* clutter/cogl/gl/cogl.c:
    	Use COGL_ extension function prototypes instead of relying
    	on glext.h to define them. Should fix the mac compilability
    	bug, but haven't tested it yet.

 gl/cogl-context.h    |   46 ++++++++--------
 gl/cogl-defines.h.in |  138 ++++++++++++++++++++++++++++++++++++++++++++++++++
 gl/cogl.c            |   46 ++++++++--------
 3 files changed, 184 insertions(+), 46 deletions(-)

commit b9827fb94526634005f1d3f8dc91f8a68f6d9f4b
Author: Ivan Leben <ivan@openedhand.com>
Date:   Wed May 7 16:12:54 2008 +0000

    	* clutter/cogl/cogl.h.in:
    	* clutter/cogl/gl(es)/cogl-texture.h:
    	* clutter/cogl/gl(es)/cogl-texture.c:
    	cogl_texture_new_* functions take a gboolean auto_mipmap argument.
    	If TRUE automatic mipmap generation is enabled during the process
    	of slice texture object creation.
    	(cogl_texture_new_from_foreign:) now allows mipmap min filter
    	flags.
    
    	* clutter/clutter-texture.c:
    	* clutter/glx/clutter-glx-texture-pixmap.c:
    	* tests/test-cogl-offscreen.c:
    	* tests/test-cogl-tex-tile.c:
    	* tests/test-cogl-tex-convert.c:
    	* tests/test-cogl-tex-polygon.c:
    	* tests/test-cogl-tex-getset.c:
    	Pass FALSE for auto_mipmap to cogl_texture_new_*.
    
    	* clutter/pango/pangoclutter-render.c:
    	(tc_get:) Pass TRUE to cogl_texture_new_with_size and use mipmap
    	min filter for nicer glyphs at small scales. As a result test-text
    	has gone all beautiful now.

 cogl.h.in           |    9 +++++++++
 gl/cogl-texture.c   |   36 ++++++++++++++++++------------------
 gl/cogl-texture.h   |    1 +
 gles/cogl-texture.c |   40 ++++++++++++++++++++--------------------
 gles/cogl-texture.h |    1 +
 5 files changed, 49 insertions(+), 38 deletions(-)

commit 073870dbbfb54c248afcf2357bcd6624d82f2d90
Author: Øyvind Kolås <pippin@openedhand.com>
Date:   Mon May 5 12:01:19 2008 +0000

    * clutter/cogl/gl/cogl-primitives.c:
    * clutter/cogl/gles/cogl-primitives.c:
    * clutter/cogl/common/cogl-primitives.c: moved declaration of
    gegl_rectangle and gegl_rectanglex here to satisfy linking
    requirements when building the fruity backend.

 common/cogl-primitives.c |   50 ++++++++++++++++++++++++++++++++++++++++++++++
 gl/cogl-primitives.c     |   41 ++++++++-----------------------------
 gles/cogl-primitives.c   |   42 +++++++++-----------------------------
 3 files changed, 69 insertions(+), 64 deletions(-)

commit f2b44899f9889e4b11dfb4f362142aa02a390fae
Author: Øyvind Kolås <pippin@openedhand.com>
Date:   Mon May 5 10:25:11 2008 +0000

    * clutter/cogl/cogl.h.in: api review touch ups.
    * clutter/cogl/common/cogl-primitives.c: api review touch ups.
    * clutter/cogl/gl/cogl-primitives.c: (cogl_path_fill),
    (cogl_path_stroke): indentation.
    * clutter/cogl/gles/cogl-primitives.c:
    (_cogl_path_fill_nodes): free allocated resources.
    * tests/test-cogl-primitives.c: updated to new API, added rotation to
    test to show that cogl renders paths correct under perspective
    distortion.

 cogl.h.in                |   45 +------
 common/cogl-primitives.c |  318 ++++++++++++++++++++++++----------------------
 gl/cogl-primitives.c     |   53 +--------
 gles/cogl-primitives.c   |   58 +--------
 4 files changed, 176 insertions(+), 298 deletions(-)

commit bbe138298c63cf0a709d466e8419dc7be1d9303a
Author: Øyvind Kolås <pippin@openedhand.com>
Date:   Thu May 1 11:27:58 2008 +0000

    * clutter/cogl/gles/cogl-primitives.c: (_cogl_path_fill_nodes): draw
    the rasterized scanlines as an array of triangles.

 gles/cogl-primitives.c |   99 +++++++++++++++++++++++++++++++++++------------
 1 files changed, 73 insertions(+), 26 deletions(-)

commit 0b7cab090c39e933445febeb39c03a2c1aa22de2
Author: Øyvind Kolås <pippin@openedhand.com>
Date:   Wed Apr 30 21:48:47 2008 +0000

    * clutter/cogl/gles/cogl-primitives.c: (_cogl_path_fill_nodes):
    keep track of direction we are drawing in and make sure we leave
    two intersection points when we have changed direction.

 gles/cogl-primitives.c |   22 ++++++++++++++++++++--
 1 files changed, 20 insertions(+), 2 deletions(-)

commit 97b3499c5293db58ba2fe099c6f75aa597ece7a7
Author: Øyvind Kolås <pippin@openedhand.com>
Date:   Wed Apr 30 16:57:21 2008 +0000

    * clutter/cogl/gles/cogl-primitives.c: (_cogl_path_fill_nodes):
    scanline rasterizer fallback for GLES without working stencil
    buffer (would benefit from optimization/smarter choice of
    datastructures).

 gles/cogl-primitives.c |  106 ++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 102 insertions(+), 4 deletions(-)

commit 96f679a18bf3741fcabdb2e7f9c543a58fd61743
Author: Øyvind Kolås <pippin@openedhand.com>
Date:   Wed Apr 30 15:05:17 2008 +0000

    * clutter/cogl/common/Makefile.am:
    * clutter/cogl/common/cogl-primitives.c:
    * clutter/cogl/common/cogl-primitives.h:
    * clutter/cogl/gl/Makefile.am:
    * clutter/cogl/gl/cogl-primitives.c:
    * clutter/cogl/gl/cogl-primitives.h:
    * clutter/cogl/gles/Makefile.am:
    * clutter/cogl/gles/cogl-primitives.c:
    * clutter/cogl/gles/cogl-primitives.h: moved duplicated code to the
    common directory.

 common/Makefile.am       |    2 +
 common/cogl-primitives.c |  541 ++++++++++++++++++++++++++++++++++++++++++++++
 common/cogl-primitives.h |   63 ++++++
 gl/Makefile.am           |    1 -
 gl/cogl-primitives.c     |  505 +------------------------------------------
 gl/cogl-primitives.h     |   61 ------
 gles/Makefile.am         |    1 -
 gles/cogl-primitives.c   |  511 +-------------------------------------------
 gles/cogl-primitives.h   |   54 -----
 9 files changed, 615 insertions(+), 1124 deletions(-)

commit 0e0890a2e9a06680fe702170b2c52f4acba00e7b
Author: Neil Roberts <neil@openedhand.com>
Date:   Tue Apr 29 16:10:37 2008 +0000

    	Removed COGLhandle and changed shader and program functions to be
    	wrapped in reference-counted CoglHandles instead.
    
    	* clutter/cogl/gl/cogl-shader.c:
    	* clutter/cogl/gl/cogl-shader.h:
    	* clutter/cogl/gl/cogl-program.c:
    	* clutter/cogl/gl/cogl-program.h:
    	New files to hold the shader and program functions.
    
    	* clutter/cogl/gl/cogl.c: Removed shader and program functions.
    
    	* clutter/cogl/common/cogl-handle.h: New header to define
    	COGL_HANDLE_DEFINE which helps build functions to create
    	reference-counted handles. This reduces the amount of duplicated
    	code.
    
    	* clutter/cogl/gl/cogl-texture.c:
    	* clutter/cogl/gles/cogl-texture.c:
    	* clutter/cogl/gl/cogl-fbo.c: Converted to use COGL_HANDLE_DEFINE
    	from cogl-handle.h to avoid duplicating some of the common code.
    
    	* clutter/cogl/gles/cogl-defines.h.in:
    	* clutter/cogl/gl/cogl-defines.h.in: Removed COGLhandle
    
    	* clutter/cogl/gl/cogl-context.h: Added handle arrays for programs
    	and shaders.
    
    	* clutter/cogl/gl/cogl-context.c (cogl_create_context): Added
    	initialisers for shader_handles and program_handles.
    	(cogl_destroy_context): Added calls to g_array_free for all handle
    	arrays.
    
    	* clutter/cogl/gl/Makefile.am (libclutter_cogl_la_SOURCES): Added
    	cogl-{program,shader}.{c,h}
    
    	* clutter/cogl/common/Makefile.am
    	(libclutter_cogl_common_la_SOURCES): Added cogl-handle.h
    
    	* clutter/cogl/gles/cogl.c:
    	* clutter/cogl/cogl.h.in: Programs and shaders are now wrapped in
    	CoglHandles instead of COGLhandles. cogl_program_destroy and
    	cogl_shader_destroy is now replaced with cogl_program_unref and
    	cogl_shader_unref. cogl_program_ref and cogl_shader_ref are also
    	added.
    
    	* clutter/clutter-shader.c: Converted to use CoglHandles for the
    	programs and shaders instead of COGLhandles.
    
    	* cogl/cogl-sections.txt: Added cogl_shader_ref,
    	cogl_shader_unref, cogl_is_shader, cogl_program_ref,
    	cogl_program_unref, cogl_is_program and cogl_is_offscreen.

 cogl.h.in                            |  125 +++++++++++++++++++-------
 common/Makefile.am                   |    1 +
 common/cogl-handle.h                 |  160 ++++++++++++++++++++++++++++++++++
 doc/reference/cogl/cogl-sections.txt |    9 ++-
 gl/Makefile.am                       |    4 +
 gl/cogl-context.c                    |   13 +++
 gl/cogl-context.h                    |    6 ++
 gl/cogl-defines.h.in                 |    1 -
 gl/cogl-fbo.c                        |  124 +++++---------------------
 gl/cogl-program.c                    |  150 +++++++++++++++++++++++++++++++
 gl/cogl-program.h                    |   39 ++++++++
 gl/cogl-shader.c                     |  136 +++++++++++++++++++++++++++++
 gl/cogl-shader.h                     |   39 ++++++++
 gl/cogl-texture.c                    |  153 ++------------------------------
 gl/cogl.c                            |  119 -------------------------
 gles/cogl-defines.h.in               |    1 -
 gles/cogl-texture.c                  |  129 ++--------------------------
 gles/cogl.c                          |   66 ++++++++++-----
 18 files changed, 729 insertions(+), 546 deletions(-)

commit f2b367c092e0757629fa5a397e54de0c1539fd7c
Author: Øyvind Kolås <pippin@openedhand.com>
Date:   Tue Apr 29 15:58:32 2008 +0000

    * cogl/cogl-sections.txt: updated after cogl primitives api rename
    session.

 doc/reference/cogl/cogl-sections.txt |   39 ++++++++++++---------------------
 1 files changed, 14 insertions(+), 25 deletions(-)

commit 6a4cdd6e4935e90267845badb7b1049f7eafaf0e
Author: Øyvind Kolås <pippin@openedhand.com>
Date:   Tue Apr 29 15:41:34 2008 +0000

    * clutter/cogl/cogl.h.in: renaming of API's in cogl to make the
    primitives and path API a bit smaller and more resembling cairo.
    * clutter/cogl/gl/cogl-primitives.c:
    * clutter/cogl/gles/cogl-primitives.c:
    * clutter/cogl/gles/cogl.c:
    * clutter/clutter-actor.c:
    * clutter/clutter-rectangle.c:
    * tests/test-cogl-offscreen.c:
    * tests/test-cogl-primitives.c:
    * tests/test-cogl-tex-convert.c:
    * tests/test-cogl-tex-foreign.c:
    * tests/test-cogl-tex-getset.c:
    * tests/test-cogl-tex-tile.c: updated according to changes in cogl.

 cogl.h.in              |  236 +++++++++---------------------------
 gl/cogl-primitives.c   |  185 +++++++++++------------------
 gles/cogl-primitives.c |  312 +++++++++++++++++-------------------------------
 gles/cogl.c            |    2 +-
 4 files changed, 242 insertions(+), 493 deletions(-)

commit 0077d427a8ad83d1e310c9b0c744418be8dd610f
Author: Robert Bragg <bob@openedhand.com>
Date:   Tue Apr 29 12:44:41 2008 +0000

    2008-04-29  Robert Bragg  <bob@o-hand.com>
    
    	* clutter/cogl/gles/cogl-texture.c:
    	Replaces an malloc call with g_malloc.

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

commit 046569f090fb23b6dbb16493e150685c88b3266b
Author: Neil Roberts <neil@openedhand.com>
Date:   Mon Apr 28 16:57:44 2008 +0000

    	Fixed 'make dist'
    
    	* clutter/cogl/Makefile.am (EXTRA_DIST): Distribute cogl.h.in
    	instead of cogl.h
    	(DIST_SUBDIRS): Added common folder
    
    	* clutter/cogl/gl/Makefile.am (libclutter_cogl_la_SOURCES): Remove
    	cogl-defines.h and use the right location for cogl-defines.gl.h
    	(EXTRA_DIST): Distribute cogl-defines.h.in
    
    	* clutter/cogl/gles/Makefile.am (libclutter_cogl_la_SOURCES):
    	Remove cogl-defines.h and use the right location for
    	cogl-defines.gles.h
    	(EXTRA_DIST): Distribute cogl-defines.h.in
    
    	* clutter/Makefile.am (DIST_SUBDIRS): Add fruity

 Makefile.am      |    4 ++--
 gl/Makefile.am   |    5 +++--
 gles/Makefile.am |    5 +++--
 3 files changed, 8 insertions(+), 6 deletions(-)

commit 2f1dc5b9d89c512eddfc06ff3d8641d1cc48603e
Author: Neil Roberts <neil@openedhand.com>
Date:   Mon Apr 28 16:03:06 2008 +0000

    * clutter/cogl/cogl.h.in (COGL_A_BIT): Added the missing comma after
      COGL_PIXEL_FORMAT_G_8

 cogl.h.in |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 445ee175156e14ae0a53d9d9ad88a1cf1630e538
Author: Øyvind Kolås <pippin@openedhand.com>
Date:   Mon Apr 28 15:36:11 2008 +0000

    * clutter/cogl/cogl.h.in: reindented.

 cogl.h.in |  725 ++++++++++++++++++++++++++++---------------------------------
 1 files changed, 333 insertions(+), 392 deletions(-)

commit 4c1f671e132a979e5b5bf14b0d2b2069c067d602
Author: Emmanuele Bassi <ebassi@openedhand.com>
Date:   Mon Apr 28 15:22:54 2008 +0000

    2008-04-28  Emmanuele Bassi  <ebassi@openedhand.com>
    
    	* clutter/clutter-docs.sgml: Add index for the 0.8 symbols.
    
    	* clutter/Makefile.am:
    	* cogl/Makefile.am: Revert back, as EXTRA_DIST has been defined
    	by gtk-doc.make and automake-1.9 complains loudly about a
    	redefinition of EXTRA_DIST.

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

commit 2b7ff6fed0211f5230a27a9fcc072ebbb4241c9d
Author: Øyvind Kolås <pippin@openedhand.com>
Date:   Mon Apr 28 14:18:29 2008 +0000

    * clutter/cogl/cogl.h.in: moved the documentation of the cogl
    primitives to the main public header.
    * clutter/cogl/gl/cogl-primitives.c: from here ..
    * clutter/cogl/gles/cogl-primitives.c: .. _and_ here.

 cogl.h.in              |  323 ++++++++++++++++++++++++++++++++++++++++++++++++
 gl/cogl-primitives.c   |  320 +----------------------------------------------
 gles/cogl-primitives.c |  263 ---------------------------------------
 3 files changed, 329 insertions(+), 577 deletions(-)

commit e183712227f7ace27ba5309d9b515d28eab2f6b8
Author: Øyvind Kolås <pippin@openedhand.com>
Date:   Mon Apr 28 14:00:46 2008 +0000

    * clutter/cogl/cogl.h.in: added documentation.

 cogl.h.in |  478 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 460 insertions(+), 18 deletions(-)

commit eff57a1cb0543ef4e172885352db5ba0b14cca2a
Author: Neil Roberts <neil@openedhand.com>
Date:   Fri Apr 25 13:37:36 2008 +0000

    Merged clutter-ivan branch into trunk.
    
    svn merge \
     https://svn.o-hand.com/repos/clutter/trunk/clutter@2509 \
     https://svn.o-hand.com/repos/clutter/branches/clutter-ivan@HEAD

 Makefile.am                          |    2 +-
 TODO                                 |   25 +
 cogl.h                               |  290 ---
 cogl.h.in                            |  874 ++++++++
 common/Makefile.am                   |   23 +
 common/cogl-bitmap-fallback.c        |  369 ++++
 common/cogl-bitmap-pixbuf.c          |  197 ++
 common/cogl-bitmap.c                 |  150 ++
 common/cogl-bitmap.h                 |   95 +
 common/cogl-util.c                   |   51 +
 common/cogl-util.h                   |   32 +
 common/stb_image.c                   | 3772 ++++++++++++++++++++++++++++++++++
 doc/reference/cogl/Makefile.am       |   93 +
 doc/reference/cogl/cogl-docs.sgml    |   57 +
 doc/reference/cogl/cogl-sections.txt |  148 ++
 gl/Makefile.am                       |   37 +-
 gl/cogl-context.c                    |  114 +
 gl/cogl-context.h                    |   95 +
 gl/cogl-fbo.c                        |  390 ++++
 gl/cogl-fbo.h                        |   38 +
 gl/cogl-internal.h                   |   61 +
 gl/cogl-primitives.c                 | 1092 ++++++++++
 gl/cogl-primitives.h                 |   61 +
 gl/cogl-texture.c                    | 2303 +++++++++++++++++++++
 gl/cogl-texture.h                    |   64 +
 gl/cogl.c                            |  810 ++++----
 gles/Makefile.am                     |   37 +-
 gles/cogl-context.c                  |   96 +
 gles/cogl-context.h                  |   78 +
 gles/cogl-defines.h                  |  486 -----
 gles/cogl-defines.h.in               |  474 +++++
 gles/cogl-fbo.c                      |  188 ++
 gles/cogl-fbo.h                      |   38 +
 gles/cogl-internal.h                 |   63 +
 gles/cogl-primitives.c               | 1112 ++++++++++
 gles/cogl-primitives.h               |   54 +
 gles/cogl-texture.c                  | 2185 ++++++++++++++++++++
 gles/cogl-texture.h                  |   63 +
 gles/cogl-util.c                     |   51 +
 gles/cogl-util.h                     |   32 +
 gles/cogl.c                          |  457 ++---
 41 files changed, 15145 insertions(+), 1512 deletions(-)

commit b70bf89cedc8399c68e34c5550f3a682d426b3e6
Author: Matthew Allum <mallum@openedhand.com>
Date:   Mon Apr 14 15:10:22 2008 +0000

    2008-04-14  Matthew Allum  <mallum@openedhand.com>
    
            * clutter/cogl/gles/cogl.c: (cogl_color):
            Disable use of color4ub, issues with latest MBX SDL (#857)
    
            * clutter/eglx/clutter-backend-egl.c:
            * clutter/eglx/clutter-stage-egl.c:
            * configure.ac:
            Fixup for the eglx backend to work with new backend/multistage code.
            Some issues remain in destroying stages.

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

commit 0d6530e434145f1d5568fe35afc145447504954d
Author: Emmanuele Bassi <ebassi@openedhand.com>
Date:   Wed Apr 9 14:18:42 2008 +0000

    2008-04-09  Emmanuele Bassi  <ebassi@openedhand.com>
    
    	* clutter/Makefile.am: Update the regular expression to match
    	all the namespaces we actually use. Thanks to Neil Roberts for
    	spotting this. A make distclean is needed.
    
    	* clutter/cogl/gl/Makefile.am:
    	* clutter/cogl/gles/Makefile.am:
    	* clutter/json/Makefile.am:
    	* clutter/pango/Makefile.am: Revert previous commit.

 gl/Makefile.am   |    2 +-
 gles/Makefile.am |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit f47f85c7f7b223f47d57ff60f3b38a64e14b0c75
Author: Emmanuele Bassi <ebassi@openedhand.com>
Date:   Wed Apr 9 13:27:00 2008 +0000

    2008-04-09  Emmanuele Bassi  <ebassi@openedhand.com>
    
    	* clutter/cogl/Makefile.am:
    	* clutter/cogl/gl/Makefile.am:
    	* clutter/cogl/gles/Makefile.am:
    	* clutter/json/Makefile.am:
    	* clutter/pango/Makefile.am: Fix the visibility of all the
    	symbols, for the main library and the statically linked ones.

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

commit 4ea9911f575a1c324f8be1f20e0aa5810ac18852
Author: Matthew Allum <mallum@openedhand.com>
Date:   Fri Apr 4 13:20:02 2008 +0000

    2008-04-04  Matthew Allum  <mallum@openedhand.com>
    
            * clutter/clutter-actor.c:
            Remove uneeded stage private member.
            Add show-on-set-parent prop and make so by default Actors are
            now automatically shown when reparented (#791)
    
            * clutter/eglx/clutter-backend-egl.c:
            * clutter/cogl/gles/cogl.c:
            A couple of minor comments.
    
            * clutter/eglnative/Makefile.am:
            Add missing clutter-egl.h header (back port from trunk)
    
            * tests/test-actors.c:
            Modify to take advantage of new show-on-set-parent functionality.

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

commit f9039e53cb1d218e94b2a5a5505727e2be59020a
Author: Neil Roberts <neil@openedhand.com>
Date:   Tue Mar 25 15:42:50 2008 +0000

    2008-03-25  Neil Roberts  <neil@o-hand.com>
    
    	Added a native Win32 WGL backend.
    
    	* configure.ac: Added the 'win32' flavour.
    
    	* clutter/cogl/gl/cogl.c (cogl_get_proc_address): Added an ifdef
    	to use wglGetProcAddress with the Win32 backend.
    
    	* clutter/Makefile.am (DIST_SUBDIRS): Added the win32 directory.
    
    	* clutter/win32/clutter-win32.pc.in:
    	* clutter/win32/clutter-win32.h:
    	* clutter/win32/clutter-stage-win32.h:
    	* clutter/win32/clutter-stage-win32.c:
    	* clutter/win32/clutter-event-win32.c:
    	* clutter/win32/clutter-backend-win32.h:
    	* clutter/win32/Makefile.am:
    	* clutter/win32/clutter-backend-win32.c: New files.

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

commit 0264205ad144fe1928c9fec67ce022b48f2ea992
Author: Matthew Allum <mallum@openedhand.com>
Date:   Fri Feb 15 14:30:45 2008 +0000

    2008-02-15  Matthew Allum  <mallum@openedhand.com>
    
            * clutter/cogl/gles/cogl.c: (cogl_paint_init):
            Remove depth test getting turned on by default (unlike GL backend)

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

commit 4e147c8843dc3a45c53b1232f7a811607de3da7b
Author: Matthew Allum <mallum@openedhand.com>
Date:   Sun Feb 3 01:53:10 2008 +0000

    2008-02-03  Matthew Allum  <mallum@openedhand.com>
    
            * clutter/clutter-shader.c:
            Minor formatting cleanups to fit in 80 cols.
    
            * clutter/clutter-texture.c:
            More safety checks, clean ups in clutter_texture_new_from_actor()
    
            * clutter/cogl/gl/cogl.c:
            Always clear the FBO initially when rendering
    
            * tests/test-fbo.c:
            Overhall the test as to be more useful (and show current issues)

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

commit b97c326ecad33ea91bcf0f75626522af5d7b47a8
Author: Matthew Allum <mallum@openedhand.com>
Date:   Fri Feb 1 18:14:54 2008 +0000

    2008-02-01  Matthew Allum  <mallum@openedhand.com>
    
            * clutter/cogl/cogl.h:
            * clutter/cogl/gl/cogl.c:
            * clutter/cogl/gles/cogl.c:
           Disable the depth test and buffer as has some strange side
           effects, mainly on x/y axis rotation with multiple layers at
           same depth (eg rotating text on a bg has very strange
           effect). Seems no clean 100% effective way to fix without other
           odd issues.. So for now move to application to handle and add
           cogl_enable_depth_test() as for custom actors (i.e groups) to
           enable if need be.

 cogl.h      |    3 +++
 gl/cogl.c   |   36 ++++++++++++++++++++++++------------
 gles/cogl.c |   18 +++++++++++-------
 3 files changed, 38 insertions(+), 19 deletions(-)

commit 307a18860c1b9a23afb836825d7f74af1dd461fe
Author: Matthew Allum <mallum@openedhand.com>
Date:   Fri Feb 1 15:29:00 2008 +0000

    2008-02-01  Matthew Allum  <mallum@openedhand.com>
    
            * clutter/clutter-feature.h:
            * clutter/clutter-texture.c:
            * clutter/clutter-texture.h:
            * clutter/cogl/cogl.h:
            * clutter/cogl/gl/cogl.c:
            * clutter/cogl/gles/cogl.c:
            * tests/Makefile.am:
            * tests/test.fbo.c:
            Add initial support for FBO's in Clutter (OpenGL only so far).
            See new clutter_texture_new_from_actor()
            Initial implementation, needs work.
    
            * clutter/x11/clutter-stage-x11.c:
            (clutter_stage_x11_set_cursor_visible):
            Fall back to again not relying on xfixes to hide cursor. *sigh*
    
            * clutter/clutter-deprecated.h:
            Add clutter_group_find_child_by_id

 cogl.h      |   17 +++++++
 gl/cogl.c   |  153 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 gles/cogl.c |   30 ++++++++++++
 3 files changed, 199 insertions(+), 1 deletions(-)

commit 4eeb4bbdd0197da538e7b0ff714339d8bb5dc1e3
Author: Øyvind Kolås <pippin@openedhand.com>
Date:   Fri Feb 1 12:07:23 2008 +0000

    * clutter/cogl/gles/cogl.c: (cogl_rectangle_internal): increase size
    of GLfixed[] array to make contents fit.

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

commit 801d55621ea388b65eb0dbd4b4e3e8a11d8912e0
Author: Emmanuele Bassi <ebassi@openedhand.com>
Date:   Wed Jan 16 10:38:05 2008 +0000

    2008-01-16  Emmanuele Bassi  <ebassi@openedhand.com>
    
    	* clutter/cogl/cogl.h: Rename COGLhandleARB to COGLhandle.
    
    	* clutter/cogl/gl/cogl-defines.h.in:
    	* clutter/cogl/gl/cogl.c: Update GL implementation of COGL.
    
    	* clutter/cogl/gles/cogl-defines.h:
    	* clutter/cogl/gles/cogl.c: Update GLES implementation of COGL.
    
    	* clutter/clutter-shader.c: Fix ClutterShader to use the new
    	COGLhandle type instead of COGLhandlerARB.

 cogl.h               |   41 ++++++++++++++++++++---------------------
 gl/cogl-defines.h.in |    2 +-
 gl/cogl.c            |   38 +++++++++++++++++++-------------------
 gles/cogl-defines.h  |    2 +-
 gles/cogl.c          |   36 ++++++++++++++++++------------------
 5 files changed, 59 insertions(+), 60 deletions(-)

commit 7f51bdda17b533aed9ffbb90b46d47a298be4d96
Author: Emmanuele Bassi <ebassi@openedhand.com>
Date:   Wed Jan 16 10:02:56 2008 +0000

    2008-01-16  Emmanuele Bassi  <ebassi@openedhand.com>
    
    	Define COGLhandleARB. (patch by Johan Bilien)
    
    	* clutter/cogl/gles/cogl-defines.h: Define COGLhandleARB on
    	GLES as well (using GLuint)
    
    	* clutter/cogl/gles/cogl.c: Use COGLhandleARB.

 gles/cogl-defines.h |    1 +
 gles/cogl.c         |   53 +++++++++++++++++++++++++++++++-------------------
 2 files changed, 34 insertions(+), 20 deletions(-)

commit 682eb3c6dbf23c03e35439049a84a48139520350
Author: Emmanuele Bassi <ebassi@openedhand.com>
Date:   Mon Jan 14 11:52:04 2008 +0000

    2008-01-14  Emmanuele Bassi  <ebassi@openedhand.com>
    
    	* clutter/cogl/gl/cogl.c (cogl_get_proc_address): Implement non-GLX
    	version using GModule and looking up the symbol from the running
    	process. It should work when linked to library providing the
    	requested function. (#696, Tommi Komulainen)

 gl/cogl.c |   20 +++++++++++++++++++-
 1 files changed, 19 insertions(+), 1 deletions(-)

commit 37af2da4100a353d550e9a760e0f5adbd61cf5f8
Author: Øyvind Kolås <pippin@openedhand.com>
Date:   Thu Jan 10 09:55:44 2008 +0000

    Added COGLhandleARB since the underlying type on OSX is void*,
    patch from Tommi Komulainen <tommi.komulainen@iki.fi>, (#694)
    * clutter/cogl/gl/cogl-defines.h.in: Added COGLhandleARB typedef.
    * clutter/cogl/cogl.h:
    * clutter/cogl/gl/cogl.c:
    * clutter/clutter-shader.c: Use COGLhandleARB instead of COGLint when
    referring to program or shader handles.

 cogl.h               |   38 +++++++++++++++++++-------------------
 gl/cogl-defines.h.in |    1 +
 gl/cogl.c            |   40 ++++++++++++++++++++--------------------
 3 files changed, 40 insertions(+), 39 deletions(-)

commit 471da532a31a6757e68c2c82355d964092ac6b0b
Author: Emmanuele Bassi <ebassi@openedhand.com>
Date:   Mon Dec 24 12:53:04 2007 +0000

    2007-12-24  Emmanuele Bassi  <ebassi@openedhand.com>
    
    	* clutter/cogl/cogl.h: Update cogl_clip_set() to accept the
    	clip components as ClutterFixed values
    
    	* clutter/cogl/gl/cogl.c (cogl_clip_set): Update the GL implementation
    	of cogl_clip_set()
    
    	* clutter/cogl/gles/cogl.c:
    	(cogl_rectangle_internal): Provide an internal, inlined rectangle
    	drawing	function using fixed point values, to be shared by
    	cogl_clip_set() and cogl_rectangle()
    
    	(cogl_clip_set), (cogl_rectangle): Update the GLES implementation
    	of cogl_clip_set() and cogl_rectangle() to use the new internal
    	rectangle drawing function
    
    	* clutter/clutter-actor.c: Make the clip an array of ClutterUnit
    	values instead of pixel-based; this allows higher precision and
    	device independence
    
    	(_clutter_actor_apply_modelview_transform): Pass the clip
    	components converting from units to fixed point values, using
    	the new cogl_clip_set() signature
    
    	(clutter_actor_get_property), (clutter_actor_set_clip),
    	(clutter_actor_get_clip): Update the accessors of the clip
    	property

 cogl.h      |    5 ++++-
 gl/cogl.c   |   15 +++++++++------
 gles/cogl.c |   52 +++++++++++++++++++++++++++++++++-------------------
 3 files changed, 46 insertions(+), 26 deletions(-)

commit ef26dc078ebc1e9a5af90d931cf0e94029a8163b
Author: Emmanuele Bassi <ebassi@openedhand.com>
Date:   Fri Dec 21 16:04:39 2007 +0000

    2007-12-21  Emmanuele Bassi  <ebassi@openedhand.com>
    
    	* clutter/clutter-group.c:
    	* clutter/clutter-group.h: Add the clutter_group_add() convenience
    	function; it's now "undeprecated" and implemented as a macro
    
    	* clutter/clutter-stage.h: Add clutter_stage_add() as a convenience
    	macro
    
    	* clutter/cogl/cogl.h: Include just the needed headers instead
    	of the whole clutter.h; this avoids rebuild cogl when not needed

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

commit 0e391f1194a16ae1113b4162ae3c3e791ce9aa24
Author: Tomas Frydrych <tf@openedhand.com>
Date:   Wed Dec 19 16:16:10 2007 +0000

    2007-12-19  Tomas Frydrych  <tf@openedhand.com>
    
    	* clutter/Makefile.am:
    	* clutter/cogl/gl/cogl-defines.h.in:
    	* clutter/pango/pangoclutter-render.c:
    	* configure.ac:
    	Fixes to allow cross-compilation with mingw (patch by Neil
    	Roberts).
    	Removed trailing whitespace.

 gl/cogl-defines.h.in |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit 530fca4b870610a3ac2c9503e7c847fcb9983265
Author: Matthew Allum <mallum@openedhand.com>
Date:   Fri Dec 14 12:36:45 2007 +0000

    2007-12-14  Matthew Allum  <mallum@openedhand.com>
    
            * clutter/cogl/gl/cogl-defines.h.in:
            * clutter/cogl/gles/cogl-defines.h:
            Add CLUTTER_COGL_HAS_GL/GLES defines

 gl/cogl-defines.h.in |    1 +
 gles/cogl-defines.h  |    2 ++
 2 files changed, 3 insertions(+), 0 deletions(-)

commit 4dea166d53af13c16af6a554578fe09cec38277d
Author: Øyvind Kolås <pippin@openedhand.com>
Date:   Mon Dec 3 16:29:18 2007 +0000

    Support for shaders in clutter. At the moment limited to drivers
    providing GLSL support.
    * clutter/cogl/cogl.h: added rather direct binding of needed for glsl
    shaders.
    * clutter/cogl/gl/cogl-defines.h.in:
    * clutter/cogl/gl/cogl.c:
    * clutter/cogl/gles/cogl-defines.h: added stubs.
    * clutter/cogl/gles/cogl.c: added stubs.
    * clutter/glx/clutter-stage-glx.c:
    (clutter_stage_glx_realize): unrelated memory management sanity fix.
    (clutter_stage_glx_unrealize): unbind all shaders on stage unrealize.
    * clutter/Makefile.am: added clutter-shader.[ch]
    * clutter/clutter-actor.[ch]: adding shader capability to
    actors.
    * clutter/clutter-feature.h: added CLUTTER_FEATURE_SHADERS_GLSL
    * clutter/clutter-private.h: added stack of shaders to context.
    * clutter/clutter-shader.[ch]: new.
    * tests/Makefile.am: added shader test.
    * tests/test-shader.c: (frame_cb), (main): simple shader test,
    cycle through the inline shader with right/left mouse buttons.

 cogl.h               |   52 +++++++++++++++++++
 gl/cogl-defines.h.in |    6 ++
 gl/cogl.c            |  137 ++++++++++++++++++++++++++++++++++++++++++++++++++
 gles/cogl-defines.h  |   18 +++++++
 gles/cogl.c          |   68 ++++++++++++++++++++++++-
 5 files changed, 279 insertions(+), 2 deletions(-)

commit 947f47b6a4ba5117d59e9947d6fe5f2a9eb4413d
Author: Matthew Allum <mallum@openedhand.com>
Date:   Wed Nov 21 12:30:50 2007 +0000

    2007-11-21  Matthew Allum  <mallum@openedhand.com>
    
            * clutter/cogl/gles/cogl.c: (cogl_fog_set):
            Minor fixes for fog on GLES.

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

commit 9de04774d2d4718756b6df9c376e6d1f60713ec4
Author: Emmanuele Bassi <ebassi@openedhand.com>
Date:   Wed Nov 21 11:55:26 2007 +0000

    2007-11-21  Emmanuele Bassi  <ebassi@openedhand.com>
    
    	* clutter/cogl/cogl.h: Add cogl_fog_set() abstracting the
    	glFog() functions and enabling the GL_FOG flag.
    
    	* clutter/cogl/gl/cogl.c: Add GL implementation of cogl_fog_set().
    
    	* clutter/cogl/gles/cogl.c: Add GL/ES implementation of
    	cogl_fog_set().
    
    	* clutter.symbols: Add new symbols.
    
    	* clutter/clutter-stage.h: Add API to enable depth cueing on
    	the stage using a linear GL fog, and to set the parameters
    	for it (#637).
    
    	* clutter/clutter-stage.c (clutter_stage_paint): Enable the
    	GL fog if the ClutterStage:use-fog property is true.
    
    	* tests/test-depth.c: Test the new stage API.

 cogl.h      |    6 ++++++
 gl/cogl.c   |   56 +++++++++++++++++++++++++++++++++++++++++++++-----------
 gles/cogl.c |   32 ++++++++++++++++++++++++++++++--
 3 files changed, 81 insertions(+), 13 deletions(-)

commit 2331fa755798548470bd189f6c3996c02625c83b
Author: Matthew Allum <mallum@openedhand.com>
Date:   Thu Nov 15 14:45:27 2007 +0000

    2007-11-15  Matthew Allum  <mallum@openedhand.com>
    
            * clutter/Makefile.am:
            * clutter/eglx/Makefile.am:
            * clutter/eglx/clutter-backend-egl.c:
            * clutter/eglx/clutter-backend-egl.h:
            * clutter/eglx/clutter-eglx.h:
            * clutter/eglx/clutter-event-egl.c:
            * clutter/eglx/clutter-stage-egl.c:
            * clutter/eglx/clutter-stage-egl.h:
            * clutter/glx/Makefile.am:
            * clutter/glx/clutter-backend-glx.c:
            * clutter/glx/clutter-backend-glx.h:
            * clutter/glx/clutter-event-glx.c:
            * clutter/glx/clutter-glx.h:
            * clutter/glx/clutter-stage-glx.c:
            * clutter/glx/clutter-stage-glx.h:
            * clutter/x11/Makefile.am:
            * clutter/x11/clutter-backend-x11-private.h:
            * clutter/x11/clutter-backend-x11.c:
            * clutter/x11/clutter-backend-x11.h:
            * clutter/x11/clutter-event-x11.c:
            * clutter/x11/clutter-stage-x11.c:
            * clutter/x11/clutter-stage-x11.h:
            * clutter/x11/clutter-x11.h:
            Create a new X11 backend class of which EGL and GLX 'real' backends
            then subclass. Effectively shares all X11 code between both backends
            avoids code duplication and brings many missing features to EGL X
            backend. Requires some cleanup and testing. (#518)
    
            * clutter/cogl/gles/cogl.c: (cogl_color):
            Add define to use color4ub only if configure finds it.
            If not fall back to old code.
    
            * configure.ac:
            Drop support for vincent checks.
            Drop sdles backend.
            Specifically check for color4ub call.

 gles/cogl.c |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)

commit 72d39f309e49c487c38c600ec5e8fe65a385b934
Author: Robert Bradford <rob@openedhand.com>
Date:   Thu Nov 8 21:23:53 2007 +0000

    2007-11-08  Rob Bradford  <rob@openedhand.com>
    
    	* clutter/cogl/gles/cogl.c: (cogl_color):
    	Switch over to using glColor4ub in the GLES backend. It's available in
    	the header file but missing in the reference manual.

 gles/cogl.c |   14 ++++++++++----
 1 files changed, 10 insertions(+), 4 deletions(-)

commit f274e9abb3d47d61c4e5a2485efcc1efd90bcb2f
Author: Emmanuele Bassi <ebassi@openedhand.com>
Date:   Mon Oct 29 16:50:34 2007 +0000

    2007-10-29  Emmanuele Bassi  <ebassi@openedhand.com>
    
    	* configure.ac:
    	* clutter/cogl/gl/cogl-defines.h.in: The OS X backend has a funny
    	OpenGL header location, so it basically did break every application
    	including clutter/cogl.h because the GL header inclusion depended
    	on symbols defined into Clutter's config.h. Now, we define the
    	GL header into the configure template and use it to create the
    	cogl-defines.h file cogl.h includes.

 gl/cogl-defines.h    |  707 --------------------------------------------------
 gl/cogl-defines.h.in |  703 +++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 703 insertions(+), 707 deletions(-)

commit 4ff00fa1916ae4c6b446c5d815e09fbe53710d92
Author: Matthew Allum <mallum@openedhand.com>
Date:   Fri Oct 26 22:06:45 2007 +0000

    2007-10-26  Matthew Allum  <mallum@openedhand.com>
    
            * clutter/clutter-texture.c:
            * clutter/cogl/cogl.h:
            * clutter/cogl/gl/cogl-defines.h:
            * clutter/cogl/gles/cogl-defines.h:
            * clutter/cogl/gl/cogl.c:
            * clutter/cogl/gles/cogl.c:
            Switch from use of guint to COGLuint. Avoids problems when
            guint != GLuint on some platforms, i.e OSX.
            (Tommi Komulainen, #526)
    
            * clutter/Makefile.am:
            * clutter/osx/Makefile.am:
            * clutter/osx/clutter-backend-osx.c:
            * clutter/osx/clutter-backend-osx.h:
            * clutter/osx/clutter-event-osx.c:
            * clutter/osx/clutter-osx.h:
            * clutter/osx/clutter-stage-osx.c:
            * clutter/osx/clutter-stage-osx.h:
            * configure.ac:
            Add initial Cocoa/OSX Backend (by Tommi Komulainen, see #526)

 cogl.h              |   11 ++++-------
 gl/cogl-defines.h   |    9 +++++++++
 gl/cogl.c           |   35 +++++++++++++++++++++--------------
 gles/cogl-defines.h |    1 +
 gles/cogl.c         |    6 +++---
 5 files changed, 38 insertions(+), 24 deletions(-)

commit bcc81bdf1b385a331873f17588d55ce0e0ae0b1e
Author: Emmanuele Bassi <ebassi@openedhand.com>
Date:   Thu Oct 25 14:43:55 2007 +0000

    2007-10-25  Emmanuele Bassi  <ebassi@openedhand.com>
    
    	* clutter/cogl/cogl.h: Do not include <clutter/clutter.h>.

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

commit 63ed3a309c8665c75d9e6c1103eabc2d8ca1e8a5
Author: Tomas Frydrych <tf@openedhand.com>
Date:   Mon Oct 15 19:19:42 2007 +0000

    2007-10-15  Tomas Frydrych  <tf@o-hand.com>
    
    	* clutter/cogl/gl/cogl-defines.h:
    	* clutter/cogl/gl/cogl.c:
    	Fixed up GL include for windows.

 gl/cogl-defines.h |    5 +++++
 gl/cogl.c         |    5 +++++
 2 files changed, 10 insertions(+), 0 deletions(-)

commit 356678ab3cfe487ab3a1071c3b04d30c23684129
Author: Tomas Frydrych <tf@openedhand.com>
Date:   Fri Oct 12 08:17:00 2007 +0000

    2007-10-12  Tomas Frydrych  <tf@o-hand.com>
    
            * clutter/clutter-actor.c:
            * clutter/clutter-backend.c:
            * clutter/clutter-behaviour-depth.c:
            * clutter/clutter-box.c:
            * clutter/clutter-clone-texture.c:
            * clutter/clutter-container.c:
            * clutter/clutter-entry.c:
            * clutter/clutter-feature.c:
            * clutter/clutter-fixed.c:
            * clutter/clutter-group.c:
            * clutter/clutter-hbox.c:
            * clutter/clutter-label.c:
            * clutter/clutter-layout.c:
            * clutter/clutter-media.c:
            * clutter/clutter-rectangle.c:
            * clutter/clutter-score.c:
            * clutter/clutter-script.c:
            * clutter/clutter-stage.c:
            * clutter/clutter-texture.c:
            * clutter/clutter-timeline.c:
            * clutter/clutter-timeout-pool.c:
            * clutter/clutter-vbox.c:
            * clutter/cogl/gl/cogl.c:
            * clutter/cogl/gles/cogl.c:
            * clutter/eglnative/clutter-backend-egl.c:
            * clutter/eglnative/clutter-event-egl.c:
            * clutter/eglnative/clutter-stage-egl.c:
            * clutter/eglx/clutter-backend-egl.c:
            * clutter/eglx/clutter-event-egl.c:
            * clutter/eglx/clutter-stage-egl.c:
            * clutter/glx/clutter-event-glx.c:
            * clutter/json/json-array.c:
            * clutter/json/json-generator.c:
            * clutter/json/json-node.c:
            * clutter/json/json-object.c:
            * clutter/json/json-parser.c:
            * clutter/sdl/clutter-backend-sdl.c:
            * clutter/sdl/clutter-event-sdl.c:
            * clutter/sdl/clutter-stage-sdl.c:
    
    	Fixedup config.h inclusion (must always be bracketed with #ifdef
    	HAVE_CONFIG_H).

 gl/cogl.c   |   67 ++++++++++++++++++++++++++++++----------------------------
 gles/cogl.c |    3 ++
 2 files changed, 38 insertions(+), 32 deletions(-)

commit 14a794f18b8709b9069484966756a445968350df
Author: Matthew Allum <mallum@openedhand.com>
Date:   Fri Aug 24 15:12:52 2007 +0000

    2007-08-24  Matthew Allum  <mallum@openedhand.com>
    
            * clutter/clutter-actor.c:
            * clutter/clutter-event.h:
            * clutter/clutter-main.c:
            * clutter/clutter-stage.c:
            * clutter/clutter-stage.h:
            * clutter/glx/clutter-backend-glx.c:
            * clutter/glx/clutter-backend-glx.h:
            * clutter/glx/clutter-event-glx.c:
            * clutter/glx/clutter-stage-glx.c:
            * clutter/glx/clutter-stage-glx.h:
            Add initial support for stage state events.
            Fix fullscreening for an already mapped stage.
    
            * tests/test-events.c:
            Print out info from the above. Blue button now toggles
            fullscreen.
    
            * clutter/clutter-effect.c:
            * clutter/clutter-effect.h:
            Add a setting for templates to ref or clone underlying
            timelines. (As to improve sync issues like those in foofone)
    
            * tests/test-timeline.c:
            Also add completed signals.
    
            * clutter/cogl/gles/cogl.c: (cogl_texture_image_2d):
            * configure.ac:
            Forward port from stable branch. RGB Image fixes gles
            and check for lower case libgles_cm.

 gles/cogl.c |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)

commit fe4fb91fa335e2be999fc2c86ce65af51dc9f82a
Author: Matthew Allum <mallum@openedhand.com>
Date:   Mon Aug 13 20:48:01 2007 +0000

    2007-08-13  Matthew Allum  <mallum@openedhand.com>
    
            * clutter/clutter-actor.c:
            * clutter/clutter-actor.h:
            * clutter/clutter-event.c:
            * clutter/clutter-event.h:
            * clutter/clutter-main.c:
            * clutter/clutter-main.h:
            * clutter/clutter-private.h:
            * clutter/clutter-stage.c:
            * clutter/clutter-stage.h:
            * clutter/clutter-types.h:
            Initial implementation of actors emmitting event signals (423);
            - Actors set_reactive() to receive mouse events.
              (call clutter_enable_motion_events() for per action motion events)
            - clutter_stage_set_key_focus () to direct key events.
            - Events bubble up to parents (ending at stage)
              (original source identified by clutter_event_get_source())
            TODO:
            - enter/leave notifys for actors.
            - stage specific events - fullscreen
            - grabs
    
            * tests/test-events.c:
            Extend a little to use new API
    
            * clutter/cogl/gl/cogl.c:
            * clutter/glx/clutter-backend-glx.c:
            Move get_proc_address into cogl and out of backend.
            (shaders will need it)
    
            * clutter/clutter-group.c: (clutter_group_real_lower):
            Fix a minor compile warning.
    
            * TODO:
            Sync up.

 gl/cogl.c |   45 ++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 44 insertions(+), 1 deletions(-)

commit a7525798454bed1bf8a0cda4056d4429011c0f7f
Author: Matthew Allum <mallum@openedhand.com>
Date:   Tue Aug 7 11:35:22 2007 +0000

    2007-08-07  Matthew Allum  <mallum@openedhand.com>
    
            * clutter/clutter-fixed.c:
            * clutter/clutter-fixed.h:
            Add documentation.
    
            * clutter/cogl/gl/cogl.c: (cogl_perspective):
            Remove CFX_* shortened macros

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

commit bb3e6a91bbd65cfc397894a215d2edc02344fcab
Author: Matthew Allum <mallum@openedhand.com>
Date:   Tue Jul 24 16:50:34 2007 +0000

    2007-07-24  Matthew Allum  <mallum@openedhand.com>
    
            * clutter/cogl/gl/cogl-defines.h:
            Add  CGL_UNSIGNED_INT_8_8_8_8_REV (for big endian machines)

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

commit 06d28d04d1fc3bf7e0509b5f975ff72faef628a8
Author: Matthew Allum <mallum@openedhand.com>
Date:   Tue Jul 24 16:42:50 2007 +0000

    2007-07-24  Matthew Allum  <mallum@openedhand.com>
    
            * clutter/cogl/gl/cogl-defines.h:
            Another GL_TEXTURE_RECTANGLE_ARB related fix (#404)

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

commit bbd0c14ef2d2fca96f8451d30065353345aa0259
Author: Matthew Allum <mallum@openedhand.com>
Date:   Tue Jul 24 12:17:42 2007 +0000

    2007-07-24  Matthew Allum  <mallum@openedhand.com>
    
            * clutter/cogl/gles/cogl.c: (cogl_get_bitmasks):
            Fix typo calling glGetIntegerv rather than glGetInteger

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

commit f5f0fe94fd3224b772650d792d51733930d8d89c
Author: Matthew Allum <mallum@openedhand.com>
Date:   Tue Jul 24 12:06:52 2007 +0000

    2007-07-24  Matthew Allum  <mallum@openedhand.com>
    
            * clutter/cogl/gl/cogl.c: (cogl_get_features):
            learn to use cpp properly.

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

commit 1001838b33549cd59f50278b7044efdbd74613ed
Author: Matthew Allum <mallum@openedhand.com>
Date:   Tue Jul 24 12:04:24 2007 +0000

    2007-07-24  Matthew Allum  <mallum@openedhand.com>
    
            * clutter/clutter-media.c: (clutter_media_base_init):
            Remove #if 0! signal - assume causing issues with binding generation.
            (#407)
    
            * clutter/cogl/gl/cogl.c:
            Check GL_TEXTURE_RECTANGLE_ARB and GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB
            are defined in gl.h (#404)

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

commit e0487843f3945e6b43e66ae0e39bff984f6bde11
Author: Matthew Allum <mallum@openedhand.com>
Date:   Thu Jul 12 10:15:19 2007 +0000

    2007-07-12  Matthew Allum  <mallum@openedhand.com>
    
            * clutter/clutter-actor.c: (clutter_actor_paint):
            * clutter/clutter-stage.c: (clutter_stage_get_actor_at_pos):
            * clutter/cogl/cogl.h:
            * clutter/cogl/gl/cogl.c: (cogl_get_viewport):
            * clutter/cogl/gles/cogl.c: (cogl_get_viewport):
            Based on patch from Pan Bohui, See;
            http://bugzilla.openedhand.com/show_bug.cgi?id=390
    
            * TODO:
            More misc updates.

 cogl.h      |    3 +++
 gl/cogl.c   |   13 +++++++++++++
 gles/cogl.c |   13 +++++++++++++
 3 files changed, 29 insertions(+), 0 deletions(-)

commit 8c5ac95a696aa6f7fbfa9756f3fc597bbb1333b8
Author: Matthew Allum <mallum@openedhand.com>
Date:   Fri Jun 29 11:54:31 2007 +0000

    2007-06-29  Matthew Allum  <mallum@openedhand.com>
    
            * clutter/clutter-texture.c: (texture_upload_data):
            Fix a SEGV for GL ES textures.
    
            * clutter/cogl/gles/cogl.c: (cogl_setup_viewport):
            Tweak default z_camera for 60 degrees like GL.
    
            * clutter/egl/clutter-backend-egl.c::
            * clutter/egl/clutter-stage-egl.c:
            Fix edpy usage (thanks to Kaj Gronholm).

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

commit d7eda69b480e11db94a8d9619791f4c59e36652a
Author: Matthew Allum <mallum@openedhand.com>
Date:   Thu Jun 28 09:38:42 2007 +0000

    2007-06-28  Matthew Allum  <mallum@openedhand.com>
    
            * clutter/cogl/gl/cogl.c: (cogl_setup_viewport):
            Improve fixed z_camera value for defualt perspective.
            Appears pixel perfect on ATI and Intel at least

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

commit 3cdc195408626066c033868a68a3f50a3d9c6e95
Author: Tomas Frydrych <tf@openedhand.com>
Date:   Tue Jun 26 16:07:14 2007 +0000

    tweaked z_camera constant for default 60 deg perspective angle

 gl/cogl.c   |   30 +++++++++++++++++++++++++-----
 gles/cogl.c |   21 ++++++++++++++++-----
 2 files changed, 41 insertions(+), 10 deletions(-)

commit 2ef9e63f9c64086a1b9434ff17c8d4e359f1983e
Author: Tomas Frydrych <tf@openedhand.com>
Date:   Mon Jun 25 13:43:13 2007 +0000

    changed ClutterPerspective.fovy from ClutterAngle to degrees

 cogl.h      |    4 ++--
 gl/cogl.c   |   15 +++++++++------
 gles/cogl.c |   16 ++++++++++------
 3 files changed, 21 insertions(+), 14 deletions(-)

commit c451d0501b594db7de2447f8c5fbc4afb303c3d4
Author: Matthew Allum <mallum@openedhand.com>
Date:   Tue Jun 19 09:10:37 2007 +0000

    2007-06-19  Matthew Allum  <mallum@openedhand.com>
    
            * clutter/clutter-stage.c:
            * clutter/clutter-stage.h:
            * clutter/glx/clutter-stage-glx.c:
            * clutter/sdl/clutter-stage-sdl.c:
            Add window title setting/getting functionality.
    
            * clutter/clutter-event.c: (clutter_key_event_unicode):
            Remove uneeded convert case call.
    
            * clutter/cogl/gl/cogl.c: (cogl_rectangle)
            Use parameters correctly for underlying GL rect call.
    
            * tests/test-entry.c:
            Add a window title.

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

commit 3a6ea6dc16a554871d45ee323650e181a44bc782
Author: Matthew Allum <mallum@openedhand.com>
Date:   Thu Jun 14 12:54:47 2007 +0000

    2007-06-14  Matthew Allum  <mallum@openedhand.com>
    
            * clutter/cogl/gl/cogl.c: (cogl_check_extension):
            Actually populate this func and remove the static alternate
            named one. Means GLX actually checks for available extensions.
            Other minor tidy ups.
    
            * clutter/glx/clutter-backend-glx.c:
            * clutter/glx/clutter-backend-glx.h:
            Add support for GLX_SGI_swap_control to do vblanking prefering
            over glXGetVideoSyncSGI. Should fix issues on Intel chips with
            very slow frame rates due to vblank problems.
            Thanks to  Michel Danzer for tips, see;
            http://bugs.freedesktop.org/show_bug.cgi?id=10542
    
            * test/test-actors.c:
            Change FPS to 60.

 gl/cogl.c |   68 ++++++++++--------------------------------------------------
 1 files changed, 12 insertions(+), 56 deletions(-)

commit 1a6069bdee0229fd64fb92e7043b690d2829e64a
Author: Tomas Frydrych <tf@openedhand.com>
Date:   Tue Jun 12 11:42:29 2007 +0000

    clutter_actor_project_point/vertices

 cogl.h      |    9 +++++++
 gl/cogl.c   |   74 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 gles/cogl.c |   18 ++++++++++++++
 3 files changed, 99 insertions(+), 2 deletions(-)

commit f72e754876ec53ff27b70622263d1e809d89b06a
Author: Matthew Allum <mallum@openedhand.com>
Date:   Thu Jun 7 23:51:53 2007 +0000

    2007-06-08  Matthew Allum  <mallum@openedhand.com>
    
            * clutter/clutter-actor.c:
            * clutter/clutter-debug.h:
            * clutter/clutter-main.c:
            * clutter/clutter-main.h:
            * clutter/clutter-private.h:
            * clutter/clutter-timeline.c:
            Add 'schedule' debug flag and new CLUTTER_TIMESTAMP macro.
    
            * clutter/clutter-texture.c:
            * clutter/clutter-texture.h:
            * clutter/cogl/cogl.h:
            * clutter/cogl/gl/cogl-defines.h:
            * clutter/cogl/gles/cogl-defines.h:
            * clutter/cogl/gl/cogl.c:
            * clutter/cogl/gles/cogl.c:
            Add initial experiemental YUV texture support.
            Move texture rect size checks into cogl.
            Better handle moving texture data from video -> system memory
            (if support available).

 cogl.h              |    4 +++-
 gl/cogl-defines.h   |    9 +++++++++
 gl/cogl.c           |   28 ++++++++++++++++++++--------
 gles/cogl-defines.h |    8 +++++++-
 gles/cogl.c         |   20 +++-----------------
 5 files changed, 42 insertions(+), 27 deletions(-)

commit 682aba56e3e802096daf078740d93e56596cb0eb
Author: Tomas Frydrych <tf@openedhand.com>
Date:   Tue May 29 07:26:32 2007 +0000

    fix z_camera calcualtion in gles/cogl

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

commit 7c7fcc2cb9a864265b439ec42d77aa1927e0b722
Author: Matthew Allum <mallum@openedhand.com>
Date:   Mon May 28 18:49:34 2007 +0000

    2007-05-28  Matthew Allum  <mallum@openedhand.com>
    
            * clutter/clutter-backend.c:
            * clutter/clutter-backend.h:
            * clutter/glx/clutter-stage-glx.c:
            * clutter/glx/clutter-backend-glx.c:
            Fix up rendering pipeline removing clutter_backend_XXX_stage_paint
            and adding clutter_backend_XXX_redraw instead. Duplicates less
            code in backends, avoids clutter_actor_paint() getting called
            before stage is set up (viewport wise) and unbreaks things like
            picking.
    
            * clutter/clutter-actor.c:
            * clutter/clutter-actor.h:
            * clutter/clutter-main.c:
            * clutter/clutter-private.h:
            * clutter/clutter-stage.c: (clutter_stage_get_actor_at_pos):
            Redo picking functionality a different way (via color indexing)
            as to provide more flexibility, possibly speed and more likely
            work with GL/ES (doesn't currently however - not sure why).
    
            * clutter/clutter-group.c:
            Add groups own 'pick' method.
    
            * clutter/cogl/cogl.h:
            * clutter/cogl/gl/cogl.c:
            * clutter/cogl/gles/cogl.c:
            Move clipping funtionality into cogl.
    
            * clutter/cogl/gles/cogl-defines.h:
            Hack around missing BGR format in GL/ES.
    
            * clutter/egl/clutter-backend-egl.c:
            * clutter/egl/clutter-backend-egl.h:
            * clutter/egl/clutter-stage-egl.c:
            * clutter/sdl/clutter-backend-sdl.c:
            * clutter/sdl/clutter-backend-sdl.h:
            * clutter/sdl/clutter-event-sdl.c:
            * clutter/sdl/clutter-stage-sdl.c:
            Update backends to newer API.
            Add basic mouse event translation to SDL.

 cogl.h              |   10 ++++-
 gl/cogl.c           |  104 +++++++++++++++-----------------------------------
 gles/cogl-defines.h |    7 +++
 gles/cogl.c         |   49 +++++++++++++++++++----
 4 files changed, 86 insertions(+), 84 deletions(-)

commit 4df06650121279784c5de68d9296794e4e238bd6
Author: Tomas Frydrych <tf@openedhand.com>
Date:   Fri May 25 12:07:24 2007 +0000

    ClutterBehaviourEllipse api changes; z_camera calculation

 gl/cogl.c   |    6 +++++-
 gles/cogl.c |   10 +++++-----
 2 files changed, 10 insertions(+), 6 deletions(-)

commit 84257c98208ba55f6bc813013f59b83149a23876
Author: Matthew Allum <mallum@openedhand.com>
Date:   Fri May 25 10:56:09 2007 +0000

    2007-05-25  Matthew Allum  <mallum@openedhand.com>
    
            * Makefile.am:
            Install a default flavour .pc file.
    
            * clutter/clutter-actor.c:
            Translate units correctly for translate()
    
            * clutter/clutter-feature.h:
            Add new texture features.
    
            * clutter/clutter-fixed.h:
            Add clutter angle conversion defines.
    
            * clutter/clutter-group.c:
            Use cogl not GL. Dont recurse on show all.
    
            * clutter/clutter-private.h:
            Remove sync_viewport.
    
            * clutter/clutter-rectangle.c:
            Fix cogl typo.
    
            * clutter/clutter-stage.c:
            * clutter/clutter-stage.h:
            Add perspective settings. Remove viewport_sync.
            Add audience stubs. Fix up actor_at_pos a little (still broken)
    
            * clutter/clutter-texture.h:
            * clutter/clutter-texture.c:
            Redo pixel uploading. Add initial (disabled) YUV support.
    
            * clutter/clutter-timeline.c:
            Fire 'completed' signal when looping.
    
            * clutter/cogl/gl/cogl.c:
            Move some backend checks here.
    
            * clutter/glx/clutter-backend-glx.c:
            Actually check target display has GLX ext.
    
            * clutter/glx/clutter-stage-glx.c:
            Handle offscreen failing more gracefully.
    
            * examples/Makefile.am:
            Use AM_LDFLAGS.
    
            * clutter/clutter-main.c:
            * clutter/clutter-feature.c:
            * clutter/clutter-backend.c:
            * clutter/clutter-alpha.c:
            Fix a compile warnings.
    
            * tests/Makefile.am:
            * tests/test-offscreen.c:
            * tests/test-scale.c:
            More tests.

 gl/cogl.c |   36 +++++++++++++++++++++++++++---------
 1 files changed, 27 insertions(+), 9 deletions(-)

commit 4c01df36e6e7ef71c3bb8b5f4f156155f83ace3f
Author: Matthew Allum <mallum@openedhand.com>
Date:   Wed May 16 09:08:30 2007 +0000

    2007-05-16  Matthew Allum  <mallum@openedhand.com>
    
            * clutter/clutter-backend.c:
            * clutter/clutter-backend.h:
            * clutter/clutter-feature.c:
            * clutter/clutter-feature.h:
            * clutter/clutter-main.c:
            * clutter/clutter-main.h:
            * clutter/clutter-private.h:
            * clutter/clutter-stage.c:
            * clutter/cogl/cogl.h:
            * clutter/cogl/gl/cogl.c:
            * clutter/cogl/gles/cogl.c:
            * clutter/glx/clutter-backend-glx.c:
            * clutter/glx/clutter-backend-glx.h:
            * clutter/glx/clutter-glx.h:
            * clutter/glx/clutter-stage-glx.c:
            * clutter/glx/clutter-stage-glx.h:
            Rejig the features() foo, moving mostly into backends/cogl.

 cogl.h      |    2 +
 gl/cogl.c   |   68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 gles/cogl.c |    6 +++++
 3 files changed, 75 insertions(+), 1 deletions(-)

commit 9d709e3e678613ab49f687eb992c80ec6fee2db3
Author: Matthew Allum <mallum@openedhand.com>
Date:   Wed May 2 09:01:11 2007 +0000

    2007-05-02  Matthew Allum  <mallum@openedhand.com>
    
            * clutter/clutter-actor.c:
            * clutter/cogl/gles/cogl.c:
            Fix rotation + other fixed point cleanups.
    
            * clutter/clutter-texture.h:
            Sketch out an updated API.

 gles/cogl.c |  102 ++++------------------------------------------------------
 1 files changed, 7 insertions(+), 95 deletions(-)

commit d18e432b2284cdc87236153f703631b317f91e92
Author: Tomas Frydrych <tf@openedhand.com>
Date:   Tue May 1 20:13:15 2007 +0000

    fixed sign problem in cogl_setup_vieport

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

commit 7d5101ad616e1e6a956c9c3c590dc62614c0eb7a
Author: Matthew Allum <mallum@openedhand.com>
Date:   Tue May 1 15:26:12 2007 +0000

    2007-05-01  Matthew Allum  <mallum@openedhand.com>
    
            * clutter/clutter-rectangle.c:
            Comment out color match check for now as appears to be causing
            borders to always get pained.
    
            * clutter/clutter-texture.h:
            Add some format defines (unused as yet)
    
            * clutter/cogl/gles/cogl.c:
            * clutter/egl/clutter-stage-egl.c:
            * configure.ac:
            Various OpenGL ES backend related fixes and tweaks.

 gles/cogl.c |  162 +++++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 124 insertions(+), 38 deletions(-)

commit 35b6b769d51af849133b6b2acedb1f47381a0a2c
Author: Matthew Allum <mallum@openedhand.com>
Date:   Sat Apr 28 00:37:11 2007 +0000

    2007-04-28  Matthew Allum  <mallum@openedhand.com>
    
            * clutter/Makefile.am:
            * clutter/clutter-debug.h:
            * clutter/clutter-fixed.h:
            * clutter/clutter-main.c:
            * clutter/cogl/gles/Makefile.am:
            * clutter/cogl/gles/cogl-defines.h:
            * clutter/cogl/gles/cogl.c:
            * clutter/egl/clutter-backend-egl.c:
            * clutter/egl/clutter-backend-egl.h:
            * clutter/egl/clutter-stage-egl.c:
            * configure.ac:
            Populate most stubs for cogl GL/ES implementation.
            (against vincent - see http://svn.o-hand.com/repos/misc/ogles)
            Add various fixups to EGL backend.
            Code builds and runs (on 16bpp) but yet displays much (is close!)
    
            * clutter/pango/pangoclutter-render.c:
            comment out some rouge glBegin/end calls.

 gles/Makefile.am    |    5 +-
 gles/cogl-defines.h |   11 ++
 gles/cogl.c         |  356 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 3 files changed, 368 insertions(+), 4 deletions(-)

commit 90d634feeb61e9ce5c8e0e556d2a2ca22e44bbcf
Author: Matthew Allum <mallum@openedhand.com>
Date:   Fri Apr 27 21:13:06 2007 +0000

    2007-04-27  Matthew Allum  <mallum@openedhand.com>
    
            * clutter/Makefile.am:
            * clutter/clutter-actor.c:
            * clutter/clutter-clone-texture.c:
            * clutter/clutter-rectangle.c:
            * clutter/clutter-stage.c:
            * clutter/clutter-texture.c:
            * clutter/cogl/cogl.h:
            * clutter/cogl/gl/Makefile.am:
            * clutter/cogl/gl/cogl-defines.h:
            * clutter/cogl/gl/cogl.c:
            * clutter/cogl/gles/Makefile.am:
            * clutter/cogl/gles/cogl-defines.h:
            * clutter/cogl/gles/cogl.c:
            * clutter/glx/Makefile.am:
            * clutter/glx/clutter-stage-glx.c:
            * clutter/pango/Makefile.am:
            * clutter/pango/pangoclutter-render.c:
            * configure.ac:
            Add initial 'cogl' implementation. 'cogl' is a simple abstration
            layer over GL and GL/ES used by clutter internally. It should
            eventually allow clutter applications to be run on both GL and GL/ES
            with just a recompile as well as provide more debugging and potentially
            profiling information for GL and GL/ES usage.
    
            This commit contains the initial GL implementation.

 cogl.h              |  137 +++++++++--
 gl/Makefile.am      |    8 +-
 gl/cogl-defines.h   |  677 +++++++++++++++++++++++++++++++++++++++++++++++++++
 gl/cogl.c           |  437 ++++++++++++++++++++++++++++++++-
 gles/Makefile.am    |    3 +-
 gles/cogl-defines.h |  440 +++++++++++++++++++++++++++++++++
 gles/cogl.c         |   68 +++++-
 7 files changed, 1727 insertions(+), 43 deletions(-)

commit 40cd5aac016f253d6e289473d51faf175d9965a6
Author: Matthew Allum <mallum@openedhand.com>
Date:   Tue Mar 27 21:09:11 2007 +0000

    2007-03-27  Matthew Allum  <mallum@openedhand.com>
    
            * clutter/cogl/Makefile.am:
            * clutter/cogl/cogl.h:
            * clutter/cogl/gles/Makefile.am:
            * clutter/cogl/gles/cogl.c:
            Begin poplulating cogl GLES code.
    
            * configure.ac:
            * clutter/egl/clutter-event-egl.c:
            * clutter/egl/clutter-stage-egl.c:
            * clutter/egl/clutter-stage-egl.h:
            * clutter/egl/clutter-backend-egl.c:
            * clutter/egl/clutter-backend-egl.h:
            * clutter/egl/clutter-egl.h:
            Add initial EGL/X backend work mostly ported from backend branch.
            Builds but untested as yet.
    
            * clutter/glx/clutter-stage-glx.c:
            Only include XFixes Header if we have have it.
    
            * clutter/clutter-behaviour.c: (clutter_behaviour_apply):
            * clutter/clutter-behaviour.h:
            Add clutter_behaviour_is_applied()

 Makefile.am      |    6 ++-
 cogl.h           |   28 +++++++++++++++
 gles/Makefile.am |   17 +++++++++
 gles/cogl.c      |  103 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 152 insertions(+), 2 deletions(-)

commit 6898d9e6b3c18c7b810312d2a15b25d85971dd6f
Author: Emmanuele Bassi <ebassi@openedhand.com>
Date:   Tue Mar 27 09:38:35 2007 +0000

    Add header and compiler guards.

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

commit f7a7f5b32a0e907ed1730ad0b0fa0a5bf602f7ac
Author: Matthew Allum <mallum@openedhand.com>
Date:   Mon Mar 26 23:18:39 2007 +0000

    2007-03-27  Matthew Allum  <mallum@openedhand.com>
    
            * clutter/clutter-feature.c:
            Rejig ifdef's a little. Make drm vblanking Linux only.
    
            * clutter/clutter-stage.c:
            * clutter/clutter-stage.h:
            Add a perspective boxed type.
    
            * clutter/glx/clutter-stage-glx.c:
            Add some FIXMEs
    
            * clutter/Makefile.am:
            * clutter/cogl/Makefile.am:
            * clutter/cogl/cogl.h:
            * clutter/cogl/gl/Makefile.am:
            * clutter/cogl/gl/cogl.c:
            * configure.ac:
            Very initial work on 'cogl' GL/GLES abstraction/utility code.

 Makefile.am    |    3 ++
 cogl.h         |   59 ++++++++++++++++++++++++++++++++
 gl/Makefile.am |   17 +++++++++
 gl/cogl.c      |  102 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 181 insertions(+), 0 deletions(-)
