-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
8326661: sun/java2d/cmm/ColorConvertOp/ColConvTest.java assumes profiles were generated by LCMS #18097
Conversation
…les were generated by LCMS
👋 Welcome back dmarkov! A progress list of the required criteria for merging this PR into |
@dmarkov20 The following label will be automatically applied to this pull request:
When this pull request is ready to be reviewed, an "RFR" email will be sent to the corresponding mailing list. If you would like to change these labels, use the /label pull request command. |
Webrevs
|
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.
The fix is to always use the accuracy which is used for the LCMS library, without trying to detect what colour profile is used. Right?
@dmarkov20 This change now passes all automated pre-integration checks. ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details. After integration, the commit message for the final commit will be:
You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed. At the time when this comment was updated there had been 87 new commits pushed to the
As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this automatic rebasing, please check the documentation for the /integrate command for further details. ➡️ To integrate this PR with the above commit message to the |
(isOpenProfile() ? 215.0 : 45.5), // PYCC | ||
(isOpenProfile() ? 56.0 : 47.5) // CIEXYZ | ||
215.0, // PYCC | ||
56.0 // CIEXYZ |
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.
All this change will delete all information about "old and good" values and start to use lcms thresholds for all profiles? I think it should be the opposite - use the good data for all except lcms(or any other not that good as jdk8 profiles), like we do it now.
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.
Actually the purpose of these particular tests is validation of the quality of the built-in color profiles.
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.
I agree, I reverted almost all changes except the ones in tolerance for non-LCMS profiles. That values need to be updated to make the test pass on JDKs (e.g. JDK 8u, etc) where non-LCMS profiles are used
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.
Could you please clarify what is the root cause of the problem. I assume you did not update the profiles itself, so what is the problem in the new lcms library?
It used to be OK until recent LCMS update where the CMM started to keep original profile ID instead of writing ‘lcms’ to returned header.
Do you mean that previously we always use lcms thresholds even for kcms related profiles?
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.
As far as I know there is no any issues with the new LCMS library. There was a bug in LCMS: it used to set ‘lcms’ as profile ID to the header. As a result we used lcms threshold even for non-LCMS (kcms, etc.) profiles in the test.
In LCMS 2.16 the problem with profile ID was fixed, see https://github.com/openjdk/jdk/pull/17382/files#diff-738d14c3b278e6d7297dbc4943e90cef33fc04d61eba085218a1229c92ea9a33R941
And the tests started failing for non-LCMS profiles.
It's not mentioned here, however, I think it's relevant to the discussion: the updated tests pass when the non-LCMS profiles from Java 8 are used. |
/integrate |
Going to push as commit 1f43fa0.
Your commit was automatically rebased without conflicts. |
@dmarkov20 Pushed as commit 1f43fa0. 💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored. |
Updated several tests to avoid potential failure with recent LCMS update and non-LCMS generated profile.
Progress
Issue
Reviewers
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/18097/head:pull/18097
$ git checkout pull/18097
Update a local copy of the PR:
$ git checkout pull/18097
$ git pull https://git.openjdk.org/jdk.git pull/18097/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 18097
View PR using the GUI difftool:
$ git pr show -t 18097
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/18097.diff
Webrev
Link to Webrev Comment