mirror of
https://gitlab.freedesktop.org/wayland/wayland-protocols.git
synced 2025-12-20 04:40:06 +01:00
ICC-based calibrated print workflows have generally used the sRGB two-piece transfer characteristic. The CRT era monitors were exclusively power curve, but print workflows used software calibration to meet the two-piece curve. Everyone else used the monitor native transfer characteristic. Acknowledge that both ways exist, and allow describing both as what they are. Mesa is already using "srgb" if it is available, for programs that actually expect gamma22. Exposing "srgb" with its literal definition would make a compositor (KWin has been named) appear regressing in picture quality. The same with "ext_srgb" as Mesa used to map VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT to it, probably incorrectly. sRGB is specified to use a power-law 2.2 display, and reality is not consistent. Some compositors take srgb to mean gamma22 already, so there is practical ambiguity. There are also endless discussions about which one sRGB actually is and when: power-law 2.2 or the piece-wise function. Monitors are manufactured both ways and they are often even switchable between the two. Therefore deprecate the "srgb" value, it is too easy to pick and assume one behavior while someone else assumes the other behavior. Additionally, extending the range beyond 1.0 would significantly diverge between srgb and gamma22 because of the different exponent. Assuming that ext_srgb is identical to srgb for [0.0, 1.0] would conflict with a compositor that takes srgb as gamma22 but implements ext_srgb by the piece-wise function. Given that monitors with the piece-wise function exist or are calibrated to it, and materials are prepared on them, add a new value explicitly for the sRGB piece-wise function. Its name deliberately does not include "srgb". Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com> |
||
|---|---|---|
| .. | ||
| alpha-modifier | ||
| color-management | ||
| color-representation | ||
| commit-timing | ||
| content-type | ||
| cursor-shape | ||
| drm-lease | ||
| ext-background-effect | ||
| ext-data-control | ||
| ext-foreign-toplevel-list | ||
| ext-idle-notify | ||
| ext-image-capture-source | ||
| ext-image-copy-capture | ||
| ext-session-lock | ||
| ext-transient-seat | ||
| ext-workspace | ||
| fifo | ||
| fractional-scale | ||
| linux-drm-syncobj | ||
| pointer-warp | ||
| security-context | ||
| single-pixel-buffer | ||
| tearing-control | ||
| xdg-activation | ||
| xdg-dialog | ||
| xdg-system-bell | ||
| xdg-toplevel-drag | ||
| xdg-toplevel-icon | ||
| xdg-toplevel-tag | ||
| xwayland-shell | ||