Bug reports

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();

 

GLfixed colorx[4];

glGetFixedv(GL_CURRENT_COLOR, colorx);

error = glGetError();

GLfloat colorf[4];
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);

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

Hi Thomas,





Thanks for reporting the problem with GL_CURRENT_COLOR, this should be fixed in the next SDK release.





Could it be possible that your OpenGL driver is set to always enable vsync? Our PC emulation library is a layer on top of the PC OpenGL driver, so any overrides you set in the driver control panel (such as antialiasing, anisotropic filtering, and vsync) will affect your OpenGL ES application.





On some platforms it is not possible to disable vsync.





Regards,


Georg

Hi Georg,

 

thank you for your answer. I'm looking forward to the new SDK release.

Maybe the vertical-sync problem relies on the driver at my system, that's possible.

 

Cheers,

Thomas