mirror of
				https://gitlab.freedesktop.org/wlroots/wlroots.git
				synced 2025-11-03 09:01:40 -05:00 
			
		
		
		
	backend/drm: add wlr_drm_connector_get_id
This allows a compositor to get a KMS connector object ID from a
wlr_output. The compositor can then query more information about
the connector via libdrm.
This gives more freedom to compositors and allows them to read
KMS properties that wlroots doesn't know about. For instance,
they could read the EDID or the suggested_{X,Y} properties and
change their output configuration based on that.
			
			
This commit is contained in:
		
							parent
							
								
									cb6f584496
								
							
						
					
					
						commit
						f17b0f975d
					
				
					 2 changed files with 10 additions and 0 deletions
				
			
		| 
						 | 
					@ -1046,6 +1046,11 @@ bool wlr_output_is_drm(struct wlr_output *output) {
 | 
				
			||||||
	return output->impl == &output_impl;
 | 
						return output->impl == &output_impl;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					uint32_t wlr_drm_connector_get_id(struct wlr_output *output) {
 | 
				
			||||||
 | 
						struct wlr_drm_connector *conn = get_drm_connector_from_output(output);
 | 
				
			||||||
 | 
						return conn->id;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
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,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -28,6 +28,11 @@ struct wlr_backend *wlr_drm_backend_create(struct wl_display *display,
 | 
				
			||||||
bool wlr_backend_is_drm(struct wlr_backend *backend);
 | 
					bool wlr_backend_is_drm(struct wlr_backend *backend);
 | 
				
			||||||
bool wlr_output_is_drm(struct wlr_output *output);
 | 
					bool wlr_output_is_drm(struct wlr_output *output);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Get the KMS connector object ID.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					uint32_t wlr_drm_connector_get_id(struct wlr_output *output);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Add mode to the list of available modes
 | 
					 * Add mode to the list of available modes
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue