Jump to content


Photo

OpenGL ES 3D drivers, v1 compatibility layer

* * * * * 3 votes

  • Please log in to reply
684 replies to this topic

#81
Chainfire

Chainfire

    Enthusiast

  • Members
  • PipPipPip
  • 190 posts
Well we already got those dumps. But you are not doing the command right, it's pdocread -l , with the l being an L, not a |

  • 0
Author of many things ;)

My development blog: http://www.chainfire.eu/

#82
nicodega

nicodega

    Newbie

  • Members
  • Pip
  • 26 posts

Wallow in my awesomeness when I upload a YouTube of glBenchmark running, coming right up :)


Nice work! (not the vid, since you didn't upload it yet hehe, but the fact you made it work :))

  • 0

#83
Chainfire

Chainfire

    Enthusiast

  • Members
  • PipPipPip
  • 190 posts
Well YouTube isn't really letting me upload.

It's far from finished yet, though. I did some preliminary hacks to get it to work, but they need to be polished to have it work great.

  • 0
Author of many things ;)

My development blog: http://www.chainfire.eu/

#84
Chainfire

Chainfire

    Enthusiast

  • Members
  • PipPipPip
  • 190 posts
And here it is:

  • 1
Author of many things ;)

My development blog: http://www.chainfire.eu/

#85
GinKage

GinKage

    Enthusiast

  • Members
  • PipPipPip
  • 217 posts
  • Devices:Samsung i8000 (Omnia II)
Chainfire,
Watched the video with my mouth opened wide. Needless to say, You da man! :)

  • 0

#86
nicodega

nicodega

    Newbie

  • Members
  • Pip
  • 26 posts

And here it is:


Wow, it did work! hehehe

Are you using the lib from another device or did you have to make a stub dll? Or does it use libglesv1_CM?

BTW does it run as crappy as it looks or is it the video? well I don't really know if it's crappy or if it's the menchmark to tell you the truth.. but it does seemes a bit choppy.

  • 0

#87
Chainfire

Chainfire

    Enthusiast

  • Members
  • PipPipPip
  • 190 posts

Wow, it did work! hehehe

Are you using the lib from another device or did you have to make a stub dll? Or does it use libglesv1_CM?

BTW does it run as crappy as it looks or is it the video? well I don't really know if it's crappy or if it's the menchmark to tell you the truth.. but it does seemes a bit choppy.


Well it took a lot of work to get the G7 drivers to work on my horribly ancient ROMs (sample devices, ugh), but after that all code is completely © Chainfire. So you G6 and up users will not have to re-install / overwrite your normal GL ES drivers, just my additional compatibility drivers.

The compatibility layer provides a libgles_cm (which the older apps all use, instead of libglesv1_cm and libegl), which reroutes calls to the correct actual DLL's and modifies a whole array of calls / parameters as well. I will also need (not started on this yet) to fake some calls to provide better compatibility for apps compiled specifically for Qualcomm devices (HTCs). Additonally, I will also try to create a CL layer, which is used by such games as DoomGLES and HereticGLES. I've not looked into specific requirements of SPB Mobile Shell 3 yet, but I also plan to try to get that to work with GL. This whole thing is still in it's infancy.

As for the choppyness, the camera I used is not top notch, but it was a bit choppy indeed. This is however pretty normal with glBenchmark (it's a benchmark, after all), I have never seen a device actually doing these tests really fast (especially the second test... whoosh!). That being said, there may be improvements to be made. My first tests were a lot slower still than you see on the video, but by adjusting some hijacked calls it got a bit faster. I am nowhere near figuring out the ideal hijacks and parameters yet.

@all Please rate the video, obviously :)

  • 0
Author of many things ;)

My development blog: http://www.chainfire.eu/

#88
Albertri

Albertri

    Regular

  • Members
  • PipPip
  • 121 posts
  • Location:Singapore
  • Devices:GT-i8000, E63, ZN5

And here it is:



sweet come to think you just started working on it.

  • 0

#89
Chainfire

Chainfire

    Enthusiast

  • Members
  • PipPipPip
  • 190 posts
BTW, if someone feels the need to submit something to the frontpage here, WMExperts or WMPowerUser or smth like that, feel free :)

EDIT: Now also tested and working on the B7620! Works better than the I8000 even!

Edited by Chainfire, 11 September 2009 - 02:50 PM.

  • 0
Author of many things ;)

My development blog: http://www.chainfire.eu/

#90
Irenicusjd

Irenicusjd

    Newbie

  • Members
  • Pip
  • 10 posts
  • Devices:Omnia pro B7610, Tytn 2
