Hello All,

Thanks for the review.
Changes are merged into the sandbox.

Made some more changes in sandbox like JDK-8226560 
<https://bugs.openjdk.java.net/browse/JDK-8226560> and took mainline changes 
into our metal-prototype-branch.
We can take latest change from this sandbox branch and work further.

Thanks,
Jay

> On 21-Jun-2019, at 2:21 AM, Philip Race <philip.r...@oracle.com> wrote:
> 
> I'm OK with this. We will doubtless incrementally revisit everything before 
> we are done.
> 
> -phil.
> 
> On 6/20/19, 12:52 PM, Kevin Rushforth wrote:
>> 
>> As long as you've addressed all Phil's concerns, it looks OK to me.
>> 
>> -- Kevin
>> 
>> On 6/20/2019 5:57 AM, Jayathirth Rao wrote:
>>> Hi Alexey,
>>> 
>>> Thanks for the review.
>>> 
>>> Removed new trace definitions and there references. Webrev without traces : 
>>> http://cr.openjdk.java.net/~jdv/8225160/webrev.02/ 
>>> <http://cr.openjdk.java.net/%7Ejdv/8225160/webrev.02/> 
>>> 
>>> Regards,
>>> Jay
>>> 
>>>> On 20-Jun-2019, at 12:00 AM, Alexey Ushakov <alexey.usha...@jetbrains.com 
>>>> <mailto:alexey.usha...@jetbrains.com>> wrote:
>>>> 
>>>> Hello Jay and Phil,
>>>> 
>>>> This changes looks good for me. 
>>>> 
>>>>> 5) Time tracing for primitive drawing was present in JetBrain’s code so 
>>>>> we took it. It may hamper overall performance while drawing, if it is not 
>>>>> needed we can remove it.
>>>> 
>>>> Concerning the logging we can remove it. The junit microbenchmarks are 
>>>> enough for now to measure and compare performance of drawing.
>>>> 
>>>> Best Regards,
>>>> Alexey
>>>> 
>>>>> On 19 Jun 2019, at 12:08, Jayathirth Rao <jayathirth....@oracle.com 
>>>>> <mailto:jayathirth....@oracle.com>> wrote:
>>>>> 
>>>>> Hi Phil,
>>>>> 
>>>>> Thanks for your inputs.
>>>>> 1) Removed MetalKit reference in make file
>>>>> 2) Removed reference to sun.java2d.metal in jdk8_packages.dat file.
>>>>> 3) For pipeline selection logic, I have created new sub-task JDK-8226384 
>>>>> <https://bugs.openjdk.java.net/browse/JDK-8226384>
>>>>> 4) Removed MetalKit references in imports which are not needed.
>>>>> 5) Time tracing for primitive drawing was present in JetBrain’s code so 
>>>>> we took it. It may hamper overall performance while drawing, if it is not 
>>>>> needed we can remove it.
>>>>> 
>>>>> Please find updated webrev for review:
>>>>> http://cr.openjdk.java.net/~jdv/8225160/webrev.01/ 
>>>>> <http://cr.openjdk.java.net/%7Ejdv/8225160/webrev.01/> 
>>>>> 
>>>>> For file comparison of new and old files, I have created comparison table 
>>>>> at http://cr.openjdk.java.net/~jdv/8225160/file_compare.rtf 
>>>>> <http://cr.openjdk.java.net/%7Ejdv/8225160/file_compare.rtf>. 
>>>>> 
>>>>> Thanks,
>>>>> Jay
>>>>> 
>>>>>> On 19-Jun-2019, at 6:01 AM, Philip Race <philip.r...@oracle.com 
>>>>>> <mailto:philip.r...@oracle.com>> wrote:
>>>>>> 
>>>>>> 
>>>>>> Hi,
>>>>>> 
>>>>>> First
>>>>>> These comments are limited to the files that are *modified* and don't
>>>>>> address anything where you have deleted sandbox files and replaced them 
>>>>>> by JB files.
>>>>>> And that is very hard to "diff" anyway .. but it is the biggest batch so 
>>>>>> I am not
>>>>>> sure how to address it.
>>>>>> Can you give a detailed explanation of what is in the "new" files vs the 
>>>>>> "old" files
>>>>>> and how you chose one over the other ?
>>>>>> 
>>>>>> So this is my quick take on just the modified files :
>>>>>>  
>>>>>> http://cr.openjdk.java.net/~jdv/8225160/webrev.00/make/lib/Awt2dLibraries.gmk.udiff.html
>>>>>>  
>>>>>> <http://cr.openjdk.java.net/%7Ejdv/8225160/webrev.00/make/lib/Awt2dLibraries.gmk.udiff.html>
>>>>>> 
>>>>>> +        -framework Metal \
>>>>>> +        -framework MetalKit \
>>>>>> I thought there were no dependencies on MetalKit ?
>>>>>> 
>>>>>> http://cr.openjdk.java.net/~jdv/8225160/webrev.00/src/java.base/share/classes/jdk/internal/module/jdk8_packages.dat.udiff.html
>>>>>>  
>>>>>> <http://cr.openjdk.java.net/%7Ejdv/8225160/webrev.00/src/java.base/share/classes/jdk/internal/module/jdk8_packages.dat.udiff.html>
>>>>>> 
>>>>>> +sun.java2d.metal
>>>>>> 
>>>>>> I am sure this is wrong. That file is a list of internal packages
>>>>>> that were present in JDK 8
>>>>>> 
>>>>>> http://cr.openjdk.java.net/~jdv/8225160/webrev.00/src/java.desktop/macosx/classes/sun/java2d/MacosxSurfaceManagerFactory.java.udiff.html
>>>>>>  
>>>>>> <http://cr.openjdk.java.net/%7Ejdv/8225160/webrev.00/src/java.desktop/macosx/classes/sun/java2d/MacosxSurfaceManagerFactory.java.udiff.html>
>>>>>> JFYI I am not sure I like *either* of the pieces of code here.
>>>>>> The deleted one or the new one.
>>>>>> By which I mean the logic of
>>>>>> if (metal) {
>>>>>>   return MetalSM()
>>>>>> } else {
>>>>>>   return CGLSM(); 
>>>>>> }
>>>>>> 
>>>>>> both here, and where similar logic appears in other files.
>>>>>> We should be installing something that always returns what we need based
>>>>>> on choice of pipeline at start up, not doing error prone repeating of 
>>>>>> the decision.
>>>>>> But that is something to discuss later since it isn't a merge issue.
>>>>>> 
>>>>>> http://cr.openjdk.java.net/~jdv/8225160/webrev.00/src/java.desktop/macosx/native/libawt_lwawt/awt/AWTView.h.udiff.html
>>>>>>  
>>>>>> <http://cr.openjdk.java.net/%7Ejdv/8225160/webrev.00/src/java.desktop/macosx/native/libawt_lwawt/awt/AWTView.h.udiff.html>
>>>>>> +#import <Metal/Metal.h>
>>>>>> +#import <MetalKit/MetalKit.h>
>>>>>> I am failing to locate what needs these new imports ??
>>>>>> 
>>>>>> Same here
>>>>>> http://cr.openjdk.java.net/~jdv/8225160/webrev.00/src/java.desktop/macosx/native/libawt_lwawt/awt/CGraphicsDevice.m.udiff.html
>>>>>>  
>>>>>> <http://cr.openjdk.java.net/%7Ejdv/8225160/webrev.00/src/java.desktop/macosx/native/libawt_lwawt/awt/CGraphicsDevice.m.udiff.html>
>>>>>> 
>>>>>> http://cr.openjdk.java.net/~jdv/8225160/webrev.00/src/java.desktop/share/classes/sun/java2d/loops/Blit.java.udiff.html
>>>>>>  
>>>>>> <http://cr.openjdk.java.net/%7Ejdv/8225160/webrev.00/src/java.desktop/share/classes/sun/java2d/loops/Blit.java.udiff.html>
>>>>>> 
>>>>>> I see this pattern being added to the Trace* classes.
>>>>>> At first it wasn't apparent from the diff it is the Trace classes,
>>>>>> so this is something we can discuss but it may need to be measured
>>>>>> to see if it corrupts the very data you want.
>>>>>>          {
>>>>>> +            if ((traceflags & TRACEPTIME) == 0) {
>>>>>>              tracePrimitive(target);
>>>>>> +            }
>>>>>> +            long time = System.nanoTime();
>>>>>>              target.Blit(src, dst, comp, clip,
>>>>>>                          srcx, srcy, dstx, dsty, width, height);
>>>>>> +            tracePrimitiveTime(target, System.nanoTime() - time);
>>>>>> 
>>>>>> 
>>>>>> -phil
>>>>>> 
>>>>>> 
>>>>>> On 6/17/19, 2:19 AM, Jayathirth Rao wrote:
>>>>>>> 
>>>>>>> Hello All,
>>>>>>> 
>>>>>>> Please review the below code changes: 
>>>>>>> 
>>>>>>> JBS : https://bugs.openjdk.java.net/browse/JDK-8225160 
>>>>>>> <https://bugs.openjdk.java.net/browse/JDK-8225160> 
>>>>>>> 
>>>>>>> We have merged most of the code provided for review by JetBrains for 
>>>>>>> JDK-8220154 <https://bugs.openjdk.java.net/browse/JDK-8220154> to the 
>>>>>>> jdk/sandbox(http://hg.openjdk.java.net/jdk/sandbox 
>>>>>>> <http://hg.openjdk.java.net/jdk/sandbox>).
>>>>>>> Corresponding webrev for the change is 
>>>>>>> http://cr.openjdk.java.net/~jdv/8225160/webrev.00/ 
>>>>>>> <http://cr.openjdk.java.net/%7Ejdv/8225160/webrev.00/> . This webrev 
>>>>>>> has JetBrains code from JDK-8220154 
>>>>>>> <https://bugs.openjdk.java.net/browse/JDK-8220154> and our delta 
>>>>>>> modification[1] over jdk/sandbox metal-prototype-branch
>>>>>>> 
>>>>>>> For additional info : 
>>>>>>> 1. A webrev relative to the jdk/client codebase - this has JetBrains 
>>>>>>> webrev for JDK-8220154 
>>>>>>> <https://bugs.openjdk.java.net/browse/JDK-8220154> and our delta 
>>>>>>> modification 
>>>>>>>    http://cr.openjdk.java.net/~aghaisas/8225160/JB_plus_delta/webrev.1/ 
>>>>>>> <http://cr.openjdk.java.net/%7Eaghaisas/8225160/JB_plus_delta/webrev.1/>
>>>>>>>  
>>>>>>> 
>>>>>>> 2. A webrev showing our delta modifications over JetBrains webrev for 
>>>>>>> JDK-8220154 <https://bugs.openjdk.java.net/browse/JDK-8220154> 
>>>>>>>     http://cr.openjdk.java.net/~aghaisas/8225160/webrev.1/ 
>>>>>>> <http://cr.openjdk.java.net/%7Eaghaisas/8225160/webrev.1/> 
>>>>>>> 
>>>>>>> 
>>>>>>> [1] Delta modification: At native rendering side Ajit has added delta 
>>>>>>> modifications to implement FillRect and DrawParallelogram logic using 
>>>>>>> JetBrains initialisation logic.
>>>>>>> 
>>>>>>> Apart from how we initialise GraphicsConfig and native rendering most 
>>>>>>> of the upper level logic is similar so we have taken most of the 
>>>>>>> JetBrains code with MTL*** files. Also native rendering state 
>>>>>>> management code from JetBrains we have merged.
>>>>>>> Comparison of code at GraphicsConfig, SurfaceData and Layer is captured 
>>>>>>> under subtask : https://bugs.openjdk.java.net/browse/JDK-8225165 
>>>>>>> <https://bugs.openjdk.java.net/browse/JDK-8225165> .
>>>>>>> 
>>>>>>> Thanks,
>>>>>>> Jay
>>>>> 
>>>> 
>>> 
>> 

Reply via email to