aboutsummaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2023-10-05render/vulkan: constrain blend to output subpass to redrawn regionManuel Stoeckl
This commit only applies to the render pass API.
2023-10-05util: add struct to track union of rectanglesManuel Stoeckl
The new struct rect_union is designed to make it easier to efficiently accumulate a list of rectangles, and then operate on an exact cover of their union. Using rect_union, the times needed to added t rectangles, and then compute their exact cover will be O(t), and something between Ω(t) and O(t^2), depending on the rectangle arrangement. If one tries to do the same by storing a pixman_region32_t and updating it with pixman_region32_union_rect(), then total time needed would be between Ω(t^2) and O(t^3), depending on the input. Without changing the public API (data structure + rectangle ordering rules) for pixman_region32_t, it is impossible to improve its worst case time.
2023-10-04drop KDE idle protocol supportSimon Zeni
2023-10-04xdg-shell: document wlr_xdg_surface's initialized & initial_commitSimon Ser
2023-10-02docs: replace the less commonly used "::" with "."Kirill Primak
2023-10-02xdg-surface: fix init state flowKirill Primak
Fixes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3677
2023-10-02output: defer fake present events until after commitRose Hudson
Since headless and wayland-without-presentation-feedback were firing present inside their commit impls, present was getting fired before commit, which is cursed. Defer this with an idle timer so that commit handlers can run before present handlers.
2023-09-28backend/drm: Add async page flip support to legacyvaxerski
Atomic doesn't support such flags yet.
2023-09-28staging/tearing-control: Add protocol supportvaxerski
2023-09-22wlr_scene: clarify wlr_scene_output ownership semanticsJohn Lindgren
wlr_scene_output_layout_add_output() was made public by f5917f024760 ("scene_output_layout: make output adding explicit") but the ownership semantics are not obvious and should be clarified.
2023-09-21render/pass: Introduce wlr_render_rect_options_get_boxAlexander Orzechowski
2023-09-09render/vulkan: de-duplicate VkImageUsageFlagsSimon Ser
The flags passed to vkCreateImage() must match the flags used when querying formats. Make this clearer by using the same variable.
2023-08-23Unify signal data docsKirill Primak
`// struct <name>` appears roughly 4 times as often as `// struct <name> *`. Switch to the former variant everywhere.
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