Hi, This patch series increases radeonsi performance in some cases. glxgears performance decreases slightly.
Visible VRAM is usually congested due to CPU accesses, which cause buffers to be evicted from that part of VRAM. This removes the congestion for all data pushed into const_uploader. We have had many problems with const_uploader slowing stuff down due to visible VRAM congestion. The most recent one is this Starcraft 2 issue report on github: https://github.com/iXit/Mesa-3D/issues/333 Since const_uploader reuses buffers from the winsys buffer cache, the odds are that the reused buffers are already evicted, so the first use is usually slower due to higher shader load latencies. This series uses SDMA to get constants into VRAM, so it doesn't have any of the above drawbacks. SC2 numbers with various other methods (from the github issue report): - originally: 50-55 fps - changing const_uploader to STREAM: 75-80 fps - use stream_uploader for constants in Nine: 90 fps - this series: 105-110 fps Trivial benchmarks such as glxgears can expect 20% decrease in performance due to the added cost of the SDMA CS ioctl that wasn't there before. CPU-bound apps with many IBs are almost unaffected thanks to winsys multithreading. Feedback welcome, Thanks, Marek _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev