Simon Ser
							
						 
						
							 
							
							
							
								
							
								44069dfd5e 
								
							
								 
							
						 
						
							
							
								
								output-layer: add cropping support  
							
							 
							
							... 
							
							
 
							
							Add a src_box state field. Use the SRC_* KMS props in the DRM
backend, reject the layers in the Wayland backend (for now, we can
support it later via viewporter). 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								dae2deb3c9 
								
							
								 
							
						 
						
							
							
								
								compositor: add wlr_surface_set_preferred_buffer_transform()  
							
							 
							
							... 
							
							
 
							
							References: https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/220  
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								42edd36785 
								
							
								 
							
						 
						
							
							
								
								compositor: add wlr_surface_set_preferred_buffer_scale()  
							
							 
							
							... 
							
							
 
							
							References: https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/220  
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								0bb574239d 
								
							
								 
							
						 
						
							
							
								
								compositor: pass version in wlr_compositor_create  
							
							 
							
							... 
							
							
 
							
							This allows wlroots to support newer versions of the interface
without breaking the API. 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								9ef98452a3 
								
							
								 
							
						 
						
							
							
								
								output-damage: drop  
							
							 
							
							... 
							
							
 
							
							Compositors can migrate to wlr_damage_ring. 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								079ff9e6fb 
								
							
								 
							
						 
						
							
							
								
								output: add wlr_output_is_direct_scanout_allowed()  
							
							 
							
							... 
							
							
 
							
							This lets compositors check whether direct scan-out is possible.
Compositors will soon be responsible for manually calling this
function. 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								835208db98 
								
							
								 
							
						 
						
							
							
								
								output-layer: add support for scaling buffers  
							
							 
							
							... 
							
							
 
							
							This allows callers to set a destination size different from the
buffer size to scale them.
The DRM backend supports this. The Wayland backend doesn't yet
(we'd need to wire up viewporter). 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								e00c4cd7dc 
								
							
								 
							
						 
						
							
							
								
								output-layer: cache current state  
							
							 
							
							... 
							
							
 
							
							The will be used by the Wayland backend to figure out whether
updating sub-surface position is necessary. 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								1b6fac4aa6 
								
							
								 
							
						 
						
							
							
								
								output-layer: require all layers in wlr_output_state.layers  
							
							 
							
							... 
							
							
 
							
							- Simplifies the backends
- Avoids having two ways to do the same thing: previously one could
  disable a layer by either omitting it from wlr_output_state.layers,
  or by passing a NULL buffer
- We can change our mind in the future: we can allow users to omit
  some layers and define a meaning without breaking the API.
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4017#note_1783997  
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								fef8ab22e3 
								
							
								 
							
						 
						
							
							
								
								output: introduce wlr_output_configure_primary_swapchain()  
							
							 
							
							... 
							
							
 
							
							The goal is to simplify wlr_output by moving all of its rendering
API into separate helpers. Here is a first step to sunset
wlr_output_attach_render(). Instead, compositors call
wlr_output_configure_primary_swapchain(), wlr_swapchain_acquire(),
wlr_renderer_begin_with_buffer() and wlr_output_attach_buffer().
Note that compositors can supply a base struct wlr_output_state.
This is useful to allocate a buffer suitable for submission with
a modeset, for instance.
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3079 
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3197 
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3984  
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								3874577d3c 
								
							
								 
							
						 
						
							
							
								
								output-layer: document interactions with screen capture  
							
							 
							
							... 
							
							
 
							
							When e.g. screencopy-v1 is active, callers are responsible for
disabling output layers. 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								7215bd1e0f 
								
							
								 
							
						 
						
							
							
								
								output: expose wlr_output_state_set_buffer()  
							
							 
							
							
 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								4629d0ef40 
								
							
								 
							
						 
						
							
							
								
								output: expose wlr_output_state_finish()  
							
							 
							
							... 
							
							
 
							
							Same as the original function, but check for the bitfield before
calling pixman_region32_fini(), because that function expects an
initialized region. 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Alexander Orzechowski
							
						 
						
							 
							
							
							
								
							
								3ef9f91283 
								
							
								 
							
						 
						
							
							
								
								wlr_scene: Add dmabuf_feedback helper  
							
							 
							
							
 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Alexander Orzechowski
							
						 
						
							 
							
							
							
								
							
								323f0b94db 
								
							
								 
							
						 
						
							
							
								
								wlr_scene: Cleanup header includes  
							
							 
							
							... 
							
							
 
							
							We don't need to pull wlr_compositor. 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								849c362ffb 
								
							
								 
							
						 
						
							
							
								
								linux-dmabuf-v1: add helper for output layer feedback events  
							
							 
							
							
 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								e1335a792a 
								
							
								 
							
						 
						
							
							
								
								output-layer: add feedback event  
							
							 
							
							
 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								3e0ce761ad 
								
							
								 
							
						 
						
							
							
								
								output: add wlr_output_set_layers()  
							
							 
							
							
 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								2f29b0c438 
								
							
								 
							
						 
						
							
							
								
								Add wlr_output_layer  
							
							 
							
							... 
							
							
 
							
							This is based on previous work [1] [2].
This new API allows compositors to display buffers without needing to
perform rendering operations. This API can be implemented on Wayland
using subsurfaces and on DRM using KMS planes.
Compared to [1], this approach leverages wlr_addon_set to let backends
attach their own private state to layers, removes the pending
state (necessary for interop with wlr_output_commit_state()) and
enum wlr_output_layer_state_field.
[1]: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/1985 
[2]: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3447  
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Kenny Levinsen
							
						 
						
							 
							
							
							
								
							
								1225f81a6a 
								
							
								 
							
						 
						
							
							
								
								scene: Add fractional scale handling  
							
							 
							
							
 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Kenny Levinsen
							
						 
						
							 
							
							
							
								
							
								efb8df8b22 
								
							
								 
							
						 
						
							
							
								
								wp-fractional-scale-v1: new protocol implementation  
							
							 
							
							... 
							
							
 
							
							This implements the WIP wp-fractional-scale-v1 protocol. 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								0c966f102c 
								
							
								 
							
						 
						
							
							
								
								linux-dmabuf-v1: add wlr_linux_dmabuf_feedback_v1_init_with_options()  
							
							 
							
							
 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								b264ec7767 
								
							
								 
							
						 
						
							
							
								
								linux-dmabuf-v1: add basic helpers for feedback  
							
							 
							
							
 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								5cd14dfc91 
								
							
								 
							
						 
						
							
							
								
								linux-dmabuf-v1: stop using const in feedback  
							
							 
							
							... 
							
							
 
							
							Instead of using const pointers, use structs owned by the tranche.
This will allow wlroots to expose helpers to build feedback
objects. 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Alexander Orzechowski
							
						 
						
							 
							
							
							
								
							
								7b32c25a4f 
								
							
								 
							
						 
						
							
							
								
								wlr_scene: Rename wlr_scene_surface_from_buffer  
							
							 
							
							... 
							
							
 
							
							This renames it to wlr_scene_surface_try_from_buffer to be more clear
that this function can return NULL. This is inline with the rest of
wlroots[1].
[1] https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3991  
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								eb3e8f08a8 
								
							
								 
							
						 
						
							
							
								
								subcompositor: convert to try_from  
							
							 
							
							... 
							
							
 
							
							References: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/884  
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								c5f7f8ab98 
								
							
								 
							
						 
						
							
							
								
								ext-session-lock-v1: convert to try_from  
							
							 
							
							... 
							
							
 
							
							References: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/884  
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								f9bd416d41 
								
							
								 
							
						 
						
							
							
								
								layer-shell-v1: convert to try_from  
							
							 
							
							... 
							
							
 
							
							References: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/884  
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								49cb85ad72 
								
							
								 
							
						 
						
							
							
								
								input-method-v2: convert to try_from  
							
							 
							
							... 
							
							
 
							
							References: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/884  
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								711a1a3ed4 
								
							
								 
							
						 
						
							
							
								
								xdg-shell: convert to try_from  
							
							 
							
							... 
							
							
 
							
							References: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/884  
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								0f24d27e0b 
								
							
								 
							
						 
						
							
							
								
								xdg-shell: rename wlr_xdg_popup.committed to sent_initial_configure  
							
							 
							
							... 
							
							
 
							
							We made a similar change to wlr_xdg_toplevel. 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								df0c926a7a 
								
							
								 
							
						 
						
							
							
								
								xdg-shell: rename wlr_xdg_toplevel.added to sent_initial_configure  
							
							 
							
							... 
							
							
 
							
							This is more descriptive, and avoids the confusion with
wlr_xdg_surface.added. 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								0e54b861e9 
								
							
								 
							
						 
						
							
							
								
								seat/keyboard: constify wlr_seat_keyboard_notify_enter()  
							
							 
							
							
 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								695d28c250 
								
							
								 
							
						 
						
							
							
								
								seat/keyboard: constify wlr_seat_keyboard_notify_modifiers()  
							
							 
							
							
 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								e44834595d 
								
							
								 
							
						 
						
							
							
								
								seat/keyboard: constify args in wlr_seat_keyboard_enter()  
							
							 
							
							
 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								12e04d8f83 
								
							
								 
							
						 
						
							
							
								
								seat/keyboard: constify wlr_seat_keyboard_send_modifiers()  
							
							 
							
							
 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Alexander Orzechowski
							
						 
						
							 
							
							
							
								
							
								5007e713b4 
								
							
								 
							
						 
						
							
							
								
								wlr_scene: Send intersecting list of scene outputs for outputs_update signal  
							
							 
							
							
 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Kirill Primak
							
						 
						
							 
							
							
							
								
							
								843b874f22 
								
							
								 
							
						 
						
							
							
								
								output-layout: improve closest point for no outputs case  
							
							 
							
							... 
							
							
 
							
							Without outputs, all points are equally invalid anyway, but for e.g.
cursor warping it makes more sense to preserve the original position. 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								e93ecc669c 
								
							
								 
							
						 
						
							
							
								
								tablet-tool: revert bitfield in enum wlr_tablet_tool_tip_state  
							
							 
							
							... 
							
							
 
							
							This was changed to a bitfield by mistake.
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3484#note_1697926  
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Isaac Freund
							
						 
						
							 
							
							
								
								
							
							
								
							
								869af1cfbb 
								
									
								
							
								 
							
						 
						
							
							
								
								session-lock: send more protocol errors  
							
							 
							
							... 
							
							
 
							
							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(). 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								7081687843 
								
							
								 
							
						 
						
							
							
								
								keyboard: improve documentation  
							
							 
							
							
 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								xiliuya
							
						 
						
							 
							
							
							
								
							
								7f6d646e0a 
								
							
								 
							
						 
						
							
							
								
								keyboard: only update LEDs when changed  
							
							 
							
							
 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Ronan Pigott
							
						 
						
							 
							
							
							
								
							
								f8e70af318 
								
							
								 
							
						 
						
							
							
								
								wlr_xdg_activation_v1: add new_token event  
							
							 
							
							
 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Kirill Primak
							
						 
						
							 
							
							
							
								
							
								097ea84cda 
								
							
								 
							
						 
						
							
							
								
								output-layout: improve API  
							
							 
							
							... 
							
							
 
							
							- 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  
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Kirill Primak
							
						 
						
							 
							
							
							
								
							
								27ea18cc33 
								
							
								 
							
						 
						
							
							
								
								output-layout: remove wlr_output_layout_output_state  
							
							 
							
							... 
							
							
 
							
							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. 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Kirill Primak
							
						 
						
							 
							
							
							
								
							
								604df8b327 
								
							
								 
							
						 
						
							
							
								
								output-layout: fix function decl indentation  
							
							 
							
							
 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								512deebd82 
								
							
								 
							
						 
						
							
							
								
								compositor: add wlr_surface.events.precommit  
							
							 
							
							
 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								c4727240af 
								
							
								 
							
						 
						
							
							
								
								compositor: document wlr_surface_{enter,leave,send_frame_done}  
							
							 
							
							
 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Alexander Orzechowski
							
						 
						
							 
							
							
							
								
							
								ec846adb54 
								
							
								 
							
						 
						
							
							
								
								wlr_drm: Add missing wlr_buffer import  
							
							 
							
							
 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								f36a5915da 
								
							
								 
							
						 
						
							
							
								
								wl-drm: don't store wlr_renderer  
							
							 
							
							... 
							
							
 
							
							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. 
							
						 
						
							3 years ago