Commit graph

10 commits

Author SHA1 Message Date
Kenny Levinsen
5a786d96d0 WIP Introduce WLR_GBM_EXPLICIT_UPGRADE
When the `WLR_GBM_EXPLICIT_UPGRADE` flag is set to 1, the GBM allocator
will attempt to "upgrade" buffers allocated with implicit modifiers to
be managed with explicit modifiers.

This is useful to enable the conservative modifier fallback for the
Vulkan renderer on drivers/hardware that fully support implicit and
explicit modifiers, including being able to report the modifier of an
implicitly allocated BO.
2025-11-25 15:51:11 +01:00
Simon Ser
7cf8e80ffe render/allocator: add udmabuf allocator
udmabuf can create a DMA-BUF backed by a memfd. This is useful
when running with a software implementation of GL/Vulkan: the memfd
can be passed to the parent compositor via wl_shm and the DMA-BUF
can be imported via the usual APIs into GL/Vulkan.
2024-12-22 21:37:57 +00:00
Simon Ser
c0945b6613 render/allocator: drop allocator_autocreate_with_drm_fd()
This is now unused.
2024-11-07 18:55:01 +01:00
Simon Ser
4ec1defb3e all: use public <wlr/render/allocator.h>
We don't need to use the private header in these files.
2024-11-07 18:48:20 +01:00
Austin Shafer
d368028bd5 allocator: remove backend parameter in allocator_autocreate_with_drm_fd
Since we only use the backend capabilities here we can simply pass
them in directly. This allows other locations to create an allocator
even if they don't have a backend. They can simply specify the caps
they want instead.
2024-02-02 16:36:31 -05:00
Kirill Primak
a09d649439 docs: replace the less commonly used "::" with "." 2023-10-02 22:10:16 +03:00
Simon Zeni
02a1ae169e render/allocator: make wlr_allocator part of the public API 2021-11-09 15:26:36 +00:00
Elyes HAOUAS
dc3d1530bf Fix spelling errors
Signed-off-by: Elyes HAOUAS <ehaouas@noos.fr>
2021-10-02 10:22:13 +02:00
Simon Ser
ee6c841d47 render/allocator/gbm: fix create() docs for FD ownership
Fixes: d9d8fc1ab9 ("render/allocator: re-open GBM FD")
2021-09-01 21:34:34 +02:00
Simon Ser
3ce2ea9e16 Move allocator stuff into new directory
Add render/allocator/ and include/render/allocator/ to hold
everything allocator-related.
2021-08-25 09:57:20 -04:00