Add full refresh rate support to custom modes

This commit is contained in:
emersion 2017-12-17 18:02:55 +01:00
parent b852fb9a2b
commit 0256de0002
No known key found for this signature in database
GPG key ID: 0FDE7BE0E88F5E48
11 changed files with 98 additions and 40 deletions

View file

@ -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

View file

@ -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

View file

@ -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);

View file

@ -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;