While dealing with bug #6761, I wrote the patch attached there first, and that fixed my rendering issues. Then I noticed I'd missed the SWITCH_TO_*D in radeon_exa.c, so I tried applying the s/RB2D/RB3D/ there. The effect I noticed was reduced performance (~-12%, and my rendering was fine already), so I tried just removing those lines, to no ill effect. I suspect that RADEON_WAIT_UNTIL with *_IDLECLEAN deals with triggering the flushing, even though my reading of the docs before had indicated that it only waited for a flush to complete (I inferred that the flush had to already be happening). I think I saw a minor performance gain from this (~1% in rgb24text, would need to do some cleaner runs to see). However, I'm just attaching a patch since my testing is a sample of one card, with or without DRI, currently.
Created attachment 5492 [details] [review] Patch to remove apparently gratuitous cache flushing
Pushed to git, thanks.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.