aboutsummaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
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
2023-06-12backend/drm: clip FB damageSimon Ser
The kernel complains when the damage exceeds the FB bounds: [73850.448326] i915 0000:00:02.0: [drm:drm_atomic_check_only] [PLANE:31:plane 1A] invalid damage clip 0 0 2147483647 2147483647 Make the DRM backend behave like the Wayland one and allow compositors to damage (0, 0, INT32_MAX, INT32_MAX) to repaint everything without needing to know the exact buffer size. Closes: https://github.com/swaywm/sway/issues/7632
2023-06-12seat: remove a TODO comment about simulating keyboard eventsKirill Primak
2023-06-12scene: introduce wlr_scene_output_build_state()Alexander Orzechowski
2023-06-12output: introduce wlr_output_state_set_damage()Alexander Orzechowski
2023-06-08gamma-control-v1: stop applying gamma LUTs implicitlySimon Ser
Make the compositor responsible for doing that, so that they can properly integrate with their output commit sequence.
2023-06-08gamma-control-v1: add wlr_gamma_control_v1_send_failed_and_destroy()Simon Ser
2023-06-08gamma-control-v1: add wlr_gamma_control_v1_apply()Simon Ser
2023-06-08output: add wlr_output_state_set_gamma_lut()Simon Ser
2023-06-08gamma-control-v1: add wlr_gamma_control_manager_v1_get_control()Simon Ser
2023-06-08gamma-control-v1: introduce set_gamma eventSimon Ser
2023-06-08compositor: improve role-specific documentationKirill Primak
2023-06-08drag: don't set icon's role_dataKirill Primak
Currently, an icon surface's role_data is set manually to a struct wlr_drag_icon, which is hacky, incorrect (as role_data is supposed to be the surface's role object, and drag icons don't have them), and will be disallowed by future changes.
2023-06-06presentation-time: constify wlr_presentation_feedback_send_presented()Simon Ser
We don't need to mutate the event in this function.
2023-06-06compositor: add a note about ignored input regionsKirill Primak