Age | Commit message (Collapse) | Author | |
---|---|---|---|
2023-06-20 | seat: fix keyboard/pointer/touch resource destroy | Simon Ser | |
We need to always unlink the resource, even if it's already inert. seat_client_destroy_*() may be called multiple times on the same resource. Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3638 | |||
2023-06-20 | output: stop using wlr_output.back_buffer in output_ensure_buffer() | Simon Ser | |
This allows us to use the new render pass API, and drops some implicit state usage. | |||
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/vulkan: Initialize to fix compilation error | Alexander Orzechowski | |
2023-06-19 | allocator: only use DRM auth if we are master | Simon Ser | |
Legacy DRM auth will only work if we are DRM master. Keep using an unauthenticated DRM FD if we are not DRM master. This should be enough for GBM. Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3674 | |||
2023-06-19 | backend/drm: Use texture blend_mode for multigpu blit | Alexander Orzechowski | |
2023-06-19 | render: Introduce wlr_render_texture_options.blend_mode | Alexander Orzechowski | |
2023-06-19 | pixman: Remove dead code | Alexander Orzechowski | |
2023-06-19 | renderer: Introduce wlr_scale_filter_mode | Alexander Orzechowski | |
2023-06-19 | output_state: Gamma lut should be freed only if committed | Alexander Orzechowski | |
We consider state that is not committed to be uninitialized. | |||
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: Inline init_sampler | Alexander Orzechowski | |
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 | wlr_scene: Clear damage ring on transform change | Alexander Orzechowski | |
2023-06-15 | wlr_scene: Clear damage ring on scale change | Alexander Orzechowski | |
If we were trying to change the scale in wlr_scene_output_build_state, we would be using incorrect damage | |||
2023-06-15 | wlr_scene: Reset damage ring bounds every frame | Alexander Orzechowski | |
This fixes damage issues when a output state attempts to change the transformed size in some way | |||
2023-06-15 | wlr_damage_ring_set_bounds: Ignore duplicate size requests | Alexander Orzechowski | |
2023-06-15 | wlr_scene: Fix transforms with non 1 scale | Alexander Orzechowski | |
wlr_region_transform / wlr_box_transform want unscaled coordinates here | |||
2023-06-15 | output: add documentation for wlr_output_state | Alexander Orzechowski | |
2023-06-14 | build: drop proto_inc | Simon Ser | |
protocol/meson.build adds protocol header files to wlr_files. No need to add them via include dirs. | |||
2023-06-14 | examples: drop unnecessary include_directories | Simon Ser | |
wlr_inc is already pulled in via the wlroots dep. proto_inc is already pulled in because extra_src contains these headers. | |||
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-14 | backend/libinput: use struct initializers for events | Simon Ser | |
This is more readable and consistent with the rest of wlroots. | |||
2023-06-14 | backend/libinput: ignore multiple events for same pointer button | Simon Ser | |
If the same button is pressed on two devices on the same seat, ignore the second event. This is also what Mutter does. Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3665 | |||
2023-06-13 | output: add wlr_output_state_set_layers() | Simon Ser | |
2023-06-13 | tinywl: Drop usage of wlr_output.pending | Alexander Orzechowski | |
2023-06-13 | examples: Drop usage of wlr_output.pending | Alexander Orzechowski | |
2023-06-12 | wlr_scene: Don't use direct scanout if trying to commit a new render_format | Alexander Orzechowski | |
Found by inspection. | |||
2023-06-12 | examples/output-layers: fix layers not included in commit | Simon Ser | |
wlr_output_set_layers() attaches layers to the output's pending state, but then uses a detached wlr_output_state in wlr_output_state_commit(). This results in layers being left out of the committed state. Fixes: 8e81b4bb4237 ("examples: convert to new rendering API") | |||
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 | wlr_output_state: Consider gamma_lut uninitialized if not committed | Alexander Orzechowski | |
2023-06-12 | wlr_output_state: Consider buffer uninitialized if not committed | Alexander Orzechowski | |
2023-06-12 | seat: remove a TODO comment about simulating keyboard events | Kirill Primak | |
2023-06-12 | cursor: only reset the cursor when the surface changes | Simon Ser | |
If the set_cursor request is used with the same surface, don't call cursor_output_cursor_reset_image(). That function sends wl_surface.leave and can cause an infinite feedback loop with some clients (submitting a LoDPI cursor when the surface leaves an HiDPI output). Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3669 | |||
2023-06-12 | scene: introduce wlr_scene_output_build_state() | Alexander Orzechowski | |
2023-06-12 | scene: Don't rely on output current state during rendering | Alexander Orzechowski | |
In the next commit, state such as scale, transform, width/height that we gather from the output might be outdated and incorrect. | |||
2023-06-12 | output: introduce wlr_output_state_set_damage() | Alexander Orzechowski | |
2023-06-12 | render/vulkan: rename tex_usage to shm_tex_usage | Simon Ser | |
Same motivation as fdb199a43c44 ("render/vulkan: rename tex_features to shm_tex_features"). | |||
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 | |