aboutsummaryrefslogtreecommitdiff
path: root/backend
diff options
context:
space:
mode:
authorSimon Ser <contact@emersion.fr>2021-01-16 22:31:53 +0100
committerSimon Ser <contact@emersion.fr>2021-01-16 22:52:26 +0100
commit9e98f497af38852bdfffa93aa3fe014f6c6a72e4 (patch)
treedb00233fe1fcec7752be8922fb2c865a620b8ae1 /backend
parent2f1191461349f29c0c6b995ad98c2dde7927ba9b (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")
Diffstat (limited to 'backend')
-rw-r--r--backend/drm/renderer.c2
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;