Hello; Here's a refactored series of EGL_ANDROID_blob_cache. Now cache functions are stored in disk_cache struct and the functionality called within existing disk_cache put/get code. Problems/errors that existed with earlier series are gone.
On Android cache index file is created to MESA_GLSL_CACHE_DIR and blobs are generated under '/data/user_de/0' in application specific paths: androidia_64:/ # find /data/user_de/0/ -name *shader* /data/user_de/0/com.android.settings/code_cache/com.android.opengl.shaders_cache /data/user_de/0/com.android.gallery3d/code_cache/com.android.opengl.shaders_cache /data/user_de/0/com.android.systemui/code_cache/com.android.opengl.shaders_cache /data/user_de/0/com.rovio.angrybirdsspace.ads/code_cache/com.android.opengl.shaders_cache (this part is managed by Android but may be interesting to know). Also SurfaceFlinger manages its own cache as seen in the log output: 01-15 07:40:26.329 2129 2129 D SurfaceFlinger: shader cache generated - 24 shaders in 57.687504 ms I'm not sure if /sdcard is sane default but I've tried everything else (/cache, /data/cache) and failed because of permission errors. Thanks; Tapani Pälli (7): dri: add interface for EGL_ANDROID_blob_cache extension egl: add support for EGL_ANDROID_blob_cache disk cache: add callback functionality disk cache: support setting MESA_GLSL_CACHE_DIR at compile time i965: add __DRI2_BLOB support and set cache functions android: ignore MESA_GLSL_CACHE_DISABLE setting android: set '/sdcard/' as MESA_GLSL_CACHE_DIR by default Android.common.mk | 1 + include/GL/internal/dri_interface.h | 26 +++++++++++++- src/egl/drivers/dri2/egl_dri2.c | 43 ++++++++++++++++++++++++ src/egl/drivers/dri2/egl_dri2.h | 4 +++ src/egl/main/eglapi.c | 29 ++++++++++++++++ src/egl/main/eglapi.h | 4 +++ src/egl/main/egldisplay.h | 3 ++ src/egl/main/eglentrypoint.h | 1 + src/mesa/drivers/dri/i965/brw_disk_cache.c | 2 ++ src/mesa/drivers/dri/i965/intel_screen.c | 21 ++++++++++++ src/util/disk_cache.c | 54 +++++++++++++++++++++++++++++- src/util/disk_cache.h | 19 +++++++++++ 12 files changed, 205 insertions(+), 2 deletions(-) -- 2.14.3 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev