[yocto] Need help understanding GLES segfault on Cedartrail

Chris Tapp opensource at keylevel.com
Fri Mar 22 15:19:44 PDT 2013


I've got some code that uses gstreamer to capture video frames (using appsink) and then render them to the screen using textures under GLES.

The code basically does:

  1) Grab image;
  2) Use one call per image row to glTexSubImage2D to update the texture
  3) Render the texture to a quad.

Sometime this runs ok (for weeks). Sometimes it crashes.

When it crashes a segfault is thrown in openGLES.so (using PRV drivers). It looks as if this happens in the call to glTexSubImage2D. I also suspect that some calls never return.

I've found that I need to add a call to glFinish() after the call to glTexSubImage2D. If I don't, some of the lines are sometimes filled with 'static'.

To me this looks like some sort of memory/timing issue. Do I need to perform some sort of manual GPU/CPU synchronisation?

Adding significant amounts of diagnostic output (to std::cerr) makes the problem a heisenbug!

Chris Tapp

opensource at keylevel.com
www.keylevel.com






More information about the yocto mailing list