diff options
Diffstat (limited to 'src/mesa/state_tracker')
-rw-r--r-- | src/mesa/state_tracker/st_shader_cache.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/mesa/state_tracker/st_shader_cache.c b/src/mesa/state_tracker/st_shader_cache.c index 175d69d732e..45438e56bd2 100644 --- a/src/mesa/state_tracker/st_shader_cache.c +++ b/src/mesa/state_tracker/st_shader_cache.c @@ -225,8 +225,12 @@ st_load_tgsi_from_disk_cache(struct gl_context *ctx, if (prog->data->LinkStatus != linking_skipped) return false; - struct st_context *st = st_context(ctx); uint8_t *buffer = NULL; + if (ctx->_Shader->Flags & GLSL_CACHE_FALLBACK) { + goto fallback_recompile; + } + + struct st_context *st = st_context(ctx); for (unsigned i = 0; i < MESA_SHADER_STAGES; i++) { if (prog->_LinkedShaders[i] == NULL) continue; |