Age | Commit message (Collapse) | Author | |
---|---|---|---|
2022-08-14 | wlr_scene: Introduce buffer opaque region metadata | Alexander Orzechowski | |
2022-08-14 | wlr_scene: Rewrite direct scan out logic to rely on visibility | Alexander Orzechowski | |
Also make the regular rendering logic use the introduced render list. | |||
2022-08-14 | wlr_scene: Don't render non visible parts of textures/rects | Alexander Orzechowski | |
We can also get rid of the intersection checks in the rendering functions because we are guaranteed to already be in the node do to the prior intersection checking of the node visibility. | |||
2022-08-14 | wlr_scene: Only send frame done events for visible buffers | Alexander Orzechowski | |
2022-08-14 | wlr_scene_set_buffer_with_damage: Only damage the visible parts of the node | Alexander Orzechowski | |
2022-08-14 | wlr_scene: Rework damage handling | Alexander Orzechowski | |
Simplify damage handling by using our cached visibility state. Damaging can happen in one step because since we can use the old visibility state which represent what portions of the screen the scene node was. This way we can damage everything in one step after the fact. | |||
2022-08-14 | wlr_scene: Add per scene node visibility | Alexander Orzechowski | |
2022-08-14 | wlr_scene: Damage scene on node destroy by disabling node | Alexander Orzechowski | |
This removes one trivial call of scene_node_damage_whole. It's easier to disable the node later than it is to do the damage dance later. | |||
2022-08-14 | wlr_scene: Introduce scene_nodes_in_box | Alexander Orzechowski | |
Will query the scene for all nodes that appear in the given wlr_box. The nodes will be sent to the iterator from closest to farthest from the eye. Refactor wlr_scene_node_at to use this new function. | |||
2022-08-08 | wlr_scene: Add option to disable direct scanout | Alexander Orzechowski | |
Closes: #3405 Supersedes: !3562 Co-authored-by: Xiao YaoBing <[email protected]> | |||
2022-08-06 | scene/layer_shell: Ignore unmapped exclusion zone | Kenny Levinsen | |
Only the exclusion zone for mapped layer shell surfaces should be respected. In particular, a layer shell surface that was mapped with an exclusion zone but is now unmapped should not adjust the usable area. Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3471 | |||
2022-07-03 | wlr_scene: Maintain damage highlight regions per output | Alexander Orzechowski | |
The logic doesn't support handling multiple outputs so let's not break the assumption and handle damages per output much like how damage_ring is done. | |||
2022-07-03 | wlr_scene: Use direct assignment for damage indicator timestamps | Alexander Orzechowski | |
2022-06-29 | scene: add missing output damage listener | Kirill Primak | |
This is necessary to handle damage coming from the backend and software cursors. | |||
2022-06-29 | scene: switch to wlr_damage_ring | Kirill Primak | |
2022-06-28 | tinywl: exit on backend, renderer or allocator creation failure | Simon Zeni | |
2022-06-21 | wlr_input_device: remove anon union field | Isaac Freund | |
This union is unnecessary since the recent input device refactor and can now be replaced by wlr_*_from_input_device() functions. | |||
2022-06-08 | scene/layer_shell_v1.c: fix bug in width/height calculations | Johan Malm | |
...in wlr_scene_layer_surface_v1_configure() Reproduce bug with waybar by setting `"margin": 5,` in ~/.config/waybar/config. It will result in the right edge of the panel extending outside the edge of the output. The bug can also be reproduced with gtk-layer-demo by anchoring left/right/top/bottom and setting respective margins Relates-to: https://github.com/labwc/labwc/issues/382 | |||
2022-06-07 | scene/output_layout: Fix crash in scene_output_layout_output_destroy | Consolatis | |
Closes: #3448 | |||
2022-06-02 | wlr_scene_buffer: Update primary_output on output destroy | Alexander Orzechowski | |
2022-06-02 | wlr_scene_buffer: Call output enter/leave after primary_output calculation | Alexander Orzechowski | |
2022-06-01 | scene/output-layout: add initial outputs | Kirill Primak | |
2022-06-01 | scene/output-layout: improve ownership logic | Kirill Primak | |
This commit ensures that outputs that weren't created by the output layout helper aren't destroyed on the output layout change. Consider the following piece of logic: // struct wlr_output *o1, *o2; // struct wlr_scene *scene; // struct wlr_output_layout *layout; wlr_scene_attach_output_layout(scene, layout); wlr_output_layout_add_auto(layout, o1); struct wlr_scene_output *so2 = wlr_scene_output_create(scene, o2); wlr_output_layout_move(layout, o1, 100, 200); // so2 is invalid now | |||
2022-06-01 | scene: add wlr_scene_output.events.destroy | Kirill Primak | |
2022-05-31 | wlr_scene: Only allow parenting on a wlr_scene_tree | Alexander Orzechowski | |
2022-05-31 | wlr_scene: Move children list from wlr_scene_node to wlr_scene_tree | Alexander Orzechowski | |
2022-05-31 | wlr_scene: Refactor wlr_scene (the root element) to encase a wlr_scene_tree | Alexander Orzechowski | |
Co-authored-by: Isaac Freund <[email protected]> | |||
2022-05-31 | wlr_scene: Inline wlr_scene_node_state | Alexander Orzechowski | |
This seems like nothing interesting was done with this. Let's simplify and allow us some flexibility in the future. | |||
2022-05-31 | wlr_scene: Only allow parenting on a wlr_scene_tree | Alexander Orzechowski | |
2022-05-31 | wlr_scene: Refactor wlr_scene (the root element) to encase a wlr_scene_tree | Alexander Orzechowski | |
Co-authored-by: Isaac Freund <[email protected]> | |||
2022-05-30 | wlr_scene: Fix scaling with default source_box | Consolatis | |
Default to texture instead of destination_box geometry. | |||
2022-05-27 | tinywl: use xdg-shell v3 | Kirill Primak | |
2022-05-27 | xdg-popup: use current/pending state pattern | Kirill Primak | |
2022-05-23 | wlr_scene: Hook up HIGHLIGHT logic | Alexander Orzechowski | |
This will display red translucent rectangles on the screen regions that have been damaged. These rectangles will fade out over the span of 250 msecs. If the area is damaged again while the region is fading out, the timer is reset. Let's also disable direct scan out when this option is enabled, or else we won't be able to render the highlight damage regions. | |||
2022-05-23 | wlr_scene: Hook up RERENDER logic | Alexander Orzechowski | |
2022-05-23 | wlr_scene: Parse out WLR_SCENE_DEBUG_DAMAGE | Alexander Orzechowski | |
2022-05-23 | scene/output: check for NULL in destructor | Kirill Primak | |
2022-05-19 | wlr_scene: Refactor wlr_scene_surface to be a helper on top of wlr_scene_buffer | Alexander Orzechowski | |
2022-05-19 | wlr_scene: Refactor wlr_scene_surface to be a helper on top of wlr_scene_buffer | Alexander Orzechowski | |
2022-05-19 | wlr_scene: Introduce addons to scene nodes | Alexander Orzechowski | |
2022-05-19 | wlr_scene: Change out surface specific iterator functions | Alexander Orzechowski | |
Instead iterate over wlr_scene_buffer | |||
2022-05-19 | wlr_scene: Pull scene_node_get_root into a private header | Alexander Orzechowski | |
We will need this for surface emulation on buffers. | |||
2022-05-19 | wlr_scene: Make scene_buffer_from_node public | Alexander Orzechowski | |
2022-05-19 | wlr_scene: Add a function to also specify damage when applying a buffer to ↵ | Alexander Orzechowski | |
wlr_scene_buffer | |||
2022-05-19 | wlr_scene: Add a way to choose when input interactions happen on a buffer | Alexander Orzechowski | |
2022-05-19 | wlr_scene: Add frame_done signal for wlr_scene_buffer | Alexander Orzechowski | |
Let's also change the name of the function. Motivation [1]. [1] https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3496#note_1357824 | |||
2022-05-19 | wlr_scene: Add primary_output property to wlr_scene_buffer | Alexander Orzechowski | |
2022-05-19 | wlr_scene: Add presentation signal for wlr_scene_buffer | Alexander Orzechowski | |
2022-05-19 | wlr_scene: Make wlr_scene_render_output private | Alexander Orzechowski | |
This function sidesteps damage tracking and output awareness on buffers/surfaces. This function isn't a great fit for the API. Let's also inline the function and simplify it. | |||
2022-05-19 | wlr_scene: Fix missing calls to scene_node_update_outputs | Alexander Orzechowski | |
There were a couple places this was missing - on mode change of an output. If the resolution changes for example nodes may fall out of the view. - on commits on an output for scale or transform changes - when the transform of a buffer is changed. If the dest size is not set, the buffer may have been rotated potentially changing its size if the buffer width != height |