- Jun 28, 2022
-
-
Simon Ser authored
This is based on previous work [1] [2]. This new API allows compositors to display buffers without needing to perform rendering operations. This API can be implemented on Wayland using subsurfaces and on DRM using KMS planes. Compared to [1], this approach leverages wlr_addon_set to let backends attach their own private state to layers, and removes the pending state (necessary for interop with wlr_output_commit_state()). [1]: wlroots/wlroots!1985 [2]: wlroots/wlroots!3447
-
-
Events used by our input devices were recently renamed from wlr_event_* to wlr_*_event, but the documentation and a single point of use was not updated accordingly. Regressed by: !3484
-
- Jun 24, 2022
-
-
Simon Ser authored
Instead of checking whether the wlr_egl dependencies are available in the GLES2 code, introduce internal_features['egl'] and check that field. When updating the EGL dependency list, we no longer need to update the GLES2 logic.
-
Simon Ser authored
The GLES2 renderer depends on EGL, which depends on GBM for device selection.
-
- Jun 21, 2022
-
-
This union is unnecessary since the recent input device refactor and can now be replaced by wlr_*_from_input_device() functions.
-
-
Kirill Primak authored
-
Kirill Primak authored
wl_subsurface description states: A sub-surface becomes mapped, when a non-NULL wl_buffer is applied and the parent surface is mapped. Note that this doesn't require an explicit commit, which means that a newly created subsurface with a mapped parent and a buffer already attached must be mapped immediately. This can happen with the following sequence of events: - subcompositor.get_subsurface(subsurface, surface, parent) - surface.attach(buffer) - surface.commit() - subsurface.destroy() - subcompositor.get_subsurface(subsurface, surface, parent) Fixes: wlroots/wlroots#3449
-
- Jun 20, 2022
-
-
Rouven Czerwinski authored
The previous wlr_output_cursor_set_image() allows setting a NULL buffer for the cursor to hide it. This functionality was used by sway to hide the cursor, restore the original semantics by allowing NULL buffers again by avoiding the wlr_buffer allocation in case we have NULL pixels and handing a NULL wlr_buffer to wlr_output_cursor_set_buffer().
-
- Jun 19, 2022
-
-
"max bpc" is a maximum value, the driver is free to choose a smaller value depending on the bandwidth available. Some faulty monitors misbehave with higher bpc values. We'll add a workaround if users get hit by these in practice. References: wayland/weston#612
-
drmIsKMS already checks for this.
-
- Jun 17, 2022
-
-
This function applies a configuration sent by a client on a struct wlr_output_state.
-
- Jun 16, 2022
-
-
Simon Ser authored
Whether a texture is opaque or not doesn't depend on the renderer at all, it just depends on the source buffer. Instead of forcing all renderers to implement wlr_texture_impl.is_opaque, let's move this in common code and use the wlr_buffer format to know whether a texture will be opaque.
-
- Jun 14, 2022
-
-
Simon Ser authored
Meson creates a .gitignore file in its build directories [1] so that they never get added to Git. These entries assume users will pick a specific build dir name, so they don't work with e.g. "builddir". [1]: !3582 (comment 1424666)
-
- Jun 12, 2022
-
- Jun 11, 2022
-
-
bi4k8 authored
-
bi4k8 authored
`vulkan_format_props_query` calls `query_modifier_support` which initializes fields of `props` with allocated memory. this memory is leaked if `query_modifier_support` does not find a supported format and shmtex is not supported, as in this case `add_fmt_props` ends up being false and the allocated fields of `props` are never freed.
-
Kirill Primak authored
-
- Jun 08, 2022
-
-
...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
-
69477051 ("matrix: deprecate wlr_matrix_projection") marked it as deprecated. 1 year later, we can now remove it from our public API.
-
Instead of computing the projection, then flipping, just provide the correct transform to wlr_matrix_projection().
-
Simon Ser authored
-
Simon Ser authored
Before calling wlr_output_impl.{test,commit}, perform a cheap comparison between the current and candidate state. Unset any fields which didn't change.
-
Simon Ser authored
This ensures compositors don't forget to set the committed flag or the mode_type when setting a field.
-
- Jun 07, 2022
-
-
Consolatis authored
Closes: #3448
-
Simon Ser authored
If the display is destroyed before wlr_global_destroy_safe's timer fires, the struct destroy_global_data is leaked. This shouldn't cause issues in practice because the timer will never fire, but makes it harder to spot compositor memory leaks.
-
This refactors output_ensure_buffer() to not mutate the state passed, making the previous subtle behavior much more explicit. Fixes: d483dd2f ("output: add wlr_output_commit_state") Closes: #3442
-
Isaac Freund authored
-
The EDID 1.4 spec says that the serial number is optional: > If this field is not used, then enter “00h, 00h, 00h, 00h”. Leave the wlr_output.serial field NULL in that case, and hide it from the output description.
-
CTA-861-G says that "graphics" is used to indicate non-analog (ie, digital) content. With that bit set, the sink should turn off analog reconstruction and other related filtering.
-
- Jun 06, 2022
-
-
Alexander Orzechowski authored
-
- Jun 05, 2022
-
-
Replace them with wlr_signal_emit_safe, which correctly handles cases where a listener removes another listener. Reported-by:
Isaac Freund <ifreund@ifreund.xyz>
-
Fixes: #3445
-
- Jun 04, 2022
- Jun 02, 2022
-
-
Isaac Freund authored
Since 6936e163, we short-circut no-op commits as an optimization. However, the logic in the check was slightly off.
-
Alexander Orzechowski authored
-
Alexander Orzechowski authored
-