xserver: Branch 'master' - 2 commits

Keith Packard keithp at kemper.freedesktop.org
Sat Aug 13 16:13:21 UTC 2016


 0 files changed

New commits:
commit 387d6b5df3e11de5cb88db8a559128fcb62e4e5a
Merge: d2558f0 8bb9d46
Author: Keith Packard <keithp at keithp.com>
Date:   Sat Aug 13 09:12:19 2016 -0700

    Merge remote-tracking branch 'daenzer/for-master'

commit 8bb9d460fbc82ee5d6f87e1d11cfa52f4f3072ee
Author: Michel Dänzer <michel.daenzer at amd.com>
Date:   Fri Jul 29 17:38:21 2016 +0900

    xfree86/modes: Handle no palette case better in xf86RandR12CrtcSetGamma
    
    Just use the RandR gamma ramp directly.
    
    Fixes random on-monitor colours with drivers which don't call
    xf86HandleColormaps, e.g. modesetting.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97154
    
    Reviewed-by: Alex Deucher <alexander.deucher at amd.com>

diff --git a/hw/xfree86/modes/xf86RandR12.c b/hw/xfree86/modes/xf86RandR12.c
index 1e9cbd3..b136123 100644
--- a/hw/xfree86/modes/xf86RandR12.c
+++ b/hw/xfree86/modes/xf86RandR12.c
@@ -1310,9 +1310,17 @@ xf86RandR12CrtcSetGamma(ScreenPtr pScreen, RRCrtcPtr randr_crtc)
 
     if (randrp->palette_size) {
         xf86RandR12CrtcComputeGamma(pScreen, randr_crtc);
-        xf86RandR12CrtcReloadGamma(randr_crtc);
+    } else {
+        memcpy(crtc->gamma_red, randr_crtc->gammaRed,
+               crtc->gamma_size * sizeof(crtc->gamma_red[0]));
+        memcpy(crtc->gamma_green, randr_crtc->gammaGreen,
+               crtc->gamma_size * sizeof(crtc->gamma_green[0]));
+        memcpy(crtc->gamma_blue, randr_crtc->gammaBlue,
+               crtc->gamma_size * sizeof(crtc->gamma_blue[0]));
     }
 
+    xf86RandR12CrtcReloadGamma(randr_crtc);
+
     return TRUE;
 }
 


More information about the xorg-commit mailing list