mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2025-11-01 22:58:38 -04:00
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:
parent
23e37e7b1d
commit
9a0f8a194c
14 changed files with 136 additions and 108 deletions
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue