diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2014-09-07 17:20:29 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2014-09-07 17:22:12 +0100 |
commit | c17d3b5d5cdbda510a2b6955c3a171457ecde7e5 (patch) | |
tree | 691e4723feb016b33fa1ddc0d7e278510fdb78eb | |
parent | aa10f480c566b8523cdd49b3e23f64b7b9625987 (diff) |
sna: Compute clones on final ordering
The clones are indices into the output arrays, so recompute the clones
if we reorder the outputs.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r-- | src/sna/sna_display.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c index c972e316..2ba249aa 100644 --- a/src/sna/sna_display.c +++ b/src/sna/sna_display.c @@ -3874,6 +3874,7 @@ static void sort_config_outputs(struct sna *sna) { xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(sna->scrn); qsort(config->output, sna->mode.num_real_output, sizeof(*config->output), output_rank); + sna_mode_compute_possible_outputs(sna); } static void sort_randr_outputs(struct sna *sna, ScreenPtr screen) @@ -3999,7 +4000,6 @@ void sna_mode_discover(struct sna *sna) if (changed) { DBG(("%s: outputs changed, broadcasting\n", __FUNCTION__)); - sna_mode_compute_possible_outputs(sna); sna_mode_set_primary(sna); /* Reorder user visible listing */ @@ -5671,8 +5671,6 @@ bool sna_mode_pre_init(ScrnInfoPtr scrn, struct sna *sna) sna->mode.num_real_output = xf86_config->num_output; - sna_mode_compute_possible_outputs(sna); - sna->mode.max_crtc_width = res->max_width; sna->mode.max_crtc_height = res->max_height; |