Age | Commit message (Collapse) | Author | |
---|---|---|---|
2023-06-23 | compositor: replace role_data with role_resource | Simon 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-23 | compositor: don't call role unmap hook without an object | Kirill Primak | |
2023-06-23 | compositor: introduce wlr_surface_set_role_object() | Kirill Primak | |
2023-06-22 | output: Introduce wlr_output_state_copy() | Alexander Orzechowski | |
2023-06-20 | output: attach buffer to state in output_ensure_buffer() | Simon Ser | |
2023-06-20 | wlr_scene: Introduce wlr_scene_buffer_set_filter_mode | Alexander Orzechowski | |
2023-06-19 | render: Introduce wlr_render_texture_options.blend_mode | Alexander Orzechowski | |
2023-06-19 | renderer: Introduce wlr_scale_filter_mode | Alexander Orzechowski | |
2023-06-17 | render/vulkan: Dynamically create texture views | Alexander 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-17 | render/vulkan: Dynamically create pipeline layouts | Alexander Orzechowski | |
These will happen lazily when pipelines get created. | |||
2023-06-16 | render/vulkan/pipeline_key: Add blending | Alexander 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-16 | render/vulkan: Handle quad pipeline through generic pipeline path | Alexander Orzechowski | |
2023-06-16 | render/vulkan: Dynamically handle pipeline creation for textures | Alexander 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-15 | cursor: 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-15 | cursor: 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-15 | output: add documentation for wlr_output_state | Alexander Orzechowski | |
2023-06-14 | compositor: add wlr_surface_role.no_object | Kirill 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-13 | output: add wlr_output_state_set_layers() | Simon Ser | |
2023-06-12 | backend/drm: clip FB damage | Simon 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-12 | seat: remove a TODO comment about simulating keyboard events | Kirill Primak | |
2023-06-12 | scene: introduce wlr_scene_output_build_state() | Alexander Orzechowski | |
2023-06-12 | output: introduce wlr_output_state_set_damage() | Alexander Orzechowski | |
2023-06-08 | gamma-control-v1: stop applying gamma LUTs implicitly | Simon Ser | |
Make the compositor responsible for doing that, so that they can properly integrate with their output commit sequence. | |||
2023-06-08 | gamma-control-v1: add wlr_gamma_control_v1_send_failed_and_destroy() | Simon Ser | |
2023-06-08 | gamma-control-v1: add wlr_gamma_control_v1_apply() | Simon Ser | |
2023-06-08 | output: add wlr_output_state_set_gamma_lut() | Simon Ser | |
2023-06-08 | gamma-control-v1: add wlr_gamma_control_manager_v1_get_control() | Simon Ser | |
2023-06-08 | gamma-control-v1: introduce set_gamma event | Simon Ser | |
2023-06-08 | compositor: improve role-specific documentation | Kirill Primak | |
2023-06-08 | drag: don't set icon's role_data | Kirill 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-06 | presentation-time: constify wlr_presentation_feedback_send_presented() | Simon Ser | |
We don't need to mutate the event in this function. | |||
2023-06-06 | compositor: add a note about ignored input regions | Kirill Primak | |
2023-06-05 | Add some missing includes/declarations | Kirill Primak | |
2023-06-05 | render/gles2: implement timer API | Rose Hudson | |
2023-06-05 | add render timer API | Rose 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-05 | util: add timespec_to_nsec | Rose Hudson | |
2023-06-05 | backend/wayland: add scaling support for output layers | Simon Ser | |
Use the viewporter protocol to scale output layers. | |||
2023-06-03 | subcompositor: consider mapping on parent map | Kirill Primak | |
Fixes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3654 | |||
2023-06-02 | output/cursor: fix scale and transform | Simon 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-02 | session-lock: remove unused wlr_session_lock_surface_v1.events.map | Kirill Primak | |
2023-06-02 | compositor: remove wlr_surface_role.precommit | Kirill Primak | |
It was previously used to handle unmapping properly but is obsolete now. | |||
2023-06-02 | xwm: use unified map logic | Kirill Primak | |
2023-06-02 | drag: use unified map logic | Kirill Primak | |
2023-06-02 | input-method: use unified map logic | Kirill Primak | |
2023-06-02 | session-lock: use unified map logic | Kirill Primak | |
2023-06-02 | layer-shell: use unified map logic | Kirill Primak | |
2023-06-02 | xdg-shell: use unified map logic | Kirill Primak | |
2023-06-02 | subcompositor: use unified map logic | Kirill Primak | |
2023-06-02 | compositor: introduce unified map logic | Kirill Primak | |
2023-06-02 | xwm: introduce associate/dissociate events | Kirill 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. |