mirror of
https://github.com/hyprwm/wlroots-hyprland.git
synced 2024-11-30 00:15:58 +01:00
output: disambiguate the two types of damage
See https://github.com/swaywm/wlroots/issues/1665
This commit is contained in:
parent
57d32d03a8
commit
1dbece74fb
2 changed files with 11 additions and 2 deletions
|
@ -222,11 +222,16 @@ bool wlr_output_attach_render(struct wlr_output *output, int *buffer_age);
|
||||||
bool wlr_output_preferred_read_format(struct wlr_output *output,
|
bool wlr_output_preferred_read_format(struct wlr_output *output,
|
||||||
enum wl_shm_format *fmt);
|
enum wl_shm_format *fmt);
|
||||||
/**
|
/**
|
||||||
* Set the damage region for the frame to be submitted.
|
* Set the damage region for the frame to be submitted. This is the region of
|
||||||
|
* the screen that has changed since the last frame.
|
||||||
*
|
*
|
||||||
* Compositors implementing damage tracking should call this function with the
|
* Compositors implementing damage tracking should call this function with the
|
||||||
* damaged region in output-buffer-local coordinates (ie. scaled and
|
* damaged region in output-buffer-local coordinates (ie. scaled and
|
||||||
* transformed).
|
* transformed).
|
||||||
|
*
|
||||||
|
* This region is not to be confused with the renderer's buffer damage, ie. the
|
||||||
|
* region compositors need to repaint. Compositors usually need to repaint more
|
||||||
|
* than what changed since last frame since multiple render buffers are used.
|
||||||
*/
|
*/
|
||||||
void wlr_output_set_damage(struct wlr_output *output,
|
void wlr_output_set_damage(struct wlr_output *output,
|
||||||
pixman_region32_t *damage);
|
pixman_region32_t *damage);
|
||||||
|
|
|
@ -66,9 +66,13 @@ void wlr_output_damage_destroy(struct wlr_output_damage *output_damage);
|
||||||
* `needs_frame` will be set to true if a frame should be submitted. `damage`
|
* `needs_frame` will be set to true if a frame should be submitted. `damage`
|
||||||
* will be set to the region of the output that needs to be repainted, in
|
* will be set to the region of the output that needs to be repainted, in
|
||||||
* output-buffer-local coordinates.
|
* output-buffer-local coordinates.
|
||||||
|
*
|
||||||
|
* The buffer damage region accumulates all damage since the buffer has last
|
||||||
|
* been swapped. This is not to be confused with the output surface damage,
|
||||||
|
* which only contains the changes between two frames.
|
||||||
*/
|
*/
|
||||||
bool wlr_output_damage_attach_render(struct wlr_output_damage *output_damage,
|
bool wlr_output_damage_attach_render(struct wlr_output_damage *output_damage,
|
||||||
bool *needs_frame, pixman_region32_t *damage);
|
bool *needs_frame, pixman_region32_t *buffer_damage);
|
||||||
/**
|
/**
|
||||||
* Accumulates damage and schedules a `frame` event.
|
* Accumulates damage and schedules a `frame` event.
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in a new issue