On Fri, 18 Sep 2026 10:40:13 GMT, Sergey Bylokhov <[email protected]> wrote:

> > Because of color blending in some specific display scaling and resolution 
> > they will not be perfect green/red. I was able to verify this locally on my 
> > windows machine with 175% scaling.
> 
> Did you validate this behavior by some native example? Could this actually be 
> a bug in the 2d pipeline?

On the same Windows machine with 175% scaling i have verified with HiDPI 
capture.
HiDPI capture shows no blending but there is fixed point sampling which adds 
one rightmost column and bottom row.
Similar behaviour is seen even when we use software loops. And why have this 
fixed point sampling is captured at: 
https://github.com/openjdk/jdk/blob/master/src/java.desktop/share/native/libawt/java2d/loops/ScaledBlit.c#L336

This fixed point sampling behaviour in HiDPI capture is seen on windows with 
D3D, software loop as well headless filling of BufferedImage. Since we have 
fixed point sampling even with HiDPI capture we can't have reliable color check 
in test under different display scales. The color blending that we see without 
HiDPI is because of bilinear interpolation downsampling done by Robot.

So there is no Java2D bug and with HiDPI we can see that behaviour is same 
everywhere.
Current test with margin to exclude blended pixels serves the purpose for which 
this test was written.

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

PR Comment: https://git.openjdk.org/jdk/pull/32904#issuecomment-5730495962

Reply via email to