GNOME Bugzilla – Bug 624571
Initial Clutter 1.4 support
Last modified: 2010-08-10 06:42:45 UTC
Track changes needed for switching to clutter 1.4 With this patches applied there are still some remaining issues: *) The shader code generator needs to be fixed to support locales not using "." as decimal separator see: http://bugzilla.clutter-project.org/show_bug.cgi?id=2219 This has no runtime impact other than a giant spam wave in stderr (as it falls back to the fixed function code that was in use in 1.2) *) The transition code causes some weird texture flickering (have not really verified it yet but it seems that the flickering only occurs when a transition effect is active / completed) Patches for some straight forward issue are attached.
Created attachment 166039 [details] [review] Check for TFP usage after actually setting the pixmap Starting with clutter 1.4 clutter / cogl only knows whether TFP is in use after setting the pixmap, so doing the check before setting the pixmap will just lead to a wrong message.
Created attachment 166040 [details] [review] [St] Switch to using CoglFramebuffer / CoglMaterial Needed to build against 1.4, but breaks backwards compatibility so bump the requirement.
Created attachment 166041 [details] [review] Drop custom ClutterActor.contains Clutter 1.4 does provide a native implementation
Comment on attachment 166039 [details] [review] Check for TFP usage after actually setting the pixmap please file this part as a mutter bug
Comment on attachment 166041 [details] [review] Drop custom ClutterActor.contains ok to commit after we move to 1.4 (for which I'm misusing "commit_after_freeze")
Created attachment 166404 [details] [review] [St] Use CoglHandle rather than CoglHandle* This breaks building on 1.4, and has always been wrong anyway.
(In reply to comment #0) > *) The transition code causes some weird texture flickering (have not really > verified it yet but it seems that the flickering only occurs when a transition > effect is active / completed) After doing some testing I can confirm that the transition code is indeed to blame. In particular "cogl_material_set_layer (priv->material, 0, priv->new_texture);" in setup_framebuffers() seems to be causing the flickering. (st-theme-node-transition.c) I still don't know why though, Robert said that we will take a look at it.
Comment on attachment 166404 [details] [review] [St] Use CoglHandle rather than CoglHandle* Pushed as per IRC review.
http://bugzilla.clutter-project.org/show_bug.cgi?id=2261 has a patch that fixes the remaining problem (or at least points to the right fix). Basically a simple logic error in tracking what was bound to texture unit 1 - so the texture from the interpolation effect was leaking into other actors that also use that texture unit.
(In reply to comment #9) > http://bugzilla.clutter-project.org/show_bug.cgi?id=2261 has a patch that fixes > the remaining problem (or at least points to the right fix). > > Basically a simple logic error in tracking what was bound to texture unit 1 - > so the texture from the interpolation effect was leaking into other actors that > also use that texture unit. Good catch, Robert suggested that something might be wrong with the flushing but I couldn't track it down.
Attachment 166041 [details] pushed as 3fb7cce - Drop custom ClutterActor.contains