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

Chris Campbell Christopher.Campbell at Sun.COM
Tue Jul 15 23:00:04 UTC 2008

Hi Clemens,

On Jul 15, 2008, at 3:28 PM, Clemens Eisserer wrote:
> Hi again,
> - The Xrender-pipeline now is almost able to run common swing
> applications, copyArea and some bugs are still waiting to be killed,
> but more or less it should work after.
> Its only the "hack" release where I tried all the stuff out and I plan
> to rewrite it starting next week or so, but it would be great if I
> could upload it to the OpenJDK repository.
> What should I do to get access to it?

There's an hg repository already set up for your Xrender project:

I'm not sure the process you need to follow to get commit access to it  
(maybe you could ask Mark Reinhold about that on a separate alias,  
like the discuss alias?).  In theory that should be your sandbox (a  
child of the jdk7 master repository) as you work to stabilize your new  

> - My blit-functions currently are not called if composition with
> extra-alpha is requested, although I have registered my Blits with
> CompositeType.AnyAlpha. Are there further requirements to get this
> accalerated?

Do you know which Blit loop is being called in its place?  (You can  
use -Dsun.java2d.trace=log to get an idea, or you can just step  
through the Blit.getFromCache() method.)  I suspect there is another,  
more specific Blit loop that's already registered that is being found  
before the one you registered, but that's just a guess.

> - How does ExtraAlpha influence composition for operators other than  
> For now I implement extra-alpha as a 1x1 A8 mask, however although the
> results are consistent when SRC_OVER is used, when SRC is used the
> image gets darker and darker the lower the EA value becomes with
> Xrender, but the RI seems to ignore the the extra-alpha value set.

"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):


> Thank you in advance, lg Clemens
> Blog: http://linuxhippy.blogspot.com/

More information about the 2d-dev mailing list