@Capehill
Just to let you know that in the last 2 days glSnoop help us with Daniel find out some nasty issue in gl4es. There some interesting (i hope:) ) story about:
Firstly I find out that something going wrong with the loading of textures in some of the games. For example, Night Of The Zombies takes about 50 seconds to startup, which is really were strange for me, but I thinking before "ok, no DMA, probably that it".
Now, some time ago I got access to another closed source game, which loads, even more, 1.5 minutes or something. That was unacceptable, I start to ask Hans firstly about what it can be at all. We discuss that it can't be DMA probably, as all should be fine in terms of uploading textures to GPU.
I then create small test cases to find out that it even no the uploading textures to GPU slow, but uploading of textures to VRAM either!
Then I bring all that info on Daniel, he starts digging with ogles2 debugging, and ask "what glSnoop says about?", oh yes! We have glSnoop! Damn, how can I forget that masterpiece!
So running GlSnoop at test case:
LINK on output from glsnoopAnd as you can see it show us that all time is spent inside of TexUpdateImage(), so glTexImage2D() then! Daniel starts to disable things, adding prints, and find out that it client's glTexImage2D() and not ogles2 or Nova for sure. So we first think it Irrlich, but no, it was gl4es and issues with the endian conversion of GL_UNSIGNED_INT_8_8_8_8_REV formats. So today ptitSeb fix it and thigs works as expected.
But, without glSnoop, how we could know that it glTexImage2D() in end. Maybe after a day of prints debugging :)