Bug 105376

Summary: es2gears_wayland reports 120 fps while drawing at 60 fps
Product: Mesa Reporter: Link Mauve <bugs>
Component: DemosAssignee: mesa-dev
Status: RESOLVED MOVED QA Contact: mesa-dev
Severity: normal    
Priority: medium CC: bugzilla, daniel.van.vugt, eero.t.tamminen
Version: unspecified   
Hardware: Other   
OS: All   
See Also: https://launchpad.net/bugs/1753677
Whiteboard:
i915 platform: i915 features:

Description Link Mauve 2018-03-07 07:20:06 UTC
es2gears_wayland is requesting two frame callbacks per frame, and then reporting a framerate double of what it is actually drawing, see this log:

[1648215.456]  -> wl_surface@6.frame(new id wl_callback@11)
[1648215.507]  -> wl_surface@6.frame(new id wl_callback@12)
[1648215.552]  -> wl_surface@6.attach(wl_buffer@14, 0, 0)  
[1648215.577]  -> wl_surface@6.damage(0, 0, 2147483647, 2147483647)
[1648215.654]  -> wl_surface@6.commit()                            
[1648226.261] wl_display@1.delete_id(11)
[1648226.318] wl_display@1.delete_id(12)
[1648226.345] wl_callback@11.done(1097662536)
[1648226.368] wl_buffer@9.release()          
[1648226.378] wl_callback@12.done(1097662536)
[1648227.256]  -> wl_surface@6.frame(new id wl_callback@12)
[1648227.327]  -> wl_surface@6.frame(new id wl_callback@11)
[1648227.345]  -> wl_surface@6.attach(wl_buffer@9, 0, 0)   
[1648227.373]  -> wl_surface@6.damage(0, 0, 2147483647, 2147483647)
[1648227.473]  -> wl_surface@6.commit()                            
[1648247.237] wl_display@1.delete_id(12)
[1648247.288] wl_display@1.delete_id(11)
[1648247.309] wl_callback@12.done(1097662553)
[1648247.341] wl_buffer@14.release()         
[1648247.356] wl_callback@11.done(1097662553)

This is apparently caused by the fix for bug 101814, see also https://gitlab.gnome.org/GNOME/mutter/issues/55
Comment 1 Daniel van Vugt 2018-03-07 07:25:49 UTC
Also seen in gnome-shell on Ubuntu 18.04:

$ es2gears_wayland
EGL_VERSION = 1.4 (DRI2)
vertex shader info:
fragment shader info:
info:
597 frames in 5.0 seconds = 119.138 FPS
600 frames in 5.0 seconds = 119.880 FPS
598 frames in 5.0 seconds = 119.481 FPS
600 frames in 5.0 seconds = 119.952 FPS
600 frames in 5.0 seconds = 119.880 FPS
600 frames in 5.0 seconds = 119.880 FPS
596 frames in 5.0 seconds = 119.105 FPS

But strangely not in weston:

$ es2gears_wayland
EGL_VERSION = 1.4 (DRI2)
vertex shader info:
fragment shader info:
info:
301 frames in 5.0 seconds = 60.176 FPS
300 frames in 5.0 seconds = 59.952 FPS
300 frames in 5.0 seconds = 59.952 FPS
300 frames in 5.0 seconds = 59.964 FPS
300 frames in 5.0 seconds = 59.928 FPS
300 frames in 5.0 seconds = 59.964 FPS
Comment 2 Daniel Stone 2018-03-07 08:43:03 UTC
One 'frame' will be requested by the EGL implementation and another by es2gears. That's fine, as neither will receive the other's events.
Comment 3 Daniel van Vugt 2018-12-20 06:14:48 UTC
Also, on a real 120Hz display, es2gears_wayland reports 240 FPS. Verified in both gnome-shell and weston.
Comment 4 GitLab Migration User 2019-05-14 15:37:21 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mesa/demos/issues/12.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.