Draft: Add HDR10 support
Everything, everywhere, all at once: this is the combination of !4977 + !4988 and:
-
Direct scanout support -
Mastering display metadata passthrough for direct scanout -
Set output image descriptions -
Set surface feedback image descriptions -
Read luminance from EDID -
Tone-mapping (better than a simple luminance multiplier)
The renderer naturally uses scRGB for blending since it doesn't clip and uses an FP16 intermediate buffer.
Sway patch: https://github.com/swaywm/sway/compare/master...emersion:hdr10
To test: checkout the Sway branch, start Sway with WLR_RENDERER=vulkan
, enable 10-bit buffer on your HDR monitor (output XXX render_bit_depth 10
), play an HDR video with mpv's latest commit and --vo=wayland-dmabuf
(latest release won't work)
Closes: #3941