summaryrefslogtreecommitdiffstats
path: root/src/mesa/state_tracker
diff options
context:
space:
mode:
authorTimothy Arceri <[email protected]>2017-05-18 15:10:08 +1000
committerTimothy Arceri <[email protected]>2017-05-20 08:35:51 +1000
commit80e643345ed0d8d3263b4ee23dd2998f0da170a8 (patch)
treed7c837a0f6d1e105bbd68cfb932dd2647d60a81d /src/mesa/state_tracker
parenta74300c7ff256b417079134f7bd9aea91153025b (diff)
st/mesa: don't mark the program as in cache_fallback when there is cache miss
When we fallback currently the gl_program objects are re-allocated. This is likely to change when the i965 cache lands, but for now this fixes a crash when using MESA_GLSL=cache_fb. This env var simulates the fallback path taken when a tgsi cache item doesn't exist due to being evicted previously or some kind of error. Unlike i965 we are always falling back at link time so it's safe to just re-allocate everything. We will be unnecessarily freeing and re-allocate a bunch of things here but it's probably not a huge deal, and can be changed when the i965 code lands. Fixes: 0e9991f957e2 ("glsl: don't reference shader prog data during cache fallback") Reviewed-by: Nicolai Hähnle <[email protected]>
Diffstat (limited to 'src/mesa/state_tracker')
-rw-r--r--src/mesa/state_tracker/st_shader_cache.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/mesa/state_tracker/st_shader_cache.c b/src/mesa/state_tracker/st_shader_cache.c
index 45438e56bd2..31c3430aa4a 100644
--- a/src/mesa/state_tracker/st_shader_cache.c
+++ b/src/mesa/state_tracker/st_shader_cache.c
@@ -391,7 +391,7 @@ fallback_recompile:
_mesa_glsl_compile_shader(ctx, prog->Shaders[i], false, false, true);
}
- prog->data->cache_fallback = true;
+ prog->data->skip_cache = true;
_mesa_glsl_link_shader(ctx, prog);
return true;