diff options
author | Kai Chen <[email protected]> | 2017-08-07 08:34:51 -0700 |
---|---|---|
committer | Daniel Stone <[email protected]> | 2017-08-25 09:57:03 +0100 |
commit | 151188d1e330a7a5f110bbc8251680121a1a84a6 (patch) | |
tree | 9b086d35f63fd320e1727cb90fd480f130791147 /src/gallium/drivers/virgl/virgl_screen.h | |
parent | 4da6cf6c98aeca8c143ecb5e0ada5e1eee81a0f5 (diff) |
egl/wayland: Use roundtrips when awaiting buffer release
In get_back_bo, we use wl_display_dispatch_queue() to block and wait for
a buffer release event. However, not all Wayland compositors flush the
client socket on posting a buffer-release event, so by only blocking
client-side, we may block indefinitely, or at least need to wait for an
input event / frame completion to arrive for the compositor to flush.
We now use dispatch_queue as a first pass, but if our entire buffer pool
is exhausted, use a roundtrip (an immediately-triggered wl_callback) to
ensure that the compositor flushes out our release event immediately.
[daniels: Modified comment and commit message.]
Signed-off-by: Kai Chen <[email protected]>
Reviewed-by: Daniel Stone <[email protected]>
CC: <[email protected]>
Diffstat (limited to 'src/gallium/drivers/virgl/virgl_screen.h')
0 files changed, 0 insertions, 0 deletions