panfrost: Flush resources when shadowing
When we shadow a resource, the backing BO is changed; as such, existing references to the resource become invalid. So batches accessing the resource need to be flushed (or otherwise have their references invalidated). The wrong behaviour change (not flushing) was introduced when we started tracking resources instead of BOs. The issue manifested as a severe performance regression in glmark2's -bbuffer test, particular the subdata subtest. The issue is magnified on slow CPUs; without the fix, the test becomes completely CPU bound Relevant glmark2 -bbuffer test from 43fps to 84fps. Apparently, this causes functional issues too -- this performance-minded change also fixes a few piglits. Fixes: cecb8894 ("panfrost: Do tracking of resources, not BOs") Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com> Reported-by: Chris Healy <cphealy@gmail.com> Part-of: <!13502>