[gtk/wip/otte/for-master: 3/4] glcontext: Store the updated area in the right place
- From: Benjamin Otte <otte src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/wip/otte/for-master: 3/4] glcontext: Store the updated area in the right place
- Date: Sat, 18 May 2019 15:11:00 +0000 (UTC)
commit b76eb96c581f2dd1f84dcb32171382062a7ba3ad
Author: Benjamin Otte <otte redhat com>
Date: Sat May 18 16:54:27 2019 +0200
glcontext: Store the updated area in the right place
We need to store the region *before* adding our own damage area, because
we want to only store the changes of this frame, not the whole history.
So do it in the same place Vulkan does it.
Fixes #1900
gdk/gdkglcontext.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
---
diff --git a/gdk/gdkglcontext.c b/gdk/gdkglcontext.c
index b36b721f49..12a77c827a 100644
--- a/gdk/gdkglcontext.c
+++ b/gdk/gdkglcontext.c
@@ -310,6 +310,12 @@ gdk_gl_context_real_begin_frame (GdkDrawContext *draw_context,
}
damage = GDK_GL_CONTEXT_GET_CLASS (context)->get_damage (context);
+
+ if (context->old_updated_area[1])
+ cairo_region_destroy (context->old_updated_area[1]);
+ context->old_updated_area[1] = context->old_updated_area[0];
+ context->old_updated_area[0] = cairo_region_copy (region);
+
cairo_region_union (region, damage);
cairo_region_destroy (damage);
@@ -341,11 +347,6 @@ gdk_gl_context_real_end_frame (GdkDrawContext *draw_context,
GDK_DRAW_CONTEXT_GET_CLASS (GDK_DRAW_CONTEXT (shared))->end_frame (GDK_DRAW_CONTEXT (shared), painted);
return;
}
-
- if (context->old_updated_area[1])
- cairo_region_destroy (context->old_updated_area[1]);
- context->old_updated_area[1] = context->old_updated_area[0];
- context->old_updated_area[0] = cairo_region_reference (painted);
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]