xserver/hw/xfree86/common
Michel Dänzer b4e46c0444 xfree86: Hook up colormaps and RandR 1.2 gamma code v6
Instead of breaking the former when the driver supports the latter,
hook them up so that the hardware LUTs reflect the combination of the
current colourmap and gamma states. I.e. combine the colourmap, the
global gamma value/ramp and the RandR 1.2 per-CRTC gamma ramps into one
combined LUT per CRTC.

Fixes e.g. gamma sliders not working in games.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=27222

v2:
* Initialize palette_size and palette struct members, fixes crash on
  server startup.
v3:
* Free randrp->palette in xf86RandR12CloseScreen, fixes memory leak.
v4:
* Call CMapUnwrapScreen if xf86RandR12InitGamma fails (Emil Velikov).
* Still allow xf86HandleColormaps to be called with a NULL loadPalette
  parameter in the xf86_crtc_supports_gamma case.
v5:
* Clean up inner loops in xf86RandR12CrtcComputeGamma (Keith Packard)
* Move palette update out of per-CRTC loop in xf86RandR12LoadPalette
  (Keith Packard)
v6:
* Handle reallocarray failure in xf86RandR12LoadPalette (Keith Packard)

Reviewed-by: Keith Packard <keithp@keithp.com>
2016-07-28 10:12:05 +09:00
..
.gitignore .gitignore: use common defaults with custom section #24239 2009-11-11 21:40:20 -08:00
Makefile.am vidmode: Remove stray vidmodeproc.h from EXTRA_DIST 2016-03-11 13:50:32 -05:00
compiler.h xfree86: Use same inb/outb asm code for i386 amd64 and ia64 2015-10-26 11:24:22 -04:00
dgaproc.h dga: Hide a bunch of implementation details 2015-07-08 16:40:58 -04:00
extramodes
fourcc.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
modeline2c.awk Remove some OS/2 leftovers. 2009-04-06 10:58:47 -04:00
vesamodes
xaarop.h xfree86: Drop some dead XAA decls from SDK headers 2012-07-25 14:03:31 -07:00
xf86.h xfree86: Provide xf86BlockSIGIO and xf86ReleaseSIGIO as wrappers for input mutex 2016-05-30 00:17:34 -07:00
xf86AutoConfig.c Replace 'sun' with '__sun' 2015-11-30 11:51:22 -05:00
xf86Build.h.in
xf86Bus.c Convert hw/xfree86 to new *allocarray functions 2015-04-21 16:58:08 -07:00
xf86Bus.h Replace 'pointer' type with 'void *' 2014-01-12 10:24:11 -08:00
xf86Config.c xfree86: Fix fallback driver sort order for Xorg -configure (v2) 2016-07-15 11:08:01 -04:00
xf86Config.h Replace 'pointer' type with 'void *' 2014-01-12 10:24:11 -08:00
xf86Configure.c dix: Squash some new gcc6 warnings 2016-04-29 11:19:58 -04:00
xf86Cursor.c Remove SIGIO support for input [v5] 2016-05-26 16:07:54 -07:00
xf86DGA.c dga: Hide a bunch of implementation details 2015-07-08 16:40:58 -04:00
xf86DPMS.c xfree86: don't force the screensaver off on DPMS unblank, merely suggest it 2014-07-14 08:39:50 +10:00
xf86Events.c Remove fd_set from Block/Wakeup handler API 2016-07-18 15:27:51 -04:00
xf86Extensions.c vidmode: move to a separate library of its own 2016-02-29 16:29:01 -05:00
xf86Extensions.h xf86: Re-export extension disable flags 2012-07-16 18:24:49 -07:00
xf86Globals.c xfree86: Remove xf86RegisterRootWindowProperty 2016-04-18 11:23:10 -04:00
xf86Helper.c xfree86: Hook up colormaps and RandR 1.2 gamma code v6 2016-07-28 10:12:05 +09:00
xf86InPriv.h xfree86/common: Warning fixes. Mostly const string handling. 2014-01-12 10:14:48 -08:00
xf86Init.c Remove fd_set from Block/Wakeup handler API 2016-07-18 15:27:51 -04:00
xf86Mode.c xfree86: Hide some pre-randr mode validation details 2015-07-08 16:40:57 -04:00
xf86Module.h Bump ABI versions to reflect block/wakeup handler API changes 2016-07-18 15:27:51 -04:00
xf86Opt.h xfree86/common: Warning fixes. Mostly const string handling. 2014-01-12 10:14:48 -08:00
xf86Option.c xfree86/common: Warning fixes. Mostly const string handling. 2014-01-12 10:14:48 -08:00
xf86Optionstr.h hw/xfree86: Lots of constant string support 2014-01-12 10:14:48 -08:00
xf86PM.c Remove SIGIO support for input [v5] 2016-05-26 16:07:54 -07:00
xf86PciInfo.h Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
xf86Priv.h Remove fd_set from Block/Wakeup handler API 2016-07-18 15:27:51 -04:00
xf86Privstr.h dix: Update some comments to reflect the new non-SIGIO input model 2016-06-08 11:36:32 -04:00
xf86RandR.c xfree86: Remove pointless xf86RandRCreateScreenResources 2014-07-29 09:53:01 -04:00
xf86VGAarbiter.c Remove readmask from screen block/wakeup handler 2016-07-18 15:27:51 -04:00
xf86VGAarbiter.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
xf86VGAarbiterPriv.h Remove readmask from screen block/wakeup handler 2016-07-18 15:27:51 -04:00
xf86VidMode.c vidmode: remove redundant DIX function 2016-02-29 16:29:14 -05:00
xf86Xinput.c xfree86: if ATTR_KEYBOARD is set, match for keyboards 2016-07-18 16:40:46 -04:00
xf86Xinput.h Drop valuator mask argument from GetKeyboardEvents 2015-03-13 12:31:21 +10:00
xf86cmap.c xfree86: Hook up colormaps and RandR 1.2 gamma code v6 2016-07-28 10:12:05 +09:00
xf86cmap.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
xf86fbBus.c xfree86: use udev to provide device enumeration for kms devices (v10) 2012-07-06 10:20:19 +01:00
xf86fbman.c Convert hw/xfree86 to new *allocarray functions 2015-04-21 16:58:08 -07:00
xf86fbman.h Replace 'pointer' type with 'void *' 2014-01-12 10:24:11 -08:00
xf86noBus.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
xf86pciBus.c Convert hw/xfree86 to new *allocarray functions 2015-04-21 16:58:08 -07:00
xf86pciBus.h xfree86: Make driver matching consistent 2014-07-07 16:11:00 -07:00
xf86platformBus.c xf86: don't add gpus from udev if autoAddGPU is set 2015-10-21 15:13:41 -04:00
xf86platformBus.h xfree86: Fallback to first platform device as primary 2014-08-21 20:03:48 -05:00
xf86sbusBus.c Convert hw/xfree86 to new *allocarray functions 2015-04-21 16:58:08 -07:00
xf86sbusBus.h Replace 'pointer' type with 'void *' 2014-01-12 10:24:11 -08:00
xf86str.h dix: Update some comments to reflect the new non-SIGIO input model 2016-06-08 11:36:32 -04:00
xf86xv.c Convert hw/xfree86 to new *allocarray functions 2015-04-21 16:58:08 -07:00
xf86xv.h xfree86: Remove xv clip notify driver hook 2014-09-26 15:27:18 -04:00
xf86xvmc.c Convert hw/xfree86 to new *allocarray functions 2015-04-21 16:58:08 -07:00
xf86xvmc.h Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
xf86xvpriv.h xfree86: Remove xv clip notify driver hook 2014-09-26 15:27:18 -04:00
xisb.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
xisb.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
xorgHelper.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
xorgVersion.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00