DRM resource initalisation

This commit is contained in:
Scott Anderson 2017-07-20 20:51:59 +12:00
parent 601bbad5d8
commit 7b772e1a4b
5 changed files with 238 additions and 9 deletions

View file

@ -12,8 +12,8 @@
#include <wlr/interfaces/wlr_output.h>
#include <wlr/util/list.h>
#include <wlr/util/log.h>
#include "backend/udev.h"
#include "backend/drm.h"
#include <backend/udev.h>
#include "drm.h"
static bool wlr_drm_backend_init(struct wlr_backend_state *state) {
wlr_drm_scan_connectors(state);
@ -131,6 +131,15 @@ struct wlr_backend *wlr_drm_backend_create(struct wl_display *display,
state->session_signal.notify = session_signal;
wl_signal_add(&session->session_signal, &state->session_signal);
if (drmSetClientCap(state->fd, DRM_CLIENT_CAP_UNIVERSAL_PLANES, 1)) {
wlr_log(L_INFO, "DRM universal planes unsupported");
}
if (drmSetClientCap(state->fd, DRM_CLIENT_CAP_ATOMIC, 1)) {
wlr_log(L_INFO, "Atomic modesetting unsupported");
}
wlr_drm_init_resources(state);
// TODO: what is the difference between the per-output renderer and this
// one?
if (!wlr_drm_renderer_init(&state->renderer, state->fd)) {