diff --git a/src/mesa/main/shaderapi.c b/src/mesa/main/shaderapi.c index a3af026481e..b94297e56b3 100644 --- a/src/mesa/main/shaderapi.c +++ b/src/mesa/main/shaderapi.c @@ -155,6 +155,14 @@ _mesa_get_shader_flags(void) return flags; } +#define ANDROID_SHADER_CAPTURE 0 + +#if ANDROID_SHADER_CAPTURE +#include "util/u_process.h" +#include +#include +#endif + /** * Memoized version of getenv("MESA_SHADER_CAPTURE_PATH"). */ @@ -167,6 +175,15 @@ _mesa_get_shader_capture_path(void) if (!read_env_var) { path = getenv("MESA_SHADER_CAPTURE_PATH"); read_env_var = true; + +#if ANDROID_SHADER_CAPTURE + if (!path) { + char *p; + asprintf(&p, "/data/shaders/%s", util_get_process_name()); + mkdir(p, 0755); + path = p; + } +#endif } return path;