AnsweredAssumed Answered

OpenGL syncrhonization on iMX6

Question asked by anthonypellerin on Sep 28, 2016
Latest reply on Oct 4, 2016 by Bio_TICFSL

Hi,

 

We have some questions regarding OpenGL synchronization.

 

eglSwapBuffers() is an asynchronous function. You call it, and the function return immediately, without any guarantee that the operation are done (or even began).

 

For a specific use case, we need to wait until all operation are done and the result is visible on screen, before doing anything else.

It would look like:

eglSwapBuffers();

Wait until all operation are done;

Resume normal operation ...

At first we thought glfinish() would do the trick, but it doesn't seem to be the case.

 

A bit of context:

This is on WEC7, imX6 DL.

lib Vivante version is around 4.6.

DDRAW overlay are using double buffering.

 

We would need a function waiting until flip() was called on the DDRAW overlays.

Does such a function exist ?

If not, is there any way to work around the problem ?

What is glfinish exact behavior ?

 

Thanks

Outcomes