[OpenJDK 2D-Dev] [8] request for review: 7124347: [macosx] "java.lang.InternalError: not implemented yet" on call Graphics2D.drawRend
Jim Graham
james.graham at oracle.com
Sat Dec 1 01:40:57 UTC 2012
I'm OK with the removal of the test, but I didn't look in more depth.
Phil already approved from his end, though, so I think you can take this
as a concurrence...
...jim
On 11/30/12 1:37 AM, Andrew Brygin wrote:
> Hi Jim,
>
> I have verified that we use either the imageComp field from SunGraphics2D
> (which can not be null), or some explicit composite type in this method.
> So, according to your suggestion, I have removed the check for null.
> Please take a look to updated webrev:
>
> http://cr.openjdk.java.net/~bae/7124347/8/webrev.01/
>
> Phil, could you please take a look the the updated fix also?
>
> Thanks,
> Andrew
>
>
> On 30.11.2012 4:48, Jim Graham wrote:
>> Hi Andrew,
>>
>> My belief is that comp should never be null. A simple grep should
>> confirm that belief. While I do agree that it can be safer to check
>> for null if you aren't sure about the code base, once one piece of
>> code does it then it spreads and weakens the API contract so it would
>> be better to check and keep the API contract stronger if we can...
>>
>> ...jim
>>
>> On 11/29/12 12:18 AM, Andrew Brygin wrote:
>>> Hello Jim,
>>>
>>> I do not think that suggested change allows a null composite per se:
>>> the check for null was introduced just to make sure that we can safely
>>> call isDerivedFrom method. However, it does not change the method
>>> behavior for the case of null composite.
>>>
>>> If it is impossible to get null composite here for some reason
>>> (unfortunately
>>> I can not say this for sure), then this check is not required.
>>> However, I do not
>>> think that the extra check for null may cause any harm.
>>>
>>> Thanks,
>>> Andrew
>>>
>>>
>>> On 29.11.2012 4:07, Jim Graham wrote:
>>>> Is there a reason for allowing a null comp in the isSupported method?
>>>>
>>>> ...jim
>>>>
>>>> On 11/26/2012 4:38 AM, Andrew Brygin wrote:
>>>>> Hello,
>>>>>
>>>>> could you please review a fix for 7124347?
>>>>>
>>>>> This fix does not implement getRater() in ogl surfaces.
>>>>> Instead, it provides a blit for custom composite, which
>>>>> prepares a snapshot of the destination surface (which
>>>>> is one of ogl surfaces) and delegates the work to the
>>>>> general blit, which now extracts raster from the snapshot.
>>>>> A result of general blit's work is transferred to the
>>>>> original destination.
>>>>>
>>>>> Changes in OGLSurfaceDataProcy are required in order to prevent
>>>>> getting an accelerated copy of original source image as an
>>>>> operand of the blit. Now we first check for composite type,
>>>>> and only then (if composite is not specified, or is a kind
>>>>> of alpha composite) we take into account other conditions.
>>>>>
>>>>> So this fix does not change anything for the case of alpha
>>>>> composites
>>>>> but affects only XOR and custom composites case.
>>>>>
>>>>> Note that the fix solves the problem only for the case of blits
>>>>> (i.e. drawImage()). Other operations may result into the same
>>>>> problem if custom composite is used. However, in case of XOR,
>>>>> this change solves the problem completely, because other rendering
>>>>> operations in the ogl pipeline are ready for XOR composite.
>>>>>
>>>>> Supplied regression test verifies that the fix makes the problem
>>>>> gone.
>>>>> I have verified both windows and macosx platforms.
>>>>>
>>>>> Please take a look and share your comments.
>>>>>
>>>>> Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7124347
>>>>> Webrev: http://cr.openjdk.java.net/~bae/7124347/8/webrev.00/
>>>>>
>>>>> Thanks,
>>>>> Andrew
>>>
>
More information about the 2d-dev
mailing list