aboutsummaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
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
2023-06-05Add some missing includes/declarationsKirill Primak
2023-06-05render/gles2: implement timer APIRose Hudson
2023-06-05add render timer APIRose Hudson
Based on five calls: wlr_render_timer_create - creates a timer which can be reused across frames on the same renderer wlr_renderer_begin_buffer_pass - now takes a timer so that backends can record when the rendering starts and finishes wlr_render_timer_get_time - should be called as late as possible so that queries can make their way back from the GPU wlr_render_timer_destroy - self-explanatory The timer is exposed as an opaque `struct wlr_render_timer` so that backends can store whatever they want in there.
2023-06-05util: add timespec_to_nsecRose Hudson
2023-06-05backend/wayland: add scaling support for output layersSimon Ser
Use the viewporter protocol to scale output layers.
2023-06-03subcompositor: consider mapping on parent mapKirill Primak
Fixes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3654
2023-06-02output/cursor: fix scale and transformSimon Ser
Many issues here: - wlr_output_cursor_set_buffer() takes a buffer already scaled for the output, not a buffer with scale=1. - wlr_output_cursor.{width,height,hotspot_x,hotspot_y} are in output buffer coordinates. - render_cursor_buffer() had hardcoded no-ops for scale and transform, instead of using the cursor surface's. Fixes: b64e7e88bfb8 ("output: add output_cursor_set_texture()")
2023-06-02session-lock: remove unused wlr_session_lock_surface_v1.events.mapKirill Primak
2023-06-02compositor: remove wlr_surface_role.precommitKirill Primak
It was previously used to handle unmapping properly but is obsolete now.
2023-06-02xwm: use unified map logicKirill Primak
2023-06-02drag: use unified map logicKirill Primak
2023-06-02input-method: use unified map logicKirill Primak
2023-06-02session-lock: use unified map logicKirill Primak
2023-06-02layer-shell: use unified map logicKirill Primak
2023-06-02xdg-shell: use unified map logicKirill Primak
2023-06-02subcompositor: use unified map logicKirill Primak
2023-06-02compositor: introduce unified map logicKirill Primak
2023-06-02xwm: introduce associate/dissociate eventsKirill Primak
We'll soon introduce a unified wlr_surface map event. Up until now, compositors have been using wlr_xwayland_surface's map event to setup various wlr_surface related listeners (e.g. commit). This will no longer be possible when that event is moved over to wlr_surface. Introduce new events where the compositor can add/remove wlr_surface event listeners.
2023-06-01render/vulkan: improve error handling in render_pass_submit()Simon Ser
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3644
2023-05-31backend/drm: introduce wlr_drm_mode_get_info()Simon Ser
This allows compositors to get back the raw drmModeModeInfo and look at DRM-specific fields and flags.
2023-05-31backend/drm: move forward decl up for drmModeModeInfoSimon Ser
This allows doc generators to properly associate the doc comment with the function instead of the typedef.
2023-05-30output: add wlr_output_begin_render_pass()Simon Ser
2023-05-30wlr_scene: Introduce wlr_scene_buffer_set_opacityAlexander Orzechowski
2023-05-30wlr_scene: Make scene_rect_from_node publicAlexander Orzechowski
This is in an effort to be more consistent with both already public getters: wlr_scene_buffer_from_node and wlr_scene_tree_from_node
2023-05-30wlr_scene: Make scene_tree_from_node publicAlexander Orzechowski
This is to allow for compositors that want to be more implicit about how their scene is organized. Such a compositor may want to walk up at a certain scene node to find something such as a surface to focus on.
2023-05-30wlr_scene: Add documentation to wlr_scene_buffer_from_nodeAlexander Orzechowski
2023-05-30render/vulkan: implement render pass APISimon Ser
2023-05-28renderer/gles2: Implement render pass interfaceAlexander Orzechowski