backend/drm: fix missing cursor on external monitors with multi-GPU setup and nouveau

We need to make the multi-GPU surface current before the glFinish call.

Closes: https://github.com/swaywm/sway/issues/5319
This commit is contained in:
JonnyMako 2020-05-11 01:51:41 -05:00 committed by GitHub
parent f72686c0b6
commit 1139234117
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1026,6 +1026,7 @@ static bool drm_connector_set_cursor(struct wlr_output *output,
} }
if (plane->cursor_enabled) { if (plane->cursor_enabled) {
drm_fb_acquire(&plane->pending_fb, drm, &plane->mgpu_surf);
/* Workaround for nouveau buffers created with GBM_BO_USER_LINEAR are /* Workaround for nouveau buffers created with GBM_BO_USER_LINEAR are
* placed in NOUVEAU_GEM_DOMAIN_GART. When the bo is attached to the * placed in NOUVEAU_GEM_DOMAIN_GART. When the bo is attached to the
* cursor plane it is moved to NOUVEAU_GEM_DOMAIN_VRAM. However, this * cursor plane it is moved to NOUVEAU_GEM_DOMAIN_VRAM. However, this