2

I have some Qt applications rendered using OpenGL on surfaces provided by an EGL implementation on an ARM board. I'm experiencing some kind of tearing in rendering.

By reading around, I found out it may be a problem related to vsync, so I used the EGL call eglSwapInterval(eglDisplay, 1), but still tearing persist. Is that call sufficient to remove tearing? Should that call completely remove such an effect? Is it possible some tearing remains?

genpfault
  • 51,148
  • 11
  • 85
  • 139
Luca Carlon
  • 9,546
  • 13
  • 59
  • 91

2 Answers2

2

After reading the sources of the EGL implementation I've been given I discovered there was no implementation for the eglSwapInterval function. A specific implementation was needed. After that no more tearing.

Luca Carlon
  • 9,546
  • 13
  • 59
  • 91
  • Did you actually implemented `eglSwapInterval` for i.MX6 to solve the issue? – Isaac Sep 19 '15 at 12:44
  • Ah, sorry. I mixed @Ray's answer with yours and thought you are also working on i.MX6 processors. Nevertheless, can you elaborate on implementing `eglSwapInterval`? – Isaac Sep 20 '15 at 09:46
  • It was specific to my driver which was not designed to provide that feature. Using double buffering should remove that effect. – Luca Carlon Sep 20 '15 at 09:59
1

FB_MULTI_BUFFER=3 environment variable will enable the multi buffering on Freescale i.MX 6 (Sabrelite) board with some recent LTIB build.

Ray
  • 5,269
  • 1
  • 21
  • 12