Following my last article I decided to test Axel Davy’s si scheduler and run the very same OpenGL4+ tests with both radeonsi+si scheduler and Catalyst.
The si scheduler is such a huge performance boost! Not only it is faster, but now radeonsi is faster than Catalyst in *all* tests, sometimes by a wide margin!
Catalyst version is the latest and greatest 15.7, while the radeonsi stack is from git (including linux 4.2, xorg-server git and llvm 3.8 git). I also use modesetting instead of xf86-video-ati. Distro is gentoo.
Unfortunately both Bioshock Infinite and Dirt Showdown didn’t work for me with Catalyst, quite ironic considering they both work flawlessly with radeonsi (plus a small patch)!
But now let’s have a look at some simpler foss games. Don’t consider the other cards results because they were made at 4K while my monitor is a simple full hd (1920×1080). Just compare HD 7950 radeonsi vs HD 7950 si scheduler vs HD 7950 catalyst. I asked Michael if it was possible to filter out some results, but he still has to answer me. Eventually I will update the graphs later.
Catalyst got completely humiliated! Radeonsi is so much faster that I will no longer consider Catalyst as a reference for future performance improvements: we aim at the Nvidia performance now!
I would like someone else with the very same card to reproduce my results. If you want to test si scheduler just apply this patch on top of llvm git master and comment out:
//else //(uncomment to turn default for SI)
// return createSIMachineScheduler(C);
To run Bioshock Infinite with mesa you need to apply this patch and to set this evironmental variable: MESA_EXTENSION_OVERRIDE=GL_ARB_copy_image
EDIT: as I stated on irc the boost was largely due to a big regression reverted in mesa while doing the first test. Only a little boost is accountable for the SI scheduler.
How to achieve the best possible performance with wine? I compared vanilla wine using latest radeonsi open source drivers, wine with the CSMT (d3dstream) patchset and wine with the Gallium nine patchset. I also compared the results to latest Catalyst drivers using wine patched with CSMT (d3dstream). Surprisingly radeonsi + gallium nine beats Catalyst + CSMT (d3dstream) in 3DMark2005 and reaches 86% of Catalyst + CSMT (d3dstream) in Tropics!
Soon open source radeonsi drivers with the gallium nine state tracker will be the best available solution to get the most out of wine: users aiming for the best performance should get rid of proprietary blobs if favor of open source drivers.
My card is an AMD HD7950 and I used latest graphic stack from git, including drm-next-3.18. To use gallium nine you will need FOSS drivers with a patched mesa and a patched wine. You can’t use gallium nine with proprietary drivers.
If a big team like CD Projekt RED thinks that using a wrapper layer like eON by Virtual Prgramming is a suitable solution for a AAA game port like The Witcher 2, who am I to ditch wine (which performs even better than eON)? I might even speak about benchmarking a native linux 3DMark version according to CD Projekt RED standards…
Anyway, I wanted to becnhmark something different and in particular to test wine’s D3D command stream patches, so I decided to try the famous 3DMarks: 3D Mark 2001, 3D Mark 2005 and 3DMark 2006. I did not test 3DMark 2003 because of this regression.