android: Disable trying to read/write to the disk cache.

We need the disk cache enabled in Android to get EGL_ANDROID_blob_cache's
callbacks called, but we don't actually want to store anything on disk.
Fixes "Failed to create //.cache for shader cache (Read-only file
system)---disabling." spam on init.

Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6762>
This commit is contained in:
Eric Anholt
2020-09-18 10:42:52 -07:00
committed by Marge Bot
parent 25b36d900a
commit ee4cee6dbd
2 changed files with 15 additions and 0 deletions

View File

@@ -204,6 +204,13 @@ test_disk_cache_create(void)
disk_cache_destroy(cache);
#ifdef ANDROID
/* Android doesn't try writing to disk (just calls the cache callbacks), so
* the directory tests below don't apply.
*/
exit(error ? 1 : 0);
#endif
/* Test with XDG_CACHE_HOME set */
setenv("XDG_CACHE_HOME", CACHE_TEST_TMP "/xdg-cache-home", 1);
cache = disk_cache_create("test", "make_check", 0);

View File

@@ -95,6 +95,14 @@ disk_cache_create(const char *gpu_name, const char *driver_id,
/* Assume failure. */
cache->path_init_failed = true;
#ifdef ANDROID
/* Android needs the "disk cache" to be enabled for
* EGL_ANDROID_blob_cache's callbacks to be called, but it doesn't actually
* want any storing to disk to happen inside of the driver.
*/
goto path_fail;
#endif
char *path = disk_cache_generate_cache_dir(local);
if (!path)
goto path_fail;