[mutter] stage: Paint the untransformed swap region
- From: Marge Bot <marge-bot src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] stage: Paint the untransformed swap region
- Date: Tue, 20 Sep 2022 18:17:43 +0000 (UTC)
commit 73695995a77c823fd05f13300ed12fdee84cc8a1
Author: Sebastian Wick <sebastian wick redhat com>
Date: Mon Aug 22 13:08:53 2022 +0200
stage: Paint the untransformed swap region
Painting the swap region with CLUTTER_DEBUG_PAINT_DAMAGE_REGION happens
on the view framebuffer, so don't transform the region we paint to the
onscreen.
Fixes the swap region painting on rotated monitors.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2590>
src/backends/meta-stage-impl.c | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
---
diff --git a/src/backends/meta-stage-impl.c b/src/backends/meta-stage-impl.c
index b3f60645ab..ca6f1f44f4 100644
--- a/src/backends/meta-stage-impl.c
+++ b/src/backends/meta-stage-impl.c
@@ -633,17 +633,6 @@ meta_stage_impl_redraw_view_primary (MetaStageImpl *stage_impl,
COGL_TRACE_BEGIN_SCOPED (MetaStageImplRedrawViewSwapFramebuffer,
"Paint (swap framebuffer)");
- if (clutter_stage_view_get_onscreen (stage_view) !=
- clutter_stage_view_get_framebuffer (stage_view))
- {
- cairo_region_t *transformed_swap_region;
-
- transformed_swap_region =
- transform_swap_region_to_onscreen (stage_view, swap_region);
- cairo_region_destroy (swap_region);
- swap_region = transformed_swap_region;
- }
-
if (queued_redraw_clip)
{
cairo_region_t *swap_region_in_stage_space;
@@ -663,6 +652,17 @@ meta_stage_impl_redraw_view_primary (MetaStageImpl *stage_impl,
cairo_region_destroy (swap_region_in_stage_space);
}
+ if (clutter_stage_view_get_onscreen (stage_view) !=
+ clutter_stage_view_get_framebuffer (stage_view))
+ {
+ cairo_region_t *transformed_swap_region;
+
+ transformed_swap_region =
+ transform_swap_region_to_onscreen (stage_view, swap_region);
+ cairo_region_destroy (swap_region);
+ swap_region = transformed_swap_region;
+ }
+
swap_framebuffer (stage_window,
stage_view,
swap_region,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]