Hi all!
I have released an experimental package of clutter that includes two additional patches (relatively to the maverick package):
1. debian/patches/remove_cogl_gl_types.patch:
This patch removes all references to GL types and defines from the cogl and headers and additionally removes GL headers from cogl-defines.h. The reason for this patch is to ease cross-building of GLES2 clutter apps against libclutter-1.0-dev (instead of requiring libclutter-eglx-es20-1.0-dev). It also makes sense for Cogl (which is supposed to be an abstraction layer) to *not* force any particular GL header inclusion.
The side effect of this patch is that applications that need to directly use GL functions, types etc must explicitly include the GL headers of their choice instead of relying on clutter to do this for them.
This, of course, breaks some applications (clutk, mutter, gnome-shell to name a few) but the fix is trivial (just a correct GL header inclusion in the application itself).
2. debian/patches/rectangle-texture.patch:
This patch exports an API for explicitly creating rectangle textures. It uses code backported from the 1.3 branch plus some additions needed to produce a complete API (eg clutter_texture_rectangle_new_from_file()).
The purpose of this patch is to provide a GL-version-independent way for applications to use rectangle textures. This will make applications (eg mutter) GL agnostic and therefore make them more easy to package and use with different GL(ES) versions.
Note that upstream is planning on following this approach and explicitly exporting API to create specific texture types. Hopefully, they will implement this soon :)
For a simple test of this package (and especially the rectangle texture API) you can use the Cogl Basics example *with* the attached patch.
The Cogl Basics examples is at:
http://wiki.clutter-project.org/wiki/Cogl/CoglBasicsExample
The packaging branch is at:
lp:~linaro-user-platforms/ubuntu/maverick/clutter-1.0/clutter-1.0-texture-rectangle
and packages are in:
https://launchpad.net/~afrantzis/+archive/clutter-1.2
My next steps are to start patching clutk, mutter etc so that:
a. They build. b. They make use of the rectangle texture API where needed.
Any comments, feedback etc more than welcome :)
Thanks, Alexandros