6c54c34713 
								
							
								 
							
						 
						
							
							
								
								output: Mutate frame_pending needs_frame when there is an explicit output commit  
							
							... 
							
							
 
							
							These states would be set if output_init is invoked with a enabled state.
This would make frame_pending == true which means wlroots will ignore
any further frame events and the compositor will appear dead. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								5aea90264f 
								
							
								 
							
						 
						
							
							
								
								render/vulkan: fix validation error with vkCmdBlitImage  
							
							... 
							
							
 
							
							Specfically, VUID-vkCmdBlitImage-srcImage-00247. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								65bbbbbf0c 
								
							
								 
							
						 
						
							
							
								
								render/vulkan: de-duplicate VkImageUsageFlags  
							
							... 
							
							
 
							
							The flags passed to vkCreateImage() must match the flags used when
querying formats. Make this clearer by using the same variable. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								b18a849fc3 
								
							
								 
							
						 
						
							
							
								
								wlr_scene: Use cached node coordinates where possible  
							
							... 
							
							
 
							
							Avoids recalculating node coordinates. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								9be72ec4ca 
								
							
								 
							
						 
						
							
							
								
								backend/drm: Compute custom mode correctly  
							
							
 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								e315068b98 
								
							
								 
							
						 
						
							
							
								
								xdg-popup: validate parent  
							
							... 
							
							
 
							
							This matches Mutter's behavior.
Fixes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3576  
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								2926acf60d 
								
							
								 
							
						 
						
							
							
								
								tinywl: set minimum wlroots version in Makefile  
							
							
 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								717ded9bb0 
								
							
								 
							
						 
						
							
							
								
								backend/drm: drop no-op shortcut  
							
							... 
							
							
 
							
							Since e5fc8cd4c7https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3719  
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								7bf6c1fc6c 
								
							
								 
							
						 
						
							
							
								
								render/pass: ensure rect has positive size  
							
							... 
							
							
 
							
							Ported from wlr_render_rect(). 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								4565b07484 
								
							
								 
							
						 
						
							
							
								
								Unify signal data docs  
							
							... 
							
							
 
							
							`// struct <name>` appears roughly 4 times as often as
`// struct <name> *`. Switch to the former variant everywhere. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								a94168b5fe 
								
							
								 
							
						 
						
							
							
								
								render: ensure wlr_render_rect_options->box is nonempty  
							
							... 
							
							
 
							
							This optimization also fixes an validation error with the Vulkan
renderer by ensuring vkCmdClearAttachments does not receive empty
regions. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								e5fc8cd4c7 
								
							
								 
							
						 
						
							
							
								
								output: trigger frame/present events on all commits on enabled output  
							
							... 
							
							
 
							
							Up until now, frame/present events were only triggered when the
user submitted a buffer. Change the wlr_output API so that these
events are triggered when any commit is applied on an enabled
output.
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3708  
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								462f04db9e 
								
							
								 
							
						 
						
							
							
								
								output: don't forbid multiple commits per frame  
							
							... 
							
							
 
							
							It's still not possible to commit while a page flip is pending in DRM,
but we don't need to enforce that here and allowing it through the
common interface can be useful for other backends.
This decouples commits from frame scheduling, which is going to make the
new frame schedulers easier to implement. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								fc81d06add 
								
							
								 
							
						 
						
							
							
								
								backend/drm: report !presented if session is inactive  
							
							
 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								f7afef0b1f 
								
							
								 
							
						 
						
							
							
								
								backend/drm: don't set frame_pending on modeset  
							
							... 
							
							
 
							
							https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3664#note_2020392 
we're gonna have to trust Simon on this one 🤞  
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								11aba53ead 
								
							
								 
							
						 
						
							
							
								
								render: only open DRM render node if necessary  
							
							... 
							
							
 
							
							Only open a render node if we actually need one (ie, if we're about
to attempt GLES2 or Vulkan). 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								f5917f0247 
								
							
								 
							
						 
						
							
							
								
								scene_output_layout: make output adding explicit  
							
							... 
							
							
 
							
							Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3709  
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								91f813ffb7 
								
							
								 
							
						 
						
							
							
								
								output_layout: return wlr_output_layout_output when adding output  
							
							... 
							
							
 
							
							This will be used for the scene-graph integration. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								e85c79051c 
								
							
								 
							
						 
						
							
							
								
								wlr_output: Set current_mode during new custom mode  
							
							... 
							
							
 
							
							When setting a custom mode current_mode will not be reset. That means
that next time the compositor tries to reset back from the custom mode,
it will compare against the stale current_mode and unset
WLR_OUTPUT_STATE_MODE erroneously. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								72787db98a 
								
							
								 
							
						 
						
							
							
								
								compositor: drop wlr_surface_destroy_role_object()  
							
							... 
							
							
 
							
							This function is now unnecessary. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								bd5c4f4a4a 
								
							
								 
							
						 
						
							
							
								
								xdg-shell: rework roles  
							
							
 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								e5300c225e 
								
							
								 
							
						 
						
							
							
								
								xdg-popup: avoid using wlr_surface_destroy_role_object()  
							
							
 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								10ba8ebc70 
								
							
								 
							
						 
						
							
							
								
								Don't assume xdg_surface.{toplevel,popup} is non-NULL  
							
							... 
							
							
 
							
							This assumption will become incorrect with future commits. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								f0cc712af1 
								
							
								 
							
						 
						
							
							
								
								xdg-shell: don't return anything from create_xdg_surface()  
							
							
 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								ce615a44c0 
								
							
								 
							
						 
						
							
							
								
								egl: Don't assume display is owned when KHR_display_reference is unsupported  
							
							... 
							
							
 
							
							We could potentially leak a display here, but not really because the
