backend/drm: populate wlr_output.port

This commit is contained in:
Simon Ser 2023-01-25 14:29:59 +01:00
parent 85ab6b7eb2
commit ade7fee5d2
5 changed files with 141 additions and 1 deletions

View file

@ -13,6 +13,7 @@
#include <xf86drm.h>
#include "backend/drm/drm.h"
#include "backend/drm/fb.h"
#include "backend/drm/util.h"
#include "render/drm_format_set.h"
struct wlr_drm_backend *get_drm_backend_from_backend(
@ -227,6 +228,9 @@ struct wlr_backend *wlr_drm_backend_create(struct wlr_session *session,
wlr_log(WLR_INFO, "Initializing DRM backend for %s (%s)", name, version->name);
drmFreeVersion(version);
drmDevice *dev_info = NULL;
drmGetDevice2(dev->fd, 0, &dev_info);
struct wlr_drm_backend *drm = calloc(1, sizeof(*drm));
if (!drm) {
wlr_log_errno(WLR_ERROR, "Allocation failed");
@ -245,6 +249,9 @@ struct wlr_backend *wlr_drm_backend_create(struct wlr_session *session,
drm->fd = dev->fd;
drm->name = name;
drm->bus = get_drm_bus_str(dev_info);
drmFreeDevice(&dev_info);
if (parent != NULL) {
drm->parent = get_drm_backend_from_backend(parent);