Flickering problem

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Flickering problem

867 Views
shyamjithkv
Contributor III

Hi,

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.

Code below.

Render();

currentFrame++;

eglSwapBuffers(egldisplay, eglsurface);

wait();

But the problem persists.

I am stuck. Any help on this will be greatly appreciated.

Labels (4)
2 Replies

576 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hi shyamjith,

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.

Regards

0 Kudos

576 Views
shyamjithkv
Contributor III

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.