EGL vs PVRShell

From what i can make of it PVRShell is a replacement for EGL.

Do i have to lock my code to the PowerVR implementation?

I am trying to support both PowerVR and the AMD / ATI Emulator, what would be the recommended way to do this?

PVRShell is not a replacement for EGL. It is a platform abstraction layer that hides OS and window system differences so we (and anyone else) can write demos and tutorials that run on a multitude of systems.





It’s similar to GLUT in that it hides window and context creation, handles keypad input and command line parameters (and can also take screenshots). It only uses standard EGL and OpenGL ES calls, so it should work on any implementation.





Regards,


Georg

Thank you. I am trying to set in place a good infrastructure to support as many vendors and devices as possible. Just wanted to make sure that i was not getting into a vendor lock problem, because the PVRShell is actually very useful.

On a different topic regarding the PVREngine, that is included in the extras, i could not find any information regarding licensing, is it ok if i borrow a few utility classes? Thanks.




Hum... the AMD and PowerVR libGLESv2.DLL and libGLESv2x.DLL (renamed to libGLESv2.DLL) appear to be incompatible.

If i try to run AMD examples with PowerVR DLLs i get an error and if i try to run PowerVR with AMD DLLs i get an error too :(

AMD DLLs with PowerVR error:
Could not initialize EGL (...)

PowerVR DLLs with AMD code:
could not locate eglWaitGL (...)

However the big issue comes with the same libEGL.dll (if i add one of the folders to the path, it does not run the other examples... like:

path = "...C:OpenGLES2x PlatformsAMD;C:OpenGLES2x PlatformsPowerVR;" - breaks my PowerVR programs. Changing the order of the platforms breaks the AMD programs... Any suggestions on how to fix this?

On another note. Why is the PowerVR course examples so windows centric? All that Windowing handling code should be abstracted from the code, don't you guys think?


DDd2008-04-25 06:07:24
DDd wrote:
On a different topic regarding the PVREngine, that is included in the extras, i could not find any information regarding licensing, is it ok if i borrow a few utility classes? Thanks.

Yes, all the code in the SDK is provided to help developers write applications.



DDd wrote:
Hum... the AMD and PowerVR libGLESv2.DLL and libGLESv2x.DLL (renamed to libGLESv2.DLL) appear to be incompatible.

Yes, this is unfortunately the case at the moment. You'll have to build/link your applications twice and have the right DLLs on your PATH when running them. We're looking into this and I'm sure there will be a better solution.



Quote:
On another note. Why is the PowerVR course examples so windows centric? All that Windowing handling code should be abstracted from the code, don't you guys think?

All but the first two training courses (Initialization and HelloTriangle) use PVRShell to abstract OS differences away. And showing the platform specific initialization code required if you don't use PVRShell is exactly the purpose of these two courses.



Of course they are only Windows specific in the Windows SDK.


Thank for your reply.

1) That is very cool of you guys. I will take a closer look to what is provided in the sample engine.

2) I will handle the paths relatively, until there is another solution. Since PowerVR hardware is available vs AMD not being available, i will focus on the PowerVR implementation Wink but it would be ideal if in the future both "player/emulators" could run code build for either platform. Perhaps when OpenKode implementations start coming out...

3) Dead How stupid of me, i was browsing samples from PowerVR and from the programming guide book and also the linux samples... instead of looking into more advanced examples i looked at exactly the two first examples... sorry about that, my mistake. I was a bit confused about this because the AMD and book code that i have use a different abstraction library, for all examples (esUtil). I was thinking on doing one myself, but PVRShell appears to have all that i need and more.

The code comments are GOLD!!!

I see that PVRShell is ready to handle openVG as well, i have tried to find implementations of this standard without success, the RI is very slow, and AmarithVG is commercial, can you point me to one that i can use. Thanks.
DDd2008-04-27 03:22:47