Moved headers to the correct place.

This commit is contained in:
Scott Anderson 2017-05-01 15:33:42 +12:00
parent aca13320b3
commit 95a553dc51
6 changed files with 0 additions and 160 deletions

54
include/backend/drm/drm.h Normal file
View file

@ -0,0 +1,54 @@
#ifndef DRM_H
#define DRM_H
#include <stdbool.h>
#include <stdint.h>
#include <xf86drmMode.h>
#include <EGL/egl.h>
#include <gbm.h>
enum otd_display_state {
OTD_DISP_INVALID,
OTD_DISP_DISCONNECTED,
OTD_DISP_NEEDS_MODESET,
OTD_DISP_CONNECTED,
};
struct otd_display {
struct otd *otd;
enum otd_display_state state;
uint32_t connector;
char name[16];
size_t num_modes;
drmModeModeInfo *modes;
drmModeModeInfo *active_mode;
uint32_t width;
uint32_t height;
uint32_t crtc;
drmModeCrtc *old_crtc;
struct gbm_surface *gbm;
EGLSurface *egl;
uint32_t fb_id;
bool pageflip_pending;
bool cleanup;
};
bool init_renderer(struct otd *otd);
void destroy_renderer(struct otd *otd);
void scan_connectors(struct otd *otd);
bool modeset_str(struct otd *otd, struct otd_display *disp, const char *str);
void destroy_display_renderer(struct otd *otd, struct otd_display *disp);
void get_drm_event(struct otd *otd);
void rendering_begin(struct otd_display *disp);
void rendering_end(struct otd_display *disp);
#endif

View file

@ -0,0 +1,21 @@
#ifndef EVENT_H
#define EVENT_H
#include <stdbool.h>
enum otd_event_type {
OTD_EV_NONE,
OTD_EV_RENDER,
OTD_EV_DISPLAY_REM,
OTD_EV_DISPLAY_ADD,
};
struct otd_event {
enum otd_event_type type;
struct otd_display *display;
};
bool otd_get_event(struct otd *otd, struct otd_event *restrict ret);
bool event_add(struct otd *otd, struct otd_display *disp, enum otd_event_type type);
#endif

44
include/backend/drm/otd.h Normal file
View file

@ -0,0 +1,44 @@
#ifndef LIBOTD_H
#define LIBOTD_H
#include <stdbool.h>
#include <stddef.h>
#include <EGL/egl.h>
#include <gbm.h>
#include <libudev.h>
#include "session.h"
struct otd {
int fd;
bool paused;
// Priority Queue (Max-heap)
size_t event_cap;
size_t event_len;
struct otd_event *events;
size_t display_len;
struct otd_display *displays;
uint32_t taken_crtcs;
struct gbm_device *gbm;
struct {
EGLDisplay disp;
EGLConfig conf;
EGLContext context;
} egl;
struct otd_session session;
struct udev *udev;
struct udev_monitor *mon;
int udev_fd;
char *drm_path;
};
struct otd *otd_start(void);
void otd_finish(struct otd *otd);
#endif

View file

@ -0,0 +1,25 @@
#ifndef SESSION_H
#define SESSION_H
#include <systemd/sd-bus.h>
#include <stdbool.h>
struct otd_session {
char *id;
char *path;
char *seat;
sd_bus *bus;
};
struct otd;
bool otd_new_session(struct otd *otd);
void otd_close_session(struct otd *otd);
int take_device(struct otd *restrict otd,
const char *restrict path,
bool *restrict paused_out);
void release_device(struct otd *otd, int fd);
#endif

View file

@ -0,0 +1,9 @@
#ifndef UDEV_H
#define UDEV_H
bool otd_udev_start(struct otd *otd);
void otd_udev_finish(struct otd *otd);
void otd_udev_find_gpu(struct otd *otd);
void otd_udev_event(struct otd *otd);
#endif