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: e128e6c08d
("render: drop egl parameters from wlr_renderer_autocreate")
This commit is contained in:
parent
2f11914613
commit
9e98f497af
|
@ -28,7 +28,7 @@ bool init_drm_renderer(struct wlr_drm_backend *drm,
|
||||||
return false;
|
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) {
|
if (!renderer->wlr_rend) {
|
||||||
wlr_log(WLR_ERROR, "Failed to create EGL/WLR renderer");
|
wlr_log(WLR_ERROR, "Failed to create EGL/WLR renderer");
|
||||||
goto error_gbm;
|
goto error_gbm;
|
||||||
|
|
Loading…
Reference in New Issue