//Edit: Anything about GLES
2
Code:
[...]
conflist[i++] = EGL_SURFACE_TYPE;
conflist[i++] = EGL_WINDOW_BIT;
[...]
Didn't doublecheck this if it really doesn't use a pbuffer, but the config works fine for me.
//Edit: Only checked 16 bit - but is 32 bit really that important on a mobile device? The last drivers I had on my beagleboard only accepted 16 bit anyway.
Some problems I ran into with PVRFrame (On latest nvidia drivers):
- Integer drawing rarely works for, sometimes it does, sometimes not. I noticed this when emulating lots of PSP homebrew which does that, it worked fine on beagleboard tho.
- Its anything but strict, where the original driver might fail, the emulator won't tell you about problems, this is especially true for:
-- Shaders get compiled but don't work like expected
-- Linking shaders, always do it after changing an attribute, this also works the other way around in GL (not sure about the spec, but drivers handle it well on ATI and nvidia for me), however, with PVRFrame it doesn't (leads to unpredictable results)
- It's not as pixel perfect as the real driver. Sometimes when mapping a 512x512 texture to a 512x512 region on the display (only some parts visibile) I get blurry lines on my Desktop which worked fine on the BeagleBoard, integer drawing helped here, but this only works for a few seconds for me as said already.
- Make sure you use the right constants, glEnable(GL_TEXTURE_2D) is not necessary anymore, PVRFrame should also report that, however sometimes I have constants like GL_BGRA defined elsewhere, PVRFrame usually accepts them (as it justs forwards to your GL driver), renders fine, but it doesn't work on real hardware.
- Some other applications might be hooking your GL, since the GLES symbols are most often the same they will get the wrong functions and sometimes crash your applications or lead to strange error reports in PVRFrame.