mirror of
https://github.com/hyprwm/wlroots-hyprland.git
synced 2024-11-26 14:45:58 +01:00
output: allow modeset with buffer while frame is pending
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3600
This commit is contained in:
parent
ab7eabac84
commit
5079000e49
1 changed files with 4 additions and 1 deletions
|
@ -576,7 +576,10 @@ static uint32_t output_compare_state(struct wlr_output *output,
|
||||||
static bool output_basic_test(struct wlr_output *output,
|
static bool output_basic_test(struct wlr_output *output,
|
||||||
const struct wlr_output_state *state) {
|
const struct wlr_output_state *state) {
|
||||||
if (state->committed & WLR_OUTPUT_STATE_BUFFER) {
|
if (state->committed & WLR_OUTPUT_STATE_BUFFER) {
|
||||||
if (output->frame_pending) {
|
// Modesets will block for the previous frame to complete. Regular
|
||||||
|
// page-flips are non-blocking and require the compositor to wait.
|
||||||
|
if (output->frame_pending &&
|
||||||
|
!(state->committed & (WLR_OUTPUT_STATE_ENABLED | WLR_OUTPUT_STATE_MODE))) {
|
||||||
wlr_log(WLR_DEBUG, "Tried to commit a buffer while a frame is pending");
|
wlr_log(WLR_DEBUG, "Tried to commit a buffer while a frame is pending");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue