kwin/src/backends
Xaver Hugl c3c3f56e98 implement a proper tone mapping algorithm
Instead of just clipping when HDR content is brighter than the maximum luminance the
screen can show, when HDR metadata indicates this could happen, KWin now
- converts the rgb colors to ICtCp, to split luminance and color
- applies a tone mapping curve that maps the intensity component from
 - [0, reference] to [0, newReference] linearly
 - [reference, max content luminance] to [newReference, max display luminance] nonlinearly
- converts the resulting ICtCp color back to rgb

The result is that HDR content looks much, much better on SDR displays, at least when decent
HDR metadata is provided.
As wrong metadata could cause this tone mapping to wrongly kick in in games for example, the
environment variable KWIN_DISABLE_TONEMAPPING is provided to disable tone mapping and fall back
to clipping again instead.
2024-08-22 23:04:00 +02:00
..
drm implement a proper tone mapping algorithm 2024-08-22 23:04:00 +02:00
fakeinput fakeinput: Remove static touches list 2024-08-16 08:48:49 +00:00
libinput backends/libinput: don't apply pointer acceleration to touchpad gestures 2024-08-01 09:52:12 +00:00
virtual backends/drm: test direct scanout with the same code as presentation 2024-08-16 14:26:58 +02:00
wayland backends/drm: test direct scanout with the same code as presentation 2024-08-16 14:26:58 +02:00
x11 backends/drm: test direct scanout with the same code as presentation 2024-08-16 14:26:58 +02:00
CMakeLists.txt cmake: Allow not building kwin_x11 2024-07-16 06:47:43 +00:00