mesa: Easier shader capture for android
authorRob Clark <robdclark@chromium.org>
Thu, 9 Apr 2020 16:39:09 +0000 (09:39 -0700)
committerMarge Bot <emma+marge@anholt.net>
Sat, 12 Mar 2022 16:41:59 +0000 (16:41 +0000)
I've typed this patch a few times already.. lets just add some debug
code which can be easily switched on so I don't have to type it again.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15336>

src/mesa/main/shaderapi.c

index a3af026..b94297e 100644 (file)
@@ -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 <sys/stat.h>
+#include <sys/types.h>
+#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;