I have found a temporary solution below for this issue. But I am not sure if there will be any side effects. - do not call cogl_flush() after paint_func(actor) in ctk_effect_xxx_paint() functions - do not call ctk_effect_set_invalidate_effect_cache() after render to cached texture in ctk_effect_xxx_paint() functions
Regards, Jammy
On Sun, Sep 19, 2010 at 8:43 AM, Jammy Zhou jammy.zhou@linaro.org wrote:
Hi Alexander,
Yes, I also noticed this in the clutter reference manual. But no matter cogl_flush() is called or not, the results are the same. I think the frame buffer related operations in clutter_actor_paint affect this. I'm not so familiar with clutter, so I posted this topic here. :)
Regards, Jammy
On Fri, Sep 17, 2010 at 9:57 PM, Alexander Sack asac@linaro.org wrote:
Hi Jammy,
On Fri, Sep 17, 2010 at 5:23 AM, Jammy Zhou jammy.zhou@linaro.org wrote:
With the sequence above, the actor cannot be displayed on screen. But if
I
replace clutter_actor_paint with raw gles2 rendering to paint a simple triangle, the triangle can be shown correctly. So I guess clutter_actor_paint didn't render to the new created fbo. is it related
to
the cogl fixed pipeline?
I was told that "after clutter_actor_paint to render the actor to texture (clutter/cogl) the next step is to call cogl_flush ()".
Have you checked that cogl_flush properly called in this case?
--
- Alexander