Skip to content

anv: Batch MCS and CCS aux-op flushes

Nanley Chery requested to merge nchery/mesa:perf/batch-color-aux-op-flush into main

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)

results

...and results from just the last patch, in an earlier revision results
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.

/cc @cgbowman @linyaa @shadeslayer @llandwerlin @fjdegroo

Edited by Nanley Chery

Merge request reports

Loading