[OpenJDK 2D-Dev] Review request for 8069348 SunGraphics2D.copyArea() does not properly work for scaled graphics in D3D

Jim Graham james.graham at oracle.com
Fri Nov 20 15:26:05 UTC 2015

The fix looks fine, but I see the following issues with the test case:

- For a test case that claims to test copyArea(), it never calls that 
method anywhere...?

- There is no need to display a frame on the screen and use Robot to 
reproduce the problem, it can all be done by creating a VolatileImage 
and doing the copyArea on that, and then reading back from the VI to see 
if it happened correctly, can't it?


On 11/20/15 3:49 AM, Alexander Scherbatiy wrote:
> Hello,
> Could you review the fix:
>    bug: https://bugs.openjdk.java.net/browse/JDK-8069348
>    webrev: http://cr.openjdk.java.net/~alexsch/8069348/webrev.00
>    For some reasons Blit operation does not properly work in the
> SunGraphics2D.copyArea() method
>    with scaled transform neither on Windows nor on Mac OS X.
>    I have filled an issue on it: JDK-8143392 SunGraphics2D.copyArea()
> does not properly handle Blit operation
>    The current solution updates D3DSurfaceData.copyArea() to handle
> scaled graphics in the same way
>    as it has been already done for the CGLSurfaceData (see JDK-8000629
> [macosx] Blurry rendering with Java 7 on Retina display).
>    May be there is a way to avoid the code duplication: put it to some
> SurfaceDataUtils class (it also
>    requires adding parent copyArea() method to BufferedRenderPipe) or
> something else. I am not sure about the best option.
>    Thanks,
>    Alexandr.

More information about the 2d-dev mailing list