yashsingh1/xdaforums huggingface dataset:
[Tilt, TyTN II, MDA Vario III General] FloatingFatMan:
I've done a comparison (I made the original video), but I can't upload the video as I'm on a new PC now, and it has no firewire port for uploading from my camcorder. I'll see what I can do in a week or so, after payday. Don't be expecting much though. Whilst TomTom IS faster and smoother (though I've had to shut off POI's), the Magician is STILL faster (with POI's ON), than the Kaiser. The Magician remains smooth no matter what I do, whilst the Kaiser skips frames on corners still. It's a LOT better than it was, but it's still not there. I think TomTom is probably using GDI calls, rather than D3D or OpenGL ones.

Just tapping the top right corner works perfectly for me...

Oh, using ROMeOS 4.1 beta 2, btw.
[Tilt, TyTN II, MDA Vario III General] moegdaog:
Ok if the diference is much better now I deffinetky want to see this video...

Magician vs Kaiser Part #2 is a great video to be shown after these new drivers have come out. PLZ post tis video ASAP fatman =)
[Tilt, TyTN II, MDA Vario III General] FloatingFatMan:
I'll post it as soon as I can, but I have to go out and buy a firewire card. With my summer vacation in 2 weeks, I just don't have the spare cash right now.
[Tilt, TyTN II, MDA Vario III General] djboo:
i could make a video of just the kaiser doing a route, but i dont have a magician, and the ipaq6510 i have is running tomtom5 so i cant even compare the two (not that the 6510 was ever a great performer in tomtom)

is the demo route a UK one? if so i could at least do the same demo route.
[Tilt, TyTN II, MDA Vario III General] pyraxiate:
256 pages ???? Did you even follow the link?? I mean seriously. The thread title is "htcclassaction.org" meaning this is a thread attached to the site where all the updates are. Again..... please read completely. http://www.htcclassaction.org/driverprogress.php#update_20080729_1

Theres the link again. Note, its 1 single page showing the driver progress over at "HTCCLASSACTION.ORG"
[Tilt, TyTN II, MDA Vario III General] willieb9000:
I am not sure if people know how to dump a Toshiba ROM, but this guy has one and seems to be in need of help, so he might be a place to start if you can't get a pre-dumped one. Probably not helpful, but I thought I would point him out...

http://xdaforums.com/showthread.php?p=2485703
[Tilt, TyTN II, MDA Vario III General] ycavan:
Here's another opengl es benchmark I happened upon:

http://www.ims.tuwien.ac.at/~daniel/download/BenchGLES_0_2.zip

I think it was written for vga... but the fps I got in the tests were:

1. teapots - 18.x fps

2. moving texture - 16.x fps

3. textured cube - 35.x fps

4. cowboy - 35.x fps

5. multiple cowboys - 24.x fps

the last page is supposed to give a bunch of scores, but I don't know how to change the screen up to them.

press any button to exit out of it.
[Tilt, TyTN II, MDA Vario III General] iservealot:
I am interested to see the video on TomTom on the TYTN II now as well.
[Tilt, TyTN II, MDA Vario III General] Shub-Niggurath:
All demos work fine for me (except 3d text). I noticed that after running the 3d text demo, none of the others will start until a soft reset is performed. They just hang while loading. Maybe the text demo doesn't properly release the driver or something?
[Tilt, TyTN II, MDA Vario III General] btprice2001:
He wants to change the language on his device. If someone would help him, the dumped ROM from his device could become available.
[Tilt, TyTN II, MDA Vario III General] ycavan:
This question really belongs in the Software forum, but what libraries are you guys using to build opengl es apps against?

Right now, I'm fiddling w/ Vincent, but if I recall, Vincent doesn't support hardware acceleration at all... anyway, here's a modified "movelight" sample app... it's a torus w/ a light source rotating around it. press up/down to change light source direction and tap on the screen to quit.

View attachment movelight.zip
[Tilt, TyTN II, MDA Vario III General] NuShrike:
Watch out.

If you have drivers installed, this app doesn't start up properly and doesn't shut down properly with the X.

