2013-08-11 21:34:33 |
Axel Davy |
bug |
|
|
added bug |
2013-08-12 06:07:24 |
Axel Davy |
description |
In native-state-wayland.cpp,
In NativeStateWayland::flip, you call wl_display_dispatch.
In the wayland documentation, it says this function dispatch the event queue and block if there is no event.
With the current Mesa egl implementation eglSwapInterval(0) doesn't work, and everything is as if it was eglSwapInterval(1):
When commiting the buffer, egl put a listener to know when the frame is drawn (when the frame is drawn a event is sent).
I was testing an experimentation implementation of eglSwapInterval(0), and glmark2 was blocked until I press keyboard or other things (ie send events). This is because eglSwapBuffers doesn't put any listener on the frame in this case.
Commiting a buffer is not considered an event but a request, that is why wl_display_dispatch is not adapted.
Instead what you want is wl_display_roundtrip, that will process the pending requests and process the commit of the buffer in egl. |
In native-state-wayland.cpp,
In NativeStateWayland::flip, you call wl_display_dispatch.
In the wayland documentation, it says this function dispatches the event queue and block if there is no event.
With the current Mesa egl implementation eglSwapInterval(0) doesn't work, and everything is as if it was eglSwapInterval(1):
When commiting the buffer, egl put a listener to know when the frame is drawn (when the frame is drawn an event is sent).
I was testing an experimental implementation of eglSwapInterval(0), and glmark2 was blocked until I press keyboard or other things (ie send events). This is because eglSwapBuffers doesn't put any listener on the frame in this case, and then there is no pending event.
Commiting a buffer is not considered an event but a request, that is why wl_display_dispatch is not adapted.
Instead what you want is wl_display_roundtrip, that will process the pending requests (and the events) and then process the commit of the buffer in egl. |
|
2013-08-12 17:48:02 |
Axel Davy |
description |
In native-state-wayland.cpp,
In NativeStateWayland::flip, you call wl_display_dispatch.
In the wayland documentation, it says this function dispatches the event queue and block if there is no event.
With the current Mesa egl implementation eglSwapInterval(0) doesn't work, and everything is as if it was eglSwapInterval(1):
When commiting the buffer, egl put a listener to know when the frame is drawn (when the frame is drawn an event is sent).
I was testing an experimental implementation of eglSwapInterval(0), and glmark2 was blocked until I press keyboard or other things (ie send events). This is because eglSwapBuffers doesn't put any listener on the frame in this case, and then there is no pending event.
Commiting a buffer is not considered an event but a request, that is why wl_display_dispatch is not adapted.
Instead what you want is wl_display_roundtrip, that will process the pending requests (and the events) and then process the commit of the buffer in egl. |
In native-state-wayland.cpp,
In NativeStateWayland::flip, you call wl_display_dispatch.
In the wayland documentation, it says this function dispatches the event queue and block if there is no event.
With the current Mesa egl implementation eglSwapInterval(0) doesn't work, and everything is as if it was eglSwapInterval(1):
When commiting the buffer, egl put a listener to know when the frame is drawn (when the frame is drawn an event is sent).
I was testing an experimental implementation of eglSwapInterval(0), and glmark2 was blocked until I press keyboard or other things (ie send events). This is because eglSwapBuffers doesn't put any listener on the frame in this case, and then there is no pending event.
Commiting a buffer is not considered an event but a request, that is why wl_display_dispatch is not adapted.
Instead what you want is wl_display_roundtrip, that will process the pending requests (and the events) and then process the commit of the buffer in egl.
EDIT: krh told me that wl_display_flush would be better than wl_display_roundtrip. I've not tested, but it might be better to use it. |
|
2013-08-28 17:30:29 |
Launchpad Janitor |
branch linked |
|
lp:~kruk87/glmark2/glmark2-wayland-wl-display-roundtrip |
|
2013-08-28 17:44:09 |
Launchpad Janitor |
branch linked |
|
lp:~kruk87/glmark2/glmark2-wayland-wl-display-roundtrip |
|
2013-09-04 17:33:38 |
Launchpad Janitor |
branch linked |
|
lp:glmark2 |
|
2013-09-04 17:38:53 |
Alexandros Frantzis |
glmark2: status |
New |
Fix Committed |
|
2013-09-04 17:39:24 |
Alexandros Frantzis |
glmark2: assignee |
|
Rafal Mielniczuk (kruk87) |
|