OpenGL ES calls block and timeout over and over.

OpenGL ES calls block and timeout over and over.

I run my application and after an inconsistent amount of time all of my OpenGL ES calls stop working.  I am able to get a partial stack trace on the thread that is doing the OpenGL ES call and it seems to be blocking on the glDrawArray call.  It will timeout after about 3 seconds.  I have tried restarting my application and it does not fix the problem.  My application will restart but it will do the same blocking call on the glDrawArray.  I have also tried to stop and start the pvr and when I try to stop the pvr the unit will completely hang and become unusable.

One difference I notice from a working application and a hung one is when I do a cat on the /proc/pvr/queue on the hung unit it will display items in the queue and they never change.  It usually shows 4 items with the same pid and an “<empty>” item.

When the unit is hung I am still able to cat images to the display.

My units description:
arm 11 i.mx31 processor
freescale 2.6.22 kernel (ltip5)
OpenGL ES 1.1 (PowerVR)


Hi Tom,


It is a very strange problem you have there. We never have seen anything like this and we are using the latest drivers for our iMX31 (Stack3 and standard devkits). Sadly, we cannot help you much with this issue because it is Freescale who develop the drivers for this platform. Maybe you can send an email to Estevam Fabio asking for support [Fabio.Estevam@freescale.com]


Best regards.


Carlos.