[Mesa-dev] [PATCH 1/3] st/mesa: improve shader cache debug info
Timothy Arceri
tarceri at itsqueeze.com
Thu May 18 05:22:16 UTC 2017
This will explicitly state that we are following the fallback
path when we find invalid/corrupt cache items. It will also
output the fallback message when the fallback path is forced
via an environment variable, the following patches will allow
this.
---
src/mesa/state_tracker/st_shader_cache.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/mesa/state_tracker/st_shader_cache.c b/src/mesa/state_tracker/st_shader_cache.c
index 23416c0..175d69d 100644
--- a/src/mesa/state_tracker/st_shader_cache.c
+++ b/src/mesa/state_tracker/st_shader_cache.c
@@ -361,32 +361,34 @@ st_load_tgsi_from_disk_cache(struct gl_context *ctx,
st_set_prog_affected_state_flags(glprog);
_mesa_associate_uniform_storage(ctx, prog, glprog->Parameters,
false);
free(buffer);
} else {
/* Failed to find a matching cached shader so fallback to recompile.
*/
if (ctx->_Shader->Flags & GLSL_CACHE_INFO) {
- fprintf(stderr, "TGSI cache item not found falling back to "
- "compile.\n");
+ fprintf(stderr, "TGSI cache item not found.\n");
}
goto fallback_recompile;
}
}
return true;
fallback_recompile:
free(buffer);
+ if (ctx->_Shader->Flags & GLSL_CACHE_INFO)
+ fprintf(stderr, "TGSI cache falling back to recompile.\n");
+
for (unsigned i = 0; i < prog->NumShaders; i++) {
_mesa_glsl_compile_shader(ctx, prog->Shaders[i], false, false, true);
}
prog->data->cache_fallback = true;
_mesa_glsl_link_shader(ctx, prog);
return true;
}
--
2.9.4
More information about the mesa-dev
mailing list