Intel Xe Graphics Squeeze Out More Linux Performance By Flushing Less
Intel's "Gen12" Xe Graphics should be performing marginally better with next quarter's Mesa 21.2 feature release for its open-source ANV Vulkan driver.
Merged today into Mesa 21.2-devel is an ANV driver improvement to reduce the tile and data cache flushing for Gen12. This in turn translates into small but measurable performance improvements across a variety of workloads.
As explained by Intel engineer Felix Degrood, "Gen12+ unified cache architecture reduces need to flush tile and data caches. Tile cache contains pixel/depth values and data cache holds SSBO data. Combined, these make up the bulk of data stored in L3$ and are very expensive to flush. Currently, we flush tile/data caches at the start of every command buffer, and usually multiple within a given CB. Most tile/data cache flushes can be avoided by ensuring we flush only at the necessary times, like when CPU needs access to the data or for depth clears...[With this latest work] tile/data cache flush counts are drastically reduce in Vulkan workloads resulting in modest performance gains."
The reduction in tile and data cache flushes for the Intel open-source Linux Vulkan driver with Xe Graphics means around 3% better performance for Dota 2, around 3% better performance for Rise of the Tomb Raider and slightly less for Shadow of the Tomb Raider, and 1~3% performance improvements for other Vulkan games both native and running through DXVK / Steam Play.
This flushing optimization for ANV was merged today for Mesa 21.2.
Merged today into Mesa 21.2-devel is an ANV driver improvement to reduce the tile and data cache flushing for Gen12. This in turn translates into small but measurable performance improvements across a variety of workloads.
As explained by Intel engineer Felix Degrood, "Gen12+ unified cache architecture reduces need to flush tile and data caches. Tile cache contains pixel/depth values and data cache holds SSBO data. Combined, these make up the bulk of data stored in L3$ and are very expensive to flush. Currently, we flush tile/data caches at the start of every command buffer, and usually multiple within a given CB. Most tile/data cache flushes can be avoided by ensuring we flush only at the necessary times, like when CPU needs access to the data or for depth clears...[With this latest work] tile/data cache flush counts are drastically reduce in Vulkan workloads resulting in modest performance gains."
The reduction in tile and data cache flushes for the Intel open-source Linux Vulkan driver with Xe Graphics means around 3% better performance for Dota 2, around 3% better performance for Rise of the Tomb Raider and slightly less for Shadow of the Tomb Raider, and 1~3% performance improvements for other Vulkan games both native and running through DXVK / Steam Play.
This flushing optimization for ANV was merged today for Mesa 21.2.
Add A Comment