02df7b7ac8 
								
							 
						 
						
							
							
								
								backend/headless: implement export_dmabuf  
							
							
							
						 
						
							2020-11-15 22:54:07 +01:00  
				
					
						
							
							
								 
						
							
								61f8cdfb9e 
								
							 
						 
						
							
							
								
								backend/headless: switch to wlr_swapchain  
							
							
							
						 
						
							2020-11-15 22:54:07 +01:00  
				
					
						
							
							
								 
						
							
								eb8360bda3 
								
							 
						 
						
							
							
								
								render: introduce wlr_renderer_get_drm_fd  
							
							
							
						 
						
							2020-11-15 22:54:07 +01:00  
				
					
						
							
							
								 
						
							
								c8d95acc37 
								
							 
						 
						
							
							
								
								render/egl: introduce wlr_egl_dup_drm_fd  
							
							
							
						 
						
							2020-11-15 22:54:07 +01:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								c881008e1c 
								
							 
						 
						
							
							
								
								backend/drm: add support for wlr_swapchain multi-GPU  
							
							
							
						 
						
							2020-11-15 22:48:42 +01:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								68a8d99055 
								
							 
						 
						
							
							
								
								backend/drm: add support for wlr_swapchain buffer age  
							
							
							
						 
						
							2020-11-15 22:48:42 +01:00  
				
					
						
							
							
								 
						
							
								c11c6c4568 
								
							 
						 
						
							
							
								
								render/swapchain: add support for buffer age  
							
							
							
						 
						
							2020-11-15 22:48:42 +01:00  
				
					
						
							
							
								 
						
							
								ef846a8839 
								
							 
						 
						
							
							
								
								backend/drm: use wlr_swapchain  
							
							
							
						 
						
							2020-11-15 22:48:42 +01:00  
				
					
						
							
							
								 
						
							
								1245730ea2 
								
							 
						 
						
							
							
								
								render/gles2: fix y-inverted output when rendering to buffer  
							
							
							
						 
						
							2020-11-15 22:48:42 +01:00  
				
					
						
							
							
								 
						
							
								6136fe87d1 
								
							 
						 
						
							
							
								
								render/gles2: implement wlr_renderer_bind_buffer  
							
							
							
						 
						
							2020-11-15 22:48:42 +01:00  
				
					
						
							
							
								 
						
							
								c88c54fb38 
								
							 
						 
						
							
							
								
								render: introduce wlr_renderer_bind_buffer  
							
							
							
						 
						
							2020-11-15 22:48:42 +01:00  
				
					
						
							
							
								 
						
							
								0b40d09a21 
								
							 
						 
						
							
							
								
								buffer: add wlr_client_buffer_get  
							
							
							
						 
						
							2020-11-15 22:48:42 +01:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								7c6212a0f7 
								
							 
						 
						
							
							
								
								render/drm_format_set: introduce wlr_drm_format_dup  
							
							
							
						 
						
							2020-11-15 22:48:42 +01:00  
				
					
						
							
							
								 
						
							
								5913040110 
								
							 
						 
						
							
							
								
								render: introduce wlr_gbm_allocator  
							
							
							
						 
						
							2020-11-15 22:48:42 +01:00  
				
					
						
							
							
								 
						
							
								f47445f142 
								
							 
						 
						
							
							
								
								render: introduce wlr_allocator  
							
							
							
						 
						
							2020-11-15 22:48:42 +01:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								2eae9ec7c8 
								
							 
						 
						
							
							
								
								backend/wayland: Set cursor indivdualy per output  
							
							
							
						 
						
							2020-11-12 12:31:32 +01:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								ce8855ca2a 
								
							 
						 
						
							
							
								
								backend/wayland: Bind pointer listener to seat  
							
							
							
						 
						
							2020-11-12 12:31:32 +01:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								44c4773d58 
								
							 
						 
						
							
							
								
								backend/wayland: Use seat name in input names  
							
							
							
						 
						
							2020-11-12 12:31:32 +01:00  
				
					
						
							
							
								 
						
							
								70ffda3ea3 
								
							 
						 
						
							
							
								
								backend/wayland: Add registering multiple seats  
							
							
							
						 
						
							2020-11-12 12:31:32 +01:00  
				
					
						
							
							
								 
						
							
								85b0872650 
								
							 
						 
						
							
							
								
								backend/wayland: Link input devices with seats  
							
							
							
						 
						
							2020-11-12 12:31:32 +01:00  
				
					
						
							
							
								 
						
							
								40bfd9f8f7 
								
							 
						 
						
							
							
								
								backend/wayland: Bind seat listener to wlr_wl_seat  
							
							
							
						 
						
							2020-11-12 12:31:32 +01:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								238d1c078f 
								
							 
						 
						
							
							
								
								Update version to 0.12.0  
							
							
							
						 
						
							2020-11-08 15:01:44 +01:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								8348fc3ef8 
								
							 
						 
						
							
							
								
								xwayland: remove unused listener  
							
							
							
						 
						
							2020-11-05 13:18:04 +01:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								51fc7ddb29 
								
							 
						 
						
							
							
								
								screencopy: perform DMA-BUF copy on output commit  
							
							
							
						 
						
							2020-11-05 09:43:42 +01:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								be1e7647c3 
								
							 
						 
						
							
							
								
								xwayland: log unhandled NET_WM_STATE property changes  
							
							
							
						 
						
							2020-11-03 18:36:30 +02:00  
				
					
						
							
							
								 
						
							
								1fdaaf697a 
								
							 
						 
						
							
							
								
								xwayland: minor code style fixes  
							
							
							
						 
						
							2020-11-03 15:31:23 +01:00  
				
					
						
							
							
								 
						
							
								ee43ef3c9d 
								
							 
						 
						
							
							
								
								backend/drm: fix "a page-flip is already pending" errors on modeset  
							
							... 
							
							
							
							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-03 08:09:54 +01:00  
				
					
						
							
							
								 
						
							
								f0ddcd361e 
								
							 
						 
						
							
							
								
								render: define EGL_NO_PLATFORM_SPECIFIC_TYPES ( #2452 )  
							
							... 
							
							
							
							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-11-02 10:51:52 +01:00  
				
					
						
							
							
								 
						
							
								0f9b2bfa64 
								
							 
						 
						
							
							
								
								render/dmabuf: use bitmask for wlr_dmabuf_attributes_flags  
							
							
							
						 
						
							2020-10-31 23:15:21 +01:00  
				
					
						
							
							
								 
						
							
								368d0146fb 
								
							 
						 
						
							
							
								
								util/edges: use bitmask for wlr_edges  
							
							
							
						 
						
							2020-10-31 23:15:21 +01:00  
				
					
						
							
							
								 
						
							
								0fdb41fe7c 
								
							 
						 
						
							
							
								
								types/wlr_output_layout: use bitmask for wlr_direction  
							
							
							
						 
						
							2020-10-31 23:15:21 +01:00  
				
					
						
							
							
								 
						
							
								7c6e06fd13 
								
							 
						 
						
							
							
								
								types/wlr_keyboard: use bitmasks for wlr_keyboard_led and wlr_keyboard_modifier enums  
							
							
							
						 
						
							2020-10-31 23:15:21 +01:00