aboutsummaryrefslogtreecommitdiff
path: root/include/wlr
AgeCommit message (Collapse)Author
2021-01-07types/seat: Clear focus in wlr_seat_destroy()Andri Yngvason
This fixes use-after-free in surface destroy signal listeners.
2021-01-06render: remove EGL config and visual from wlr_renderer_autocreateSimon Ser
This isn't used anymore by any backend. Some examples still provide an EGL config to wlr_egl_init, so we can't drop it yet there.
2021-01-05types: add wlr_xdg_foreign_v2Ilia Bozhinov
Co-authored-by: Jason Francis <cycl0ps@tuta.io>
2021-01-05types: add wlr_xdg_foreign_v1Ilia Bozhinov
Co-authored-by: Jason Francis <cycl0ps@tuta.io>
2021-01-05types: add wlr_xdg_foreign_registryIlia Bozhinov
2021-01-05xdg-shell: add wlr_xdg_toplevel_set_parentIlia Bozhinov
Co-authored-by: Jason Francis <cycl0ps@tuta.io>
2021-01-05docs: wlr_surface_from_resource cannot return NULLIsaac Freund
Surfaces never become inert.
2021-01-04backend/session: allow wlr_session_find_gpus to return an errorSimon Ser
Sometimes wlr_session_find_gpus will encounter an error. This is different from finding zero GPUs. On error, wlr_session_find_gpus already returns -1. However, this is casted to size_t, so callers uncorrectly assume this is a success. Instead, make wlr_session_find_gpus return a ssize_t and allow callers to handle the error accordingly.
2020-12-30Remove wlr_create_renderer_func_tSimon Ser
This callback allowed compositors to customize the EGL config used by the renderer. However with renderer v6 EGL configs aren't used anymore. Instead, buffers are allocated via GBM and GL FBOs are rendered to. So customizing the EGL config is a no-op.
2020-12-22subsurface: handle NULL parent in get_root_surfaceIsaac Freund
2020-12-07docs: fix error in wlr_output_set_damage() commentIsaac Freund
output-buffer-local coordinates are neither scaled nor transformed
2020-12-07xwayland: use pipe instead of SIGUSR1 to signal readinessDominik Honnef
Closes: https://github.com/swaywm/wlroots/issues/2154
2020-12-03build: add leftover WLR_HAS_LIBCAPSimon Ser
We don't support libcap anymore. This was left as a comment by Meson: /* #undef WLR_HAS_LIBCAP */
2020-11-30xwm: add wlr_xwayland_surface_restack()Ilia Bozhinov
2020-11-30render/egl: remove wlr_egl.external_only_dmabuf_formatsSimon Ser
Replace it with wlr_egl.dmabuf_render_formats.
2020-11-30render: rename wlr_renderer_get_formatsSimon Ser
Rename wlr_renderer_get_formats to wlr_renderer_get_shm_texture_formats. This makes it clear those formats are only suitable for shm import.
2020-11-30render: rename wlr_renderer_get_dmabuf_formatsSimon Ser
Rename wlr_renderer_get_dmabuf_formats to wlr_renderer_get_dmabuf_texture_formats. This makes it clear the formats are only suitable for creating wlr_textures.
2020-11-30render: introduce wlr_renderer_get_dmabuf_render_formatsSimon Ser
It describes which DMA-BUF formats can be used to render.
2020-11-30render: remove wlr_renderer_format_supportedSimon Ser
Instead, callers can just use wlr_renderer_get_formats and iterate over the list. This function was unused in wlroots.
2020-11-30render: expand wlr_renderer_get{,_dmabuf}_formats docsSimon Ser
Make it clear formats returned are only suitable for import/sampling. These formats can't be used to be rendered to.
2020-11-23surface: Make send_enter store entered outputsKenny Levinsen
wlr_surface_send_enter now stores outputs that have been entered. Combined with a new 'bind' event on wlr_output, this allows us to delay enter events as necessary until the respective wl_output global has been bound. Closes: https://github.com/swaywm/wlroots/issues/2466
2020-11-19backend/session: replace session_signal with events.activeSimon Ser
This is more idiomatic wlroots API. The new name makes it clear that the signal is emitted when wlr_session.active changes.
2020-11-19backend/session: wait for DRM device if none foundSimon Ser
Wait for a DRM device if none is found in wlr_session_find_gpus. This can happen if the compositor is loaded before the display kernel driver. This supersedes the logind CanGraphical property. To test, e.g. with i915 and sway: rmmod -f i915 sway & modprobe i915 Closes: https://github.com/swaywm/wlroots/issues/2093
2020-11-19backend/session: introduce wlr_session.events.add_drm_cardSimon Ser
This is triggered when a new DRM card is added. An easy way to test this patch is `modprobe vkms`.
2020-11-19backend/session: operate on wlr_deviceSimon Ser
Instead of operating on FDs in {open,close}_device, operate on wlr_devices. This avoids the device lookup in wlr_session and allows callers to have access to wlr_device fields. For now, we use it to remove wlr_session_signal_add and replace it with a more idiomatic wlr_session.events.change field. In the future, other events will be added.
2020-11-19texture: document that functions should not be called while renderingIlia Bozhinov
2020-11-19render/egl: stop including eglmesaext.hSimon Ser
This is a Mesa-specific header that was needed because some Wayland EGL extensions were missing from the Khronos registry. Now that this has been fixed [1] and Mesa [2] & glvnd [3] have sync'ed their headers, we can drop this workaround. [1]: https://github.com/KhronosGroup/EGL-Registry/pull/95 [2]: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4953 [3]: https://gitlab.freedesktop.org/glvnd/libglvnd/-/merge_requests/225
2020-11-15render: introduce wlr_renderer_get_drm_fdSimon Ser
2020-11-15render/egl: introduce wlr_egl_dup_drm_fdSimon Ser
2020-11-15render: introduce wlr_renderer_bind_bufferSimon Ser
2020-11-15buffer: add wlr_client_buffer_getSimon Ser
2020-11-11Remove unneeded includes from wlr_input_device.hIsaac Freund
This uncovered many places where we were using things without directly including them.
2020-11-11Use uint32_t in wlr_renderer_begin signatureIsaac Freund
This matches the signature of wlr_renderer_impl.begin
2020-11-11Replace wlr_key_state with wl_keyboard_key_stateIsaac Freund
There's no reason to have duplicate enums
2020-11-05xwayland: remove unused listenerIsaac Freund
2020-11-05screencopy: perform DMA-BUF copy on output commitSimon Ser
2020-11-05export-dmabuf: export DMA-BUF on output commitSimon Ser
We were previously exporting DMA-BUFs when receiving the capture_output request, and sending a done event on wlr_output.events.precommit. Instead, export and send done on wlr_output.events.commit.
2020-11-05output: add when field to wlr_output_event_commitSimon Ser
Similar to the one already present in wlr_output_event_precommit.
2020-11-05output: update docs to reflect realitySimon Ser
The docs were outdated and weren't matching what the DRM backend does (the only implementor of wlr_output_export_dmabuf).
2020-11-03gamma-control-v1: apply gamma LUT when output gets enabledSimon Ser
Closes: https://github.com/swaywm/wlroots/issues/2372
2020-11-02render: define EGL_NO_PLATFORM_SPECIFIC_TYPES (#2452)Simon Ser
This avoids Xlib.h inclusion via EGL headers. See [1] for discussion. This change is based on a Weston commit [2]. [1]: https://github.com/KhronosGroup/EGL-Registry/pull/111 [2]: https://gitlab.freedesktop.org/wayland/weston/commit/526765ddfdfd
2020-10-31render/dmabuf: use bitmask for wlr_dmabuf_attributes_flagsTudor Brindus
2020-10-31util/edges: use bitmask for wlr_edgesTudor Brindus
2020-10-31types/wlr_output_layout: use bitmask for wlr_directionTudor Brindus
2020-10-31types/wlr_keyboard: use bitmasks for wlr_keyboard_led and ↵Tudor Brindus
wlr_keyboard_modifier enums
2020-10-18foreign-toplevel-management: report parent toplevelDaniel Kondor
Based on the wlr-protocols PR: https://github.com/swaywm/wlr-protocols/pull/52
2020-10-18wlr_drag: remove unused point_destroy fieldIsaac Freund
2020-10-16xdg_positioner: remove unused fieldIsaac Freund
The resource field of wlr_xdg_positioner is never initialized or accessed within wlroots. The wl_resource for this interface is stored in the wlr_xdg_positioner_resource struct.
2020-10-14xwayland: add set_geometry eventIlia Bozhinov
This is necessary to react to changes in position of override-redirect views.
2020-09-10layer-shell: add for_each_popupIsaac Freund
This brings the layer-shell api in line with that of xdg-shell and avoids reimplementing this function in every compositor in order to render layer shell popups correctly.