Simon Ser
							
						 
						
							 
							
							
							
								
							
								f8d70fbece 
								
							
								 
							
						 
						
							
							
								
								cursor: remove usage of wlr_output_cursor_set_image()  
							
							 
							
							... 
							
							
 
							
							Stop using wlr_output_cursor_set_image() because it's getting
dropped. Instead, use wlr_output_cursor_set_buffer().
This mirrors what wlr_output_cursor_set_image() is doing
under-the-hood. 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								0fc532f8de 
								
							
								 
							
						 
						
							
							
								
								cursor: remove wlr_cursor_set_image()  
							
							 
							
							... 
							
							
 
							
							Superseded by wlr_cursor_set_buffer(). 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								18bafbfc57 
								
							
								 
							
						 
						
							
							
								
								xcursor-manager: drop wlr_xcursor_manager_set_cursor_image()  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								71c87ff4b8 
								
							
								 
							
						 
						
							
							
								
								cursor: add wlr_cursor_set_buffer()  
							
							 
							
							... 
							
							
 
							
							A saner replacement for wlr_cursor_set_image():
- Takes a wlr_buffer instead of numerous parameters and a hardcoded
  format.
- The scale is not used to filter outputs.
- A ref to the buffer is kept to apply it to new outputs. 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								bb91787b5f 
								
							
								 
							
						 
						
							
							
								
								cursor: stop using set_image() in wlr_cursor_unset_image()  
							
							 
							
							... 
							
							
 
							
							set_image() will go away. 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Manuel Stoeckl
							
						 
						
							 
							
							
							
								
							
								bbd53b3b46 
								
							
								 
							
						 
						
							
							
								
								screencopy-v1: fix logical->physical region transform  
							
							 
							
							... 
							
							
 
							
							This now matches the transformations used for e.g. cursor scissor
regions and damage. 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Alexander Orzechowski
							
						 
						
							 
							
							
							
								
							
								57a0313779 
								
							
								 
							
						 
						
							
							
								
								wlr_scene: Don't recompute node location during rendering  
							
							 
							
							... 
							
							
 
							
							We already compute it during the render list creation, we should cache
it and re-use the value. 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Alexander Orzechowski
							
						 
						
							 
							
							
							
								
							
								48f2a7a3a1 
								
							
								 
							
						 
						
							
							
								
								wlr_scene: Simplify direct scanout handling  
							
							 
							
							... 
							
							
 
							
							By adding a sent_feedback bool into the list entry that we can mutate
we no longer need to maintain this `sent_direct_scanout_feedback` variable.
sent_feedback will also be useful for output layers. 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Alexander Orzechowski
							
						 
						
							 
							
							
							
								
							
								9613b3bc8a 
								
							
								 
							
						 
						
							
							
								
								wlr_scene: Wrap render_list nodes in struct  
							
							 
							
							... 
							
							
 
							
							We will be able to add more state here 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								53b07b5b72 
								
							
								 
							
						 
						
							
							
								
								cursor: set image for new outputs  
							
							 
							
							... 
							
							
 
							
							When an output is added to wlr_cursor, update its cursor image.
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/2119  
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								d5581e42d4 
								
							
								 
							
						 
						
							
							
								
								cursor: add cursor_update_outputs()  
							
							 
							
							... 
							
							
 
							
							Sets the cursor image for each output depending on the wlr_cursor
state. 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								d1d6cd9008 
								
							
								 
							
						 
						
							
							
								
								cursor: keep track of XCursor manager and name  
							
							 
							
							... 
							
							
 
							
							Will be useful to apply the current cursor to new outputs. 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								69c44de22f 
								
							
								 
							
						 
						
							
							
								
								cursor: track surface globally, instead of per-output  
							
							 
							
							... 
							
							
 
							
							Most of the surface-related state does not need to be per-output.
