mirror of
https://github.com/hyprwm/wlroots-hyprland.git
synced 2024-11-25 22:25:58 +01:00
wlr_scene: Reset damage ring bounds every frame
This fixes damage issues when a output state attempts to change the transformed size in some way
This commit is contained in:
parent
4391845910
commit
96b95bf775
1 changed files with 3 additions and 3 deletions
|
@ -1215,9 +1215,6 @@ static void scene_node_output_update(struct wlr_scene_node *node,
|
||||||
}
|
}
|
||||||
|
|
||||||
static void scene_output_update_geometry(struct wlr_scene_output *scene_output) {
|
static void scene_output_update_geometry(struct wlr_scene_output *scene_output) {
|
||||||
int width, height;
|
|
||||||
wlr_output_transformed_resolution(scene_output->output, &width, &height);
|
|
||||||
wlr_damage_ring_set_bounds(&scene_output->damage_ring, width, height);
|
|
||||||
wlr_damage_ring_add_whole(&scene_output->damage_ring);
|
wlr_damage_ring_add_whole(&scene_output->damage_ring);
|
||||||
wlr_output_schedule_frame(scene_output->output);
|
wlr_output_schedule_frame(scene_output->output);
|
||||||
|
|
||||||
|
@ -1703,6 +1700,9 @@ bool wlr_scene_output_build_state(struct wlr_scene_output *scene_output,
|
||||||
pixman_region32_fini(&acc_damage);
|
pixman_region32_fini(&acc_damage);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wlr_damage_ring_set_bounds(&scene_output->damage_ring,
|
||||||
|
render_data.trans_width, render_data.trans_height);
|
||||||
|
|
||||||
if (!wlr_output_configure_primary_swapchain(output, state, &output->swapchain)) {
|
if (!wlr_output_configure_primary_swapchain(output, state, &output->swapchain)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue