On Wed, 27 Feb 2019 13:47:07 -0700 Chris Murphy <li...@colorremedies.com> wrote:
> On Wed, Feb 27, 2019 at 5:27 AM Pekka Paalanen <ppaala...@gmail.com> wrote: > > > > there is a single, unambiguous answer on Wayland: the compositor owns > > the pipeline. Therefore we won't have the kind of problems you describe > > above. > > > > These are the very reasons I am against adding any kind of protocol > > extension that would allow a client to directly touch the pipeline or > > to bypass the compositor. > > Well you need a client to do display calibration which necessarily > means altering the video LUT (to linear) in order to do the > measurements from which a correction curve is computed, and then that > client needs to install that curve into the video LUT. Now, colord > clearly has such capability, as it's applying vcgt tags in ICC > profiles now. If colord can do it, then what prevents other clients > from doing it? Hi Chris, there is no need to expose hardware knobs like LUT etc. directly in protocol even for measuring. We can have a special, privileged protocol extension for measurement apps, where the measuring intent is explicit, and the compositor can prepare the hardware correctly. This also avoids updating the measurement apps to follow the latest hardware features which the compositor might be using already. An old measurement app could be getting wrong result because it didn't know how to reset a new part in the pipeline that the compositor is using. Hence the compositor owns the pipeline at all times. Permanently setting the new pipeline parameters is compositor configuration - you wouldn't want to have to run the measurement app on every boot to just install the right parameters. Compositor configuration is again compositor specific. The privileged protocol extension could have a way to deliver the new output color profile to the compositor, for the compositor to save and apply it with any methods it happens to use. You cannot assume that the compositor will actually program "the hardware LUT" to achieve that, since there are many other ways to achieve the same and hardware capabilities vary. Nowadays there is often much more than just one LUT. Furthermore, in my recent reply to Niels' color management extension proposal I derived a case from the proposal where a compositor would be forced to use an identity LUT and instead do all transformation during rendering. Colord is not a client. Colord is currently called from a weston plugin, the plugin has access to the compositor internal API to set up a LUT. Colord cannot do it on its own. Thanks, pq
pgp4phzQA_c8v.pgp
Description: OpenPGP digital signature
_______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel