aboutsummaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2023-08-23render: ensure wlr_render_rect_options->box is nonemptyManuel Stoeckl
This optimization also fixes an validation error with the Vulkan renderer by ensuring vkCmdClearAttachments does not receive empty regions.
2023-08-23output: trigger frame/present events on all commits on enabled outputSimon Ser
Up until now, frame/present events were only triggered when the user submitted a buffer. Change the wlr_output API so that these events are triggered when any commit is applied on an enabled output. Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3708
2023-08-22scene_output_layout: make output adding explicitRose Hudson
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3709
2023-08-22output_layout: return wlr_output_layout_output when adding outputRose Hudson
This will be used for the scene-graph integration.
2023-08-21compositor: drop wlr_surface_destroy_role_object()Simon Ser
This function is now unnecessary.
2023-08-21xdg-shell: rework rolesKirill Primak
2023-08-21xdg-shell: don't return anything from create_xdg_surface()Kirill Primak
2023-08-21buffer: make wlr_client_buffer functions privateSimon Ser
We want to eventually remove this. Let's make sure compositors don't start using either of these functions.
2023-08-19xdg-decoration: store an xdg_toplevel instead of xdg_surfaceLeonardo Hernández Hernández
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3685
2023-08-16backend/wayland: wait for xdg_surface.configure explicitlySimon Ser
We were assuming a roundtrip was enough to get an xdg_surface.configure event. That's not the case, the protocol spec doesn't make such a guarantee.
2023-08-16render: split render pass API into separate headerSimon Ser
Keeps the main wlr_renderer.h a tad more tidy.
2023-08-16wlr_output: Nuke wlr_output_update_enabledAlexander Orzechowski
2023-08-16wlr_output: Make wlr_output_update_{custom,}_mode privateAlexander Orzechowski
Backends should be using wlr_output_send_request_state to request modesets to the compositor. This will be inlined and removed next commit.
2023-08-16output: Add initialization state to wlr_output_initAlexander Orzechowski
2023-08-16backend/wayland: add wlr_wl_output_create_from_surface()Simon Ser
By using this function, a compositor can display a wlroots compositor in a sub-surface, for instance.
2023-08-16backend/wayland: tag wl_surfaceSimon Ser
When integrating wlroots with another toolkit, wlroots may receive wl_pointer.enter events for surfaces not backed by a wlr_output. Ignore such surfaces by tagging the ones we're aware of with wl_proxy_set_tag().
2023-08-16backend/wayland: take existing wl_display in wlr_wl_backend_create()Simon Ser
This allows compositors to use an existing wl_display, to integrate wlroots with an existing toolkit.
2023-08-03xwayland: drop wlr_xwayland_surface.events.set_pidSimon Ser
The PID of an X11 window cannot change. This is a remnant from the days when we queried the PID with a window property, instead of using XRes.
2023-07-26compositor: add "mapped" flag docKirill Primak
2023-07-26xwayland/shell: don't listen to wlr_surface.events.destroyKirill Primak
The wlr_xwayland_surface_v1 will be destroyed automatically from xwl_surface_role_destroy().
2023-07-26wlr_output: add comments for signal parametersrewine
2023-07-23xdg-shell: add support for v6Leonardo Hernández Hernández
This adds the suspended toplevel state
2023-07-24cursor-shape-v1: new protocol implementationSimon Ser
References: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/194
2023-07-21wlr_idle_inhibit_manager_v1: add comments for signal parametersrewine
2023-07-17data-device: remove undefined grab interface declsKirill Primak
2023-07-17xdg-shell: update stale docsKirill Primak
2023-07-17cursor, output: apply viewport to cursorSimon Ser
Instead of passing the scale, pass the source and destination boxes. Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3676
2023-07-17wlr_gamma_control: add missing forward declarationsJohn Lindgren
Fixes an error seen in labwc CI builds with -Werror: ../subprojects/wlroots/include/wlr/types/wlr_gamma_control_v1.h:44:16: error: ‘struct wlr_output_state’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 44 | struct wlr_output_state *output_state); | ^~~~~~~~~~~~~~~~
2023-07-14presentation-time: add separate helper for zero-copySimon Ser
The backend is not able to tell whether a surface is being presented via direct scan-out or not. The backend will set ZERO_COPY if the buffer submitted via the output commit was presented in a zero-copy fashion, but will no know whether the buffer comes from the compositor or the client.
2023-07-14scene: add wlr_scene_output_sample_eventSimon Ser
This contains the output and a bool indicating direct scan-out.
2023-07-14scene: rename output_present event to output_sampleSimon Ser
Using "present" is confusing here: the event is emitted when the buffer is being sampled to be displayed on an output, not when it's being presented on-screen. Rename to match the presentation-time terminology.
2023-07-11render: document wlr_buffer_pass_options.timerSimon Ser
2023-07-11render: constify struct wlr_buffer_pass_optionsSimon Ser
Let's not allow renderer implementations to mutate the passed in options.
2023-07-10scene_output: optionally record and report timingsRose Hudson
2023-07-09xwayland: document event dataSimon Ser
2023-07-09xwayland: drop struct wlr_xwayland_move_eventSimon Ser
This only contains the xsurface, which isn't particularly useful.
2023-07-09xwayland: document associate/dissociate eventsSimon Ser
2023-07-03output: drop wlr_output_cursor_set_image()Simon Ser
This function takes a pointer to memory with a hardcoded format and many parameters to describe the pixel buffer. wlr_output_cursor_set_buffer() can be used instead.
2023-07-02cursor: remove wlr_cursor_set_image()Simon Ser
Superseded by wlr_cursor_set_buffer().
2023-07-02xcursor-manager: drop wlr_xcursor_manager_set_cursor_image()Simon Ser
2023-07-02cursor: add wlr_cursor_set_buffer()Simon Ser
A saner replacement for wlr_cursor_set_image(): - Takes a wlr_buffer instead of numerous parameters and a hardcoded format. - The scale is not used to filter outputs. - A ref to the buffer is kept to apply it to new outputs.
2023-06-30backend/drm: handle output layer damageSimon Ser
2023-06-30output-layer: add wlr_output_layer_state.damageSimon Ser
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3593
2023-06-27wlr_scene_buffer: Publicize some stateAlexander Orzechowski
The sway scene port relies on this to create a copy of the buffer for saved surface purposes.
2023-06-23output: add wlr_output_state_init()Simon Ser
This changes the semantics of wlr_output_state. Instead of having fields with uninitialized memory when missing from the committed bitflag, all fields are always initialized (and maybe NULL/empty), just like we do in wlr_surface_state. This reduces the chances of footguns when reading a field, and removes the need to check for the committed bitfield everywhere. A new wlr_output_state_init() function takes care of initializing the Pixman region.
2023-06-23compositor: listen to role_resource destroy signalSimon Ser
Call wlr_surface_destroy_role_object() when the role_resource is destroyed.
2023-06-23compositor: replace role_data with role_resourceSimon Ser
This increases type safety, makes it more obvious that role_data must represent the role object, and will allow for automatic cleanup when the resource is destroyed.
2023-06-23compositor: don't call role unmap hook without an objectKirill Primak
2023-06-23compositor: introduce wlr_surface_set_role_object()Kirill Primak
2023-06-22output: Introduce wlr_output_state_copy()Alexander Orzechowski