Commit 667ca85
drm: apple: Assume all RGB planes are sRGB
DCP enables us to specify a colourspace and transfer function for
each plane, and will automatically tonemap them to the connected
display's native colourspace. It also has a fallback "NATIVE"
colourspace that tells it to assume the input framebuffer has
already been transformed correctly. We were previously using this
fallback for all RGB framebuffers, however this is incorrect.
By convention, userspace treats the default colourspace as sRGB.
This is fine when a display is in sRGB mode, however modern
displays almost always cover a wider colour gamut out of the box,
This is true of the MacBook builtin displays, which have full DCI-P3
coverage. The result of passing through sRGB framebuffers as "native" is
oversaturated colours and bloomy highlights.
It is exceedingly rare for userspace to ever output RGB framebuffers
in non-sRGB colourspaces unless HDR is enabled, which we currently
do not support. Let's just tell DCP that all RGB framebuffers are
sRGB until the per-plane colour management patches are merged, at
which point we can revisit this logic to make it more accurate.
Signed-off-by: James Calligeros <jcalligeros99@gmail.com>1 parent b31ecd3 commit 667ca85
1 file changed
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
191 | 191 | | |
192 | 192 | | |
193 | 193 | | |
194 | | - | |
| 194 | + | |
195 | 195 | | |
196 | 196 | | |
197 | 197 | | |
| |||
0 commit comments