[Mesa-dev] [PATCH 6/6] util: disable cache if we have no build-id and timestamp is zero
Timothy Arceri
tarceri at itsqueeze.com
Wed Sep 19 02:13:28 UTC 2018
Timestamp can be zero for example when Flatpack is used. In this
case just disable the cache rather then segfaulting when
incompatible cache items are loaded.
---
src/amd/vulkan/radv_device.c | 4 ----
src/util/disk_cache.h | 6 ++++++
2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c
index f9169d9d012..7d915c68aaa 100644
--- a/src/amd/vulkan/radv_device.c
+++ b/src/amd/vulkan/radv_device.c
@@ -61,10 +61,6 @@ radv_get_build_id(void *ptr, struct mesa_sha1 *ctx)
} else
#endif
if (disk_cache_get_function_timestamp(ptr, ×tamp)) {
- if (!timestamp) {
- fprintf(stderr, "radv: The provided filesystem timestamp for the cache is bogus!\n");
- }
-
_mesa_sha1_update(ctx, ×tamp, sizeof(timestamp));
} else
return false;
diff --git a/src/util/disk_cache.h b/src/util/disk_cache.h
index 962a26ffc8c..c37acd75830 100644
--- a/src/util/disk_cache.h
+++ b/src/util/disk_cache.h
@@ -102,6 +102,12 @@ disk_cache_get_function_timestamp(void *ptr, uint32_t* timestamp)
return false;
}
*timestamp = st.st_mtime;
+
+ if (!timestamp) {
+ fprintf(stderr, "Mesa: The provided filesystem timestamp for the cache "
+ "is bogus! Disabling On-disk cache.\n");
+ }
+
return true;
}
--
2.17.1
More information about the mesa-dev
mailing list