aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-11-22render: drop legacy rendering APISimon Ser
2023-11-22render/vulkan: drop legacy rendering APISimon Ser
2023-11-22render/pixman: drop legacy rendering APISimon Ser
2023-11-22render/gles2: drop legacy rendering APISimon Ser
2023-11-22output/cursor: drop legacy rendering APISimon Ser
2023-11-22render: drop legacy render passSimon Ser
All built-in renderers now implement the new API.
2023-11-21input-inhibitor: dropKirill Primak
wlr_input_inhibitor.h has been marked as deprecated in 0.17.0.
2023-11-21build: bump version to 0.18.0-devSimon Ser
2023-11-21tinywl: fix wlroots dependency constraint in MakefileSimon Ser
2023-11-21build: bump version to 0.17.0Simon Ser
2023-11-21render/vulkan: undo alpha premult for 8-bpc ARGB/ABGRManuel Stoeckl
When a texel from the Vulkan format VK_FORMAT_B8G8R8A8_SRGB is read, the sRGB to linear conversion is applied independently to the R, G, and B channels; the A channel has no influence on this. However, DRM_FORMAT_ARGB8888 buffers are, per Wayland protocol, not encoded in this fashion; one must first unpremultiply the color channels before doing sRGB to linear conversion. This commit switches to handling ARGB8888 and ABGR8888 formats using the general fragment shader conversion from electrical to optical values.
2023-11-20linux-dmabuf-v1: skip import check on split render/display SoCsSimon Ser
Unfortunately we have no way to get back the proper render node in that case. This will be fixed with [1]: with that Mesa patch, the wlr_renderer will return the proper render node and the existing logic will work fine. [1]: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24825 Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3757
2023-11-20screencopy: Use box size instead for shm copyAlexander Orzechowski
This doesn't change functionality, both the values are the same. Less confusing to use the box size.
2023-11-20screencopy: Move frame bounds sanity check into common codeAlexander Orzechowski
2023-11-20screencopy: Define proper destination for dmabuf copyAlexander Orzechowski
Leaving this empty would have it filled in with the size of the source texture, but we want the destination size. Fixes: #3758
2023-11-19backend/drm: drop unnecessary flags in legacy interfaceSimon Ser
drm_crtc_commit() already ensures that atomic-only flags are disallowed.
2023-11-19backend/drm: add wlr_drm_connector_state.nonblockSimon Ser
Instead of having this condition checked in multiple places, centralize it so that they don't go out-of-sync.
2023-11-19backend/drm: fix pending page-flip checkSimon Ser
This chunk of code was moved by mistake. Fixes: 3b53d1cbf199 ("backend/drm: introduce page-flip tracking struct")
2023-11-19xcursor: don't store NULL xcursorsKirill Primak
2023-11-19xcursor: fix NULL deref on malloc() failKirill Primak
2023-11-17backend/drm: Destroy page flips on backend destroyAlexander Orzechowski
When we destroy the backend, page flips will no longer be invoked meaning those won't clean up the page flips for us.
2023-11-17backend/drm: Track page flips in listAlexander Orzechowski
2023-11-17backend/drm: introduce page-flip tracking structSimon Ser
Introduce a per-page-flip tracking struct passed to the kernel when we request a page-flip event for an atomic commit. The kernel will pass us back this pointer when delivering the event. This eliminates any risk of mixing up events together. In particular, if two events are pending, or if the CRTC of a connector is swapped, we no longer blow up in the page-flip event handler. Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3753
2023-11-17backend/drm: free fb latersunzhguy
since 4932e0d347f("backend/drm: ensure plane surfaces are cleaned up on shutdown") at finish_drm_resources called drm_plane_finsh_surface has already free the fb Signed-off-by: zhoulei zhoulei@kylinos.cn Signed-off-by: sunzhguy <sunzhigang1@kylinos.cn>
2023-11-17xwayland: fix user_event_handler mfk530
Don't break and free event as the commont says: wlr-xwayland will free the event.
2023-11-15wlr_scene: Update outputs if subpixel status changesAlexander Orzechowski
This is important for buffers that are meant to render any sort of text.
2023-11-15wlr_scene: Update outputs when primary output is changedAlexander Orzechowski
Helpers care about the primary output. They need to know when it changes even if intersection status has not changed necessarily.
2023-11-15wlr_scene: Update outputs when output scale/transform changesAlexander Orzechowski
We want to call the outputs updated signal when an output scale or transform changes. Otherwise helpers like the scene surface helpers will not be notified of scale changes and not pass them to clients.
2023-11-15backend/drm: leave CRTCs on when shutting downSimon Ser
This avoids a black screen during multiple seconds on shutdown. To fully allow for flicker-free transitions between DRM masters, we will also need [1]. [1]: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4394 Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3497
2023-11-15backend/drm: ensure plane surfaces are cleaned up on shutdownSimon Ser
Right now this is done "by chance" because we disable all CRTCs on shutdown. However, we'll stop doing this. Plus, if disabling a CRTC fails, we don't cleanup properly.
2023-11-14Add missing type declarations in headersKirill Primak
2023-11-14wlr_scene: Introduce wlr_scene_subsurface_tree_set_clipAlexander Orzechowski
2023-11-14wlr_scene_surface: Introduce scene_surface_set_clipAlexander Orzechowski
2023-11-14set_buffer_with_surface_state: Take whole surface structAlexander Orzechowski
2023-11-14wlr_scene_subsurface_tree: Addon to sceneAlexander Orzechowski
We will need this later so that we can determine the subsurface tree that owns any given scene node.
2023-11-14wlr_scene: Amend scene_buffer.point_accepts_input to take coordinate pointersAlexander Orzechowski
The pointers mean that we can mutate them. This will be useful later so we can hide details from the compositor when we clip subsurface trees.
2023-11-14tinywl: don't use "I"/"my" in docsKirill Primak
2023-11-14tinywl: fix xdg_toplevel_destroy() docsKirill Primak
2023-11-14tinywl: stop using the word "view" to refer to toplevelsSimon Ser
"View" has been cargo-culted from Weston. In Weston, a view is not even necessarily a toplevel -- it's just a way to draw an arbitrary somewhere (a surface may be painted at multiple locations simultaneously). The Weston concept has been misunderstood and then was carried over to rootston, Sway, and tinywl. Let's just use the official Wayland wording instead.
2023-11-13tinywl: fix crash when previously focused surface is not a toplevelSimon Ser
It can be e.g. a popup. Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3754
2023-11-13xdg-shell: add wlr_xdg_{toplevel,popup}_try_from_wlr_surface()Simon Ser
Convenience helpers for compositors. Saves them the trouble of manually checking the role (and if they forget to do so, prevents an invalid cast).
2023-11-06wlr-output-management: Send custom modes to clientsVäinö Mäkelä
Since commit 5567aefb, fixed modes haven't been automatically generated for custom modes, so the output management implementation needs to be able to handle them directly. To avoid polluting the mode list, only a single custom mode can be listed at a time and will be removed when a fixed mode is set. Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3744
2023-11-02ci: halt on UBSan error in smoke testSimon Ser
By default UBSan prints a message and carries on, which makes it easy to miss errors.
2023-11-01xcursor: add fallbacks for legacy namesSimon Ser
Some XCursor themes still use the legacy names instead of the newer cursor naming spec [1]. Fall back to the legacy name if the standard one could not be found. [1]: https://www.freedesktop.org/wiki/Specifications/cursor-spec/ Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3746
2023-10-31Remove unnecessary codeJiDe Zhang
Not needs set GL_DEPTH_TEST, Because when rendering to a framebuffer that has no depth buffer, depth testing always behaves as though the test is disabled, The initial value for each capability with the exception of GL_DITHER is GL_FALSE.
2023-10-31cursor: log missing XCursorSimon Ser
Log a debug message when the XCursor theme is missing a cursor. Eases debugging. References: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3746
2023-10-31wlr_cursor: update cursor when output enable and transform changedsunzhguy
Signed-off-by: zhoulei <zhoulei@kylinos.cn> Signed-off-by: sunzhguy <sunzhigang1@kylinos.cn>
2023-10-30backend: drop wlr_backend_get_presentation_clock()Simon Ser
We can just assume CLOCK_MONOTONIC everywhere. Simplifies the backend API, and fixes clock mismatches when multiple backends are used together with different clocks.
2023-10-29xdg-toplevel: don't send maximized if tiled is requested but not supportedKirill Primak
This is a bit too magical and may break compositors which try not to send duplicate configure events.
2023-10-26xwayland: add wlr_xwayland_set_workareas()John Lindgren
This function allows compositors to set the _NET_WORKAREA property on the root window. XWayland clients use _NET_WORKAREA to determine how much of the screen is not covered by panels/docks. The property is used for example by Qt to determine areas of the screen that popup menus should not overlap (see QScreen::availableVirtualGeometry).