[Wayland-bugs] [Bug 99332] call eglSwapBuffers causes app execution block
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Mon Jan 9 15:44:24 UTC 2017
https://bugs.freedesktop.org/show_bug.cgi?id=99332
Bug ID: 99332
Summary: call eglSwapBuffers causes app execution block
Product: Wayland
Version: unspecified
Hardware: All
OS: All
Status: NEW
Severity: minor
Priority: medium
Component: weston
Assignee: wayland-bugs at lists.freedesktop.org
Reporter: sergey.stepanov at lge.com
Hi all,
if we call eglSwapBuffers twice (or even call glClear in EGL mode) it can
causes app execution block.
I found 2 independent cases:
1. eglSwapBuffers implementation does not request wl_surface.frame callback(as
Mesa do)
2. surface is not mapped in weston
I believe in both cases EGL driver is blocked on waiting wl_buffer.release
event.
I suppose it happens because of the next code
in function weston_buffer_reference:
wl_resource_queue_event(ref->buffer->resource,
WL_BUFFER_RELEASE);
If there is no other events for the client a message buffer will not be
flushed. So, client will not receive wl_buffer.release event until other event
occurred.
We can implement a workaround by calling display_roundtrip after each
swapBuffers call, but i believe it is not a proper way.
I did not check current version (but I took a look at source code,
implementation is the same) but it is true for 1.6 and 1.9
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/wayland-bugs/attachments/20170109/6a91382c/attachment.html>
More information about the wayland-bugs
mailing list