Re: [OpenJDK 2D-Dev] [jdk17] RFR: 8266079: Lanai: AlphaComposite shows differences on Metal compared to OpenGL

2021-06-15 Thread Sergey Bylokhov
On Tue, 15 Jun 2021 16:57:00 GMT, Alexey Ushakov  wrote:

> Implemented blit via compute kernel

Marked as reviewed by serb (Reviewer).

src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLLayer.m line 159:

> 157: [computeEncoder endEncoding];
> 158: [cb commit];
> 159: #endif

This is better than changing the background color, but should be carefully 
checked. @jayathirthrao @aghaisas please take a look.
Since this affects every blit to the window I suggest running a full test run.

-

PR: https://git.openjdk.java.net/jdk17/pull/62


[OpenJDK 2D-Dev] [jdk17] RFR: 8266079: Lanai: AlphaComposite shows differences on Metal compared to OpenGL

2021-06-15 Thread Alexey Ushakov
Implemented blit via compute kernel

-

Commit messages:
 - 8266079: Lanai: AlphaComposite shows differences on Metal compared to OpenGL

Changes: https://git.openjdk.java.net/jdk17/pull/62/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk17=62=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8266079
  Stats: 289 lines in 4 files changed: 288 ins; 0 del; 1 mod
  Patch: https://git.openjdk.java.net/jdk17/pull/62.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk17 pull/62/head:pull/62

PR: https://git.openjdk.java.net/jdk17/pull/62


[OpenJDK 2D-Dev] RFR: 8268764: Use Long.hashCode() instead of int-cast where applicable

2021-06-15 Thread Сергей Цыпанов
In some JDK classes there's still the following hashCode() implementation:

long objNum;

public int hashCode() {
return (int) objNum;
}

This outdated expression should be replaced with Long.hashCode(long) as it

- uses all bits of the original value, does not discard any information 
upfront. For example, depending on how you are generating the IDs, the upper 
bits could change more frequently (or the opposite).

- does not introduce any bias towards values with more ones (zeros), as it 
would be the case if the two halves were combined with an OR (AND) operation.

See https://stackoverflow.com/a/4045083

This is related to https://github.com/openjdk/jdk/pull/4309

-

Commit messages:
 - 8268764: Use Long.hashCode() instead of int-cast where applicable

Changes: https://git.openjdk.java.net/jdk/pull/4491/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk=4491=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8268764
  Stats: 15 lines in 9 files changed: 6 ins; 0 del; 9 mod
  Patch: https://git.openjdk.java.net/jdk/pull/4491.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/4491/head:pull/4491

PR: https://git.openjdk.java.net/jdk/pull/4491