output: refactor backend API

This updates the backend part of the output API. This is mostly renaming:
make_current becomes attach_render and swap_buffers becomes commit.

This also fixes the RDP backend to support NULL damage.
This commit is contained in:
Simon Ser 2019-04-23 19:26:21 +03:00 committed by Drew DeVault
parent 23e37e7b1d
commit 9a0f8a194c
14 changed files with 136 additions and 108 deletions

View file

@ -26,8 +26,8 @@ struct wlr_output_impl {
int32_t hotspot_x, int32_t hotspot_y, bool update_texture);
bool (*move_cursor)(struct wlr_output *output, int x, int y);
void (*destroy)(struct wlr_output *output);
bool (*make_current)(struct wlr_output *output, int *buffer_age);
bool (*swap_buffers)(struct wlr_output *output, pixman_region32_t *damage);
bool (*attach_render)(struct wlr_output *output, int *buffer_age);
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);
size_t (*get_gamma_size)(struct wlr_output *output);
@ -43,7 +43,7 @@ void wlr_output_update_mode(struct wlr_output *output,
void wlr_output_update_custom_mode(struct wlr_output *output, int32_t width,
int32_t height, int32_t refresh);
void wlr_output_update_enabled(struct wlr_output *output, bool enabled);
void wlr_output_update_needs_swap(struct wlr_output *output);
void wlr_output_update_needs_commit(struct wlr_output *output);
void wlr_output_damage_whole(struct wlr_output *output);
void wlr_output_send_frame(struct wlr_output *output);
void wlr_output_send_present(struct wlr_output *output,

View file

@ -97,7 +97,7 @@ struct wlr_output {
enum wl_output_subpixel subpixel;
enum wl_output_transform transform;
bool needs_swap;
bool needs_commit;
// damage for cursors and fullscreen surface, in output-local coordinates
pixman_region32_t damage;
bool frame_pending;
@ -110,7 +110,7 @@ struct wlr_output {
struct wl_signal frame;
// Emitted when buffers need to be swapped (because software cursors or
// fullscreen damage or because of backend-specific logic)
struct wl_signal needs_swap;
struct wl_signal needs_commit;
// Emitted right before buffer swap
struct wl_signal swap_buffers; // wlr_output_event_swap_buffers
// Emitted right after the buffer has been presented to the user

View file

@ -48,7 +48,7 @@ struct wlr_output_damage {
struct wl_listener output_mode;
struct wl_listener output_transform;
struct wl_listener output_scale;
struct wl_listener output_needs_swap;
struct wl_listener output_needs_commit;
struct wl_listener output_frame;
};