Mesa (main): mesa: add environment variable MESA_NO_SHADER_REPLACEMENT

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Aug 31 18:48:41 UTC 2021


Module: Mesa
Branch: main
Commit: dab8bded4d256ff3e4bfcdd561985db60e9452b6
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=dab8bded4d256ff3e4bfcdd561985db60e9452b6

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Fri Aug 20 12:25:34 2021 -0400

mesa: add environment variable MESA_NO_SHADER_REPLACEMENT

for performance comparisons

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer at amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12492>

---

 src/mesa/main/shaderapi.c | 24 +++++++++++++-----------
 1 file changed, 13 insertions(+), 11 deletions(-)

diff --git a/src/mesa/main/shaderapi.c b/src/mesa/main/shaderapi.c
index 955790f274d..93819241a75 100644
--- a/src/mesa/main/shaderapi.c
+++ b/src/mesa/main/shaderapi.c
@@ -2043,20 +2043,22 @@ _mesa_read_shader_source(const gl_shader_stage stage, const char *source)
 
    generate_sha1(source, sha);
 
-   const char *process_name =
-      ARRAY_SIZE(shader_replacements) ? util_get_process_name() : NULL;
-   for (size_t i = 0; i < ARRAY_SIZE(shader_replacements); i++) {
-      if (stage != shader_replacements[i].stage)
-         continue;
+   if (!debug_get_bool_option("MESA_NO_SHADER_REPLACEMENT", false)) {
+      const char *process_name =
+         ARRAY_SIZE(shader_replacements) ? util_get_process_name() : NULL;
+      for (size_t i = 0; i < ARRAY_SIZE(shader_replacements); i++) {
+         if (stage != shader_replacements[i].stage)
+            continue;
 
-      if (shader_replacements[i].app &&
-          strcmp(process_name, shader_replacements[i].app) != 0)
-         continue;
+         if (shader_replacements[i].app &&
+             strcmp(process_name, shader_replacements[i].app) != 0)
+            continue;
 
-      if (memcmp(sha, shader_replacements[i].sha1, 40) != 0)
-         continue;
+         if (memcmp(sha, shader_replacements[i].sha1, 40) != 0)
+            continue;
 
-      return load_shader_replacement(&shader_replacements[i]);
+         return load_shader_replacement(&shader_replacements[i]);
+      }
    }
 
    if (!path_exists)



More information about the mesa-commit mailing list