EVALUATION
Prior to forwardporting of fix for 6635462 (D3D: REGRESSION: XOR rendering is extremely slow)accelerated pipelines fell back to general renderer
if XOR mode is requested. General rendered decomposes a polyline to a set of lines and draws them separately. In this case, end points of each line
is drawn twice (as a end point of one line, and as a start point of another one). In case of XOR, this double drawing eliminates end points of
the lines, that causes a failure of this test.
Similar problem appears in case of drawing to a buffered image of custom format.
To resolve this problem, general renderer routines have to be able to draw a line without it's end point, as corresponding routines from software loops do.
With the fix for 6635462 (i.e. starting b126) situation is changed:
- OGL pipeline works fine with polylines in XOR mode.
- D3D pipeline produces white screen without any lines, that looks as a regression.
However, in a log produced by sun.java2d.trace option, I can see that D3D pipeline
still uses the general renderer:
Direct3D pipeline enabled on screen 0
Direct3D pipeline enabled on screen 1
D3DFillRect
=============== Do rendering test ===============
D3DFillRect
sun.java2d.loops.XorDrawPolygonsANY::DrawPolygons(AnyColor, Xor, Any)
=============== Rendering test is done ==========
This fact may indicate that fix for 6635462 does not work in case of D3D pipeline, and it need to be investigated.
|