aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-11-15backend/headless: switch to wlr_swapchainSimon Ser
2020-11-15render: introduce wlr_renderer_get_drm_fdSimon Ser
2020-11-15render/egl: introduce wlr_egl_dup_drm_fdSimon Ser
2020-11-15backend/drm: check drm_surface_render_black_frame return valueSimon Ser
This avoids hitting an assertion in drm_fb_lock_surface when we failed to render a black frame.
2020-11-15backend/drm: add support for wlr_swapchain multi-GPUSimon Ser
2020-11-15backend/drm: get rid of wlr_drm_fb_typeSimon Ser
Since all DRM FBs are backed by a wlr_buffer, there's no need for this anymore.
2020-11-15backend/drm: add support for wlr_swapchain buffer ageSimon Ser
2020-11-15render/swapchain: add support for buffer ageSimon Ser
2020-11-15backend/drm: use wlr_swapchainSimon Ser
2020-11-15render/gles2: fix y-inverted output when rendering to bufferSimon Ser
2020-11-15render/gles2: implement wlr_renderer_bind_bufferSimon Ser
2020-11-15render: introduce wlr_renderer_bind_bufferSimon Ser
2020-11-15buffer: add wlr_client_buffer_getSimon Ser
2020-11-15render: introduce wlr_swapchainSimon Ser
The swapchain maximum capacity is set to 4, so that we have enough room for: - A buffer currently displayed on screen - A buffer queued for display (e.g. to KMS) - A pending buffer that'll be queued next commit - An additional pending buffer in case we want to invalidate the currently pending one
2020-11-15render/drm_format_set: introduce wlr_drm_format_dupSimon Ser
2020-11-15render: introduce wlr_gbm_allocatorSimon Ser
2020-11-15render: introduce wlr_allocatorSimon Ser
2020-11-15backend/libinput: require libinput 1.14Simon Ser
We have the policy of requiring up-to-date dependencies instead of adding conditionals for older versions. libinput 1.14 was published more than 1 year ago.
2020-11-12backend/wayland: Set cursor indivdualy per outputMykola Orliuk
2020-11-12backend/wayland: Add active pointer per host seatMykola Orliuk
Every host seat with pointer capability propagates events to one of sub-pointer depending which output window we entered. active_pointer tracks reference to sub-pointer on enter/leave events to avoid lookup for it on every move events. Fixes swaywm/wlroots#1499
2020-11-12backend/wayland: Bind pointer listener to seatMykola Orliuk
2020-11-12backend/wayland: Listen to pointers from all seatsMykola Orliuk
This effectively gets swaywm/wlroots#1499 to the point where functionality somewhat preserved and no crash happens. We still can have only one cursor, but we can control it from multiple seats in time-sharing manner by entering/leaving output.
2020-11-12backend/wayland: Use seat name in input namesMykola Orliuk
2020-11-12backend/wayland: Add registering multiple seatsMykola Orliuk
2020-11-12backend/wayland: Link input devices with seatsMykola Orliuk
2020-11-12backend/wayland: Bind seat listener to wlr_wl_seatMykola Orliuk
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-08Update version to 0.12.0Simon Ser
2020-11-08xdg_shell: handle inert popupsIlia Bozhinov
xdg_popups can be destroyed by the compositor when closed. When this happens, wlroots makes the xdg_popup surface inert and resets the xdg_surface role to NONE. Currently, wlroots sends a protocol error and asserts that an xdg_surface has a role when committed. This is racy if at the same time the client commits an xdg_popup and the compositor closes it. This patch removes the assertion and ignores commits on xdg_surfaces without a role set.
2020-11-06input-method: send modifiers in set_keyboardSimon Ser
Otherwise the client might have an outdated modifiers state. The same is done in wlr_seat_keyboard [1]. [1]: https://github.com/swaywm/wlroots/blob/8348fc3ef8b992fce097bef81111eda3677957f4/types/seat/wlr_seat_keyboard.c#L163
2020-11-05xwayland: remove unused listenerIsaac Freund
2020-11-05screencopy: send failed when copying a DMA-BUF with a regionSimon Ser
We don't support that yet.
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-05backend/drm: export pending FB in export_dmabuf, if anySimon Ser
This allows callers to grab the current frame right after committing it, without having to incur a full vblank worth of latency.
2020-11-04screencopy: stop setting needs_frame flagSimon Ser
This is already done by wlr_output_schedule_frame (it calls wlr_output_update_needs_frame).
2020-11-03gamma-control-v1: apply gamma LUT when output gets enabledSimon Ser
Closes: https://github.com/swaywm/wlroots/issues/2372
2020-11-03xwayland: log unhandled NET_WM_STATE property changesSimon Ser
2020-11-03xwayland: minor code style fixesSimon Ser
2020-11-03backend/drm: fix "a page-flip is already pending" errors on modesetSimon Ser
When performing a modeset, the DRM backend will request a page-flip event. However frame_pending wasn't set to true, so any subsequent wlr_output_schedule_frame calls would imemdiately trigger a synthetic frame event, asking the compositor to submit a new frame. Committing the new frame fails with "a page-flip is already pending" error in the DRM backend.
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-30backend/drm: Check if output is enabled before sending frame eventMarten Ringwelski
When an output is disabled one last pageflip will happen to disable it. Currently this pageflip causes a frame event. Since the output is disabled we don't want to send this frame event.