mirror of
				https://gitlab.freedesktop.org/wlroots/wlroots.git
				synced 2025-11-03 09:01:40 -05:00 
			
		
		
		
	output: stop assuming a frame is pending in init
- The DRM backend initially doesn't have a frame scheduled initially. However the compositor is expected to set a mode to start the rendering loop (frame_pending is set to true in drm_crtc_pageflip). - The headless and X11 backends have a timer to schedule frames, so they ignore this hint completely. - The Wayland backend renders a fake frame to start the rendering loop. It's the only case where a frame is pending on init, move the assumption there.
This commit is contained in:
		
							parent
							
								
									4c363a564f
								
							
						
					
					
						commit
						768131e488
					
				
					 2 changed files with 1 additions and 2 deletions
				
			
		| 
						 | 
					@ -582,6 +582,7 @@ struct wlr_output *wlr_wl_output_create(struct wlr_backend *wlr_backend) {
 | 
				
			||||||
			NULL)) {
 | 
								NULL)) {
 | 
				
			||||||
		goto error;
 | 
							goto error;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
						wlr_output->frame_pending = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	wl_list_insert(&backend->outputs, &output->link);
 | 
						wl_list_insert(&backend->outputs, &output->link);
 | 
				
			||||||
	wlr_output_update_enabled(wlr_output, true);
 | 
						wlr_output_update_enabled(wlr_output, true);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -358,8 +358,6 @@ void wlr_output_init(struct wlr_output *output, struct wlr_backend *backend,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	output->display_destroy.notify = handle_display_destroy;
 | 
						output->display_destroy.notify = handle_display_destroy;
 | 
				
			||||||
	wl_display_add_destroy_listener(display, &output->display_destroy);
 | 
						wl_display_add_destroy_listener(display, &output->display_destroy);
 | 
				
			||||||
 | 
					 | 
				
			||||||
	output->frame_pending = true;
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void wlr_output_destroy(struct wlr_output *output) {
 | 
					void wlr_output_destroy(struct wlr_output *output) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue