84e845c969
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. v2: pass program pointer via & (Marek) Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Cc: mesa-stable@lists.freedesktop.org Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4386> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4386>