Skip to content
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

8252070: Some platform-specific BLIT optimizations are not effective #121

Closed
wants to merge 1 commit into from

Conversation

@mrserb
Copy link
Member

@mrserb mrserb commented Sep 10, 2020

Some of our code assumes that the native system(XRender, D3D, OGL) makes some
effective optimizations, but in some cases, we can do better.

One of the areas for improvement is direct blitting. If the source is much
bigger than the destination we should not try to copy to the non-existent area
and could cut coordinates accordingly.

The actual change is:
951 Rectangle dst =
952 new Rectangle(dx, dy, w, h).intersection(dstData.getBounds());
953 if (dst.isEmpty()) {
972 // return
975 }
979 sx += dst.x - dx;
980 sy += dst.y - dy;

See performance data and some additional comments:
https://bugs.openjdk.java.net/browse/JDK-8252070?focusedCommentId=14365864&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-14365864

The old review request:
https://mail.openjdk.java.net/pipermail/2d-dev/2020-August/011007.html


Progress

  • Change must not contain extraneous whitespace
  • Commit message must refer to an issue
  • Change must be properly reviewed

Issue

  • JDK-8252070: Some platform-specific BLIT optimizations are not effective

Reviewers

Download

$ git fetch https://git.openjdk.java.net/jdk pull/121/head:pull/121
$ git checkout pull/121

@bridgekeeper
Copy link

@bridgekeeper bridgekeeper bot commented Sep 10, 2020

👋 Welcome back serb! A progress list of the required criteria for merging this PR into master will be added to the body of your pull request. There are additional pull request commands available for use with this pull request.

@mrserb mrserb marked this pull request as ready for review Sep 10, 2020
@openjdk
Copy link

@openjdk openjdk bot commented Sep 10, 2020

@mrserb The following label will be automatically applied to this pull request: 2d.

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 (add|remove) "label" command.

@mlbridge
Copy link

@mlbridge mlbridge bot commented Sep 10, 2020

Webrevs

@prrace
prrace approved these changes Sep 13, 2020
@openjdk
Copy link

@openjdk openjdk bot commented Sep 13, 2020

@mrserb This change now passes all automated pre-integration checks. In addition to the automated checks, the change must also fulfill all project specific requirements

After integration, the commit message will be:

8252070: Some platform-specific BLIT optimizations are not effective

Reviewed-by: prr, jdv
  • If you would like to add a summary, use the /summary command.
  • To credit additional contributors, use the /contributor command.
  • To add additional solved issues, use the /issue command.

Since the source branch of this PR was last updated there have been 97 commits pushed to the master branch:

  • 83b0537: 8253291: bug7072653.java still failed "Popup window height ... is wrong"
  • d27835b: 8249142: java/awt/FontClass/CreateFont/DeleteFont.sh is unstable
  • 1438ce0: 8252188: Crash in OrINode::Ideal(PhaseGVN*, bool)+0x8b9
  • 224a30f: 8252311: AArch64: save two words in itable lookup stub
  • 22f7af7: 8253317: The "com/apple/eawt" is missed in the "othervm.dirs" config option
  • f55dd9d: 8251548: Remove unnecessary explicit initialization of volatile variables in security-libs code
  • d35b117: 8253361: Shenandoah: runtime barrier does not honor ShenandoahSelfFixing flag
  • f37c34d: 8253270: Limit fastdebug inlining in G1 evacuation
  • 8904420: 8253153: Mentioning of "hour-of-minute" in java.time.temporal.TemporalField JavaDoc
  • 52c28b8: 8253239: Disable VS warning C4307
  • ... and 87 more: https://git.openjdk.java.net/jdk/compare/488022689f690a8b0466b1a10d0a21408f1cbb61...master

As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid automatic rebasing, please merge master into your branch, and then specify the current head hash when integrating, like this: /integrate 83b05373a1fe68e1bc83f989ca783b2cdf2e5e33.

➡️ To integrate this PR with the above commit message to the master branch, type /integrate in a new comment.

@openjdk openjdk bot added the ready label Sep 13, 2020
@mrserb
Copy link
Member Author

@mrserb mrserb commented Sep 20, 2020

/integrate

@openjdk openjdk bot closed this Sep 20, 2020
@openjdk openjdk bot added integrated and removed ready rfr labels Sep 20, 2020
@openjdk
Copy link

@openjdk openjdk bot commented Sep 20, 2020

@mrserb Since your change was applied there have been 97 commits pushed to the master branch:

  • 83b0537: 8253291: bug7072653.java still failed "Popup window height ... is wrong"
  • d27835b: 8249142: java/awt/FontClass/CreateFont/DeleteFont.sh is unstable
  • 1438ce0: 8252188: Crash in OrINode::Ideal(PhaseGVN*, bool)+0x8b9
  • 224a30f: 8252311: AArch64: save two words in itable lookup stub
  • 22f7af7: 8253317: The "com/apple/eawt" is missed in the "othervm.dirs" config option
  • f55dd9d: 8251548: Remove unnecessary explicit initialization of volatile variables in security-libs code
  • d35b117: 8253361: Shenandoah: runtime barrier does not honor ShenandoahSelfFixing flag
  • f37c34d: 8253270: Limit fastdebug inlining in G1 evacuation
  • 8904420: 8253153: Mentioning of "hour-of-minute" in java.time.temporal.TemporalField JavaDoc
  • 52c28b8: 8253239: Disable VS warning C4307
  • ... and 87 more: https://git.openjdk.java.net/jdk/compare/488022689f690a8b0466b1a10d0a21408f1cbb61...master

Your commit was automatically rebased without conflicts.

Pushed as commit 3d88d38.

💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored.

@mrserb mrserb deleted the mrserb:JDK-8252070 branch Sep 20, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
3 participants