[gtk/wip/chergert/glproto] fix cache reclamation
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/wip/chergert/glproto] fix cache reclamation
- Date: Tue, 16 Feb 2021 23:02:00 +0000 (UTC)
commit 1e0f8c4f08214b006c9afeea21e897f52844092d
Author: Christian Hergert <chergert redhat com>
Date: Tue Feb 16 15:09:44 2021 -0800
fix cache reclamation
we were never getting cache hits, oops.
gsk/next/gskgldriver.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
---
diff --git a/gsk/next/gskgldriver.c b/gsk/next/gskgldriver.c
index 626e84f457..03cb15a356 100644
--- a/gsk/next/gskgldriver.c
+++ b/gsk/next/gskgldriver.c
@@ -135,7 +135,7 @@ gsk_next_driver_collect_unused_textures (GskNextDriver *self,
if (t->user || t->permanent)
continue;
- if (t->last_used_in_frame < watermark)
+ if (t->last_used_in_frame <= watermark)
{
g_hash_table_iter_steal (&iter);
@@ -512,10 +512,14 @@ void
gsk_next_driver_begin_frame (GskNextDriver *self,
GskGLCommandQueue *command_queue)
{
+ gint64 last_frame_id;
+
g_return_if_fail (GSK_IS_NEXT_DRIVER (self));
g_return_if_fail (GSK_IS_GL_COMMAND_QUEUE (command_queue));
g_return_if_fail (self->in_frame == FALSE);
+ last_frame_id = self->current_frame_id;
+
self->in_frame = TRUE;
self->current_frame_id++;
@@ -532,7 +536,7 @@ gsk_next_driver_begin_frame (GskNextDriver *self,
* of the following frame instead of the end so that we reduce chances
* we block on any resources while delivering our frames.
*/
- gsk_next_driver_collect_unused_textures (self, self->current_frame_id);
+ gsk_next_driver_collect_unused_textures (self, last_frame_id - 1);
}
/**
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]