Re: [OpenJDK 2D-Dev] Marlin vs OpenPisces

2016-10-13 Thread Jim Graham
Most of the pre-open-source changes are superseded by a single commit with the synopsis "Incorporate the latest pisces 
improvements from OpenJDK" and the associated bug (which is marked confidential because this code was not open-sourced 
at that time) says "Hey, Denis Lila did a whole lot of work on OpenPisces, we should integrate that into our Pisces!", 
so I think most of the work prior to the bugs I point out below was already visible in the version of Pisces that you 
started from in OpenJDK.


The only bug fixing that seemed to occur after those "update from JDK" changesets was to fix "leaks", but the associated 
bug was more about transient garbage than true leaks and most of it was dealt with by reusing renderers and alpha 
arrays, but you've already dug through that in your early Marlin->FX investigations.


So, I think the below list is reasonably comprehensive...

...jim

On 10/13/16 1:24 PM, Jim Graham wrote:

I'm trying to track down the old history after a lot of file moves, but here is 
what I have so far:

(Note that some of these only apply when we use it in non-AA mode where we set 
the number of subpixel samples to 1x1)

https://bugs.openjdk.java.net/browse/JDK-8092682  (non-AA: changing BND 
constants)
https://bugs.openjdk.java.net/browse/JDK-8094493  (needed for non-AA, but 
applicable to AA)
https://bugs.openjdk.java.net/browse/JDK-8094313  (first attempt to use for 
both AA/non-AA)
https://bugs.openjdk.java.net/browse/JDK-8088013  (fixed, then backed out, 
replaced by 8094313)
https://bugs.openjdk.java.net/browse/JDK-8097787  (likely the dash fixes you 
noted below)
https://bugs.openjdk.java.net/browse/JDK-8119693  (AIOOB in dash array growth)

At that point, the files were moved from another repo during a huge 
open-sourcing effort so I'll need a little more
digging to find further history.

Also, I don't think there is any history for "changes that were made when we ported 
it from the JDK".  I don't think
there were any "bug fixes" during that work for the initial commit, though, so 
we can probably assume that the change
logs (when I can find the pre-open-source list) were the sum total of all of 
the bug fixes...

...jim

On 10/13/16 1:05 PM, Phil Race wrote:



On 10/13/2016 12:22 PM, Laurent Bourgès wrote:


Hi,

I looked at openpisces enhancements in compare to pisces I forked in 2013.6 and 
noticed at least 2 important changes:
- Dasher initialization: handle too small phase
- Stroker: new cases for parallel directions between control points in  quad / 
cubic curve subdivision

I plan to upgrade Marlin in jdk9 to integrate those improvements.
Is there OpenJFX bugs and tests to reproduce those complex situations ?



Between FX having multiple source code restructuring, open-sourcing losing 
history and
a change from not always using bug ids in the commit through a change in
bug system .. and no strict requirements about regression tests it might be
challenging to identify the bugs under which such changes were made.
Maybe Jim can help a bit since he may have made or at least reviewed those 
changes.

-phil.


Do you know other changes I should look at ?

PS: this work is more a backport of bug fixes than enhancements to be accepted 
in jdk9, isn't it ?



I think it is still acceptable for 9.

-phil.


Thanks for your feedback,
Laurent





Re: [OpenJDK 2D-Dev] Marlin vs OpenPisces

2016-10-13 Thread Jim Graham

I'm trying to track down the old history after a lot of file moves, but here is 
what I have so far:

(Note that some of these only apply when we use it in non-AA mode where we set 
the number of subpixel samples to 1x1)

https://bugs.openjdk.java.net/browse/JDK-8092682  (non-AA: changing BND 
constants)
https://bugs.openjdk.java.net/browse/JDK-8094493  (needed for non-AA, but 
applicable to AA)
https://bugs.openjdk.java.net/browse/JDK-8094313  (first attempt to use for 
both AA/non-AA)
https://bugs.openjdk.java.net/browse/JDK-8088013  (fixed, then backed out, 
replaced by 8094313)
https://bugs.openjdk.java.net/browse/JDK-8097787  (likely the dash fixes you 
noted below)
https://bugs.openjdk.java.net/browse/JDK-8119693  (AIOOB in dash array growth)

At that point, the files were moved from another repo during a huge open-sourcing effort so I'll need a little more 
digging to find further history.


Also, I don't think there is any history for "changes that were made when we ported it from the JDK".  I don't think 
there were any "bug fixes" during that work for the initial commit, though, so we can probably assume that the change 
logs (when I can find the pre-open-source list) were the sum total of all of the bug fixes...


...jim

On 10/13/16 1:05 PM, Phil Race wrote:



On 10/13/2016 12:22 PM, Laurent Bourgès wrote:


Hi,

I looked at openpisces enhancements in compare to pisces I forked in 2013.6 and 
noticed at least 2 important changes:
- Dasher initialization: handle too small phase
- Stroker: new cases for parallel directions between control points in  quad / 
cubic curve subdivision

I plan to upgrade Marlin in jdk9 to integrate those improvements.
Is there OpenJFX bugs and tests to reproduce those complex situations ?



Between FX having multiple source code restructuring, open-sourcing losing 
history and
a change from not always using bug ids in the commit through a change in
bug system .. and no strict requirements about regression tests it might be
challenging to identify the bugs under which such changes were made.
Maybe Jim can help a bit since he may have made or at least reviewed those 
changes.

-phil.


Do you know other changes I should look at ?

PS: this work is more a backport of bug fixes than enhancements to be accepted 
in jdk9, isn't it ?



I think it is still acceptable for 9.

-phil.


Thanks for your feedback,
Laurent





Re: [OpenJDK 2D-Dev] Marlin vs OpenPisces

2016-10-13 Thread Phil Race



On 10/13/2016 12:22 PM, Laurent Bourgès wrote:


Hi,

I looked at openpisces enhancements in compare to pisces I forked in 
2013.6 and noticed at least 2 important changes:

- Dasher initialization: handle too small phase
- Stroker: new cases for parallel directions between control points 
in  quad / cubic curve subdivision


I plan to upgrade Marlin in jdk9 to integrate those improvements.
Is there OpenJFX bugs and tests to reproduce those complex situations ?



Between FX having multiple source code restructuring, open-sourcing 
losing history and

a change from not always using bug ids in the commit through a change in
bug system .. and no strict requirements about regression tests it might be
challenging to identify the bugs under which such changes were made.
Maybe Jim can help a bit since he may have made or at least reviewed 
those changes.


-phil.


Do you know other changes I should look at ?

PS: this work is more a backport of bug fixes than enhancements to be 
accepted in jdk9, isn't it ?




I think it is still acceptable for 9.

-phil.


Thanks for your feedback,
Laurent





[OpenJDK 2D-Dev] Marlin vs OpenPisces

2016-10-13 Thread Laurent Bourgès
Hi,

I looked at openpisces enhancements in compare to pisces I forked in 2013.6
and noticed at least 2 important changes:
- Dasher initialization: handle too small phase
- Stroker: new cases for parallel directions between control points in
quad / cubic curve subdivision

I plan to upgrade Marlin in jdk9 to integrate those improvements.
Is there OpenJFX bugs and tests to reproduce those complex situations ?

Do you know other changes I should look at ?

PS: this work is more a backport of bug fixes than enhancements to be
accepted in jdk9, isn't it ?

Thanks for your feedback,
Laurent