summaryrefslogtreecommitdiffstats
path: root/video/out/drm_common.h
diff options
context:
space:
mode:
authorrr- <mkurczew@gmail.com>2015-11-07 12:41:40 +0000
committerwm4 <wm4@nowhere>2015-11-08 14:58:34 +0100
commit67caea357c23443cf583ad401a38bbaae19e3df8 (patch)
treeb1f3a1ca52b1a173d096e1f2b4f4bb36a1f7a58e /video/out/drm_common.h
parentb1893d2084aa3fa83dbf098f46399101e6b21a68 (diff)
downloadmpv-67caea357c23443cf583ad401a38bbaae19e3df8.tar.bz2
mpv-67caea357c23443cf583ad401a38bbaae19e3df8.tar.xz
vo_drm: move initialization to drm_common
Makes KMS initialization procedures reusable so that they can be used by the upcoming DRM EGL adapter.
Diffstat (limited to 'video/out/drm_common.h')
-rw-r--r--video/out/drm_common.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/video/out/drm_common.h b/video/out/drm_common.h
index 5e6c1915ba..da26af7f97 100644
--- a/video/out/drm_common.h
+++ b/video/out/drm_common.h
@@ -18,6 +18,18 @@
#ifndef MP_VT_SWITCHER_H
#define MP_VT_SWITCHER_H
+#include <xf86drm.h>
+#include <xf86drmMode.h>
+
+struct kms {
+ struct mp_log *log;
+ int fd;
+ drmModeConnector *connector;
+ drmModeEncoder *encoder;
+ drmModeModeInfo mode;
+ uint32_t crtc_id;
+};
+
struct vt_switcher {
int tty_fd;
struct mp_log *log;
@@ -33,4 +45,8 @@ void vt_switcher_interrupt_poll(struct vt_switcher *s);
void vt_switcher_acquire(struct vt_switcher *s, void (*handler)(void*), void *user_data);
void vt_switcher_release(struct vt_switcher *s, void (*handler)(void*), void *user_data);
+struct kms *kms_create(struct mp_log *log);
+int kms_setup(struct kms *kms, const char *device_path, int conn_id, int mode_id);
+void kms_destroy(struct kms *kms);
+
#endif