output: pass wlr_output_state to backend

Groundwork for the following commits. The goal is to allow users
to specify their own wlr_output_state instead of wlr_output.pending.
This commit is contained in:
Simon Ser 2022-05-24 19:16:50 +02:00
parent 93ee4c7684
commit 25dd3cc0cd
7 changed files with 75 additions and 69 deletions

View file

@ -665,7 +665,7 @@ bool wlr_output_test(struct wlr_output *output) {
return true;
}
success = output->impl->test(output);
success = output->impl->test(output, &output->pending);
if (!had_buffer) {
output_clear_back_buffer(output);
@ -709,7 +709,7 @@ bool wlr_output_commit(struct wlr_output *output) {
output_clear_back_buffer(output);
}
if (!output->impl->commit(output)) {
if (!output->impl->commit(output, &output->pending)) {
wlr_buffer_unlock(back_buffer);
output_state_clear(&output->pending);
return false;

View file

@ -185,7 +185,7 @@ bool output_ensure_buffer(struct wlr_output *output) {
// 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)) {
if (!output->impl->test || output->impl->test(output, &output->pending)) {
return true;
}
@ -194,7 +194,7 @@ bool output_ensure_buffer(struct wlr_output *output) {
if (!output_attach_empty_buffer(output)) {
goto error;
}
if (!output->impl->test || output->impl->test(output)) {
if (!output->impl->test || output->impl->test(output, &output->pending)) {
return true;
}
@ -215,7 +215,7 @@ bool output_ensure_buffer(struct wlr_output *output) {
if (!output_attach_empty_buffer(output)) {
goto error;
}
if (!output->impl->test(output)) {
if (!output->impl->test(output, &output->pending)) {
goto error;
}
return true;