Simon Ser
							
						 
						
							 
							
							
							
								
							
								52b93f7eb4 
								
							
								 
							
						 
						
							
							
								
								output/cursor: fix scale and transform  
							
							 
							
							... 
							
							
 
							
							Many issues here:
- wlr_output_cursor_set_buffer() takes a buffer already scaled for
  the output, not a buffer with scale=1.
- wlr_output_cursor.{width,height,hotspot_x,hotspot_y} are in output
  buffer coordinates.
- render_cursor_buffer() had hardcoded no-ops for scale and
  transform, instead of using the cursor surface's.
Fixes: b64e7e88bf  ("output: add output_cursor_set_texture()") 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Kirill Primak
							
						 
						
							 
							
							
							
								
							
								e75407fd4d 
								
							
								 
							
						 
						
							
							
								
								session-lock: remove unused wlr_session_lock_surface_v1.events.map  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Kirill Primak
							
						 
						
							 
							
							
							
								
							
								d086ee1b9e 
								
							
								 
							
						 
						
							
							
								
								compositor: remove wlr_surface_role.precommit  
							
							 
							
							... 
							
							
 
							
							It was previously used to handle unmapping properly but is obsolete now. 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Kirill Primak
							
						 
						
							 
							
							
							
								
							
								26676c8c07 
								
							
								 
							
						 
						
							
							
								
								xwm: use unified map logic  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Kirill Primak
							
						 
						
							 
							
							
							
								
							
								af4181f388 
								
							
								 
							
						 
						
							
							
								
								drag: use unified map logic  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Kirill Primak
							
						 
						
							 
							
							
							
								
							
								743da5c0ae 
								
							
								 
							
						 
						
							
							
								
								input-method: use unified map logic  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Kirill Primak
							
						 
						
							 
							
							
							
								
							
								229abfae0c 
								
							
								 
							
						 
						
							
							
								
								session-lock: use unified map logic  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Kirill Primak
							
						 
						
							 
							
							
							
								
							
								c63f3659c5 
								
							
								 
							
						 
						
							
							
								
								layer-shell: use unified map logic  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Kirill Primak
							
						 
						
							 
							
							
							
								
							
								b0437fc416 
								
							
								 
							
						 
						
							
							
								
								xdg-shell: use unified map logic  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Kirill Primak
							
						 
						
							 
							
							
							
								
							
								c590bb600f 
								
							
								 
							
						 
						
							
							
								
								subcompositor: use unified map logic  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Kirill Primak
							
						 
						
							 
							
							
							
								
							
								6b40e08148 
								
							
								 
							
						 
						
							
							
								
								compositor: introduce unified map logic  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Kirill Primak
							
						 
						
							 
							
							
							
								
							
								75d03f2b68 
								
							
								 
							
						 
						
							
							
								
								xwm: introduce associate/dissociate events  
							
							 
							
							... 
							
							
 
							
							We'll soon introduce a unified wlr_surface map event. Up until now, compositors
have been using wlr_xwayland_surface's map event to setup various wlr_surface
related listeners (e.g. commit). This will no longer be possible when that
event is moved over to wlr_surface. Introduce new events where the compositor
can add/remove wlr_surface event listeners. 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								30aca4df0d 
								
							
								 
							
						 
						
							
							
								
								backend/drm: introduce wlr_drm_mode_get_info()  
							
							 
							
							... 
							
							
 
							
							This allows compositors to get back the raw drmModeModeInfo and
look at DRM-specific fields and flags. 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								3f0487d310 
								
							
								 
							
						 
						
							
							
								
								backend/drm: move forward decl up for drmModeModeInfo  
							
							 
							
							... 
							
							
 
							
							This allows doc generators to properly associate the doc comment
with the function instead of the typedef. 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								93a6acae9f 
								
							
								 
							
						 
						
							
							
								
								output: add wlr_output_begin_render_pass()  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Alexander Orzechowski
							
						 
						
							 
							
							
							
								
							
								95062904c7 
								
							
								 
							
						 
						
							
							
								
								wlr_scene: Introduce wlr_scene_buffer_set_opacity  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Alexander Orzechowski
							
						 
						
							 
							
							
							
								
							
								2346b90a9f 
								
							
								 
							
						 
						
							
							
								
								wlr_scene: Make scene_rect_from_node public  
							
							 
							
							... 
							
							
 
							
							This is in an effort to be more consistent with both already public
getters: wlr_scene_buffer_from_node and wlr_scene_tree_from_node 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Alexander Orzechowski
							
						 
						
							 
							
							
							
								
							
								88f80c4a7c 
								
							
								 
							
						 
						
							
							
								
								wlr_scene: Make scene_tree_from_node public  
							
							 
							
							... 
							
							
 
							
							This is to allow for compositors that want to be more implicit about
how their scene is organized. Such a compositor may want to walk up
at a certain scene node to find something such as a surface to focus on. 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Alexander Orzechowski
							
						 
						
							 
							
							
							
								
							
								61c157269e 
								
							
								 
							
						 
						
							
							
								
								wlr_scene: Add documentation to wlr_scene_buffer_from_node  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Kirill Primak
							
						 
						
							 
							
							
							
								
							
								5f4a35290d 
								
							
								 
							
						 
						
							
							
								
								util/box: always treat NULL boxes as empty  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Alexander Orzechowski
							
						 
						
							 
							
							
							
								
							
								300bd80772 
								
							
								 
							
						 
						
							
							
								
								wlr_drm_format_set: Store formats on array  
							
							 
							
							
 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Alexander Orzechowski
							
						 
						
							 
							
							
							
								
							
								340700cb70 
								
							
								 
							
						 
						
							
							
								
								wlr_drm_format: Change wlr_drm_format_dup to copy  
							
							 
							
							
 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Alexander Orzechowski
							
						 
						
							 
							
							
							
								
							
								e6879616e7 
								
							
								 
							
						 
						
							
							
								
								wlr_drm_format: Make structure constant length  
							
							 
							
							... 
							
							
 
							
							Don't store modifiers as part of the struct. 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Alexander Orzechowski
							
						 
						
							 
							
							
							
								
							
								84d07e7119 
								
							
								 
							
						 
						
							
							
								
								wlr_drm_format_set: Remove redundant text in comment for finish function  
							
							 
							
							... 
							
							
 
							
							This is implied by the fact that this function finishes the state instead
of destroying it. 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Alexander Orzechowski
							
						 
						
							 
							
							
							
								
							
								b45396c790 
								
							
								 
							
						 
						
							
							
								
								wlr_drm_format: Introduce drm_format_finish  
							
							 
							
							
 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								2a1234a820 
								
							
								 
							
						 
						
							
							
								
								wlr-export-dmabuf-v1: handle output destroy  
							
							 
							
							... 
							
							
 
							
							We were storing a wlr_output without listening for the destroy
event.
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3646  
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								d933f5204b 
								
							
								 
							
						 
						
							
							
								
								output: drop wlr_output_cursor_set_surface  
							
							 
							
							
 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								b64e7e88bf 
								
							
								 
							
						 
						
							
							
								
								output: add output_cursor_set_texture()  
							
							 
							
							
 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Alexander Orzechowski
							
						 
						
							 
							
							
							
								
							
								5adb1be3a7 
								
							
								 
							
						 
						
							
							
								
								drm_format_set_intersect: Require initialized dst and remove assert  
							
							 
							
							... 
							
							
 
							
							The usages in linux_dmabuf zero out the dst before passing it so this
change should be fine. 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Alexander Orzechowski
							
						 
						
							 
							
							
							
								
							
								1ee75786b4 
								
							
								 
							
						 
						
							
							
								
								drm_format_set_union: Require initialized dst and remove assert  
							
							 
							
							
 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								novenary
							
						 
						
							 
							
							
							
								
							
								d7917d2076 
								
							
								 
							
						 
						
							
							
								
								xwayland: allow compositor to set withdrawn state  
							
							 
							
							
 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Alexander Orzechowski
							
						 
						
							 
							
							
							
								
							
								394accbe4a 
								
							
								 
							
						 
						
							
							
								
								wlr_compositer: Keep track if surface has committed a buffer before.  
							
							 
							
							... 
							
							
 
							
							This would break if you are running with a NULL renderer. 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Alexander Orzechowski
							
						 
						
							 
							
							
							
								
							
								2dd9549085 
								
							
								 
							
						 
						
							
							
								
								drm_format_set: Mark as unstable  
							
							 
							
							... 
							
							
 
							
							This is supposed to be an unstable interface and it was a mistake that
this header was not included. 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Austin Shafer
							
						 
						
							 
							
							
							
								
							
								ec37d55a5e 
								
							
								 
							
						 
						
							
							
								
								Add union function for format sets  
							
							 
							
							
 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								a93fc8afd6 
								
							
								 
							
						 
						
							
							
								
								render: introduce blend mode  
							
							 
							
							... 
							
							
 
							
							Allow callers to pick the blend mode when rendering a rect. The
"none" mode can be used to disable blending and clear rects. 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								587852056c 
								
							
								 
							
						 
						
							
							
								
								output: add wlr_output_add_software_cursors_to_render_pass()  
							
							 
							
							... 
							
							
 
							
							Same as wlr_output_render_software_cursors(), but takes a
struct wlr_render_pass. 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								4a1ad32534 
								
							
								 
							
						 
						
							
							
								
								render: add render pass helpers  
							
							 
							
							
 
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								756dedae20 
								
							
								 
							
						 
						
							
							
								
								Add a new renderer API  
							
							 
							
							... 
							
							
 
							
							Goals:
- Extensibility: we need to be able to add new params to the calls
  to render a texture/rect. For instance we'll need to add fences to
  the render texture operation for explicit sync purposes.
- No implicit state: no more bind_buffer, begin, end.
- No matrices: these hurt Pixman and we don't need them.
- Clip regions for optimized damage repainting.
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3188  
							
						 
						
							3 years ago  
						
					 
				
					
						
							
							
								 
								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  
						
					 
				
					
						
							
							
								 
								zccrs
							
						 
						
							 
							
							
							
								
							
								5602fb1373 
								
							
								 
							
						 
						
							
							
								
								backend/wayland: fix undefined reference to wlr_wl_input_device_get_seat  
							
							 
							
							... 
							
							
 
							
							Amend b7e9ad79  to remove wlr_wl_input_device_get_seat definition.
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3611  
							
						 
						
							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
							
						 
						
							 
							
							
							
								
							
								cab47d33e2 
								
							
								 
							
						 
						
							
							
								
								util/log: prefix WLR_REL_SRC_DIR with underscore  
							
							 
							
							... 
							
							
 
							
							Just like _WLR_FILENAME and _WLR_ATTRIB_PRINTF, this makes it more
obvious that this isn't part of our API. 
							
						 
						
							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