chiark / gitweb /
terminal: allow user-context to be retrieved/stored
[elogind.git] / src / libsystemd-terminal / grdev-internal.h
index 0064f0be02738fd553d088706c99f44112b49a95..ee182695ce1bc9f915cc644949cc5073e5e43c6f 100644 (file)
@@ -47,6 +47,7 @@ typedef struct grdev_card               grdev_card;
 bool grdev_is_drm_card(grdev_card *card);
 grdev_card *grdev_find_drm_card(grdev_session *session, dev_t devnum);
 int grdev_drm_card_new(grdev_card **out, grdev_session *session, struct udev_device *ud);
 bool grdev_is_drm_card(grdev_card *card);
 grdev_card *grdev_find_drm_card(grdev_session *session, dev_t devnum);
 int grdev_drm_card_new(grdev_card **out, grdev_session *session, struct udev_device *ud);
+void grdev_drm_card_hotplug(grdev_card *card, struct udev_device *ud);
 
 /*
  * Displays
 
 /*
  * Displays
@@ -93,6 +94,7 @@ DEFINE_TRIVIAL_CLEANUP_FUNC(grdev_tile*, grdev_tile_free);
 struct grdev_display {
         grdev_session *session;
         char *name;
 struct grdev_display {
         grdev_session *session;
         char *name;
+        void *userdata;
 
         size_t n_leafs;
         grdev_tile *tile;
 
         size_t n_leafs;
         grdev_tile *tile;
@@ -141,9 +143,11 @@ struct grdev_pipe {
 
         grdev_tile *tile;
         grdev_display_cache *cache;
 
         grdev_tile *tile;
         grdev_display_cache *cache;
+        sd_event_source *vsync_src;
 
         uint32_t width;
         uint32_t height;
 
         uint32_t width;
         uint32_t height;
+        uint32_t vrefresh;
 
         size_t max_fbs;
         grdev_fb *front;
 
         size_t max_fbs;
         grdev_fb *front;
@@ -170,6 +174,7 @@ DEFINE_TRIVIAL_CLEANUP_FUNC(grdev_pipe*, grdev_pipe_free);
 
 void grdev_pipe_ready(grdev_pipe *pipe, bool running);
 void grdev_pipe_frame(grdev_pipe *pipe);
 
 void grdev_pipe_ready(grdev_pipe *pipe, bool running);
 void grdev_pipe_frame(grdev_pipe *pipe);
+void grdev_pipe_schedule(grdev_pipe *pipe, uint64_t frames);
 
 /*
  * Cards
 
 /*
  * Cards