[OpenJDK 2D-Dev]  Review Request: 8061831 [OGL] "java.lang.InternalError: not implemented yet" during the blit of VI to VI in xor mode
Sergey.Bylokhov at oracle.com
Fri May 22 16:59:40 UTC 2015
On 21.05.15 22:59, Jim Graham wrote:
> 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...
This clip is useful, because in general we can use some custom/slow
compozite here, and it will be better to minimize it usage.
> Looks good, modulo the indenting issue...
> On 5/21/15 6:22 AM, Sergey Bylokhov wrote:
>> 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 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.
>>  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.
More information about the 2d-dev