Move it to wlr_cursor_state. 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								c46fabe45c 
								
							
								 
							
						 
						
							
							
								
								cursor: use wlr_cursor_unset_image() in wlr_cursor_set_surface()  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								f0b8a68654 
								
							
								 
							
						 
						
							
							
								
								cursor: store wlr_cursor inline in wlr_cursor_state  
							
							 
							
							... 
							
							
 
							
							Removes one allocation, makes this a bit more consistent with the
rest of wlroots. 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Alexander Orzechowski
							
						 
						
							 
							
							
							
								
							
								8243399385 
								
							
								 
							
						 
						
							
							
								
								output: Set output mode during main commit  
							
							 
							
							... 
							
							
 
							
							Removes duplication across all the backends to finally apply the mode
to the output. 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Alexander Orzechowski
							
						 
						
							 
							
							
							
								
							
								ea3c6fde3a 
								
							
								 
							
						 
						
							
							
								
								wlr_scene: Add opaque region blend mode optimization  
							
							 
							
							... 
							
							
 
							
							If we are only rendering within a region of the surface that is
advertised as opaque, we can choose no blending 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Kirill Primak
							
						 
						
							 
							
							
							
								
							
								71b57b8d27 
								
							
								 
							
						 
						
							
							
								
								fullscreen-shell: set surface role  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								be05097968 
								
							
								 
							
						 
						
							
							
								
								output: add wlr_output_state_init()  
							
							 
							
							... 
							
							
 
							
							This changes the semantics of wlr_output_state. Instead of having
fields with uninitialized memory when missing from the committed
bitflag, all fields are always initialized (and maybe NULL/empty),
just like we do in wlr_surface_state. This reduces the chances of
footguns when reading a field, and removes the need to check for
the committed bitfield everywhere.
A new wlr_output_state_init() function takes care of initializing
the Pixman region. 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								8a5b5e6f28 
								
							
								 
							
						 
						
							
							
								
								compositor: listen to role_resource destroy signal  
							
							 
							
							... 
							
							
 
							
							Call wlr_surface_destroy_role_object() when the role_resource is
destroyed. 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								89cb484220 
								
							
								 
							
						 
						
							
							
								
								compositor: replace role_data with role_resource  
							
							 
							
							... 
							
							
 
							
							This increases type safety, makes it more obvious that role_data
must represent the role object, and will allow for automatic
cleanup when the resource is destroyed. 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								00f1870d35 
								
							
								 
							
						 
						
							
							
								
								input-method-v2: add popup_surface_from_resource()  
							
							 
							
							... 
							
							
 
							
							This checks the resource type before casting its user data pointer. 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Kirill Primak
							
						 
						
							 
							
							
							
								
							
								fc9b58e84d 
								
							
								 
							
						 
						
							
							
								
								compositor: don't call role unmap hook without an object  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Kirill Primak
							
						 
						
							 
							
							
							
								
							
								0f67580aab 
								
							
								 
							
						 
						
							
							
								
								compositor: introduce wlr_surface_set_role_object()  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Kirill Primak
							
						 
						
							 
							
							
							
								
							
								0040c78c0b 
								
							
								 
							
						 
						
							
							
								
								compositor: fix wlr_surface_set_role() error messages  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								d59749aa44 
								
							
								 
							
						 
						
							
							
								
								cursor: add support for animated XCursor  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								6dd8b092e9 
								
							
								 
							
						 
						
							
							
								
								output/swapchain: fix error return value types  
							
							 
							
							... 
							
							
 
							
							This function returns a bool, not a pointer. 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Alexander Orzechowski
							
						 
						
							 
							
							
							
								
							
								b5eaa47049 
								
							
								 
							
						 
						
							
							
								
								scene: Use wlr_output_state_copy for direct scanout path  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Alexander Orzechowski
							
						 
						
							 
							
							
							
								
							
								4b7c526578 
								
							
								 
							
						 
						
							
							
								
								output: Introduce wlr_output_state_copy()  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								1e68e1f661 
								
							
								 
							
						 
						
							
							
								
								seat: fix keyboard/pointer/touch resource destroy  
							
							 
							
							... 
							
							
 
							
							We need to always unlink the resource, even if it's already inert.
