[Replicant] [PATCH 0/7] Per process libagl/llvmpipe
andresdju at gmail.com
Thu Aug 15 19:04:26 UTC 2019
Selection of libagl or llvmpipe at EGL link time. It's based
on the work of Jookia and JeremyRand, but it uses files for
configuration instead of properties or symlinks.
First it looks for files with the names libGLES_mesa and
libGLES_android (in this order) inside
/data/data/<app directory>/, it links to the first it finds.
Then it looks for a file with process name inside
/system/etc/libGLES_mesa/ and /system/etc/libGLES_android/
(again in this order). This is useful for processes that
don't have app folder in the data partition, like
surfaceflinger, system-server or bootanimation.
Surfaceflinger should definitely use libagl, because it's
extremely slow with llvmpipe.
The solution is not elegant but it's simple and I don't
except this to be used in Replicant 9 or latter.
Andrés Domínguez (2):
Change symlinks to files and static paths
Allow overrides of zygote's libGLES preload. Default to mesa
EGL Loader patch to use both LLVMpipe and libagl at once
EGL renderer override: use symlinks instead of properties to specify
Fix some type fails in EGL renderer override
Fix documentation typo in EGL renderer override
Fix checking of access() return value in EGL renderer override
opengl/libs/EGL/Loader.cpp | 140 ++++++++++++++++++++++++++++++-------
1 file changed, 114 insertions(+), 26 deletions(-)
More information about the Replicant