Wrong pixel after blending.

Hello.





We encounter wierd phenomenon.


We use omap 3530.





We use 32bit RGBA texture and 32 bit RGBA surface for special purpose.


However, if alpha of texture is not 0 or 255( this mean if alpha value is between 0~255 ), the blended pixel is not correct.


Sometimes, the blended pixel is ‘Green’ like.





We heared that there are 2 eglSwapBuffer() implementations.


One is using ‘flip chain’ and the other is ‘blitting’.


All rendering objects are redrawn under ‘Flip chain’.


In the case of ‘blitting’ only part of scene is redrawn.


In the case of ‘flipping’, just surfaces flipped, but in the case of ‘blitting’ update part is copied.


This phenomemon is occured only in ‘flip chain’.





So, could you please adivce me for this problem?





PS. Which way is better for performance? From our experience, ‘Flipping’ takes much more time. Because we have to redraw entire screen even if part of scene changed.