glDrawElements crash on SGX 540 (Nexus S)

This topic contains 2 replies, has 2 voices, and was last updated by  Joe Davis 3 years, 4 months ago.

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #31725

    eodabash
    Member

    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.

    #38778

    eodabash
    Member

    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.

    #38779

    Joe Davis
    Member

    Hi,

    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.

    Thanks,
    Joe

Viewing 3 posts - 1 through 3 (of 3 total)
You must be logged in to reply to this topic.