From: Timothy Arceri <timothy.arc...@collabora.com> This will allow us to skip certain things when falling back to a full recompile on a cache miss such as avoiding reinitialising uniforms.
In this chage we use it to avoid reading the program metadata from the cache and skipping linking during a fallback. --- src/compiler/glsl/shader_cache.cpp | 2 +- src/mesa/main/mtypes.h | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/compiler/glsl/shader_cache.cpp b/src/compiler/glsl/shader_cache.cpp index 320afe1..583db47 100644 --- a/src/compiler/glsl/shader_cache.cpp +++ b/src/compiler/glsl/shader_cache.cpp @@ -1273,7 +1273,7 @@ shader_cache_read_program_metadata(struct gl_context *ctx, return false; struct disk_cache *cache = ctx->Cache; - if (!cache) + if (!cache || prog->data->cache_fallback) return false; for (unsigned i = 0; i < prog->NumShaders; i++) { diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index a845a39..c7ca182 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -2684,6 +2684,8 @@ struct gl_shader_program_data unsigned NumUniformDataSlots; union gl_constant_value *UniformDataSlots; + bool cache_fallback; + /** List of all active resources after linking. */ struct gl_program_resource *ProgramResourceList; unsigned NumProgramResourceList; -- 2.9.3 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev