i.MX6: VIV's EGL lib on framebuffer has no SYNC with V-sync

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

i.MX6: VIV's EGL lib on framebuffer has no SYNC with V-sync

Jump to solution
6,826 Views
castel
Contributor III

Hello,

     we've built i.MX5 series with GLES2/GLSL fancy AP on our product, at first in BSP 10_11 we encounter the "tear effecting" as now on i.MX6, but fortunately the issue be solved in BSP 11_05.

     at to i.MX6, in BSP 12_05 this issue is still liviing, is there somebody nagging the 3D "tear effecting" & know how to solve it?

     we've try something setting on EGL but no effect, now we only hope the revised VIV OpenglES2/EGL lib to fix the issue?

thanks.


1 Solution
1,732 Views
PrabhuSundarara
NXP Employee
NXP Employee

The eglSwapInterval will work only when you enable multibuffering. Before starting the application

export FB_MULTI_BUFFER=2. This will make the EGL to use multibuffering and then try the eglSwapInterval. It will work.

View solution in original post

8 Replies
1,733 Views
PrabhuSundarara
NXP Employee
NXP Employee

The eglSwapInterval will work only when you enable multibuffering. Before starting the application

export FB_MULTI_BUFFER=2. This will make the EGL to use multibuffering and then try the eglSwapInterval. It will work.

1,732 Views
chrisrutherford
Contributor II

Just to confirm this is also working fine with QT4.8 and WebKit.  For this to work I had to use a QT OpenGL ViewPort for the WebKit surface, and patch the eglnullws driver to initialize the EGL surface before use, otherwise a got an error like error 300b cannot create surface.  This allows CSS to be fully hardware accelerated.  export FB_MULTI_BUFFER=2 prevents tearing around the edge of objects when swiping etc.

0 Kudos
1,732 Views
vikaspatil
Senior Contributor I

Hi Christopher,

I am also getting tearing around the edge of objects when swiping with qt5.4.2.and qtwayland 5.4.2, weston 1.8.0. Which graphics platform you tried with(fb, wayland,x11)? Which platform plugin for QT?

Could you describe the changes in more details and steps if any?

Regards,

Vikash,                                                         

0 Kudos
1,732 Views
sergkot
Contributor II

Hello. Question: Where you are found this information?

Thank

0 Kudos
1,732 Views
ericbeaudoin
Contributor II

Thank you, it's working with export FB_MULTI_BUFFER=2, the frame rate is now at 60FPS with the vivante -fb drivers.


Also, I have tried to use opengl es/egl on the top of directFB, using the -dfb version of the vivante GPU. It's working, but again the frame rate is not limited to 60....export FB_MULTI_BUFFER=2 was done, eglSwapInterval(1) was called also. It look like the eglSwapBuffer didn't wait for V-sync when using EGL, with directFB? Does there is another way to perform the swap buffer?

0 Kudos
1,732 Views
PrabhuSundarara
NXP Employee
NXP Employee

BSP 12_05 do not have the support for eglSwapInterval. Please use L3.0.35_1.1.0 release from freescale.com,to have the support and where you have control.

0 Kudos
1,732 Views
ericbeaudoin
Contributor II

Hi, I have exactly the same problem, it look like the GLES driver dont wait for the VSYNC, I am using the latest BSP L3.0.35_1.1.0, the video output that I am using is HDMI. I am using the -fb version of the vivante GPU driver. I have tried the eglSwapInterval(1), it didn't work, the frame rate is higher than 60FPS... Somebody have a fix for that?

0 Kudos
1,732 Views
castel
Contributor III

Thanks, but it's still when we test the kernel&rootfs in "L3.0.35_1.1.0_121218_images_MX6.tar.gz".

we've try some sample & tutorial in VDK, and others GLES2 examples we used for test GPU, with adding the "eglSwapInterval()" to control swap-rate.

we wonder if we lose something in  the "L3.0.35_1.1.0" you mention?

0 Kudos