f6fc4c2883 
								
							 
						 
						
							
							
								
								subsurface: handle NULL parent in get_root_surface  
							
							
							
						 
						
							2020-12-22 15:55:05 +01:00  
				
					
						
							
							
								 
						
							
								c9760569ae 
								
							 
						 
						
							
							
								
								docs: fix error in wlr_output_set_damage() comment  
							
							... 
							
							
							
							output-buffer-local coordinates are neither scaled nor transformed 
							
						 
						
							2020-12-07 20:45:36 +01:00  
				
					
						
							
							
								 
						
							
								431ec52b9c 
								
							 
						 
						
							
							
								
								xwayland: use pipe instead of SIGUSR1 to signal readiness  
							
							... 
							
							
							
							Closes: https://github.com/swaywm/wlroots/issues/2154  
							
						 
						
							2020-12-07 12:24:56 +01:00  
				
					
						
							
							
								 
						
							
								513eca8dab 
								
							 
						 
						
							
							
								
								build: add leftover WLR_HAS_LIBCAP  
							
							... 
							
							
							
							We don't support libcap anymore. This was left as a comment by Meson:
    /* #undef WLR_HAS_LIBCAP */ 
							
						 
						
							2020-12-03 00:05:38 +01:00  
				
					
						
							
							
								 
						
							
								d2329ac07a 
								
							 
						 
						
							
							
								
								xwm: add wlr_xwayland_surface_restack()  
							
							
							
						 
						
							2020-11-30 11:29:28 +01:00  
				
					
						
							
							
								 
						
							
								83a5d03bf3 
								
							 
						 
						
							
							
								
								render/egl: remove wlr_egl.external_only_dmabuf_formats  
							
							... 
							
							
							
							Replace it with wlr_egl.dmabuf_render_formats. 
							
						 
						
							2020-11-30 11:08:44 +01:00  
				
					
						
							
							
								 
						
							
								c94ab99ae2 
								
							 
						 
						
							
							
								
								render: rename wlr_renderer_get_formats  
							
							... 
							
							
							
							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-30 11:08:44 +01:00  
				
					
						
							
							
								 
						
							
								49115e9d5d 
								
							 
						 
						
							
							
								
								render: rename wlr_renderer_get_dmabuf_formats  
							
							... 
							
							
							
							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-30 11:08:44 +01:00  
				
					
						
							
							
								 
						
							
								5d008d9030 
								
							 
						 
						
							
							
								
								render: introduce wlr_renderer_get_dmabuf_render_formats  
							
							... 
							
							
							
							It describes which DMA-BUF formats can be used to render. 
							
						 
						
							2020-11-30 11:08:44 +01:00  
				
					
						
							
							
								 
						
							
								61612ecb36 
								
							 
						 
						
							
							
								
								render: remove wlr_renderer_format_supported  
							
							... 
							
							
							
							Instead, callers can just use wlr_renderer_get_formats and iterate over
the list.
This function was unused in wlroots. 
							
						 
						
							2020-11-30 11:08:44 +01:00  
				
					
						
							
							
								 
						
							
								c15ca3793e 
								
							 
						 
						
							
							
								
								render: expand wlr_renderer_get{,_dmabuf}_formats docs  
							
							... 
							
							
							
							Make it clear formats returned are only suitable for import/sampling.
These formats can't be used to be rendered to. 
							
						 
						
							2020-11-30 11:08:44 +01:00  
				
					
						
							
							
								 
						
							
								ebecc5404b 
								
							 
						 
						
							
							
								
								surface: Make send_enter store entered outputs  
							
							... 
							
							
							
							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-23 10:58:50 +01:00  
				
					
						
							
							
								 
						
							
								0e76f92de7 
								
							 
						 
						
							
							
								
								backend/session: replace session_signal with events.active  
							
							... 
							
							
							
							This is more idiomatic wlroots API. The new name makes it clear that the
signal is emitted when wlr_session.active changes. 
							
						 
						
							2020-11-19 22:47:49 +01:00  
				
					
						
							
							
								 
						
							
								fbf11a41e1 
								
							 
						 
						
							
							
								
								backend/session: wait for DRM device if none found  
							
							... 
							
							
							
							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-19 22:47:49 +01:00  
				
					
						
							
							
								 
						
							
								76bcddf071 
								
							 
						 
						
							
							
								
								backend/session: introduce wlr_session.events.add_drm_card  
							
							... 
							
							
							
							This is triggered when a new DRM card is added.
An easy way to test this patch is `modprobe vkms`. 
							
						 
						
							2020-11-19 22:47:49 +01:00  
				
					
						
							
							
								 
						
							
								44a4792fd8 
								
							 
						 
						
							
							
								
								backend/session: operate on wlr_device  
							
							... 
							
							
							
							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-19 22:47:49 +01:00  
				
					
						
							
							
								 
						
							
								6284af121f 
								
							 
						 
						
							
							
								
								texture: document that functions should not be called while rendering  
							
							
							
						 
						
							2020-11-19 11:35:04 +01:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								8348fc3ef8 
								
							 
						 
						
							
							
								
								xwayland: remove unused listener  
							
							
							
						 
						
							2020-11-05 13:18:04 +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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								36395e5b1c 
								
							 
						 
						
							
							
								
								foreign-toplevel-management: report parent toplevel  
							
							... 
							
							
							
							Based on the wlr-protocols PR:
https://github.com/swaywm/wlr-protocols/pull/52  
							
						 
						
							2020-10-18 17:14:35 +02:00  
				
					
						
							
							
								 
						
							
								e410ff8dd4 
								
							 
						 
						
							
							
								
								wlr_drag: remove unused point_destroy field  
							
							
							
						 
						
							2020-10-18 15:17:28 +02:00  
				
					
						
							
							
								 
						
							
								616f06c25c 
								
							 
						 
						
							
							
								
								xdg_positioner: remove unused field  
							
							... 
							
							
							
							The resource field of wlr_xdg_positioner is never initialized or
accessed within wlroots. The wl_resource for this interface is stored
in the wlr_xdg_positioner_resource struct. 
							
						 
						
							2020-10-16 12:49:37 +02:00  
				
					
						
							
							
								 
						
							
								99f3c643bf 
								
							 
						 
						
							
							
								
								xwayland: add set_geometry event  
							
							... 
							
							
							
							This is necessary to react to changes in position of override-redirect
views. 
							
						 
						
							2020-10-14 21:49:51 +02:00  
				
					
						
							
							
								 
						
							
								8ad2cc39eb 
								
							 
						 
						
							
							
								
								layer-shell: add for_each_popup  
							
							... 
							
							
							
							This brings the layer-shell api in line with that of xdg-shell and
avoids reimplementing this function in every compositor in order to
render layer shell popups correctly. 
							
						 
						
							2020-09-10 17:44:55 +02:00  
				
					
						
							
							
								 
						
							
								a9cbfd950e 
								
							 
						 
						
							
							
								
								Remove xdg-shell v6  
							
							... 
							
							
							
							Ding dong the witch is dead
Fixes  #2381  
							
						 
						
							2020-09-03 00:01:10 +02:00  
				
					
						
							
							
								 
						
							
								b0144c7ded 
								
							 
						 
						
							
							
								
								output-power-management-v1: listen to output commit  
							
							
							
						 
						
							2020-08-27 13:54:19 -06:00  
				
					
						
							
							
								 
						
							
								c674241ec0 
								
							 
						 
						
							
							
								
								output: introduce wlr_output_event_commit  
							
							... 
							
							
							
							This event contains a `committed` bitfield, which allows callers to know
which output fields changed during the commit.
This allows users to setup a single atomic commit listener, instead of
setting up one listener for each event (mode, scale, transform, and so
on).
References: https://github.com/swaywm/wlroots/issues/2098  
							
						 
						
							2020-08-27 13:54:19 -06:00  
				
					
						
							
							
								 
						
							
								2072d59da5 
								
							 
						 
						
							
							
								
								xdg-shell: split last-acked and current state  
							
							... 
							
							
							
							These states are distinct in the time period between the ack_configure
and the next commit on the surface. Splitting these states avoids the
following race for example:
- client starts at 1000x1000
- wlr_xdg_toplevel_set_size 500x500
- size is different -> configure sent
- client acks the configure
- wlr_xdg_toplevel_set_size 1000x1000
- compare_xdg_toplevel_state returns true since there is no pending
  configure and the currently committed size is still 1000x1000
- no new configure is sent
- client commits at the size it last acked, 500x500 
							
						 
						
							2020-08-27 12:36:29 +02:00  
				
					
						
							
							
								 
						
							
								bad1e9afa8 
								
							 
						 
						
							
							
								
								session: Add libseat backend  
							
							
							
						 
						
							2020-08-24 11:13:55 +02:00  
				
					
						
							
							
								 
						
							
								26af316b3b 
								
							 
						 
						
							
							
								
								render/gles2: make wlr_gles2_texture_from_* private  
							
							... 
							
							
							
							These functions are unused by compositors (see e.g. [1]) and prevent
wlr_gles2_texture from accessing wlr_gles2_renderer state. This is an
issue for proper teardown [2] and for accessing GLES2 extensions.
[1]: https://github.com/swaywm/wlroots/pull/1962#issuecomment-569511830 
[2]: https://github.com/swaywm/wlroots/pull/1962  
							
						 
						
							2020-07-28 06:59:07 -06:00  
				
					
						
							
							
								 
						
							
								bd387da62d 
								
							 
						 
						
							
							
								
								xwm: add support for xwayland minimize  
							
							
							
						 
						
							2020-07-21 13:20:17 +02:00  
				
					
						
							
							
								 
						
							
								a145430afa 
								
							 
						 
						
							
							
								
								input/pointer: add wlr_seat_pointer_wrap  
							
							... 
							
							
							
							It allows a compositor to do things like skip motion events on pointer
constraint unlock.
References: https://github.com/swaywm/sway/pull/5431  
							
						 
						
							2020-07-15 19:31:13 +02:00  
				
					
						
							
							
								 
						
							
								595f324f8b 
								
							 
						 
						
							
							
								
								input-method: implement keyboard grabs  
							
							
							
						 
						
							2020-07-08 11:21:57 +02:00