aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-03-03xwayland: add dependency on xwaylandSimon Ser
Check that the pkg-config file is available. This will be required in the future to check whether xwayland supports features such as -listenfd, -initfd or -verbose. If there's no pkg-config file, check that the Xwayland executable is available. This effectively makes our relationship with xwayland closer to what a dynamic library is: checked at build-time, but can be overridden at run-time.
2021-02-28backend/session: fix KMS device filteringSimon Ser
As explained in [1], user-space should perform a drmModeGetResources call to figure out whether a device supports KMS. [1]: https://gitlab.freedesktop.org/mesa/drm/-/merge_requests/127
2021-02-23readme: use references for linksSimon Ser
Avoids cluttering the text with URLs.
2021-02-23readme: use spaces for list indentSimon Ser
2021-02-23readme: make it clear build/ is a dirSimon Ser
Can be confused with a sub-command for people not familiar with Meson and ninja.
2021-02-23examples: add libdrm partial dependency for compositorsSimon Ser
Fixes: 675bc396583f ("Fix wl_shm_format passed to wlr_texture_from_pixels")
2021-02-23Fix wl_shm_format passed to wlr_texture_from_pixelsSimon Ser
Fixes: 27fba3df4347 ("render: use DRM formats in wlr_texture_from_pixels")
2021-02-23buffer: add missing convert_wl_shm_format_to_drm callSimon Ser
Fixes: 27fba3df4347 ("render: use DRM formats in wlr_texture_from_pixels") Closes: https://github.com/swaywm/wlroots/issues/2757
2021-02-23build: rollback -Wformat=2Simon Ser
Causes some build failures on Clang. Fixes: 4b43aebdc7ed ("build: add -Wformat=2 -Walloca")
2021-02-23build: add -Wformat=2 -WallocaSimon Ser
2021-02-23Remove unnecessary wayland-server-protocol.h includesSimon Ser
2021-02-23render: use DRM formats in wlr_texture_from_pixelsSimon Ser
2021-02-23render: use DRM formats in wlr_renderer_read_pixelsSimon Ser
2021-02-23output: use DRM format in wlr_output_preferred_read_formatSimon Ser
2021-02-23render: use DRM formats in wlr_renderer_get_shm_texture_formatsSimon Ser
2021-02-23render/gles2: replace wlr_gles2_texture.wl_format with drm_formatSimon Ser
2021-02-23render/gles2: convert format table to DRM formatsSimon Ser
2021-02-23render/shm_format: add wl_shm_format conversion helpersSimon Ser
2021-02-19render/gles2: remove current_buffer checksSimon Ser
All backends now use wlr_swapchain. This means the renderer is guaranteed to have a current_buffer bound. Remove the legacy code used for EGLSurface.
2021-02-19render/gles2: check buffer stride when uploading textureSimon Ser
If the stride is too small, the driver could end up segfaulting (e.g. radeonsi segfaults in __memmove_sse2_unaligned_erms).
2021-02-18backend: add error messages in attach_render implsSimon Ser
2021-02-17surface: don't send protocol error on invalid buffer sizeSimon Ser
A libwayland-cursor bug [1] makes many clients crash. [1]: https://gitlab.freedesktop.org/wayland/wayland/-/issues/194 Fixes: 91fa2ff3959a ("surface: check buffer size is compatible with scale") Closes: https://github.com/swaywm/sway/issues/6014
2021-02-17surface: move INVALID_SIZE check into surface_state_finalizeSimon Ser
This fixes some build warnings. Closes: https://github.com/swaywm/wlroots/issues/2740 References: https://github.com/swaywm/wlroots/pull/2736
2021-02-15build: bump meson version to 0.56.0Simon Ser
Fixes this warning: WARNING: Project targeting '>=0.54.0' but tried to use feature introduced in '0.56.0': variables as dictionary. Fixes: 6f873078d4c0 ("build: use dictionnary for features instead of configuration_data")
2021-02-15Replace leftover conf_data with featuresSimon Ser
2021-02-15text_input_v3: correct typo in enum fieldTadeo Kondrak
2021-02-15build: set pkg-config variables for our featuresSimon Ser
this avoids having to parse the config.h file from builds systems of projects using wlroots.
2021-02-15build: set have_* dep variables for our featuresSimon Ser
This allows users to to something like this when wlroots is used as a subproject: wlr_has_xwayland = wlroots.get_variable('have_xwayland') Instead of having to parse conf_data from the subproject object.
2021-02-15build: use dictionnary for features instead of configuration_dataSimon Ser
This allows us to easily iterate on all features and only deal with bools.
2021-02-15xwayland/selection: flush connection after changing xwm selection ownerTudor Brindus
This was the actual underlying cause of #2192; we were not getting the XFIXES_SELECTION_NOTIFY event in time.
2021-02-15xwayland/selection: log when proxy window loses ownershipTudor Brindus
2021-02-15xwayland/selection: ignore requests for anything but the newest dataTudor Brindus
Our internal state machine gets screwed up if selection events are not monotonically increasing in time, and we can enter a self-copy loop from the proxy window that exhausts all pipes. Snippet of logs when this occurs: 00:00:46.238 [wlr] [xwayland/selection/incoming.c:487] XCB_XFIXES_SELECTION_NOTIFY (selection=277, owner=4194626) 00:00:46.238 [wlr] [xwayland/selection/incoming.c:487] XCB_XFIXES_SELECTION_NOTIFY (selection=277, owner=2097153) 00:00:46.238 [wlr] [xwayland/selection/outgoing.c:378] XCB_SELECTION_REQUEST (time=58979563 owner=2097153, requestor=2097153 selection=277, target=279, property=278) 00:00:46.238 [wlr] [xwayland/selection/outgoing.c:397] ignoring old request from timestamp 58979563; expecting > 58979563 00:00:46.238 [wlr] [xwayland/selection/outgoing.c:29] SendEvent destination=2097153 SelectionNotify(31) time=58979563 requestor=2097153 selection=277 target=279 property=0 00:00:46.238 [wlr] [xwayland/selection/incoming.c:453] XCB_SELECTION_NOTIFY (selection=277, property=0, target=279) Note that 2097153 is `selection->window`, and 4194626 is Emacs. The race occurs if the selection owner changes back to our proxy window between when we get `XCB_XFIXES_SELECTION_NOTIFY` for Emacs and when we call `xcb_convert_selection` in `incoming.c:source_send` -- the ConvertSelection request can end up hitting our proxy window, but the timestamp will be rejected. Fixes #2192.
2021-02-14examples: remove wlroots dep from client examplesSimon Ser
There is one exception: layer-shell still uses wlr_log. Would need to convert to fprintf to drop the wlroots dep there. Fixes: 34e7f69d6942 ("examples: remove dependency on wlr_egl from clients")
2021-02-14examples: drop wlr/render/egl.h include from client examplesSimon Ser
We use egl_common.h instead. Fixes: 34e7f69d6942 ("examples: remove dependency on wlr_egl from clients")
2021-02-14examples: drop wlroots dep from egl_common.cSimon Ser
Just use fprintf instead of wlr_log.
2021-02-08xdg-foreign: rename finish_* functions to destroy_*Tadeo Kondrak
They free their argument, so the name is more clear.
2021-02-08xdg-foreign: Make imported object inert when exported is destroyedTadeo Kondrak
Fixes a double-free experienced with Firefox and xdg-desktop-portal-gtk.
2021-02-08build: remove extra whitespaceSimon Ser
2021-02-08surface: check buffer size is compatible with scaleSimon Ser
This relies on [1]. [1]: https://gitlab.freedesktop.org/wayland/wayland/-/commit/8d5fadad47aad420b0d83fffc8ad573766a9c75e
2021-02-08seat: use WL_SEAT_ERROR_CAPABILITYSimon Ser
Depends on [1]. [1]: https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/79
2021-02-08backend/x11: drop x11-xcb dependencySimon Ser
We don't need it anymore now that we've stopped using the EGL Xlib platform.
2021-02-07tablet_v2: Fix implicit grab end detectionJustus Rossmeier
Store the previously focused surface in `state->focused` as well as in `state->original` when starting an implicit grab. That way at the end of an implicit grab, the detection whether the grab started and ended on the same surface works as intended, even if the original surface was never left at all.
2021-02-06region: remove leftover description of resource_listBrandon Dowdy
"resource_list" no longer exists for regions. Remove the last remaining description of what it does.
2021-02-05render/gles2: remove YUV blocklistSimon Ser
Mesa provides YUV shaders, and can import multi-planar YUV DMA-BUFs as a single EGLImage. Remove the arbitrary limitation. If the driver doesn't support importing YUV as a single EGLImage, the import will fail and the result will be the same anyways.
2021-02-05backend/x11: use native cursorsIlia Mirkin
Fixes #2659
2021-02-05xwayland: free render picture backing cursorIlia Mirkin
Otherwise it gets leaked never to be recovered.
2021-02-05Make implementation function lists static constManuel Stoeckl
This requires a change to the type of `struct wlr_tablet` and `wlr_tablet_init` signature, both of which are part of the unstable API.
2021-02-05xcursor: make cursor data and metadata constManuel Stoeckl
2021-02-05xwayland/xwm: make atom_map constManuel Stoeckl
2021-02-04readme: fix typo in xcb-icccm dependencySimon Ser