st/icon: Rebuild shadows when the texture dimensions change

Not when the main actor dimensions change. So now the shadows don't get
constantly regenerated during the overview animation. In my case this
reduces the render time of the overview animation (tapping Super) by
approximately 10% with 2 windows, or 20% with 10 windows.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1869>
This commit is contained in:
Daniel van Vugt 2021-06-03 20:16:12 +08:00
parent c9558c9afa
commit a21058e6c9

View File

@ -359,7 +359,8 @@ st_icon_update_shadow_pipeline (StIcon *icon)
ClutterActorBox box; ClutterActorBox box;
float width, height; float width, height;
clutter_actor_get_allocation_box (CLUTTER_ACTOR (icon), &box); clutter_actor_get_allocation_box (CLUTTER_ACTOR (priv->icon_texture),
&box);
clutter_actor_box_get_size (&box, &width, &height); clutter_actor_box_get_size (&box, &width, &height);
if (priv->shadow_pipeline == NULL || if (priv->shadow_pipeline == NULL ||