[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