@ -671,26 +671,6 @@ static bool drm_connector_pageflip_renderer(struct wlr_drm_connector *conn) {
 
			
		
	
		
		
			
				
					
						return  drm_crtc_page_flip ( conn ) ; 
	return  drm_crtc_page_flip ( conn ) ; 
 
			
		
	
		
		
			
				
					
					} }  
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					static  void  drm_connector_start_renderer ( struct  wlr_drm_connector  * conn )  {  
			
		
	
		
		
			
				
					
						struct  wlr_drm_crtc  * crtc  =  conn - > crtc ; 
 
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
						if  ( conn - > state  ! =  WLR_DRM_CONN_CONNECTED )  { 
 
			
		
	
		
		
			
				
					
							return ; 
 
			
		
	
		
		
			
				
					
						} 
 
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
						wlr_log ( WLR_DEBUG ,  " Starting renderer on output '%s' " ,  conn - > output . name ) ; 
 
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
						struct  wlr_drm_mode  * mode  =  ( struct  wlr_drm_mode  * ) conn - > output . current_mode ; 
 
			
		
	
		
		
			
				
					
						memcpy ( & crtc - > mode ,  & mode - > drm_mode ,  sizeof ( drmModeModeInfo ) ) ; 
 
			
		
	
		
		
			
				
					
						crtc - > active  =  true ; 
 
			
		
	
		
		
			
				
					
						crtc - > pending  | =  WLR_DRM_CRTC_MODE ; 
 
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
						if  ( ! drm_connector_pageflip_renderer ( conn ) )  { 
 
			
		
	
		
		
			
				
					
							wl_event_source_timer_update ( conn - > retry_pageflip , 
 
			
		
	
		
		
			
				
					
								1000000.0f  /  conn - > output . current_mode - > refresh ) ; 
 
			
		
	
		
		
			
				
					
						} 
 
			
		
	
		
		
			
				
					
					}  
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					static  bool  drm_connector_init_renderer ( struct  wlr_drm_connector  * conn , static  bool  drm_connector_init_renderer ( struct  wlr_drm_connector  * conn ,  
			
		
	
		
		
			
				
					
							struct  wlr_drm_mode  * mode )  { 
		struct  wlr_drm_mode  * mode )  { 
 
			
		
	
		
		
			
				
					
						struct  wlr_drm_backend  * drm  = 
	struct  wlr_drm_backend  * drm  = 
 
			
		
	
	
		
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
					@ -1014,7 +994,6 @@ static void drm_connector_destroy(struct wlr_output *output) {
 
			
		
	
		
		
			
				
					
						struct  wlr_drm_connector  * conn  =  get_drm_connector_from_output ( output ) ; 
	struct  wlr_drm_connector  * conn  =  get_drm_connector_from_output ( output ) ; 
 
			
		
	
		
		
			
				
					
						drm_connector_cleanup ( conn ) ; 
	drm_connector_cleanup ( conn ) ; 
 
			
		
	
		
		
			
				
					
						drmModeFreeCrtc ( conn - > old_crtc ) ; 
	drmModeFreeCrtc ( conn - > old_crtc ) ; 
 
			
		
	
		
		
			
				
					
						wl_event_source_remove ( conn - > retry_pageflip ) ; 
 
			
		
	
		
		
			
				
					
						wl_list_remove ( & conn - > link ) ; 
	wl_list_remove ( & conn - > link ) ; 
 
			
		
	
		
		
			
				
					
						free ( conn ) ; 
	free ( conn ) ; 
 
			
		
	
		
		
			
				
					
					} }  
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
						
					 
					@ -1035,13 +1014,6 @@ bool wlr_output_is_drm(struct wlr_output *output) {
 
			
		
	
		
		
			
				
					
						return  output - > impl  = =  & output_impl ; 
	return  output - > impl  = =  & output_impl ; 
 
			
		
	
		
		
			
				
					
					} }  
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					static  int  retry_pageflip ( void  * data )  {  
			
		
	
		
		
			
				
					
						struct  wlr_drm_connector  * conn  =  data ; 
 
			
		
	
		
		
			
				
					
						wlr_log ( WLR_INFO ,  " %s: Retrying pageflip " ,  conn - > output . name ) ; 
 
			
		
	
		
		
			
				
					
						drm_connector_start_renderer ( conn ) ; 
 
			
		
	
		
		
			
				
					
						return  0 ; 
 
			
		
	
		
		
			
				
					
					}  
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					static  const  int32_t  subpixel_map [ ]  =  { static  const  int32_t  subpixel_map [ ]  =  {  
			
		
	
		
		
			
				
					
						[ DRM_MODE_SUBPIXEL_UNKNOWN ]  =  WL_OUTPUT_SUBPIXEL_UNKNOWN , 
	[ DRM_MODE_SUBPIXEL_UNKNOWN ]  =  WL_OUTPUT_SUBPIXEL_UNKNOWN , 
 
			
		
	
		
		
			
				
					
						[ DRM_MODE_SUBPIXEL_HORIZONTAL_RGB ]  =  WL_OUTPUT_SUBPIXEL_HORIZONTAL_RGB , 
	[ DRM_MODE_SUBPIXEL_HORIZONTAL_RGB ]  =  WL_OUTPUT_SUBPIXEL_HORIZONTAL_RGB , 
 
			
		
	
	
		
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
					@ -1294,10 +1266,6 @@ void scan_drm_connectors(struct wlr_drm_backend *drm) {
 
			
		
	
		
		
			
				
					
								wlr_output_init ( & wlr_conn - > output ,  & drm - > backend ,  & output_impl , 
			wlr_output_init ( & wlr_conn - > output ,  & drm - > backend ,  & output_impl , 
 
			
		
	
		
		
			
				
					
									drm - > display ) ; 
				drm - > display ) ; 
 
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
								struct  wl_event_loop  * ev  =  wl_display_get_event_loop ( drm - > display ) ; 
 
			
		
	
		
		
			
				
					
								wlr_conn - > retry_pageflip  =  wl_event_loop_add_timer ( ev ,  retry_pageflip , 
 
			
		
	
		
		
			
				
					
									wlr_conn ) ; 
 
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
								wlr_conn - > state  =  WLR_DRM_CONN_DISCONNECTED ; 
			wlr_conn - > state  =  WLR_DRM_CONN_DISCONNECTED ; 
 
			
		
	
		
		
			
				
					
								wlr_conn - > id  =  drm_conn - > connector_id ; 
			wlr_conn - > id  =  drm_conn - > connector_id ;