[mutter/wip/garnacho/wayland-emulated-output-transform: 8/13] backends/native: Update onscreen to the right size for the legacy case



commit 37aeececd656ceeea9537b09c3538ddadf71f47c
Author: Carlos Garnacho <carlosg gnome org>
Date:   Mon Aug 1 03:39:42 2016 +0200

    backends/native: Update onscreen to the right size for the legacy case
    
    Figure out the right framebuffer size after checking the current transform.

 src/backends/native/meta-renderer-native.c |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)
---
diff --git a/src/backends/native/meta-renderer-native.c b/src/backends/native/meta-renderer-native.c
index 8d418b4..30c41cf 100644
--- a/src/backends/native/meta-renderer-native.c
+++ b/src/backends/native/meta-renderer-native.c
@@ -904,6 +904,7 @@ meta_renderer_native_set_legacy_view_size (MetaRendererNative *renderer_native,
       struct gbm_surface *new_surface;
       EGLSurface new_egl_surface;
       cairo_rectangle_int_t view_layout;
+      MetaMonitorTransform transform;
 
       /*
        * Ensure we don't have any pending flips that will want
@@ -912,6 +913,8 @@ meta_renderer_native_set_legacy_view_size (MetaRendererNative *renderer_native,
       while (onscreen_native->next_fb_id != 0)
         meta_monitor_manager_kms_wait_for_flip (monitor_manager_kms);
 
+      transform = meta_renderer_native_get_legacy_transform (renderer_native);
+
       /* Need to drop the GBM surface and create a new one */
 
       if (!meta_renderer_native_create_surface (renderer_native,
@@ -956,9 +959,13 @@ meta_renderer_native_set_legacy_view_size (MetaRendererNative *renderer_native,
       };
       g_object_set (G_OBJECT (view),
                     "layout", &view_layout,
+                    "transform", transform,
                     NULL);
 
-      _cogl_framebuffer_winsys_update_size (framebuffer, width, height);
+      if (!meta_monitor_transform_is_rotated (transform))
+        _cogl_framebuffer_winsys_update_size (framebuffer, width, height);
+      else
+        _cogl_framebuffer_winsys_update_size (framebuffer, height, width);
     }
 
   meta_renderer_native_queue_modes_reset (renderer_native);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]