summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTimothy Arceri <[email protected]>2019-01-19 10:45:07 +1100
committerTimothy Arceri <[email protected]>2019-01-19 10:45:07 +1100
commit860a9e4849cfcab7ab0b80ab87864815b442c405 (patch)
treef8c397157e6f1299cb434c16f0594d148183498f /src
parent5486c9d526f393eff4b189e0e0a44eafeedf4407 (diff)
Revert "glsl: be much more aggressive when skipping shader compilation"
This reverts commit 64b8c86d37ebb1e1d286c69d642d52b7bcf051d3. Reverting for now as it was causing some segfaults.
Diffstat (limited to 'src')
-rw-r--r--src/compiler/glsl/glsl_parser_extras.cpp9
-rw-r--r--src/compiler/glsl/shader_cache.cpp7
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);