aboutsummaryrefslogtreecommitdiff
path: root/include/backend/drm/backend.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/backend/drm/backend.h')
-rw-r--r--include/backend/drm/backend.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/include/backend/drm/backend.h b/include/backend/drm/backend.h
new file mode 100644
index 00000000..caa18bcc
--- /dev/null
+++ b/include/backend/drm/backend.h
@@ -0,0 +1,37 @@
+#ifndef DRM_BACKEND_H
+#define DRM_BACKEND_H
+
+#include <stdbool.h>
+#include <stddef.h>
+#include <EGL/egl.h>
+#include <gbm.h>
+#include <libudev.h>
+
+#include "session.h"
+#include "udev.h"
+#include "event.h"
+#include "drm.h"
+
+struct wlr_drm_backend {
+ int fd;
+ bool paused;
+
+ // Priority Queue (Max-heap)
+ size_t event_cap;
+ size_t event_len;
+ struct wlr_drm_event *events;
+
+ size_t display_len;
+ struct wlr_drm_display *displays;
+
+ uint32_t taken_crtcs;
+
+ struct wlr_drm_renderer renderer;
+ struct wlr_session session;
+ struct wlr_udev udev;
+};
+
+struct wlr_drm_backend *wlr_drm_backend_init(void);
+void wlr_drm_backend_free(struct wlr_drm_backend *backend);
+
+#endif