seat_client_destroy_*() may be called multiple times on the same
resource.
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3638  
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								c4d4409deb 
								
							
								 
							
						 
						
							
							
								
								output: stop using wlr_output.back_buffer in output_ensure_buffer()  
							
							 
							
							... 
							
							
 
							
							This allows us to use the new render pass API, and drops some
implicit state usage. 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								b625a13156 
								
							
								 
							
						 
						
							
							
								
								output: attach buffer to state in output_ensure_buffer()  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Alexander Orzechowski
							
						 
						
							 
							
							
							
								
							
								2ac31fc630 
								
							
								 
							
						 
						
							
							
								
								wlr_scene: Introduce wlr_scene_buffer_set_filter_mode  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Alexander Orzechowski
							
						 
						
							 
							
							
							
								
							
								64c0272f81 
								
							
								 
							
						 
						
							
							
								
								output_state: Gamma lut should be freed only if committed  
							
							 
							
							... 
							
							
 
							
							We consider state that is not committed to be uninitialized. 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								220402b717 
								
							
								 
							
						 
						
							
							
								
								cursor: add wlr_cursor_unset_image()  
							
							 
							
							... 
							
							
 
							
							It's pretty awkward to call wlr_cursor_set_image() with 6 zeroes.
Hide that awkwardness in wlroots. 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								da04b066ea 
								
							
								 
							
						 
						
							
							
								
								cursor: add wlr_cursor_set_xcursor()  
							
							 
							
							... 
							
							
 
							
							This keeps track of the last set XCursor. If it hasn't changed,
skip the texture upload.
In the future, support for animated XCursors can be added.
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3436  
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Alexander Orzechowski
							
						 
						
							 
							
							
							
								
							
								58a2f8bd5c 
								
							
								 
							
						 
						
							
							
								
								wlr_scene: Clear damage ring on transform change  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Alexander Orzechowski
							
						 
						
							 
							
							
							
								
							
								61667404ce 
								
							
								 
							
						 
						
							
							
								
								wlr_scene: Clear damage ring on scale change  
							
							 
							
							... 
							
							
 
							
							If we were trying to change the scale in wlr_scene_output_build_state,
we would be using incorrect damage 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Alexander Orzechowski
							
						 
						
							 
							
							
							
								
							
								96b95bf775 
								
							
								 
							
						 
						
							
							
								
								wlr_scene: Reset damage ring bounds every frame  
							
							 
							
							... 
							
							
 
							
							This fixes damage issues when a output state attempts to change
the transformed size in some way 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Alexander Orzechowski
							
						 
						
							 
							
							
							
								
							
								4391845910 
								
							
								 
							
						 
						
							
							
								
								wlr_damage_ring_set_bounds: Ignore duplicate size requests  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Alexander Orzechowski
							
						 
						
							 
							
							
							
								
							
								3896b6b107 
								
							
								 
							
						 
						
							
							
								
								wlr_scene: Fix transforms with non 1 scale  
							
							 
							
							... 
							
							
 
							
							wlr_region_transform / wlr_box_transform want unscaled coordinates here 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Kirill Primak
							
						 
						
							 
							
							
							
								
							
								753f3cc4fa 
								
							
								 
							
						 
						
							
							
								
								compositor: add wlr_surface_role.no_object  
							
							 
							
							... 
							
							
 
							
							This commit allows to make a role as not represented by an object,
