mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2025-12-22 08:56:28 -05:00
backend/drm: implement drm lease function
This commit is contained in:
parent
42dba9dc90
commit
e5a949a955
6 changed files with 128 additions and 0 deletions
|
|
@ -37,6 +37,7 @@ struct wlr_drm_plane {
|
|||
|
||||
struct wlr_drm_crtc {
|
||||
uint32_t id;
|
||||
uint32_t lessee_id;
|
||||
|
||||
// Atomic modesetting only
|
||||
uint32_t mode_id;
|
||||
|
|
@ -119,6 +120,7 @@ struct wlr_drm_connector {
|
|||
enum wlr_drm_connector_status status;
|
||||
bool desired_enabled;
|
||||
uint32_t id;
|
||||
uint32_t lessee_id;
|
||||
|
||||
struct wlr_drm_crtc *crtc;
|
||||
uint32_t possible_crtcs;
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ union wlr_drm_connector_props {
|
|||
uint32_t path;
|
||||
uint32_t vrr_capable; // not guaranteed to exist
|
||||
uint32_t subconnector; // not guaranteed to exist
|
||||
uint32_t non_desktop;
|
||||
|
||||
// atomic-modesetting only
|
||||
|
||||
|
|
|
|||
|
|
@ -33,6 +33,20 @@ bool wlr_output_is_drm(struct wlr_output *output);
|
|||
*/
|
||||
uint32_t wlr_drm_connector_get_id(struct wlr_output *output);
|
||||
|
||||
/**
|
||||
* Leases a given output to the caller. The output must be from the associated
|
||||
* DRM backend.
|
||||
* Returns a valid opened DRM FD or -1 on error.
|
||||
*/
|
||||
int wlr_drm_create_lease(struct wlr_output **outputs, size_t n_outputs,
|
||||
uint32_t *lessee_id);
|
||||
|
||||
/**
|
||||
* Terminates a given lease. The output will be owned again by the backend
|
||||
*/
|
||||
bool wlr_drm_backend_terminate_lease(struct wlr_backend *backend,
|
||||
uint32_t lessee_id);
|
||||
|
||||
/**
|
||||
* Add mode to the list of available modes
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -141,6 +141,9 @@ struct wlr_output {
|
|||
bool frame_pending;
|
||||
float transform_matrix[9];
|
||||
|
||||
// true for example with VR headsets
|
||||
bool non_desktop;
|
||||
|
||||
struct wlr_output_state pending;
|
||||
|
||||
// Commit sequence number. Incremented on each commit, may overflow.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue