crtc: Move configured state to separate struct

To make it more reliable to distinguish between values that are read
from the backend implementation (which is likely to be irrelevant for
anything but the backend implementation), split out those values (e.g.
layout).

This changes the meaning of what was MetaCrtc::rect, to a
MetaCrtcConfig::layout which is the layout the CRTC has in the global
coordinate space.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/1042
This commit is contained in:
Jonas Ådahl
2020-01-14 22:34:44 +01:00
parent a11f9bd513
commit fe42d56db3
20 changed files with 370 additions and 350 deletions

View File

@@ -64,11 +64,13 @@ meta_output_kms_set_underscan (MetaOutput *output,
if (output->is_underscanning)
{
MetaCrtc *crtc;
MetaCrtcConfig *crtc_config;
uint64_t hborder, vborder;
crtc = meta_output_get_assigned_crtc (output);
hborder = MIN (128, (uint64_t) round (crtc->current_mode->width * 0.05));
vborder = MIN (128, (uint64_t) round (crtc->current_mode->height * 0.05));
crtc_config = crtc->config;
hborder = MIN (128, (uint64_t) round (crtc_config->mode->width * 0.05));
vborder = MIN (128, (uint64_t) round (crtc_config->mode->height * 0.05));
g_debug ("Setting underscan of connector %s to %" G_GUINT64_FORMAT " x %" G_GUINT64_FORMAT,
meta_kms_connector_get_name (output_kms->kms_connector),