android ndk - Dealing with OpenGL ES 2.0 driver bugs -
I am currently Android running a 3D C ++ game from IOS via NDK. Rendering is done with GLES2 when I finish typing all platform specific stuff and playing the game for the first time, I saw the rendering of bugs - sometimes only parts of geometry will be presented, sometimes Large triangles will flick through the screen, and so on ...
I tested it on Galaxy Nexus 4.1.2. I found this apart, I saw the same report and a staff member confirmed that this is actually a driver bug. All this started to think about me - how can I handle cases of confirmed driver bugs? I do not like both options. Option No 1 will punish all users who have a good driver. VAO really encourages performance and I think it is a very bad thing to ignore them because one device has a bug. The option number 2 is very hard to correct. I can not test every Android device for broken drivers and I hope the list will change continuously, so it will be difficult to maintain. Any suggestions? Can there be a way to detect such driver bugs at runtime without having to manually test every device? In an open GL worm Android OS driver is a famous thing, so the driver is full of bugs It is possible by the way. Especially if you are using some advanced (non-properly tested) features like GL Extensions. In a large Android project, we generally fight these problems using the following checklist: glGetError () did not return anything Additionally, the game has run well on all iOS devices. I started to suspect a driver bug and after hunting for several hours I realized that the problem was the use of VAO (
GL_OES_vertex_array_object ), the same renderer worked fine without VAOs and VAOs Produced crap with.
Comments
Post a Comment