We all know that iOS devices which have POWER-VR SGX 5 Series GPU built in(3GS or LATER) .
The POWER VR GPU perform opengl rendering based on TBDR technology, which means that the hardware won't execute drawing commands immediately but cache them until some point, and then execute them all.
This can perform early HSR because that all drawing data are submitted to opengl at the executing point, the hardware has global visibility info in every tile being processed, this is good we all know.
But I'm confused that WHEN does or WHAT makes the hardware to STOP caching and to execute commands submitted previously as the application calling glDrawArray or glDrawElement time and time again besides the Opengl objects(tex, shaders, buffer objects...) modifying operations and glFlush, glFinish function ?
P.S. I also know that the hardware will flush commands submitted previously when PB(Parameter Buffer which helps performing HSR) is full.