diff options
author | Simon Ser <contact@emersion.fr> | 2021-01-16 22:31:53 +0100 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2021-01-16 22:52:26 +0100 |
commit | 9e98f497af38852bdfffa93aa3fe014f6c6a72e4 (patch) | |
tree | db00233fe1fcec7752be8922fb2c865a620b8ae1 | |
parent | 2f1191461349f29c0c6b995ad98c2dde7927ba9b (diff) |
backend/drm: use local DRM FD for wlr_rend
The new wlr_renderer_autocreate API is great for compositors, however
it causes some issues with DRM multi-GPU support.
A DRM child backend wants the compositor to use the parent GPU, so it
exposes the parent's DRM FD in get_drm_fd. However, in order to be able
to perform multi-GPU buffer copies, the child DRM backend still needs to
create a local renderer.
Use the new private wlr_renderer_autocreate_with_drm_fd function to
avoid creating a renderer for the parent GPU.
Fixes: e128e6c08dc0 ("render: drop egl parameters from wlr_renderer_autocreate")
-rw-r--r-- | backend/drm/renderer.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/backend/drm/renderer.c b/backend/drm/renderer.c index ec9975c5..d3b2c8b7 100644 --- a/backend/drm/renderer.c +++ b/backend/drm/renderer.c @@ -28,7 +28,7 @@ bool init_drm_renderer(struct wlr_drm_backend *drm, return false; } - renderer->wlr_rend = wlr_renderer_autocreate(&drm->backend); + renderer->wlr_rend = wlr_renderer_autocreate_with_drm_fd(drm->fd); if (!renderer->wlr_rend) { wlr_log(WLR_ERROR, "Failed to create EGL/WLR renderer"); goto error_gbm; |