aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-05-11wlr_drm_format: Make structure constant lengthAlexander Orzechowski
Don't store modifiers as part of the struct.
2023-05-11wlr_drm_format_set: Remove redundant text in comment for finish functionAlexander Orzechowski
This is implied by the fact that this function finishes the state instead of destroying it.
2023-05-11wlr_drm_format: Introduce drm_format_finishAlexander Orzechowski
2023-05-11render/vulkan: enable NV12 on big-endianSimon Ser
This format doesn't change its layout on big endian because it's not packed and has 8-bit channels.
2023-05-10wlr-export-dmabuf-v1: handle output destroySimon Ser
We were storing a wlr_output without listening for the destroy event. Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3646
2023-05-09render/vulkan: improve logging when creating textureSimon Ser
Remove debug logs when a texture is created, since this happens pretty often. Use drmGetFormatName() and drmGetFormatModifierName() to log DRM formats and modifiers.
2023-05-08wlr_cursor: Don't multiply hotspot by scale^2Alexander Orzechowski
We are already multiplying in output_cursor_set_texture
2023-05-08backend/drm: fix di_info memory leakzhoulei
2023-05-06wlr_cursor: Consider surface state when setting new cursor surfaceAlexander Orzechowski
Found by inspection
2023-05-06render/vulkan: increase next descriptor pool sizeManuel Stoeckl
This ensures that the pool sizes grow exponentially, making the number of pools needed logarithmic in the number of descriptors, instead of linear. Since the first pool's size is 256, this change only has an effect when the compositor creates a large number of textures.
2023-05-06output: drop wlr_output_cursor_set_surfaceSimon Ser
2023-05-06cursor: add surface handlingSimon Ser
Only rely on wlr_output_cursor_set_texture(), because wlr_output_cursor_set_surface() will get dropped.
2023-05-06output: add output_cursor_set_texture()Simon Ser
2023-05-04render/vulkan: add support for NV12Simon Ser
2023-05-04drm_format_set_intersect: Require initialized dst and remove assertAlexander Orzechowski
The usages in linux_dmabuf zero out the dst before passing it so this change should be fine.
2023-05-04drm_format_set_union: Require initialized dst and remove assertAlexander Orzechowski
2023-05-04xwayland: allow compositor to set withdrawn statenovenary
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