mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2026-04-16 08:21:40 -04:00
output: drop wlr_output.needs_frame
The frame scheduler is responsible for de-duplicating needs_frame events.
This commit is contained in:
parent
0967873a20
commit
d99ee40a1d
3 changed files with 1 additions and 11 deletions
|
|
@ -219,8 +219,6 @@ struct wlr_output {
|
||||||
// true, changes may either succeed or fail.
|
// true, changes may either succeed or fail.
|
||||||
bool adaptive_sync_supported;
|
bool adaptive_sync_supported;
|
||||||
|
|
||||||
bool needs_frame;
|
|
||||||
|
|
||||||
// true for example with VR headsets
|
// true for example with VR headsets
|
||||||
bool non_desktop;
|
bool non_desktop;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -774,10 +774,6 @@ bool output_prepare_commit(struct wlr_output *output, const struct wlr_output_st
|
||||||
void output_apply_commit(struct wlr_output *output, const struct wlr_output_state *state) {
|
void output_apply_commit(struct wlr_output *output, const struct wlr_output_state *state) {
|
||||||
output->commit_seq++;
|
output->commit_seq++;
|
||||||
|
|
||||||
if (output_pending_enabled(output, state)) {
|
|
||||||
output->needs_frame = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
output_apply_state(output, state);
|
output_apply_state(output, state);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -945,10 +941,6 @@ size_t wlr_output_get_gamma_size(struct wlr_output *output) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void wlr_output_update_needs_frame(struct wlr_output *output) {
|
void wlr_output_update_needs_frame(struct wlr_output *output) {
|
||||||
if (output->needs_frame) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
output->needs_frame = true;
|
|
||||||
wl_signal_emit_mutable(&output->events.needs_frame, output);
|
wl_signal_emit_mutable(&output->events.needs_frame, output);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2144,7 +2144,7 @@ static enum scene_direct_scanout_result scene_entry_try_direct_scanout(
|
||||||
}
|
}
|
||||||
|
|
||||||
bool wlr_scene_output_needs_frame(struct wlr_scene_output *scene_output) {
|
bool wlr_scene_output_needs_frame(struct wlr_scene_output *scene_output) {
|
||||||
return scene_output->output->needs_frame ||
|
return scene_output->frame_scheduler->needs_frame ||
|
||||||
!pixman_region32_empty(&scene_output->pending_commit_damage) ||
|
!pixman_region32_empty(&scene_output->pending_commit_damage) ||
|
||||||
scene_output->gamma_lut_changed;
|
scene_output->gamma_lut_changed;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue