[OpenJDK 2D-Dev] Reporitory, Accalerating blits with EA

Jim Graham Jim.A.Graham at Sun.COM
Mon Jul 21 19:32:20 UTC 2008

Clemens Eisserer wrote:
>> "Extra alpha" has the same behavior for all AlphaComposite instances.  In a
>> nutshell, the extra alpha value gets logically multiplied with the source
>> before the actual compositing operation.  The AlphaComposite docs explain
>> this process in great detail (look for the A[sub]ac factor):
>> http://java.sun.com/javase/6/docs/api/java/awt/AlphaComposite.html
> Thanks for the explanation.
> I guess the reason for the behaviour I see is a xserver-bug ... I am
> not really sure what to do about it till now.

One thing that might explain the difference is whether or not the opaque 
destinations are considered premultiplied or not.  I believe that we 
consider them non-premultiplied in which case the extraalpha is 
multiplied in, the result is stored to the destination, which involves 
dividing the alpha back out == no change.  If the system treats the 
destinations as premultiplied then it multiplies the alpha into the 
color, then stores the multiplied (which looks faded) result into the 


More information about the 2d-dev mailing list