Have your tried a simple test case? I would suggest a skeleton program with just 1 fragment and 1 vertex shader and link them into a program.
Are you calling glGetError and logging or aborting after every OpenGL ES API call? On Thursday, May 24, 2012 6:37:17 PM UTC+1, sebastian_bugiu wrote: > > 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 [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

