Notices


Reply
Thread Tools
Estel's Avatar
Posts: 5,028 | Thanked: 8,613 times | Joined on Mar 2011
#81
Since Lincity GLES1 discussions, I was helping (just a little) to investigate HomeworldSDL performance issues. As a result, I'm no longer surprised, that GLES1 doesn't give us performance benefits - according to freemangordon, GLES1 is emulated entirely (or almost entirely) on our devices, meaning that it runs on CPU, this or another way.

For "real" hardware accel., we would need GLES2, which is whole different beast, and rewrite wouldn't be trivial, sadly

/Estel
__________________
N900's aluminum backcover / body replacement
-
N900's HDMI-Out
-
Camera cover MOD
-
Measure battery's real capacity on-device
-
TrueCrypt 7.1 | ereswap | bnf
-
Hardware's mods research is costly. To support my work, please consider donating. Thank You!
 
javispedro's Avatar
Posts: 2,355 | Thanked: 5,249 times | Joined on Jan 2009 @ Barcelona
#82
Originally Posted by Estel View Post
according to freemangordon, GLES1 is emulated entirely (or almost entirely) on our devices, meaning that it runs on CPU, this or another way.
WTF are you talking about? (second WTF of the day) OBVIOUSLY GLES1 runs on the GPU, otherwise it would be close to the fastest software renderer (for ARM) that I've ever seen.

There have been other devices (/me looks at Android chinese crap) where ES 1 calls were emulated _on top of ES 2_. This is not as bad as it sounds because ES 2 is actually quite flexible. But I've never heard of such crap as emulating on the CPU.

And certainly it's not the case for the imgtech driver, because on its first days it was a GL ES 1.1 only driver. GL 2 was added during the start of the SGX era. But among other things it means that the ES 1.1 library has access to some hardware features the ES 2 library doesn't even use (ie ES 1 library uses the codegen directly, there is no 'shader language' middle layer).

EDIT: Please note that I am quite sure that stuff like multMatrix() is run on the CPU; but geometry is certainly not.

Originally Posted by Estel View Post
For "real" hardware accel., we would need GLES2, which is whole different beast, and rewrite wouldn't be trivial, sadly
For a 2D game, a rewrite would be quite easy actually. You just need to write a single shader that does the alpha testing, rewrite the "bitblt" function into a call to drawArrays() and that's about it.

The problem is that, as usual, I'd bet it does not actually help performance.

You can then start doing other optimizations, such as keeping a global array of coordinates and call drawArrays() once per frame instead of once per bitblt, etc. etc. and then you might get something better than GL ES 1.1 performance, but even then, I'd bet that not by much.
 

The Following 3 Users Say Thank You to javispedro For This Useful Post:
Estel's Avatar
Posts: 5,028 | Thanked: 8,613 times | Joined on Mar 2011
#83
Originally Posted by javispedro View Post
WTF are you talking about? (second WTF of the day)
And both are related to FMG, heh I belive you by word, as sadly, I have no expertise on that matter. I point FMG to that post, maybe he will sheed some light where originate this conslusion about gles1 being emulated on software (in case of our device).

In any way, thanks for your detailed explanation.

/Estel
__________________
N900's aluminum backcover / body replacement
-
N900's HDMI-Out
-
Camera cover MOD
-
Measure battery's real capacity on-device
-
TrueCrypt 7.1 | ereswap | bnf
-
Hardware's mods research is costly. To support my work, please consider donating. Thank You!
 
Posts: 3,074 | Thanked: 12,960 times | Joined on Mar 2010 @ Sofia,Bulgaria
#84
@Estel - by "emulated" I meant exactly what javispedro said - it runs on top of GLES2 with some stuff running on CPU. That means that GLES1 fixed pipeline is emulated using shaders (the only thing we have in GLES2). Or I;ve been out of my mind Can't comment on the performance.

@javispedro - despite WTFs, I am glad to see you back


EDIT: oh, GLES1 is using powervr library calls directly without shaders? Never knew it.
__________________
Never fear. I is here.

720p video support on N900,SmartReflex on N900,Keyboard and mouse support on N900
Nothing is impossible - Stable thumb2 on n900

Community SSU developer
kernel-power developer and maintainer


Last edited by freemangordon; 2013-06-23 at 18:39.
 

The Following 3 Users Say Thank You to freemangordon For This Useful Post:
Reply

Thread Tools

 
Forum Jump


All times are GMT. The time now is 09:12.