ycavan, it's easy to test this behavior yourself, if you remove your Vincent libgles_cm.dll.
[Tilt, TyTN II, MDA Vario III General] ycavan:
really???? how did it mess up your kaiser?

I thought it worked pretty well on my tilt... even switched to landscape mode w/ no probs.
[Tilt, TyTN II, MDA Vario III General] NerdsMcGee:
I understand TomTom is faster with POIs off, but that is with or WITHOUT the D3D Drivers, as on my friends phone, it's the same as my phone with the drivers. I don't think they are affecting TT at all, and I think it's a placebo effect. Although I do wonder why TT is quicker on one phone than it is another.
[Tilt, TyTN II, MDA Vario III General] NuShrike:
All current mainstream apps uses only GDI/GAPI for the most compatibility across the PocketPC platform because HWA is so iffy (not implemented 100% everywhere; blame MS for lack of WHQL drivers), and sometimes the implementation is buggy (half-ass created by OEM and will never be updated).
[Tilt, TyTN II, MDA Vario III General] ycavan:
ahhh... I see. *nods* actually, the 'x' doesn't close properly because I'm building apps using evc4 w/ the ppc2003 model... you can still close out of the app by tapping the screen. It looks like the app still thinks the rendering context is there, even though there's nothing there.

s'why I asked about what lib file(s) ppl are compiling against w/ their opengl es apps that use hardware acceleration... lol. :)
[Tilt, TyTN II, MDA Vario III General] Dust2Dust:
While running L26 V8 Light the video and TomTom itselfs (TT6 and TT&) where running smooth already on my MDA Vario 3.
[Tilt, TyTN II, MDA Vario III General] NuShrike:
Doesn't really matter since it's a .dll. Use your own .lib and then when done linking, use the HWA .dll.
[Tilt, TyTN II, MDA Vario III General] ycavan:
kk... I'm trying to go through typhoon's tutorials and I'm starting to get a bit irritated w/ our implementation of opengl es. lol. :))

Here's a modified tutorial 7: it's supposed to rotate an object that's textured & show you your fps using a bitmap font.

If you run it w/ the supplied libgles_cm.dll file, you'll notice that it runs ~ 10-11 fps and if you run your finger on the touchscreen, it drops to about 5-6 fps...

If you rename the dll file so the app doesn't use it, then you'll notice the object is not textured at all and the bitmap font is "rougher" than w/ the Vincent dll. The interesting thing, though, is that if you run your finger on the screen, your fps will jump from 11 fps to 38-39 fps...

Close the app by clicking on the "X" in the upper right.

View attachment tut7.zip

Note:

I had to modify the EGL config attributes to just EGL_NONE in order for the app to run w/o the Vincent dll. The app would consistently fail eglCreateWindowSurface even though eglChooseConfig would respond w/ valid configs.

Here's a quick snippet of the initialization code... the commented out config is what responds w/ 6 matching configs, but no surface is created.

/*
const EGLint configAttribs[] =
{
EGL_RED_SIZE, 5,
EGL_GREEN_SIZE, 6,
EGL_BLUE_SIZE, 5,
EGL_ALPHA_SIZE, EGL_DONT_CARE,
EGL_DEPTH_SIZE, 16,
EGL_STENCIL_SIZE, EGL_DONT_CARE,
EGL_SURFACE_TYPE, EGL_WINDOW_BIT,
EGL_NONE, EGL_NONE
};
*/
const EGLint configAttribs[] =
{
EGL_NONE
};

hDC = GetWindowDC(hWnd);
glesDisplay = eglGetDisplay(hDC);

if(!eglInitialize(glesDisplay, NULL, NULL)) {
MessageBox(hWnd,L"OpenGL ES init error: egInitialize.",L"Error",MB_OK | MB_ICONERROR);
return false;
}

if(!eglChooseConfig(glesDisplay, configAttribs, configs, 10, &matchingConfigs)) {
MessageBox(hWnd,L"OpenGL ES init error: eglChooseConfig.",L"Error",MB_OK | MB_ICONERROR);
return false;
}

memset(szText,0,sizeof(szText));
wsprintf((LPTSTR)szText,L"glesDisplay: %ld\nmatchingConfigs: %d",glesDisplay,matchingConfigs);
MessageBox(hWnd,(LPCTSTR)szText,L"Info",MB_OK);

if(matchingConfigs < 1) {
MessageBox(hWnd,L"OpenGL ES init error: no matching configs.",L"Error",MB_OK | MB_ICONERROR);
return false;
}

glesSurface = eglCreateWindowSurface(glesDisplay, configs[0], hWnd, configAttribs);

if(!glesSurface) {
MessageBox(hWnd,L"OpenGL ES init error: eglCreateWndowSurface.",L"Error",MB_OK | MB_ICONERROR);
return false;
}
[Tilt, TyTN II, MDA Vario III General] NuShrike:
I've noticed that you can't CreateWindowSurface() in the middle of a WM_CREATE nor during your custom wndProc because the drivers rely on the hWnd to have initialized width/height which comes from GetClientRect().

This is not true during WM_CREATE/wndProc, so I wait until after the windows is created and ready for ShowWindow/UpdateWindow, then I do some GL init.

I've been quite successful with:

EGL_DEPTH_SIZE, 0x10,

EGL_BUFFER_SIZE, 0x10,

EGL_SURFACE_TYPE, EGL_WINDOW_BIT,

EGL_STENCIL_SIZE, 0x4,

EGL_NONE
[Tilt, TyTN II, MDA Vario III General] Chainfire:
Back from vacation :)
[Tilt, TyTN II, MDA Vario III General] vj4:
Let me be the first to say welcome back we missed you!!!!!! lol hope u enjoyed your self! (it was bloody fast wasnt it?) were'd you go?
[Tilt, TyTN II, MDA Vario III General] ycavan:
My opengl es init function is called after UpdateWindow(), so I'm still stumped as to why the surface still cannot be created... here's my winmain:

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine,	int nCmdShow)
{
MSG msg; //This is the message variable for the message loop
WNDCLASS	wc; /*This structure will hold some init values for our window*/
hInst = hInstance; // Initialization of our global variable
bool done = false;

/*This block of code is to ensure that the user only can run one
instance of the application. First we search for a window with the
same class name, if found, we will focus it and return*/
if(hWnd = FindWindow(szAppName, szAppName))
{
/* Set focus to foremost child window. The "| 0x01" is used to
bring any owned windows to the foreground and activate them.*/
SetForegroundWindow((HWND)((ULONG) hWnd | 0x00000001));
return 0;
}

wc.style = CS_HREDRAW | CS_VREDRAW; /*Will force a redraw
if the window is resized, both horizontally or vertically*/
wc.lpfnWndProc = (WNDPROC) WndProc; /*this is a function pointer,
to tell the OS what function should call when a message needs to be
processed*/
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon(hInstance, NULL);//Load default icon
wc.hCursor	= 0; // Default cursor
wc.hbrBackground = 0; //We don't care about the background color
wc.lpszMenuName	= NULL; //This application does not have a menu
wc.lpszClassName = szAppName; /*Important, here we must fill the
application class name (the class name is not the same than the
caption of the window, but many times they are the same)*/

//Before creating the window, we must register this new window class
if(!RegisterClass(&wc))
return false;

hWnd=CreateWindow(szAppName, //Class Name
szAppName, //Caption string
WS_VISIBLE,//Window style
CW_USEDEFAULT,CW_USEDEFAULT,//Starting [x,y] pos.
CW_USEDEFAULT,CW_USEDEFAULT, //Width and height
NULL, NULL, //Parent window and menu handle
hInst, NULL); /*Instance handle. Custom value to
pass in the creation with the WM_CREATE message*/

if(!hWnd) return false;

//Create our timer
timer = new Timer();

//Bring the window to front, focus it and refresh it
SetWindowText(hWnd, L"OpenGLES");
ShowWindow(hWnd, nCmdShow);
UpdateWindow(hWnd);

if(!InitOGLES()) //OpenGL ES Initialization
{
MessageBox(hWnd,L"OpenGL ES init error.",L"Error",MB_OK | MB_ICONERROR);
return false;
}

//Message Loop
while(!done)
{
if(PeekMessage(&msg,NULL,0,0,PM_REMOVE))
{
if(msg.message==WM_QUIT)
done = true;
else
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
else
{
Render();
timer->UpdateTimer(); //update the timer
}
}
//Clean up all
Clean();
delete timer;
DestroyWindow(hWnd);
UnregisterClass(szAppName, hInst);
return 0;
[Tilt, TyTN II, MDA Vario III General] rfarnell:
I was comparing the Kaiser against the Touch Diamond, the iPhone and the Nokia N95 and spotted that the Touch Diamond had a different GL rendering engine here:

http://snipurl.com/3cxq6 [www_glbenchmark_com]

The Touch Diamond refers to a Q3Dimension MSM7500W 01.02.03 0 5.1.2

Is this anything significant? Is this version compatible/portable to the Kaiser (usually Q3Dimension MSM7500 01.02.01 0 4.0.0 )?
[Tilt, TyTN II, MDA Vario III General] NuShrike:
Continued in relevant thread.

rfarnell: probably just more updates/improvements to ahi2dati.dll since HTC now seems encouraged to work on their graphics drivers in order to make TouchFlo3D work better. A relevant copy of the ahi2dati.dll or rom dump would help HTC-CA may be bring that version to Kaisers.

Still silly now since AMD/ATI left the handheld market so this is the last Imageon hardware. Boy, betting on the Qualcomm MSM platform was sure a loosing bet in even more ways now.
[Tilt, TyTN II, MDA Vario III General] .dll:
Here ftp.leafwireless.com Username: Mn62 Password:123456Mn in "HTC Rom" folder there is a diamond rom availible for download... dont know if this will be of any use!
[Tilt, TyTN II, MDA Vario III General] vj4:
ok im sure you will hear about it soon just tested the samsung drivers work ok lights i feel was slower but 3d text is readable but didnt seem 3d
[Tilt, TyTN II, MDA Vario III General] herg62123:
i remade htc ca driver and included omnia driver in it.

see if this works out better now.
[Tilt, TyTN II, MDA Vario III General] NuShrike:
You added a lot of unrelated stuff and unused stuff such as GAPI, HTCAPI, netcf 2.0, ddraw, and you swapped out the carefully selected libgles_cm.dll from the KS20 with something else. Can you detail the reason behind these choices?
[Tilt, TyTN II, MDA Vario III General] herg62123:
i added ddraw cause on kaiser the ddraw.dll is a fake file like htc_d3dm.dll. it is just a refernce file on kaiser.

htcapi is needed to help out opera 9.5 and flash animations.

netcfd3dm2.0 on kaiser is weak and is needed for d3dm structure to work with netcf and the omnia driver.

d3dm is the same as netcf2.0

there is another file that starts with a letter g, it is needed to run 3d games like call of duty 2 and doom for ppc.

the new libgles_cm.dll is optimized to handle more than previous file.

i think i covered them all.

if i missed somethink let me know.

UPDATE FOR FILE CHANGE: text3d is readable, d3ddemo is now closeable as well runs quickly, lights works perfect, triangles now shows 68 on average fps
[Tilt, TyTN II, MDA Vario III General] ycavan:
Open GL ES sucks incredibly w/ this driver... my test app went from 39fps to 9fps. I've reverted to the July 29th HTC drivers.
[Tilt, TyTN II, MDA Vario III General] herg62123:
what type of device are you using?

which test app are you talking about?

what rom are you using? if it is wm6.0 it doesn't work.

with wm6.1 it works better

there are some minor bugs i am still working out but for the most part is there.
[Tilt, TyTN II, MDA Vario III General] ycavan:
I'm using romeos v.421, it's wm6.1 on an AT&T Tilt.

The test app I'm talking about is this one:

View attachment testapp2.zip
[Tilt, TyTN II, MDA Vario III General] NuShrike:
ycavan knows what he's talking about. You can follow his work in the previously mentioned SDK thread: http://xdaforums.com/showthread.php?t=415523

I think your .cab targets WM6.0 machines right? Since most of it is redundant on HTC WM6.1 roms. Where did your libgles_cm come from?
[Tilt, TyTN II, MDA Vario III General] aksd:
@herg

It seems like D3D is software rendered while OpenGL is hardware rendered. The cylinder rotates quite slowly and is using system memory :(.
[Tilt, TyTN II, MDA Vario III General] herg62123:
i am sure he does. i am not trying to rain on anyones parade. i was trying to help out. sorry for any problems.

i am using a stock shipped rom wwe 3.28 and i have no problems with what i made from the htc ca driver, omnia driver and the others i added.

i will just sit back and not do anything to help.

by the way some of those files i added are needed with manila to work correctly. this one reason i went and added these files.
[Tilt, TyTN II, MDA Vario III General] kapollo:
Hi,

I've got some problems... herg62123 I'm using your driver brew and I acts differently for me, well first of all -

with this release is it necessary to run the DLL Checker tool if it is it crashes in my case with following cry

​

next the lights demo runs quite fast, but it's choppy sometimes (well if it runs on CPU,

as the boxes state thats, certainly why) thing that bothers me is that

​

well on the former drivers the data was filled with 0 so ... now it's quite a lot more informative.

the triangle indeed showed a speed up 67 fps in my case

PS I use stock wm6.1 plk rom
[Tilt, TyTN II, MDA Vario III General] herg62123:
i am aware of the problem with ahi2dati.dll problem. i am looking into it to see how it can be corrected.
[Tilt, TyTN II, MDA Vario III General] NuShrike:
Hey, not intending to step on each other.

So where did this libgles_cm.dll come from, if you don't mind? I'm guessing it's the Vincent software-renderer OpenGL.

edit: it looks like Vincent, but it's much faster. Anyways, so you can remove everything in your .cab except libgles_cm.dll and the D3DMXSc50PB.dll since ALL the rest of the HTC-CA files aren't needed anymore then. I've tested this with just the Samsung D3D .cab and just the libgles_cm.dll from your .cab (verified by looking in \Windows) and D3Ddemo works, Triangle works.

However, GLBenchmark doesn't work.

Btw, I compared my WWE WM6.1 ddraw.dll to your ddraw.dll and they're 99.99% identical, so I don't understand why you call the standard one a stub.
[Tilt, TyTN II, MDA Vario III General] herg62123:
i am right now talking about d3d at this time and not libgles......

the zip i have posted below is how i desided on what dll to use. i have also used pe explorer to modify some files. i am not a programmer but i am learning little by little by teaching myself by trial and error.

to use this zip unzip on storage card under program files. then click on d3ddoctor folder, then click obj file, then click release folder, and finally click

D3DMobileDoctor.exe. this will show what type of d3dm system you are running and what this file is able to do in different d3dm areas.

by using this and pe explorer i was able to find several dll files on the net and see what they can do or not. this is how i make choices on which files to use or not.

p.s. i am not the creator of this file. i found it on the net.

as far as ddraw the one on kaiser since d3dm is crippled the ddraw.dll by default does hardly little of anything. with this ddraw i used it will do what it is to do when it is called on. get a copy of pe explorer and look inside the dll file closer.
[Tilt, TyTN II, MDA Vario III General] w04g005:
Hey guys my device is a htc polaris!!! I have installed the cab file posted by herg62123 (HTC-CA-Kaiser-Drivers with omnia d3d driver.cab ) on a cooked 6.1 ROM. I wanted to know if the omnia driver changed something in the driver developping. AND THERE IS A CHANGE

First i tried to start the "HTC-CA Drivers"-programs but none of them worked fluently...Except the Triangle...it worked fast...i tried the programs a second time and....suddenly "D3D Demo" and "Lights" worked fast and fluently !!!!

I wondered why the programs run in a second attempt...and then i saw that the "Triangle" program was active all the time. It couldn't get closed and ran in the background.

My questions are:

Is this a normal behavior?

Is anyone at HTC-CA working on a non-Kaiser-driver-PORT?

thanks
[Tilt, TyTN II, MDA Vario III General] kapollo:
ok so from what I see in the D3DMobileDoctor the D3D is working but then it is not :) in DevideCaps there are entries like

SupportsHardwareRaseterization,

SupportsHardwareTransformAndLight,

SupportsSpecular,

that are set to false, this can mean only that there is no HW acceleration unfortunately, perhaps this is the outcome of the dll checker crashing and not doing what it was supposed to do, well whatever it was supposed to do, as I have no idea what it does as no one shared that knowledge (or I didn't spotted it digging throug 200+ posts).

One way or another you're doing great job and don't get dicouraged by misplaced criticism.

BTW you only need to copy the D3DMobileDoctor.exe to the Kaiser (it is release app, so it has all it needs to run in exe)

cheers,

Pawel

edit

could you provide the files that are in the cab in zip format?
[Tilt, TyTN II, MDA Vario III General] Chainfire:
Herg, where did you get the libgles_cm from?
[Tilt, TyTN II, MDA Vario III General] rfarnell:
DeviceCaps:

I was looking at the D3DMobileDoctor program and as discussed previously, it shows that the DeviceCaps have SupportsHardwareRasterization and SUpportsHardwareTransformAndLighting were set to false.

Anyway, on my search I came across this site:

http://hp.vector.co.jp/authors/VA004474/wince/d3dmcapslist.html

There you can see details of the D3D CapsList for the HTC Touch Diamond,	HTC S11HT (EMONSTER) and something called the HTC S12HT (see video here: http://uk.youtube.com/watch?v=5dZ-cVQJSTI ).

From that link I found the program that generated this information called D3DMCaps ( http://hp.vector.co.jp/authors/VA004474/wince/soft3.html#d3dmcaps ).

Attached is a copy of the cab for D3DMCaps v1.0 and the output I received with the Samsung driver installed.

Rob
[Tilt, TyTN II, MDA Vario III General] Chainfire:
Good stuff, Rob!
[Tilt, TyTN II, MDA Vario III General] herg62123:
i have messed with a lot of so called different libgles files. so true to tell you where i got it i don't know.

i have messed with diamond rom, touch pro rom, omnia rom, and others that i have picked up from the net.

my father is a programmer and he has helped as well as my neighbor who is a programmer as well.

i have for the most part looked at diamond and touch pro roms here lately due to creating qvga manila.

i will go back and see where i got it and we will go from there.
[Tilt, TyTN II, MDA Vario III General] kapollo:
That would be correct as the samsung's driver is software driver optimized for the xscale , the Marvell PXA320. It is mentioned on this forum here (thread only) it works only thanks to xscale has an ARM core (well sort of, but thats a long story, never the less it's "compatible").

What we would really need is the d3d drivers from EMONSTER, or that	HTC S12HT it should be working without any "magic" involved (warning it is very probable that I don't know what I'm talking at this moment :P )

cheers,

pawel
[Tilt, TyTN II, MDA Vario III General] herg62123:
the s12ht is the japan version of the touch dual.
[Tilt, TyTN II, MDA Vario III General] kapollo:
heh I've googled it later too :P, nevertheless this would mean that we already have working d3d driver for our chip.

As far as I understand the on the WM platform the lowest abstraction layer of the d3d driver uses the opengl routines for it's "magic".

I think that even at the opengl lib layer there should be enough HW abstraction that it should work on Kaiser ( by abstraction I mean that it has nothing to do directly to the HW by hard-coded addresses rather having them acquired from the SW), so in that light have anyone tried getting the d3d relevant files from Touch Dual yet?

PS If one would wonder Touch Dual has MSM7200, just to keep things clear

PPS Unfortunately I don't do much programming in windows so I might be totally wrong I simply assume it is better to have a discussion on a topic and say something stupid than say nothing.

have a good night (it's 1AM :/ damn)

EDIT:

Sorry I got abit acrried away:

s12ht caps...

--no D3DMDEVCAPS_HWTRANSFORMANDLIGHT (00010000)

--no D3DMDEVCAPS_HWRASTERIZATION (00080000)

damn, no topic here ...
[Tilt, TyTN II, MDA Vario III General] WizeMan:
Sorry for my ignorance, but thats what I found looking for s11ht

http://dench.flatlib.jp/vec/more/d3dmcaps_s11ht.txt