I have an iMX6Q SABRE AI EVK with linux-2.6-imx-imx_3.14.52_1.1.0_ga (imx_v6_v7_defconfig) running on it. I have downloaded gpu_sdk_v1.00 from NXP website and compiled gpu example application "03_Transform" from it. The application is nothing but a rotating triangle. When i run this application on my board by enabling multibuffering(FB_MULTI_BUFFER=2) , instead of a smooth start, it shows a sudden initial glitch for a fraction of second (looks like the half of the screen comes from bottom) and gets stabilized to normal.
Sometimes, the application runs with wrong alignment (The top half of the display image is displayed at the bottom half of the screen) and no stabilization occurs.
I also tried FB_MULTIBUFFER=3 but the results where same.
To check if the problem is with GPU, I compiled an application which simply throws one frame to the display.
But the problem persists.
I am stuck. Any help on this will be greatly appreciated.
I have tested it on iMX6 driver, and met the problem only when FB_MULTI_BUFFER=2, either when FB_MULTI_BUFFER=0, 1 or 3 , the graphic is OK. I think this is synchronization with the display issues as the display is good when I make some change that the process sleep several milliseconds after the eglswapbuffer is called. Please try add this sleep process it in your side.
Thanks for your reply
I have added a sleep after eglswapbuffer call as you said.The flickering problem is solved with FB_MULTI_BUFFER=1. But for multibuffering(FB_MULTI_BUFFER=2&3) the issue persists.