display acts as a singleton that will be returned next time a renderer
of the same device is created. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								91a1797a96 
								
							
								 
							
						 
						
							
							
								
								egl: Remove dead code  
							
							... 
							
							
 
							
							Display is always NULL here since egl_init is always last to be called. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								9b8cd1f5d6 
								
							
								 
							
						 
						
							
							
								
								buffer: make wlr_client_buffer functions private  
							
							... 
							
							
 
							
							We want to eventually remove this. Let's make sure compositors
don't start using either of these functions. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								6c1a2a6657 
								
							
								 
							
						 
						
							
							
								
								backend/headless: fix broken output frame events  
							
							... 
							
							
 
							
							frame_delay was set to 0.
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3712  
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								5f6912595e 
								
							
								 
							
						 
						
							
							
								
								renderer/vulkan: Defer device lost signal until end of pass  
							
							... 
							
							
 
							
							If the compositor were to try to handle a GPU reset within the lost
signal (by recreating the renderer) we should avoid referencing renderer
resources after the lost signal. This prevents use after free for such
compositors. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								bdc34401ba 
								
									
								
							
								 
							
						 
						
							
							
								
								xdg-decoration: store an xdg_toplevel instead of xdg_surface  
							
							... 
							
							
 
							
							Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3685  
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								22b6581a18 
								
							
								 
							
						 
						
							
							
								
								backend/wayland: wait for xdg_surface.configure explicitly  
							
							... 
							
							
 
							
							We were assuming a roundtrip was enough to get an
xdg_surface.configure event. That's not the case, the protocol
spec doesn't make such a guarantee. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								d3d3e19ffd 
								
							
								 
							
						 
						
							
							
								
								render: split render pass API into separate header  
							
							... 
							
							
 
							
							Keeps the main wlr_renderer.h a tad more tidy. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								568b1943b9 
								
							
								 
							
						 
						
							
							
								
								wlr_output: Nuke wlr_output_update_enabled  
							
							
 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								63351cf81f 
								
							
								 
							
						 
						
							
							
								
								output: Schedule mode updates to happen with rest of output events  
							
							
 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								f042de3f51 
								
							
								 
							
						 
						
							
							
								
								output: Inline wlr_output_update_{custom,}_mode  
							
							
 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								f1ba70ffa6 
								
							
								 
							
						 
						
							
							
								
								wlr_output: Make wlr_output_update_{custom,}_mode private  
							
							... 
							
							
 
							
							Backends should be using wlr_output_send_request_state to request
modesets to the compositor. This will be inlined and removed next commit. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								8f0d4c9332 
								
							
								 
							
						 
						
							
							
								
								backend/drm: Use output state to set init mode  
							
							
 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								a34d349963 
								
							
								 
							
						 
						
							
							
								
								backend/drm: Move output variable up in connect_drm_connector  
							
							
 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								a60361050e 
								
							
								 
							
						 
						
							
							
								
								backend/headless: Use output state to set init custom mode  
							
							
 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								83d9764ed8 
								
							
								 
							
						 
						
							
							
								
								backend/wayland: Use output state to set init custom mode  
							
							
 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								869b0f14bc 
								
							
								 
							
						 
						
							
							
								
								backend/x11: Use output state to set init custom mode  
							
							
 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								6cda3e251c 
								
							
								 
							
						 
						
							
							
								
								output: Add initialization state to wlr_output_init  
							
							
 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								8f67446cc7 
								
							
								 
							
						 
						
							
							
								
								output: Extract common commit logic  
							
							
 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								8836e12988 
								
							
								 
							
						 
						
							
							
								
								examples/embedded: new example  
							
							
 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								8678633fc9 
								
							
								 
							
						 
						
							
							
								
								backend/wayland: add wlr_wl_output_create_from_surface()  
							
							... 
							
							
 
							
							By using this function, a compositor can display a wlroots
compositor in a sub-surface, for instance. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								4f88886199 
								
							
								 
							
						 
						
							
							
								
								backend/wayland: tag wl_surface  
							
							... 
							
							
 
							
							When integrating wlroots with another toolkit, wlroots may receive
wl_pointer.enter events for surfaces not backed by a wlr_output.
Ignore such surfaces by tagging the ones we're aware of with
wl_proxy_set_tag(). 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								dd24991c9e 
								
							
								 
							
						 
						
							
							
								
								backend/wayland: take existing wl_display in wlr_wl_backend_create()  
							
							... 
							
							
 
							
							This allows compositors to use an existing wl_display, to integrate
wlroots with an existing toolkit. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								664ec59095 
								
							
								 
							
						 
						
							
							
								
								renderer: Sanity check texture source bounds  
							
							
 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								aee31edaad 
								
							
								 
							
						 
						
							
							
								
								screencopy_v1: Implement copy regions with gpu blit path  
							
							
 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								b4cbaa4549 
								
							
								 
							
						 
						
							
							
								
								screencopy_v1: Use new renderer API for gpu blit path  
							
							
 
							
						 
						
							2 years ago