Android OpenGL ES Issues
OmniG Software Inc. (www.omnigsoft.com)
Monday, January 21, 2008
X-Benchmark for Android
This document lists all issues we got during the development of OmniGSoft X-Benchmark
for Android. X-Benchmark is a comprehensive mobile performance benchmark, which tests
the most important capabilities of a mobile device, including: processor, memory, I/O, 2D
graphics, 3D graphics.
While developing the 3D graphics test module for Android OpenGL ES implementation, we
got several issues in OpenGL ES. The issues listed here are based on X-Benchmark running
on the latest Android SDK (android_sdk_windows_m3-rc37a.zip). We also include the test
result of X-Benchmark Java ME edition running on Sun Wireless Toolkit 2.5 with Sun
OpenGL ES implementation (JSR-239 Java Binding for OpenGL ES).
All Android OpenGL ES issues listed here are concluded from comparison between Android
OpenGL ES test results and Sun OpenGL ES test results. However, they are still not finally
confirmed, which means:
1. The issue could be a bug in Android OpenGL ES implementation.
2. This issue might be caused by improper usage of OpenGL ES functions, such as
incorrect function parameters.
Issue 1: OpenGL Fog causes wrong 3D rendering
Left: Sun Wireless Toolkit (JSR-239); Right: Android OpenGL ES
Issue 2: OpenGL Fog function glFogf() causes “Invalid Enum” exception
When calling glFogf() with any one OpenGL constant of GL_LINEAR, GL_EXP, GL_EXP2,
Android OpenGL generate an “Invalid Enum” exception. Following is the Dalvik Debug
If remove glFogf() calling, the OpenGL works, but not sure what kind of fog formula is used.
Issue 3: OpenGL Texture does not su