Dienstag, 29. März 2011

Now even with amd64 support ;)

Over the last few weeks I fixed a few bugs oracle's QA Team found, ranging from XErrors caused by Xorg's weird way of freeing pictures asscociated with a Drawable, fixes to the SHM fallback path (this also affects the traditional X11 backend) and some bugs in the XRender glyph cache causing a Java2Demo running all night eating all your resources and causing your machine to crash ;)
What I never noticed however was, that the pipeline didn't work on AMD64. It seems nobody gave it a try on 64-bit machines. When text was rendered - only the first half was displayed.
The reason was that XIDs are defined as "unsigned long", even if they only contain 4-byte values as which the pipeline treated them.

Things look quite good so far for JDK7, except for one bug which causes IntelliJ's editor to be completly unuseable, caused by a different definition of the SRC operator with antialising enabled. Java2D still blends with the background, whereas XRender doesn't blend at all.
A simple solution would be to fall-back to software for SRC, better would be to switch to SRC_OVER when possible (src doesn't contain alpha), hope I'll find some time for that soon...

1 Kommentar:

rafelbev hat gesagt…

Looking forward to the SRC fixes. I find it a hack to forcefully fall back to software. Good work !!