Hi!
I have a few bug-reports for the PowerVR - emulation of OpenGL-ES in Windows XP. I use OGLES 1.1 WINDOWS PCEMULATION 2.02.22.0756.
It seems to be impossible to get some current OpenGL-states, e.g. this does not work like it should:
glGetError();
GLint colori[4];
glGetIntegerv(GL_CURRENT_COLOR, colori);
GLenum error = glGetError();
GLenum error = glGetError();
GLfixed colorx[4];
glGetFixedv(GL_CURRENT_COLOR, colorx);
error = glGetError();
GLfloat colorf[4];
glGetFloatv(GL_CURRENT_COLOR, colorf);
error = glGetError();
glGetFloatv(GL_CURRENT_COLOR, colorf);
error = glGetError();
The variables are not changed at all and I always get the error GL_INVALID_ENUM, although GL_CURRENT_COLOR should be ok with regard to the OGLES 1.1 spec. At the embedded system (without emulation), this works fine.
Another issue was found at these lines (now, I want to disable vertical sync):
glGetError();
EGLBoolean currentSwapInterval = eglSwapInterval(m_gEglDisplay, 0);
EGLBoolean currentSwapInterval = eglSwapInterval(m_gEglDisplay, 0);
GLenum error = glGetError();
currentSwapInterval is set to 1 (== success) and there's no error (error == 0). But the swapInterval seems not to be changed in WindowsXP. I always have exactly 60 frames per second (vertical synced).
On my PowerVR-System (without emulation), I always have 32 frames per second (although I disabled vertical sync by calling glSwapInterval). I'm pretty much sure, that's because the vertical sync isn't disabled there, too.
Best regards,
Thomas
ThM2008-08-25 17:38:23