aboutsummaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
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
2023-06-20output: attach buffer to state in output_ensure_buffer()Simon Ser
2023-06-20wlr_scene: Introduce wlr_scene_buffer_set_filter_modeAlexander Orzechowski
2023-06-19render: Introduce wlr_render_texture_options.blend_modeAlexander Orzechowski
2023-06-19renderer: Introduce wlr_scale_filter_modeAlexander Orzechowski
2023-06-17render/vulkan: Dynamically create texture viewsAlexander Orzechowski
Now that we are dynamically creating pipeline layouts, we need separate texture views for each pipeline layout we choose to use with a texture.
2023-06-17render/vulkan: Dynamically create pipeline layoutsAlexander Orzechowski
These will happen lazily when pipelines get created.
2023-06-16render/vulkan/pipeline_key: Add blendingAlexander Orzechowski
This will become necessary when we switch away from scissoring. For the time being, this cleans things up a bit and allows for a trivial blending implementation for textures when that comes.
2023-06-16render/vulkan: Handle quad pipeline through generic pipeline pathAlexander Orzechowski
2023-06-16render/vulkan: Dynamically handle pipeline creation for texturesAlexander Orzechowski
If we ever wanted to handle dynamic state that requires new pipelines such as using different texture filters those can be added here with more ease.
2023-06-15cursor: add wlr_cursor_unset_image()Simon Ser
It's pretty awkward to call wlr_cursor_set_image() with 6 zeroes. Hide that awkwardness in wlroots.
2023-06-15cursor: add wlr_cursor_set_xcursor()Simon Ser
This keeps track of the last set XCursor. If it hasn't changed, skip the texture upload. In the future, support for animated XCursors can be added. Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3436
2023-06-15output: add documentation for wlr_output_stateAlexander Orzechowski
2023-06-14compositor: add wlr_surface_role.no_objectKirill Primak
This commit allows to make a role as not represented by an object, which fixes calling role commit handlers for roles like cursor surfaces. Fixes: 099b9de752f9cc212140533a8a2e20b31aa9028f
2023-06-13output: add wlr_output_state_set_layers()Simon Ser