Mesa Just Got A Significant Performance Boost For Intel Tiger Lake Chips
Intel's Kenneth Graunke has written a few patches for Intel Gen12+ graphics chips that boost graphics performance by one to twelve percent. Don't get too excited, it only applies to Intel Tigerlake and newer and they won't arrive in mainstream GNU/Linux distributions until Mesa 20.3 is released mid-December.
written by 林慧 (Wai Lin) 2020-10-20 - last edited 2020-10-20. © CC BY
A notebook with a Intel CPU. There's no Tiger Lake chip in it, just a weak low-powered Intel Pentium N4200.
Intel made some very bold claims about the graphics performance when they announced their Tiger Lake mobile processors back in September. It looks like aggressive caching will help them make good on those promises.
Intel's Senior Graphics Software Engineer Kenneth Graunke has written two interesting patches that are now merged into the Mesa graphics library. One, titled "isl, anv, iris: Add a centralized helper to select MOCS based on usage", routes all the cache decision making through the Intel Surface Layout (ISL) library. The second patch, titled "isl: Enable Tigerlake HDC:L1 caches via MOCS in various cases" enables some pretty aggressive caching on Intel gen12+ chips (=Tiger Lake and newer). It's interesting to note that this patch doesn't enable the same caching for Intel's dedicated DG1 graphics cards:
if (dev->info->gen >= 12 && !dev->info->is_dg1) {
(..)
}
Benchmarks by Felix Degrood indicate that these patches give a pretty decent performance-uplift depending on what game or application is used.
Game | Technology | Performance increase |
---|---|---|
Unreal Engine 4 Shooter Demo | [VK] | 11.8% |
Witcher 3 | [DXVK] | 3.9% |
Rise of the Tomb Raider | [VK] | 1.5% |
Shadow of the Tomb Raider | [VK] | 1.0% |
Grand Theft Auto V | [DXVK] | 0.8% |
The numbers above are actually quite low compared to what they are with the initial patches in the merge request submitted by Kenneth Graunke. Xonotic got a 18% performance boost and Doom 2016 got a 13% performance boost with the initial patches. That's great except that there were some serious glitches so they removed Unordered Access Views (UAVs). Intel's Jason Ekstrand, who you can watch in an interesting video about a future Vulkan ray-tracing API from the X.org developers conference 2020, was kind enough to explain that:
"Unordered Access View is a D3D term. It is storage buffers/images in Vulkan terminology. They were removed because HDC and atomics aren't friends."
These patches won't be widely available until Mesa 20.3 is released in the middle of December so you will have to compile Mesa from git or use a PPA/repository with Mesa git snapshots if you want them now.
Enable comment auto-refresher