-
Bug
-
Resolution: Fixed
-
P3
-
9
-
None
-
b114
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8269499 | 8u311 | Dmitry Markov | P3 | Resolved | Fixed | b01 |
Marlin (like Pisces) does not check input pixel coordinates (as float) for possible overflow:
- NaN, +/- Infinity
- abs(x|y coord) > UPPER_BND
Besides, it should also check that subpixel coordinates remain in the valid range too (even after applying the affine transform).
It can lead to possibly generate artefacts.
Moreover, it could also provide performance benefits:
- FloatMath.ceil / floor (could skip NaN / Infinity checks)
- avoid several overflow checks in the Marlin rendering pipeline
See sun.dc.DuctusRenderingEngine#feedConsumer(...) for the Ductus implementation of such filter
- NaN, +/- Infinity
- abs(x|y coord) > UPPER_BND
Besides, it should also check that subpixel coordinates remain in the valid range too (even after applying the affine transform).
It can lead to possibly generate artefacts.
Moreover, it could also provide performance benefits:
- FloatMath.ceil / floor (could skip NaN / Infinity checks)
- avoid several overflow checks in the Marlin rendering pipeline
See sun.dc.DuctusRenderingEngine#feedConsumer(...) for the Ductus implementation of such filter
- backported by
-
JDK-8269499 Handle properly coordinate overflow in Marlin Renderer
-
- Resolved
-
- relates to
-
JDK-8149338 JVM Crash caused by Marlin renderer not handling NaN coordinates
-
- Resolved
-