Tried it with the Omnia pro b7610

PDA: B7610BUIH1
CSC: B7610VDFIH5
PHONE: B7610BUIH1

But it didnt work

  • 0

#91
Chainfire

Chainfire

    Enthusiast

  • Members
  • PipPipPip
  • 190 posts
That's funky as it does work on my B7620... :S

  • 0
Author of many things ;)

My development blog: http://www.chainfire.eu/

#92
Chainfire

Chainfire

    Enthusiast

  • Members
  • PipPipPip
  • 190 posts
Well, I'm off for the weekend, will continue playing around with this on Monday. In other great news, the friend who also worked with me on the HTC Kaiser drivers is also interested on working on this with me, so great things may come to pass :)

  • 0
Author of many things ;)

My development blog: http://www.chainfire.eu/

#93
nicodega

nicodega

    Newbie

  • Members
  • Pip
  • 26 posts

Well, I'm off for the weekend, will continue playing around with this on Monday. In other great news, the friend who also worked with me on the HTC Kaiser drivers is also interested on working on this with me, so great things may come to pass :)


Great :), have a nice weekend!

  • 0

#94
coolkat

coolkat

    Newbie

  • Members
  • Pip
  • 26 posts
what is b7620? is it armani version? any links to the specs and photos of this device?

  • 0

#95
1806

1806

    Newbie

  • Members
  • Pip
  • 1 posts
  • Devices:I8000
PDA: I8000XXIH5
CSC: I8000FAMIH4
PHONE: i8000DXIH2

http://www.4shared.c.../Screentex.html - ОК.

  • 0

#96
GinKage

GinKage

    Enthusiast

  • Members
  • PipPipPip
  • 217 posts
  • Devices:Samsung i8000 (Omnia II)
So, Chainfire... How's progress? :)

  • 0

#97
Chainfire

Chainfire

    Enthusiast

  • Members
  • PipPipPip
  • 190 posts
Well, as you can see on the YouTube video, glBenchmark is rather slow. Your average HTC device will do this much faster, while our devices' GPU should in turn be much faster. So something isn't quite right there. Trying to figure out what that is. I'll be needing to convert my own test apps from GL1 to GL2 to see whether the v2 driver suffers from the same issues, or if it is something weird with the v1 driver. Both will be difficult results. If it's the v1 driver, then how will we be able to fix it, if it's the v2 driver, then we have to investigate that as well, as it would be much much slower than the specs say it should be.

Also, I still have a crashing issue on the I8000 (only), hopefully ROM flash will resolve that one.

Edited by Chainfire, 15 September 2009 - 11:51 AM.

  • 0
Author of many things ;)

My development blog: http://www.chainfire.eu/

#98
Chainfire

Chainfire

    Enthusiast

  • Members
  • PipPipPip
  • 190 posts
Status update: I have somewhat confirmed the slowness exists in the GL2 driver as well, so it's not just the fault of the v1 compat nor the v1 emu layer. Something fishy is going on. I'm going to leave this I think until I get my hands on a newer device, though.

  • 0
Author of many things ;)

My development blog: http://www.chainfire.eu/

#99
nicodega

nicodega

    Newbie

  • Members
  • Pip
  • 26 posts

Status update: I have somewhat confirmed the slowness exists in the GL2 driver as well, so it's not just the fault of the v1 compat nor the v1 emu layer. Something fishy is going on. I'm going to leave this I think until I get my hands on a newer device, though.


If I wanted to test it on my device to see if it's still slow, what would I need besides the dll you've created?

If I only need the dll, could you upload it and tell me what app to use and how to measure it's speed so we can compare it?

  • 0

#100
GinKage

GinKage

    Enthusiast

  • Members
  • PipPipPip
  • 217 posts
  • Devices:Samsung i8000 (Omnia II)
Chainfire,
Hm, you're right, I tried to rewrite Screentex with GLES2, and it is not very fast... Though, it runs much better than v1!

The slowest part in the v1 version, by the way, wass rasterization: when the quad is rotated so that the viewer lies in its plane, the speed is quite good, but when it faces the viewer, performance is awful. I know that the Omnia's hardware does blitting and streching quite good (just try CorePlayer in DirectDraw mode, and compare it to RAW Framebuffer mode), so there's definetly seem to be something wrong with the driver. And the v2 version has some hiccups with any quad rotation.

On the other hand, Albertri said two pages ago that Screentex (v1) runs smoothly on H3 (and I cannot say that about my G6). And, in the H6 topic, FerdiBorbon reports surprisingly good performance in Cube interface. I think I should test Screentex (both v1 and v2) on a newer firmware.

  • 0




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users