From df0e75ba05e20a47fa8d2264d990757100ca9983 Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Mon, 2 Aug 2021 16:49:02 +0200 Subject: [PATCH] output: try skipping buffer allocation if the backend allows it When enabling an output, skip the empty buffer allocation if the backend accepts modesets without a buffer. This fixes mode-setting with the noop backend. --- types/wlr_output.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/types/wlr_output.c b/types/wlr_output.c index 47ee55be..394f82cd 100644 --- a/types/wlr_output.c +++ b/types/wlr_output.c @@ -677,6 +677,12 @@ static bool output_ensure_buffer(struct wlr_output *output) { return true; } + // If the backend doesn't necessarily need a new buffer on modeset, don't + // bother allocating one. + if (!output->impl->test || output->impl->test(output)) { + return true; + } + wlr_log(WLR_DEBUG, "Attaching empty buffer to output for modeset"); if (!output_attach_empty_buffer(output)) {