After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 585012 - Add the root pixmap source actor to the stage
Add the root pixmap source actor to the stage
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: general
unspecified
Other All
: Normal normal
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
Depends on:
Blocks:
 
 
Reported: 2009-06-06 17:05 UTC by Owen Taylor
Modified: 2009-06-08 21:18 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Add the root pixmap source actor to the stage (3.00 KB, patch)
2009-06-06 17:05 UTC, Owen Taylor
reviewed Details | Review

Description Owen Taylor 2009-06-06 17:05:38 UTC
With clutter changes, we can now no longer clone an actor unless
it is part of a stage. So, we hide the root pixmap source, and
add it.

This means that the logic to free the source actor when the
last clone disappears no longer applies, since the stage will also
reference it; so we just leave the actor around permanently.
Comment 1 Owen Taylor 2009-06-06 17:05:41 UTC
Created attachment 136062 [details] [review]
Add the root pixmap source actor to the stage
Comment 2 Dan Winship 2009-06-07 01:02:11 UTC
isn't it kind of bad, video-memory-wise to keep an extra screen-sized texture around forever?

but anyway, the patch looks like it does what you said
Comment 3 Owen Taylor 2009-06-07 02:11:27 UTC
If the texture_from_pixmap GLX extension is in place and we have zero-copy texture-from-pixmap with DRI2, then the texture won't actually use any memory, other than a few bytes for the Clutter and Cogl objects. This is what we expect to to be the normal case in the future.

Otherwise, we have to choose between using the extra memory and scraping the background pixmap out of the X server every time we open the overlay. It's sort of a no-win situation.

Comment 4 Sander Dijkhuis 2009-06-07 10:19:02 UTC
Is
-  ClutterGLXTexturePixmap *root_pixmap;
+  ClutterActor *root_pixmap;
also part of Clutter's API changes, or is it just cleaner?

The patch looks good to me too and works well with Clutter 0.9 here. (I guess I cannot test with 1.0 until the other patches are applied.)
Comment 5 Owen Taylor 2009-06-08 21:18:11 UTC
(In reply to comment #4)
> Is
> -  ClutterGLXTexturePixmap *root_pixmap;
> +  ClutterActor *root_pixmap;
> also part of Clutter's API changes, or is it just cleaner?

Just a cleanup. It really shouldn't be part of this patch, but I was being lazy.

Pushed.