Closed M-a-r-k closed 8 years ago
Graphic Buffer is a private API so it's not guaranteed to work. In the best case the functions will return errors but in sometimes they have other unexpected effects like crashing or freezing the app. I've added a warning prompt if trying to set it on a device that's not in the app's whitelist.
I'm testing Snes9x EX on a Huawei G620S phone (Qualcomm Snapdragon 410 MSM8916, Adreno 306, Android 4.4.4). The GPU driver reports its renderer as "Adreno (TM) 306" and version as "OpenGL ES 3.0 V@84.0 AU@04.04.04.157.009 (CL@)". For OpenGL 1.1 version is reported as "OpenGL ES-CM 1.1"
After launching the emulator but before loading a game, I can change GPU Copy Mode to Graphic Buffer without the emulator crashing. There is this line in adb logcat output when I do that: E/qdmemalloc(28949): unrecognized pixel format: 0x60f469e7
When I then load a game the emulator crashes. Alternatively, after loading a game if I then open the settings menu and tap to set GPU Copy Mode to Graphic Buffer the emulator crashes then. adb logcat output on doing that is below. There doesn't seem to be any specific indication as to the problem, it just reports that many processes have died. One time the crash seemed to lock up the entire phone, so perhaps this is actually a GPU driver bug.
This isn't a big problem; the default Auto setting works fine so the solution would be "don't do that". But I figure reporting it won't hurt.