Simon Ser
63df2bcbe6
backend/session: don't return FD on failure in open_file
...
When wlr_session_open_file fails, don't return the FD, otherwise the
caller will think the call succeeded.
2020-11-19 22:47:49 +01:00
Kenny Levinsen
fb3bea8014
backend/drm: Use legacy gamma size for legacy backend
...
We would always return the GAMMA_LUT_SIZE property if available, and
only fall back to legacy gamma size otherwise. This leads to issues if
both are available in differs in size while we use the legacy backend.
Ensure that we only return the legacy size if we're using the legacy
backend.
Closes: https://github.com/swaywm/wlroots/issues/2429
2020-11-19 22:46:25 +01:00
Ilia Bozhinov
6284af121f
texture: document that functions should not be called while rendering
2020-11-19 11:35:04 +01:00
Ronan Pigott
dc7c6c4860
render/egl: recognize EGL_BAD_DEVICE_EXT error
2020-11-19 00:42:37 +01:00
Simon Ser
e18599b05e
render/egl: stop including eglmesaext.h
...
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-19 00:42:09 +01:00
Simon Ser
526ae5944c
build: improve summary via bool_yn
...
Shows YES/NO instead of 1/0, improves readability.
2020-11-15 23:15:49 +01:00
Simon Ser
02df7b7ac8
backend/headless: implement export_dmabuf
2020-11-15 22:54:07 +01:00
Simon Ser
61f8cdfb9e
backend/headless: switch to wlr_swapchain
2020-11-15 22:54:07 +01:00
Simon Ser
eb8360bda3
render: introduce wlr_renderer_get_drm_fd
2020-11-15 22:54:07 +01:00
Simon Ser
c8d95acc37
render/egl: introduce wlr_egl_dup_drm_fd
2020-11-15 22:54:07 +01:00
Simon Ser
eef8b3dde8
backend/drm: check drm_surface_render_black_frame return value
...
This avoids hitting an assertion in drm_fb_lock_surface when
we failed to render a black frame.
2020-11-15 22:48:42 +01:00
Simon Ser
c881008e1c
backend/drm: add support for wlr_swapchain multi-GPU
2020-11-15 22:48:42 +01:00
Simon Ser
8058e338ea
backend/drm: get rid of wlr_drm_fb_type
...
Since all DRM FBs are backed by a wlr_buffer, there's no need for this
anymore.
2020-11-15 22:48:42 +01:00
Simon Ser
68a8d99055
backend/drm: add support for wlr_swapchain buffer age
2020-11-15 22:48:42 +01:00
Simon Ser
c11c6c4568
render/swapchain: add support for buffer age
2020-11-15 22:48:42 +01:00
Simon Ser
ef846a8839
backend/drm: use wlr_swapchain
2020-11-15 22:48:42 +01:00
Simon Ser
1245730ea2
render/gles2: fix y-inverted output when rendering to buffer
2020-11-15 22:48:42 +01:00
Simon Ser
6136fe87d1
render/gles2: implement wlr_renderer_bind_buffer
2020-11-15 22:48:42 +01:00
Simon Ser
c88c54fb38
render: introduce wlr_renderer_bind_buffer
2020-11-15 22:48:42 +01:00
Simon Ser
0b40d09a21
buffer: add wlr_client_buffer_get
2020-11-15 22:48:42 +01:00
Simon Ser
b0a663d39d
render: introduce wlr_swapchain
...
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-15 22:48:42 +01:00
Simon Ser
7c6212a0f7
render/drm_format_set: introduce wlr_drm_format_dup
2020-11-15 22:48:42 +01:00
Simon Ser
5913040110
render: introduce wlr_gbm_allocator
2020-11-15 22:48:42 +01:00
Simon Ser
f47445f142
render: introduce wlr_allocator
2020-11-15 22:48:42 +01:00
Simon Ser
aaa3fcf66f
backend/libinput: require libinput 1.14
...
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-15 18:57:16 +01:00
Mykola Orliuk
2eae9ec7c8
backend/wayland: Set cursor indivdualy per output
2020-11-12 12:31:32 +01:00
Mykola Orliuk
44531e16e0
backend/wayland: Add active pointer per host seat
...
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-12 12:31:32 +01:00
Mykola Orliuk
ce8855ca2a
backend/wayland: Bind pointer listener to seat
2020-11-12 12:31:32 +01:00
Mykola Orliuk
07e2e0f60c
backend/wayland: Listen to pointers from all seats
...
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-12 12:31:32 +01:00
Mykola Orliuk
44c4773d58
backend/wayland: Use seat name in input names
2020-11-12 12:31:32 +01:00
Mykola Orliuk
70ffda3ea3
backend/wayland: Add registering multiple seats
2020-11-12 12:31:32 +01:00
Mykola Orliuk
85b0872650
backend/wayland: Link input devices with seats
2020-11-12 12:31:32 +01:00
Mykola Orliuk
40bfd9f8f7
backend/wayland: Bind seat listener to wlr_wl_seat
2020-11-12 12:31:32 +01:00
Isaac Freund
e06c9e43af
Remove unneeded includes from wlr_input_device.h
...
This uncovered many places where we were using things without directly
including them.
2020-11-11 15:40:47 +01:00
Isaac Freund
0724b3c453
Use uint32_t in wlr_renderer_begin signature
...
This matches the signature of wlr_renderer_impl.begin
2020-11-11 11:01:46 +01:00
Isaac Freund
7693f61d81
Replace wlr_key_state with wl_keyboard_key_state
...
There's no reason to have duplicate enums
2020-11-11 10:58:38 +01:00
Simon Ser
238d1c078f
Update version to 0.12.0
2020-11-08 15:01:44 +01:00
Ilia Bozhinov
9595f95452
xdg_shell: handle inert popups
...
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-08 14:26:03 +01:00
Simon Ser
372a52ecc0
input-method: send modifiers in set_keyboard
...
Otherwise the client might have an outdated modifiers state. The same is
done in wlr_seat_keyboard [1].
[1]: 8348fc3ef8/types/seat/wlr_seat_keyboard.c (L163)
2020-11-06 19:14:55 +01:00
Isaac Freund
8348fc3ef8
xwayland: remove unused listener
2020-11-05 13:18:04 +01:00
Simon Ser
4471a83ed0
screencopy: send failed when copying a DMA-BUF with a region
...
We don't support that yet.
2020-11-05 09:43:42 +01:00
Simon Ser
51fc7ddb29
screencopy: perform DMA-BUF copy on output commit
2020-11-05 09:43:42 +01:00
Simon Ser
f0945e112f
export-dmabuf: export DMA-BUF on output commit
...
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-05 09:43:42 +01:00
Simon Ser
8c8164c4a6
output: add when field to wlr_output_event_commit
...
Similar to the one already present in wlr_output_event_precommit.
2020-11-05 09:43:42 +01:00
Simon Ser
ccd313e01a
output: update docs to reflect reality
...
The docs were outdated and weren't matching what the DRM backend does
(the only implementor of wlr_output_export_dmabuf).
2020-11-05 09:43:42 +01:00
Simon Ser
1328477a82
backend/drm: export pending FB in export_dmabuf, if any
...
This allows callers to grab the current frame right after committing it,
without having to incur a full vblank worth of latency.
2020-11-05 09:43:42 +01:00
Simon Ser
2934a72920
screencopy: stop setting needs_frame flag
...
This is already done by wlr_output_schedule_frame (it calls
wlr_output_update_needs_frame).
2020-11-04 12:02:56 +01:00
Simon Ser
c2db691cad
gamma-control-v1: apply gamma LUT when output gets enabled
...
Closes: https://github.com/swaywm/wlroots/issues/2372
2020-11-03 17:47:04 +01:00
Simon Ser
be1e7647c3
xwayland: log unhandled NET_WM_STATE property changes
2020-11-03 18:36:30 +02:00
Simon Ser
1fdaaf697a
xwayland: minor code style fixes
2020-11-03 15:31:23 +01:00