zink: 2022 refactor: part 3

Mike Blumenkrantz requested to merge zmike/mesa:zink-refactor3 into main
  • use list for free batch states to ensure fairer recycling
  • some misc cleanups
  • use templates for pipeline management for big speedups
    • special handling for dynamic patch control points are temporary until intel+radv implement (#7047)
    • special handling for dynamic state2 is temporary until intel implements dynamic vertex input (#4856 (closed))
      • ...maybe, since AMD PRO doesn't implement, and this is the driver that will be used on Windows, leading to performance degradation

overall yields +15% or so for drawoverhead 7 (program changing), making zink faster than radeonsi

no significant binary size increase

Merge request reports