- June 3, 2014 at 10:26 pm #31725
Our game is crashing on a Nexus S running Android 4.1.2. The very first call we make to glDrawElements where we’re drawing two triangles (textured quad) using client vertex & index arrays (not buffer objects) crashes. The only thing I can see in the callstack after the crash is a memcpy call which I guess must be happening in your driver. This app is working fine on several Adreno devices.
I was wondering if this sounds like any previously known issue as this is a pretty old device and if any work-around might exist. I captured a trace with PVR Trace but of course the final crashing draw elements call is not included. It can be downloaded here: https://dl.dropboxusercontent.com/u/69927239/trace.zip if you think it might be of any use.June 4, 2014 at 6:27 am #38778
It looks like the actual cause of this was rendering with an ETC1 texture that didn’t have power of 2 dimensions. No GL errors were generated by TexImage2D or TexSubImage2D though, just this crash when rendering primitives with it.June 6, 2014 at 2:04 pm #38779
Glad to hear you’ve resolved your issue 🙂
A colleague has informed me that the ETC1 extension was written against the OpenGL ES 1.1 specification. In OpenGL ES 1.1, there was a restriction that all textures had to be power of two. This means that you can only be certain that platforms that support ETC1 will accept power of two textures. Non-power of two texture support is undefined.