Mesa (master): glsl: Switch to disable-by-default for the GLSL shader cache

Timothy Arceri tarceri at kemper.freedesktop.org
Mon Jan 30 22:51:59 UTC 2017


Module: Mesa
Branch: master
Commit: 0f60c6616e93cba72bff4fbfedb72a753ef78e05
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0f60c6616e93cba72bff4fbfedb72a753ef78e05

Author: Carl Worth <cworth at cworth.org>
Date:   Mon Mar 16 11:46:20 2015 -0700

glsl: Switch to disable-by-default for the GLSL shader cache

The shader cache is expected to be developed incrementally over a
fairly long series of commits. For that period of instability, we
require users to opt into the shader cache by setting:

	MESA_GLSL_CACHE_ENABLE=1

In the future, when the shader cache is complete, we can revert this
commit so that the cache will be on by default.

The user can always disable the cache with
MESA_GLSL_CACHE_DISABLE=1. That functionality is not affected by this
commit, (nor will it be affected by the future revert).

Reviewed-by: Eric Anholt <eric at anholt.net>

---

 src/compiler/glsl/tests/cache_test.c | 5 +++++
 src/util/disk_cache.c                | 7 +++++++
 2 files changed, 12 insertions(+)

diff --git a/src/compiler/glsl/tests/cache_test.c b/src/compiler/glsl/tests/cache_test.c
index 0ef05aa..8547141 100644
--- a/src/compiler/glsl/tests/cache_test.c
+++ b/src/compiler/glsl/tests/cache_test.c
@@ -388,6 +388,11 @@ main(void)
 #ifdef ENABLE_SHADER_CACHE
    int err;
 
+   /* While the shader cache is still experimental, this variable must
+    * be set or the cache does nothing.
+    */
+   setenv("MESA_GLSL_CACHE_ENABLE", "1", 1);
+
    test_disk_cache_create();
 
    test_put_and_get();
diff --git a/src/util/disk_cache.c b/src/util/disk_cache.c
index 6de608c..551ceeb 100644
--- a/src/util/disk_cache.c
+++ b/src/util/disk_cache.c
@@ -151,6 +151,13 @@ disk_cache_create(void)
    if (getenv("MESA_GLSL_CACHE_DISABLE"))
       goto fail;
 
+   /* As a temporary measure, (while the shader cache is under
+    * development, and known to not be fully functional), also require
+    * the MESA_GLSL_CACHE_ENABLE variable to be set.
+    */
+   if (!getenv("MESA_GLSL_CACHE_ENABLE"))
+      goto fail;
+
    /* Determine path for cache based on the first defined name as follows:
     *
     *   $MESA_GLSL_CACHE_DIR




More information about the mesa-commit mailing list