Skip to content

[css-color] Add display-p3-linear #12596

Closed

Description

@annevk

As per https://developer.apple.com/documentation/realitykit/construct-an-immersive-environment-for-visionos#Generate-efficient-textures Display P3 is the best color space for visionOS. Display P3 Linear would still require some conversion, but it's significantly less than with rec-2100-linear for instance. This is because it's very close to the final color space. And as a result display-p3-linear has better performance.

Therefore colleagues and I think it's a good idea to add display-p3-linear to CSS, 2D Canvas, etc.

Activity

  1. svgeesus commented on Aug 12, 2025

    @svgeesus
    Collaborator

    I can certainly see the benefit, and would be happy to add it given implementer interest and a CSSWG resolution.

  2. linked a pull request that will close this issue[css-color-4] Add display-p3-linear #12596 #12601on Aug 13, 2025
  3. svgeesus commented on Aug 19, 2025

    @svgeesus
    Collaborator

    @emilio Apple proposed this and Chrome is happy to add, do you have an opinion?

    (This is calculated as an intermediate step when converting to or from display-p3 so implementation is trivial, the proposal is just to expose it in CSS syntax)

  4. svgeesus commented on Aug 19, 2025

    @svgeesus
    Collaborator

    The CSS Working Group just discussed [css-color] Add display-p3-linear and agreed to the following:

    • RESOLUTION: add display-p3-linear to the predefined color-spaces
    The full IRC log of that discussion ChrisL: this fit nicely with hardware. in practice people use p3, but linear-p3 is calculated anyway
    ccameron: this space is coming from the Canvas world
    proposal: add display-p3-linear to the predefined color-spaces
    lea: maybe we should have linear version of all RGB color-spaces already existing
    ccameron: we could start with srgb, 2020
    s/lea: maybe we should have linear version of all color-spaces already existing/lea: maybe we should have linear version of all RGB color-spaces already existing/
    `RESOLUTION: add display-p3-linear to the predefined color-spaces`
  5. 6 remaining items

  6. romainmenke commented on Aug 20, 2025

    @romainmenke
    Member

    Should display-p3-linear also be added as an interpolation color space?
    I think this list is maintained separately.

  7. svgeesus commented on Aug 20, 2025

    @svgeesus
    Collaborator

    Thanks, good catch

  8. jonsneyers commented on Oct 9, 2025

    @jonsneyers

    Just a nitpick on the name: wouldn't it make more sense to call this simply p3-linear instead of display-p3-linear?

    My reasoning is like this: "P3" defines the color primaries, while the "Display" part indicates that it is using the transfer function of sRGB. This is in contrast with DCI-P3 which uses the same primaries as Display P3 but a different transfer function (a gamma 2.6).

    But of course if the transfer function is linear, then it's not the sRGB transfer function like in Display P3, and it feels a bit weird to include the display- part in the name.

  9. svgeesus commented on Oct 9, 2025

    @svgeesus
    Collaborator

    My reasoning is like this: "P3" defines the color primaries, while the "Display" part indicates that it is using the transfer function of sRGB. This is in contrast with DCI-P3 which uses the same primaries as Display P3 but a different transfer function (a gamma 2.6).

    No, that is not the only difference between them. The viewing conditions and the white point also differ between DCI P3 and Display P3.

  10. deleted a comment from cindymabe01-alt on Oct 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions