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.