Skip to content

st/mesa: Fix free of non-shareable shaders on context destroy

Erico Nunes requested to merge enunes/mesa:mesa-zombie-destroy into main

On drivers that do not set PIPE_CAP_SHAREABLE_SHADERS, st_destroy_program_variants() may reach st_save_zombie_shader() which accesses st->zombie_shaders.mutex. Destroying st->zombie_shaders.mutex before destroying program variants may result in an invalid access in a multiple context scenario for those drivers. Move the mutex destroy call to after program variants destroy so that it doesn't hit a deadlock on context destroy.

Merge request reports