aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-05-01backend/x11: prevent segfault on empty DRI3 responseptrcnull
2023-04-20output-layer: add cropping supportSimon Ser
Add a src_box state field. Use the SRC_* KMS props in the DRM backend, reject the layers in the Wayland backend (for now, we can support it later via viewporter).
2023-04-19render/vulkan: fix signedness of strcmp() return valueSimon Ser
strcmp() returns a signed integer.
2023-04-19render/vulkan: use initializer in vulkan_change_layout_queue()Simon Ser
2023-04-19render/vulkan: remove extra newlineSimon Ser
2023-04-18render/vulkan: use full names for extension command fieldsSimon Ser
This makes grepping much easier.
2023-04-18xcursor: sync with libwaylandSimon Ser
xcursor.c was copied over from libwayland-cursor. A lot of cosmetic imporvements have been merged upstream. Copy-paste the new version.
2023-04-18seat: Provide dummy resources for inert seatsAndri Yngvason
2023-04-18seat: Let client manage its own resourcesAndri Yngvason
This makes seat_client resources inert when seats and/or input devices are destroyed, rather than destroying the resources. When the client calls e.g. wl_keyboard_release(), it's not expecting the keyboard global to be already destroyed, so this results in an error such as this: wl_display@1: error 0: invalid object 22
2023-04-18wlr_seat: Extract seat_client_create() functionAndri Yngvason
2023-04-16wlr_scene: Fix potential use-after-free in wlr_scene_buffer_set_bufferAlexander Orzechowski
Fixes: #3636
2023-04-14wlr_scene: Send presentation event before direct scanout output commitAlexander Orzechowski
We were doing it too late before and surfaces were never getting the presentation event.
2023-04-14compositor: add wlr_surface_set_preferred_buffer_transform()Simon Ser
References: https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/220
2023-04-14compositor: add wlr_surface_set_preferred_buffer_scale()Simon Ser
References: https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/220
2023-04-14compositor: pass version in wlr_compositor_createSimon Ser
This allows wlroots to support newer versions of the interface without breaking the API.
2023-04-14compositor: use defunct_role_object errorKirill Primak
2023-04-14subcompositor: use bad_parent errorKirill Primak
2023-04-14subcompositor: simplify get_subsurface handlerKirill Primak
2023-04-12render/gles2: use byte-aligned rows for glReadPixelsManuel Stoeckl
Setting the GLESv2 parameter GL_PACK_ALIGNMENT to 1 ensures that the stride of the glReadPixels output matches the value computed in `pack_stride`. Since the default value of GL_PACK_ALIGNMENT is 4, this does not make a difference under normal use; but without this patch the stride can be incorrect; for example, with RGB565 buffers and screenshots of regions with odd width.
2023-04-11xcursor: adjust style, use calloc()Simon Ser
Adjust the code style for wlroots, and use calloc() for structs.
2023-04-06output: Drop output_is_direct_scanoutAlexander Orzechowski
2023-04-06output-damage: dropSimon Ser
Compositors can migrate to wlr_damage_ring.
2023-04-06output: drop direct scan-out check in output_basic_test()Simon Ser
wlr_output is not well-suited to checking whether direct scan-out is happening or not. Compositors may want to use their own external swapchains, for instance. Additionally, ab7eabac8433 ("output: leverage wlr_output_configure_primary_swapchain()") makes it so output_basic_test() is called before the output swapchain is initialized, resulting in false positives. References: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3620
2023-04-06scene: check wlr_output_is_direct_scanout_allowed()Simon Ser
2023-04-06output: add wlr_output_is_direct_scanout_allowed()Simon Ser
This lets compositors check whether direct scan-out is possible. Compositors will soon be responsible for manually calling this function.
2023-04-04output-layer: add support for scaling buffersSimon Ser
This allows callers to set a destination size different from the buffer size to scale them. The DRM backend supports this. The Wayland backend doesn't yet (we'd need to wire up viewporter).
2023-03-28backend/wayland: only unmap layers when necessarySimon Ser
2023-03-28backend/wayland: only update layer position when necessarySimon Ser
2023-03-28backend/wayland: only re-order sub-surfaces when necessarySimon Ser
2023-03-28output-layer: cache current stateSimon Ser
The will be used by the Wayland backend to figure out whether updating sub-surface position is necessary.
2023-03-26render/vulkan: avoid double-close on sync_file FD after semaphore importSimon Ser
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3610
2023-03-24examples/touch: support touch cancel eventsRose Hudson
2023-03-24backend/wayland: support touch cancel eventsRose Hudson
since wayland doesn't provide a touch id in cancel events, track what points are active so we can cancel all of them timestamp is also not provided - use 0 because no one's paying attention to that anyway Closes #3000
2023-03-20backend/drm: log drm_connector_alloc_crtc() failuresSimon Ser
Helps figuring out why e.g. get_primary_formats fails.
2023-03-20backend/wayland: fix undefined reference to wlr_wl_input_device_get_seatzccrs
Amend b7e9ad79 to remove wlr_wl_input_device_get_seat definition. Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3611
2023-03-17examples/touch: fix incorrect event typeRose Hudson
2023-03-16drm_format_set: fix realloc sizeBrett Ernst
2023-03-12xdg-shell: improve unmapping logic slightlyKirill Primak
2023-03-10output-layer: require all layers in wlr_output_state.layersSimon Ser
- Simplifies the backends - Avoids having two ways to do the same thing: previously one could disable a layer by either omitting it from wlr_output_state.layers, or by passing a NULL buffer - We can change our mind in the future: we can allow users to omit some layers and define a meaning without breaking the API. References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4017#note_1783997
2023-03-10xdg-decoration: send missing protocol errorsIsaac Freund
2023-03-09xwm: emit new_surface/destroy on associate/dissociateKirill Primak
2023-03-09xwm: make atom_map staticKirill Primak
2023-03-09wlr_scene: Skip direct scanout if there is no damageAlexander Orzechowski
2023-03-07xwm: remove misleading commentKirill Primak
The surfaces are stored in the bottom-to-top order, as specified in include/xwayland/xwm.h and expected by wlr_xwayland_surface_restack().
2023-03-06gamma-control-v1: simplify get_gamma_control error handlingSimon Ser
Allocate resources only after checking the request.
2023-03-06gamma-control-v1: fix handling of duplicate controlSimon Ser
When a new client comes in and tries to create a zwlr_gamma_control_v1 object for an output which already has one, we were destroying the old object and early-returning. The early return causes the new object to not be set up properly: it's not inserted in the list and doesn't get the gamma_size event. Fix this by destroying the new object, and leave the old object intact, which is what was the intent I think. Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3605
2023-03-04tinywl: init server to zerosKirill Primak
This fixes e.g. accessing grabbed_view on a toplevel unmap if no toplevel was grabbed before.
2023-03-02xdg-shell: improve validation of resize edgesIsaac Freund
The current validation doesn't catch some invalid values such as 3 or 7.
2023-03-01backend/wayland: fix leak of some globalsSimon Ser
Fix a few globals which weren't properly cleaned up. Discovered in [1]. [1]: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3604
2023-03-01util/log: prefix WLR_REL_SRC_DIR with underscoreSimon Ser
Just like _WLR_FILENAME and _WLR_ATTRIB_PRINTF, this makes it more obvious that this isn't part of our API.