texture unrealization in trunk is in a little bit of flux atm (waiting
on some potential COGL fixes/improvements). Could you log this a bug on
bugzilla nd assign it to 0.8 milestone so we dont lose track ?
Many thanks;
== Matthew
On Tue, 2008-05-20 at 17:22 +0300, Uygar Gumus wrote:
> Hi; i tried for current trunk version
> same problem continues.
> i changed clutter_texture_unrealize function clutter-texture.c as
> given below
>
> i comment out this part
>
> if (priv->local_data == NULL)
> {
> clutter_texture_save_to_local_data (texture);
> CLUTTER_NOTE (TEXTURE, "moved pixels into system mem");
> }
>
> then every thing works fine on the given platform?
>
> what can be the matter?
>
> The whole function is given below
>
>
> static void
> clutter_texture_unrealize (ClutterActor *actor)
> {
> ClutterTexture *texture;
> ClutterTexturePrivate *priv;
>
> texture = CLUTTER_TEXTURE(actor);
> priv = texture->priv;
>
> if (priv->texture == COGL_INVALID_HANDLE)
> return;
>
> /* there's no need to read the pixels back when unrealizing inside
> * a dispose run, and the dispose() call will release the GL
> * texture data as well, so we can safely bail out now
> */
> if (CLUTTER_PRIVATE_FLAGS (actor) & CLUTTER_ACTOR_IN_DESTRUCTION)
> return;
>
> CLUTTER_MARK();
>
> if (priv->fbo_source != COGL_INVALID_HANDLE)
> {
> /* Free up our fbo handle and texture resources, realize will
> recreate */
> cogl_offscreen_unref (priv->fbo_handle);
> priv->fbo_handle = COGL_INVALID_HANDLE;
> texture_free_gl_resources (texture);
> return;
> }
>
> if (clutter_feature_available (CLUTTER_FEATURE_TEXTURE_READ_PIXELS))
> {
> /* Move image data from video to main memory.
> * GL/ES cant do this - it probably makes sense
> * to move this kind of thing into a ClutterProxyTexture
> * where this behaviour can be better controlled.
> *
> * Or make it controllable via a property.
> */
> /*if (priv->local_data == NULL)
> {
> clutter_texture_save_to_local_data (texture);
> CLUTTER_NOTE (TEXTURE, "moved pixels into system mem");
> }*/
>
> texture_free_gl_resources (texture);
> }
>
> CLUTTER_NOTE (TEXTURE, "Texture unrealized");
> }
>
>
> On Tue, 2008-05-06 at 16:02 +0100, Matthew Allum wrote:
> > Hi;
> >
> > Is it possible you could try with trunk - these issues should be sorted
> > there. I.e new COGL Texture stuff, rewritten GTK widget (no xembed). Not
> > things we can easily backport however. 0.8 should not be far off now
> > though (aiming for June).
> >
> > == Matthew
> >
> > On Tue, 2008-05-06 at 10:11 +0300, Uygar Gumus wrote:
> > > Hi clutter experts
> > >
> > > We are developing a media application using clutter 0.6.2 version.
> > > Have some problems can you please help me.
> > >
> > > 1- g_main_loop_new problem
> > > We want to open a pop up menu when user hits a button using
> > > GMainLoop.
> > > As in descirption of GMainLoop and GtkDialog It is possible to
> > > create new instances of GMainLoop recursively to create pop up
> > > windows.
> > > I am created a pop up window class using clutter. This class has a
> > > group and actors in this group. When user hits a button that group
> > > will be shown and
> > > connect events take input focus via clutter_stage_set_key_focus
> > > function. This group is shown on the stage, but does not receive any
> > > key press events.
> > > because emit_event function in clutter_main.c guards against
> > > reentering by g_return_if_fail (lock == FALSE); (line 1186 v0.6.2).
> > > My main problem is showing pop up menu (which accepts key events) in
> > > a key press event scope.
> > > How can i create a pop up window with clutter or how can i let the
> > > pop up window to receive/emit the events.
> > >
> > > 2- texture_get_tile_pixbuf - glGetTexImage problem.
> > > Our target platform is VIA Intel Board. On this environment
> > > clutter_actor_destroy function fails for every ClutterTexture
> > > instances.
> > > When i trace the call stack, saw that call trace
> > > clutter_actor_destroy
> > > clutter_container_remove_actor
> > > clutter_group_real_remove
> > > clutter_actor_unparent
> > > clutter_actor_unrealize
> > > clutter_texture_unrealize
> > > clutter_texture_get_pixbuf
> > > texture_get_tile_pixbuf
> > >
> > > and than glGetTexImage call on line 1235 (clutter_texture,c v0.6.2)
> > > fails and application gets segmentation fault signal.
> > >
> > > glxinfo output for driver info for the board is
> > > OpenGL vendor string: VIA Technology
> > > OpenGL renderer string: Mesa DRI UniChrome 20060710 x86/MMX/SSE2
> > > OpenGL version string: 1.2 Mesa 6.5.1
> > > server glx vendor string: SGI
> > > server glx version string: 1.2
> > > client glx vendor string: SGI
> > > client glx version string: 1.4
> > >
> > > The same code runs safely on my regular pc.
> > >
> > > 3- destroying actors
> > > Whenever i call clutter_actor_destroy a get this assertion
> > > "clutter_actor_destroy: assertion `CLUTTER_IS_ACTOR (self)' failed"
> > > How does clutter makes memory management and ref count on actors. If
> > > i do not call clutter_actor_destroy, does this results memory leak?
> > >
> > > Thanks for your replies and the clutter works...
> > >
> > >
> > > --
> > > Uygar GUMUS
> > > VESTEK Elektronik Arastirma Gelistirme A.S.
> > > Adres : ITU Ayazaga Kampusu Ari 2-B/7
> > > 34469 Maslak / Istanbul
> > > Tel : 0212 285 21 20 dahili:147
> > > Faks : 0212 285 28 30
> > > e-mail : [EMAIL PROTECTED]
> >
> --
> Uygar GUMUS
> VESTEK Elektronik Arastirma Gelistirme A.S.
> Adres : ITU Ayazaga Kampusu Ari 2-B/7
> 34469 Maslak / Istanbul
> Tel : 0212 285 21 20 dahili:147
> Faks : 0212 285 28 30
> e-mail : [EMAIL PROTECTED]
--
To unsubscribe send a mail to [EMAIL PROTECTED]