From 6977f3a843c7a9fc7b7cd4a5d75232c583132cf8 Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Thu, 2 Apr 2020 14:12:26 +0200 Subject: output: check buffer in wlr_output_test Check that buffer can be scanned out in wlr_output_test instead of wlr_output_attach_buffer. This allows the backend to have access to the whole pending state when performing the check. This brings the wlr_output API more in line with the KMS API. This removes the need for wlr_output_attach_buffer to return a value, and for wlr_output_impl.attach_buffer. --- include/wlr/interfaces/wlr_output.h | 1 - include/wlr/types/wlr_output.h | 5 ++++- 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'include/wlr') diff --git a/include/wlr/interfaces/wlr_output.h b/include/wlr/interfaces/wlr_output.h index c99d0c93..53ff1310 100644 --- a/include/wlr/interfaces/wlr_output.h +++ b/include/wlr/interfaces/wlr_output.h @@ -28,7 +28,6 @@ struct wlr_output_impl { size_t (*get_gamma_size)(struct wlr_output *output); bool (*export_dmabuf)(struct wlr_output *output, struct wlr_dmabuf_attributes *attribs); - bool (*attach_buffer)(struct wlr_output *output, struct wlr_buffer *buffer); }; void wlr_output_init(struct wlr_output *output, struct wlr_backend *backend, diff --git a/include/wlr/types/wlr_output.h b/include/wlr/types/wlr_output.h index 0e2954b9..89ad509c 100644 --- a/include/wlr/types/wlr_output.h +++ b/include/wlr/types/wlr_output.h @@ -314,8 +314,11 @@ bool wlr_output_attach_render(struct wlr_output *output, int *buffer_age); /** * Attach a buffer to the output. Compositors should call `wlr_output_commit` * to submit the new frame. The output needs to be enabled. + * + * Not all backends support direct scan-out on all buffers. Compositors can + * check whether a buffer is supported by calling `wlr_output_test`. */ -bool wlr_output_attach_buffer(struct wlr_output *output, +void wlr_output_attach_buffer(struct wlr_output *output, struct wlr_buffer *buffer); /** * Get the preferred format for reading pixels. -- cgit v1.2.3