output: introduce wlr_output_test

This commit is contained in:
Simon Ser 2020-04-02 12:41:19 +02:00 committed by Drew DeVault
parent 1fa9e0203b
commit e041158988
7 changed files with 96 additions and 30 deletions

View file

@ -21,6 +21,7 @@ struct wlr_output_impl {
bool (*move_cursor)(struct wlr_output *output, int x, int y);
void (*destroy)(struct wlr_output *output);
bool (*attach_render)(struct wlr_output *output, int *buffer_age);
bool (*test)(struct wlr_output *output);
bool (*commit)(struct wlr_output *output);
bool (*set_gamma)(struct wlr_output *output, size_t size,
const uint16_t *r, const uint16_t *g, const uint16_t *b);

View file

@ -337,6 +337,14 @@ bool wlr_output_preferred_read_format(struct wlr_output *output,
*/
void wlr_output_set_damage(struct wlr_output *output,
pixman_region32_t *damage);
/**
* Test whether the pending output state would be accepted by the backend. If
* this function returns true, `wlr_output_commit` can only fail due to a
* runtime error.
*
* This function doesn't mutate the pending state.
*/
bool wlr_output_test(struct wlr_output *output);
/**
* Commit the pending output state. If `wlr_output_attach_render` has been
* called, the pending frame will be submitted for display and a `frame` event