On 05.04.2017 05:56, Timothy Arceri wrote:
In the following patch we will stop pre-processing shaders before
hashing them, so we just disable the cache if MESA_EXTENSION_OVERRIDE
is set.

Why can't you add the value of MESA_EXTENSION_OVERRIDE to the hash of shaders?

Cheers,
Nicolai


Tested-by: Grazvydas Ignotas <nota...@gmail.com>
---
 src/util/disk_cache.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/src/util/disk_cache.c b/src/util/disk_cache.c
index d9de8ef..dc883a3 100644
--- a/src/util/disk_cache.c
+++ b/src/util/disk_cache.c
@@ -167,20 +167,29 @@ disk_cache_create(const char *gpu_name, const char 
*timestamp)
 {
    void *local;
    struct disk_cache *cache = NULL;
    char *path, *max_size_str;
    uint64_t max_size;
    int fd = -1;
    struct stat sb;
    struct statvfs vfs = { 0 };
    size_t size;

+   /* We no longer pre-process shaders before hashing them so disable the
+    * cache if extensions are overridden.
+    *
+    * Note: Versions are part of the linked programs hash so we don't need
+    * to worry about those here.
+    */
+   if (getenv("MESA_EXTENSION_OVERRIDE"))
+      return NULL;
+
    /* If running as a users other than the real user disable cache */
    if (geteuid() != getuid())
       return NULL;

    /* A ralloc context for transient data during this invocation. */
    local = ralloc_context(NULL);
    if (local == NULL)
       goto fail;

    /* At user request, disable shader cache entirely. */



--
Lerne, wie die Welt wirklich ist,
Aber vergiss niemals, wie sie sein sollte.
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to