From 30044b2253c2dd51e1aedb2f897159c657ca8f0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michel=20D=C3=A4nzer?= Date: Wed, 5 Dec 2018 18:31:27 +0100 Subject: [PATCH] xfree86/modes: Don't clobber gamma LUT of compatibility output's CRTC If the driver calls xf86HandleColormaps, CMapChangeGamma updates the HW gamma LUT of all CRTCs via xf86RandR12LoadPalette. However, xf86RandR12ChangeGamma was then clobbering the gamma LUT of the RandR 1.2 compatibility output's CRTC with the gamma curves computed from the screen's global gamma values. Fix this by bailing if xf86RandR12LoadPalette is installed. Fixes: 02ff0a5d7e32 "xf86RandR12: Fix XF86VidModeSetGamma triggering a BadImplementation error" --- hw/xfree86/modes/xf86RandR12.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/xfree86/modes/xf86RandR12.c b/hw/xfree86/modes/xf86RandR12.c index b49d4c789..34f2652bf 100644 --- a/hw/xfree86/modes/xf86RandR12.c +++ b/hw/xfree86/modes/xf86RandR12.c @@ -2019,7 +2019,7 @@ xf86RandR12ChangeGamma(ScrnInfoPtr pScrn, Gamma gamma) RRCrtcPtr randr_crtc = xf86CompatRRCrtc(pScrn); int size; - if (!randr_crtc) + if (!randr_crtc || pScrn->LoadPalette == xf86RandR12LoadPalette) return Success; size = max(0, randr_crtc->gammaSize);