anv: Batch MCS and CCS aux-op flushes
What does this MR do and why?
anv: Batch MCS and CCS aux-op flushes
The PRMs suggest that certain classes of auxiliary surface operations
will automatically synchronize when performed back-to-back:
Any transition from any value in {Clear, Render, Resolve} to a
different value in {Clear, Render, Resolve} requires end of pipe
synchronization.
Make use of this functionality by batching CCS and MCS flushes when
compatible auxiliary surface operations are performed within a command
buffer.
Ref: #11325 (closed)
According to our internal benchmarking tool, the first revision of this MR increased the FPS for TotalWarWarhammer3-trace-dx11-1080p-high by 0.31%. I also found that revision to prevent regressions in this same workload when I attempted to enable fast clears in more cases. I have not rebased and tested the later revisions.Edited by Nanley Chery