I have a LinkedQueue that stores the calls to anything from the GLES20
class. After loading it up I send a requestRender() call to
GLSurfaceView and in onDrawFrame() I process the queue and call the
actual GLES20 method.

Yet when I call GLES20.glLinkProgram() the function never returns. I
don't have anything in the logcat, no exception, no killed thread
nothing. It just remains there.

Any ideas in which conditions glLinkProgram() doesn't return and what
can I do to debug this situation?

I use a queue in which I add the gl commands issued by the renderer
and then I requestRender() to empty the queue by iterating through it
and calling each method in the added order. Some gl commands are of
get type and they can't be added to a queue so after issuing
glCreateShader I immediately requestRender() and store the retrieved
id that I then pass into the queue with the next commands like
glAttachShader etc. So in one onDrawFrame() call I create the shaders
and in the next I attach the source compile and link.

What I do may seem awkward but it does create both a vertex and
fragment shader and then compiles them both correctly. It also creates
a program with no errors. But linking the shaders to program just goes
into infinite loop or something

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to