which fixes calling role commit handlers for roles like cursor
surfaces.
Fixes: 099b9de752 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								670915eeea 
								
							
								 
							
						 
						
							
							
								
								output: add wlr_output_state_set_layers()  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Alexander Orzechowski
							
						 
						
							 
							
							
							
								
							
								0925a500d1 
								
							
								 
							
						 
						
							
							
								
								wlr_scene: Don't use direct scanout if trying to commit a new render_format  
							
							 
							
							... 
							
							
 
							
							Found by inspection. 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Alexander Orzechowski
							
						 
						
							 
							
							
							
								
							
								a09bb1314d 
								
							
								 
							
						 
						
							
							
								
								wlr_output_state: Consider gamma_lut uninitialized if not committed  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Alexander Orzechowski
							
						 
						
							 
							
							
							
								
							
								b80e67d6e6 
								
							
								 
							
						 
						
							
							
								
								wlr_output_state: Consider buffer uninitialized if not committed  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								6e8fb5509f 
								
							
								 
							
						 
						
							
							
								
								cursor: only reset the cursor when the surface changes  
							
							 
							
							... 
							
							
 
							
							If the set_cursor request is used with the same surface, don't call
cursor_output_cursor_reset_image(). That function sends
wl_surface.leave and can cause an infinite feedback loop with some
clients (submitting a LoDPI cursor when the surface leaves an HiDPI
output).
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3669  
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Alexander Orzechowski
							
						 
						
							 
							
							
							
								
							
								05dd08afe5 
								
							
								 
							
						 
						
							
							
								
								scene: introduce wlr_scene_output_build_state()  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Alexander Orzechowski
							
						 
						
							 
							
							
							
								
							
								7e67b8152b 
								
							
								 
							
						 
						
							
							
								
								scene: Don't rely on output current state during rendering  
							
							 
							
							... 
							
							
 
							
							In the next commit, state such as scale, transform, width/height that
we gather from the output might be outdated and incorrect. 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Alexander Orzechowski
							
						 
						
							 
							
							
							
								
							
								ae7bad86dd 
								
							
								 
							
						 
						
							
							
								
								output: introduce wlr_output_state_set_damage()  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								36376e2ddf 
								
							
								 
							
						 
						
							
							
								
								gamma-control-v1: stop applying gamma LUTs implicitly  
							
							 
							
							... 
							
							
 
							
							Make the compositor responsible for doing that, so that they can
properly integrate with their output commit sequence. 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								ec9b79ef19 
								
							
								 
							
						 
						
							
							
								
								gamma-control-v1: add wlr_gamma_control_v1_send_failed_and_destroy()  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								026fc6eda0 
								
							
								 
							
						 
						
							
							
								
								gamma-control-v1: add wlr_gamma_control_v1_apply()  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								5d5cf34486 
								
							
								 
							
						 
						
							
							
								
								output: add wlr_output_state_set_gamma_lut()  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								6e635d2fd3 
								
							
								 
							
						 
						
							
							
								
								gamma-control-v1: add wlr_gamma_control_manager_v1_get_control()  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								70c1a57248 
								
							
								 
							
						 
						
							
							
								
								gamma-control-v1: introduce set_gamma event  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Kirill Primak
							
						 
						
							 
							
							
							
								
							
								63f3802e0f 
								
							
								 
							
						 
						
							
							
								
								subcompositor: set role_data with wlr_surface_set_role()  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Kirill Primak
							
						 
						
							 
							
							
							
								
							
								24a479a501 
								
							
								 
							
						 
						
							
							
								
								drag: don't set icon's role_data  
							
							 
							
							... 
							
							
 
							
							Currently, an icon surface's role_data is set manually to a struct
wlr_drag_icon, which is hacky, incorrect (as role_data is supposed
to be the surface's role object, and drag icons don't have them), and
will be disallowed by future changes. 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Kirill Primak
							
						 
						
							 
							
							
							
								
							
								31d958f70a 
								
							
								 
							
						 
						
							
							
								
								cursor: fix applying hotspot offset  
							
							 
							
							... 
							
							
 
							
							"On surface.attach requests to the pointer surface, hotspot_x and
