[OpenJDK 2D-Dev] [9] Review Request: 8061831 [OGL] "java.lang.InternalError: not implemented yet" during the blit of VI to VI in xor mode

Jim Graham james.graham at oracle.com
Thu May 21 19:59:07 UTC 2015

Please use the same indentation as the surrounding constructions:

   62         OGLSurfaceToSwBlit blitSurfaceToIntArgbPre =
   NN             new OGLSurfaceToSwBlit(SurfaceType.IntArgbPre,
   NN                                    OGLSurfaceData.PF_INT_ARGB_PRE);

I'm curious about bufferClip in the converter routine.  Does that help? 
  Since we clip when we blit back to the destination in the last line, 
we don't necessarily need to clip the intermediate operation.  I suppose 
it could save time, but if it is a rect clip then I would think the 
entire op would already be trimmed to just the size of the clip.  And if 
it is a complex clip then there is a tradeoff between operating on the 
excluded pixels and how long it takes to create the translated clip and 
how much overhead there is in enumerating it inside the performop blit. 
  Best to leave it for now, but I thought I would float that issue...

Looks good, modulo the indenting issue...


On 5/21/15 6:22 AM, Sergey Bylokhov wrote:
> 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

More information about the 2d-dev mailing list