I am using a parallel 800 x 480 panel with 24-bit color and I want to combine two full frame buffers (bg and fg) going into the DI. Where is the best place to combine them? I think the DP can do it, but the RM and SDK Firmware Guide mention combining only full and partial buffers. The DP_COM_CONF_ASYNC0 has the DP_GWSEL_ASYNC0 switch which selects full/partial plane. By setting this bit to 0 will the DP then combine two full planes? I'm assuming that the ASYNC label doesn't matter that the output is synchronous. Am I correct in that two full buffers can be combined (ch 23 and ch 27) in the DP or is there a different way of doing this?
Customers can use the GPU G2D to combine, it can get better performance.
The sample code can be found in gpu package: i.MX Graphics libraries for
i.MX 6 and 7 SoC with GPU, such as "imx-gpu-viv-6.4.3.p0.0-aarch32.bin"
for the recent L5.4.47; in directory "/usr/share/imx-gpu/g2d/test/".
In my case the background bg layer is static, it never changes, is never modified. The fg layer is modified with the current info and displays over the top of the bg layer. That's why I'm looking to use the IPU to do the combining of the layers. I don't want to have to copy the bg layer (which hasn't changed) into another location, then combine the fg layer with it. This is unnecessary and I believe slower than doing it in the IPU "on the fly". Am I wrong? The bg is 800 x 480 x 4 (1,536,000) bytes that would need copying.