Thanks for a fantastic article!
Makes me realize I should look at how you've optimized vertex submission and apply the same techniques in PPSSPP ...
We have less driver problems as so far OpenGL ES 2.0 is (mostly) adequate feature-wise, but I will try some OpenGL 3.0 features to improve performance in the future.
Anyway, ARM Mali is by far the most problematic architecture for us, although PowerVR drivers seem seriously buggy too. Adreno also had a crippling bug around shader discard (used to implement alpha test) that we were able to work around (which has been fixed in the latest drivers so I can't be bothered to report it).
Anyway, we have an online reporting system for errors, including shader compile errors. You can see the automatic reports here, and how Mali dominates the shader problems:
http://report.ppsspp.org/logs/kind/39
(that mediump issue is a bug in the emulator, most of the rest are shader compile issues).
Makes me realize I should look at how you've optimized vertex submission and apply the same techniques in PPSSPP ...
We have less driver problems as so far OpenGL ES 2.0 is (mostly) adequate feature-wise, but I will try some OpenGL 3.0 features to improve performance in the future.
Anyway, ARM Mali is by far the most problematic architecture for us, although PowerVR drivers seem seriously buggy too. Adreno also had a crippling bug around shader discard (used to implement alpha test) that we were able to work around (which has been fixed in the latest drivers so I can't be bothered to report it).
Anyway, we have an online reporting system for errors, including shader compile errors. You can see the automatic reports here, and how Mali dominates the shader problems:
http://report.ppsspp.org/logs/kind/39
(that mediump issue is a bug in the emulator, most of the rest are shader compile issues).