Go to file
Jonas Ådahl c9259c2b15 renderer-native: Add hybrid GPU system support
A hybrid GPU system is a system where more than one GPU is connected to
connectors. A common configuration is having a integrated GPU (iGPU)
connected to a laptop panel, and a dedicated GPU (dGPU) connected to
one or more external connector (such as HDMI).

This commit adds support for rendering the compositor stage using the
iGPU, then copying the framebuffer content onto a secondary framebuffer
that will be page flipped on the CRTC of the dGPU.

This can work in two different ways: GPU accelerated using Open GL ES
3, or CPU unaccelerated.

When supported, GPU accelerated copying works by exporting the iGPU
onscreen framebuffer as a DMA-BUF, importing it as a texture on a
separate dGPU EGL context, then using glBlitFramebuffer(), blitting it
onto a framebuffer on the dGPU that can then be page flipped on the dGPU
CRTC.

When GPU acceleration is not available, copying works by creating two
dumb buffers, and each frame glReadPixels() from the iGPU EGL render
context directly into the dumb buffer. The dumb buffer is then page
flipped on the dGPU CRTC.

https://bugzilla.gnome.org/show_bug.cgi?id=785381
2017-10-06 13:18:12 -04:00
clutter Remove unscaled-font-dpi setting from X11 backend 2017-09-25 22:01:11 +01:00
cogl cogl: Add way to pass user data when setting custom renderer winsys 2017-10-05 18:10:30 -04:00
data Use Unicode quotation marks in a translatable string 2017-08-29 18:08:08 +02:00
doc Remove gtk-doc 2015-07-06 00:52:18 -07:00
po [l10n] Updated Catalan (Valencian) translation 2017-10-05 14:15:49 +02:00
src renderer-native: Add hybrid GPU system support 2017-10-06 13:18:12 -04:00
tools Clean up the source tree 2014-03-18 20:37:35 -04:00
.gitignore project: add **/tags.* to gitignore 2017-10-03 15:55:11 -03:00
autogen.sh Fix bashism in autogen.sh 2017-05-11 13:45:44 +02:00
configure.ac build: Fetch pipewire micro version 2017-10-05 22:11:14 +02:00
COPYING Updated obsolete FSF postal address in COPYING 2014-01-13 11:35:48 -05:00
Makefile.am Fix the merged build 2016-04-27 20:37:47 +02:00
mutter.doap doap: add <programming-language> 2014-07-31 17:50:28 +02:00
NEWS Bump version to 3.26.1 2017-10-04 01:11:31 +02:00