hotspot_y are _decremented_ by the x and y parameters passed to the
request." 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								544c0622fa 
								
							
								 
							
						 
						
							
							
								
								presentation-time: constify wlr_presentation_feedback_send_presented()  
							
							 
							
							... 
							
							
 
							
							We don't need to mutate the event in this function. 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Kirill Primak
							
						 
						
							 
							
							
							
								
							
								25a62a3775 
								
							
								 
							
						 
						
							
							
								
								subcompositor: simplify subsurface_consider_map(), call on add  
							
							 
							
							... 
							
							
 
							
							Fixes: 49e9be62ae 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Kirill Primak
							
						 
						
							 
							
							
							
								
							
								2acc74a3db 
								
							
								 
							
						 
						
							
							
								
								Clear input regions if they're ignored  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Alexander Orzechowski
							
						 
						
							 
							
							
							
								
							
								9f28366b55 
								
							
								 
							
						 
						
							
							
								
								wlr_tablet_v2_tool: Tablet tool surfaces are always mapped  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Alexander Orzechowski
							
						 
						
							 
							
							
							
								
							
								d700bd2d7c 
								
							
								 
							
						 
						
							
							
								
								wlr_seat_pointer: cursor surfaces are always mapped  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Rose Hudson
							
						 
						
							 
							
							
							
								
							
								9e8947e4d5 
								
							
								 
							
						 
						
							
							
								
								add render timer API  
							
							 
							
							... 
							
							
 
							
							Based on five calls:
wlr_render_timer_create - creates a timer which can be reused across
  frames on the same renderer
wlr_renderer_begin_buffer_pass - now takes a timer so that backends can
  record when the rendering starts and finishes
wlr_render_timer_get_time - should be called as late as possible so that
  queries can make their way back from the GPU
wlr_render_timer_destroy - self-explanatory
The timer is exposed as an opaque `struct wlr_render_timer` so that
backends can store whatever they want in there. 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Kirill Primak
							
						 
						
							 
							
							
							
								
							
								37b5f8a89e 
								
							
								 
							
						 
						
							
							
								
								compositor: unmap subsurfaces too on unmap  
							
							 
							
							... 
							
							
 
							
							Similar to 49e9be62ae . 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Kenny Levinsen
							
						 
						
							 
							
							
							
								
							
								15f2f6642f 
								
							
								 
							
						 
						
							
							
								
								gamma-control: Read ramps using pread  
							
							 
							
							... 
							
							
 
							
							read advances the file description offset, and requires the client to
ensure that it is reset appropriately before the next gamma ramp
submission. As there is no event to indicate that wlroots finished
processing the new gamma ramp, this can result in a race between the
client seeking in the file and wlroots reading its content.
Use pread with a fixed offset instead.
Fixes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3655  
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Kirill Primak
							
						 
						
							 
							
							
							
								
							
								b61d5922f1 
								
							
								 
							
						 
						
							
							
								
								compositor: notify subsurfaces about a commit in the rendering order  
							
							 
							
							... 
							
							
 
							
							This is the default order used across wlroots unless the reversed order
specifically is required (e.g. in wlr_surface_surface_at()). 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Kirill Primak
							
						 
						
							 
							
							
							
								
							
								49e9be62ae 
								
							
								 
							
						 
						
							
							
								
								subcompositor: consider mapping on parent map  
							
							 
							
							... 
							
							
 
							
							Fixes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3654  
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Väinö Mäkelä
							
						 
						
							 
							
							
							
								
							
								a2f94b500c 
								
							
								 
							
						 
						
							
							
								
								virtual-keyboard: Handle inert seats  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Väinö Mäkelä
							
						 
						
							 
							
							
							
								
							
								f9f17b6236 
								
							
								 
							
						 
						
							
							
								
								virtual-pointer: Handle inert seats  
							
							 
							
							... 
							
							
 
							
							Inert seats are handled like inert outputs, so they work as if the
wanted seat was NULL. The seat argument is only a suggestion, so this
is okay. 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Väinö Mäkelä
							
						 
						
							 
							
							
							
								
							
								07e27ba854 
								
							
								 
							
						 
						
							
							
								
								xdg-popup: Handle inert seats  
							
							 
							
							... 
							
							
 
							
							According to the protocol text, the popup will be immediately dismissed
