gecko-dev/gfx/gl
Jed Davis 2257145e1c Bug 1635451 - Minimize content processes' connections to the X server. r=jgilbert,stransky,nika
This patch launches content processes with the `MOZ_HEADLESS` env var set
if they're using GTK with an X11 display (and there's no other reason
they'd need GTK).

The goal is to avoid exhausting Xorg's default limit of 256 clients if
there are many content processes due to Fission.  If these conditions
are met, the content process doesn't need to eagerly connect to the X
server.  This does not affect the sandbox policy, and content processes
can still use X if needed for, e.g.,  WebGL.

The boolean pref `dom.ipc.avoid-gtk`, set by default, controls this
feature.  In the future it could also be extended to minimize GTK use
with Wayland displays.

Note that disabling `widget.non-native-theme.enabled`, which is also
enabled by default, will restore the use of X11 in all content processes
even if this pref is set; the alternative is that widgets wouldn't render
in that case.

This change will also save some memory for now-unnecessary instances of
GTK's global state, and improve content process startup time.

Remove also the temp pref dom.ipc.remote-mozIcon because it cannot work
anymore with the content process being headless.

Differential Revision: https://phabricator.services.mozilla.com/D112197
2021-07-06 07:42:42 +00:00
..
AndroidNativeWindow.h
AndroidSurfaceTexture.cpp
AndroidSurfaceTexture.h
DecomposeIntoNoRepeatTriangles.cpp
DecomposeIntoNoRepeatTriangles.h
ForceDiscreteGPUHelperCGL.h
GfxTexturesReporter.cpp
GfxTexturesReporter.h
GLBlitHelper.cpp Bug 1685183 Part 1: Make MacIOSurface always use 1.0 scale, and update callsites. r=jgilbert 2021-04-08 16:42:06 +00:00
GLBlitHelper.h Bug 1679522 - Fix include directives and forward declarations. r=andi,necko-reviewers,jgilbert 2021-03-25 10:19:44 +00:00
GLBlitHelperD3D.cpp
GLConsts.h
GLConsts.py
GLContext.cpp Bug 1702394 - Work around small memory leaks in Mesa drivers. r=jgilbert 2021-04-30 16:20:15 +00:00
GLContext.h Bug 1702394 - Work around small memory leaks in Mesa drivers. r=jgilbert 2021-04-30 16:20:15 +00:00
GLContextCGL.h
GLContextEAGL.h
GLContextEGL.h Bug 1519636 - Reformat recent changes to the Google coding style. r=necko-reviewers,emilio 2021-06-17 11:00:22 +00:00
GLContextFeatures.cpp
GLContextGLX.h Bug 1635451 - Allow GLX to work in headless content processes. r=jgilbert 2021-07-06 07:42:42 +00:00
GLContextProvider.h
GLContextProviderCGL.mm Bug 1700524 - Rename aWebRender of CreateForCompositorWidget() to aHardwareWebRender r=jgilbert 2021-04-07 07:04:43 +00:00
GLContextProviderEAGL.mm Bug 1700524 - Rename aWebRender of CreateForCompositorWidget() to aHardwareWebRender r=jgilbert 2021-04-07 07:04:43 +00:00
GLContextProviderEGL.cpp Bug 1716559 - Remove TextureImageEGL. r=jnicol,jgilbert 2021-06-15 21:10:47 +00:00
GLContextProviderGLX.cpp Bug 1635451 - Allow GLX to work in headless content processes. r=jgilbert 2021-07-06 07:42:42 +00:00
GLContextProviderImpl.h Bug 1700524 - Rename aWebRender of CreateForCompositorWidget() to aHardwareWebRender r=jgilbert 2021-04-07 07:04:43 +00:00
GLContextProviderNull.cpp Bug 1700524 - Rename aWebRender of CreateForCompositorWidget() to aHardwareWebRender r=jgilbert 2021-04-07 07:04:43 +00:00
GLContextProviderWayland.cpp Bug 1635451 - Minimize content processes' connections to the X server. r=jgilbert,stransky,nika 2021-07-06 07:42:42 +00:00
GLContextProviderWGL.cpp Bug 1700524 - Rename aWebRender of CreateForCompositorWidget() to aHardwareWebRender r=jgilbert 2021-04-07 07:04:43 +00:00
GLContextProviderX11.cpp Bug 1700524 - Rename aWebRender of CreateForCompositorWidget() to aHardwareWebRender r=jgilbert 2021-04-07 07:04:43 +00:00
GLContextSymbols.h
GLContextTypes.h
GLContextWGL.h
GLDebugUtils.cpp
GLDebugUtils.h
GLDefs.h
GLLibraryEGL.cpp Backed out changeset c30c8b8dc0b5 (bug 1715902) on Dev's request. CLOSED TREE 2021-06-11 15:48:11 +03:00
GLLibraryEGL.h Backed out changeset c30c8b8dc0b5 (bug 1715902) on Dev's request. CLOSED TREE 2021-06-11 15:48:11 +03:00
GLLibraryLoader.cpp
GLLibraryLoader.h
GLReadTexImageHelper.cpp
GLReadTexImageHelper.h
GLScreenBuffer.cpp
GLScreenBuffer.h
GLTextureImage.cpp Bug 1712367. Avoid TexSubImage ES slow path. r=jgilbert,sotaro 2021-06-17 13:24:05 +00:00
GLTextureImage.h Bug 1712367. Avoid TexSubImage ES slow path. r=jgilbert,sotaro 2021-06-17 13:24:05 +00:00
GLTypes.h
GLUploadHelpers.cpp Bug 1712367. Avoid TexSubImage ES slow path. r=jgilbert,sotaro 2021-06-17 13:24:05 +00:00
GLUploadHelpers.h Bug 1712367. Avoid TexSubImage ES slow path. r=jgilbert,sotaro 2021-06-17 13:24:05 +00:00
GLXLibrary.h Bug 1635451 - Allow GLX to work in headless content processes. r=jgilbert 2021-07-06 07:42:42 +00:00
HeapCopyOfStackArray.h
moz.build Bug 1716559 - Remove TextureImageEGL. r=jnicol,jgilbert 2021-06-15 21:10:47 +00:00
MozFramebuffer.cpp
MozFramebuffer.h
ScopedGLHelpers.cpp
ScopedGLHelpers.h
SharedSurface.cpp
SharedSurface.h
SharedSurfaceAndroidHardwareBuffer.cpp
SharedSurfaceAndroidHardwareBuffer.h
SharedSurfaceANGLE.cpp Bug 1697670 - Remove gfx::YUVColorSpace::UNKNOWN. r=mstange 2021-03-19 00:58:23 +00:00
SharedSurfaceANGLE.h
SharedSurfaceD3D11Interop.cpp Bug 1697670 - Remove gfx::YUVColorSpace::UNKNOWN. r=mstange 2021-03-19 00:58:23 +00:00
SharedSurfaceD3D11Interop.h
SharedSurfaceDMABUF.cpp
SharedSurfaceDMABUF.h
SharedSurfaceEGL.cpp
SharedSurfaceEGL.h
SharedSurfaceGL.cpp
SharedSurfaceGL.h
SharedSurfaceGLX.cpp
SharedSurfaceGLX.h
SharedSurfaceIO.cpp Bug 1685183 Part 2: Remove scale factor from SurfaceDescriptorMacIOSurface. r=jgilbert 2021-04-08 16:42:06 +00:00
SharedSurfaceIO.h
SurfaceTypes.h
WGLLibrary.h