Jump to content

OpenGL ES 3D drivers, v1 compatibility layer


Recommended Posts

I updated the archive a bit, for the whole app to look a bit better. :)

Well, it basically could mean that the 1.x emulation driver on your test i8000 is a bit... wrong?

Have you tried to run the app with dll's from the previous page?

Anyway, at least we now have 2.0 stable working, with SDK.

what is SDK? and where to download? or SDK already on I8000 ROM? sorry for stupid question :)

Link to comment
Share on other sites

Guest nicodega
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 :))

Link to comment
Share on other sites

Guest Chainfire

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.

Link to comment
Share on other sites

Guest nicodega
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.

Link to comment
Share on other sites

Guest Chainfire
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 :)

Link to comment
Share on other sites

Guest Chainfire

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
Link to comment
Share on other sites

Guest Chainfire

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 :)

Link to comment
Share on other sites

Guest nicodega
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!

Link to comment
Share on other sites

Guest Chainfire

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
Link to comment
Share on other sites

Guest Chainfire

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.

Link to comment
Share on other sites

Guest nicodega
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?

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.