kms/connector: Set DPMS and underscanning directly on the update

Instead of telling MetaKmsConnector fill a MetaKmsUpdate with connector
property changes, make the update itself aware of the changes, making
the impl side translate that to property changes.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1488>
This commit is contained in:
Jonas Ådahl
2020-07-14 16:48:47 +02:00
committed by Marge Bot
parent c1ce36f08e
commit ec7667fc31
8 changed files with 195 additions and 126 deletions

View File

@ -32,6 +32,7 @@
#include "backends/native/meta-kms-connector.h"
#include "backends/native/meta-kms-device.h"
#include "backends/native/meta-kms-mode.h"
#include "backends/native/meta-kms-update.h"
#include "backends/native/meta-kms-utils.h"
#include "backends/native/meta-crtc-kms.h"
#include "backends/native/meta-crtc-mode-kms.h"
@ -81,18 +82,17 @@ meta_output_kms_set_underscan (MetaOutputKms *output_kms,
meta_kms_connector_get_name (output_kms->kms_connector),
hborder, vborder);
meta_kms_connector_set_underscanning (output_kms->kms_connector,
kms_update,
hborder,
vborder);
meta_kms_update_set_underscanning (kms_update,
output_kms->kms_connector,
hborder, vborder);
}
else
{
g_debug ("Unsetting underscan of connector %s",
meta_kms_connector_get_name (output_kms->kms_connector));
meta_kms_connector_unset_underscanning (output_kms->kms_connector,
kms_update);
meta_kms_update_unset_underscanning (kms_update,
output_kms->kms_connector);
}
}
@ -111,9 +111,9 @@ meta_output_kms_set_power_save_mode (MetaOutputKms *output_kms,
meta_kms_connector_get_name (output_kms->kms_connector),
dpms_state);
meta_kms_connector_update_set_dpms_state (output_kms->kms_connector,
kms_update,
dpms_state);
meta_kms_update_set_dpms_state (kms_update,
output_kms->kms_connector,
dpms_state);
}
gboolean