G2D: accelerate CopyArea between different pixmaps in framebuffer
Now source and destination pixmaps don't need to be the same for
using G2D acceleration (as long as both of them are allocated in
the framebuffer). This allows using G2D to copy pixels from DRI2
buffers to the framebuffer on the fallback path (when the window
of an OpenGL ES application is partially overlapped by some other
windows). Though it only works when composite extension is
disabled, for example by adding the following to xorg.conf:
Section "Extensions"
Option "Composite" "Disable"
EndSection
If composite extension is enabled, windows have backing pixmaps, and
we have a longer chain of copies:
DRI2 buffer -> backing pixmap -> framebuffer
Because backing pixmap is not allocated in a physically contiguous
memory, it can't be copied using G2D yet.
Signed-off-by: Siarhei Siamashka <siarhei.siamashka@gmail.com>
Please register or sign in to comment