Hello.
Please review the fix for jdk9.
Our blits machinary in case of absent of direct/general blits will use the AnyBlit, which uses surface.getRaster method. This method is not implemented in OGL surfaces, so we must have some blit, which covers all possible combinations of source/destination/composite.

In the fix for JDK-7124347[1] the new OGLAnyCompositeBlit was added, and this new blit covers situation, when we cannot call getRaster on destination and must read it to the temporary buffer. But it does not take into account that the same problem exists for the source. If the source surface is OpenGLSurface and xor composite is used we should copy it to the temporary buffer also.

In this fix I added some parameters, which configure OGLAnyCompositeBlit for the case when some kind of ogl source is passed.


[1] https://bugs.openjdk.java.net/browse/JDK-7124347

Bug: https://bugs.openjdk.java.net/browse/JDK-8061831
Webrev can be found at: http://cr.openjdk.java.net/~serb/8061831/webrev

--
Best regards, Sergey.

Reply via email to