From: Daniel Stone <daniel@fooishbar.org> To: Harry Wentland <harry.wentland@amd.com> Cc: Sebastian Wick <sebastian.wick@redhat.com>, amd-gfx@lists.freedesktop.org, Pekka Paalanen <ppaalanen@gmail.com>, Uma Shankar <uma.shankar@intel.com>, dri-devel@lists.freedesktop.org, Joshua Ashton <joshua@froggi.es>, Vitaly.Prosyak@amd.com Subject: Re: [PATCH 3/3] drm/connector: Deprecate split for BT.2020 in drm_colorspace enum Date: Wed, 15 Feb 2023 11:46:39 +0000 [thread overview] Message-ID: <CAPj87rP0E17Z8beoDi_c+RdcpyZnCXTrxFkQSJUi0qN2GNoq+w@mail.gmail.com> (raw) In-Reply-To: <98d1d22a-1c29-5271-1eaf-89c962eb9678@amd.com> Hi, On Tue, 14 Feb 2023 at 16:57, Harry Wentland <harry.wentland@amd.com> wrote: > On 2/14/23 10:49, Sebastian Wick wrote: > From what I've seen recently I am inclined to favor an incremental > approach more. The reason is that any API, or portion thereof, is > useless unless it's enabled full stack. When it isn't it becomes > dead code quickly, or never really works because we overlooked > one thing. The colorspace debacle shows how even something as > simple as extra enum values in KMS APIs shouldn't be added unless > someone in a canonical upstream project actually uses them. I > would argue that such a canonical upstream project actually has > to be a production environment and not something like Weston. Just to chime in as well that it is a real production environment; it's probably actually shipped the most of any compositor by a long way. It doesn't have much place on the desktop, but it does live in planes, trains, automobiles, digital signage, kiosks, STBs/TVs, and about a billion other places you might not have expected. Probably the main factor that joins all these together - apart from not having much desktop-style click-and-drag reconfigurable UI - is that we need to use the hardware pipeline as efficiently as possible, because either we don't have the memory bandwidth to burn like desktops, or we need to minimise it for power/thermal reasons. Given that, we don't really want to paint ourselves into a corner with incremental solutions that mean we can't do fully efficient things later. We're also somewhat undermanned, and we've been using our effort to try to make sure that the full solution - including full colour-managed pathways for things like movie and TV post-prod composition, design, etc - is possible at some point through the full Wayland ecosystem at some point. The X11 experience was so horribly botched that it wasn't really possible without a complete professional setup, and that's something I personally don't want to see. However ... > I could see us getting to a fully new color pipeline API but > the only way to do that is with a development model that supports > it. While upstream needs to be our ultimate goal, a good way > to bring in new APIs and ensure a full-stack implementation is > to develop them in a downstream production kernel, alongside > userspace that makes use of it. Once the implementation is > proven in the downstream repos it can then go upstream. This > brings new challenges, though, as things don't get wide > testing and get out of sync with upstream quickly. The > alternative is the incremental approach. > > We should look at this from a use-case angle, similar to what > the gamescope guys are doing. Small steps, like: > 1) Add HDR10 output (PQ, BT.2020) to the display > 2) Add ability to do sRGB linear blending > 3) Add ability to do sRGB and PQ linear blending > 4) Post-blending 3D LUT > 5) Pre-blending 3D LUT > > At each stage the whole stack needs to work together in production. Personally, I do think at this stage we probably have enough of an understanding to be able to work with an intermediate solution. We just need to think hard about what that intermediate solution is - making sure that we don't end up in the same tangle of impossible semantics like the old 'broadcast RGB' / colorspace / HDR properties which were never thought through - so that it is something we can build on rather than something we have to work around. But it would be really good to make HDR10/HDR10+ media and HDR games work on HDR displays, yeah. Cheers, Daniel
WARNING: multiple messages have this Message-ID (diff)
From: Daniel Stone <daniel@fooishbar.org> To: Harry Wentland <harry.wentland@amd.com> Cc: "Sebastian Wick" <sebastian.wick@redhat.com>, amd-gfx@lists.freedesktop.org, "Pekka Paalanen" <ppaalanen@gmail.com>, "Uma Shankar" <uma.shankar@intel.com>, dri-devel@lists.freedesktop.org, "Joshua Ashton" <joshua@froggi.es>, "Ville Syrjälä" <ville.syrjala@linux.intel.com>, Vitaly.Prosyak@amd.com Subject: Re: [PATCH 3/3] drm/connector: Deprecate split for BT.2020 in drm_colorspace enum Date: Wed, 15 Feb 2023 11:46:39 +0000 [thread overview] Message-ID: <CAPj87rP0E17Z8beoDi_c+RdcpyZnCXTrxFkQSJUi0qN2GNoq+w@mail.gmail.com> (raw) In-Reply-To: <98d1d22a-1c29-5271-1eaf-89c962eb9678@amd.com> Hi, On Tue, 14 Feb 2023 at 16:57, Harry Wentland <harry.wentland@amd.com> wrote: > On 2/14/23 10:49, Sebastian Wick wrote: > From what I've seen recently I am inclined to favor an incremental > approach more. The reason is that any API, or portion thereof, is > useless unless it's enabled full stack. When it isn't it becomes > dead code quickly, or never really works because we overlooked > one thing. The colorspace debacle shows how even something as > simple as extra enum values in KMS APIs shouldn't be added unless > someone in a canonical upstream project actually uses them. I > would argue that such a canonical upstream project actually has > to be a production environment and not something like Weston. Just to chime in as well that it is a real production environment; it's probably actually shipped the most of any compositor by a long way. It doesn't have much place on the desktop, but it does live in planes, trains, automobiles, digital signage, kiosks, STBs/TVs, and about a billion other places you might not have expected. Probably the main factor that joins all these together - apart from not having much desktop-style click-and-drag reconfigurable UI - is that we need to use the hardware pipeline as efficiently as possible, because either we don't have the memory bandwidth to burn like desktops, or we need to minimise it for power/thermal reasons. Given that, we don't really want to paint ourselves into a corner with incremental solutions that mean we can't do fully efficient things later. We're also somewhat undermanned, and we've been using our effort to try to make sure that the full solution - including full colour-managed pathways for things like movie and TV post-prod composition, design, etc - is possible at some point through the full Wayland ecosystem at some point. The X11 experience was so horribly botched that it wasn't really possible without a complete professional setup, and that's something I personally don't want to see. However ... > I could see us getting to a fully new color pipeline API but > the only way to do that is with a development model that supports > it. While upstream needs to be our ultimate goal, a good way > to bring in new APIs and ensure a full-stack implementation is > to develop them in a downstream production kernel, alongside > userspace that makes use of it. Once the implementation is > proven in the downstream repos it can then go upstream. This > brings new challenges, though, as things don't get wide > testing and get out of sync with upstream quickly. The > alternative is the incremental approach. > > We should look at this from a use-case angle, similar to what > the gamescope guys are doing. Small steps, like: > 1) Add HDR10 output (PQ, BT.2020) to the display > 2) Add ability to do sRGB linear blending > 3) Add ability to do sRGB and PQ linear blending > 4) Post-blending 3D LUT > 5) Pre-blending 3D LUT > > At each stage the whole stack needs to work together in production. Personally, I do think at this stage we probably have enough of an understanding to be able to work with an intermediate solution. We just need to think hard about what that intermediate solution is - making sure that we don't end up in the same tangle of impossible semantics like the old 'broadcast RGB' / colorspace / HDR properties which were never thought through - so that it is something we can build on rather than something we have to work around. But it would be really good to make HDR10/HDR10+ media and HDR games work on HDR displays, yeah. Cheers, Daniel
next prev parent reply other threads:[~2023-02-15 11:46 UTC|newest] Thread overview: 86+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-02-03 2:07 [PATCH 1/3] drm/connector: Convert DRM_MODE_COLORIMETRY to enum Joshua Ashton 2023-02-03 2:07 ` Joshua Ashton 2023-02-03 2:07 ` [PATCH 2/3] drm/connector: Add enum documentation to drm_colorspace Joshua Ashton 2023-02-03 2:07 ` Joshua Ashton 2023-02-08 8:56 ` Pekka Paalanen 2023-02-08 8:56 ` Pekka Paalanen 2023-02-16 21:22 ` Harry Wentland 2023-02-16 21:22 ` Harry Wentland 2023-02-03 2:07 ` [PATCH 3/3] drm/connector: Deprecate split for BT.2020 in drm_colorspace enum Joshua Ashton 2023-02-03 2:07 ` Joshua Ashton 2023-02-03 10:39 ` Ville Syrjälä 2023-02-03 12:59 ` Sebastian Wick 2023-02-03 13:35 ` Ville Syrjälä 2023-02-03 13:52 ` Sebastian Wick 2023-02-03 14:02 ` Ville Syrjälä 2023-02-08 9:18 ` Pekka Paalanen 2023-02-08 14:49 ` Ville Syrjälä 2023-02-09 10:05 ` Pekka Paalanen 2023-02-09 10:05 ` Pekka Paalanen 2023-02-03 14:39 ` Harry Wentland 2023-02-03 15:19 ` Ville Syrjälä 2023-02-03 15:24 ` Harry Wentland 2023-02-03 16:00 ` Ville Syrjälä 2023-02-03 18:28 ` Harry Wentland 2023-02-03 18:56 ` Ville Syrjälä 2023-02-03 19:16 ` Harry Wentland 2023-02-03 19:25 ` Ville Syrjälä 2023-02-03 19:33 ` Harry Wentland 2023-02-08 10:03 ` Pekka Paalanen 2023-02-08 10:03 ` Pekka Paalanen 2023-02-03 19:34 ` Ville Syrjälä 2023-02-03 19:43 ` Harry Wentland 2023-02-04 6:09 ` Joshua Ashton 2023-02-06 9:47 ` Ville Syrjälä 2023-02-06 9:47 ` Ville Syrjälä 2023-02-06 17:16 ` Harry Wentland 2023-02-08 10:32 ` Pekka Paalanen 2023-02-08 10:32 ` Pekka Paalanen 2023-02-08 9:30 ` Pekka Paalanen 2023-02-08 9:30 ` Pekka Paalanen 2023-02-08 9:25 ` Pekka Paalanen 2023-02-08 9:25 ` Pekka Paalanen 2023-02-14 15:49 ` Sebastian Wick 2023-02-14 15:49 ` Sebastian Wick 2023-02-14 16:56 ` Harry Wentland 2023-02-14 19:45 ` Sebastian Wick 2023-02-14 19:45 ` Sebastian Wick 2023-02-14 20:04 ` Harry Wentland 2023-02-14 20:04 ` Harry Wentland 2023-02-15 9:40 ` Pekka Paalanen 2023-02-15 9:40 ` Pekka Paalanen 2023-02-15 20:45 ` Harry Wentland 2023-02-15 20:45 ` Harry Wentland 2023-02-14 20:10 ` Ville Syrjälä 2023-02-14 20:10 ` Ville Syrjälä 2023-02-14 21:18 ` Sebastian Wick 2023-02-14 21:18 ` Sebastian Wick 2023-02-14 21:27 ` Ville Syrjälä 2023-02-14 21:27 ` Ville Syrjälä 2023-02-15 10:01 ` Pekka Paalanen 2023-02-15 10:01 ` Pekka Paalanen 2023-02-15 10:33 ` Ville Syrjälä 2023-02-15 10:33 ` Ville Syrjälä 2023-02-15 11:46 ` Daniel Stone [this message] 2023-02-15 11:46 ` Daniel Stone 2023-02-15 20:54 ` Harry Wentland 2023-02-15 20:54 ` Harry Wentland 2023-02-15 22:07 ` Daniel Stone 2023-02-15 22:07 ` Daniel Stone 2023-02-03 14:52 ` Harry Wentland 2023-02-04 16:06 ` kernel test robot 2023-02-04 16:06 ` kernel test robot 2023-02-08 9:30 ` Pekka Paalanen 2023-02-08 9:30 ` Pekka Paalanen 2023-02-09 16:38 ` Joshua Ashton 2023-02-09 16:38 ` Joshua Ashton 2023-02-09 17:03 ` Simon Ser 2023-02-09 18:08 ` Ville Syrjälä 2023-02-10 9:37 ` Pekka Paalanen 2023-02-10 9:44 ` Simon Ser 2023-02-04 9:06 ` [PATCH 1/3] drm/connector: Convert DRM_MODE_COLORIMETRY to enum kernel test robot 2023-02-04 9:06 ` kernel test robot 2023-02-04 10:28 ` kernel test robot 2023-02-04 10:28 ` kernel test robot 2023-02-08 8:29 ` Pekka Paalanen 2023-02-08 8:29 ` Pekka Paalanen
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=CAPj87rP0E17Z8beoDi_c+RdcpyZnCXTrxFkQSJUi0qN2GNoq+w@mail.gmail.com \ --to=daniel@fooishbar.org \ --cc=Vitaly.Prosyak@amd.com \ --cc=amd-gfx@lists.freedesktop.org \ --cc=dri-devel@lists.freedesktop.org \ --cc=harry.wentland@amd.com \ --cc=joshua@froggi.es \ --cc=ppaalanen@gmail.com \ --cc=sebastian.wick@redhat.com \ --cc=uma.shankar@intel.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.