when the grab is rejected. Because the grab can't be executed with a
destroyed seat, the popup is dismissed when one is provided. 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Väinö Mäkelä
							
						 
						
							 
							
							
							
								
							
								0601813ab6 
								
							
								 
							
						 
						
							
							
								
								text-input: Handle inert seats  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Väinö Mäkelä
							
						 
						
							 
							
							
							
								
							
								bcb69b1827 
								
							
								 
							
						 
						
							
							
								
								primary-selection: Handle inert seats  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Väinö Mäkelä
							
						 
						
							 
							
							
							
								
							
								247e86dca9 
								
							
								 
							
						 
						
							
							
								
								keyboard-shortcuts-inhibit: Handle inert seats  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Väinö Mäkelä
							
						 
						
							 
							
							
							
								
							
								16948c7369 
								
							
								 
							
						 
						
							
							
								
								input-method: Handle inert seats  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Väinö Mäkelä
							
						 
						
							 
							
							
							
								
							
								126222884d 
								
							
								 
							
						 
						
							
							
								
								wlr_idle: Handle inert seats  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Väinö Mäkelä
							
						 
						
							 
							
							
							
								
							
								f988a75a80 
								
							
								 
							
						 
						
							
							
								
								tablet: Handle inert seats  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Väinö Mäkelä
							
						 
						
							 
							
							
							
								
							
								5120addfbb 
								
							
								 
							
						 
						
							
							
								
								data-control: Handle inert seats  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Väinö Mäkelä
							
						 
						
							 
							
							
							
								
							
								f97f4496de 
								
							
								 
							
						 
						
							
							
								
								data-device: Handle inert seats  
							
							 
							
							
 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Väinö Mäkelä
							
						 
						
							 
							
							
							
								
							
								0e5f76186e 
								
							
								 
							
						 
						
							
							
								
								seat: Allow binding to inert seats  
							
							 
							
							... 
							
							
 
							
							If a seat is destroyed while a client is trying to bind it, wlroots
needs to create an inert seat resource instead of crashing. 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								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  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								09c87cec3f 
								
							
								 
							
						 
						
							
							
								
								cursor: fix wl_pointer.set_cursor hotspot updates  
							
							 
							
							... 
							
							
 
							
							A client might update the cursor with the same wl_surface as
before, but with a different hotspot. Don't ignore such updates.
Fixes: 9c9e3f6263  ("cursor: ignore wlr_cursor_set_surface() with same surface") 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Kirill Primak
							
						 
						
							 
							
							
							
								
							
								8c0eeb6a86 
								
							
								 
							
						 
						
							
							
								
								session-lock: fix buffer check  
							
							 
							
							... 
							
							
 
							
							If the first commit has no buffer, the unmap hook won't catch it. Check
in the commit hook instead. 
							
						 
						
							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
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								6668c822b3 
								
							
								 
							
						 
						
							
							
								
								cursor: unset wlr_output_cursor.texture on surface destroy  
							
							 
							
							... 
							
							
 
							
							When the surface is destroyed, its current wlr_texture is about to
get destroyed as well. Reset wlr_output_cursor.texture to prevent
use-after-free.
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3652  
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								9c9e3f6263 
								
							
								 
							
						 
						
							
							
								
								cursor: ignore wlr_cursor_set_surface() with same surface  
							
							 
							
							... 
							
							
 
							
							Avoids damaging the output and rendering the cursor again if it
hasn't changed. 
							
						 
						
							2 years ago  
						
					 
				
					
						
							
							
								 
								Simon Ser
							
						 
						
							 
							
							
							
								
							
								5bcd537ff4 
								
							
								 
							
						 
						
							
							
								
								output/cursor: use new rendering API  
							
							 
							
							
 
							
						 
						
							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