JDK-8171393 : Integrate precision fixes for Marlin
  • Type: Bug
  • Component: javafx
  • Sub-Component: graphics
  • Affected Version: 9
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2016-12-16
  • Updated: 2016-12-17
  • Resolved: 2016-12-17
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 9
9Fixed
Related Reports
Relates :  
Description
Marlin has variants for both float and double, but we've only integrated the float version for FX.  We should integrate the double version so developers can evaluate both for accuracy and performance before we enable Marlin as the default FX rasterizer.
Comments
http://hg.openjdk.java.net/openjfx/9-dev/rt/rev/ca883edfe9e0
17-12-2016

The changes look fine to me. Given that Marlin is off by default, it seems reasonable to have prism.marlin.double=true be the default when marlin is enabled by explicitly setting "prism.marlinrasterizer=true". In JDK 10 when we make Marlin the default rasterizer, we will need some performance benchmarks across a range of machines before choosing whether to use float or double as the default at that time. Making it default now will give us more information. Jim pointed out to me that there is an unused method in DHelpers.java, withinUNUSED, that he wants to remove. +1, with or without the removal of that method
17-12-2016

Assigning to Laurent as he did the actual work - but I'll probably be the one doing most of the updates to the bug as I'm working on testing and integrating the fix now - but we should have the bug assigned to the person who did the work for tracking purposes...
17-12-2016

In review the only issue I noticed was that there was an unused method in the new code which had "UNUSED" in its name. I'll go ahead and delete that before I push (pending testing which is underway).
17-12-2016

From Laurent in email (before I submitted this bug): Please review the DMarlinFX patch as it is now ready (clean-up done, merged & tested): - webrev to compare against float: http://cr.openjdk.java.net/~lbourges/marlinFX-D/marlinFX-Double-cmp.1/ - raw webrev (to apply the patch): http://cr.openjdk.java.net/~lbourges/marlinFX-D/marlinFX-Double-raw.1/
17-12-2016