color: add get_windows_scrgb
The Windows flavor of scRGB color space for HDR cannot easily be
represented with the parametric image description factory. The reference
white level is unknown, and the target color volume / MDCV is unknown
yet negative and greater than one color channel values must be
supported. Also gamescope wants to support this without implementing
set_luminances
request.
I thought of writing a new factory for enumerated image descriptions,
but decided to reduce the boilerplate by making windows_scrgb
just
another feature flag in itself. If we need more enumerated image
descriptions, extending this way seems fine, all the support
advertisements are in the wp_color_manager_v1
interface anyway even if
they are specific to a factory.
It is not possible for a compositor to indicate Windows-scRGB as an output or a surface's preferred image description in this design. I cannot see the use for that given how much of the image description is essentially unknown, especially the reference white level.
Having Windows-scRGB is useful for supporting HDR applications and games written primarily for Windows. It is not meant for "native" Wayland applications, they can get better and more reliable results by using the parametric image description factory.
This is an alternative proposal to !78 (closed).
cc @frog, @swick, @Zamundaaa