From 6e3f45e028b36f5c1c95fe4f7e01d41d0887134d Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Sat, 7 Feb 2015 10:21:03 +0000 Subject: [PATCH] sna: Use PrimaryOutput as CRTC source when drawable is offscreen Signed-off-by: Chris Wilson --- src/sna/sna_display.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c index 080ee19d..31a0ae9e 100644 --- a/src/sna/sna_display.c +++ b/src/sna/sna_display.c @@ -357,11 +357,17 @@ const struct ust_msc *sna_crtc_last_swap(xf86CrtcPtr crtc) xf86CrtcPtr sna_mode_first_crtc(struct sna *sna) { - xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(sna->scrn); + rrScrPrivPtr rr = rrGetScrPriv(xf86ScrnToScreen(sna->scrn)); + if (rr && rr->primaryOutput) { + xf86OutputPtr output = rr->primaryOutput->devPrivate; + if (output->crtc && to_sna_crtc(output->crtc)) + return output->crtc; + } + if (sna->mode.num_real_crtc) - return config->crtc[0]; - else - return NULL; + return XF86_CRTC_CONFIG_PTR(sna->scrn)->crtc[0]; + + return NULL; } #ifndef NDEBUG