[mutter/gbsneto/content-part2: 366/366] shaped-texture: Update mipmap counters on invalidation
- From: Georges Basile Stavracas Neto <gbsneto src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter/gbsneto/content-part2: 366/366] shaped-texture: Update mipmap counters on invalidation
- Date: Thu, 17 Oct 2019 06:45:57 +0000 (UTC)
commit a838d2750e1f85b5d6be81f4abf09fcf93ee985a
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date: Fri Dec 28 02:57:26 2018 -0200
shaped-texture: Update mipmap counters on invalidation
src/compositor/meta-shaped-texture.c | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
---
diff --git a/src/compositor/meta-shaped-texture.c b/src/compositor/meta-shaped-texture.c
index e7b76ca8d..87a2bc443 100644
--- a/src/compositor/meta-shaped-texture.c
+++ b/src/compositor/meta-shaped-texture.c
@@ -684,6 +684,24 @@ do_paint_content (MetaShapedTexture *stex,
g_clear_pointer (&blended_tex_region, cairo_region_destroy);
}
+static void
+update_invalidation_counters (MetaShapedTexture *stex)
+{
+ stex->prev_invalidation = stex->last_invalidation;
+ stex->last_invalidation = g_get_monotonic_time ();
+
+ if (stex->prev_invalidation)
+ {
+ gint64 interval = stex->last_invalidation - stex->prev_invalidation;
+ gboolean fast_update = interval < MIN_MIPMAP_AGE_USEC;
+
+ if (!fast_update)
+ stex->fast_updates = 0;
+ else if (stex->fast_updates < MIN_FAST_UPDATES_BEFORE_UNMIPMAP)
+ stex->fast_updates++;
+ }
+}
+
static CoglTexture *
select_texture_for_paint (MetaShapedTexture *stex)
{
@@ -782,6 +800,8 @@ meta_shaped_texture_invalidate (ClutterContent *content)
{
MetaShapedTexture *stex = META_SHAPED_TEXTURE (content);
+ update_invalidation_counters (stex);
+
if (!stex->invalidate_func)
return;
@@ -793,6 +813,8 @@ meta_shaped_texture_invalidate_size (ClutterContent *content)
{
MetaShapedTexture *stex = META_SHAPED_TEXTURE (content);
+ update_invalidation_counters (stex);
+
if (!stex->invalidate_func)
return;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]