aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-05-04xwayland: enable use of a xserver subprojectSimon Ser
Makes it easier to work on Xwayland and wlroots features in parallel. References: https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1048
2023-05-04render/vulkan: fix code style for function bracketsSimon Ser
2023-05-04wlr_compositor: Decide opacity from new has_buffer flag.Alexander Orzechowski
`wlr_surface_get_texture` will always return NULL if the compositor was not given a renderer.
2023-05-04wlr_compositer: Keep track if surface has committed a buffer before.Alexander Orzechowski
This would break if you are running with a NULL renderer.
2023-05-03drm_format_set: Mark as unstableAlexander Orzechowski
This is supposed to be an unstable interface and it was a mistake that this header was not included.
2023-05-03linux_dmabuf_v1: Use wlr_drm_format_set_unionAlexander Orzechowski
2023-05-03Add union function for format setsAustin Shafer
2023-05-03output/cursor: fix buffer size when nested and scaledSimon Ser
The Wayland, X11 and headless backends don't really care about the cursor size. We were picking a size identical to the texture size in that case. This is incorrect for LoDPI cursor textures on HiDPI outputs: in that case, we need to scale up the cursor texture. Fixes the cursor being chopped off under the Wayland backend with scale > 1.
2023-05-02render: introduce blend modeSimon Ser
Allow callers to pick the blend mode when rendering a rect. The "none" mode can be used to disable blending and clear rects.
2023-05-02render/pixman: fix scaling in render_pass_add_texture()Simon Ser
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3642 Fixes: 6830bfc17fd9 ("render/pixman: implement render pass API")
2023-05-02tinywl: Release everything before destroyAlexander Orzechowski
This makes -Db_sanatize=address happy.
2023-04-28render/vulkan: use VK_KHR_synchronization2Simon Ser
This simplifies the vkQueueSubmit call, removing the need to pass timeline semaphore point values as separate arrays.
2023-04-25render/pixman: implement render pass APISimon Ser
2023-04-25render/pixman: add begin_pixman_data_ptr_access()Simon Ser
This logic is used twice.
2023-04-25scene: port to wlr_render_passSimon Ser
2023-04-25output: add wlr_output_add_software_cursors_to_render_pass()Simon Ser
Same as wlr_output_render_software_cursors(), but takes a struct wlr_render_pass.
2023-04-25render/pass: add legacy render pass implementationSimon Ser
Add a render pass implementation which leverages the legacy rendering API. This is helpful during the migration.
2023-04-25render: add render pass helpersSimon Ser
2023-04-25Add a new renderer APISimon Ser
Goals: - Extensibility: we need to be able to add new params to the calls to render a texture/rect. For instance we'll need to add fences to the render texture operation for explicit sync purposes. - No implicit state: no more bind_buffer, begin, end. - No matrices: these hurt Pixman and we don't need them. - Clip regions for optimized damage repainting. Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3188
2023-04-25xcursor: Resolve warning in xcursor_build_theme_dirEdgars Cīrulis
Signed-off-by: Edgars Cīrulis <edgarsscirulis@gmail.com>
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.