4 ms·
Additionally, they use ARM Mali GPU IP which is much less open and has far lower-quality drivers (IMHO) than the VideoCore GPU used on Raspberry Pi and friends.
by bri3d 12y ago
Additionally, they use ARM Mali GPU IP which is much less open and has far lower-quality drivers (IMHO) than the VideoCore GPU used on Raspberry Pi and friends.
- pcwalton 12y agoI've had a lot more trouble with VideoCore IV drivers than Mali. In my experience VideoCore has massive overhead on each call to glDrawElements(), making it almost unusable for even small numbers of render state changes. When trying to work around that by batching more aggressively, I ended up with more than a half dozen or so varyings, which caused the drivers to happily crash the entire board.
- bri3d 12y agoMali has massive driver stalls as soon as you start touching VBOs directly (ex to make dynamic VBOs using glBufferData). There are also a lot of fun and easy ways to shoot yourself in the foot and cause the driver to exhaust memory. I think mobile GPU drivers in general are pretty much a wasteland, but at least VideoCore is a documented wasteland.
- pcwalton 12y agoFair enough. It's really sad how we have enormous GPU power available in the mobile hardware, but in practice the drivers hold them back so much that that GPU power is really limited.
- TD-Linux 12y agoThere is a lot of work being done on the Mesa NIR-based VideoCore driver. I'll be exciting to see what becomes of it. http://dri.freedesktop.org/wiki/VC4/ http://dri.freedesktop.org/wiki/VC4/
- david-given 12y agoBack in a previous life I was doing OpenGL from the NDK on Android. At least one device could be hard reset by opening a 32-bit config and calling glReadPixels. It wasn't Android's fault; it was a shoddy vendor Mali driver. OpenGLES drivers are much, much better than they used to be (but still very bad).