mesa/st: release variants for active programs before unref
mesa/st: release variants for active programs before unref
Programs can be shared among many contexts and each program holds a
variant list which has context specific variants. When context gets
destroyed it must make sure it relases all variants, otherwise remaining
context that utilizes same program will attempt to save a zombie shader
for already deleted context when releasing program and its variants.
Fixes:
dEQP-EGL.functional.sharing.gles2.program.render
and other flaky multihread dEQP-EGL failures.
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Cc: mesa-stable@lists.freedesktop.org
Edited by Tapani Pälli