aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--types/output/render.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/types/output/render.c b/types/output/render.c
index 0228c0cd..9e0b77c3 100644
--- a/types/output/render.c
+++ b/types/output/render.c
@@ -186,6 +186,11 @@ bool output_ensure_buffer(struct wlr_output *output,
bool *new_back_buffer) {
assert(*new_back_buffer == false);
+ // If we already have a buffer, we don't need to allocate a new one
+ if (state->committed & WLR_OUTPUT_STATE_BUFFER) {
+ return true;
+ }
+
// If we're lighting up an output or changing its mode, make sure to
// provide a new buffer
bool needs_new_buffer = false;
@@ -198,7 +203,7 @@ bool output_ensure_buffer(struct wlr_output *output,
if (state->committed & WLR_OUTPUT_STATE_RENDER_FORMAT) {
needs_new_buffer = true;
}
- if (!needs_new_buffer || (state->committed & WLR_OUTPUT_STATE_BUFFER)) {
+ if (!needs_new_buffer) {
return true;
}