How many shaders and framebuffers can I use ?


I’m working several shaders and framebuffers for image processing, like blur, gradient computation, on iPhone 3GS/4 platform.

As the number of shaders and framebuffer objects increase,

I wonder how many shaders and framebuffers could I use on iPhone 3GS/4

that are equipped with PowerVR SGX series.

I looked for the information in OpenGL ES and GLSL ES specifications but I could find nothing about it.

Anybody knows about this ?

Hi WonwooLee,

there is no explicit limit on the number of shader or framebuffer objects you can create, but as soon as the system is not able to create any more you will get an GL_OUT_OF_MEMORY error.

For example if you have a look at the renderbuffer objects specification it says at one point:

"If OpenGL ES is unable to create a data store of the requested size, the error OUT_OF_MEMORY is generated."



Hi, marco.

Thank you for your answer.

If so, somehow, is the limit dependent on the video memory or something else ?

Hi WonwooLee,

most likely it is dependant on the system memory as most embedded platforms employ a unified memory architecture (which means that the CPU and the GPU share the same physical memory).