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

Alexey Ushakov avu at openjdk.java.net
Tue Aug 3 06:49:30 UTC 2021


On Mon, 2 Aug 2021 21:53:02 GMT, Sergey Bylokhov <serb at openjdk.org> wrote:

>> Yes, and we need this call here to initialise content view with correct default value
>> CPlatformWindow.java:931 contentView.setWindowLayerOpaque(isOpaque);
>
> I need to look at it closely, I do not understand why we made the native layer opaque=NO by default while the java code uses opaque=true by default. And then we reset the native code from NO to yes by the code above. Why we cannot make both native/java use true/YES and when necessary it will be reset to false/NO by the existing code(via LWWindowPeer.setOpaque() and LWWindowPeer.updateOpaque?)
> BTW Probably implementation of LWWindowPeer.setTextured() should call the updateOpaque() as well.

Yes, sounds reasonable. Moreover, It was my initial attempt but I faced with some regressions in SwingSet2 demo. In some cases background of tree nodes  become black and this artifact was reproducible only if some other tabs were clicked before.  It was hot time for jdk17 so I decided not to fight with this regression. Now we have more time, so I can spend more time on this.

-------------

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


More information about the 2d-dev mailing list