From: Michel Dänzer <[email protected]> Just use the RandR gamma ramp directly.
Fixes random on-monitor colours with drivers which don't call xf86HandleColormaps, e.g. modesetting. Signed-off-by: Michel Dänzer <[email protected]> --- hw/xfree86/modes/xf86RandR12.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/hw/xfree86/modes/xf86RandR12.c b/hw/xfree86/modes/xf86RandR12.c index 4e0e4a8..c28a4e0 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; } -- 2.8.1 _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel
