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

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

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

ソリューションへジャンプ
6,908件の閲覧回数
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 解決策
1,814件の閲覧回数
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.

元の投稿で解決策を見る

8 返答(返信)
1,815件の閲覧回数
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,814件の閲覧回数
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 件の賞賛
1,814件の閲覧回数
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 件の賞賛
1,814件の閲覧回数
sergkot
Contributor II

Hello. Question: Where you are found this information?

Thank

0 件の賞賛
1,814件の閲覧回数
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 件の賞賛
1,814件の閲覧回数
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 件の賞賛
1,814件の閲覧回数
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 件の賞賛
1,814件の閲覧回数
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 件の賞賛