-
Notifications
You must be signed in to change notification settings - Fork 24
Color management improvements #680
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR adds support for using display primaries advertised in a monitor's EDID for color management. The feature allows Jay to assume the display uses its native color gamut instead of pretending it uses sRGB primaries, potentially enabling more accurate colors and allowing color-managed applications to use the full gamut of wide-gamut displays.
- Adds a new
use-display-primariesboolean configuration option for outputs - Updates the wire protocol to version 23 with new events and requests for display primaries
- Refactors renderer code by extracting a
sync()helper method
Reviewed changes
Copilot reviewed 22 out of 22 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| wire/jay_randr.txt | Adds version 23 protocol with set_use_display_primaries request and display_primaries/use_display_primaries events |
| toml-spec/spec/spec.yaml | Adds use-display-primaries boolean field specification for Output configuration |
| toml-spec/spec/spec.generated.md | Generated documentation for the new use-display-primaries field |
| toml-spec/spec/spec.generated.json | Generated JSON schema for the new configuration option |
| toml-config/src/lib.rs | Applies the use_display_primaries setting from parsed configuration |
| toml-config/src/config/parsers/output.rs | Parses the use-display-primaries boolean field from TOML configuration |
| toml-config/src/config.rs | Adds use_display_primaries field to the Output struct |
| src/tree/output.rs | Implements set_use_display_primaries() and refactors visitor pattern with new visit_children() helper |
| src/tools/tool_client.rs | Updates tool client to support protocol version 23 |
| src/tasks/connector.rs | Initializes use_display_primaries to false for new connectors |
| src/renderer/renderer_base.rs | Adds sync() helper method to encapsulate GfxApiOpt::Sync operation |
| src/renderer.rs | Refactors to use new sync() helper method instead of direct ops.push |
| src/ifs/wl_output.rs | Implements color description logic to use display primaries when enabled and in default color space |
| src/ifs/jay_randr.rs | Implements protocol handlers and events for display primaries management |
| src/ifs/jay_compositor.rs | Updates compositor protocol version to 23 |
| src/damage.rs | Updates to use new renderer sync() method |
| src/config/handler.rs | Adds handler for ConnectorSetUseDisplayPrimaries configuration message |
| src/compositor.rs | Refactors dummy output creation to use PersistentOutputState::default() |
| src/cli/randr.rs | Adds CLI command and display output for the use-display-primaries setting |
| jay-config/src/video.rs | Adds public API set_use_display_primaries() method to Connector |
| jay-config/src/_private/ipc.rs | Adds ConnectorSetUseDisplayPrimaries IPC message |
| jay-config/src/_private/client.rs | Implements client-side connector_set_use_display_primaries() function |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
b0f7bc0 to
24fb933
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 22 out of 22 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
24fb933 to
8d6fb86
Compare
|
Thanks for an early christmas gift. 🙂 It might sound silly, but it makes a big difference for some of us obsessed with color accuracy and my colorimeter agrees! |
No description provided.