xserver/hw
Mario Kleiner 473a48660f xfree86: Let xf86RandR12CrtcComputeGamma() deal with non-power-of-2 sizes.
The assumption in the upsampling code was that the crtc->gamma_size
size of the crtc's gamma table is a power of two. This is true for
almost all current driver + gpu combos at least on Linux, with typical
sizes of 256, 512, 1024 or 4096 slots.

However, Intel Gen-11 Icelake and later are outliers, as their gamma
table has 2^18 + 1 slots, very big and not a power of two!

Try to make upsampling behave at least reasonable: Replicate the
last gamma value to fill up remaining crtc->gamma_red/green/blue
slots, which would normally stay uninitialized. This is important,
because while the intel display driver does not actually use all
2^18+1 values passed as part of a GAMMA_LUT, it does need the
very last slot, which would not get initialized by the old code.

This should hopefully create reasonable behaviour with Icelake+
but is untested on the actual Intel hw due to lack of suitable
hw.

Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
(cherry picked from commit 7326e131df)
2021-10-08 21:37:54 +03:00
..
kdrive mi: List extensions in usage message 2021-01-29 12:52:09 +00:00
vfb mi: List extensions in usage message 2021-01-29 12:52:09 +00:00
xfree86 xfree86: Let xf86RandR12CrtcComputeGamma() deal with non-power-of-2 sizes. 2021-10-08 21:37:54 +03:00
xnest mi: List extensions in usage message 2021-01-29 12:52:09 +00:00
xquartz French text in Preferences Pane Review 2021-04-07 16:19:24 -07:00
xwin mi: List extensions in usage message 2021-01-29 12:52:09 +00:00
Makefile.am Drop XWayland DDX 2021-09-15 21:49:17 +03:00
meson.build Drop XWayland DDX 2021-09-15 21:49:17 +03:00