zink: descriptor refactoring: the final boss
requested to merge zmike/mesa:zink-descriptor_refactoring_hoo_boy_this_one_is_the_final_boss into main
this is the last major rework for descriptors, encompassing:
- splitting lazy descriptors into multiple sets as the caching manager does
- adding a push set for the caching manager so that set/pipeline layouts match
- modernizing and optimizing the caching manager to do calculations and updates faster
- a ton of refactoring to maximize code sharing between the two managers
- a new env var
ZINK_DESCRIPTORS
which can be used to manually set the runtime mode
further updates to descriptor code will be much smaller in scope and not involve any significant rewrites of the core mechanisms