mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2025-11-03 09:01:40 -05:00
output: introduce wlr_output_configure_primary_swapchain()
The goal is to simplify wlr_output by moving all of its rendering API into separate helpers. Here is a first step to sunset wlr_output_attach_render(). Instead, compositors call wlr_output_configure_primary_swapchain(), wlr_swapchain_acquire(), wlr_renderer_begin_with_buffer() and wlr_output_attach_buffer(). Note that compositors can supply a base struct wlr_output_state. This is useful to allocate a buffer suitable for submission with a modeset, for instance. Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3079 References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3197 References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3984
This commit is contained in:
parent
59acc69737
commit
fef8ab22e3
3 changed files with 124 additions and 0 deletions
|
|
@ -563,6 +563,20 @@ void wlr_output_state_set_buffer(struct wlr_output_state *state,
|
|||
struct wlr_buffer *buffer);
|
||||
|
||||
|
||||
/**
|
||||
* Re-configure the swapchain as required for the output's primary buffer.
|
||||
*
|
||||
* If a NULL swapchain is passed in, a new swapchain is allocated. If the
|
||||
* swapchain is already suitable for the output's primary buffer, this function
|
||||
* is a no-op.
|
||||
*
|
||||
* The state describes the output changes the swapchain's buffers will be
|
||||
* committed with. A NULL state indicates no change.
|
||||
*/
|
||||
bool wlr_output_configure_primary_swapchain(struct wlr_output *output,
|
||||
const struct wlr_output_state *state, struct wlr_swapchain **swapchain);
|
||||
|
||||
|
||||
/**
|
||||
* Returns the transform that, when composed with `tr`, gives
|
||||
* `WL_OUTPUT_TRANSFORM_NORMAL`.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue