output: destroy swapchain when disabled

This avoids consuming GPU memory when an output is disabled.
master
Simon Ser 3 years ago committed by Simon Zeni
parent 6bfb930aa7
commit 456b971099

@ -715,6 +715,15 @@ bool wlr_output_commit(struct wlr_output *output) {
wlr_output_schedule_done(output);
}
// Destroy the swapchains when an output is disabled
if ((output->pending.committed & WLR_OUTPUT_STATE_ENABLED) &&
!output->pending.enabled) {
wlr_swapchain_destroy(output->swapchain);
output->swapchain = NULL;
wlr_swapchain_destroy(output->cursor_swapchain);
output->cursor_swapchain = NULL;
}
// Unset the front-buffer when a new buffer will replace it or when the
// output is getting disabled
if ((output->pending.committed & WLR_OUTPUT_STATE_BUFFER) ||

Loading…
Cancel
Save