glsl: don't reference shader prog data during cache fallback
[mesa.git] / src / compiler / glsl / linker.cpp
index 7aaaee265fb4704c103fbb6f8da3daee48fac56e..d8b8a183db6fd9d7194d17eb5d4f6e4a6ba5ed6f 100644 (file)
@@ -2197,7 +2197,8 @@ link_intrastage_shaders(void *mem_ctx,
       return NULL;
    }
 
-   _mesa_reference_shader_program_data(ctx, &gl_prog->sh.data, prog->data);
+   if (!prog->data->cache_fallback)
+      _mesa_reference_shader_program_data(ctx, &gl_prog->sh.data, prog->data);
 
    /* Don't use _mesa_reference_program() just take ownership */
    linked->Program = gl_prog;