When the server gpu and requested gpu are different: . They likely don't support the same tiling modes . They likely do not have fast access to the same locations
Thus we do: . render to a tiled buffer we do not share with the server . Copy the content at every swap to a buffer with no tiling that we share with the server.
This is similar to the glx dri3 DRI_PRIME implementation.
4cd546d egl/wayland: Implement DRI_PRIME support
src/egl/drivers/dri2/egl_dri2.h | 3 +
src/egl/drivers/dri2/platform_wayland.c | 104 ++++++++++++++++++++++++++-----
2 files changed, 92 insertions(+), 15 deletions(-)
Upstream: cgit.freedesktop.org