[mutter/wip/garnacho/wayland-emulated-output-transform: 8/13] backends/native: Update onscreen to the right size for the legacy case
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter/wip/garnacho/wayland-emulated-output-transform: 8/13] backends/native: Update onscreen to the right size for the legacy case
- Date: Mon, 1 Aug 2016 11:36:04 +0000 (UTC)
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]