Please review my fix for bug "JDK-7082809 : xrender artifacts caused by different interpretation of SRC operator" located at: http://cr.openjdk.java.net/~ceisserer/7082809/webrev.05/ A manual test-case is available at: http://cr.openjdk.java.net/~ceisserer/7082809/CompositeTest.java
Problem description: There are a few differences between the composition operators of Java2D and xrender. One difference is e.g. that for SRC the destination is never read inside the composition rectangle, which affects MaskFills and text rendering (where the glyph geometry is stored inside small mask-images). The xrender pipeline ignored most of those differences for now and focussed on correctness and performance with SRC_OVER. Beside 7082809, this patch also fixes the "TranTest2" and "AlphaCompositeTest" JCK tests as well as a issue with older versions of IntelliJ. Fix description: This patch tries to correct this sloppiness by either falling back to software-loops for uncommon operations which haven't been implemented in a correct way, or to implement work-arrounds for common-cases which do not map 1:1 to xrender. Thanks, Clemens