xserver/hw/xfree86
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
..
common xf86: Assign GPUs to screens according to configuration 2021-07-30 00:27:39 +00:00
ddc xfree86: fix gtf support detection for EDID 1.4 2021-04-06 11:25:42 +00:00
dixmods mi: List extensions in usage message 2021-01-29 12:52:09 +00:00
doc meson: Implement developer documentation build 2021-08-20 10:26:07 +00:00
dri Fix spelling/wording issues 2020-07-05 13:07:33 -07:00
dri2 dri2: Sync i965_pci_ids.h from mesa iris_pci_ids.h 2021-04-24 19:21:41 +00:00
drivers modesetting: Only use GAMMA_LUT if its size is 1024 2021-09-09 22:45:06 -07:00
exa meson: Install man pages 2018-03-27 10:28:33 -04:00
fbdevhw Fix spelling/wording issues 2020-07-05 13:07:33 -07:00
glamor_egl glamor: Make Xv extension initialize at depth 30. 2018-02-27 10:18:06 -05:00
i2c Fix spelling/wording issues 2020-07-05 13:07:33 -07:00
int10 int10: wrap entire V_ADDR_R* macros in parens for safer expansion 2020-11-17 18:43:39 -08:00
loader loader: strdup const string assigned to local variable name 2020-01-28 20:35:06 +00:00
man Update URL's in man pages 2020-05-10 17:46:33 -07:00
modes xfree86: Let xf86RandR12CrtcComputeGamma() deal with non-power-of-2 sizes. 2021-10-08 21:37:54 +03:00
os-support xfree86: NUL-terminate strings in hwEnableIO 2021-09-10 11:20:47 -07:00
parser Fix spelling/wording issues 2020-07-05 13:07:33 -07:00
ramdac xfree86: Take second reference for SavedCursor in xf86CursorSetCursor 2020-08-31 12:10:43 +02:00
shadowfb meson: Fix linkage of loadable modules for PE/COFF 2017-10-12 15:22:04 -04:00
utils xfree86/cvt: Drop cvt utility 2021-08-06 11:29:29 +00:00
vgahw Fix spelling/wording issues 2020-07-05 13:07:33 -07:00
x86emu Fix spelling/wording issues 2020-07-05 13:07:33 -07:00
xkb XKB: Add debug key actions for grabs & window tree 2020-07-31 05:25:50 +00:00
.gitignore Xorg: Add Xorg.wrap to hw/xfree86/.gitignore 2014-04-18 11:39:16 +02:00
Makefile.am xfree86: Merge vbe into int10 2019-10-02 10:03:26 -04:00
Xorg.sh.in xfree86: rename Xorg.bin to Xorg 2015-01-05 09:53:58 +10:00
meson.build meson: Implement developer documentation build 2021-08-20 10:26:07 +00:00
sdksyms.sh Consolidate fourcc.h 2020-09-15 11:43:16 +02:00
xorg-wrapper.c Fix various spelling errors 2019-10-01 17:05:28 +00:00
xorgconf.cpp Fix spelling/wording issues 2020-07-05 13:07:33 -07:00