From: Timothy Arceri Date: Fri, 18 Jan 2019 23:45:07 +0000 (+1100) Subject: Revert "glsl: be much more aggressive when skipping shader compilation" X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=860a9e4849cfcab7ab0b80ab87864815b442c405;p=mesa.git Revert "glsl: be much more aggressive when skipping shader compilation" This reverts commit 64b8c86d37ebb1e1d286c69d642d52b7bcf051d3. Reverting for now as it was causing some segfaults. --- diff --git a/src/compiler/glsl/glsl_parser_extras.cpp b/src/compiler/glsl/glsl_parser_extras.cpp index 655399a8128..200df7759bb 100644 --- a/src/compiler/glsl/glsl_parser_extras.cpp +++ b/src/compiler/glsl/glsl_parser_extras.cpp @@ -2155,15 +2155,6 @@ _mesa_glsl_compile_shader(struct gl_context *ctx, struct gl_shader *shader, delete state->symbols; ralloc_free(state); - - if (ctx->Cache) { - char sha1_buf[41]; - disk_cache_put_key(ctx->Cache, shader->sha1); - if (ctx->_Shader->Flags & GLSL_CACHE_INFO) { - _mesa_sha1_format(sha1_buf, shader->sha1); - fprintf(stderr, "marking shader: %s\n", sha1_buf); - } - } } } /* extern "C" */ diff --git a/src/compiler/glsl/shader_cache.cpp b/src/compiler/glsl/shader_cache.cpp index 581098b88f0..879511a9d7c 100644 --- a/src/compiler/glsl/shader_cache.cpp +++ b/src/compiler/glsl/shader_cache.cpp @@ -121,15 +121,20 @@ shader_cache_write_program_metadata(struct gl_context *ctx, if (!cache_item_metadata.keys) goto fail; + char sha1_buf[41]; for (unsigned i = 0; i < prog->NumShaders; i++) { + disk_cache_put_key(cache, prog->Shaders[i]->sha1); memcpy(cache_item_metadata.keys[i], prog->Shaders[i]->sha1, sizeof(cache_key)); + if (ctx->_Shader->Flags & GLSL_CACHE_INFO) { + _mesa_sha1_format(sha1_buf, prog->Shaders[i]->sha1); + fprintf(stderr, "marking shader: %s\n", sha1_buf); + } } disk_cache_put(cache, prog->data->sha1, metadata.data, metadata.size, &cache_item_metadata); - char sha1_buf[41]; if (ctx->_Shader->Flags & GLSL_CACHE_INFO) { _mesa_sha1_format(sha1_buf, prog->data->sha1); fprintf(stderr, "putting program metadata in cache: %s\n", sha1_buf);