aboutsummaryrefslogtreecommitdiff
path: root/include/wlr
AgeCommit message (Collapse)Author
2023-01-21output-layout: improve closest point for no outputs caseKirill Primak
Without outputs, all points are equally invalid anyway, but for e.g. cursor warping it makes more sense to preserve the original position.
2023-01-03tablet-tool: revert bitfield in enum wlr_tablet_tool_tip_stateSimon Ser
This was changed to a bitfield by mistake. References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3484#note_1697926
2022-12-23session-lock: send more protocol errorsIsaac Freund
The invalid_destroy and invalid_unlock protocol errors aren't currently sent by wlroots and instead left up to the compositor. However, we can handle these as well without much additional complexity. This also adds a missing wl_resource_destroy() call if the lock is inert in lock_handle_unlock_and_destroy().
2022-12-15keyboard: improve documentationSimon Ser
2022-12-14keyboard: only update LEDs when changedxiliuya
2022-12-09util/region: forbid "shrinking" a region with wlr_region_expand()Kirill Primak
The logic isn't correct.
2022-12-06wlr_xdg_activation_v1: add new_token eventRonan Pigott
2022-12-05output-layout: improve APIKirill Primak
- wlr_output_layout_add{,_auto}() now return a bool indicating whether the function has succeeded. - wlr_output_layout_move() is removed. Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/1083
2022-12-05output-layout: remove wlr_output_layout_output_stateKirill Primak
wlroots uses "// private state" comments to denote structure fields which shouldn't be accessed by compositors, so let's drop wlr_output_layout_output_state and inline its fields into wlr_output_layout_output; this also simplifies layout output creation.
2022-12-05output-layout: fix function decl indentationKirill Primak
2022-12-05xwayland/xwm: replace role with addonSimon Ser
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3545
2022-12-05compositor: add wlr_surface.events.precommitSimon Ser
2022-12-03compositor: document wlr_surface_{enter,leave,send_frame_done}Simon Ser
2022-12-03wlr_drm: Add missing wlr_buffer importAlexander Orzechowski
2022-12-02wl-drm: don't store wlr_rendererSimon Ser
Query the formats at init time, then forget about the renderer. This will allow wl_drm to be created with a list of formats instead of a renderer, and will behave better after a GPU reset.
2022-12-01output: drop enable/mode eventsSimon Ser
The backend no longer changes the output state behind the compositor's back. Instead, compositors can listen to the "commit" event and check for WLR_OUTPUT_STATE_ENABLED/WLR_OUTPUT_STATE_MODE. Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/2300
2022-12-01output-damage: stop listening for output mode eventsSimon Ser
These will go away.
2022-12-01scene: stop listening for output enable/mode eventsSimon Ser
These will go away.
2022-12-01output_init_render: Allow re-initializationAlexander Orzechowski
This lets the compositor call this function after the fact to replace the renderer/allocator after a renderer context lost.
2022-12-01wlr_texture: Expose owning rendererAlexander Orzechowski
2022-11-30linux-dmabuf-v1: introduce wlr_linux_dmabuf_v1_create()Simon Ser
Some compositors may want to use the linux-dmabuf-v1 implementation with a completely custom renderer. Add a function to create the global with a default feedback.
2022-11-30linux-dmabuf-v1: drop wlr_renderer fieldSimon Ser
This isn't used anymore.
2022-11-30linux-dmabuf-v1: don't use wlr_renderer to send legacy format listSimon Ser
The wlr_renderer field will go away in a subsequent commit. Build the legacy device list from the default feedback instead.
2022-11-30linux-dmabuf-v1: don't use wlr_renderer to sanity check DMA-BUFsSimon Ser
The wlr_renderer field will go away in a subsequent commit. Instead of trying to create a texture, try to import the DMA-BUF into the DRM device FD.
2022-11-30linux-dmabuf-v1: add version arg to create()Simon Ser
To be able to add support for newer versions without breaking changes.
2022-11-30linux-dmabuf-v1: add "_with_renderer" suffix to create() functionSimon Ser
Make it clear this is a helper consuming a wlr_renderer. We'll add a lower-level create() function which doesn't take it in the next commit.
2022-11-25backend/session: make optionalSimon Ser
Some compositors are not interested in wlr_session, for instance nested compositors. Disabling wlr_session removes the udev dependency.
2022-11-25shm: add create() function without a wlr_rendererSimon Ser
This allows compositors which don't use wlr_renderer to still use wlroots' wl_shm implementation.
2022-11-24scene: introduce wlr_scene_buffer.events.outputs_updateKirill Primak
This event is useful for e.g. sending the preferred buffer scale to the client.
2022-11-24compositor: make renderer optionalSimon Ser
This is a first step towards moving texture uploading out of wlr_compositor. This commit allows compositors to opt-out of the texture uploading by passing a NULL wlr_renderer. An immediate user of this is gamescope, which currently implements a stub wlr_renderer just to make wlr_compositor happy.
2022-11-24compsitor: document wlr_compositor_create()Simon Ser
2022-11-24backend/multi: stop pulling <wlr/backend/session.h>Simon Ser
Unused.
2022-11-24render/gles2, render/pixman: stop pulling <wlr/backend.h>Simon Ser
No reason why the GLES2/Pixman renderers should depend on the backend.
2022-11-24backend: stop pulling <wlr/backend/session.h>Simon Ser
We can just forward-declare the struct instead.
2022-11-24backend/session: drop unused <libudev.h>Simon Ser
We don't actually need to pull that header here.
2022-11-24render: stop pulling <wlr/backend.h>Simon Ser
Let's just forward-declare struct wlr_backend instead. We need to fixup the Vulkan renderer: it needs makedev(), which got included by chance via <wlr/backend.h> → <wlr/backend/session.h> → <libudev.h>.
2022-11-18xwayland/xwm: add support for xwayland-shell-v1Simon Ser
2022-11-18xwayland/shell: add wlr_xwayland_shell_v1_surface_from_serial()Simon Ser
2022-11-18xwayland/server: delay non-lazy startupSimon Ser
This allows users to setup event listeners before the server is actually started.
2022-11-18xwayland/server: add start signalSimon Ser
This can be used to know when wlr_xwayland_server decides to start a new Xwayland process. At that point the wl_client has already been created but the Xwayland process hasn't been started yet.
2022-11-18xwayland: add wlr_xwayland_shell_v1_destroy()Simon Ser
2022-11-18xwayland: add wlr_xwayland_shell_v1_set_client()Simon Ser
2022-11-18xwayland-shell-v1: new protocol implementationSimon Ser
References: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/163
2022-11-17Nuke deprecated include/wlr/types/wlr_surface.hKirill Primak
Use wlr_compositor.h and wlr_subcompositor.h instead.
2022-11-17output: drop wlr_output_damage_whole()Simon Ser
This function is not used anymore. Backends have no good reason to damage outputs.
2022-11-15backend: drop wlr_backend_get_session()Simon Ser
This no longer has purpose.
2022-11-15backend: return wlr_session in wlr_backend_autocreate() callSimon Ser
Up until now, wlr_backend_autocreate() created the wlr_session and then stuffed it into struct wlr_multi_backend so that compositors can grab it later. This is an abuse of wlr_multi_backend and the wlr_backend API: wlr_backend_get_session() and wlr_multi_backend.session only exist to accomodate the needs of wlr_backend_autocreate(). What's more, the DRM and libinput backends don't implement wlr_backend_impl.get_session. Instead, return the struct wlr_session to the compositor in the wlr_backend_autocreate() call. wlr_backend_get_session() will be removed in the next commit.
2022-11-15Introduce wlr_shmSimon Ser
This is a re-implementation of wl_shm. The motivations for using this over the one shipped in libwayland are: - Properly handle SIGBUS when accessing a wl_buffer's underlying data after the wl_buffer protocol object has been destroyed. With the current code, we just crash if the client does that and then shrinks the backing file. - No need to fight the wl_shm_buffer API anymore. This was awkward because we weren't notified when clients created a wl_shm buffer, and this doesn't play well with our wlr_buffer abstraction. - Access to the underlying FD. This makes it possible to forward the wl_shm buffer to a parent compositor with the Wayland/X11 backends. - Better stride checks. We can use our format table to ensure that the stride is consistent with the bpp and width.
2022-11-15input-inhibitor: deprecateKirill Primak
The protocol itself has been deprecated.
2022-11-15render: add wlr_renderer.events.lostSimon Ser