This repository has been archived by the owner on Nov 1, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 340
Improve multi-GPU buffer sharing #1347
Labels
Comments
From issues we had with #1531 this doesn't seem possible on some drivers (radeon) because they can't scan-out from DMA-BUFs (which don't live in VRAM, but in system memory) directly. It would make more sense to copy the bo from system memory to VRAM, instead of using GL, but GBM doesn't have a way to copy buffers. |
Weston has a bunch of checks to figure out if a buffer is suitable for scan-out. Maybe we could try to scan-out and fallback to a copy if it doesn't work, too. |
emersion
changed the title
Zero-copy multi-GPU texture sharing
Improve multi-GPU buffer sharing
May 29, 2020
Use-cases:
We could try these strategies:
|
The copy could be improved with:
|
This comment has been minimized.
This comment has been minimized.
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
On multi-GPU setups we render everything on one primary GPU and then we copy buffers around to display them on secondary GPUs. This is done by exporting a DMA-BUF on the primary GPU, importing it on the secondary GPU, and rendering it on the secondary GPU:
wlroots/backend/drm/renderer.c
Line 216 in 11dc1f6
Instead we should use direct scan-out to skip rendering on the secondary GPU. This could be the groundwork for #1270.
wlroots has migrated to gitlab.freedesktop.org. This issue has been moved to:
https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/1347
The text was updated successfully, but these errors were encountered: