[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:
http://hg.openjdk.java.net/xrender/xrender/

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  
pipeline.

> - 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  
> SRC_OVER?
> 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):
http://java.sun.com/javase/6/docs/api/java/awt/AlphaComposite.html

Chris

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




More information about the 2d-dev mailing list