No vsync handling.

Bug #761855 reported by Pierre-Hugues HUSSON
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
glmark2
Fix Released
High
Alexandros Frantzis

Bug Description

This code is not using any eglSwapInterval call. This is wrong since the EGL doc doesn't mention any default setting.
On Tegra2 libs, default setting is eglSwapInterval = 1, meaning wait for vsync, which is stupid for a benchmark (seriously.).
I don't know much of EGL, so I don't know where the eglSwapInterval(egl_display, 0); is supposed to be placed, but for my tests I putted it in sdlgles in SwapBuffer function.
I guess this might also be a SDL_gles bug.

Revision history for this message
Alexandros Frantzis (afrantzis) wrote :

> On Tegra2 libs, default setting is eglSwapInterval = 1, meaning wait for vsync, which is stupid for a benchmark (seriously.).

Indeed. Note, however, that none of the drivers on the platforms I have available (omap4, imx51, radeon/gallium) actually respect this (they are not locked to VSync by default and seem to ignore the eglSwapInterval() value).

In any case, we should explicitly set this to ensure correct behavior on all platforms (and comply with the standard!).

This is fixed in trunk rev. 79. Can you please validate the fix on Tegra2?

Thanks!

Changed in glmark2:
status: New → Fix Committed
importance: Undecided → High
assignee: nobody → Alexandros Frantzis (afrantzis)
Revision history for this message
Pierre-Hugues HUSSON (phhusson-gmail) wrote :

I confirm it's working. (I now get a 541 score \o/)
Has your changed been pushed to "original" sdl_gles as well ?

Changed in glmark2:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.