Age | Commit message (Collapse) | Author | |
---|---|---|---|
2023-06-03 | seat: Allow binding to inert seats | Väinö Mäkelä | |
If a seat is destroyed while a client is trying to bind it, wlroots needs to create an inert seat resource instead of crashing. | |||
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 | cursor: fix wl_pointer.set_cursor hotspot updates | Simon Ser | |
A client might update the cursor with the same wl_surface as before, but with a different hotspot. Don't ignore such updates. Fixes: 9c9e3f626350 ("cursor: ignore wlr_cursor_set_surface() with same surface") | |||
2023-06-02 | session-lock: fix buffer check | Kirill Primak | |
If the first commit has no buffer, the unmap hook won't catch it. Check in the commit hook instead. | |||
2023-06-02 | session-lock: remove unused wlr_session_lock_surface_v1.events.map | Kirill Primak | |
2023-06-02 | xwm: check for a buffer before mapping | 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 | cursor: unset wlr_output_cursor.texture on surface destroy | Simon Ser | |
When the surface is destroyed, its current wlr_texture is about to get destroyed as well. Reset wlr_output_cursor.texture to prevent use-after-free. Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3652 | |||
2023-06-02 | cursor: ignore wlr_cursor_set_surface() with same surface | Simon Ser | |
Avoids damaging the output and rendering the cursor again if it hasn't changed. | |||
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. | |||
2023-06-02 | Revert "xwm: emit new_surface/destroy on associate/dissociate" | Kirill Primak | |
Firing new_surface when a wlr_surface is associated to the X11 window is too late: the X11 client might've sent configure events before that. This reverts commit 039cca8a51ed0783d45fb7a5215e9ae83e4e02e2. Fixes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3606 | |||
2023-06-01 | render/vulkan: improve error handling in vulkan_begin_render_pass() | Simon Ser | |
Release the command buffer if we end up not submitting it. | |||
2023-06-01 | render/vulkan: improve error handling in render_pass_submit() | Simon Ser | |
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3644 | |||
2023-05-31 | backend/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-31 | render/vulkan: handle vulkan_record_stage_cb() failures | Simon Ser | |
2023-05-31 | backend/drm: move forward decl up for drmModeModeInfo | Simon Ser | |
This allows doc generators to properly associate the doc comment with the function instead of the typedef. | |||
2023-05-30 | output/cursor: use new rendering API | Simon Ser | |
2023-05-30 | examples: convert to new rendering API | Simon Ser | |
Left out multi-pointer (will be removed) and quads (requires arbitrary rotation). | |||
2023-05-30 | backend/drm: use new rendering API | Simon Ser | |
2023-05-30 | output: add wlr_output_begin_render_pass() | Simon Ser | |
2023-05-30 | wlr_scene: Introduce wlr_scene_buffer_set_opacity | Alexander Orzechowski | |
2023-05-30 | wlr_scene: Make scene_rect_from_node public | Alexander 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-30 | wlr_scene: Make scene_tree_from_node public | Alexander 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-30 | wlr_scene: Add documentation to wlr_scene_buffer_from_node | Alexander Orzechowski | |
2023-05-30 | render/vulkan: implement render pass API | Simon Ser | |
2023-05-28 | renderer/gles2: Implement render pass interface | Alexander Orzechowski | |
2023-05-28 | renderer/gles2: Compute texture coordinates based off of vertex positions | Alexander Orzechowski | |
2023-05-28 | renderer/gles2: Merge get_buffer and create_buffer | Alexander Orzechowski | |
2023-05-28 | renderer/gles2: Interpret matrix as column major in shader | Alexander Orzechowski | |
Avoids us needing to transpose. | |||
2023-05-28 | render/vulkan: add 10, 12, and 16-bit YCbCr formats | Simon Ser | |
2023-05-26 | output: use pending render format if any | Simon Ser | |
If a modeset contains a render format change, use that instead of the current one stored in wlr_output.render_format. This fixes render_bit_depth configuration not being applied without a second modeset in Sway. | |||
2023-05-26 | render/vulkan: document TEXTURE_TRANSFORM_* in shader | Simon Ser | |
2023-05-26 | render/vulkan: drop unused vulkan_has_extension() | Simon Ser | |
2023-05-26 | render/vulkan: drop unused vulkan_change_layout_queue() | Simon Ser | |
2023-05-24 | render/egl: check for EGL_EXT_device_query in get_egl_device_from_drm_fd() | Simon Ser | |
We use eglQueryDeviceStringEXT() later on, which is optional and requires support for the EGL_EXT_device_query extension. | |||
2023-05-24 | render/vulkan: de-dup pipeline layout initialization | Simon Ser | |
2023-05-24 | render/vulkan: add more YCbCr formats | Simon Ser | |
The Vulkan spec states: > For the purposes of range expansion and Y′CBCR model conversion, > the R and B components contain color difference (chroma) values > and the G component contains luma. The equations below that sentence also help understand the mapping. | |||
2023-05-24 | render/vulkan: require support for linear filter for YCbCr | Simon Ser | |
YCBCR_CONVERSION_LINEAR_FILTER is not enough: this one only covers chromaFilter. For magFilter/minFilter we need FILTER_LINEAR as well. | |||
2023-05-24 | render/vulkan: check format support before creating YCbCr sampler | Simon Ser | |
We need to check whether the format supports dma_tex_ycbcr_features before creating the YCbCr sampler. | |||
2023-05-24 | render/vulkan: generalize YCbCr format support | Simon Ser | |
2023-05-24 | render/vulkan: add init_{default,ycbcr}_pipeline_layout() | Simon Ser | |
2023-05-24 | render/vulkan: add vulkan_get_pipeline_layout() | Simon Ser | |
Will make it easier to add more pipeline layouts for other YCbCr formats. |