aboutsummaryrefslogtreecommitdiff
path: root/include/wlr
AgeCommit message (Collapse)Author
2021-01-12layer shell: rename popup iterator for consistencyIsaac Freund
This iterates over the subsurfaces of popups as well, so rename it to match wlr_xdg_surface_for_each_popup_surface().
2021-01-12xdg shell: remove wlr_xdg_surface_for_each_popup()Isaac Freund
This function is inferior to wlr_xdg_surface_for_each_popup_surface() for rendering as it does not iterate over subsurfaces. Furthermore, no compositor is known to use this to iterate popups for any purpose other than rendering. Therefore remove the function, which may of course be reintroduced at a later date if a use-case is found.
2021-01-10output-management: use same types as wlr_outputIsaac Freund
This is more correct and also makes things much nicer for languages that don't allow implicit conversions between these types.
2021-01-09render/egl: document NULL config_attribs passed to wlr_egl_initSimon Ser
2021-01-09render/egl: use KHR function pointer typeSimon Ser
KHR is more "core" than EXT.
2021-01-09render/egl: document that config may be zeroSimon Ser
2021-01-08layer shell: add wlr_layer_surface_v1_popup_surface_at()Isaac Freund
This function will allow compositors to implement input handling in a way consistent with rendering more easily. Calling wlr_layer_surface_v1_surface_at() and checking if the result is a wlr_xdg_popup is flawed as there may be subsurfaces in the popup tree.
2021-01-08xdg shell: add wlr_xdg_surface_popup_surface_at()Isaac Freund
This function will allow compositors to implement input handling in a way consistent with rendering more easily. Calling wlr_xdg_surface_surface_at() and checking if the result is a wlr_xdg_popup is flawed as there may be subsurfaces in the popup tree.
2021-01-08xdg shell: add wlr_xdg_surface_for_each_popup_surface()Isaac Freund
When rendering, it is necessary to iterate the subsurfaces as well, so add a function that makes this easy.
2021-01-07xdg shell: make unconstrain_from_box arg constIsaac Freund
2021-01-07remove unnecessary egl includesSimon Zeni
2021-01-07backend: remove wlr_egl from all backendsSimon Zeni
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.