Quote from the July 2014 progress report:
Unfortunately, the "compromise solution" introduced in 4.0-2010 did not completely fix the performance regression on ATI/AMD GPUs. It's still *way* slower (up to 30%) compared to build 4.0-1769 (the last build that had coherent mapping enabled before the 4.0-1778 "NVIDIA fix")
Quote:Fix AMD Performance Regressions with Coherent Mapping Off
This one is a little bit awkward. Last month, a fix was merged to address a 30% performance regression on certain older NVIDIA GPUs due to coherent mapping being enabled needlessly. Turning it off caused no performance hit on newer NVIDIA video cards and sped up the older ones considerably. This seemed like a win-win situation, and everyone shook hands over a job well done.
Unfortunately, no one bothered to test AMD GPUs, because there is really no logical reason why Coherent Mapping would make them go faster, right? It turns out that disabling coherent mapping caused a 30% performance regression to AMD video cards now. Not wanting to add GPU specific code, Sonicadvance1 and degasus took some time to try to figure out a solution to make all video cards happy.
In the end, they determined that AMD's Pinned Memory extension for buffer streaming did not suffer the slowdown, and was even faster than Buffer Storage for AMD graphics cards. This simple change results in up to an 8% speed increase on AMD graphics cards compared to before the performance regression! Because NVIDIA cards do not even have the pinned memory extension, there is no plausible way this could make them slower again.
Unfortunately, the "compromise solution" introduced in 4.0-2010 did not completely fix the performance regression on ATI/AMD GPUs. It's still *way* slower (up to 30%) compared to build 4.0-1769 (the last build that had coherent mapping enabled before the 4.0-1778 "NVIDIA fix")