summaryrefslogtreecommitdiffstats
path: root/src/mesa/state_tracker
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/state_tracker')
-rw-r--r--src/mesa/state_tracker/st_shader_cache.c6
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;