[Wayland-bugs] [Bug 99332] call eglSwapBuffers causes app execution block
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Mon Jan 9 16:54:16 UTC 2017
https://bugs.freedesktop.org/show_bug.cgi?id=99332
--- Comment #2 from Sergey Stepanov <sergey.stepanov at lge.com> ---
wl_resource_queue_event(ref->buffer->resource, WL_BUFFER_RELEASE); is calling
in weston_buffer_reference. Pay attention that wl_resource_QUEUE_event used,
not wl_resource_POST_event. wl_buffer.release event is not sent at this point.
And, client will NOT receive this event until weston flushes event queue for
this client. It will happen on wl_resource_post_event (another event posted) or
wl_client_flush. And there is no proper wl_client_flush. I suppose it is some
kind of mistake because it is not complies with the protocol.
It works with frame callback because it force to flush events to client
(wl_resource_post_event flushes queue ). And it works with
wl_display_roundtrip_queue in the same way.
I don't think it's a EGL vendor error don't use a frame callback. According to
wayland protocol it is not obligatory.
I'm not sure, but I suppose if we
use Mesa EGL implementation
create surface which will not mapped (IVI surface with wrong id for example)
call eglSwapBuffer twice
it will block app on eglSwapBuffer call because frame calback will not be sent
(surface is unmapped), and event queue on the server side will not be flushed
(and buffer release will not be sent)
--
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/dba30952/attachment.html>
More information about the wayland-bugs
mailing list