glsl: don't reference shader prog data during cache fallback
[mesa.git] / src / mesa / main / shaderobj.c
index 222efc12c4e6260bea330ad918d53032619c76d9..2ca6544272630dda477182e5583a993de38a9365 100644 (file)
@@ -430,7 +430,8 @@ _mesa_delete_shader_program(struct gl_context *ctx,
                             struct gl_shader_program *shProg)
 {
    _mesa_free_shader_program_data(ctx, shProg);
-   _mesa_reference_shader_program_data(ctx, &shProg->data, NULL);
+   if (!shProg->data->cache_fallback)
+      _mesa_reference_shader_program_data(ctx, &shProg->data, NULL);
    ralloc_free(shProg);
 }