From e65f83d7f2f29f54b0cae27807e3b6a9b2299a10 Mon Sep 17 00:00:00 2001 From: Drew DeVault Date: Wed, 14 Jun 2017 16:17:05 -0400 Subject: Add more DRM info to wlr_output Yes I know this is the libinput branch, I thought this would be useful for a libinput feature (but it wasn't) --- backend/drm/drm.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'backend/drm') diff --git a/backend/drm/drm.c b/backend/drm/drm.c index d6a3f8a2..225035b7 100644 --- a/backend/drm/drm.c +++ b/backend/drm/drm.c @@ -457,6 +457,31 @@ void wlr_drm_scan_connectors(struct wlr_backend_state *state) { snprintf(wlr_output->name, sizeof(wlr_output->name), "%s-%"PRIu32, conn_name[conn->connector_type], conn->connector_type_id); + wlr_output->phys_width = conn->mmWidth; + wlr_output->phys_height = conn->mmHeight; + switch (conn->subpixel) { + case DRM_MODE_SUBPIXEL_UNKNOWN: + wlr_output->subpixel = WL_OUTPUT_SUBPIXEL_UNKNOWN; + break; + case DRM_MODE_SUBPIXEL_HORIZONTAL_RGB: + wlr_output->subpixel = WL_OUTPUT_SUBPIXEL_HORIZONTAL_RGB; + break; + case DRM_MODE_SUBPIXEL_HORIZONTAL_BGR: + wlr_output->subpixel = WL_OUTPUT_SUBPIXEL_HORIZONTAL_BGR; + break; + case DRM_MODE_SUBPIXEL_VERTICAL_RGB: + wlr_output->subpixel = WL_OUTPUT_SUBPIXEL_VERTICAL_RGB; + break; + case DRM_MODE_SUBPIXEL_VERTICAL_BGR: + wlr_output->subpixel = WL_OUTPUT_SUBPIXEL_VERTICAL_BGR; + break; + case DRM_MODE_SUBPIXEL_NONE: + default: + wlr_output->subpixel = WL_OUTPUT_SUBPIXEL_NONE; + break; + } + strcpy(wlr_output->make, "drm"); + strcpy(wlr_output->model, "unknown"); drmModeEncoder *curr_enc = drmModeGetEncoder(state->fd, conn->encoder_id); if (curr_enc) { -- cgit v1.2.3