Search code examples
androidopengl-es-2.0shadergalaxy-tabpowervr-sgx

PowerVR-SGX500 series strange behavior


When testing on a Galaxy Tab 3 with a PowerVR-SGX GPU, our animated 3D models appeared to explode, smearing polygons all over the screen. Other devices without the PowerVR GPU did not exhibit this behavior with the same APK. Is anyone else seeing this problem? Is there anything I am missing?


Solution

  • After a long and arduous trek through our rendering pipeline, animation pipeline, and finally the shaders themselves, I found that the dot product function in our vertex shader was the issue. Replacing the call to the built-in dot(2) function with a hand-made dot product completely fixed the issue. I have no explanation for why the dot function in the vertex shader doesn't work, but this solution solved the issue on both the Galaxy Tab 3 and the Galaxy S4 (with PowerVR). Does anyone know why this is a valid solution?