~vcs-imports/clutter/+git/clutter:tomeu/cogl2

Last commit made on 2012-06-11
Get this branch:
git clone -b tomeu/cogl2 https://git.launchpad.net/~vcs-imports/clutter/+git/clutter

Branch merges

Branch information

Name:
tomeu/cogl2
Repository:
lp:~vcs-imports/clutter/+git/clutter

Recent commits

5c26ab0... by Tomeu Vizoso <email address hidden>

Remove use of the deprecated function cogl_clip_push_window_rectangle

Use cogl_framebuffer_push_scissor_clip instead.

a6691c9... by Tomeu Vizoso <email address hidden>

Remove use of the deprecated function cogl_get_bitmasks

Instead, use the cogl_framebuffer_get_*_bits functions.

1f0b4dc... by Neil Roberts <email address hidden>

Add a material compatibility when building with --enable-cogl2

The material compatibility layer for CoglPipelines has been removed in
Cogl 2.0. This patch copies it into Clutter when --enable-cogl2 is
enabled to increase the chance that a Clutter application will work
unmodified with the Cogl 2.0 API. The API for setting a user program
is not included because there are no longer any equivalent pipeline
functions. Also any API that was using CoglMaterialLayer is not
included because the wrappers from Cogl were using internal functions
to access the layers in that case.

db700df... by Neil Roberts <email address hidden>

Add a --enable-cogl2 configure option to build against Cogl 2.0

The Cogl master branch has started removing API in preparation for a
Cogl 2.0 release which will be incompatible with the current API.
Clutter is already internally mostly using the new API via
experimental features so it can more or less already compile against
2.0. However the old Cogl API is effectively part of the Clutter API
because that is what actors use for drawing so Clutter can not
silently switch to a new Cogl API. To make testing the new Cogl API
easier it is still convenient to be able to build against Cogl 2.0 for
apps that don't care about the API break.

This adds an experimental configure option to make Clutter use the
next version of Cogl. When this is enabled CLUTTER_COGL2 will be
defined from the public Cogl headers so an application can decide to
use the newer Cogl API. Clutter internally now uses this in some
places where the new API is not available as experimental API.

This patch does not update any tests which depend on the old API but
instead just skips building them when the option is enabled.

Some features of Clutter are removed when the option is enabled. These
include ClutterShader and ClutterFixed.

The Cogl compatibility header has been expanded to define more
wrappers when CLUTTER_COGL2 is defined.

33375bc... by Neil Roberts <email address hidden>

clutter-shader-effect: Use CoglSnippets

Instead of using the legacy CoglProgram API, ClutterShaderEffect now
creates a pipeline with a CoglSnippet. The source code from the
application is written as if it was a complete shader source in the
global scope rather than as a snippet so the code is now wrapped
between a #define main .. and a #undef main so that it won't collide
with the main function that Cogl generates. This wrapped source is
then set as the declarations section on the snippet.

Previously the effect would store the application's uniform values in
a hash table and then flush them to the program whenever the effect is
painted. This has been removed and now the values are directly stored
on the pipeline which belongs to the effect. Each instance of the
effect gets its own pipeline so there is no need to have the extra
indirection of the hash table.

The effect API has a public function to retrieve the CoglProgram. In
order to avoid breaking this function the snippet is now copied into a
CoglShader and CoglProgram on demand whenever they are requested.

b2f5c5c... by Neil Roberts <email address hidden>

tests: Add a test for clutter_shader_effect_get_program

This adds another custom ClutterShaderEffect to the
actor-shader-effect test that calls clutter_shader_effect_get_program
to render the shader with its own material. The material has a
non-default color set to verify that the shader is being used from the
custom material.

7ce59cc... by Neil Roberts <email address hidden>

offscreen-effect: Make get_target virtual

The clutter_offscreen_effect_get_target function now goes through a
virtual method. This will be useful so that ClutterShaderEffect can
directly return a target with the right program attached instead of
having to modify the material returned by ClutterOffscreenEffect.

64f897c... by Jonh Wendell

Updated Brazilian Portuguese translation

e59a86d... by Fran DiƩguez

Updated Galician translations

0a2dfec... by Daniel Mustieles

Updated Spanish translation