Skip to content

Software cursor + Hardware cursor improvements

Simon Ser requested to merge github/fork/ascent12/cursor into master

Created by: ascent12

Draw a cursor using wlr_renderer if a backend fails to draw a cursor. It also gives the option for a backend that doesn't want/need to handle cursors in a special way to just let this handle it.

There are also a couple of other changes, mainly to make this easier to implement.

  • Changed the wlr_output 'frame' signal to not automatically make the EGL/OpenGL context current. The user must now explicitly call the new wlr_output_make_current and wlr_output_swap_buffers functions. This is mainly so the SW cursor can be drawn in swap buffers, but it also gives the user the option to draw something to an output whenever they want to.
  • Added stride argument to wlr_renderer_attach_pixels. Also the GL_EXT_unpack_subimage extension is used to deal with the stride, so we don't have no needlessly copy a bunch of stuff ourselves. It currently doesn't check for the extension, but it's probably widely supported enough.

Merge request reports