On 2017-10-20 16:24:54, Jason Ekstrand wrote: > On Thu, Oct 19, 2017 at 3:25 PM, Timothy Arceri <tarc...@itsqueeze.com> > wrote: > > > Maybe add to docs? > > > > I'm not sure how I feel about that. I'm scared to death of options like > this becoming something some random user on the internet decides they > should use because it keeps the pre-populated shader cache they downloaded > work.
It should only work in DEBUG builds, so I don't think I'm as worried about the random user issue. I share your concern about documenting it, but if it clearly said "in DEBUG builds", then I guess it'd probably be okay. > To be honest, I'd probably feel more comfortable about it being > hidden behind an "if (0) {" so that you can't get to it without hacking up > the driver. I think I'm ok with it as-is though. I guess at that point you could just add this to disk_cache.c: timestamp = "now"; Why don't I just drop this patch for now. (But, I did make use of it quite a bit.) -Jordan > > > On 19/10/17 16:32, Jordan Justen wrote: > > > >> The MESA_GLSL_CACHE_TIMESTAMP environment variable can be set to > >> override the driver timestamp. Usually the driver will specify a hash > >> of their driver build so the cache items become invalid with each > >> driver build. > >> > >> We don't guarantee a stable serialized shader cache format, so > >> changing the timestamp for each build is required for safety. > >> > >> Nevertheless, during debug, making small changes to the driver may be > >> known to be safe. The driver developer can use this variable to keep > >> the timestamp consistent. When debugging issues on an application for > >> which the shader cache greatly lowers the startup time, this can save > >> the developer significant time. > >> > >> Signed-off-by: Jordan Justen <jordan.l.jus...@intel.com> > >> --- > >> src/util/disk_cache.c | 12 ++++++++++++ > >> 1 file changed, 12 insertions(+) > >> > >> diff --git a/src/util/disk_cache.c b/src/util/disk_cache.c > >> index fde6e2e097..54f48a8ba5 100644 > >> --- a/src/util/disk_cache.c > >> +++ b/src/util/disk_cache.c > >> @@ -208,6 +208,18 @@ disk_cache_create(const char *gpu_name, const char > >> *timestamp, > >> if (env_var_as_boolean("MESA_GLSL_CACHE_DISABLE", false)) > >> goto fail; > >> +#ifdef DEBUG > >> + /* For debug builds, MESA_GLSL_CACHE_TIMESTAMP can be set to override > >> the > >> + * driver specified timestamp. This will allow small changes to be > >> made to > >> + * the driver without invalidating the cache. Given that this is > >> normally > >> + * unsafe, it is only allowed for debug builds. > >> + */ > >> + const char *timestamp_override = getenv("MESA_GLSL_CACHE_TIMESTAMP"); > >> + if (timestamp_override) { > >> + timestamp = timestamp_override; > >> + } > >> +#endif > >> + > >> /* Determine path for cache based on the first defined name as > >> follows: > >> * > >> * $MESA_GLSL_CACHE_DIR > >> > >> _______________________________________________ > > mesa-dev mailing list > > mesa-dev@lists.freedesktop.org > > https://lists.freedesktop.org/mailman/listinfo/mesa-dev > > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev