diff options context: 1 2 3 4 5 6 7 8 9 10 15 20 25 30 35 40 space: include ignore mode: unified ssdiff stat only

author Marek Olšák <marek.olsak@amd.com> 2016-12-02 15:39:25 +0100 committer Marek Olšák <marek.olsak@amd.com> 2016-12-07 18:46:54 +0100 commit 6dc96de303290e8d1fc294da478c4f370be98dea (patch) tree 4c1c5d7e8d11a7d94ae6fb0314dca0d6db9b78ab parent e9133dd90ec498cfb6a23fa22504e06488352c51 (diff)

cso: don't release sampler states that are bound

This fixes random radeonsi GPU hangs in Batman Arkham: Origins (Wine) and probably many other games too. cso_cache deletes sampler states when the cache size is too big and doesn't check which sampler states are bound, causing use-after-free in drivers. Because of that, radeonsi uploaded garbage sampler states and the hardware went bananas. Other drivers may have experienced similar issues. Cc: 12.0 13.0 <mesa-stable@lists.freedesktop.org> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com> Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net>

1 files changed, 3 insertions, 1 deletions