xserver/hw/xfree86
Mario Kleiner b5f9fcd50a xfree86/modes: Adapt xf86Randr12CrtcComputeGamma() for depth 30. (v2)
At screen depths > 24 bit, the color palettes passed into
xf86Randr12CrtcComputeGamma() can have a larger number of slots
than the crtc's hardware lut. E.g., at depth 30, 1024 palette
slots vs. 256 hw lut slots. This palette size > crtc gamma size
case is not handled yet and leads to silent failure, so gamma
table updates do not happen.

Add a new subsampling path for this case.

This makes lut updates work again, as tested with the xgamma
utility (uses XF86VidMode extension) and some RandR based
gamma ramp animation.

v2: Better resampling when subsampling the palette, as
    proposed by Ville. Now reaches the max index of the
    palette and deals with non-power-of-two sizes. Thanks.

Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
Reviewed-by: Antoine Martin <antoine@nagafix.co.uk> (v1)
Cc: <ville.syrjala@linux.intel.com>
2018-02-27 10:18:07 -05:00
..
common dga: #if XFreeXDGA → #ifdef XFreeXDGA 2018-02-19 13:14:43 -05:00
ddc Add a Meson build system alongside autotools. 2017-04-26 15:25:27 -07:00
dixmods miinitext: Load GLX on the mi path 2018-02-14 17:04:48 -05:00
doc docs: correct LoadExtensionList() documentation 2018-02-21 11:07:18 -05:00
dri hw/xfree86: unvalidated lengths 2017-10-10 23:33:44 +02:00
dri2 Use ARRAY_SIZE all over the tree 2017-10-30 13:45:20 -04:00
drivers modesetting: Fix fallback for lack of new vblank kernel API. 2018-02-27 10:02:05 -05:00
exa meson: Fix linkage of loadable modules for PE/COFF 2017-10-12 15:22:04 -04:00
fbdevhw fbdevhw: Fix inconsistent #if DEBUG usage 2017-10-20 13:15:25 -04:00
glamor_egl glamor: Make Xv extension initialize at depth 30. 2018-02-27 10:18:06 -05:00
i2c Add a Meson build system alongside autotools. 2017-04-26 15:25:27 -07:00
int10 meson: Silence -Wformat-nonliteral for x86emu 2017-10-20 13:15:35 -04:00
loader Use ARRAY_SIZE all over the tree 2017-10-30 13:45:20 -04:00
man xfree86: link to libinput(4) from the xorg.conf man page 2017-07-04 17:44:32 +10:00
modes xfree86/modes: Adapt xf86Randr12CrtcComputeGamma() for depth 30. (v2) 2018-02-27 10:18:07 -05:00
os-support xfree86: Remove xf86InterceptSignals 2017-12-13 11:11:38 -05:00
parser os, xfree86: Stop being so weird about <limits.h> 2017-05-12 09:49:07 -04:00
ramdac ramdac: Check ScreenPriv != NULL in xf86ScreenSetCursor() 2017-10-25 09:52:44 -04:00
shadowfb meson: Fix linkage of loadable modules for PE/COFF 2017-10-12 15:22:04 -04:00
utils xfree86: small memory leaks fixes 2016-09-28 14:53:39 -04:00
vbe meson: Build libvbe.so 2017-04-27 15:19:45 -04:00
vgahw meson: Build libvgahw.so 2017-04-27 15:19:41 -04:00
x86emu x86emu: Teach the debug code about varargs 2018-01-16 16:08:38 -05:00
xkb Move statically linked xorgxkb files from dixmods to a separate directory 2017-06-27 12:42:06 -04:00
.gitignore Xorg: Add Xorg.wrap to hw/xfree86/.gitignore 2014-04-18 11:39:16 +02:00
Makefile.am glx: Use vnd layer for dispatch (v4) 2018-02-14 17:04:44 -05:00
Xorg.sh.in xfree86: rename Xorg.bin to Xorg 2015-01-05 09:53:58 +10:00
meson.build glx: Use vnd layer for dispatch (v4) 2018-02-14 17:04:44 -05:00
sdksyms.sh Use #ifdef instead of #if for features to make Meson easier. 2017-04-26 17:30:12 -04:00
xorg-wrapper.c suid: Include sysmacros.h to fix build after glibc-2.25 2017-09-25 13:04:25 -04:00
xorgconf.cpp xfree86: fix wrong DontZap documentation (#71113) 2014-05-24 20:02:56 +10:00