wayland-protocols/staging
Pekka Paalanen 70442afc16 staging/color-management: replace two-piece TF
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>
2025-12-12 10:51:10 +02:00
..
alpha-modifier alpha-modifier: update description summary for get_surface request 2024-12-22 09:51:02 +00:00
color-management staging/color-management: replace two-piece TF 2025-12-12 10:51:10 +02:00
color-representation color-representation-v1: add protocol error for invalid chroma location 2025-07-24 15:28:22 +00:00
commit-timing commit-timing-v1: Add new protocol 2024-10-11 18:47:41 +00:00
content-type content-type: update description summary for get_surface_content_type request 2024-12-22 20:11:32 +00:00
cursor-shape cursor-shape: Add the 'all-resize' cursor shape 2025-02-28 08:35:39 -05:00
drm-lease drm-lease: nominate Simon Zeni as maintainer 2024-10-30 23:06:18 +00:00
ext-background-effect staging/ext-background-effect: fix capability value for blur 2025-06-25 15:51:54 +02:00
ext-data-control Add ext-data-control protocol 2024-10-25 13:10:22 +00:00
ext-foreign-toplevel-list protocols: Add GitLab contact information 2024-10-09 09:07:11 +00:00
ext-idle-notify ext-idle-notify: Allow for the ignoring of idle inhibitors 2025-01-13 06:49:42 -05:00
ext-image-capture-source protocols: Add GitLab contact information 2024-10-09 09:07:11 +00:00
ext-image-copy-capture ext-image-copy-capture: fix the error in the protocol description 2024-10-13 21:01:42 +08:00
ext-session-lock protocols: Add GitLab contact information 2024-10-09 09:07:11 +00:00
ext-transient-seat protocols: Add GitLab contact information 2024-10-09 09:07:11 +00:00
ext-workspace ext-workspace: fix a typo in the ext_workspace_handle_v1 description 2025-05-30 19:45:44 +03:00
fifo fifo-v1: Add new protocol 2024-10-11 13:29:33 -05:00
fractional-scale protocols: Add GitLab contact information 2024-10-09 09:07:11 +00:00
linux-drm-syncobj protocols: Add GitLab contact information 2024-10-09 09:07:11 +00:00
pointer-warp Add pointer warp protocol 2025-06-12 13:53:10 +00:00
security-context protocols: Add GitLab contact information 2024-10-09 09:07:11 +00:00
single-pixel-buffer single-pixel-buffer-v1: clarify create_u32_rgba_buffer 2025-06-09 08:32:41 +00:00
tearing-control protocols: Add GitLab contact information 2024-10-09 09:07:11 +00:00
xdg-activation protocols: Add GitLab contact information 2024-10-09 09:07:11 +00:00
xdg-dialog protocols: Add GitLab contact information 2024-10-09 09:07:11 +00:00
xdg-system-bell Add staging system bell protocol 2024-10-10 22:48:29 +00:00
xdg-toplevel-drag xdg-toplevel-drag: Add myself as co-maintainer 2024-11-20 13:29:08 -04:00
xdg-toplevel-icon protocols: Add GitLab contact information 2024-10-09 09:07:11 +00:00
xdg-toplevel-tag staging: add toplevel tag protocol 2025-04-02 16:16:43 +02:00
xwayland-shell protocols: Add GitLab contact information 2024-10-09 09:07:11 +00:00