From 48145a91f9a1b32dcfaf6a75eb1d93c11719932e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20=C3=85dahl?= Date: Tue, 28 Nov 2023 21:35:47 +0100 Subject: [PATCH] monitor-config-manager: Let CRTC assignment transform be logical This means that it doesn't necessarily mean what transform / rotation the hardware resource gets, e.g. it instead represents the logical transform related to the configured mode. This allows us to postpone checking the plane capabilities until later (as rotation capabilities depends is a plane property), when a plane has been assigned. This was in practice already handled when configuring the transform-via-offscreen case, handled when creating the view, and the mode setting configuration. Part-of: --- src/backends/meta-monitor-config-manager.c | 9 +-------- src/tests/monitor-unit-tests.c | 6 +++--- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/src/backends/meta-monitor-config-manager.c b/src/backends/meta-monitor-config-manager.c index 6d81822e9..d5c86be5d 100644 --- a/src/backends/meta-monitor-config-manager.c +++ b/src/backends/meta-monitor-config-manager.c @@ -177,7 +177,6 @@ assign_monitor_crtc (MetaMonitor *monitor, MetaCrtc *crtc; MetaMonitorTransform transform; MetaMonitorTransform crtc_transform; - MetaMonitorTransform crtc_hw_transform; int crtc_x, crtc_y; float x_offset, y_offset; float scale = 0.0; @@ -209,12 +208,6 @@ assign_monitor_crtc (MetaMonitor *monitor, transform = data->logical_monitor_config->transform; crtc_transform = meta_monitor_logical_to_crtc_transform (monitor, transform); - if (meta_monitor_manager_is_transform_handled (data->monitor_manager, - crtc, - crtc_transform)) - crtc_hw_transform = crtc_transform; - else - crtc_hw_transform = META_MONITOR_TRANSFORM_NORMAL; meta_monitor_calculate_crtc_pos (monitor, mode, output, crtc_transform, &crtc_x, &crtc_y); @@ -256,7 +249,7 @@ assign_monitor_crtc (MetaMonitor *monitor, .crtc = crtc, .mode = crtc_mode, .layout = crtc_layout, - .transform = crtc_hw_transform, + .transform = crtc_transform, .outputs = g_ptr_array_new () }; g_ptr_array_add (crtc_assignment->outputs, output); diff --git a/src/tests/monitor-unit-tests.c b/src/tests/monitor-unit-tests.c index a95767283..e0d8605d6 100644 --- a/src/tests/monitor-unit-tests.c +++ b/src/tests/monitor-unit-tests.c @@ -7380,13 +7380,13 @@ meta_test_monitor_custom_second_rotated_nonnative_tiled_config (void) }, { .current_mode = 1, - .transform = META_MONITOR_TRANSFORM_NORMAL, + .transform = META_MONITOR_TRANSFORM_90, .x = 1024, .y = 0, }, { .current_mode = 1, - .transform = META_MONITOR_TRANSFORM_NORMAL, + .transform = META_MONITOR_TRANSFORM_90, .x = 1024, .y = 400, } @@ -7538,7 +7538,7 @@ meta_test_monitor_custom_second_rotated_nonnative_config (void) }, { .current_mode = 0, - .transform = META_MONITOR_TRANSFORM_NORMAL, + .transform = META_MONITOR_TRANSFORM_90, .x = 1024, } },