aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authoremersion <contact@emersion.fr>2017-12-17 18:02:55 +0100
committeremersion <contact@emersion.fr>2017-12-17 18:02:55 +0100
commit0256de00029e8f17da0514e14460fb9ff2283433 (patch)
treefed0f00d1888d0c6509b071668a03a372691f9f0 /include
parentb852fb9a2b3842dc6d122a2483c11322beb7a489 (diff)
Add full refresh rate support to custom modes
Diffstat (limited to 'include')
-rw-r--r--include/backend/headless.h2
-rw-r--r--include/wlr/backend/headless.h1
-rw-r--r--include/wlr/interfaces/wlr_output.h6
-rw-r--r--include/wlr/types/wlr_output.h1
4 files changed, 8 insertions, 2 deletions
diff --git a/include/backend/headless.h b/include/backend/headless.h
index e4cc85e4..6aaf5f76 100644
--- a/include/backend/headless.h
+++ b/include/backend/headless.h
@@ -11,6 +11,7 @@ struct wlr_headless_backend {
struct wl_display *display;
struct wl_list outputs;
struct wl_listener display_destroy;
+ bool started;
};
struct wlr_headless_backend_output {
@@ -21,6 +22,7 @@ struct wlr_headless_backend_output {
void *egl_surface;
struct wl_event_source *frame_timer;
+ int frame_delay; // ms
};
#endif
diff --git a/include/wlr/backend/headless.h b/include/wlr/backend/headless.h
index 475c2f6c..245a65dc 100644
--- a/include/wlr/backend/headless.h
+++ b/include/wlr/backend/headless.h
@@ -9,5 +9,6 @@ struct wlr_output *wlr_headless_add_output(struct wlr_backend *backend,
unsigned int width, unsigned int height);
struct wlr_input_device *wlr_headless_add_input(struct wlr_backend *backend,
enum wlr_input_device_type type);
+bool wlr_backend_is_headless(struct wlr_backend *backend);
#endif
diff --git a/include/wlr/interfaces/wlr_output.h b/include/wlr/interfaces/wlr_output.h
index 1cfe7568..6d71f9b6 100644
--- a/include/wlr/interfaces/wlr_output.h
+++ b/include/wlr/interfaces/wlr_output.h
@@ -28,8 +28,10 @@ struct wlr_output_impl {
void wlr_output_init(struct wlr_output *output, struct wlr_backend *backend,
const struct wlr_output_impl *impl);
void wlr_output_free(struct wlr_output *output);
-void wlr_output_update_size(struct wlr_output *output, int32_t width,
- int32_t height);
+void wlr_output_update_mode(struct wlr_output *output,
+ struct wlr_output_mode *mode);
+void wlr_output_update_custom_mode(struct wlr_output *output, int32_t width,
+ int32_t height, int32_t refresh);
struct wl_global *wlr_output_create_global(struct wlr_output *wlr_output,
struct wl_display *display);
void wlr_output_destroy_global(struct wlr_output *wlr_output);
diff --git a/include/wlr/types/wlr_output.h b/include/wlr/types/wlr_output.h
index 037fa515..a974a154 100644
--- a/include/wlr/types/wlr_output.h
+++ b/include/wlr/types/wlr_output.h
@@ -47,6 +47,7 @@ struct wlr_output {
char serial[16];
float scale;
int32_t width, height;
+ int32_t refresh; // mHz
int32_t phys_width, phys_height; // mm
enum wl_output_subpixel subpixel;
enum wl_output_transform transform;