aboutsummaryrefslogtreecommitdiff
path: root/include/wlr/backend.h
AgeCommit message (Collapse)Author
2024-01-25backend: take wl_event_loop instead of wl_display in wlr_backend_autocreate()Simon Ser
2024-01-25backend: destroy multi backend when primary backend isSimon Ser
This makes it easy for compositors to handle situations where the DRM or libinput backend becomes unavailable. Compositors can listen the destroy event of the multi backend returned by wlr_backend_autocreate() and decide what to do.
2023-10-30backend: drop wlr_backend_get_presentation_clock()Simon Ser
We can just assume CLOCK_MONOTONIC everywhere. Simplifies the backend API, and fixes clock mismatches when multiple backends are used together with different clocks.
2022-11-24backend: stop pulling <wlr/backend/session.h>Simon Ser
We can just forward-declare the struct instead.
2022-11-15backend: drop wlr_backend_get_session()Simon Ser
This no longer has purpose.
2022-11-15backend: return wlr_session in wlr_backend_autocreate() callSimon Ser
Up until now, wlr_backend_autocreate() created the wlr_session and then stuffed it into struct wlr_multi_backend so that compositors can grab it later. This is an abuse of wlr_multi_backend and the wlr_backend API: wlr_backend_get_session() and wlr_multi_backend.session only exist to accomodate the needs of wlr_backend_autocreate(). What's more, the DRM and libinput backends don't implement wlr_backend_impl.get_session. Instead, return the struct wlr_session to the compositor in the wlr_backend_autocreate() call. wlr_backend_get_session() will be removed in the next commit.
2022-05-25Reformat doc commentsSimon Ser
Unify the way we document our APIs. See CONTRIBUTING.md for the rules.
2021-11-18backend: remove wlr_backend_get_rendererSimon Zeni
2021-11-18backend: remove backend_get_allocatorSimon Zeni
2021-07-28backend/drm: drop get_renderer implementationSimon Ser
We can now just rely on the common code for this.
2021-05-21backend: automatically create allocatorSimon Ser
Introduce a new backend_get_allocator function that automatically creates an allocator for the backend if the backend has a renderer.
2021-05-21backend: automatically create rendererSimon Ser
If a backend accepts buffers (as indicated by get_buffer_caps) but doesn't implement get_renderer, automatically create a renderer.
2021-04-12backend: move get_drm_fd to public interfaceRoman Gilg
The get_drm_fd was made available in an internal header with a53ab146f. Move it now to the public header so consumers opting in to the unstable interfaces can make use of it.
2021-01-07remove unnecessary egl includesSimon Zeni
2020-12-30Remove wlr_create_renderer_func_tSimon Ser
This callback allowed compositors to customize the EGL config used by the renderer. However with renderer v6 EGL configs aren't used anymore. Instead, buffers are allocated via GBM and GL FBOs are rendered to. So customizing the EGL config is a no-op.
2019-07-27Remove all wayland-server.h includesSimon Ser
The documentation for wayland-server.h says: > Use of this header file is discouraged. Prefer including > wayland-server-core.h instead, which does not include the server protocol > header and as such only defines the library PI, excluding the deprecated API > below. Replacing wayland-server.h with wayland-server-core.h allows us to drop the WL_HIDE_DEPRECATED declaration.
2018-10-04Rename get_present_clock to get_presentation clock, use itemersion
2018-10-04backend: add get_present_clockemersion
2018-09-24Rework session handlingnyorain
Sessions can now be retrieved from a backend in a more general manner. Multi-backend gets back its `session` field that contains the session if one was created, removing the interfacing from multi backend with the drm backend directly. This adds the possibility to use sessions even without the drm backend. It additionally fixes the bug that 2 session objects got created when WLR_BACKENDS were set to "libinput,drm". To allow vt switching without drm backend (and drm fd) on logind, start listening to PropertiesChanged signals from dbus and parse the session "Active" property when no master fd was created (this does not change current drm backend behaviour in any way).
2018-07-29Initial pass on API stability guaranteesDrew DeVault
This introduces -DWLR_USE_UNSTABLE and adds information regarding the stability status to all headers. I started with a conservative set of headers to mark as stable: - types/wlr_matrix.h - util/edges.h - util/log.h - util/region.h - xcursor.h
2018-05-25backends: implement custom EGL and renderer initializationIlia Bozhinov
Compositors now have more control over how the backend creates its renderer. Currently all backends create an EGL/GLES2 renderer, so the necessary attributes for creating the context are passed to a user-provided callback function. It is responsible for initializing provided wlr_egl and to return a renderer. On fail, return 0. Fixes #987
2018-04-08backend: remove wlr_backend_get_eglemersion
2018-04-03Implement input inhibit in rootstonDrew DeVault
2018-03-19Write some more docsDrew DeVault
2018-02-19Revert "ELF Visibility"Drew DeVault
2018-02-19Remove usec_to_msec from public APIScott Anderson
2018-02-12Remove wlr_backend.events.{output_remove,device_remove}emersion
2018-01-23Backport screenshooter fixes from the renderer redesign v1emersion
This backports some changes to #319 to fix the screenshooter data format. This also adds wlr_backend_get_renderer which will be useful to support multiple renderers.
2017-12-19add backend destroy eventTony Crisci
2017-10-30remove time usecTony Crisci
2017-10-22Move egl.h to render/egl.hScott Anderson
2017-09-23Use more consistent include guard namesemersion
2017-08-13wlr_backend_init -> wlr_backend_startDrew DeVault
Also renames create to init. We'll use create for anything that allocates and init for anything that takes a pointer and initializes it.
2017-08-12Refactor out wlr_backend_state from wl/multiDrew DeVault
2017-08-10Refactor EGL handlingDrew DeVault
2017-08-06Changed header paths.Scott Anderson
2017-08-06Changed ownership of wlr_session to the multi backend.Scott Anderson
Currently breaks VT switching for examples.
2017-06-13Initialize keyboards from libinputDrew DeVault
2017-05-31Generalize DPMS, remove DRM refs from exampleDrew DeVault
2017-05-07Generalize output handlingDrew DeVault
2017-05-07Refactor backend state managementDrew DeVault
2017-04-25Flesh out wayland backend somewhat, add exampleDrew DeVault