diff options
author | Alexander Bakker <[email protected]> | 2019-01-13 17:22:18 +0100 |
---|---|---|
committer | Alexander Bakker <[email protected]> | 2019-01-13 21:39:56 +0100 |
commit | 3048372ad8d1e117b6ffd60e12c276ca575a6f74 (patch) | |
tree | 3fafa4cc14148dff8dd566eb1f11ac866d9dd339 | |
parent | aa526dcbec7b3bd42f95ffeb0195c795866f07dd (diff) |
Fix software cursor rendering for tinywl and some examples
-rw-r--r-- | tinywl.c | 8 |
1 files changed, 8 insertions, 0 deletions
@@ -610,6 +610,14 @@ static void output_frame(struct wl_listener *listener, void *data) { render_surface, &rdata); } + /* Hardware cursors are rendered by the GPU on a separate plane, and can be + * moved around without re-rendering what's beneath them - which is more + * efficient. However, not all hardware supports hardware cursors. For this + * reason, wlroots provides a software fallback, which we ask it to render + * here. wlr_cursor handles configuring hardware vs software cursors for you, + * and this function is a no-op when hardware cursors are in use. */ + wlr_output_render_software_cursors(output->wlr_output, NULL); + /* Conclude rendering and swap the buffers, showing the final frame * on-screen. */ wlr_renderer_end(renderer); |