Got it thanks.Was it really available there before or u uploaded it .
Hi Piyush,for point 3 - how are you measuring this? Because the Mali GPU uses a deferred architecture, it is sometimes not unusual to see a seemlingly large amount of time in eglSwapBuffers(). The way the deferred architecture works, the driver collects all of the draw commands during the frame, but just adds them to a queue - it does not do actual rendering at the time of the glDraw*() call like an immediate mode renderer would. Instead, when the end of the frame is reached as indicated by eglSwapBuffers(), the driver will then work out the required drawing operations and execute them.Could this be what you are seeing?HTH, Pete
while( true ) Do game behavior update Call glClear ( COLOR | DEPTH | STENCIL ) Do all GL commands according to the game behavior update Call eglSwapBuffers
Like most embedded GPUs Mali only starts rendering when you call eglSwapBuffers - it's more power efficient to buffer things up and submit it all to the hardware in one big batch, so what you are actually doing is forcing a big gap between your GL commands and the hardware starting.The following is far more commonwhile( true ) Do game behavior update Call glClear ( COLOR | DEPTH | STENCIL ) Do all GL commands according to the game behavior update Call eglSwapBuffers Remember eglSwapBuffers is asynchronous and doesn't actually swap anything, it just tells the driver "I'm done with this window surface". The actual window system update happens "later" under driver control.
Hi Piyush,for point 1, as you have discovered, if OpenGL-ES considers the texture "incomplete" it will instead render black texels. In this case, the glTexParameteri() mode for GL_TEXTURE_MIN_FILTER has probably been left on its default of GL_NEAREST_MIPMAP_LINEAR - in which case OpenGL-ES will consider the texture incomplete unless you load *all* mipmap levels, or generate them automatically using the glGenerateMipmap() call as you have done.Hope this clarifies what was happening. Cheers, Pete
Hi Piyush,regarding point 5 - have you seen the Mali OpenGL-ES 1.1 emulator here?http://www.malidevel...11-emulator.phpIf you can post your OpenGL-ES code that isn't working perhaps we can help you debug it.I'm not sure the statement about OpenGL-ES 1.1 vs 2.0 being faster is necessarily true - it depends what effects you are trying to achieve. Some effects will be much harder when forced to use the fixed funtionality of 1.1 when you could write a much more efficient customer shader yourself.Can you explain more about what you are trying to achieve?HTH, Pete
So as conclusion even if I don't need mipmap I need to call glGenerateMipmap() right ?