diff options
-rw-r--r-- | src/compiler/glsl/glsl_parser_extras.cpp | 9 | ||||
-rw-r--r-- | src/compiler/glsl/shader_cache.cpp | 7 |
2 files changed, 6 insertions, 10 deletions
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); |