I have a problem that may be caused by my inexperience in Windows Mobile development.
I compiled a sample from Adreno SDK, namely Bloom, with Visual Studio 2008 (Win7 Ultimate x64, Pentium Dual 2.5G, 4G RAM, Radeon HD4670).
Compilation is ok when target is Win32. I can also launch the debugging and the teapot will appear.
When I switch to target Windows Mobile, compilation goes ok. Then I transfer the EXE file to my Mobile Sony Ericsson Xperia X1, and try to launch. The mobile gives me an error saying that "The program has not sufficient privilege to run" OR "some parts are missing". Please note that these are rough translation from another language, so in English should be different in words, but similar in concept.
I can see with an ARM disassembler that the exe still contains some import section from libEGL.dll and libGLESv2.dll. (this puzzles me a lot: it seems to me that the compiler configuration is for static libraries, so the code from these libraries should be already included in the exe... and not loaded in runtime).
I didn't see such libraries in my Mobile Windows directory (only the libgles_cm.dll), so I added them, from System directory of Adreno SDK (I see that the two libraries seems to be compiled for x86..but I gave a try).
At this point the Mobile says "Bloom.exe is non a valid Pocket PC application"..
Any help will be greatly appreciated.
F
Hi Frenco,
The Bloom sample is written with OpenGL ES 2.0 commands, but unfortunately your mobile device only supports OpenGL ES 1.0. This would be the source of your issue, and you will not be able to run any OpenGL ES 2.0 samples on this particular device.
Steve
Ouch!
And I also suppose that Qualcomm has no plans to add some SW layer to add OpenGL ES 2.0 to MSM7200...
Thank you Steve
Frenco,
There are no plans to implement OpenGL 2.0 on top of OpenGL ES 1.x hardware. If you look around the industry, there have been efforts to implement shaders on fixed-function hardware. However, even with this approach fundamentally you are never going to be able to do anything that you can't do with the fixed function APIs, and due to the complexity of the software layer, performance is always going to be worse than if you just wrote to the fixed function APIs directly.
Dave