I am using the Vivante 5.0.11 binary support package and have run into an issue where I can observe that the changes to the blend level for the source layer is working correctly. When I adjust the blend factor for the destination layer, I see no changes. Both Source and Destination planes are configured as G2D_RGB565 input format, with the blending mode set to G2D_SRC_ALPHA and G2D_DST_ALPHA. Do I need to change both the Source and Destination planes over to G2D_ARBB8888 format? The reason I did not use G2D_ONE_MINUS_DST_ALPHA for the destination plane is that I need both planes to be very visible when either has a black (transparent) pixel. I am using the GPU to avoid visible HD rendering issues, tiling, uncovered when dragging a menu overlay on top of a video signal.
The other question is whether or not there is a way of mimicking the IPU's ability to merge 2 planes, a Video and UI plane where you can detect a transparent color and let the video shine thru the UI overlay plane, un-attenuated? I would like to not have to re-render all the UI objects on top of the UI plane sequentially at each VSync.
Thank you
Hi Mark,
You need G2D_ONE_MINUS_DST_ALPHA or you need to convert to G2D_ARBB8888.
for overlay i´m not sure if the UI objects at VSync will be un-attenuated but please check this:
imx6: alpha-blending fb0 with an overlay buffer.
Regards