Skip to content

iris: Optimize binding table layouts and remove pointless stalls on Icelake and XeHP

Kenneth Graunke requested to merge kwg/mesa:iris-bigbind into main

This series updates iris to use newer binding table layouts which are more efficient, and allocates larger binders:

  • Current: 15:5 (64kB limit, 32B alignment)
  • Icelake post-series: 18:8 (512kB limit, 256B alignment)
  • XeHP post-series: 20:5 (1MB limit, 32B alignment)

Every time we update the binder, we have to stall. Larger binders remove stalls. On Icelake, we were able to remove 10-15% of binder stalls. On XeHP, 90% of binder stalls get eliminated on the traces I ran. This should help performance.

See !4995 and @llandwerlin's rebased branch where we're trying to do this in anv, too.

Cc: @llandwerlin @fjdegroo

Merge request reports