I'm trying to port a game engine to Raspberry Pi 3. The engine supports iOS and Android (running OpenGL ES 2.0) and Windows (running standard OpenGL). I've added a RPi backend to the engine that runs OpenGL ES 2.0 and for the most part everything is fine (UI and sprites render), however I've got one bug with models that is proving really hard to track down.
Essentially, my demo scene has 2 models with 2 different vertex formats (one with 5 attributes and one with 7). If I render only the model with 5 attributes it does not appear on screen. However if I render the one with 7 attributes aswell, the one with 5 shows up but the one with 7 doesn't.
As you can imagine the sheer volume of code means I can't post a nice concise code sample but I can tell you that the models are loaded into static VBOs then the VBOs and the vertex attributes are enabled prior to each render call. The fact that the scene renders correctly on all the other supported platforms means it is likely some part of my GL code is non standard but supported by the other platforms.
I don't expect anyone to be able to solve my problem with so little to go on but I'm wondering has anyone else ported an application from another GL ES platform and what kind of compatibility issues did you experience that might help me narrow down my problem?