Three steps forward, one giant step back

Life with Clutter on OSX

First there was massive breakageimprovement to support multiple stages in clutter. It’s really good news for like clutter-gtk, allowing you to have multiple clutter embeds in an application. The bad news was that it changed the backend API and broke OSX build.

Somehow somewhere in the middle of relocating myself to London I managed to get the OSX backend back working again. But not before the shiny new cogl, another big rewrite landed, and broke the build again.

Good news

Little hacking later cogl is building again and multistage works on OSX. Once those, and a couple of other minor patches have been reviewed and committed clutter can be built on OSX again.

On top of that there’s a patch to make it possible to build clutter on OSX without gtk+ using instead Core Image (Quartz) to load the textures. Should make it a little bit easier to bootstrap the building process. It’s not as big a deal as one might think as clutter is in MacPorts now.

Bad news

The bad news is that with all the patches to make clutter build on OSX again it can produce weird artefacts or plain crash. I was assuming it had something to do with NPOT textures but after poking around with OpenGL Profiler I’m not so sure anymore. Using OpenGL Profiler can crash some clutter test programs, even the ones before cogl rewrite and multistage, with invalid memory access. Seems to happen only with the native driver and some combination of extensions and whatnot.

My totally unfounded guess is that I’ve gotten some reference counting wrong or missing locking somewhere, but so far any attempts to tweak things haven’t worked and I’m running out of ideas. Help?

1 comment so far ↓

#1 mallum on 05.27.08 at 2:25 am

Fantastic work on this so far sir.

Commented on the bug and sent some mails which hopefully may help.