Haven't really build stuff with the new(ish) chain extensions, and man that opens up some awesome uses that I didn't even think of when this was designed:
var queueProps = new QueueFamilyProperties2[(int)queuePropCount];var queueGlobalPrios = new QueueFamilyGlobalPriorityPropertiesKHR[(int)queuePropCount];for (var i = 0; i < queueProps.Length; i++){ QueueFamilyProperties2.Chain(out queueProps[i]) .AddNext(out queueGlobalPrios[i]);}
var queueProps = new QueueFamilyProperties2[(int)queuePropCount];var queueGlobalPrios = new QueueFamilyGlobalPriorityPropertiesKHR[(int)queuePropCount];for (var i = 0; i < queueProps.Length; i++){ QueueFamilyProperties2.Chain(out queueProps[i]) .AddNext(out queueGlobalPrios[i]);}
apparently if you leak GPU local memory the driver has a hard time tracking which it was and just... clears all of it, bringing the audio memory down with it xD