Mesa Support For GPU Offloading With GLX DRI3, EGL Wayland
Davy wrote, "Currently Gpu offloading is supported only with GLX DRI2. You need to set it up with xrandr, and you need a DDX loaded for the secondary device, even if it has no screen. You use the DRI_PRIME env var to set up which Gpu the application should use. Unfortunately it has some issues: Rendering to a pixmap is unsupported, and you need either to be fullscreen, or to be in a composited environment to not get a black content. These patches add Gpu offloading support to GLX DRI3 and EGL Wayland. Most of the limitations mentioned above are addressed."
The patches allow for drirc settings as well as the DRI_PRIME environment variable for handling the GPU offloading in the newly-supported configurations.
Axel added, "The GLX DRI3 Gpu offloading implementation allows to render to a pixmap, and will get in sync the back and front buffer with copies. There is no need to be in a composited environment. The last patch allows blitImage to use dma copy on radeonsi. It gives a performance boost, especially in cpu limited benchmarks. This makes for these cards Gpu offloading faster for DRI3 than for DRI2. Nouveau already has an optimised blitImage path because it uses the 2D engine to copy."